@@ -4,47 +4,61 @@ import common from '@rollup/plugin-commonjs';
44import terser from '@rollup/plugin-terser' ;
55import generatePackageJson from 'rollup-plugin-generate-package-json' ;
66
7- export default {
8- /* Specify main file for EdgeWorker */
7+ const getSharedConfig = ( format , file ) => ( {
98 input : 'src/index.ts' ,
10-
11- /* Define output format as an esm module and cjs module and specify the output directory */
12- output : [ {
13- format : 'es' ,
14- sourcemap : true ,
15- file : 'dist/esm/bundle.es.js' ,
16- intro : 'var setInterval = () => {}; var setTimeout = () => (callback) => { callback(); };' ,
17- } ,
18- {
19- format : 'cjs' ,
20- sourcemap : true ,
21- file : 'dist/cjs/bundle.cjs.js' ,
22- intro : 'var setInterval = () => {}; var setTimeout = () => (callback) => { callback(); };' ,
23- }
24- ] ,
25-
26- /* Bundle all modules into a single output module */
27- preserveModules : false ,
28- external : [ 'text-encode-transform' , 'streams' , 'http-request' , 'edgekv_tokens.js' , 'crypto' ] ,
29-
30- plugins : [
31- /* Each build output folder cjs and esm needs a package.json */
32- generatePackageJson ( {
33- baseContents : ( pkg ) => ( { ...pkg } ) ,
34- } ) ,
35-
36- typescript ( ) ,
37-
38- common ( {
39- transformMixedEsModules : true ,
40- esmExternals : true ,
41- } ) ,
42- resolve ( ) ,
43- terser ( ) ,
9+ output : [
10+ {
11+ format : format ,
12+ sourcemap : true ,
13+ file : file ,
14+ intro : 'var setInterval = () => {}; var setTimeout = () => (callback) => { callback(); };' ,
15+ } ,
4416 ] ,
17+ preserveModules : false ,
18+ external : [ 'text-encode-transform' , 'streams' , 'http-request' , 'crypto' , 'edgekv_tokens.js' ] ,
4519 onwarn : ( warning ) => {
4620 if ( warning . code !== 'CIRCULAR_DEPENDENCY' ) {
4721 console . error ( `(!) ${ warning . message } ` ) ;
4822 }
4923 } ,
50- } ;
24+ } ) ;
25+
26+ export default [
27+ {
28+ ...getSharedConfig ( 'es' , 'dist/esm/bundle.es.js' ) ,
29+ plugins : [
30+ generatePackageJson ( {
31+ baseContents : ( pkg ) => ( {
32+ name : pkg . name ,
33+ version : pkg . version ,
34+ type : 'module' ,
35+ } ) ,
36+ } ) ,
37+ typescript ( {
38+ module : 'esnext' ,
39+ } ) ,
40+ common ( {
41+ transformMixedEsModules : true ,
42+ esmExternals : true ,
43+ } ) ,
44+ resolve ( ) ,
45+ terser ( ) ,
46+ ] ,
47+ } ,
48+ {
49+ ...getSharedConfig ( 'cjs' , 'dist/cjs/bundle.cjs.js' ) ,
50+ plugins : [
51+ generatePackageJson ( {
52+ baseContents : ( pkg ) => ( {
53+ name : pkg . name ,
54+ version : pkg . version ,
55+ type : 'commonjs' ,
56+ } ) ,
57+ } ) ,
58+ typescript ( ) ,
59+ common ( ) ,
60+ resolve ( ) ,
61+ terser ( ) ,
62+ ] ,
63+ } ,
64+ ] ;
0 commit comments