-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Vite: Pass remixUserConfig
to preset config hook
#8797
Vite: Pass remixUserConfig
to preset config hook
#8797
Conversation
🦋 Changeset detectedLatest commit: e49565e The changes in this PR will be included in the next version bump. This PR includes changesets to release 16 packages
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 |
@@ -527,6 +529,9 @@ let deepFreeze = (o: any) => { | |||
|
|||
export type RemixVitePlugin = (config?: VitePluginConfig) => Vite.Plugin[]; | |||
export const remixVitePlugin: RemixVitePlugin = (remixUserConfig = {}) => { | |||
// Prevent mutations to the user config | |||
remixUserConfig = deepFreeze(remixUserConfig); |
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.
I figured it's safest to freeze the user config up front rather than delaying it.
@@ -46,16 +77,20 @@ const files = { | |||
}), | |||
}, | |||
|
|||
// Ensure remixConfig is called with a frozen Remix user config |
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.
It's a good thing we had a test for a frozen resolved config object. It prompted me to add this behaviour here too.
🤖 Hello there, We just published version Thanks! |
🤖 Hello there, We just published version Thanks! |
This change allows presets to configure Remix differently based on the user config.
The use case driving this change is to allow Vercel to avoid setting
serverBundles
when consumers have enabled SPA mode, otherwise Vercel preset consumers get the following warning and there's no way to avoid it: