Skip to content

fix(remix): Add ESM-compatible exports #16124

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Apr 25, 2025
Merged

fix(remix): Add ESM-compatible exports #16124

merged 5 commits into from
Apr 25, 2025

Conversation

s1gr1d
Copy link
Member

@s1gr1d s1gr1d commented Apr 24, 2025

Vite 6 is more strict with exports. I changed the exports section a bit to make it compatible.

closes #16120

@s1gr1d s1gr1d requested review from Lms24 and AbhiPrasad April 24, 2025 09:31
},
"node": "./build/cjs/index.server.js"
"node": {
"import": "./build/esm/index.server.js",
Copy link
Member

Choose a reason for hiding this comment

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

wondering if this import entry here is the reason for the failing tests 🤔

Copy link
Member Author

Choose a reason for hiding this comment

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

Why do you think that? I am not sure myself - it should theoretically work like this and all our other Meta-Framework packages handle the exports like this.

Copy link
Member

@Lms24 Lms24 Apr 24, 2025

Choose a reason for hiding this comment

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

just because in SvelteKit we still use node: "./build/cjs/index.server.js" and it's still compatible with vite 6. So we don't point to the actual ESM code but to CJS (kit isn't the best example in terms of instrumentation compatibility but I'm not sure if remix is any better tbh)

ReferenceError: module is not defined in ES module scope

this suggested to me that we're using the wrong entry point somewhere, so I compared it to svetelkit. But not sure tbh, this could be a completely wrong idea too

Copy link
Collaborator

Choose a reason for hiding this comment

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

What seems to work is to set a new "worker" entry, and point it to our cloudflare build entries (similar to SvelteKit SDK).

@s1gr1d s1gr1d enabled auto-merge (squash) April 25, 2025 12:25
@s1gr1d s1gr1d merged commit abdb73e into develop Apr 25, 2025
157 checks passed
@s1gr1d s1gr1d deleted the sig/esm-exports-remix branch April 25, 2025 12:26
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.

Hydrogen 2025.1.3 / @sentry/remix build failing
3 participants