Skip to content

feat: migrate build tooling from tsup to tsdown and update TypeScript#446

Merged
jaredwray merged 1 commit intomainfrom
claude/migrate-tsdown-typescript-toApc
Apr 24, 2026
Merged

feat: migrate build tooling from tsup to tsdown and update TypeScript#446
jaredwray merged 1 commit intomainfrom
claude/migrate-tsdown-typescript-toApc

Conversation

@jaredwray
Copy link
Copy Markdown
Owner

Please check if the PR fulfills these requirements

  • Followed the Contributing and Code of Conduct guidelines.
  • Tests for the changes have been added (for bug fixes/features) with 100% code coverage.

What kind of change does this PR introduce?

Build tooling and configuration update

Description

This PR migrates the project's build tooling from tsup to tsdown and updates TypeScript to v6. The changes include:

  • Build tool migration: Replaced tsup with tsdown in the build script, removing the rimraf ./dist pre-step and --clean flag as tsdown handles this automatically
  • Output file extensions: Updated entry points to use .mjs and .d.mts extensions (ES module conventions) instead of .js and .d.ts
  • TypeScript upgrade: Updated TypeScript from v5.9.3 to v6.0.3
  • Module resolution: Changed tsconfig.json moduleResolution from "node" to "bundler" to align with modern bundler expectations

These changes modernize the build pipeline while maintaining the same ESM output format.

Test Plan

Existing tests pass with the new build configuration. The build output remains functionally equivalent with the updated file extensions properly reflected in package.json exports.

https://claude.ai/code/session_017Khrq5EYfF7EzJcv2iT7Cp

- Replace tsup 8.x with tsdown 0.21.x for the ESM/dts build
- Bump typescript 5.9 -> 6.0
- Switch moduleResolution from the (now-removed) "node" to "bundler"
- Update exports/main/types to .mjs and .d.mts to match tsdown's default
  output filenames for ESM

https://claude.ai/code/session_017Khrq5EYfF7EzJcv2iT7Cp
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 23, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (0a03618) to head (d3db25c).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #446   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            5         5           
  Lines          518       518           
  Branches       145       143    -2     
=========================================
  Hits           518       518           

☔ View full report in Codecov by Sentry.
📢 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.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request migrates the build system from tsup to tsdown, updates output file extensions to .mjs and .d.mts, and bumps the TypeScript version. Feedback highlights critical issues in the build script, specifically the removal of the directory cleaning step which could result in stale assets, and a mismatch between the default build output extensions and the entry points defined in package.json. Furthermore, the TypeScript version update to ^6.0.3 is flagged as potentially invalid.

Comment thread package.json
Comment thread package.json
@jaredwray jaredwray changed the title Migrate build tooling from tsup to tsdown and update TypeScript feat: migrate build tooling from tsup to tsdown and update TypeScript Apr 24, 2026
@jaredwray jaredwray merged commit 683a902 into main Apr 24, 2026
11 checks passed
@jaredwray jaredwray deleted the claude/migrate-tsdown-typescript-toApc branch April 24, 2026 22:27
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