1
1
const gulp = require ( 'gulp' ) ;
2
2
const del = require ( 'del' ) ;
3
3
const webpack = require ( 'webpack-stream' ) ;
4
- const sequence = require ( 'run-sequence' ) ;
5
- const tsb = require ( 'gulp-tsb ' ) ;
4
+ const sequence = require ( 'gulp4- run-sequence' ) ;
5
+ var ts = require ( 'gulp-typescript ' ) ;
6
6
const chalk = require ( 'chalk' ) ;
7
7
const minify = require ( 'gulp-minify' ) ;
8
8
const run = require ( 'gulp-run' ) ;
9
+ const sourcemaps = require ( 'gulp-sourcemaps' ) ;
9
10
10
11
let buildDone = false ;
11
12
12
13
const paths = {
13
- src : [ 'src/**' , 'test/**' , './*.ts' , 'node_modules/@types/**/* .d.ts'] ,
14
+ src : [ 'src/*ts *' , './ts-react-json-table .d.ts' ] ,
14
15
out : './dist' ,
15
16
test : './dist/test/**/*.js' ,
16
17
webpack : './build/' ,
17
18
webpackEntry : './dist/grid.js' ,
18
19
webpackName : 'ts-react-json-table.js'
19
20
} ;
20
21
21
- function handleBuildError ( error ) {
22
- console . log ( chalk . red ( error . toString ( ) ) ) ;
23
- buildDone = false ;
24
- }
25
-
26
- function createCompilation ( ) {
27
- return tsb . create ( 'tsconfig.json' , false , null , function ( error ) { handleBuildError ( error ) } ) ;
28
- //return tsb.create(tsconfig.compilerOptions, false, null, function(error){handleBuildError(error)});
29
- }
22
+ let tsProject = ts . createProject ( 'tsconfig.json' ) ;
30
23
31
24
function logBuildResult ( ) {
32
25
console . log ( buildDone ? chalk . green ( 'Build succeeded.' ) : chalk . red ( 'Build failed.' ) ) ;
@@ -35,10 +28,11 @@ function logBuildResult(){
35
28
gulp . task ( 'build' , function ( ) {
36
29
console . log ( chalk . blue ( 'Typescript compile.' ) ) ;
37
30
buildDone = true ;
38
- return gulp . src ( paths . src , { base : '.' } )
39
- . pipe ( createCompilation ( ) ( ) )
40
- // .pipe(compilation())
41
- . pipe ( gulp . dest ( paths . out ) ) ;
31
+ return gulp . src ( paths . src )
32
+ . pipe ( tsProject ( ) )
33
+ . pipe ( sourcemaps . init ( ) )
34
+ . pipe ( sourcemaps . write ( '.' ) )
35
+ . pipe ( gulp . dest ( paths . out ) ) ;
42
36
} ) ;
43
37
44
38
gulp . task ( 'clean' , function ( ) {
@@ -51,7 +45,7 @@ gulp.task('clean_webpack', function() {
51
45
return del ( [ paths . webpack + '/**/*' ] ) ;
52
46
} ) ;
53
47
54
- gulp . task ( 'webpack' , [ 'clean_webpack' , 'build' ] , function ( ) {
48
+ gulp . task ( 'webpack' , gulp . series ( 'clean_webpack' , 'build' , function ( ) {
55
49
logBuildResult ( ) ;
56
50
if ( ! buildDone ) { return ; }
57
51
console . log ( chalk . blue ( 'Creating webpack in' , paths . webpack ) ) ;
@@ -63,11 +57,6 @@ gulp.task('webpack', ['clean_webpack', 'build'], function() {
63
57
library : 'JsonTable' ,
64
58
//libraryExport: 'JsonTable',
65
59
} ,
66
- module : {
67
- rules : [
68
- { test : / \. j s $ / , loader : "source-map-loader" }
69
- ] ,
70
- } ,
71
60
externals : {
72
61
react : {
73
62
commonjs : null ,
@@ -76,20 +65,23 @@ gulp.task('webpack', ['clean_webpack', 'build'], function() {
76
65
root : 'React'
77
66
}
78
67
} ,
68
+ optimization : {
69
+ minimize : false
70
+ } ,
79
71
devtool : "#source-map"
80
72
} ) )
81
73
. pipe ( gulp . dest ( paths . webpack ) ) ;
82
- } ) ;
74
+ } ) ) ;
83
75
84
- gulp . task ( 'minify' , [ 'webpack' ] , function ( ) {
85
- gulp . src ( paths . webpack + paths . webpackName )
76
+ gulp . task ( 'minify' , gulp . series ( 'webpack' , function ( ) {
77
+ return gulp . src ( paths . webpack + paths . webpackName )
86
78
. pipe ( minify ( {
87
79
ext :{
88
80
min :'.min.js'
89
81
}
90
82
} ) )
91
83
. pipe ( gulp . dest ( paths . webpack ) )
92
- } ) ;
84
+ } ) ) ;
93
85
94
86
gulp . task ( 'copy-css' , function ( ) {
95
87
return gulp . src ( './src/**/*.css' ) . pipe ( gulp . dest ( paths . webpack ) )
@@ -99,14 +91,14 @@ gulp.task('publish_npm', function () {
99
91
return run ( 'npm publish' ) . exec ( ) ;
100
92
} ) ;
101
93
102
- gulp . task ( 'publish' , function ( ) {
103
- sequence ( 'clean' , 'minify' , 'copy-css' , 'publish_pack' , 'publish_npm' ) ;
94
+ gulp . task ( 'publish' , function ( cb ) {
95
+ sequence ( 'clean' , 'minify' , 'copy-css' , 'publish_pack' , 'publish_npm' , cb ) ;
104
96
} ) ;
105
97
106
98
gulp . task ( 'publish_pack' , function ( ) {
107
99
return run ( 'npm pack' ) . exec ( ) ;
108
100
} ) ;
109
101
110
- gulp . task ( 'pack' , function ( ) {
111
- sequence ( 'clean' , 'minify' , 'copy-css' , 'publish_pack' ) ;
102
+ gulp . task ( 'pack' , function ( cb ) {
103
+ sequence ( 'clean' , 'minify' , 'copy-css' , 'publish_pack' , cb ) ;
112
104
} ) ;
0 commit comments