@@ -6,60 +6,65 @@ import dts from 'vite-plugin-dts';
6
6
import { visualizer } from 'rollup-plugin-visualizer' ;
7
7
8
8
// https://vitejs.dev/config/
9
- export default defineConfig ( ( { mode } ) => ( {
10
- resolve : {
11
- alias : {
12
- '@' : path . resolve ( __dirname , 'src' ) ,
9
+ export default defineConfig ( ( { mode } ) => {
10
+ const isAnalyze = mode === 'analyze' ;
11
+ return {
12
+ resolve : {
13
+ alias : {
14
+ '@' : path . resolve ( __dirname , 'src' ) ,
15
+ } ,
13
16
} ,
14
- } ,
15
- build : {
16
- lib : {
17
- entry : path . resolve ( __dirname , 'src/index.ts' ) ,
18
- name : '@kamo88-dialog' ,
19
- fileName : 'index' ,
20
- formats : [ 'es' , 'umd' ] ,
17
+ define : {
18
+ 'process.env.NODE_ENV' : JSON . stringify ( isAnalyze ? 'production' : mode ) ,
21
19
} ,
22
- rollupOptions : {
23
- external : [ 'react' , 'react/jsx-runtime' , 'react-dom' ] ,
24
- output : {
25
- globals : {
26
- react : 'React' ,
27
- 'react-dom' : 'ReactDOM' ,
28
- 'react/jsx-runtime' : 'ReactJsxRuntime' ,
20
+ build : {
21
+ lib : {
22
+ entry : path . resolve ( __dirname , 'src/index.ts' ) ,
23
+ name : 'Kamo88Dialog' , // When you build with umd, it is set in the window with this variable name.
24
+ fileName : 'index' ,
25
+ formats : [ 'es' , 'umd' ] ,
26
+ } ,
27
+ rollupOptions : {
28
+ external : [ 'react' , 'react-dom' ] ,
29
+ output : {
30
+ globals : {
31
+ react : 'React' ,
32
+ 'react-dom' : 'ReactDOM' ,
33
+ } ,
29
34
} ,
30
35
} ,
31
36
} ,
32
- } ,
33
- plugins : [
34
- react ( ) ,
35
- tsconfigPaths ( ) ,
36
- dts ( {
37
- pathsToAliases : true ,
38
- exclude : [
39
- path . resolve ( __dirname , 'src/**/*.test.*' ) ,
40
- path . resolve ( __dirname , 'src/**/*.stories.*' ) ,
41
- path . resolve ( __dirname , 'src/**/*.example.*' ) ,
42
- path . resolve ( __dirname , 'src/components/Dialog/DialogContainer.tsx' ) ,
43
- ] ,
44
- include : [
45
- path . resolve ( __dirname , 'src/index.ts' ) ,
46
- path . resolve ( __dirname , 'src/components/Dialog' ) ,
47
- ] ,
48
- outDir : path . resolve ( __dirname , 'dist/types' ) ,
49
- } ) ,
50
- mode === 'analyze' &&
51
- visualizer ( {
52
- open : true ,
53
- filename : 'analyze/stats.html' ,
54
- gzipSize : true ,
55
- brotliSize : true ,
37
+ plugins : [
38
+ react ( ) ,
39
+ tsconfigPaths ( ) ,
40
+ dts ( {
41
+ pathsToAliases : true ,
42
+ exclude : [
43
+ path . resolve ( __dirname , 'src/**/*.test.*' ) ,
44
+ path . resolve ( __dirname , 'src/**/*.stories.*' ) ,
45
+ path . resolve ( __dirname , 'src/**/*.example.*' ) ,
46
+ path . resolve ( __dirname , 'src/components/Dialog/DialogContainer.tsx' ) ,
47
+ ] ,
48
+ include : [
49
+ path . resolve ( __dirname , 'src/index.ts' ) ,
50
+ path . resolve ( __dirname , 'src/components/Dialog' ) ,
51
+ ] ,
52
+ outDir : path . resolve ( __dirname , 'dist/types' ) ,
56
53
} ) ,
57
- ] ,
58
- test : {
59
- environment : 'jsdom' ,
60
- coverage : {
61
- exclude : [ 'src/**/*.example.*' ] ,
62
- include : [ 'src/components/Dialog' , 'src/utils/noop.ts' ] ,
54
+ isAnalyze &&
55
+ visualizer ( {
56
+ open : true ,
57
+ filename : 'analyze/stats.html' ,
58
+ gzipSize : true ,
59
+ brotliSize : true ,
60
+ } ) ,
61
+ ] ,
62
+ test : {
63
+ environment : 'jsdom' ,
64
+ coverage : {
65
+ exclude : [ 'src/**/*.example.*' ] ,
66
+ include : [ 'src/components/Dialog' , 'src/utils/noop.ts' ] ,
67
+ } ,
63
68
} ,
64
- } ,
65
- } ) ) ;
69
+ } ;
70
+ } ) ;
0 commit comments