/
vite.config.ts
74 lines (64 loc) · 1.75 KB
/
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/// <reference types="vitest" />
import { resolve } from "path"
import { defineConfig } from "vite"
import { viteStaticCopy } from "vite-plugin-static-copy"
import dts from "vite-plugin-dts"
import minimist from "minimist"
import livereload from "rollup-plugin-livereload"
import { nodePolyfills, PolyfillOptions } from "vite-plugin-node-polyfills"
const args = minimist(process.argv.slice(2))
const isWatch = args.watch || args.w || false
const devDistDir = "./dist"
const distDir = isWatch ? devDistDir : "./dist"
// const distDir = devDistDir
console.log("isWatch=>", isWatch)
console.log("distDir=>", distDir)
export default defineConfig({
plugins: [
dts(),
nodePolyfills({
// Whether to polyfill `node:` protocol imports.
protocolImports: true,
}) as any,
viteStaticCopy({
targets: [
{
src: "README.md",
dest: "./",
},
{
src: "package.json",
dest: "./",
},
],
}),
],
build: {
// 输出路径
outDir: distDir,
emptyOutDir: false,
// 构建后是否生成 source map 文件
sourcemap: false,
lib: {
// Could also be a dictionary or array of multiple entry points
entry: resolve(__dirname, "src/index.ts"),
// the proper extensions will be added
// fileName: "index",
formats: ["es"],
},
rollupOptions: {
plugins: [...(isWatch ? [livereload(devDistDir)] : [])] as any,
// make sure to externalize deps that shouldn't be bundled
// into your library
external: [],
output: {
entryFileNames: "[name].js",
},
},
},
test: {
globals: true,
environment: "jsdom",
include: ["src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
},
})