Repository navigation
Conversation
Pin @types/node to the Node 22 type line (22.20.5) so development-time types match the engines floor of Node >=22.13.0 <25. Compiling against the oldest supported Node major prevents accidental use of runtime APIs unavailable on Node 22. Regenerate package-lock.json (undici-types 7.24.6 -> 6.21.0) and configure Dependabot to ignore @types/node major updates so unsupported Node type majors cannot be reintroduced while the engine range is unchanged. Document the compatibility rationale in the dependency policy. Refs DigiNodes#235
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
closes #235
Pin @types/node to the Node 22 type line (22.20.5) so development-time types match the engines floor of Node >=22.13.0 <25. Compiling against the oldest supported Node major prevents accidental use of runtime APIs unavailable on Node 22.
Regenerate package-lock.json (undici-types 7.24.6 -> 6.21.0) and configure Dependabot to ignore @types/node major updates so unsupported Node type majors cannot be reintroduced while the engine range is unchanged. Document the compatibility rationale in the dependency policy.
Refs #235
Summary
Align the development-time Node.js type definitions with StellarForge CLI's supported runtime contract.
The package engine range is
Node.js >=22.13.0 <25, but@types/nodewas on major 25 — types for a Node major outside the supported range. This PR pins@types/nodeto the current supported Node 22 type line (22.20.5), regeneratespackage-lock.jsonconsistently, configures Dependabot so it cannot reintroduce Node type majors outside the supported runtime range, and documents the compatibility rationale in the dependency policy.Related Issue
Closes #235
Scope
Work completed:
@types/nodeto the current supported Node 22 type line (22.20.5);package-lock.jsonconsistently (only@types/node25.9.8 -> 22.20.5 and its transitiveundici-types7.24.6 -> 6.21.0);.github/dependabot.yml) to ignore@types/nodemajor updates so unsupported Node type majors cannot be reintroduced while the engine range is unchanged;docs/contributing/dependency-policy.md.Intentionally left out (out of scope):
The supported Node runtime range (
>=22.13.0 <25) is not changed in this PR.Testing
Checks run:
Results:
npm ci --ignore-scripts --no-audit --no-fund— succeeded (168 packages).npm run typecheck— passed (confirms@types/node@22.20.5compiles cleanly under TypeScript 6.0.3).npm run lint— passed.npm run format:check— passed.npm run build— passed.npm test— 159/161 passed. The 2 failures (tests/configuration.test.ts,tests/template-generation.test.ts) areEPERM: operation not permitted, symlinkerrors caused by local Windows symlink privileges (Developer Mode/Administrator). These fail identically on the untouchedmainbaseline, so they are pre-existing/environmental and unrelated to this type-only change; they pass on elevated CI runners.Security Impact
Security notes: this is a development-dependency and dependency-automation change only. No runtime dependency, public CLI behavior, or trust boundary is affected. Keeping the development-time types aligned with the oldest supported runtime reduces the risk of shipping code that relies on APIs unavailable at runtime.
Release Impact
No published/user-visible behavior change
Patch
Minor
Breaking/pre-1.0 contract change
Changeset included where required
Changeset not required; reason explained below
Release notes: no published/user-visible behavior changes. This touches only a development dependency, the lockfile, Dependabot configuration, and documentation. No Changeset is expected.
Documentation
Checklist
docs/contributing/wave-architecture.mdfor Stellar Wave work