gulpfile.js (56 lines of code) (raw):

'use strict'; var gulp = require('gulp'); var exec = require('child_process').exec; var del = require('del'); var typescript = require('gulp-typescript'); var sourcemaps = require('gulp-sourcemaps'); function errorHandler(err) { console.error(err.message); process.exit(1); } gulp.task('clean', (done) => { del.sync(['out/**']); done(); }); gulp.task('build', gulp.parallel('clean', function () { var tsProject = typescript.createProject('./tsconfig.json'); var tsResult = tsProject.src() .pipe(sourcemaps.init()) .pipe(tsProject()) .on('error', errorHandler); return tsResult.js .pipe(sourcemaps.write('.', { sourceRoot: function (file) { // This override is needed because of a bug in sourcemaps base logic. // "file.base"" is the out dir where all the js and map files are located. return file.base; } })) .pipe(gulp.dest('./out')); })); gulp.task('publishbuild', gulp.parallel('build', function () { gulp.src(['./src/bll/credentialsstore/**/*.js']) .pipe(gulp.dest('./out/src/bll/credentialsstore')); return gulp.src(['./src/bll/credentialsstore/bin/win32/*']) .pipe(gulp.dest('./out/src/bll/credentialsstore/bin/win32')); })); gulp.task('packageonly', function (cb) { exec('vsce package', function (err, stdout, stderr) { console.log(stdout); console.log(stderr); cb(err); }); }); gulp.task('package', gulp.parallel('packageonly', function (cb) { exec('vsce package', function (err, stdout, stderr) { console.log(stdout); console.log(stderr); cb(err); }); })); gulp.task('vsce-version', function (cb) { exec('vsce -Version', function (err, stdout, stderr) { console.log(stdout); console.log(stderr); cb(err); }); }); gulp.task('default', gulp.parallel('publishbuild'));