@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
JavaScript
;
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 '';
};
TscBuilder.ρAnn = 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