Skip to content

chore(deps): remove tsx dependency and use Node native TypeScript execution#1525

Merged
sabertazimi merged 2 commits into
mainfrom
chore/remove-tsx-bump-node-24
Jun 5, 2026
Merged

chore(deps): remove tsx dependency and use Node native TypeScript execution#1525
sabertazimi merged 2 commits into
mainfrom
chore/remove-tsx-bump-node-24

Conversation

@sabertazimi

Copy link
Copy Markdown
Owner

Summary

Remove tsx and ts-node dependencies, leveraging Node v24's native TypeScript support (--experimental-strip-types).

Changes

  • Remove tsx from root and packages/bod devDependencies
  • Replace tsx with node in all script entries (badge, canary, release, dev)
  • Add "type": "module" to root package.json for ESM detection
  • Change .js import extensions to .ts across all source and test files (Node native TS doesn't rewrite .js.ts)
  • Replace __dirname with import.meta.dirname in scripts
  • Add esbuild for JS bundling in packages/bod; tsc now emits declarations only
  • Update bin/bod.js from require() to import (ESM compatibility)
  • Bump engines.node from >=18.0.0 to >=24.0.0 in all 4 package.json files
  • Update AGENTS.md docs to reflect Node >=24 requirement

Test plan

  • pnpm build — all packages compile successfully
  • pnpm vitest run — 29/29 tests pass
  • pnpm dev --help — CLI runs via node ./src/bod.ts
  • node scripts/badge.ts — root scripts execute correctly
  • node packages/bod/bin/bod.js --help — compiled binary works
  • tsc --noEmit — type checking passes

@socket-security

socket-security Bot commented Jun 5, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addeddotenv@​17.4.29910010091100

View full report

@codecov

codecov Bot commented Jun 5, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.63%. Comparing base (870b7b6) to head (d664cbf).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1525      +/-   ##
==========================================
- Coverage   93.58%   83.63%   -9.96%     
==========================================
  Files           5        5              
  Lines          78       55      -23     
  Branches       13        6       -7     
==========================================
- Hits           73       46      -27     
  Misses          4        4              
- Partials        1        5       +4     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

…cution

- Remove tsx from root and packages/bod devDependencies
- Replace tsx with node in all script entries (badge, canary, release, dev)
- Add "type": "module" to root package.json for ESM detection
- Change .js import extensions to .ts for Node native TS compatibility
- Replace __dirname with import.meta.dirname in scripts
- Add esbuild for JS bundling, use tsc for declarations only
- Update bin/bod.js from require() to import (ESM compatibility)
- Bump engines.node from >=18.0.0 to >=24.0.0 in all package.json files
- Update AGENTS.md docs to reflect Node >=24 requirement
@sabertazimi
sabertazimi force-pushed the chore/remove-tsx-bump-node-24 branch from 32c18ea to d828e4c Compare June 5, 2026 11:33
Remove esbuild from devDependencies and switch the compile script from
`tsc && esbuild --bundle` to pure `tsc`. Configure tsconfig with rootDir
and remove emitDeclarationOnly so tsc handles both type-checking and
JavaScript output.
@sabertazimi
sabertazimi merged commit 34d4559 into main Jun 5, 2026
12 of 13 checks passed
@sabertazimi
sabertazimi deleted the chore/remove-tsx-bump-node-24 branch June 5, 2026 12:30
github-actions Bot added a commit that referenced this pull request Jun 5, 2026
…cution (#1525)

* chore(deps): remove tsx dependency and use Node native TypeScript execution

- Remove tsx from root and packages/bod devDependencies
- Replace tsx with node in all script entries (badge, canary, release, dev)
- Add "type": "module" to root package.json for ESM detection
- Change .js import extensions to .ts for Node native TS compatibility
- Replace __dirname with import.meta.dirname in scripts
- Add esbuild for JS bundling, use tsc for declarations only
- Update bin/bod.js from require() to import (ESM compatibility)
- Bump engines.node from >=18.0.0 to >=24.0.0 in all package.json files
- Update AGENTS.md docs to reflect Node >=24 requirement

* chore(deps): remove esbuild dependency and use tsc-only compilation

Remove esbuild from devDependencies and switch the compile script from
`tsc && esbuild --bundle` to pure `tsc`. Configure tsconfig with rootDir
and remove emitDeclarationOnly so tsc handles both type-checking and
JavaScript output. 34d4559
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.

1 participant