@eddyq/wakeboard

中文文档
0.2.0发布于 2026/11/05MITTypeScriptES Module构建来源已验证近 30 天下载 2007

eddyq-wakeboard — Svelte admin dashboard for eddyq, mountable as a NestJS module

原始使用文档
文档目录7 节
  1. What you get
  2. Quick start
  3. Multi-backend support
  4. REST API
  5. Security
  6. Requirements
  7. License

@eddyq/wakeboard

Web dashboard for eddyq. Drop-in NestJS module + Svelte SPA — mount it under your app and stop writing one-off admin endpoints.

pnpm add @eddyq/wakeboard

What you get

  • Live stats — counts by (queue, state).
  • Job inspection — paginated listing with filters: state, queue, kind, group, tag.
  • Queue admin — pause / resume / set concurrency / set timeout.
  • Group admin — pause / resume / set concurrency cap / set token-bucket rate limit.
  • Schedule management — enable / disable / remove cron + interval schedules.
  • Cancel pending jobs — one click.
  • Backend selector — when both Postgres and Redis are wired into one app, every tab gets a ?provider= selector to scope the view.

Quick start

import { Module } from "@nestjs/common";
import { EddyqModule } from "@eddyq/nestjs";
import { EddyqWakeboardModule } from "@eddyq/wakeboard";

@Module({
  imports: [
    EddyqModule.forRoot({
      databaseUrl: process.env.DATABASE_URL!,
      // …or `redis: { url, line }`, or both with `queues` + `defaultProvider`.
    }),
    EddyqWakeboardModule.forRoot({
      mountPath: "/wakeboard",
      auth: { password: process.env.WAKEBOARD_PASSWORD! },
    }),
  ],
})
export class AppModule {}

Hit http://localhost:3000/wakeboard. Done.

Multi-backend support

Wakeboard auto-detects the backend shape from the EddyqModule.forRoot config:

  • Postgres only → one column of stats, one set of queues/groups/schedules.
  • Redis only → same shape, just sourced from Redis.
  • Both (EddyqApp) → a backend selector on every tab + a GET /wakeboard/api/providers endpoint listing the configured backends. The UI renders each backend's data scoped to its provider.

All admin actions accept ?provider=postgres|redis so the right backend handles each call. Queue / group keys don't bleed across backends — a tenant-acme group on Redis is a different bucket than the same name on Postgres, and the dashboard shows them as such.

REST API

Everything the UI does is also a clean REST surface — wire it into your own monitoring or CLI. All endpoints accept ?provider=postgres|redis in multi-backend setups.

EndpointPurpose
GET /api/providersBackends this app is wired to
GET /api/statsCounts by (queue, state)
GET /api/jobs?queue=&state=&kind=&groupKey=&tag=&page=Paginated listing (50/page)
GET /api/queuesNamed-queue admin meta
GET /api/groupsGroup meta (concurrency, paused, rate, tokens)
GET /api/schedulesCron + interval schedules
POST /api/jobs/:id/cancelCancel pending
POST /api/queues/:name/pause / :name/resume
POST /api/groups/:key/pause / :key/resume
POST /api/schedules/:name/enable / :name/disable / :name/remove

Security

The default password auth is intentionally simple — it's a session-cookie-gated middleware. Front it with your existing auth for production (a Nest middleware that checks your JWT, an ingress-level OIDC proxy, an IP allowlist, etc.) and the auth.password option becomes a fallback you can leave undefined.

Requirements

  • Node ≥ 20
  • @eddyq/nestjs same minor version (peer dep)
  • @eddyq/queue same minor version (peer dep)

License

MIT

版本与发布记录

@eddyq/wakeboard 共发布 22 个版本,首次发布于 2026/05/12;过去 12 个月发布了 22 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.2.0latest2026/11/059 天前
0.1.142026/10/3015 天前
0.1.132026/10/2916 天前
0.1.122026/10/2916 天前
0.1.112026/10/2817 天前
0.1.102026/10/2421 天前

关于 @eddyq/wakeboard 的常见问题

@eddyq/wakeboard 是什么?

eddyq-wakeboard — Svelte admin dashboard for eddyq, mountable as a NestJS module

如何安装 @eddyq/wakeboard?

在项目目录运行 npm install @eddyq/wakeboard,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@nestjs/core(>=10)、@nestjs/common(>=10)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@eddyq/wakeboard 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@eddyq/wakeboard 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@eddyq/wakeboard 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@eddyq/wakeboard 可以商用吗?

@eddyq/wakeboard 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@eddyq/wakeboard 的下载量有多少?

根据 npm 官方下载统计,@eddyq/wakeboard 在 2026/10/13 – 2026/11/11 这 30 天内被下载 2,007 次,日均约 67 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@eddyq/wakeboard 还在维护吗?

最新版本 0.2.0 发布于 2026/11/05(9 天前);至今共发布 22 个版本,其中过去 12 个月发布了 22 个;首次发布于 2026/05/12。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。