18
18
import strip from '@rollup/plugin-strip' ;
19
19
import typescriptPlugin from 'rollup-plugin-typescript2' ;
20
20
import json from '@rollup/plugin-json' ;
21
+ import replace from 'rollup-plugin-replace' ;
21
22
import typescript from 'typescript' ;
22
23
import alias from '@rollup/plugin-alias' ;
24
+ import { generateBuildTargetReplaceConfig } from '../../scripts/build/rollup_replace_build_target' ;
23
25
import pkg from './package.json' ;
24
26
25
27
const deps = Object . keys ( Object . assign ( { } , pkg . peerDependencies , pkg . dependencies ) ) ;
@@ -30,14 +32,14 @@ const deps = Object.keys(Object.assign({}, pkg.peerDependencies, pkg.dependencie
30
32
* more info. This regex tests explicitly ./src/platform_browser so that the
31
33
* only impacted file is the main index.ts
32
34
*/
33
- const nodeAliasPlugin = alias ( {
35
+ const nodeAliasPlugin = alias ( {
34
36
entries : [
35
- {
36
- find : / ^ \. \/ s r c \/ p l a t f o r m _ b r o w s e r ( \/ .* ) ? $ / ,
37
- replacement : `./src/platform_node`
38
- }
37
+ {
38
+ find : / ^ \. \/ s r c \/ p l a t f o r m _ b r o w s e r ( \/ .* ) ? $ / ,
39
+ replacement : `./src/platform_node`
40
+ }
39
41
]
40
- } ) ;
42
+ } ) ;
41
43
/**
42
44
* ES5 Builds
43
45
*/
@@ -60,8 +62,8 @@ const es5Builds = [
60
62
index : 'index.ts' ,
61
63
internal : 'internal/index.ts'
62
64
} ,
63
- output : [ { dir : 'dist/esm5' , format : 'esm ' , sourcemap : true } ] ,
64
- plugins : es5BuildPlugins ,
65
+ output : [ { dir : 'dist/esm5' , format : 'es ' , sourcemap : true } ] ,
66
+ plugins : [ ... es5BuildPlugins , replace ( generateBuildTargetReplaceConfig ( 'esm' , 5 ) ) ] ,
65
67
external : id => deps . some ( dep => id === dep || id . startsWith ( `${ dep } /` ) )
66
68
} ,
67
69
/**
@@ -86,7 +88,8 @@ const es5Builds = [
86
88
]
87
89
}
88
90
89
- } )
91
+ } ) ,
92
+ replace ( generateBuildTargetReplaceConfig ( 'esm' , 5 ) )
90
93
] ,
91
94
external : id => deps . some ( dep => id === dep || id . startsWith ( `${ dep } /` ) )
92
95
} ,
@@ -99,7 +102,11 @@ const es5Builds = [
99
102
internal : 'internal/index.ts'
100
103
} ,
101
104
output : [ { dir : 'dist/node' , format : 'cjs' , sourcemap : true } ] ,
102
- plugins : [ nodeAliasPlugin , ...es5BuildPlugins ] ,
105
+ plugins : [
106
+ nodeAliasPlugin ,
107
+ ...es5BuildPlugins ,
108
+ replace ( generateBuildTargetReplaceConfig ( 'cjs' , 5 ) )
109
+ ] ,
103
110
external : id => deps . some ( dep => id === dep || id . startsWith ( `${ dep } /` ) )
104
111
} ,
105
112
/**
@@ -111,7 +118,10 @@ const es5Builds = [
111
118
internal : 'internal/index.ts'
112
119
} ,
113
120
output : [ { dir : 'dist/cordova' , format : 'es' , sourcemap : true } ] ,
114
- plugins : es5BuildPlugins ,
121
+ plugins : [
122
+ ...es5BuildPlugins ,
123
+ replace ( generateBuildTargetReplaceConfig ( 'esm' , 5 ) )
124
+ ] ,
115
125
external : id =>
116
126
[ ...deps , 'cordova' ] . some ( dep => id === dep || id . startsWith ( `${ dep } /` ) )
117
127
} ,
@@ -124,7 +134,10 @@ const es5Builds = [
124
134
internal : 'internal/index.ts'
125
135
} ,
126
136
output : [ { dir : 'dist/rn' , format : 'cjs' , sourcemap : true } ] ,
127
- plugins : es5BuildPlugins ,
137
+ plugins : [
138
+ ...es5BuildPlugins ,
139
+ replace ( generateBuildTargetReplaceConfig ( 'cjs' , 5 ) )
140
+ ] ,
128
141
external : id =>
129
142
[ ...deps , 'react-native' ] . some (
130
143
dep => id === dep || id . startsWith ( `${ dep } /` )
@@ -164,7 +177,10 @@ const es2017Builds = [
164
177
format : 'es' ,
165
178
sourcemap : true
166
179
} ,
167
- plugins : es2017BuildPlugins ,
180
+ plugins : [
181
+ ...es2017BuildPlugins ,
182
+ replace ( generateBuildTargetReplaceConfig ( 'esm' , 2017 ) )
183
+ ] ,
168
184
external : id => deps . some ( dep => id === dep || id . startsWith ( `${ dep } /` ) )
169
185
}
170
186
] ;
0 commit comments