Skip to content

fix: don't strip TS namespace members from route files - #2238

Merged
birkskyum merged 3 commits into
mainfrom
fix-1438
Jul 25, 2026
Merged

fix: don't strip TS namespace members from route files#2238
birkskyum merged 3 commits into
mainfrom
fix-1438

Conversation

@birkskyum

Copy link
Copy Markdown
Member

Namespaces in a route file lose their contents in production builds. The route tree-shaker prunes named exports that aren't in the ?pick= list, but it never checked that the export was at module level, so export statements inside a namespace body got deleted too. The emptied namespace is then dropped as type-only, and anything referencing it throws at runtime.

Dev is unaffected (no pick query), and non-route files were always fine.

Skip exports whose parent isn't the Program node.

Fixes #1438

@netlify

netlify Bot commented Jul 25, 2026

Copy link
Copy Markdown

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

Name Link
🔨 Latest commit 9ff753d
🔍 Latest deploy log https://app.netlify.com/projects/solid-start-landing-page/deploys/6a64a4671d9f7700083f5aed
😎 Deploy Preview https://deploy-preview-2238--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.

@changeset-bot

changeset-bot Bot commented Jul 25, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 9ff753d

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

@pkg-pr-new

pkg-pr-new Bot commented Jul 25, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@solidjs/start@2238

commit: 9ff753d

@birkskyum
birkskyum requested a review from lxsmnsyc July 25, 2026 11:56
@birkskyum
birkskyum merged commit 7c8dbe6 into main Jul 25, 2026
10 checks passed
@birkskyum
birkskyum deleted the fix-1438 branch July 25, 2026 13:03
brenelz added a commit that referenced this pull request Jul 29, 2026
Brings the v2 rc line (through 2.0.0-rc.6) into the Solid 2 branch.

Ported main features onto the Solid 2 architecture:
- Server-function error handler (#2262): wired through
  handleServerFunctionRequest's transformResult hook and the
  solid-start:server-fn-error-handler virtual module.
- Custom seroval plugins (#2250): serialization.plugins now feeds the
  @solidjs/web codec on both the client transport and the server handler.
- ~ alias fix for workspace packages (#2239): adopted appRootAlias in
  place of the global resolve.alias entry.
- Dev toolbar (#2049, replaces the dev overlay): ported to Solid 2
  (Errored/Loading, onSettled, two-arg createEffect, draft-mutation
  stores, terracotta 2 subpath imports, @solidjs/web Portal/Dynamic/JSX,
  createMemo(async) instead of createResource). Protocol-specific pieces
  (SerovalChunkReader, body-format markers) moved local to the toolbar.
- Deferred stream response via h3 iterable() (#2231), StartHandler type
  (#2234), routerLoad restore (#2228), nonce on streaming redirect
  script (#2252), ResizeObserver-loop filter (#2240) all kept.

Kept deleted (superseded by vite-plugin-solid / @solidjs/web /
@solidjs/router server-function integration): fs-routes tree-shake,
manifest.ts, directives, fns serialization/registration/shared and their
specs. Fixes main landed in those files (#2249, #2238, #2243, #2245,
#2241, #2261) live upstream now and are tracked for porting there.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.

[Bug?]: Namespaces are completely stripped out of code

2 participants