bullmq-dash 0.2.7 → 0.3.1

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 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.0.0
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://localhost:6379
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: redis://[user:pass@]host[:port][/db]
54
- (rediss:// for TLS)
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://localhost:6379
73
- bullmq-dash --tui --redis-url redis://user:pass@redis.example.com:6379/0
72
+ bullmq-dash --tui --redis-url <local-redis-url>
73
+ bullmq-dash --tui --redis-url <remote-redis-url>
74
74
 
75
- # Use TLS (rediss://) and percent-encode special chars in passwords
76
- bullmq-dash --tui --redis-url rediss://default:p%40ss@redis.upstash.io:6379
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://localhost --queues email,notifications,payments
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://localhost --poll-interval 5000
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://localhost:6379" } },
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. For inline auth, percent-encode any special characters in the password.
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://localhost:6380
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,72 @@ 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
+ # Optional manual Socket score for an already-published version
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 and lock down releases
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` is an optional manual audit for a version that already
264
+ exists on npm. It compares the Socket alert set against the accepted-alert
265
+ allowlist, but it is intentionally not part of the publish workflow because
266
+ Socket scoring can lag or fail after npm accepts the immutable package version.
267
+
268
+ `bun run security:verify-workflows` rejects mutable GitHub Action refs,
269
+ `pull_request_target` triggers, and direct `${{ github.event.* }}` interpolation
270
+ in workflow commands. It also verifies CI and publish workflows run the
271
+ source-control, lockfile, workflow, and package policy verifiers, CI uses
272
+ read-only permissions, and the npm publish workflow rejects publish secrets,
273
+ is release-only, runs the source-control, lockfile, workflow, and package
274
+ verifiers before publishing, uses least privilege, keeps npm lifecycle scripts
275
+ enabled, and publishes with provenance.
276
+
277
+ `bun run security:verify-source-control` rejects tracked `.env` / `.envrc` /
278
+ `.npmrc` files, build output, publish manifest backups, and generated package
279
+ archives, and verifies that the ignore policy covers those local-only files.
280
+
281
+ `bun run security:verify-lockfile` rejects missing or untracked `bun.lock`,
282
+ competing package manager lockfiles, a mismatched `packageManager` pin, and CI
283
+ or publish workflows that install dependencies without `--frozen-lockfile`.
284
+
226
285
  ## Tech Stack
227
286
 
228
287
  - **Runtime**: [Bun](https://bun.sh/)
229
288
  - **TUI Framework**: [@opentui/core](https://github.com/pinkpixel-co/opentui)
230
289
  - **Queue Library**: [BullMQ](https://bullmq.io/)
231
- - **Redis Client**: [ioredis](https://github.com/redis/ioredis)
232
- - **Config Validation**: [Zod](https://zod.dev/)
233
290
  - **Build Tool**: Bun bundler
234
291
 
235
292
  ## Color Theme