Skip to content

Commit a7c1cc0

Browse files
committed
vite: allow passing overrides for vite config
1 parent 28df959 commit a7c1cc0

File tree

4 files changed

+32
-11
lines changed

4 files changed

+32
-11
lines changed

.changeset/modern-schools-tan.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@vanilla-extract/vite-plugin': minor
3+
---
4+
5+
Add `viteConfigOverrides` option

packages/vite-plugin/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
"author": "SEEK",
1717
"license": "MIT",
1818
"dependencies": {
19-
"@vanilla-extract/integration": "workspace:^"
19+
"@vanilla-extract/integration": "workspace:^",
20+
"deepmerge": "^4.3.1"
2021
},
2122
"devDependencies": {
2223
"vite": "^5.0.11"

packages/vite-plugin/src/index.ts

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import {
1818
createCompiler,
1919
normalizePath,
2020
} from '@vanilla-extract/integration';
21+
import deepmerge from 'deepmerge';
2122

2223
const virtualExtCss = '.vanilla.css';
2324

@@ -45,10 +46,12 @@ const removeIncompatiblePlugins = (plugin: PluginOption) =>
4546
interface Options {
4647
identifiers?: IdentifierOption;
4748
unstable_mode?: 'transform' | 'emitCss';
49+
viteConfigOverrides?: Partial<UserConfig>;
4850
}
4951
export function vanillaExtractPlugin({
5052
identifiers,
5153
unstable_mode: mode = 'emitCss',
54+
viteConfigOverrides = {},
5255
}: Options = {}): Plugin {
5356
let config: ResolvedConfig;
5457
let configEnv: ConfigEnv;
@@ -142,12 +145,15 @@ export function vanillaExtractPlugin({
142145
configForViteCompiler = config.inlineConfig;
143146
}
144147

145-
const viteConfig = {
146-
...configForViteCompiler,
147-
plugins: configForViteCompiler?.plugins
148-
?.flat()
149-
.filter(removeIncompatiblePlugins),
150-
};
148+
const viteConfig = deepmerge(
149+
{
150+
...configForViteCompiler,
151+
plugins: configForViteCompiler?.plugins
152+
?.flat()
153+
.filter(removeIncompatiblePlugins),
154+
},
155+
viteConfigOverrides,
156+
);
151157

152158
compiler = createCompiler({
153159
root: config.root,

pnpm-lock.yaml

Lines changed: 13 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)