Files
gulp-shenanigans/gulpfile.js
Josh Goldberg 212b506620 Fleshed out configuration file generation
Expands on #9's solution by also generating package.json.

Also fixes missing node types, speeds up the watch test, and fixes
README.md mustache templating.
2016-08-14 18:42:04 -07:00

42 lines
951 B
JavaScript

const del = require("del");
const gulp = require("gulp");
const merge = require("merge2");
const runSequence = require("run-sequence").use(gulp);
const ts = require("gulp-typescript");
const tslint = require("gulp-tslint");
gulp.task("clean", () => {
return del("lib/**/*");
});
gulp.task("tslint", () => {
return gulp.src(["src/**/*.ts", "!src/**/*.d.ts"])
.pipe(tslint({
formatter: "verbose"
}))
.pipe(tslint.report());
});
gulp.task("tsc", () => {
const project = ts.createProject("tsconfig.json");
const output = project
.src()
.pipe(ts(project));
return merge([
output.dts.pipe(gulp.dest("lib")),
output.js.pipe(gulp.dest("lib"))
]);
});
gulp.task("watch", ["tsc"], () => {
return gulp.watch(["src/**/*.ts"], ["tsc"]);
});
gulp.task("default", callback => {
runSequence(
["clean", "tslint"],
["tsc"],
callback);
});