Skip to content

fix(npm) :: install dependencies only once at root level - #1372

Draft
81reap wants to merge 7 commits into
sqlpage:mainfrom
81reap:stack/7-npm-root
Draft

fix(npm) :: install dependencies only once at root level#1372
81reap wants to merge 7 commits into
sqlpage:mainfrom
81reap:stack/7-npm-root

Conversation

@81reap

@81reap 81reap commented Aug 8, 2026

Copy link
Copy Markdown

Motivation

  • The browser tests carry their own package-lock.json, so a contributor installs npm dependencies twice and CI caches only one of the two lockfiles.
  • Running the suite from the root leaves test-results/ and playwright-report/ behind, neither of them ignored.

Description

  • Declare tests/end-to-end as a workspace of the root package, and delete its lockfile.
  • Point the CI npm cache at the root lockfile, and run npm ci from the root in a job that otherwise defaults to tests/end-to-end.
  • Install the dependencies before cd tests/end-to-end in CONTRIBUTING, since that is now where they live.
  • Ignore test-results/ and playwright-report/ at the root.

Testing

  • With tests/end-to-end/node_modules deleted, npm install from the root is enough for npx playwright test to run: the suite passes its 41 tests with no second install.
  • npm test checks 41 files, reports nothing, and passes the 15 unit tests.
  • no console errors on card page fails for the reason described in fix(biome.js) :: fix remaining lint issues #1366, on this branch and on the unmodified base alike.

GitHub cannot base a pull request on a branch that lives in a fork, so all eight target main and each one carries the commits of those above it. Review and merge them in order:

  1. fix(biome.js) :: fix remaining lint issues #1366 :: fix(biome.js) :: fix remaining lint issues
  2. fix(modal) :: give modal component an accessible name #1367 :: fix(modal) :: give modal component an accessible name
  3. fix(map) :: ignore map coordinates that are not a pair of numbers #1368 :: fix(map) :: ignore map coordinates that are not a pair of numbers
  4. feat(chart) :: render column charts as bar charts #1369 :: feat(chart) :: render column charts as bar charts
  5. fix(chart) :: align stacked series on their X values #1370 :: fix(chart) :: align stacked series on their X values
  6. fix(chart) :: line series up on a category axis for every chart type #1371 :: fix(chart) :: line series up on a category axis for every chart type
  7. fix(npm) :: install dependencies only once at root level #1372 :: fix(npm) :: install dependencies only once at root level ← this PR
  8. feat(typescript) :: typecheck browser JavaScript in CI #1373 :: feat(typescript) :: typecheck browser JavaScript in CI

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