Skip to content

Upgrade Node.js to v24 and update GitHub Actions - #457

Merged
razor-x merged 3 commits into
mainfrom
claude/php-sdk-tsmodule-patterns-owuh69
Jul 29, 2026
Merged

Upgrade Node.js to v24 and update GitHub Actions#457
razor-x merged 3 commits into
mainfrom
claude/php-sdk-tsmodule-patterns-owuh69

Conversation

@razor-x

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

Copy link
Copy Markdown
Member

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

  • Node.js Version: Updated default Node.js version from 20 to 24 in the setup action
  • Engine Requirements: Added explicit engines field requiring Node.js >=22.11.0 and npm >=10.9.4, plus devEngines metadata for development tooling
  • GitHub Actions Upgrades:
    • actions/checkout: v4 → v7
    • actions/setup-node: v4 → v7
    • crazy-max/ghaction-import-gpg: v6 → v7
    • stefanzweifel/git-auto-commit-action: v5 → v7
    • softprops/action-gh-release: v1 → v3
    • cycjimmy/semantic-release-action: v4 → v6
  • Setup Node.js Improvements:
    • Removed npm cache configuration from setup-node action
    • Changed npm ci to npm ci --ignore-scripts to skip scripts during installation
    • Added explicit npm rebuild step to rebuild native modules
    • Added separate steps for postinstall and prepare npm scripts
  • Dependencies: Updated standard-changelog from ^2.0.0 to ^5.0.0 in publish workflow
  • Configuration: Fixed tsconfig.json schema URL to include .json extension
  • Removed: Deleted .nvmrc file (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

claude and others added 2 commits July 29, 2026 00:36
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
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
@razor-x
razor-x merged commit 5389000 into main Jul 29, 2026
5 checks passed
@razor-x
razor-x deleted the claude/php-sdk-tsmodule-patterns-owuh69 branch July 29, 2026 00:42
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