-
Notifications
You must be signed in to change notification settings - Fork 0
/
vite.config.js
40 lines (38 loc) · 1.18 KB
/
vite.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import { defineConfig, loadEnv } from "vite";
import { svelte } from "@sveltejs/vite-plugin-svelte";
import webExtension from "@samrum/vite-plugin-web-extension";
import { getManifest } from "./src/manifest.js";
// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
const browser = process.env.TARGET_BROWSER
if (browser !== "chrome"
&& browser !== "firefox"
) {console.error("provide a valid TARGET_BROWSER environment variable."); process.exit(1)};
const manifest_version = browser === 'firefox' ? 2 : 3
return {
plugins: [
svelte(),
webExtension({
manifest: getManifest(manifest_version),
}),
],
resolve: {
alias: {
"~": new URL("./src", import.meta.url).pathname,
},
},
build: {
sourcemap: mode === "development",
outDir: `dist-${browser}`,
rollupOptions: {
output: {
// this is basically the default, except w/o hashes, so we don't have
// to reload the manifest on the browser
entryFileNames: `assets/[name].js`,
chunkFileNames: `assets/[name].js`,
assetFileNames: `assets/[name].[ext]`
}
}
}
};
});