Upgrade Node.js to v24 and update GitHub Actions - #457
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, 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. @seamapi/blueprint is held at v1.1.0. Its v1.2.0 rejects the undocumented submit_args property on /seam/connect_webview/v1/submit and fails the codegen against the pinned @seamapi/types; the Dependabot seam group will take that bump together with a compatible @seamapi/types. The PHP toolchain is unchanged: Composer, PHPUnit, and the PHP version in CI are untouched. Running the codegen produces byte for byte identical output under the updated toolchain, including the Prettier v3.9.6 and php-parser v3.7.0 upgrades. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019z4Rr236utqkdJ9HMYnAPd
razor-x
marked this pull request as ready for review
July 29, 2026 00:38
Bring every npm dependency to its latest release, including the major bump of @prettier/plugin-php to v0.25.0 and the minor bump of @seamapi/blueprint to v1.2.0. npm outdated is now empty. @seamapi/blueprint v1.2.0 rejects properties that do not define a type, so it requires @seamapi/types v1.985.0 to build. The two are bumped together here. Regenerating against @seamapi/types v1.985.0 adds three purely additive schema changes to the SDK: - akiles_metadata on AcsCredential and on the ActionAttempt credential - access_code and noise_threshold on ActionAttemptResult - enforced_setpoint_range_celsius on DeviceSensiMetadata Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019z4Rr236utqkdJ9HMYnAPd
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 updates the project to support Node.js v24 as the default version and upgrades all GitHub Actions to their latest major versions. It also refines the Node.js setup process and adds explicit engine requirements.
Key Changes
enginesfield requiring Node.js >=22.11.0 and npm >=10.9.4, plusdevEnginesmetadata for development toolingactions/checkout: v4 → v7actions/setup-node: v4 → v7crazy-max/ghaction-import-gpg: v6 → v7stefanzweifel/git-auto-commit-action: v5 → v7softprops/action-gh-release: v1 → v3cycjimmy/semantic-release-action: v4 → v6npm citonpm ci --ignore-scriptsto skip scripts during installationnpm rebuildstep to rebuild native modulespostinstallandpreparenpm scriptsstandard-changelogfrom ^2.0.0 to ^5.0.0 in publish workflow.jsonextension.nvmrcfile (version now managed via setup action default)Implementation Details
The refactored Node.js setup process provides better control over script execution timing, allowing native modules to be rebuilt after installation and npm lifecycle scripts to run explicitly in the correct order. This approach is more explicit and maintainable than relying on automatic script execution during dependency installation.
https://claude.ai/code/session_019z4Rr236utqkdJ9HMYnAPd