@tsdi/pack
Version:
@tsdi/pack is simple build tasks, base on AOP, Ioc container, via @tsdi. dev build pack activities.
71 lines (69 loc) • 2.38 kB
JavaScript
import { __awaiter, __decorate, __metadata } from "tslib";
import { Input } from '@tsdi/components';
import { Task } from '@tsdi/activities';
import { NodeActivity } from '../NodeActivity';
const jsChkExp = /.js/;
let TscBuilder = class TscBuilder extends NodeActivity {
execute(ctx) {
return __awaiter(this, void 0, void 0, function* () {
let compilerOptions = yield ctx.resolveExpression(this.compilerOptions);
compilerOptions = compilerOptions || {};
let src = yield ctx.resolveExpression(this.src);
src = src || compilerOptions.sourceRoot;
let srcFiles;
if (src) {
srcFiles = yield ctx.platform.getFiles(src);
}
let dist = yield ctx.resolveExpression(this.dist);
if (dist) {
if (!jsChkExp.test(dist)) {
compilerOptions.outDir = dist;
}
else {
compilerOptions.outFile = dist;
}
}
let tsconfig = yield ctx.resolveExpression(this.tsconfig);
let shell = '';
if (tsconfig) {
shell = `tsc -p ${tsconfig}`;
}
else {
shell = `tsc ${this.formatCompileOptions(compilerOptions)} ${srcFiles.join(' ')}`;
}
return yield ctx.getExector().runActivity({
activity: 'shell',
parallel: true,
shell: shell,
options: { cwd: ctx.platform.getRootPath() }
});
});
}
formatCompileOptions(options) {
return '';
}
static ρAnn() {
return { "name": "TscBuilder", "params": { "execute": ["ctx"], "formatCompileOptions": ["options"] } };
}
};
__decorate([
Input(),
__metadata("design:type", Object)
], TscBuilder.prototype, "src", void 0);
__decorate([
Input(),
__metadata("design:type", Object)
], TscBuilder.prototype, "dist", void 0);
__decorate([
Input(),
__metadata("design:type", Object)
], TscBuilder.prototype, "tsconfig", void 0);
__decorate([
Input(),
__metadata("design:type", Object)
], TscBuilder.prototype, "compilerOptions", void 0);
TscBuilder = __decorate([
Task('tsc')
], TscBuilder);
export { TscBuilder };
//# sourceMappingURL=../sourcemaps/builds/TscBuilder.js.map