forked from biggerstar/wedecode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
viterun.config.ts
125 lines (122 loc) · 2.23 KB
/
viterun.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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
import {resolve} from 'node:path';
import {defineViteRunConfig, viteRunLogPlugin, ViteRunHandleFunctionOptions} from "vite-run";
import {cwd} from 'node:process'
import copy from "rollup-plugin-copy";
const external = [
'commander',
'css-tree',
'cheerio',
'cssbeautify',
'escodegen',
'esprima',
'handlebars',
'js-beautify',
'uglify-js',
'vite',
'vite-run',
'vm2',
'node:path',
'node:process',
'node:module',
'node:fs',
'node:crypto',
'picocolors',
'jsdom',
'glob',
'inquirer',
]
export default defineViteRunConfig({
baseConfig: getBaseConfig,
packages: [
'./src/bin/*',
'test'
],
targets: {
'wedecode': {
dev: [
['wedecode', 'watch']
],
build: [
['wedecode'],
],
},
'test': {
dev: [['5000']],
},
},
build: {
umd: {
lib: {
formats: ['umd']
}
},
es: {
lib: {
formats: ['es']
},
},
watch: {
watch: {},
},
minify: {
minify: true
},
wedecode: (options: ViteRunHandleFunctionOptions) => {
return {
lib: {
entry: resolve(options.packagePath, './wedecode.ts'),
formats: ['es'],
name: options.name,
fileName: () => `wedecode.js`,
},
outDir: resolve(cwd(), 'dist'),
rollupOptions: {
watch: {},
external: external
},
}
},
},
server: {
5000: {
port: 5000
}
}
})
function getBaseConfig(options: ViteRunHandleFunctionOptions) {
return {
resolve: {
extensions: [".ts", ".js"],
alias: {
"@": resolve(options.packagePath, 'src'),
types: resolve(options.packagePath, 'src/types')
}
},
build: {
emptyOutDir: false,
minify: false,
rollupOptions: {
output: {
sourcemap: false,
globals: {}
},
treeshake: true
},
},
plugins: [
copy({
targets: [
{ src: 'src/polyfill', dest: 'dist' },
]
}),
viteRunLogPlugin({
// server: {
// viteLog: true,
// viteRunLog: {
// sizeAntOutputPrint:false
// }
// }
}),
]
}
}