Skip to content

ci: build and publish on Node 22 and 24 - #34

Merged
safenestdev merged 1 commit into
mainfrom
ci/node-22-24
Oct 23, 2026
Merged

safenestdev merged 1 commit into
mainfrom
ci/node-22-24

Conversation

@lena-sabadina

Copy link
Copy Markdown
Collaborator

Summary

This unblocks #33 (tsup 8.5.1 → 9.0.0). tsup 9 supports Node ^22.18 || ^24.11 || >=26, and the test (18) job fails with ERR_REQUIRE_ESM when tsup loads cac. Node 18 and Node 20 are both past end of life.

Approach

  • CI test matrix: [18, 20, 22] becomes [22, 24], the two maintained LTS lines.
  • build job and publish.yml: Node 20 becomes Node 22, so the package that ships is built on a Node version tsup supports.
  • engines in package.json is unchanged. tsup only runs when the package is built, so apps that install @tuteliq/react-native aren't affected.

Testing

I built the package locally with tsup 8.5.1 (main) and with tsup 9.0.0 (#33), on Node 26, and compared the output:

  • dist/index.js and dist/index.mjs are byte-for-byte identical.
  • dist/index.d.ts / .d.mts only change how type-only exports are written: one export type { … } line instead of inline type modifiers. They mean the same thing, and the new form works with older TypeScript versions too.
  • typecheck, lint and build pass on both.

Notes for reviewers

  • After this merges: comment @dependabot rebase on chore(deps-dev): bump tsup from 8.5.1 to 9.0.0 #33 so it picks up the new matrix.
  • No tests run: this repo has no Jest test files (jest finds 0), and CI doesn't run npm test. That's worth a separate look.

Node 18 and 20 are past end of life, and tsup 9 (#33) needs Node ^22.18 or ^24.11: on 18 the build fails with ERR_REQUIRE_ESM, and 20 is outside its supported range. The test matrix moves to 22 and 24, and the build and publish jobs to 22. The package's engines field is unchanged: tsup only runs at build time, so apps installing the package are unaffected.
@safenestdev
safenestdev merged commit 9851335 into main Oct 23, 2026
5 checks passed
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