You've already forked gulp-shenanigans
mirror of
https://github.com/FullScreenShenanigans/gulp-shenanigans.git
synced 2026-04-28 13:03:35 -07:00
3a7b186093
Includes some trailing whitespace lint fixes too.
71 lines
1.6 KiB
JavaScript
71 lines
1.6 KiB
JavaScript
var gulp = require("gulp");
|
|
|
|
var createTsProject = (function () {
|
|
var projects = {};
|
|
var gulpTypeScript;
|
|
|
|
return function (fileName) {
|
|
if (!gulpTypeScript) {
|
|
gulpTypeScript = require("gulp-typescript");
|
|
}
|
|
|
|
return projects[fileName] = gulpTypeScript.createProject(fileName);
|
|
};
|
|
})();
|
|
|
|
gulp.task("clean", function () {
|
|
var del = require("del");
|
|
|
|
return del("lib/**/*");
|
|
});
|
|
|
|
gulp.task("tslint", function () {
|
|
var tslint = require("tslint");
|
|
var gulpTslint = require("gulp-tslint");
|
|
var program = tslint.Linter.createProgram("./tsconfig.json");
|
|
|
|
return gulp
|
|
.src([
|
|
"src/**/*.ts",
|
|
"!src/**/*.d.ts",
|
|
"!**/*.template.*",
|
|
"!src/test/**/*.ts",
|
|
"!src/setup/**/*.ts"
|
|
])
|
|
.pipe(gulpTslint({
|
|
formatter: "stylish",
|
|
program
|
|
}))
|
|
.pipe(gulpTslint.report())
|
|
});
|
|
|
|
gulp.task("tsc", function () {
|
|
var merge = require("merge2");
|
|
var sourcemaps = require("gulp-sourcemaps");
|
|
|
|
var tsProject = createTsProject("tsconfig.json");
|
|
var tsResult = tsProject.src()
|
|
.pipe(sourcemaps.init())
|
|
.pipe(tsProject());
|
|
|
|
return merge([
|
|
tsResult.js
|
|
.pipe(sourcemaps.write())
|
|
.pipe(gulp.dest("lib")),
|
|
tsResult.dts.pipe(gulp.dest("lib"))
|
|
]);
|
|
});
|
|
|
|
gulp.task("watch", ["tsc"], function () {
|
|
return gulp.watch(["src/**/*.ts"], ["tsc"]);
|
|
});
|
|
|
|
gulp.task("default", function (callback) {
|
|
var runSequence = require("run-sequence").use(gulp);
|
|
|
|
runSequence(
|
|
["clean", "tslint"],
|
|
["tsc"],
|
|
callback);
|
|
});
|