Skip to content

chore: npm audit fix (11→0), split unit/e2e test runners, HERMES_HOME override for auth - #84

Open
sege66 wants to merge 3 commits into
xaspx:mainfrom
sege66:chore/audit-fix-test-runners
Open

sege66 wants to merge 3 commits into
xaspx:mainfrom
sege66:chore/audit-fix-test-runners

Conversation

@sege66

@sege66 sege66 commented Nov 3, 2026

Copy link
Copy Markdown

Summary

  • npm audit fix — 11 vulnerabilities → 0 (1 critical / 9 high / 1 moderate at base ee0f580). SemVer-safe updates for ws, vite, multer, js-yaml, body-parser, express-rate-limit/ip-address, nanoid, postcss, source-map-js, proxy-addr. The remaining transitive qs (via express 4.x) is pinned to ^6.16.2 through overrides instead of forcing an express 5 major bump.
  • Test runner split — npm test was bare node --test, which also collected the Playwright e2e spec in test/ and failed on test.describe(). Now: test → node --test test/*.test.js (unit only), plus test:qa for the GSD route QA suite (playwright.config.mts, qa/). test:e2e follows the suite added in 00cf2db.
  • auth.js honors HERMES_HOME env — the users store was hardcoded to ~/.hermes, so e2e runs mixed with the production hci-users.json. With the override unset the default path is unchanged.
  • Docs — agent onboarding (AGENTS.md, CLAUDE.md symlink), Testing section in README, generic dist/assets description (hashed filenames drift on every build).

Verification

  • npm audit → found 0 vulnerabilities
  • npm test → 13/13 pass (unit)
  • Playwright e2e (test/office-visualization.spec.js) against an isolated server on :8790 (temp HERMES_HOME, runtime-generated credentials): 33 passed / 3 conditional skips / 0 failed — the 3 skips are by-design test.skip() when no running agents exist
  • vite build → success; dist/index.html committed from that build

Notes for reviewer

  • Rebased onto main @ ee0f580 (v3.6.2); conflicts resolved by keeping upstream's newer README/package.json as the base and layering only the additions above.
  • The qs override can be dropped once express 4.x ships a patched qs range (or on an express 5 migration).

— generated by Grok (claude-workspace session, 2026-11-03)

…dable auth home

- Reinstall node_modules lost from the project dir; npm audit fix + qs
  override -> 0 vulnerabilities (was 1 critical / 9 high / 2 moderate)
- npm test now runs node --test test/*.test.js only; Playwright e2e gets
  test:e2e (test/office suite) and test:qa (qa/ routes) entry points
- auth.js honors HERMES_HOME env so e2e can run against an isolated home

Verified: unit 11/11 pass; e2e 33 passed / 3 conditional skips / 0 fail
against isolated server on :8790; prod instance on :10272 healthy (200).
- README rewrite (June draft): fix fact drift against code — RBAC is 28
  permissions (not 20), version 3.5.1, Node >=20, list all 10 pages
  incl. Monitor/Office; add Testing section (npm test / test:e2e / test:qa)
- AGENTS.md agent onboarding doc (CLAUDE.md is a symlink to it); correct
  page count to 10
- playwright.config.mts + qa/qa-routes.spec.mts: GSD route QA suite
  (test:qa entry), screenshots/qa-report.json are run artifacts -> ignored
- Verified against code: rate limits (5/15min, 30/min), bcrypt cost 10,
  CSRF on 45 mutating endpoints, dist asset names
…form

Hashed asset names drift on every build (index-DXC1lv8V.js ->
index-DZsU5115.js after vite build); commit the rebuilt index.html and
describe dist/assets generically.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant