12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- // Import Dependencies.
- var gulp = require("gulp");
- var merge2 = require("merge2");
- var gulpTslint = require("gulp-tslint");
- var minimist = require("minimist");
- var filter = require('gulp-filter');
- // Parse Command Line.
- var commandLineOptions = minimist(process.argv.slice(2), {
- boolean: ["tsLintFix"]
- });
- // Define Constants
- var tsLintConfig = {
- formatter: "stylish",
- configuration: "../../tslint.json",
- fix: commandLineOptions.tsLintFix
- }
- // Read the full config.
- var config = require("../config.json");
- /*
- * TsLint all typescript files from the src directory.
- */
- gulp.task("typescript-tsLint", function() {
- const dtsFilter = filter(['**', '!**/*.d.ts'], { restore: false });
- return gulp.src(config.typescript)
- .pipe(dtsFilter)
- .pipe(gulpTslint(tsLintConfig))
- .pipe(gulpTslint.report());
- });
- /*
- * TsLint all typescript files from the src directory.
- */
- var tsLintExternalLibrary = function(library, settings, watch) {
- if (library.files && library.files.length) {
- return gulp.src(library.files, { base: settings.build.srcOutputDirectory })
- .pipe(gulpTslint(tsLintConfig))
- .pipe(gulpTslint.report());
- }
- else {
- return gulp.src((settings.build.srcDirectory || settings.build.srcOutputDirectory) + "/**/*.ts")
- .pipe(gulpTslint(tsLintConfig))
- .pipe(gulpTslint.report());
- }
- }
- /**
- * Dynamic module linting for external library (mat, post processes, ...).
- */
- config.modules.map(function(module) {
- // Task will be like moduleName-tsLint
- gulp.task(module + "-tsLint", function() {
- var settings = config[module];
- var tasks = settings.libraries.map(function(library) {
- return tsLintExternalLibrary(library, settings, false);
- });
-
- let mergedTasks = merge2(tasks);
- return mergedTasks;
- });
- });
- /**
- * Full Librairies tsLint.
- */
- gulp.task("typescript-libraries-tsLint",
- gulp.series(config.modules.map((module) => {
- return module + "-tsLint";
- })
- ));
- /**
- * Full TsLint.
- */
- gulp.task("tsLint", gulp.series("typescript-tsLint", "typescript-libraries-tsLint"));
|