Svelte v5 with no `emitCss` specified throws error for missing `.css` file
nolanlawson opened this issue · 1 comments
nolanlawson commented
If you don't define emitCss in the config passed to rollup-plugin-svelte, and you're using svelte@5.0.0-next.1, and your component is missing a .css file, then an error is thrown:
[!] (plugin svelte) TypeError: Cannot read properties of null (reading 'code')
Hello.svelte
at Object.transform (/workspace/rollup-demo/node_modules/rollup-plugin-svelte/index.js:154:32)
at /workspace/rollup-demo/node_modules/rollup/dist/shared/rollup.js:1008:40
The error is thrown from this line:
Line 154 in ed67842
This same error does not occur with Svelte v4.
Here is a minimal repro.
You can repro by doing:
git clone https://gist.github.com/nolanlawson/91dac64f8f50aa9d61bb23e23d077ddf repro
cd repro
npm install --legacy-peer-deps
npx rollup -cNode and npm versions:
$ node --version
v20.9.0
$ npm --version
9.9.1
As a workaround, you can set emitCss: false in the config.
gka commented
I noticed that when setting emitCss: false in the config, the styles won't get injected at all, so I don't think the workaround is really working.