Skip to content

fix(website): unblock CI on main (lockfile sync + skip gitignored DoD test)#89

Merged
spMohanty merged 2 commits into
mainfrom
fix/website-package-lock-typescript-sync
May 6, 2026
Merged

fix(website): unblock CI on main (lockfile sync + skip gitignored DoD test)#89
spMohanty merged 2 commits into
mainfrom
fix/website-package-lock-typescript-sync

Conversation

@spMohanty
Copy link
Copy Markdown
Collaborator

@spMohanty spMohanty commented May 6, 2026

Summary

Two follow-up fixes to unblock CI on main after #88 merged.

  1. Regen website/package-lock.json: the merge auto-resolved the lockfile without re-running npm install, leaving typescript@5.9.3 (transitive) unpinned. npm ci failed with Missing: typescript@5.9.3 from lock file.
  2. Skip the accessibility-checklist DoD test on CI: it reads .aicrowd/v3/accessibility-checklist.md, which is gitignored (per the standing "specs stay out of git" rule), so it ENOENT-fails on fresh CI checkouts. Now uses node:test's { skip: !checklistAvailable() } — runs locally where the file exists, skips on CI.

Test plan

  • CI green (currently red on main from both failures above)
  • cd website && nvm use 23 && npm ci exits 0 (verified)
  • npm test → 1034/1034 (verified locally; CI will report 1033/1034 with one skip)
  • npm run build → green (verified)

….9.3

The merge of #88 auto-resolved package-lock.json without re-running
`npm install`, leaving a transitive `typescript@5.9.3` requirement
unpinned in the lockfile. CI on main fails at the `npm ci` step:

  npm error Missing: typescript@5.9.3 from lock file
  npm error `npm ci` can only install packages when your package.json
  and package-lock.json or npm-shrinkwrap.json are in sync.

Regenerate via `npm install` on top of origin/main; only the lockfile
changes (60 insertions, 1 deletion). `npm ci` succeeds end-to-end
locally, npm test (1034/1034) and npm run build both green.
@spMohanty spMohanty changed the title Regen package-lock.json so npm ci on main can install fix(website): unblock CI on main (lockfile sync + skip gitignored DoD test) May 6, 2026
The closing test in symmetry-explorer.accessibility-c50.test.mjs reads
`.aicrowd/v3/accessibility-checklist.md` to verify the DoD reference
stays intact. But `.aicrowd/` is gitignored (project rule: "specs
stay out of git"), so the file is present in local worktrees but
absent from fresh CI checkouts. The test was failing on main with:

  ENOENT: no such file or directory, open '.../.aicrowd/v3/accessibility-checklist.md'

Make the test skip cleanly on CI (file absent) and continue running
locally (file present). The DoD assertion stays intact as a
local-dev guardrail; CI no longer fails on a gitignored fixture.

Implementation: `node:test`'s `{ skip: !checklistAvailable() }` form,
where `checklistAvailable()` is a tiny helper that returns false on
ENOENT. No copy or assertion changes; just gates the test on file
presence.

Verified locally: 1034/1034 (test still runs, file is present in the
worktree).
@spMohanty spMohanty force-pushed the fix/website-package-lock-typescript-sync branch from ed2b1d0 to 3b31546 Compare May 6, 2026 05:01
@spMohanty spMohanty merged commit 8e3543d into main May 6, 2026
17 checks passed
@spMohanty spMohanty deleted the fix/website-package-lock-typescript-sync branch May 6, 2026 05:04
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