1+ /* eslint-disable @typescript-eslint/typedef, no-return-assign, @typescript-eslint/explicit-function-return-type */
12const 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' ) ;
46const del = require ( 'del' ) ;
57const path = require ( 'path' ) ;
68const { execSync } = require ( 'child_process' ) ;
79
8- const project = gulp_ts . createProject ( 'tsconfig.json' ) ;
10+ const project = typescript . createProject ( 'tsconfig.json' ) ;
911
10- let _linter ;
11- let _gulp_tslint ;
12- let _tslint ;
1312let _runSequence ;
1413
1514const 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' ) ;
1915
20- gulp . task ( 'default' , [ 'build' ] ) ;
21- gulp . task ( 'build:vscode' , cb => runSequence ( ) ( 'lint' , 'build' , cb ) ) ;
2216gulp . task ( 'build:docs' , ( ) => execSync ( 'npm run docs:indev' ) ) ;
2317gulp . task ( 'docs' , cb => runSequence ( ) ( 'build' , 'build:docs' , cb ) ) ;
2418gulp . task ( 'gh-prebuild' , cb => runSequence ( ) ( 'build' , 'gh-prebuild-prepare' , cb ) ) ;
2519
2620gulp . task ( 'pause' , cb => setTimeout ( ( ) => cb ( ) , 1e3 ) ) ;
27- gulp . task ( 'tests' , cb => runSequence ( ) ( 'lint' , 'build' , 'pause' , 'build:tests' , cb ) ) ;
2821
29- gulp . task ( 'lint' , ( ) => {
22+ gulp . task ( 'lint' , ( ) =>
3023 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+ {
4030 del . sync ( [ 'bin/**/*.*' ] ) ;
4131 const tsCompile = gulp . src ( 'src/**/*.ts' )
42- . pipe ( gulp_sourcemaps . init ( { base : 'src' } ) )
32+ . pipe ( sourcemaps . init ( { base : 'src' } ) )
4333 . pipe ( project ( ) ) ;
4434
4535 tsCompile . pipe ( gulp . dest ( 'bin/' ) ) ;
@@ -49,11 +39,12 @@ gulp.task('build', () => {
4939 gulp . src ( 'src/**/*.lang' ) . pipe ( gulp . dest ( 'bin/' ) ) ;
5040
5141 return tsCompile . js
52- . pipe ( gulp_sourcemaps . write ( '.' , { sourceRoot : '../src' } ) )
42+ . pipe ( sourcemaps . write ( '.' , { sourceRoot : '../src' } ) )
5343 . pipe ( gulp . dest ( 'bin/' ) ) ;
5444} ) ;
5545
56- gulp . task ( 'gh-prebuild-prepare' , ( ) => {
46+ gulp . task ( 'gh-prebuild-prepare' , ( ) =>
47+ {
5748 del . sync ( [
5849 '../yamdbf-prebuilt/**' ,
5950 '../yamdbf-prebuilt/.*' ,
@@ -63,25 +54,39 @@ gulp.task('gh-prebuild-prepare', () => {
6354 ] , { force : true } ) ;
6455 gulp . src ( 'bin/**/*.*' ) . pipe ( gulp . dest ( '../yamdbf-prebuilt/bin' ) ) ;
6556 gulp . src ( 'package.json' ) . pipe ( gulp . dest ( '../yamdbf-prebuilt' ) ) ;
66- } )
57+ } ) ;
6758
68- gulp . task ( 'build:tests' , ( ) => {
59+ gulp . task ( 'build:tests' , ( ) =>
60+ {
6961 del . sync ( [ 'test/**/*.js' ] ) ;
7062 const tsCompile = gulp . src ( 'test/**/*.ts' )
71- . pipe ( gulp_sourcemaps . init ( { base : 'test' } ) )
63+ . pipe ( sourcemaps . init ( { base : 'test' } ) )
7264 . pipe ( project ( ) ) ;
7365
7466 tsCompile . pipe ( gulp . dest ( 'test/' ) ) ;
7567
7668 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 ( ) )
7971 . pipe ( gulp . dest ( 'test/' ) ) ;
8072} ) ;
8173
82- gulp . task ( 'build:scripts' , ( ) => {
74+ gulp . task ( 'build:scripts' , ( ) =>
75+ {
8376 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' } ) )
8687 . pipe ( gulp . dest ( 'scripts/' ) ) ;
8788} ) ;
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