Skip to content

fix: declare the real Node floor (engines >=20) and cut 2.0.1 - #16

Merged
alexanderolvera merged 1 commit into
mainfrom
fix/engines-node20
Aug 9, 2026
Merged

fix: declare the real Node floor (engines >=20) and cut 2.0.1#16
alexanderolvera merged 1 commit into
mainfrom
fix/engines-node20

Conversation

@alexanderolvera

Copy link
Copy Markdown
Owner

Addresses item 2 of #8, and stages the 2.0.1 release.

The problem

engines.node declared >=18, but tsup.config.ts builds dist/ with target: 'node20'. The package was telling npm it supported two major runtimes it had never been compiled against.

What changed

  • engines.node>=20, in both package.json and package-lock.json.
  • README states the Node 20 runtime floor.
  • README separately documents that developing on a clone needs Node 24 (.nvmrc). This is deliberately not in engines: 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.
  • Version bumped to 2.0.1 with a CHANGELOG entry, so merging this leaves main ready to tag.

Verification

  • npm ci clean against the updated lockfile
  • npm run build, npm run typecheck, npm run lint, npm test all pass
  • Simulated the release workflow's changelog extraction for 2.0.1 — it finds the new section, so the GitHub Release will carry real notes rather than autogenerated ones

Release 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 version commit on main, so the tag can be cut from the merge commit and the workflow's tag-matches-package.json check passes.

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>
Copilot AI lite review requested due to automatic review settings August 9, 2026 21:29
@alexanderolvera
alexanderolvera merged commit 9a222f0 into main Aug 9, 2026
2 checks passed
@alexanderolvera
alexanderolvera deleted the fix/engines-node20 branch August 9, 2026 21:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.node from >=18 to >=20 (in both package.json and package-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.1 and 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.

Comment thread CHANGELOG.md

[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
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