@@ -15,15 +15,27 @@ task('clean', (done) => {
1515 done ( ) ;
1616} ) ;
1717
18- task ( 'ts-compile' , ( ) => {
18+ function compileTs ( modules = false ) {
1919 return src ( [ 'src/**/*.{ts,tsx}' , '!src/**/__stories__/**/*.{ts,tsx}' ] )
2020 . pipe ( replace ( / i m p o r t ' .+ \. s c s s ' ; / g, ( match ) => match . replace ( '.scss' , '.css' ) ) )
2121 . pipe (
2222 babel ( {
23- presets : [ '@babel/preset-env' , '@babel/preset-react' , '@babel/preset-typescript' ] ,
23+ presets : [
24+ [ '@babel/preset-env' , { modules : modules ? false : 'cjs' } ] ,
25+ '@babel/preset-react' ,
26+ '@babel/preset-typescript' ,
27+ ] ,
2428 } ) ,
2529 )
26- . pipe ( dest ( path . resolve ( BUILD_DIR ) ) ) ;
30+ . pipe ( dest ( path . resolve ( BUILD_DIR , modules ? 'esm' : 'cjs' ) ) ) ;
31+ }
32+
33+ task ( 'ts-compile-esm' , ( ) => {
34+ return compileTs ( true ) ;
35+ } ) ;
36+
37+ task ( 'ts-compile-cjs' , ( ) => {
38+ return compileTs ( ) ;
2739} ) ;
2840
2941task ( 'ts-declaration' , ( ) => {
@@ -35,19 +47,30 @@ task('ts-declaration', () => {
3547
3648 return src ( [ 'src/**/*.{ts,tsx}' , '!src/**/__stories__/**/*.{ts,tsx}' ] )
3749 . pipe ( tsProject ( ) )
38- . pipe ( dest ( path . resolve ( BUILD_DIR ) ) ) ;
50+ . pipe ( dest ( path . resolve ( BUILD_DIR , 'esm' ) ) )
51+ . pipe ( dest ( path . resolve ( BUILD_DIR , 'cjs' ) ) ) ;
3952} ) ;
4053
4154task ( 'i18n' , ( ) => {
42- return src ( 'src/**/i18n/*.json' ) . pipe ( dest ( path . resolve ( BUILD_DIR ) ) ) ;
55+ return src ( 'src/**/i18n/*.json' )
56+ . pipe ( dest ( path . resolve ( BUILD_DIR , 'esm' ) ) )
57+ . pipe ( dest ( path . resolve ( BUILD_DIR , 'cjs' ) ) ) ;
4358} ) ;
4459
4560task ( 'styles' , ( ) => {
4661 return src ( [ 'src/**/*.scss' , '!src/**/__stories__/**/*.scss' ] )
4762 . pipe ( sass ( ) . on ( 'error' , sass . logError ) )
48- . pipe ( dest ( path . resolve ( BUILD_DIR ) ) ) ;
63+ . pipe ( dest ( path . resolve ( BUILD_DIR , 'esm' ) ) )
64+ . pipe ( dest ( path . resolve ( BUILD_DIR , 'cjs' ) ) ) ;
4965} ) ;
5066
51- task ( 'build' , series ( [ 'clean' , parallel ( [ 'ts-compile' , 'ts-declaration' , 'i18n' ] ) , 'styles' ] ) ) ;
67+ task (
68+ 'build' ,
69+ series ( [
70+ 'clean' ,
71+ parallel ( [ 'ts-compile-cjs' , 'ts-compile-esm' , 'ts-declaration' , 'i18n' ] ) ,
72+ 'styles' ,
73+ ] ) ,
74+ ) ;
5275
5376task ( 'default' , series ( [ 'build' ] ) ) ;
0 commit comments