fix: declare the real Node floor (engines >=20) and cut 2.0.1 - #16
Merged
Conversation
engines.node said >=18, but dist/ is compiled for node20 (tsup target), so the package advertised support for two runtimes it was never built against. Developing on a clone needs Node 24 rather than 20 — the tests import the TypeScript sources directly and rely on type-stripping plus JSON import attributes (Node 23.6+). That is a contributor requirement, not a consumer one, so it belongs in the README rather than in engines. Closes #8 (item 2). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR aligns the published package’s stated Node compatibility with what the project actually ships (dist/ built for Node 20), and prepares the repo metadata for the 2.0.1 release.
Changes:
- Bumps
engines.nodefrom>=18to>=20(in bothpackage.jsonandpackage-lock.json). - Updates README to document the consumer runtime floor (Node 20) and the stricter contributor/dev requirement (Node 24 via
.nvmrc). - Bumps version to
2.0.1and adds a corresponding CHANGELOG entry + link updates.
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| README.md | Documents Node 20 as the consumer runtime floor and Node 24 as the dev/test requirement. |
| package.json | Updates package version to 2.0.1 and corrects engines.node to >=20. |
| package-lock.json | Keeps lockfile metadata consistent with package.json version/engines changes. |
| CHANGELOG.md | Adds 2.0.1 release notes and updates compare links. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
|
||
| [Unreleased]: https://github.com/alexanderolvera/dfhack-remote-node/compare/v2.0.0...HEAD | ||
| [Unreleased]: https://github.com/alexanderolvera/dfhack-remote-node/compare/v2.0.1...HEAD | ||
| [2.0.1]: https://github.com/alexanderolvera/dfhack-remote-node/compare/v2.0.0...v2.0.1 |
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.
Addresses item 2 of #8, and stages the 2.0.1 release.
The problem
engines.nodedeclared>=18, buttsup.config.tsbuildsdist/withtarget: 'node20'. The package was telling npm it supported two major runtimes it had never been compiled against.What changed
engines.node→>=20, in bothpackage.jsonandpackage-lock.json..nvmrc). This is deliberately not inengines: the stricter bar comes from the tests running the TypeScript sources directly via type-stripping and JSON import attributes (Node 23.6+), which constrains contributors, not consumers.2.0.1with a CHANGELOG entry, so merging this leavesmainready to tag.Verification
npm ciclean against the updated lockfilenpm run build,npm run typecheck,npm run lint,npm testall pass2.0.1— it finds the new section, so the GitHub Release will carry real notes rather than autogenerated onesRelease note
The payload is otherwise identical to 2.0.0; every other commit since that publish has been CI-only. The version bump rides in this PR rather than a separate
npm versioncommit onmain, so the tag can be cut from the merge commit and the workflow's tag-matches-package.json check passes.