UNPKG

simplr-gulp

Version:

Fully functional gulpfile.js implementation. Tailored for Single Page Application. Written in TypeScript.

44 lines (43 loc) 1.77 kB
Object.defineProperty(exports, "__esModule", { value: true }); const builder_base_1 = require("../builder-base"); const configuration_1 = require("../../configuration/configuration"); const gulp = require("gulp"); const uglify = require("gulp-uglify"); const sourcemaps = require("gulp-sourcemaps"); const typescript_builder_compiler_1 = require("./typescript-builder-compiler"); const cache = require("gulp-cached"); const typescript_reporter_1 = require("./typescript-reporter"); class TypescriptBuilderClass extends builder_base_1.BuilderBase { constructor() { super(...arguments); this.reporter = new typescript_reporter_1.Reporter(); } build(production, builder, done) { let tsResult = builder.Project .src() .pipe(cache("scripts.typescript")); if (!production) { tsResult = tsResult.pipe(sourcemaps.init()); } tsResult = tsResult.pipe(builder.Project(this.reporter)).js; tsResult .pipe((production) ? uglify({ mangle: true }) : sourcemaps.write()) .pipe(gulp.dest(builder.Config.OutDir)) .on("end", done); } initBuilder(production) { if (production) { return new typescript_builder_compiler_1.TypescriptBuilderCompiler(this.typescriptConfig.Production); } else { return new typescript_builder_compiler_1.TypescriptBuilderCompiler(this.typescriptConfig.Development); } } GetBuilder(production) { return this.getBuilder(production); } get typescriptConfig() { return configuration_1.Configuration.GulpConfig.TypeScriptConfig; } } exports.TypescriptBuilder = new TypescriptBuilderClass();