cdkdx
Version:
Zero-config CLI for aws cdk development
65 lines • 5.99 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.TscCompiler = exports.JsiiCompiler = void 0;
const path = __importStar(require("path"));
const execa_1 = __importDefault(require("execa"));
const ts_config_1 = require("./ts-config");
class JsiiCompiler {
async compile(props) {
const command = require.resolve('jsii/bin/jsii');
const args = ['--project-references', '--silence-warnings=reserved-word'];
if (props.watch) {
args.push('-w');
}
await (0, execa_1.default)(command, args);
}
}
exports.JsiiCompiler = JsiiCompiler;
class TscCompiler {
async compile(props) {
const tsConfig = ts_config_1.TsConfig.fromJsiiTemplate({
outDir: './lib',
include: props.projectInfo.typescriptIncludes,
exclude: props.projectInfo.typescriptExcludes,
});
await tsConfig.writeJson(path.join(props.cwd, 'tsconfig.json'), {
overwriteExisting: false,
});
const command = require.resolve('typescript/bin/tsc');
const args = ['--build'];
if (props === null || props === void 0 ? void 0 : props.watch) {
args.push('-w');
}
await (0, execa_1.default)(command, args, {
stdio: ['ignore', 'inherit', 'inherit'],
});
}
}
exports.TscCompiler = TscCompiler;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29tcGlsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFDN0Isa0RBQTBCO0FBRTFCLDJDQUF1QztBQWF2QyxNQUFhLFlBQVk7SUFDaEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFvQjtRQUN2QyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRWpELE1BQU0sSUFBSSxHQUFHLENBQUMsc0JBQXNCLEVBQUUsa0NBQWtDLENBQUMsQ0FBQztRQUUxRSxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pCO1FBRUQsTUFBTSxJQUFBLGVBQUssRUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGO0FBWkQsb0NBWUM7QUFFRCxNQUFhLFdBQVc7SUFDZixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQW9CO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLG9CQUFRLENBQUMsZ0JBQWdCLENBQUM7WUFDekMsTUFBTSxFQUFFLE9BQU87WUFDZixPQUFPLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0I7WUFDN0MsT0FBTyxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsa0JBQWtCO1NBQzlDLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDLEVBQUU7WUFDOUQsaUJBQWlCLEVBQUUsS0FBSztTQUN6QixDQUFDLENBQUM7UUFFSCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDdEQsTUFBTSxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV6QixJQUFJLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxLQUFLLEVBQUU7WUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqQjtRQUVELE1BQU0sSUFBQSxlQUFLLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6QixLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQztTQUN4QyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF2QkQsa0NBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBleGVjYSBmcm9tICdleGVjYSc7XG5cbmltcG9ydCB7IFRzQ29uZmlnIH0gZnJvbSAnLi90cy1jb25maWcnO1xuaW1wb3J0IHsgUHJvamVjdEluZm8gfSBmcm9tICcuL3Byb2plY3QtaW5mbyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGlsZXJQcm9wcyB7XG4gIGN3ZDogc3RyaW5nO1xuICB3YXRjaD86IGJvb2xlYW47XG4gIHByb2plY3RJbmZvOiBQcm9qZWN0SW5mbztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21waWxlciB7XG4gIGNvbXBpbGU6IChwcm9wczogQ29tcGlsZXJQcm9wcykgPT4gUHJvbWlzZTx2b2lkPjtcbn1cblxuZXhwb3J0IGNsYXNzIEpzaWlDb21waWxlciBpbXBsZW1lbnRzIENvbXBpbGVyIHtcbiAgcHVibGljIGFzeW5jIGNvbXBpbGUocHJvcHM6IENvbXBpbGVyUHJvcHMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb21tYW5kID0gcmVxdWlyZS5yZXNvbHZlKCdqc2lpL2Jpbi9qc2lpJyk7XG5cbiAgICBjb25zdCBhcmdzID0gWyctLXByb2plY3QtcmVmZXJlbmNlcycsICctLXNpbGVuY2Utd2FybmluZ3M9cmVzZXJ2ZWQtd29yZCddO1xuXG4gICAgaWYgKHByb3BzLndhdGNoKSB7XG4gICAgICBhcmdzLnB1c2goJy13Jyk7XG4gICAgfVxuXG4gICAgYXdhaXQgZXhlY2EoY29tbWFuZCwgYXJncyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRzY0NvbXBpbGVyIGltcGxlbWVudHMgQ29tcGlsZXIge1xuICBwdWJsaWMgYXN5bmMgY29tcGlsZShwcm9wczogQ29tcGlsZXJQcm9wcyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHRzQ29uZmlnID0gVHNDb25maWcuZnJvbUpzaWlUZW1wbGF0ZSh7XG4gICAgICBvdXREaXI6ICcuL2xpYicsXG4gICAgICBpbmNsdWRlOiBwcm9wcy5wcm9qZWN0SW5mby50eXBlc2NyaXB0SW5jbHVkZXMsXG4gICAgICBleGNsdWRlOiBwcm9wcy5wcm9qZWN0SW5mby50eXBlc2NyaXB0RXhjbHVkZXMsXG4gICAgfSk7XG5cbiAgICBhd2FpdCB0c0NvbmZpZy53cml0ZUpzb24ocGF0aC5qb2luKHByb3BzLmN3ZCwgJ3RzY29uZmlnLmpzb24nKSwge1xuICAgICAgb3ZlcndyaXRlRXhpc3Rpbmc6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY29tbWFuZCA9IHJlcXVpcmUucmVzb2x2ZSgndHlwZXNjcmlwdC9iaW4vdHNjJyk7XG4gICAgY29uc3QgYXJncyA9IFsnLS1idWlsZCddO1xuXG4gICAgaWYgKHByb3BzPy53YXRjaCkge1xuICAgICAgYXJncy5wdXNoKCctdycpO1xuICAgIH1cblxuICAgIGF3YWl0IGV4ZWNhKGNvbW1hbmQsIGFyZ3MsIHtcbiAgICAgIHN0ZGlvOiBbJ2lnbm9yZScsICdpbmhlcml0JywgJ2luaGVyaXQnXSxcbiAgICB9KTtcbiAgfVxufVxuIl19