1
- const { src, dest, parallel } = require ( 'gulp' ) ;
1
+ const { src, dest, parallel, series } = require ( 'gulp' ) ;
2
2
const through = require ( 'through2' ) ;
3
3
const sass = require ( 'gulp-sass' ) ;
4
4
const concat = require ( 'gulp-concat' ) ;
5
+ const del = require ( 'del' ) ;
6
+ const ts = require ( 'gulp-typescript' ) ;
7
+ const cleanCSS = require ( 'gulp-clean-css' ) ;
8
+ const rename = require ( 'gulp-rename' ) ;
9
+ // const tsProject = ts.createProject('./tsconfig.build.json');
10
+
5
11
function outputStyleTask ( ) {
6
12
return src ( [ 'src/components/**/*.scss' ] )
7
13
. pipe (
@@ -13,8 +19,11 @@ function outputStyleTask() {
13
19
)
14
20
. on ( 'data' , data => {
15
21
convertStyles ( data ) ;
22
+ jsForCss ( data ) ;
23
+ jsForScss ( data ) ;
16
24
} ) ;
17
25
}
26
+
18
27
function convertStyles ( data ) {
19
28
return src ( [ 'src/components/' + String ( data ) + '/*.scss' ] )
20
29
. pipe ( dest ( 'lib/' + String ( data ) + '/style/' ) )
@@ -28,11 +37,27 @@ function globalSass() {
28
37
. pipe ( concat ( 'index.scss' ) )
29
38
. pipe ( dest ( 'lib/style' ) ) ;
30
39
}
31
-
40
+ async function clean ( cb ) {
41
+ await del ( [ 'lib' ] ) ;
42
+ await cb ( ) ;
43
+ }
32
44
function globalCss ( ) {
33
- return src ( 'src/components /**/*.scss' )
45
+ return src ( 'lib /**/*.scss' )
34
46
. pipe ( concat ( 'index.css' ) )
35
47
. pipe ( sass ( ) )
48
+ . on ( 'error' , sass . logError )
49
+ . pipe ( cleanCSS ( { compatibility : 'ie11' } ) )
36
50
. pipe ( dest ( 'lib/style' ) ) ;
37
51
}
38
- exports . default = parallel ( outputStyleTask , globalCss , globalSass ) ;
52
+ function jsForScss ( data ) {
53
+ return src ( 'src/index.tsx' )
54
+ . pipe ( ts ( { declaration : true , target : 'ES5' } ) )
55
+ . pipe ( dest ( 'lib/' + String ( data ) + '/style/' ) ) ;
56
+ }
57
+ function jsForCss ( data ) {
58
+ return src ( 'src/index.tsx' )
59
+ . pipe ( rename ( 'style.tsx' ) )
60
+ . pipe ( ts ( { target : 'ES5' } ) )
61
+ . pipe ( dest ( 'lib/' + String ( data ) + '/style/' ) ) ;
62
+ }
63
+ exports . default = series ( clean , parallel ( outputStyleTask , globalSass ) , globalCss ) ;
0 commit comments