-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Conversation
packages/remix/package.json
Outdated
}, | ||
"node": "./build/cjs/index.server.js" | ||
"node": { | ||
"import": "./build/esm/index.server.js", |
There was a problem hiding this comment.
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 🤔
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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).
Vite 6 is more strict with exports. I changed the
exports
section a bit to make it compatible.closes #16120