UNPKG

@tsdi/pack

Version:

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

94 lines (92 loc) 4.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TscBuilder = void 0; var tslib_1 = require("tslib"); var components_1 = require("@tsdi/components"); var activities_1 = require("@tsdi/activities"); var NodeActivity_1 = require("../NodeActivity"); var jsChkExp = /.js/; var TscBuilder = /** @class */ (function (_super) { tslib_1.__extends(TscBuilder, _super); function TscBuilder() { return _super !== null && _super.apply(this, arguments) || this; } TscBuilder.prototype.execute = function (ctx) { return tslib_1.__awaiter(this, void 0, void 0, function () { var compilerOptions, src, srcFiles, dist, tsconfig, shell; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, ctx.resolveExpression(this.compilerOptions)]; case 1: compilerOptions = _a.sent(); compilerOptions = compilerOptions || {}; return [4 /*yield*/, ctx.resolveExpression(this.src)]; case 2: src = _a.sent(); src = src || compilerOptions.sourceRoot; if (!src) return [3 /*break*/, 4]; return [4 /*yield*/, ctx.platform.getFiles(src)]; case 3: srcFiles = _a.sent(); _a.label = 4; case 4: return [4 /*yield*/, ctx.resolveExpression(this.dist)]; case 5: dist = _a.sent(); if (dist) { if (!jsChkExp.test(dist)) { compilerOptions.outDir = dist; } else { compilerOptions.outFile = dist; } } return [4 /*yield*/, ctx.resolveExpression(this.tsconfig)]; case 6: tsconfig = _a.sent(); shell = ''; if (tsconfig) { shell = "tsc -p " + tsconfig; } else { shell = "tsc " + this.formatCompileOptions(compilerOptions) + " " + srcFiles.join(' '); } return [4 /*yield*/, ctx.getExector().runActivity({ activity: 'shell', parallel: true, shell: shell, options: { cwd: ctx.platform.getRootPath() } })]; case 7: return [2 /*return*/, _a.sent()]; } }); }); }; TscBuilder.prototype.formatCompileOptions = function (options) { return ''; }; TscBuilderAnn = function () { return { "name": "TscBuilder", "params": { "execute": ["ctx"], "formatCompileOptions": ["options"] } }; }; tslib_1.__decorate([ components_1.Input(), tslib_1.__metadata("design:type", Object) ], TscBuilder.prototype, "src", void 0); tslib_1.__decorate([ components_1.Input(), tslib_1.__metadata("design:type", Object) ], TscBuilder.prototype, "dist", void 0); tslib_1.__decorate([ components_1.Input(), tslib_1.__metadata("design:type", Object) ], TscBuilder.prototype, "tsconfig", void 0); tslib_1.__decorate([ components_1.Input(), tslib_1.__metadata("design:type", Object) ], TscBuilder.prototype, "compilerOptions", void 0); TscBuilder = tslib_1.__decorate([ activities_1.Task('tsc') ], TscBuilder); return TscBuilder; }(NodeActivity_1.NodeActivity)); exports.TscBuilder = TscBuilder; //# sourceMappingURL=../sourcemaps/builds/TscBuilder.js.map