Skip to content

chore: align Node 22 pin and Corepack CI with current vis.gl projects - #19

Merged
ibgreen merged 3 commits into
masterfrom
claude/node-20-22-upgrade-WKVlO
Oct 3, 2026
Merged

ibgreen merged 3 commits into
masterfrom
claude/node-20-22-upgrade-WKVlO

Conversation

@chrisgervang

@chrisgervang chrisgervang commented Mar 1, 2026 •

Copy link
Copy Markdown
Contributor

Align local development and CI on Node 22.22.1 via .nvmrc, replacing the original Node 20 proposal after comparison with current loaders.gl, luma.gl, and deck.gl.

  • Merge current master, preserving its pinned Yarn 4.18.0, Corepack activation, immutable installs, Berry cache, and current tooling engine requirements.
  • Match luma.gl's Node 22.22.1 pin (loaders.gl and deck.gl currently pin 22.22.0). Both test and release workflows read .nvmrc.
  • Remove the single-version test matrix and update checkout, setup-node, and Coveralls to pinned versions used by deck.gl. Keep automatic package-manager caching disabled so Corepack activates Yarn before the existing explicit Berry cache step.
  • Raise the Docusaurus website package's Node minimum from 18 to 20, consistent with its Docusaurus 3 dependency. Preserve master's stricter Node requirements for dev-tools and ts-plugins.
  • Use the current Coveralls file input for the generated LCOV report.

Comparison sources:

Validation on Node 22.22.1 and Yarn 4.18.0:

  • yarn install --immutable
  • yarn bootstrap (including package builds)
  • yarn lint
  • yarn cover: 9 files / 22 tests passed
  • yarn test-headless: 1 file / 2 tests passed
  • git diff --check

Existing peer-dependency and build/Vitest warnings remain; all listed checks passed.

- Bump Volta pin from 18.19.0 to 20.18.0
- Update engines field from >= 18 to >= 20 in all three modules
- Update CI: node-version matrix to [20], checkout@v4, setup-node@v4
  with built-in yarn cache (replaces deprecated c-hive/gha-yarn-cache),
  coverallsapp/github-action@v2

https://claude.ai/code/session_0142Pmpg2JL4V53HGuU7tasX
- Add .nvmrc pinned to 20.18.0
- Replace volta field with "packageManager": "yarn@1.22.19" in package.json
- Update CI workflow to read node version from .nvmrc and enable corepack

https://claude.ai/code/session_0142Pmpg2JL4V53HGuU7tasX
@chrisgervang chrisgervang changed the title Switch from Volta to corepack and .nvmrc, upgrade to node 20 chore: switch corepack and .nvmrc, upgrade to node 20 Mar 1, 2026

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Comment thread .github/workflows/test.yml Outdated
cache: 'yarn'

- name: Enable corepack
run: corepack enable yarn

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corepack must be enabled before setup-node caching

High Severity

The corepack enable yarn step runs after actions/setup-node@v4 with cache: 'yarn', but setup-node needs yarn to be available at its execution time to resolve the cache directory. Since package.json now declares "packageManager": "yarn@1.22.19", the setup-node action expects corepack to already be enabled to locate the correct yarn binary for caching. This ordering will cause the CI workflow to fail. The corepack enable step needs to be placed before the setup-node step.

Additional Locations (1)

Fix in Cursor Fix in Web

@ibgreen ibgreen changed the title chore: switch corepack and .nvmrc, upgrade to node 20 chore: align Node 22 pin and Corepack CI with current vis.gl projects Oct 3, 2026
@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 37129388636

Coverage remained the same at 60.222%

Details

  • Coverage remained the same as the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 648
Covered Lines: 380
Line Coverage: 58.64%
Relevant Branches: 521
Covered Branches: 324
Branch Coverage: 62.19%
Branches in Coverage %: Yes
Coverage Strength: 5.52 hits per line

💛 - Coveralls

@ibgreen
ibgreen merged commit ea5a996 into master Oct 3, 2026
1 check passed
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.

4 participants