UNPKG

@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
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