bullmq-dash 0.2.7 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +79 -15
- package/dist/index.js +1867 -1393
- package/package.json +12 -28
- package/dist/index.js.map +0 -40
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ Terminal UI dashboard for [BullMQ](https://bullmq.io/)
|
|
|
15
15
|
|
|
16
16
|
## Requirements
|
|
17
17
|
|
|
18
|
-
- [Bun](https://bun.sh/) >= 1.
|
|
18
|
+
- [Bun](https://bun.sh/) >= 1.3.0
|
|
19
19
|
- Redis server with BullMQ queues
|
|
20
20
|
|
|
21
21
|
## Installation
|
|
@@ -38,7 +38,7 @@ npx bullmq-dash
|
|
|
38
38
|
bullmq-dash --tui
|
|
39
39
|
|
|
40
40
|
# Connect with a URL
|
|
41
|
-
bullmq-dash --tui --redis-url redis
|
|
41
|
+
bullmq-dash --tui --redis-url <redis-url>
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
### CLI Options
|
|
@@ -50,8 +50,8 @@ Options:
|
|
|
50
50
|
--profile <name> Use a named profile from the config file
|
|
51
51
|
--config <path> Path to config file
|
|
52
52
|
(default: ~/.config/bullmq-dash/config.json)
|
|
53
|
-
--redis-url <url> Full connection URL
|
|
54
|
-
(
|
|
53
|
+
--redis-url <url> Full Redis connection URL
|
|
54
|
+
(TLS URLs are supported)
|
|
55
55
|
--poll-interval <ms> Polling interval in milliseconds (default: 3000)
|
|
56
56
|
--queues <names> Comma-separated queue names to monitor
|
|
57
57
|
-v, --version Show version
|
|
@@ -69,20 +69,20 @@ were retired so there is one obvious way to point bullmq-dash at a server.
|
|
|
69
69
|
bullmq-dash --tui
|
|
70
70
|
|
|
71
71
|
# Connect via a URL
|
|
72
|
-
bullmq-dash --tui --redis-url redis
|
|
73
|
-
bullmq-dash --tui --redis-url redis
|
|
72
|
+
bullmq-dash --tui --redis-url <local-redis-url>
|
|
73
|
+
bullmq-dash --tui --redis-url <remote-redis-url>
|
|
74
74
|
|
|
75
|
-
# Use TLS
|
|
76
|
-
bullmq-dash --tui --redis-url
|
|
75
|
+
# Use TLS
|
|
76
|
+
bullmq-dash --tui --redis-url <tls-redis-url>
|
|
77
77
|
|
|
78
78
|
# Connect via a named profile from the config file
|
|
79
79
|
bullmq-dash --tui --profile prod
|
|
80
80
|
|
|
81
81
|
# Monitor specific queues only
|
|
82
|
-
bullmq-dash --tui --redis-url redis
|
|
82
|
+
bullmq-dash --tui --redis-url <redis-url> --queues email,notifications,payments
|
|
83
83
|
|
|
84
84
|
# Custom polling interval (5 seconds)
|
|
85
|
-
bullmq-dash --tui --redis-url redis
|
|
85
|
+
bullmq-dash --tui --redis-url <redis-url> --poll-interval 5000
|
|
86
86
|
```
|
|
87
87
|
|
|
88
88
|
## Connection Profiles
|
|
@@ -95,7 +95,7 @@ and reference it with `--profile`:
|
|
|
95
95
|
{
|
|
96
96
|
"defaultProfile": "local",
|
|
97
97
|
"profiles": {
|
|
98
|
-
"local": { "redis": { "url": "redis
|
|
98
|
+
"local": { "redis": { "url": "<local-redis-url>" } },
|
|
99
99
|
"prod": {
|
|
100
100
|
"redis": { "url": "${REDIS_PROD_URL}" },
|
|
101
101
|
"queues": ["payments", "notifications"]
|
|
@@ -105,7 +105,7 @@ and reference it with `--profile`:
|
|
|
105
105
|
}
|
|
106
106
|
```
|
|
107
107
|
|
|
108
|
-
Each profile carries a single `redis.url`. The `${VAR}` form interpolates an environment variable as the **whole value** (partial substitution is intentionally not supported), which pairs nicely with managed providers (Upstash, Heroku Redis, Render, Railway, Fly) that hand you a single `REDIS_URL` env var.
|
|
108
|
+
Each profile carries a single `redis.url`. The `${VAR}` form interpolates an environment variable as the **whole value** (partial substitution is intentionally not supported), which pairs nicely with managed providers (Upstash, Heroku Redis, Render, Railway, Fly) that hand you a single `REDIS_URL` env var. Prefer environment-backed profile values for authenticated Redis URLs.
|
|
109
109
|
|
|
110
110
|
```bash
|
|
111
111
|
# Connect using the default profile (defaultProfile field above)
|
|
@@ -116,7 +116,7 @@ bullmq-dash --tui --profile prod
|
|
|
116
116
|
bullmq-dash queues list --profile prod
|
|
117
117
|
|
|
118
118
|
# A direct --redis-url overrides whatever the profile would have selected
|
|
119
|
-
bullmq-dash queues list --profile prod --redis-url redis
|
|
119
|
+
bullmq-dash queues list --profile prod --redis-url <redis-url>
|
|
120
120
|
```
|
|
121
121
|
|
|
122
122
|
**Resolution order** (highest precedence first):
|
|
@@ -221,15 +221,79 @@ bun run build
|
|
|
221
221
|
|
|
222
222
|
# Run production build
|
|
223
223
|
bun run start
|
|
224
|
+
|
|
225
|
+
# Audit the immutable 0.2.7 Socket target (historical evidence)
|
|
226
|
+
bun run security:audit-0.2.7
|
|
227
|
+
|
|
228
|
+
# Score the configured package version after it is published
|
|
229
|
+
bun run security:score
|
|
230
|
+
|
|
231
|
+
# Verify forbidden local-only files are ignored and not tracked
|
|
232
|
+
bun run security:verify-source-control
|
|
233
|
+
|
|
234
|
+
# Verify Bun package manager pinning, bun.lock tracking, and frozen installs
|
|
235
|
+
bun run security:verify-lockfile
|
|
236
|
+
|
|
237
|
+
# Verify CI/publish workflows pin actions, lock down releases, and score after publish
|
|
238
|
+
bun run security:verify-workflows
|
|
239
|
+
|
|
240
|
+
# Verify source import policy, npm tarball contents, and stripped publish manifest
|
|
241
|
+
bun run security:verify-package
|
|
242
|
+
|
|
243
|
+
# Run release security checks in order
|
|
244
|
+
bun run security:release
|
|
224
245
|
```
|
|
225
246
|
|
|
247
|
+
`bun run security:audit-0.2.7` audits the originally published security target
|
|
248
|
+
(`bullmq-dash@0.2.7`). Because npm versions are immutable, this is historical
|
|
249
|
+
evidence only — it reports the alerts on that artifact but cannot fix them.
|
|
250
|
+
|
|
251
|
+
`bun run security:verify-package` packs the release tarball end-to-end. It
|
|
252
|
+
checks the source manifest, rejects direct source or packed-entrypoint imports
|
|
253
|
+
of `ioredis` or `zod`, rejects dynamic-code or shell primitives in source or
|
|
254
|
+
`dist/index.js`, rejects literal credentialed `redis://` URL examples in
|
|
255
|
+
packed text — i.e. `redis://`-prefixed authority forms that embed a
|
|
256
|
+
`username:password` pair before the host (a focused doc-leakage guard, not a
|
|
257
|
+
general secret scanner; base64 / env-var-interpolated / split-string forms
|
|
258
|
+
are out of scope by design and belong to repo-level tools like git-secrets
|
|
259
|
+
or gitleaks), enforces packed-tarball size and entry-count limits, and
|
|
260
|
+
verifies the stripped publish manifest. Note: `ioredis` remains a transitive
|
|
261
|
+
dependency through `bullmq`; the policy blocks _direct_ imports only.
|
|
262
|
+
|
|
263
|
+
`bun run security:score` runs the Socket package score against the version in
|
|
264
|
+
`package.json` (must already be published to npm). It compares the alert set
|
|
265
|
+
against an accepted-alert allowlist that includes the capabilities a Redis
|
|
266
|
+
monitoring tool legitimately needs (`networkAccess`, `urlStrings`,
|
|
267
|
+
`filesystemAccess`, `envVars`), Socket's transient `recentlyPublished` window,
|
|
268
|
+
and the transitive alert types present in the `bullmq` and `@opentui/core`
|
|
269
|
+
graphs. The gate exits nonzero only when an alert type appears outside that set,
|
|
270
|
+
which surfaces real regressions from dependency updates without paging on every
|
|
271
|
+
publish.
|
|
272
|
+
|
|
273
|
+
`bun run security:verify-workflows` rejects mutable GitHub Action refs,
|
|
274
|
+
`pull_request_target` triggers, and direct `${{ github.event.* }}` interpolation
|
|
275
|
+
in workflow commands. It also verifies CI and publish workflows run the
|
|
276
|
+
source-control, lockfile, workflow, and package policy verifiers, CI uses
|
|
277
|
+
read-only permissions, and the npm publish workflow scopes secrets to approved
|
|
278
|
+
step env entries, is release-only, runs the source-control, lockfile, workflow,
|
|
279
|
+
and package verifiers before publishing, uses least privilege, keeps npm
|
|
280
|
+
lifecycle scripts enabled, publishes with provenance, installs the Socket CLI by
|
|
281
|
+
the configured exact version `1.1.94`, and runs the post-publish Socket score
|
|
282
|
+
gate.
|
|
283
|
+
|
|
284
|
+
`bun run security:verify-source-control` rejects tracked `.env` / `.envrc` /
|
|
285
|
+
`.npmrc` files, build output, publish manifest backups, and generated package
|
|
286
|
+
archives, and verifies that the ignore policy covers those local-only files.
|
|
287
|
+
|
|
288
|
+
`bun run security:verify-lockfile` rejects missing or untracked `bun.lock`,
|
|
289
|
+
competing package manager lockfiles, a mismatched `packageManager` pin, and CI
|
|
290
|
+
or publish workflows that install dependencies without `--frozen-lockfile`.
|
|
291
|
+
|
|
226
292
|
## Tech Stack
|
|
227
293
|
|
|
228
294
|
- **Runtime**: [Bun](https://bun.sh/)
|
|
229
295
|
- **TUI Framework**: [@opentui/core](https://github.com/pinkpixel-co/opentui)
|
|
230
296
|
- **Queue Library**: [BullMQ](https://bullmq.io/)
|
|
231
|
-
- **Redis Client**: [ioredis](https://github.com/redis/ioredis)
|
|
232
|
-
- **Config Validation**: [Zod](https://zod.dev/)
|
|
233
297
|
- **Build Tool**: Bun bundler
|
|
234
298
|
|
|
235
299
|
## Color Theme
|