Small plugin that enables the use of tc39/proposal-import-attributes for css files in vite.
Any imported .css file that uses the with/assert syntax will be imported as a CSSStyleSheet
.
This plugin only covers .css imports and nothing else.
npm i vite-plugin-import-css-sheet --save-dev
pnpm add -D vite-plugin-import-css-sheet
import { defineConfig } from 'vite';
import { viteImportCssSheet } from 'vite-plugin-import-css-sheet';
export default defineConfig({
plugins: [
viteImportCssSheet(),
],
});
For typings to work correctly, in your tsconfig.json file add the following:
{
"compilerOptions": {
"types": [
"vite-plugin-import-css-sheet/client"
]
},
}
This adds the correct type to .css file imports.
If you also use vite/client typings, vite-plugin-import-css-sheet/client
must be below it.
New correct syntax.
import style from './button.css' with { type: 'css' };
Also works with the previous assert syntax.
import style from './button.css' assert { type: 'css' };