vite.config.content.ts (40 lines of code) (raw):
import { defineConfig } from 'vite'
import WindiCSS from 'vite-plugin-windicss'
import { sharedConfig } from './vite.config'
import { r, isDev } from './scripts/utils'
import windiConfig from './windi.config'
// bundling the content script using Vite
export default defineConfig({
...sharedConfig,
build: {
watch: isDev
? {
include: [
r('src/contentScripts/**/*'),
r('src/components/**/*'),
],
}
: undefined,
outDir: r('extension/dist/contentScripts'),
cssCodeSplit: false,
emptyOutDir: false,
sourcemap: isDev ? 'inline' : false,
lib: {
entry: r('src/contentScripts/index.ts'),
formats: ['es'],
},
rollupOptions: {
output: {
entryFileNames: 'index.global.js',
},
},
},
plugins: [
...sharedConfig.plugins!,
// https://github.com/antfu/vite-plugin-windicss
WindiCSS({
config: {
...windiConfig,
// disable preflight to avoid css population
preflight: false,
},
}),
],
})