Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 9bb6946

Browse files
chore: wip
1 parent c59e0a5 commit 9bb6946

20 files changed

Lines changed: 56 additions & 40 deletions

build.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ await Bun.build({
55
outdir: './dist',
66
target: 'bun',
77
plugins: [dts({
8-
root: 'packages/bun-queue/src',
8+
build: {
9+
config: {
10+
root: 'packages/bun-queue/src',
11+
},
12+
},
913
})],
1014
})

bun.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/bun-queue/src/commands/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ export { ScriptLoader }
55
export type { Command, ScriptMetadata }
66
export { ScriptLoaderError }
77

8-
const scriptLoader = new ScriptLoader()
8+
const scriptLoader: ScriptLoader = new ScriptLoader()
99

1010
export { scriptLoader }

packages/bun-queue/src/jobs/middleware.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,14 @@ export class ThrottlesExceptions implements JobMiddleware {
9090

9191
// Job middleware factory
9292
export const Middleware = {
93-
rateLimited: (key: string, maxAttempts: number, decaySeconds?: number) =>
93+
rateLimited: (key: string, maxAttempts: number, decaySeconds?: number): RateLimited =>
9494
new RateLimited(key, maxAttempts, decaySeconds),
9595

96-
withoutOverlapping: (key?: string, releaseAfterSeconds?: number, expireAfterSeconds?: number) =>
96+
withoutOverlapping: (key?: string, releaseAfterSeconds?: number, expireAfterSeconds?: number): WithoutOverlapping =>
9797
new WithoutOverlapping(key, releaseAfterSeconds, expireAfterSeconds),
9898

99-
skipIfBatchCancelled: () => new SkipIfBatchCancelled(),
99+
skipIfBatchCancelled: (): SkipIfBatchCancelled => new SkipIfBatchCancelled(),
100100

101-
throttlesExceptions: (maxAttempts?: number, decaySeconds?: number, by?: (job: Job) => string) =>
101+
throttlesExceptions: (maxAttempts?: number, decaySeconds?: number, by?: (job: Job) => string): ThrottlesExceptions =>
102102
new ThrottlesExceptions(maxAttempts, decaySeconds, by),
103103
}

packages/bun-queue/src/queue.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export class Queue<T = any> {
3232
private metrics: Metrics | null = null
3333
private cleanupService: CleanupService | null = null
3434
private stalledChecker: StalledJobChecker | null = null
35-
protected readonly logger = createLogger()
35+
protected readonly logger: ReturnType<typeof createLogger> = createLogger()
3636
private limiter: RateLimiter | null = null
3737
private defaultJobOptions: JobOptions | undefined
3838
private lock: DistributedLock | null = null

packages/devtools/src/api/queueService.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ const mockQueues = [
4646
processedCount: 37,
4747
failedCount: 2,
4848
},
49-
]
49+
] as const
5050

5151
const mockJobs = [
5252
{
@@ -89,7 +89,7 @@ const mockJobs = [
8989
processedOn: Date.now() - 7150000,
9090
attemptsMade: 3,
9191
},
92-
]
92+
] as const
9393

9494
// Generate mock metrics data
9595
function generateMockMetrics(timeRange: string) {
@@ -142,7 +142,7 @@ export const QueueService = {
142142
/**
143143
* Get queue statistics
144144
*/
145-
async getStats() {
145+
async getStats(): Promise<typeof mockStats> {
146146
try {
147147
// In a real app, this would be:
148148
// const response = await api.get('/stats')
@@ -161,7 +161,7 @@ export const QueueService = {
161161
/**
162162
* Get all queues
163163
*/
164-
async getQueues() {
164+
async getQueues(): Promise<typeof mockQueues> {
165165
try {
166166
// In a real app, this would be:
167167
// const response = await api.get('/queues')
@@ -180,7 +180,7 @@ export const QueueService = {
180180
/**
181181
* Get all jobs
182182
*/
183-
async getJobs() {
183+
async getJobs(): Promise<typeof mockJobs> {
184184
try {
185185
// In a real app, this would be:
186186
// const response = await api.get('/jobs')
@@ -199,7 +199,7 @@ export const QueueService = {
199199
/**
200200
* Get metrics data
201201
*/
202-
async getMetrics(timeRange: string) {
202+
async getMetrics(timeRange: string): Promise<ReturnType<typeof generateMockMetrics>> {
203203
try {
204204
// In a real app, this would be:
205205
// const response = await api.get(`/metrics?timeRange=${timeRange}`)

packages/devtools/src/components/JobsProcessedChart.vue

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
<script setup lang="ts">
2-
import { useQueueStore } from '@/store/queueStore'
32
import {
43
CategoryScale,
54
Chart as ChartJS,
@@ -24,8 +23,6 @@ ChartJS.register(
2423
Legend,
2524
)
2625
27-
const queueStore = useQueueStore()
28-
2926
const chartData = computed(() => {
3027
// Generate some mock data for now
3128
const labels = Array.from({ length: 24 }, (_, i) => {

packages/devtools/src/components/QueueStatusChart.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
<script setup lang="ts">
2-
import { useQueueStore } from '@/store/queueStore'
32
import { ArcElement, Chart as ChartJS, Legend, Tooltip } from 'chart.js'
43
import { computed } from 'vue'
54
import { Doughnut } from 'vue-chartjs'
65
6+
import { useQueueStore } from '@/store/queueStore'
7+
78
ChartJS.register(ArcElement, Tooltip, Legend)
89
910
const queueStore = useQueueStore()

packages/devtools/src/router/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
import type { Router } from 'vue-router'
12
import { createRouter, createWebHistory } from 'vue-router'
23

3-
const router = createRouter({
4+
const router: Router = createRouter({
45
history: createWebHistory(import.meta.env.BASE_URL),
56
routes: [
67
{

packages/devtools/src/store/queueStore.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ interface Job {
2121
queue: string
2222
created: string
2323
updated: string
24-
data?: Record<string, any>
24+
data?: any
2525
}
2626

2727
interface QueueStats {
@@ -33,7 +33,7 @@ interface QueueStats {
3333
processingRate: number // jobs per minute
3434
}
3535

36-
export const useQueueStore = defineStore('queue', () => {
36+
export const useQueueStore: ReturnType<typeof defineStore<'queue', any>> = defineStore('queue', () => {
3737
// Data
3838
const queues = ref<Queue[]>([])
3939
const jobs = ref<Job[]>([])
@@ -89,7 +89,7 @@ export const useQueueStore = defineStore('queue', () => {
8989
}
9090

9191
// Fetch only if needed or forced
92-
async function fetchQueues(forceRefresh = false) {
92+
async function fetchQueues(forceRefresh: boolean = false): Promise<Queue[]> {
9393
if (!forceRefresh && hasQueues.value && !needsRefresh(queuesFetchedAt.value)) {
9494
return queues.value
9595
}
@@ -189,7 +189,7 @@ export const useQueueStore = defineStore('queue', () => {
189189
}
190190
}
191191

192-
async function fetchJobs(forceRefresh = false) {
192+
async function fetchJobs(forceRefresh: boolean = false): Promise<Job[]> {
193193
if (!forceRefresh && hasJobs.value && !needsRefresh(jobsFetchedAt.value)) {
194194
return jobs.value
195195
}
@@ -378,7 +378,7 @@ export const useQueueStore = defineStore('queue', () => {
378378
}
379379
}
380380

381-
async function fetchQueueStats(forceRefresh = false) {
381+
async function fetchQueueStats(forceRefresh: boolean = false): Promise<QueueStats> {
382382
if (!forceRefresh && hasStats.value && !needsRefresh(statsFetchedAt.value)) {
383383
return stats.value
384384
}
@@ -414,7 +414,7 @@ export const useQueueStore = defineStore('queue', () => {
414414
}
415415
}
416416

417-
async function fetchMetrics(timeRange = '24h', forceRefresh = false) {
417+
async function fetchMetrics(timeRange: string = '24h', forceRefresh: boolean = false): Promise<unknown> {
418418
if (!forceRefresh && metricsFetchedAt.value && !needsRefresh(metricsFetchedAt.value)) {
419419
return metrics.value
420420
}
@@ -513,7 +513,7 @@ export const useQueueStore = defineStore('queue', () => {
513513
}
514514

515515
// Fetch job groups
516-
async function fetchJobGroups(forceRefresh = false) {
516+
async function fetchJobGroups(forceRefresh: boolean = false): Promise<JobGroup[]> {
517517
if (!forceRefresh && hasJobGroups.value && !needsRefresh(jobGroupsFetchedAt.value)) {
518518
return jobGroups.value
519519
}
@@ -599,7 +599,7 @@ export const useQueueStore = defineStore('queue', () => {
599599
}
600600

601601
// Clear stored data (for logout, etc)
602-
function clearData() {
602+
function clearData(): void {
603603
queues.value = []
604604
jobs.value = []
605605
jobGroups.value = []

0 commit comments

Comments
 (0)