@@ -5,37 +5,77 @@ import { uglify } from "rollup-plugin-uglify";
55import { terser } from "rollup-plugin-terser" ;
66
77function esmConfig ( { elementName, className } = { } ) {
8- const esmFilename = `${ elementName } .js` ;
9-
108 return {
11- input : esmFilename ,
9+ input : ` ${ elementName } .js` ,
1210 output : {
13- file : esmFilename ,
11+ file : ` ${ elementName } .js` ,
1412 format : "esm" ,
1513 sourcemap : true
1614 } ,
17- plugins : [ resolve ( ) , commonjs ( ) , terser ( ) ] ,
15+ plugins : [
16+ resolve ( ) ,
17+ commonjs ( ) ,
18+ // terser()
19+ ] ,
1820 external : id => id . startsWith ( ".." )
1921 } ;
2022}
2123
2224function umdConfig ( { elementName, className } = { } ) {
23- const umdFilename = `${ elementName } .umd.js` ;
24-
2525 return {
26- input : umdFilename ,
26+ input : ` ${ elementName } .umd.js` ,
2727 output : {
28- file : umdFilename ,
28+ file : ` ${ elementName } .umd.js` ,
2929 format : "umd" ,
3030 sourcemap : true ,
3131 name : className
3232 } ,
3333 plugins : [
3434 resolve ( ) ,
3535 commonjs ( ) ,
36- babel ( {
37- // exclude: "node_modules/**" // only transpile our source code
38- } ) ,
36+ babel ( ) ,
37+ // uglify()
38+ ] ,
39+ external : id => id . startsWith ( ".." )
40+ } ;
41+ }
42+
43+ function esmMinify ( { elementName, className } = { } ) {
44+ return {
45+ input : `${ elementName } .js` ,
46+ output : {
47+ file : `${ elementName } .min.js` ,
48+ format : "esm" ,
49+ sourcemap : false
50+ } ,
51+ plugins : [
52+ terser ( {
53+ output : {
54+ comments : function ( node , comment ) {
55+ var text = comment . value ;
56+ var type = comment . type ;
57+ if ( type == "comment2" ) {
58+ // multiline comment
59+ return / @ p r e s e r v e | @ l i c e n s e | @ c c _ o n / i. test ( text ) ;
60+ }
61+ }
62+ }
63+ } )
64+ ] ,
65+ external : id => id . startsWith ( ".." )
66+ } ;
67+ }
68+
69+ function umdMinify ( { elementName, className } = { } ) {
70+ return {
71+ input : `${ elementName } .umd.js` ,
72+ output : {
73+ file : `${ elementName } .umd.min.js` ,
74+ format : "umd" ,
75+ sourcemap : false ,
76+ name : className
77+ } ,
78+ plugins : [
3979 uglify ( )
4080 ] ,
4181 external : id => id . startsWith ( ".." )
@@ -45,6 +85,8 @@ function umdConfig({ elementName, className } = {}) {
4585export default function factory ( { elementName, className } = { } ) {
4686 return [
4787 esmConfig ( { elementName, className } ) ,
48- umdConfig ( { elementName, className } )
88+ umdConfig ( { elementName, className } ) ,
89+ esmMinify ( { elementName, className } ) ,
90+ umdMinify ( { elementName, className } )
4991 ] ;
5092}
0 commit comments