Upgrade Node.js to v24 and update GitHub Actions - #536
Merged
Conversation
Adopt the toolchain patterns from @seamapi/makenew-tsmodule v3.0.4, mirroring the update already applied to seamapi/python, 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. - Reformat two codegen files under Prettier v3.9.6, which adds clarifying parentheses around nullish coalescing inside a conditional. The change is cosmetic and leaves the generated output untouched. - 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. @seamapi/blueprint stays pinned to v1.1.0 in the lockfile. v1.2.0 cannot build a blueprint from the pinned @seamapi/types v1.983.0, so bumping it needs a matching types bump and belongs to the seam dependabot group, not to this toolchain change. The Ruby toolchain is unchanged: Bundler, Rake, standard, and the Ruby version matrices in CI are untouched. Running the codegen produces byte for byte identical output under the updated toolchain. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017zWFBopDRSbr5qbmNxnKvq
razor-x
marked this pull request as ready for review
July 29, 2026 00:36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR upgrades the project to Node.js v24 and updates all GitHub Actions to their latest major versions, along with related configuration and dependency management improvements.
Key Changes
Node.js Version Upgrade
.nvmrcto reflect Node.js 24.devcontainerconfiguration to use Node.js 24package.json:>=22.11.0>=10.9.4devEnginesmetadata supporting Node.js^24.11.0 || ^22.11.0and npm^11.0.0 || ^10.9.4GitHub Actions Updates
actions/checkoutfrom v4 to v7actions/setup-nodefrom v4 to v7actions/download-artifactfrom v4 to v8actions/upload-artifactfrom v4 to v7crazy-max/ghaction-import-gpgfrom v6 to v7stefanzweifel/git-auto-commit-actionfrom v5 to v7softprops/action-gh-releasefrom v2 to v3cycjimmy/semantic-release-actionfrom v4 to v6tj-actions/globfrom v21 to v22Setup Node.js Action Improvements
cache: npmfrom the first setup step (relying on explicit cache management)npm ci --ignore-scriptsto prevent automatic script executionnpm rebuild- to rebuild native modulesnpm run postinstall --if-present- to run postinstall scriptsnpm run prepare --if-present- to run prepare scriptsCode Quality Fixes
codegen/lib/ruby-client.tsandcodegen/lib/layouts/client.tstsconfig.jsonschema URL to use proper.jsonextensionNotable Implementation Details
The npm installation workflow now has explicit control over script execution timing, allowing postinstall and prepare scripts to run after module rebuilding rather than during the initial install phase. This provides better control over the build process and can help prevent issues with native module compilation.
https://claude.ai/code/session_017zWFBopDRSbr5qbmNxnKvq