UNPKG

gulptraum

Version:

Smart task generator for gulp to get a build pipeline and more in seconds.

104 lines (102 loc) 4.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var GulpV4Adapter = (function () { function GulpV4Adapter(gulpInstance, gulptraumInstance) { this._gulpInstance = gulpInstance; this._gulptraumInstance = gulptraumInstance; } Object.defineProperty(GulpV4Adapter.prototype, "gulp", { get: function () { return this._gulpInstance; }, enumerable: true, configurable: true }); Object.defineProperty(GulpV4Adapter.prototype, "gulptraum", { get: function () { return this._gulptraumInstance; }, enumerable: true, configurable: true }); GulpV4Adapter.prototype.isTaskRegistered = function (taskName) { var tasks = this.getGulpTasks(); return tasks.indexOf(taskName) >= 0; }; GulpV4Adapter.prototype.runTasksSequential = function (tasks, callback) { var filteredTasks = this._filterEmptyTasks(tasks); if (filteredTasks.length === 0) { return callback(); } var sequenceFunc = this.gulp.series(filteredTasks); return sequenceFunc(callback); }; GulpV4Adapter.prototype.runTasksParallel = function (tasks, callback) { var filteredTasks = this._filterEmptyTasks(tasks); if (filteredTasks.length === 0) { return callback(); } var parallelFunc = this.gulp.parallel(filteredTasks); return parallelFunc(callback); }; GulpV4Adapter.prototype.registerConventionalTask = function (taskName, taskConfig, buildTasks) { var _this = this; var taskChain = taskConfig.tasksBefore || []; Array.prototype.push.apply(taskChain, buildTasks); this.gulp.task("" + taskName, function (callback) { var callbackWrapper = function () { _this._handleEmptySequence(taskName); return callback(); }; var finishSequenceHandler = function (error) { return _this._handleRunSequenceError(error, taskName, callback); }; if (taskChain.length > 0) { callbackWrapper = finishSequenceHandler; } _this.gulptraum.gulpAdapter.runTasksSequential(taskChain, callbackWrapper); }); }; GulpV4Adapter.prototype._handleEmptySequence = function (taskName) { console.log("No sub tasks found for top level task \"" + taskName + "\"."); }; GulpV4Adapter.prototype._handleRunSequenceError = function (error, task, callback) { var suppressErrorsForTask = this.gulptraum.config.suppressErrorsForTasks && this.gulptraum.config.suppressErrorsForTasks.indexOf(task) !== -1; if (this.gulptraum.config.suppressErrors || suppressErrorsForTask) { return callback(); } if (error) { var exitCode = 2; console.log('[ERROR] gulp build task failed', error); console.log('[FAIL] gulp build task failed - exiting with code ' + exitCode); return process.exit(exitCode); } else { return callback(); } }; GulpV4Adapter.prototype.registerGulpTask = function (taskName, taskCallback) { return this.gulp.task(taskName, taskCallback); }; GulpV4Adapter.prototype.getGulpTasks = function () { var tasks = this.gulp .registry() .tasks(); return Object.keys(tasks); }; GulpV4Adapter.prototype.runTask = function (taskName, taskCallback) { throw new Error('Cannot use runTask with gulp v4. Use "registerGulpTask" and then "runTasksSequential" or "runTasksParallel" instead.'); }; GulpV4Adapter.prototype._filterEmptyTasks = function (tasks) { var filteredTasks = tasks.filter(function (task) { if (Array.isArray(task)) { return task.length > 0; } return task !== undefined; }); return filteredTasks; }; return GulpV4Adapter; }()); exports.GulpV4Adapter = GulpV4Adapter; //# sourceMappingURL=gulp_v4_adapter.js.map