ci: add .mjs to check-comment-blocks.sh + check-issue-refs.sh's scope
mara: "add mjs to the lint and fix it in this pr". Both lints scope their git ls-files scan to a fixed extension list that never included .mjs, so all three frontend build.mjs files (swarm-ui, dashboard, agent) were completely invisible to both -- not merely under the limits, outside the scan entirely. check-comment-blocks.sh: added '*.mjs' to the ls-files glob and to the mode_of regex (same slash-comment treatment .js/.ts/.tsx already get -- .mjs is the same comment syntax, argus's exact proposed fix). check-issue-refs.sh: added '*.mjs' to its glob list, no regex change needed. Fixing the scope immediately surfaced real, pre-existing violations in the other two build.mjs files (swarm-ui's own is already handled by this PR's earlier commits): - dashboard/build.mjs: 49-line comment block (trimmed to 15 -- redundant per-file output-layout table cut, the code below already names every output path) plus three bare tracker tags (#448 x2, #453) in the stream-worker comment, reworded to prose - agent/build.mjs: two bare tracker tags (hyperhive#3685 x2), reworded No logic changes anywhere -- comment-only edits plus the two lint scripts. Closes #4300 and (independently filed, consolidated into that one) #4299.
This commit is contained in:
parent
1cc4e4625e
commit
3c6c2ed272
4 changed files with 24 additions and 59 deletions
|
|
@ -1,52 +1,18 @@
|
|||
// esbuild build for @hive/dashboard. Output layout (`dist/`):
|
||||
//
|
||||
// dist/index.html H0M3 menu hub — served by the Rust
|
||||
// router at GET / (the landing page)
|
||||
// dist/dashboard.html the operator dashboard SPA — served
|
||||
// at GET /dashboard.html
|
||||
// dist/flow.html served at GET /flow.html
|
||||
// dist/logs.html served at GET /logs.html (AGENT/INFRA/SYSTEM)
|
||||
// dist/core.html served at GET /core.html (C0R3: kept
|
||||
// state / container load)
|
||||
// dist/builds.html served at GET /builds.html (BU1LDS:
|
||||
// rebuild queue / meta inputs / build logs)
|
||||
// dist/credentials.html served at GET /credentials.html
|
||||
// (CR3D3NTIALS: matrix + github accounts)
|
||||
// dist/static/home.js index.html (H0M3) entry — menu tiles +
|
||||
// matrix-tile gating + identity line
|
||||
// dist/static/tabs.js dashboard.html entry — tab renderers +
|
||||
// tab routing + refreshState
|
||||
// dist/static/flow.js /flow.html entry — broker terminal +
|
||||
// @-mention composer
|
||||
// dist/static/logs.js /logs.html entry — agent/infra/system
|
||||
// log viewer sub-tabs
|
||||
// dist/static/builds.js /builds.html entry — rebuild queue,
|
||||
// meta inputs, build log history
|
||||
// dist/static/credentials.js /credentials.html entry — matrix +
|
||||
// github account sub-tabs
|
||||
// dist/static/{home,tabs,flow,logs,builds,credentials}.js.map source map
|
||||
// siblings
|
||||
// dist/static/common.css loaded by every page (@hive/shared
|
||||
// imports + shared typography/badges/
|
||||
// buttons/inbox/side-panel)
|
||||
// dist/static/dashboard.css dashboard.html only (dashboard-specific)
|
||||
// dist/static/flow.css /flow.html only (flow chrome + composer)
|
||||
// dist/static/logs.css /logs.html only (log viewer sub-tabs)
|
||||
// dist/static/builds.css /builds.html only (build lifecycle hub)
|
||||
// dist/static/home.css index.html (H0M3) only (tile grid)
|
||||
// dist/static/credentials.css /credentials.html only (matrix + github
|
||||
// account forms)
|
||||
// esbuild build for @hive/dashboard: one JS+CSS bundle per page (H0M3 at
|
||||
// `/`, dashboard/flow/logs/core/builds/credentials at their own
|
||||
// `.html`), each named after its own entry point below — see the
|
||||
// `entryPoints`/`for` lists for the exact map, not repeated here to
|
||||
// avoid this comment drifting out of sync with the real build steps.
|
||||
//
|
||||
// Each JS entry bundles `./common.js` (DOM helpers, Panel singleton,
|
||||
// NOTIF, path linkification) independently — esbuild inlines the shared
|
||||
// module into each bundle rather than emitting a shared chunk (no
|
||||
// `splitting: true`). The Rust binary mounts `dist/` as a
|
||||
// `tower_http::ServeDir` fallback (`append_index_html_on_directories`
|
||||
// serves index.html at /); the layout above keeps every URL the HTML
|
||||
// files reference reachable without rewriting paths in the HTML. The
|
||||
// dashboard SPA lives at /dashboard.html (a plain file, not a /dashboard/
|
||||
// prefix) so it never shadows the exact-match /dashboard/stream +
|
||||
// /dashboard/history SSE routes registered before the ServeDir fallback.
|
||||
// serves index.html at /); the dashboard SPA lives at /dashboard.html
|
||||
// (a plain file, not a /dashboard/ prefix) so it never shadows the
|
||||
// exact-match /dashboard/stream + /dashboard/history SSE routes
|
||||
// registered before the ServeDir fallback.
|
||||
|
||||
import { build } from "esbuild";
|
||||
import { mkdirSync, copyFileSync, rmSync } from "node:fs";
|
||||
|
|
@ -102,18 +68,17 @@ await build({
|
|||
jsxImportSource: "preact",
|
||||
});
|
||||
|
||||
// Stream-worker entry (#448). Lives in a separate bundle: SharedWorker
|
||||
// Stream-worker entry. Lives in a separate bundle: SharedWorker
|
||||
// scripts run in a different global (`self` is the worker scope, no
|
||||
// `window`) so they can't be inlined into tabs.js / flow.js. Output is
|
||||
// at `static/stream-worker.js`; common.js's `openStream` references
|
||||
// `/static/stream-worker.js` as the SharedWorker URL. `format: 'iife'`
|
||||
// matches the classic-script load (`new SharedWorker(url, name)` with
|
||||
// no `{ type: 'module' }`); Firefox is the #448 target and module
|
||||
// SharedWorker support there is patchy, so keeping the worker as a
|
||||
// classic script + IIFE bundle is the compatible default. argus nit
|
||||
// on #453: if a future contributor adds an `import` to this bundle,
|
||||
// the IIFE format will surface it as a build error rather than
|
||||
// silently shipping broken code.
|
||||
// no `{ type: 'module' }`); Firefox's module SharedWorker support is
|
||||
// patchy, so keeping the worker as a classic script + IIFE bundle is
|
||||
// the compatible default. argus's own review nit here: if a future
|
||||
// contributor adds an `import` to this bundle, the IIFE format will
|
||||
// surface it as a build error rather than silently shipping broken code.
|
||||
await build({
|
||||
entryPoints: [src("stream-worker.js")],
|
||||
outdir: staticDir(""),
|
||||
|
|
|
|||
Loading…
Reference in a new issue