Skip to content

Replacing tsx with unrun#3054

Merged
RobinTail merged 41 commits intomasterfrom
exp-no-esbuild
Mar 14, 2026
Merged

Replacing tsx with unrun#3054
RobinTail merged 41 commits intomasterfrom
exp-no-esbuild

Conversation

@RobinTail
Copy link
Copy Markdown
Owner

@RobinTail RobinTail commented Nov 10, 2025

Includes:

Summary by CodeRabbit

  • Chores
    • Switched project tooling from tsx to unrun across scripts and dev dependencies; updated workspace configuration and dependency overrides. No runtime behavior changes for end users.
  • Tests
    • Updated test runtimes to use the new runner and adjusted a minor test expectation formatting string; no behavioral impact on test outcomes.

@RobinTail RobinTail added dependencies Pull requests that update a dependency file CI/CD labels Nov 10, 2025
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Nov 10, 2025

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Replaced tsx with unrun across CI, package scripts, examples, and tests; updated root devDependencies and pnpm workspace overrides/exclusions; adjusted one test expectation formatting.

Changes

Cohort / File(s) Summary
CI / Workflow
/.github/workflows/headers.yml
Invocation changed from pnpm tsx tools/headers.tspnpm unrun tools/headers.ts.
Test specs
compat-test/quick-start.spec.ts, esm-test/quick-start.spec.ts, example/index.spec.ts
Switched spawned runtime from tsxunrun when executing example/test scripts.
Example package
example/package.json
Scripts start, build:docs, build:client updated from tsx ...unrun ....
Root package
package.json
prebuild/pretest scripts updated to use unrun; removed tsx devDependency; added unrun@^0.2.17.
Workspace config
pnpm-workspace.yaml
Removed esbuild from onlyBuiltDependencies; removed tsx from minimumReleaseAgeExclude; added overrides for lightningcss and vite.
Test expectation
express-zod-api/tests/common-helpers.spec.ts
Adjusted expected function string formatting from multi-line () => {\n } to single-line () => {}.

Sequence Diagram(s)

(skipped)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

refactoring

Poem

🐇 I hopped from tsx to unrun today,
Swapped scripts and CI without delay.
A function string trimmed, workspace leaves rearranged,
I nibble a carrot — change well exchanged. 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title 'Replacing tsx with unrun' accurately describes the main change across multiple files—all occurrences of tsx have been replaced with unrun throughout the codebase.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch exp-no-esbuild
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coveralls-official
Copy link
Copy Markdown

Coverage Status

coverage: 100.0%. remained the same
when pulling 8ae01bc on exp-no-esbuild
into eb875ef on master.

@coveralls-official
Copy link
Copy Markdown

coveralls-official Bot commented Nov 10, 2025

Coverage Status

coverage: 100.0%. remained the same
when pulling d9b29df on exp-no-esbuild
into ae331c7 on master.

Comment thread .github/workflows/node.js.yml Outdated
Comment thread .github/workflows/node.js.yml Outdated
@RobinTail RobinTail changed the title Exp: replacing esbuild with rolldown Replacing esbuild with rolldown Nov 22, 2025
RobinTail added a commit that referenced this pull request Nov 22, 2025
Does not work well for `unrun`, causes unclear crashes and resolution
uncertainty over `ramda` in #3054

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated module import paths and TypeScript compilation configuration
for improved build compatibility.
  * Standardized JSON module import syntax across the codebase.
* Enhanced internal API infrastructure with extended interface support
for advanced use cases.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
RobinTail added a commit that referenced this pull request Nov 22, 2025
Copy of #3055 , because the issue in #3054 is not caused by it
Since `tsdown` is going to keep it anyway, it can replace `tsx`
Should go along with #3051
All that will help to get rid of `esbuild` and use faster approach based
on Rust.
@RobinTail RobinTail changed the title Replacing esbuild with rolldown Exp: Replacing esbuild with rolldown Nov 22, 2025
@RobinTail RobinTail added the external bug it's a bug, but in a dependency label Nov 22, 2025
@RobinTail
Copy link
Copy Markdown
Owner Author

RobinTail commented Nov 22, 2025

unrun after certain update is failing to import ramda and it's causing failure

Filed an issue to unrun:
Gugustinette/unrun#11

@RobinTail RobinTail changed the title Exp: Replacing esbuild with rolldown Replacing esbuild with rolldown Nov 29, 2025
@RobinTail
Copy link
Copy Markdown
Owner Author

The experiment is a success.
I'm going to wait vite to stabilize on migrating to rolldown

@RobinTail RobinTail removed the external bug it's a bug, but in a dependency label Nov 29, 2025
@RobinTail
Copy link
Copy Markdown
Owner Author

Need #3188 to upgrade to latest vite

@RobinTail
Copy link
Copy Markdown
Owner Author

RobinTail commented Jan 25, 2026

⚠️ there is an issue with coverage

Related issue: vitejs/rolldown-vite#575

Reported to be fixed in vite beta 11 by using rolldown rc.2

# Conflicts:
#	pnpm-lock.yaml
@RobinTail
Copy link
Copy Markdown
Owner Author

RobinTail commented Feb 5, 2026

rolldown updated to rc3 in #3203

Comment thread pnpm-lock.yaml Outdated
Copy link
Copy Markdown
Owner Author

@RobinTail RobinTail left a comment

Choose a reason for hiding this comment

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

reviewed, ok

# Conflicts:
#	pnpm-lock.yaml
@socket-security
Copy link
Copy Markdown

socket-security Bot commented Feb 28, 2026

All alerts resolved. Learn more about Socket for GitHub.

This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.

View full report

@RobinTail
Copy link
Copy Markdown
Owner Author

RobinTail commented Mar 6, 2026

waiting for vite to update for rollup rc7
UPD: they updated to rc8 in beta 18

@RobinTail
Copy link
Copy Markdown
Owner Author

rc 9 is own. tsdown updated, vite not

@RobinTail RobinTail removed the patched Some dependency is patched label Mar 12, 2026
@RobinTail RobinTail changed the title Replacing rollup and esbuild with rolldown Replacing tsx with unrun Mar 12, 2026
Copy link
Copy Markdown
Owner Author

@RobinTail RobinTail left a comment

Choose a reason for hiding this comment

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

🏁

# Conflicts:
#	pnpm-workspace.yaml
@RobinTail RobinTail merged commit 4c359ec into master Mar 14, 2026
14 checks passed
@RobinTail RobinTail deleted the exp-no-esbuild branch March 14, 2026 15:03
@coderabbitai coderabbitai Bot mentioned this pull request Mar 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI/CD dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant