-
Notifications
You must be signed in to change notification settings - Fork 0
/
vite.config.ts
35 lines (30 loc) · 859 Bytes
/
vite.config.ts
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
import path from 'path'
import { defineConfig, UserConfig } from 'vite'
import eslintPlugin from '@nabla/vite-plugin-eslint'
// import eslint from 'vite-plugin-eslint';
import webExtension, { readJsonFile } from 'vite-plugin-web-extension'
const root = (...paths: string[]) => path.resolve(__dirname, ...paths)
function generateManifest() {
const manifest = readJsonFile('./public/manifest.json')
const pkg = readJsonFile('./package.json')
return {
name: pkg.name,
description: pkg.description,
version: pkg.version,
...manifest,
}
}
const userConfig: UserConfig = {
plugins: [
eslintPlugin(),
webExtension({
manifest: generateManifest,
watchFilePaths: ['package.json', 'manifest.json'],
}),
],
build: {
outDir: root('dist'),
emptyOutDir: true,
},
}
export default defineConfig(userConfig)