diff --git a/.changeset/twelve-pans-dress.md b/.changeset/twelve-pans-dress.md new file mode 100644 index 00000000..9a4f4383 --- /dev/null +++ b/.changeset/twelve-pans-dress.md @@ -0,0 +1,5 @@ +--- +'@vanilla-extract/vite-plugin': patch +--- + +Fixes a bug where Vanilla Extract files with extensions other than `css.ts` were not being invalidated during HMR diff --git a/fixtures/features/src/html.ts b/fixtures/features/src/html.ts index 2d81f7bb..340b74a7 100644 --- a/fixtures/features/src/html.ts +++ b/fixtures/features/src/html.ts @@ -10,3 +10,9 @@ export default `
Style composition in selector
Style variants composition in selector
`; + +// @ts-expect-error Vite env not defined +if (import.meta.hot) { + // @ts-expect-error Vite env not defined + import.meta.hot.accept(); +} diff --git a/fixtures/features/src/index.ts b/fixtures/features/src/index.ts index bddb8b10..e647b5e2 100644 --- a/fixtures/features/src/index.ts +++ b/fixtures/features/src/index.ts @@ -5,10 +5,3 @@ function render() { } render(); - -// Uncomment to enable HMR with Vite -// if (import.meta.hot) { -// import.meta.hot.accept('./features.css', () => { -// render(); -// }); -// } diff --git a/packages/vite-plugin/src/index.ts b/packages/vite-plugin/src/index.ts index 54fbb7bd..ec3e193e 100644 --- a/packages/vite-plugin/src/index.ts +++ b/packages/vite-plugin/src/index.ts @@ -214,7 +214,7 @@ export function vanillaExtractPlugin({ // We have to invalidate the virtual module & deps, not the real one we just transformed // The deps have to be invalidated in case one of them changing was the trigger causing // the current transformation - if (file.endsWith('.css.ts')) { + if (cssFileFilter.test(file)) { invalidateModule(fileIdToVirtualId(file)); } }