Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,17 @@
"author": "Team Hyphen <hello@hyphen.ai>",
"license": "MIT",
"engines": {
"node": ">=20.12.0"
"node": "^22.18.0 || >=24.0.0"
},
"devDependencies": {
"@biomejs/biome": "^2.4.16",
"@faker-js/faker": "^10.4.0",
"@types/node": "^25.6.0",
"@types/node": "^25.9.2",
"@vitest/coverage-v8": "^4.1.8",
"rimraf": "^6.1.3",
"tsd": "^0.33.0",
"tsdown": "^0.21.7",
"typescript": "^6.0.2",
"tsdown": "^0.22.2",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Align the declared Node engine with tsdown

This upgrade makes the build tool require a newer runtime: the locked tsdown@0.22.2 declares engines: {node: ^22.18.0 || >=24.0.0} in pnpm-lock.yaml, while package.json still advertises Node >=20.12.0. Since pnpm build invokes tsdown and prepublishOnly runs the build, installs/builds from source on Node 20/21 or early Node 22 can now fail under engine-strict or at build time despite satisfying the package's declared engine; either keep a Node-20-compatible tsdown or raise the declared engine range.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Good catch — addressed in 45d8439. I raised engines.node from >=20.12.0 to ^22.18.0 || >=24.0.0 to match tsdown@0.22.2's declared engine.

Verified the regression was real and introduced here: tsdown@0.21.7 declared engines.node: >=20.19.0, while 0.22.2 moves to ^22.18.0 || >=24.0.0, dropping Node 20/21 and early 22. Since the published package ships pre-built dist/ (tsdown is dev-only), this primarily affects building from source; aligning the declared engine keeps the contract honest. CI builds on Node 22/24/26 (and release.yaml on 22) — all satisfy the new range — and the tsdown build target now resolves to node22.18.0. Marked the PR (breaking) since this drops Node 20/21 support.


Generated by Claude Code

"typescript": "^6.0.3",
"vitest": "^4.1.8"
},
"files": [
Expand Down
Loading
Loading