1
+ /* eslint-disable @typescript-eslint/typedef, no-return-assign, @typescript-eslint/explicit-function-return-type */
1
2
const gulp = require ( 'gulp' ) ;
2
- const gulp_ts = require ( 'gulp-typescript' ) ;
3
- const gulp_sourcemaps = require ( 'gulp-sourcemaps' ) ;
3
+ const typescript = require ( 'gulp-typescript' ) ;
4
+ const sourcemaps = require ( 'gulp-sourcemaps' ) ;
5
+ const eslint = require ( 'gulp-eslint' ) ;
4
6
const del = require ( 'del' ) ;
5
7
const path = require ( 'path' ) ;
6
8
const { execSync } = require ( 'child_process' ) ;
7
9
8
- const project = gulp_ts . createProject ( 'tsconfig.json' ) ;
10
+ const project = typescript . createProject ( 'tsconfig.json' ) ;
9
11
10
- let _linter ;
11
- let _gulp_tslint ;
12
- let _tslint ;
13
12
let _runSequence ;
14
13
15
14
const runSequence = ( ) => _runSequence = _runSequence || require ( 'run-sequence' ) ;
16
- const gulp_tslint = ( ) => _gulp_tslint = _gulp_tslint || require ( 'gulp-tslint' ) ;
17
- const tslint = ( ) => _tslint = _tslint || require ( 'tslint' ) ;
18
- const linter = ( ) => _linter = _linter || tslint ( ) . Linter . createProgram ( 'tsconfig.json' ) ;
19
15
20
- gulp . task ( 'default' , [ 'build' ] ) ;
21
- gulp . task ( 'build:vscode' , cb => runSequence ( ) ( 'lint' , 'build' , cb ) ) ;
22
16
gulp . task ( 'build:docs' , ( ) => execSync ( 'npm run docs:indev' ) ) ;
23
17
gulp . task ( 'docs' , cb => runSequence ( ) ( 'build' , 'build:docs' , cb ) ) ;
24
18
gulp . task ( 'gh-prebuild' , cb => runSequence ( ) ( 'build' , 'gh-prebuild-prepare' , cb ) ) ;
25
19
26
20
gulp . task ( 'pause' , cb => setTimeout ( ( ) => cb ( ) , 1e3 ) ) ;
27
- gulp . task ( 'tests' , cb => runSequence ( ) ( 'lint' , 'build' , 'pause' , 'build:tests' , cb ) ) ;
28
21
29
- gulp . task ( 'lint' , ( ) => {
22
+ gulp . task ( 'lint' , ( ) =>
30
23
gulp . src ( 'src/**/*.ts' )
31
- . pipe ( gulp_tslint ( ) ( {
32
- configuration : 'tslint.json' ,
33
- formatter : 'prose' ,
34
- program : linter ( )
35
- } ) )
36
- . pipe ( gulp_tslint ( ) . report ( ) ) ;
37
- } )
38
-
39
- gulp . task ( 'build' , ( ) => {
24
+ . pipe ( eslint ( ) )
25
+ . pipe ( eslint . format ( ) )
26
+ . pipe ( eslint . failAfterError ( ) ) ) ;
27
+
28
+ gulp . task ( 'build' , ( ) =>
29
+ {
40
30
del . sync ( [ 'bin/**/*.*' ] ) ;
41
31
const tsCompile = gulp . src ( 'src/**/*.ts' )
42
- . pipe ( gulp_sourcemaps . init ( { base : 'src' } ) )
32
+ . pipe ( sourcemaps . init ( { base : 'src' } ) )
43
33
. pipe ( project ( ) ) ;
44
34
45
35
tsCompile . pipe ( gulp . dest ( 'bin/' ) ) ;
@@ -49,11 +39,12 @@ gulp.task('build', () => {
49
39
gulp . src ( 'src/**/*.lang' ) . pipe ( gulp . dest ( 'bin/' ) ) ;
50
40
51
41
return tsCompile . js
52
- . pipe ( gulp_sourcemaps . write ( '.' , { sourceRoot : '../src' } ) )
42
+ . pipe ( sourcemaps . write ( '.' , { sourceRoot : '../src' } ) )
53
43
. pipe ( gulp . dest ( 'bin/' ) ) ;
54
44
} ) ;
55
45
56
- gulp . task ( 'gh-prebuild-prepare' , ( ) => {
46
+ gulp . task ( 'gh-prebuild-prepare' , ( ) =>
47
+ {
57
48
del . sync ( [
58
49
'../yamdbf-prebuilt/**' ,
59
50
'../yamdbf-prebuilt/.*' ,
@@ -63,25 +54,39 @@ gulp.task('gh-prebuild-prepare', () => {
63
54
] , { force : true } ) ;
64
55
gulp . src ( 'bin/**/*.*' ) . pipe ( gulp . dest ( '../yamdbf-prebuilt/bin' ) ) ;
65
56
gulp . src ( 'package.json' ) . pipe ( gulp . dest ( '../yamdbf-prebuilt' ) ) ;
66
- } )
57
+ } ) ;
67
58
68
- gulp . task ( 'build:tests' , ( ) => {
59
+ gulp . task ( 'build:tests' , ( ) =>
60
+ {
69
61
del . sync ( [ 'test/**/*.js' ] ) ;
70
62
const tsCompile = gulp . src ( 'test/**/*.ts' )
71
- . pipe ( gulp_sourcemaps . init ( { base : 'test' } ) )
63
+ . pipe ( sourcemaps . init ( { base : 'test' } ) )
72
64
. pipe ( project ( ) ) ;
73
65
74
66
tsCompile . pipe ( gulp . dest ( 'test/' ) ) ;
75
67
76
68
return tsCompile . js
77
- . pipe ( gulp_sourcemaps . mapSources ( sourcePath => path . join ( __dirname , 'test' , sourcePath ) ) )
78
- . pipe ( gulp_sourcemaps . write ( ) )
69
+ . pipe ( sourcemaps . mapSources ( sourcePath => path . join ( __dirname , 'test' , sourcePath ) ) )
70
+ . pipe ( sourcemaps . write ( ) )
79
71
. pipe ( gulp . dest ( 'test/' ) ) ;
80
72
} ) ;
81
73
82
- gulp . task ( 'build:scripts' , ( ) => {
74
+ gulp . task ( 'build:scripts' , ( ) =>
75
+ {
83
76
del . sync ( [ 'scripts/**/*.js' ] ) ;
84
- gulp . src ( 'scripts/**/*.ts' )
85
- . pipe ( project ( ) )
77
+ del . sync ( [ 'scripts/**/*.js.map' ] ) ;
78
+ del . sync ( [ 'scripts/**/*.d.ts' ] ) ;
79
+ const tsCompile = gulp . src ( 'scripts/**/*.ts' )
80
+ . pipe ( sourcemaps . init ( { base : 'scripts' } ) )
81
+ . pipe ( project ( ) ) ;
82
+
83
+ tsCompile . pipe ( gulp . dest ( 'scripts/' ) ) ;
84
+
85
+ return tsCompile . js
86
+ . pipe ( sourcemaps . write ( '.' , { sourceRoot : '../scripts' } ) )
86
87
. pipe ( gulp . dest ( 'scripts/' ) ) ;
87
88
} ) ;
89
+
90
+ gulp . task ( 'default' , gulp . series ( 'build' ) ) ;
91
+ gulp . task ( 'build:vscode' , gulp . series ( 'lint' , 'build' ) ) ;
92
+ gulp . task ( 'tests' , gulp . series ( 'lint' , 'build' , 'pause' , 'build:tests' ) ) ;
0 commit comments