1- import commonjs from "@rollup/plugin-commonjs"
2- import resolve from "@rollup/plugin-node-resolve"
31import sucrase from "@rollup/plugin-sucrase"
42import { terser } from "rollup-plugin-terser"
53
@@ -10,22 +8,31 @@ const name = pkg.name
108 . replace ( / ^ \w / , ( m ) => m . toUpperCase ( ) )
119 . replace ( / - \w / g, ( m ) => m [ 1 ] . toUpperCase ( ) )
1210
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+ )
1323const config = ( ) => ( {
1424 input : "src/index.ts" ,
1525 output : [
1626 { file : pkg . module , format : "es" , name } ,
17- { file : pkg . main , format : "umd" , name } ,
27+ { file : pkg . main , format : "umd" , name, globals : packageDependenciesGlobals } ,
1828 ] ,
29+ external : packageDependencies ,
1930 plugins : [
2031 sucrase ( {
2132 exclude : [ "dist/*" ] ,
2233 include : [ "src/*" ] ,
2334 transforms : [ "typescript" ] ,
2435 } ) ,
25- commonjs ( { } ) ,
26- resolve ( {
27- extensions : [ ".mjs" , ".js" , ".json" , ".node" , ".ts" ] ,
28- } ) ,
2936 terser ( ) ,
3037 ] ,
3138} )
0 commit comments