UNPKG

@tsdi/pack

Version:

@tsdi/pack is simple build tasks, base on AOP, Ioc container, via @tsdi. dev build pack activities.

188 lines (186 loc) 9.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RollupActivity = void 0; var tslib_1 = require("tslib"); var ioc_1 = require("@tsdi/ioc"); var components_1 = require("@tsdi/components"); var activities_1 = require("@tsdi/activities"); var rollup_1 = require("rollup"); var NodeActivity_1 = require("../NodeActivity"); /** * rollup activity. * * @export * @class RollupActivity * @extends {NodeActivity<void>} */ var RollupActivity = /** @class */ (function (_super) { tslib_1.__extends(RollupActivity, _super); function RollupActivity() { return _super !== null && _super.apply(this, arguments) || this; } RollupActivity.prototype.execute = function (ctx) { return tslib_1.__awaiter(this, void 0, void 0, function () { var opts; var _this = this; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, ctx.resolveExpression(this.options)]; case 1: opts = _a.sent(); opts = opts || { input: '' }; return [4 /*yield*/, Promise.all(this.getInputProps() .map(function (n) { return tslib_1.__awaiter(_this, void 0, void 0, function () { var val; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, ctx.resolveExpression(this[n])]; case 1: val = _a.sent(); this.setOptions(ctx, opts, n, val); return [2 /*return*/]; } }); }); }))]; case 2: _a.sent(); return [4 /*yield*/, Promise.all((ioc_1.isArray(opts.output) ? opts.output : [opts.output]).map(function (output) { return tslib_1.__awaiter(_this, void 0, void 0, function () { var sourceMap, globals, bundle; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: if (!this.sourcemap) return [3 /*break*/, 2]; return [4 /*yield*/, ctx.resolveExpression(this.sourcemap)]; case 1: sourceMap = _a.sent(); if (sourceMap) { output.sourcemap = ioc_1.isString(sourceMap) ? true : sourceMap; } _a.label = 2; case 2: if (!this.globals) return [3 /*break*/, 4]; return [4 /*yield*/, ctx.resolveExpression(this.globals)]; case 3: globals = _a.sent(); output.globals = globals; return [3 /*break*/, 5]; case 4: output.globals = {}; _a.label = 5; case 5: if (ioc_1.isArray(opts.external) && opts.external.length) { opts.external = this.vailfExternal(opts.external); opts.external.forEach(function (k) { if (output.globals[k]) { output.globals[k] = k; } }); } if (output.file) { output.file = ctx.platform.toRootPath(output.file); } if (output.dir) { output.dir = ctx.platform.toRootPath(output.dir); } if (!output.name && output.file) { output.name = ctx.platform.getFileName(output.file); } return [4 /*yield*/, this.resolvePlugins(ctx, opts)]; case 6: _a.sent(); if (opts.plugins) { opts.plugins = opts.plugins.filter(function (p) { return p; }); } return [4 /*yield*/, rollup_1.rollup(opts)]; case 7: bundle = _a.sent(); return [4 /*yield*/, bundle.write(output)]; case 8: _a.sent(); return [2 /*return*/]; } }); }); })).catch(function (err) { console.error(err); throw err; })]; case 3: _a.sent(); return [2 /*return*/]; } }); }); }; RollupActivity.prototype.getInputProps = function () { return ['input', 'output', 'plugins', 'external', 'cache', 'watch']; }; RollupActivity.prototype.setOptions = function (ctx, opts, key, val) { if (key === 'input') { val = ctx.platform.toRootSrc(val); } if (ioc_1.isArray(val) && val.length) { val = val.filter(function (f) { return !ioc_1.isNullOrUndefined(f); }); if (val.length) { opts[key] = val; } } else if (val) { opts[key] = val; } }; RollupActivity.prototype.vailfExternal = function (external) { return external || []; }; RollupActivity.prototype.resolvePlugins = function (ctx, opts) { return tslib_1.__awaiter(this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { return [2 /*return*/]; }); }); }; RollupActivity.ρAnn = function () { return { "name": "RollupActivity", "params": { "execute": ["ctx"], "setOptions": ["ctx", "opts", "key", "val"], "vailfExternal": ["external"], "resolvePlugins": ["ctx", "opts"] } }; }; tslib_1.__decorate([ components_1.Input(), tslib_1.__metadata("design:type", Object) ], RollupActivity.prototype, "input", void 0); tslib_1.__decorate([ components_1.Input(), tslib_1.__metadata("design:type", Object) ], RollupActivity.prototype, "output", void 0); tslib_1.__decorate([ components_1.Input(), tslib_1.__metadata("design:type", Object) ], RollupActivity.prototype, "plugins", void 0); tslib_1.__decorate([ components_1.Input(), tslib_1.__metadata("design:type", Object) ], RollupActivity.prototype, "external", void 0); tslib_1.__decorate([ components_1.Input(), tslib_1.__metadata("design:type", Object) ], RollupActivity.prototype, "globals", void 0); tslib_1.__decorate([ components_1.Input(), tslib_1.__metadata("design:type", Object) ], RollupActivity.prototype, "sourcemap", void 0); tslib_1.__decorate([ components_1.Input(), tslib_1.__metadata("design:type", Object) ], RollupActivity.prototype, "cache", void 0); tslib_1.__decorate([ components_1.Input(), tslib_1.__metadata("design:type", Object) ], RollupActivity.prototype, "options", void 0); tslib_1.__decorate([ components_1.Input(), tslib_1.__metadata("design:type", Object) ], RollupActivity.prototype, "watch", void 0); RollupActivity = tslib_1.__decorate([ activities_1.Task('rollup') ], RollupActivity); return RollupActivity; }(NodeActivity_1.NodeActivity)); exports.RollupActivity = RollupActivity; //# sourceMappingURL=../sourcemaps/rollups/RollupActivity.js.map