Skip to content

Replace esbuild with oxc-parser in file rotues#2199

Open
birkskyum wants to merge 4 commits into
mainfrom
replace-esbuild-with-oxc-parser
Open

Replace esbuild with oxc-parser in file rotues#2199
birkskyum wants to merge 4 commits into
mainfrom
replace-esbuild-with-oxc-parser

Conversation

@birkskyum

@birkskyum birkskyum commented Jul 16, 2026

Copy link
Copy Markdown
Member

Replace the filesystem router’s esbuild + es-module-lexer pipeline with oxc-parser.

I ran a local bench, and the numbers i see indicate 10-20x performance for file scanning

Measurement esbuild + es-module-lexer oxc-parser Difference
Route files scanned 71 71
Runtime exports found 82 82 Identical
First scan (not very reliable) 138.51 ms 6.81 ms 20.3× faster
Warm median 45.21 ms 2.01 ms 22.5× faster
Warm mean 48.34 ms 2.28 ms 21.2× faster
Warm minimum 36.12 ms 1.52 ms 23.7× faster
Warm maximum 75.88 ms 6.25 ms 12.1× faster

Bundle size is approx. unchanged

Why

The filesystem router only needs static export metadata to identify page components, route configuration, and HTTP handlers. Previously, every route module was first transformed with esbuild and then scanned with es-module-lexer.

oxc-parser can parse TSX and return static export information directly. This removes an unnecessary transformation step and lets the router consume Oxc’s native StaticExportEntry records.

This also removes esbuild and es-module-lexer as direct dependencies of @solidjs/start.

@changeset-bot

changeset-bot Bot commented Jul 16, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: cd25074

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@solidjs/start Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@netlify

netlify Bot commented Jul 16, 2026

Copy link
Copy Markdown

Deploy Preview for solid-start-landing-page ready!

Name Link
🔨 Latest commit cd25074
🔍 Latest deploy log https://app.netlify.com/projects/solid-start-landing-page/deploys/6a590fd993ddf40008c4859d
😎 Deploy Preview https://deploy-preview-2199--solid-start-landing-page.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@pkg-pr-new

pkg-pr-new Bot commented Jul 16, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/solidjs/solid-start/@solidjs/start@2199
npm i https://pkg.pr.new/solidjs/solid-start/@solidjs/vite-plugin-nitro-2@2199

commit: cd25074

@birkskyum birkskyum requested review from katywings and lxsmnsyc and removed request for lxsmnsyc July 16, 2026 17:19
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