You've already forked gulp-shenanigans
mirror of
https://github.com/FullScreenShenanigans/gulp-shenanigans.git
synced 2026-04-28 13:03:35 -07:00
212b506620
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.
42 lines
951 B
JavaScript
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);
|
|
});
|