-
Notifications
You must be signed in to change notification settings - Fork 1
/
vite.config.ts
100 lines (98 loc) · 3.18 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
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
import react from '@vitejs/plugin-react';
import { resolve } from 'path';
import postcssPresetEnv from 'postcss-preset-env';
import { defineConfig, loadEnv } from 'vite';
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd());
return {
css: {
modules: {
localsConvention: 'camelCase',
scopeBehaviour: 'local',
generateScopedName: '[name]_[local]_[hash:5]'
},
preprocessorOptions: {
less: {
javascriptEnabled: true
}
},
postcss: {
plugins: [postcssPresetEnv()]
}
},
plugins: [
react({
babel: {
presets: [
[
'@babel/preset-typescript',
{
allowDeclareFields: true,
allowNamespaces: true,
allExtensions: true,
isTSX: true
}
]
],
plugins: [
[
'@babel/plugin-proposal-decorators',
{ version: '2023-05' }
]
]
}
})
],
build: {
lib: {
entry: resolve(__dirname, 'source/index.ts'),
name: 'Idea-React',
fileName: format => `index.${format}.js`
},
rollupOptions: {
external: [
'@editorjs/editorjs',
'@editorjs/paragraph',
'classnames',
'editorjs-html',
'iterable-observer',
'lodash',
'mobx',
'mobx-react',
'prismjs',
'react',
'react-bootstrap',
'react-dom',
'react-editor-js',
'react-element-to-jsx-string',
'web-utility'
],
output: {
globals: {
'@editorjs/editorjs': 'EditorJS',
'@editorjs/paragraph': 'Paragraph',
classnames: 'classNames',
'editorjs-html': 'edjsHTML',
'iterable-observer': 'IterableObserver',
lodash: '_',
mobx: 'mobx',
'mobx-react': 'mobxReact',
prismjs: 'Prism',
react: 'React',
'react-bootstrap': 'ReactBootstrap',
'react-dom': 'ReactDOM',
'react-editor-js': 'createReactEditorJS'
}
}
}
},
server: {
hmr: {
overlay: false
}
},
define: {
__APP_ENV__: env.APP_ENV
}
};
});