-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrollup.config.js
62 lines (56 loc) · 1.53 KB
/
rollup.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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import fs from 'node:fs/promises'
import { defineConfig } from 'rollup'
import { babel } from '@rollup/plugin-babel'
import commonjs from '@rollup/plugin-commonjs'
import replace from '@rollup/plugin-replace'
import { nodeResolve } from '@rollup/plugin-node-resolve'
import scss from 'rollup-plugin-scss'
import terser from '@rollup/plugin-terser'
import typescript from '@rollup/plugin-typescript'
import virtual from '@rollup/plugin-virtual'
import { virtualModules } from 'rollup-plugin-typora'
const { compilerOptions } = JSON.parse(await fs.readFile('./tsconfig.json', 'utf8'))
const overrided = {
"target": "ES5",
"downlevelIteration": true,
"module": undefined,
"emitDeclarationOnly": undefined,
"declaration": undefined,
"declarationDir": undefined,
}
await fs.rm('./dist', { recursive: true, force: true })
await fs.mkdir('./dist')
export default defineConfig({
input: 'src/main.ts',
output: {
file: 'dist/main.js',
format: 'es',
},
plugins: [
replace({
preventAssignment: true,
'process.env.IS_DEV': 'false',
}),
virtual(virtualModules),
nodeResolve(),
commonjs(),
typescript({
compilerOptions: {
...compilerOptions,
...overrided,
},
}),
babel({
babelHelpers: 'bundled',
presets: [["@babel/preset-env", { "useBuiltIns": "entry", "corejs": 3 }]],
exclude: [
/\bcore-js\b/,
],
}),
scss({
fileName: 'style.css',
processor: (css, map) => ({ css: css.replace(/\n+\s*/g, '') }),
}),
terser(),
],
})