Gulp v4 не ждет, когда первое задание будет завершено в серии - PullRequest
0 голосов
/ 28 февраля 2019

Для того чтобы мой сервер узлов был перенесен, а затем запущен с помощью nodemon и перезапускался при каждом изменении, я использую последнюю версию gulp (v4).

Проблема при первом запуске -не выполняется до того, как nodemon запускает сервер (только при первом запуске).

"gulp": "~4.0.0",
"gulp-nodemon": "^2.4.2",
"gulp-typescript": "~5.0.0"


const gulp = require("gulp");
const {series} = require('gulp');
const ts = require("gulp-typescript");
const gulpNodeWatch = require('gulp-nodemon');

const serverSourceFiles = 'app/**/*.ts'
const ServerDestination = {
    dir: 'server',
    entryPoint: 'server/index.js'
};


async function transpile() {
    return await gulp.src(serverSourceFiles)
        .pipe(ts({
            noImplicitAny: false,
            importHelpers: true,
            sourceMap: true,
            declaration: false,
            moduleResolution: "node",
            emitDecoratorMetadata: true,
            experimentalDecorators: true,
            target: "es5",
            lib: [
                "es2015",
                "dom"
            ],
            typeRoots: [
                "node_modules/@types"
            ],
        }))
        .pipe(gulp.dest(ServerDestination.dir));
}

async function runServer() {
    return await gulpNodeWatch({
        script: ServerDestination.entryPoint,
        ext: 'ts',
        watch: serverSourceFiles,
        stdout: true,
        readable: false,
        quiet: false,
        tasks: ['transpile']
    });
}

exports.transpile = transpile;
exports.default = series(runServer, transpile);
...