Initial commit
This commit is contained in:
52
chrome-extension/vite.config.mts
Normal file
52
chrome-extension/vite.config.mts
Normal file
@@ -0,0 +1,52 @@
|
||||
import { resolve } from 'node:path';
|
||||
import { defineConfig, type PluginOption } from 'vite';
|
||||
import libAssetsPlugin from '@laynezh/vite-plugin-lib-assets';
|
||||
import makeManifestPlugin from './utils/plugins/make-manifest-plugin.js';
|
||||
import { watchPublicPlugin, watchRebuildPlugin } from '@extension/hmr';
|
||||
import { watchOption } from '@extension/vite-config';
|
||||
import env, { IS_DEV, IS_PROD } from '@extension/env';
|
||||
import { nodePolyfills } from 'vite-plugin-node-polyfills';
|
||||
|
||||
const rootDir = resolve(import.meta.dirname);
|
||||
const srcDir = resolve(rootDir, 'src');
|
||||
|
||||
const outDir = resolve(rootDir, '..', 'dist');
|
||||
export default defineConfig({
|
||||
define: {
|
||||
'process.env': env,
|
||||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
'@root': rootDir,
|
||||
'@src': srcDir,
|
||||
'@assets': resolve(srcDir, 'assets'),
|
||||
},
|
||||
},
|
||||
plugins: [
|
||||
libAssetsPlugin({
|
||||
outputPath: outDir,
|
||||
}) as PluginOption,
|
||||
watchPublicPlugin(),
|
||||
makeManifestPlugin({ outDir }),
|
||||
IS_DEV && watchRebuildPlugin({ reload: true, id: 'chrome-extension-hmr' }),
|
||||
nodePolyfills(),
|
||||
],
|
||||
publicDir: resolve(rootDir, 'public'),
|
||||
build: {
|
||||
lib: {
|
||||
name: 'BackgroundScript',
|
||||
fileName: 'background',
|
||||
formats: ['es'],
|
||||
entry: resolve(srcDir, 'background', 'index.ts'),
|
||||
},
|
||||
outDir,
|
||||
emptyOutDir: false,
|
||||
sourcemap: IS_DEV,
|
||||
minify: IS_PROD,
|
||||
reportCompressedSize: IS_PROD,
|
||||
watch: watchOption,
|
||||
rollupOptions: {
|
||||
external: ['chrome'],
|
||||
},
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user