1
- import commonjs from "@rollup/plugin-commonjs"
2
- import resolve from "@rollup/plugin-node-resolve"
3
1
import sucrase from "@rollup/plugin-sucrase"
4
2
import { terser } from "rollup-plugin-terser"
5
3
@@ -10,22 +8,31 @@ const name = pkg.name
10
8
. replace ( / ^ \w / , ( m ) => m . toUpperCase ( ) )
11
9
. replace ( / - \w / g, ( m ) => m [ 1 ] . toUpperCase ( ) )
12
10
11
+ const packageDependencies = [ ...Object . keys ( pkg . dependencies ) , "sjcl-codec-hex/from-bits" , "sjcl-codec-hex/to-bits" ]
12
+ const packageDependenciesGlobals = Object . fromEntries (
13
+ packageDependencies . map ( ( name ) => {
14
+ return [
15
+ name ,
16
+ name
17
+ . replace ( / ^ ( @ \S + \/ ) / , "" ) // Remove package scope
18
+ . replace ( / [ ^ a - z 0 - 9 ] ( [ a - z 0 - 9 ] ) / gi, ( _ , arg ) => arg . toUpperCase ( ) ) // Replace '-', '_' and '/'
19
+ . replace ( / [ ^ a - z 0 - 9 ] / gi, "" ) , // Remove anything that is not a letter or number
20
+ ]
21
+ } )
22
+ )
13
23
const config = ( ) => ( {
14
24
input : "src/index.ts" ,
15
25
output : [
16
26
{ file : pkg . module , format : "es" , name } ,
17
- { file : pkg . main , format : "umd" , name } ,
27
+ { file : pkg . main , format : "umd" , name, globals : packageDependenciesGlobals } ,
18
28
] ,
29
+ external : packageDependencies ,
19
30
plugins : [
20
31
sucrase ( {
21
32
exclude : [ "dist/*" ] ,
22
33
include : [ "src/*" ] ,
23
34
transforms : [ "typescript" ] ,
24
35
} ) ,
25
- commonjs ( { } ) ,
26
- resolve ( {
27
- extensions : [ ".mjs" , ".js" , ".json" , ".node" , ".ts" ] ,
28
- } ) ,
29
36
terser ( ) ,
30
37
] ,
31
38
} )
0 commit comments