Skip to content

Upgrade Node.js to v24 and modernize development tooling - #595

Merged
razor-x merged 1 commit into
mainfrom
claude/docs-makenew-tsmodule-update-by6n46
Jul 28, 2026
Merged

Upgrade Node.js to v24 and modernize development tooling#595
razor-x merged 1 commit into
mainfrom
claude/docs-makenew-tsmodule-update-by6n46

Conversation

@razor-x

@razor-x razor-x commented Jul 28, 2026

Copy link
Copy Markdown
Member

Summary

This PR upgrades the project's Node.js runtime requirement to v24 while maintaining backward compatibility with v22, and modernizes the development tooling stack with updated dependencies and GitHub Actions versions.

Key Changes

Node.js and Runtime Requirements

  • Updated minimum Node.js version from 20 to 22.11.0 in engines
  • Updated minimum npm version to 10.9.4
  • Added devEngines configuration to declare support for Node.js v24.11.0 and v22.11.0, with npm v11.0.0 and v10.9.4
  • Updated .nvmrc removal and devcontainer Node.js version from 20 to 24
  • Updated README to document devEngines configuration

Development Dependencies

  • Added TypeScript (^6.0.3), ESLint (^9.31.0), and type definitions (@types/node ^24.10.9)
  • Added build/runtime tools: tsx (^4.6.2) and jiti (^2.4.2)
  • Maintained existing dependencies: Prettier, @seamapi packages, and change-case

GitHub Actions Updates

  • Upgraded actions/checkout from v4 to v7
  • Upgraded actions/setup-node from v4 to v7 and removed npm cache configuration
  • Upgraded actions/download-artifact from v4 to v8
  • Upgraded actions/upload-artifact from v4 to v7
  • Upgraded crazy-max/ghaction-import-gpg from v6 to v7
  • Upgraded stefanzweifel/git-auto-commit-action from v5 to v7
  • Upgraded cycjimmy/semantic-release-action from v4 to v6
  • Upgraded softprops/action-gh-release from v2 to v3
  • Upgraded tj-actions/glob from v21 to v22

Node.js Setup Action Improvements

  • Enhanced .github/actions/setup-node/action.yml with explicit npm rebuild and postinstall/prepare script execution
  • Added --ignore-scripts flag to npm ci to prevent automatic script execution during install
  • Added separate steps for npm rebuild, npm run postinstall, and npm run prepare for better control

Configuration Updates

  • Fixed tsconfig.json schema URL to include .json extension

https://claude.ai/code/session_01Y2XoVcysK4XshKsKtsbK4U

@razor-x
razor-x marked this pull request as ready for review July 28, 2026 19:38
@razor-x
razor-x requested a review from a team as a code owner July 28, 2026 19:38
Adopt the toolchain patterns from @seamapi/makenew-tsmodule v3.0.4, mirroring
the update already applied to seamapi/javascript-http and seamapi/docs.

- Add engines and devEngines and drop .nvmrc. Node v24 is now the default in CI
  and the devcontainer, with v22.11.0 still supported.
- Update the workflow action versions and install dependencies with
  npm ci --ignore-scripts followed by npm rebuild.
- Update the npm dependencies. Refreshing the lockfile also records the esbuild
  platform packages that npm tracks for tsx.
- Fix the tsconfig.json schema URL.

TypeScript v6 is already in place through @seamapi/smith v1.1.0, which declares
typescript, tsx, eslint, and jiti as peer dependencies and depends on
@types/node directly, so none of them are declared here.

The Python toolchain is unchanged: Poetry, pylint, black, and the Python
version matrices in CI are untouched. Running the codegen produces byte for
byte identical output under the updated toolchain.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y2XoVcysK4XshKsKtsbK4U
@razor-x
razor-x force-pushed the claude/docs-makenew-tsmodule-update-by6n46 branch from 49abb46 to 9d8de25 Compare July 28, 2026 19:41
@razor-x
razor-x merged commit e71a02e into main Jul 28, 2026
18 checks passed
@razor-x
razor-x deleted the claude/docs-makenew-tsmodule-update-by6n46 branch July 28, 2026 19:43
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.

2 participants