const gulp = require("gulp"); const clean = require("gulp-clean"); const ts = require('gulp-typescript'); const zip = require('gulp-zip'); const watch = require('gulp-watch'); const tsProject = ts.createProject("./tsconfig.json", { declaration: false }); const DEST_PATH = "./dist/mgobexs.zip"; const SRC_PATH = "./src/mgobexs"; const TSC_PATH = ["./src/mgobexs/*.ts"]; gulp.task("clean", () => { return gulp.src(DEST_PATH, { read: false, allowEmpty: true }).pipe(clean({ force: true })); }); gulp.task("tsc", () => { return gulp.src(TSC_PATH) .pipe(tsProject()).js .pipe(gulp.dest(SRC_PATH)); }); gulp.task("zip", () => { return gulp.src([ './src/**/*.*', './src/**/*.*', '!./src/mgobexs/*.ts', '!./**/__MACOSX', '!./**/.DS_Store' ]).pipe(zip(DEST_PATH)) .pipe(gulp.dest("./")); }); gulp.task("default", gulp.series("clean", "tsc", "zip")); gulp.task("watch", () => { return watch('./src/mgobexs/*.ts', gulp.series("default")); });