UNPKG

cdkdx

Version:

Zero-config CLI for aws cdk development

113 lines 11.1 kB
"use strict"; 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; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.TsConfig = void 0; const fs = __importStar(require("fs-extra")); class TsConfig { constructor(tsConfig) { this.tsConfig = tsConfig; } static fromJsiiTemplate(props) { return new TsConfig({ compilerOptions: { alwaysStrict: true, charset: 'utf8', declaration: true, experimentalDecorators: true, inlineSourceMap: true, inlineSources: true, lib: ['es2018'], module: 'CommonJS', noEmitOnError: true, noFallthroughCasesInSwitch: true, noImplicitAny: true, noImplicitReturns: true, noImplicitThis: true, noUnusedLocals: true, noUnusedParameters: true, resolveJsonModule: true, strict: true, strictNullChecks: true, strictPropertyInitialization: true, stripInternal: true, target: 'ES2018', outDir: props === null || props === void 0 ? void 0 : props.outDir, ...props === null || props === void 0 ? void 0 : props.compilerOptions, }, exclude: props === null || props === void 0 ? void 0 : props.exclude, include: props === null || props === void 0 ? void 0 : props.include, }); } static fromLambdaTemplate(props) { return new TsConfig({ compilerOptions: { alwaysStrict: true, charset: 'utf8', declaration: false, experimentalDecorators: true, esModuleInterop: true, sourceMap: true, inlineSources: true, lib: ['es2018'], module: 'CommonJS', noEmit: true, noFallthroughCasesInSwitch: true, noImplicitAny: true, noImplicitReturns: true, noImplicitThis: true, noUnusedLocals: true, noUnusedParameters: true, resolveJsonModule: true, strict: true, strictNullChecks: true, strictPropertyInitialization: true, stripInternal: true, target: 'ES2018', jsx: 'react', outDir: props === null || props === void 0 ? void 0 : props.outDir, ...props === null || props === void 0 ? void 0 : props.compilerOptions, }, exclude: props === null || props === void 0 ? void 0 : props.exclude, include: props === null || props === void 0 ? void 0 : props.include, }); } getCompilerOptions() { return this.tsConfig.compilerOptions; } async writeJson(filePath, options = {}) { if (!options.overwriteExisting) { const exists = await fs.pathExists(filePath); if (exists) { return; } } await fs.writeJson(filePath, this.tsConfig, { encoding: 'utf8', spaces: 2, }); } } exports.TsConfig = TsConfig; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHMtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RzLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUErQjtBQVMvQixNQUFhLFFBQVE7SUFtRW5CLFlBQTZCLFFBQXNCO1FBQXRCLGFBQVEsR0FBUixRQUFRLENBQWM7SUFBRyxDQUFDO0lBbEVoRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBcUI7UUFDbEQsT0FBTyxJQUFJLFFBQVEsQ0FBQztZQUNsQixlQUFlLEVBQUU7Z0JBQ2YsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLE9BQU8sRUFBRSxNQUFNO2dCQUNmLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixzQkFBc0IsRUFBRSxJQUFJO2dCQUM1QixlQUFlLEVBQUUsSUFBSTtnQkFDckIsYUFBYSxFQUFFLElBQUk7Z0JBQ25CLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDZixNQUFNLEVBQUUsVUFBVTtnQkFDbEIsYUFBYSxFQUFFLElBQUk7Z0JBQ25CLDBCQUEwQixFQUFFLElBQUk7Z0JBQ2hDLGFBQWEsRUFBRSxJQUFJO2dCQUNuQixpQkFBaUIsRUFBRSxJQUFJO2dCQUN2QixjQUFjLEVBQUUsSUFBSTtnQkFDcEIsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLGtCQUFrQixFQUFFLElBQUk7Z0JBQ3hCLGlCQUFpQixFQUFFLElBQUk7Z0JBQ3ZCLE1BQU0sRUFBRSxJQUFJO2dCQUNaLGdCQUFnQixFQUFFLElBQUk7Z0JBQ3RCLDRCQUE0QixFQUFFLElBQUk7Z0JBQ2xDLGFBQWEsRUFBRSxJQUFJO2dCQUNuQixNQUFNLEVBQUUsUUFBUTtnQkFDaEIsTUFBTSxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxNQUFNO2dCQUNyQixHQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlO2FBQzFCO1lBQ0QsT0FBTyxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPO1lBQ3ZCLE9BQU8sRUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTztTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQXFCO1FBQ3BELE9BQU8sSUFBSSxRQUFRLENBQUM7WUFDbEIsZUFBZSxFQUFFO2dCQUNmLFlBQVksRUFBRSxJQUFJO2dCQUNsQixPQUFPLEVBQUUsTUFBTTtnQkFDZixXQUFXLEVBQUUsS0FBSztnQkFDbEIsc0JBQXNCLEVBQUUsSUFBSTtnQkFDNUIsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLFNBQVMsRUFBRSxJQUFJO2dCQUNmLGFBQWEsRUFBRSxJQUFJO2dCQUNuQixHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ2YsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLE1BQU0sRUFBRSxJQUFJO2dCQUNaLDBCQUEwQixFQUFFLElBQUk7Z0JBQ2hDLGFBQWEsRUFBRSxJQUFJO2dCQUNuQixpQkFBaUIsRUFBRSxJQUFJO2dCQUN2QixjQUFjLEVBQUUsSUFBSTtnQkFDcEIsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLGtCQUFrQixFQUFFLElBQUk7Z0JBQ3hCLGlCQUFpQixFQUFFLElBQUk7Z0JBQ3ZCLE1BQU0sRUFBRSxJQUFJO2dCQUNaLGdCQUFnQixFQUFFLElBQUk7Z0JBQ3RCLDRCQUE0QixFQUFFLElBQUk7Z0JBQ2xDLGFBQWEsRUFBRSxJQUFJO2dCQUNuQixNQUFNLEVBQUUsUUFBUTtnQkFDaEIsR0FBRyxFQUFFLE9BQU87Z0JBQ1osTUFBTSxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxNQUFNO2dCQUNyQixHQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlO2FBQzFCO1lBQ0QsT0FBTyxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPO1lBQ3ZCLE9BQU8sRUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTztTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBSU0sa0JBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7SUFDdkMsQ0FBQztJQUVNLEtBQUssQ0FBQyxTQUFTLENBQ3BCLFFBQWdCLEVBQ2hCLFVBQTJDLEVBQUU7UUFFN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTtZQUM5QixNQUFNLE1BQU0sR0FBRyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDN0MsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsT0FBTzthQUNSO1NBQ0Y7UUFFRCxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDMUMsUUFBUSxFQUFFLE1BQU07WUFDaEIsTUFBTSxFQUFFLENBQUM7U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF6RkQsNEJBeUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0IHR5cGUgeyBUc0NvbmZpZ0pzb24gfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRzQ29uZmlnUHJvcHMge1xuICBjb21waWxlck9wdGlvbnM/OiBQYXJ0aWFsPFRzQ29uZmlnSnNvbi5Db21waWxlck9wdGlvbnM+O1xuICBvdXREaXI/OiBzdHJpbmc7XG4gIGV4Y2x1ZGU/OiBzdHJpbmdbXTtcbiAgaW5jbHVkZT86IHN0cmluZ1tdO1xufVxuZXhwb3J0IGNsYXNzIFRzQ29uZmlnIHtcbiAgcHVibGljIHN0YXRpYyBmcm9tSnNpaVRlbXBsYXRlKHByb3BzPzogVHNDb25maWdQcm9wcyk6IFRzQ29uZmlnIHtcbiAgICByZXR1cm4gbmV3IFRzQ29uZmlnKHtcbiAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICBhbHdheXNTdHJpY3Q6IHRydWUsXG4gICAgICAgIGNoYXJzZXQ6ICd1dGY4JyxcbiAgICAgICAgZGVjbGFyYXRpb246IHRydWUsXG4gICAgICAgIGV4cGVyaW1lbnRhbERlY29yYXRvcnM6IHRydWUsXG4gICAgICAgIGlubGluZVNvdXJjZU1hcDogdHJ1ZSxcbiAgICAgICAgaW5saW5lU291cmNlczogdHJ1ZSxcbiAgICAgICAgbGliOiBbJ2VzMjAxOCddLFxuICAgICAgICBtb2R1bGU6ICdDb21tb25KUycsXG4gICAgICAgIG5vRW1pdE9uRXJyb3I6IHRydWUsXG4gICAgICAgIG5vRmFsbHRocm91Z2hDYXNlc0luU3dpdGNoOiB0cnVlLFxuICAgICAgICBub0ltcGxpY2l0QW55OiB0cnVlLFxuICAgICAgICBub0ltcGxpY2l0UmV0dXJuczogdHJ1ZSxcbiAgICAgICAgbm9JbXBsaWNpdFRoaXM6IHRydWUsXG4gICAgICAgIG5vVW51c2VkTG9jYWxzOiB0cnVlLFxuICAgICAgICBub1VudXNlZFBhcmFtZXRlcnM6IHRydWUsXG4gICAgICAgIHJlc29sdmVKc29uTW9kdWxlOiB0cnVlLFxuICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgIHN0cmljdE51bGxDaGVja3M6IHRydWUsXG4gICAgICAgIHN0cmljdFByb3BlcnR5SW5pdGlhbGl6YXRpb246IHRydWUsXG4gICAgICAgIHN0cmlwSW50ZXJuYWw6IHRydWUsXG4gICAgICAgIHRhcmdldDogJ0VTMjAxOCcsXG4gICAgICAgIG91dERpcjogcHJvcHM/Lm91dERpcixcbiAgICAgICAgLi4ucHJvcHM/LmNvbXBpbGVyT3B0aW9ucyxcbiAgICAgIH0sXG4gICAgICBleGNsdWRlOiBwcm9wcz8uZXhjbHVkZSxcbiAgICAgIGluY2x1ZGU6IHByb3BzPy5pbmNsdWRlLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tTGFtYmRhVGVtcGxhdGUocHJvcHM/OiBUc0NvbmZpZ1Byb3BzKTogVHNDb25maWcge1xuICAgIHJldHVybiBuZXcgVHNDb25maWcoe1xuICAgICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAgIGFsd2F5c1N0cmljdDogdHJ1ZSxcbiAgICAgICAgY2hhcnNldDogJ3V0ZjgnLFxuICAgICAgICBkZWNsYXJhdGlvbjogZmFsc2UsXG4gICAgICAgIGV4cGVyaW1lbnRhbERlY29yYXRvcnM6IHRydWUsXG4gICAgICAgIGVzTW9kdWxlSW50ZXJvcDogdHJ1ZSxcbiAgICAgICAgc291cmNlTWFwOiB0cnVlLFxuICAgICAgICBpbmxpbmVTb3VyY2VzOiB0cnVlLFxuICAgICAgICBsaWI6IFsnZXMyMDE4J10sXG4gICAgICAgIG1vZHVsZTogJ0NvbW1vbkpTJyxcbiAgICAgICAgbm9FbWl0OiB0cnVlLFxuICAgICAgICBub0ZhbGx0aHJvdWdoQ2FzZXNJblN3aXRjaDogdHJ1ZSxcbiAgICAgICAgbm9JbXBsaWNpdEFueTogdHJ1ZSxcbiAgICAgICAgbm9JbXBsaWNpdFJldHVybnM6IHRydWUsXG4gICAgICAgIG5vSW1wbGljaXRUaGlzOiB0cnVlLFxuICAgICAgICBub1VudXNlZExvY2FsczogdHJ1ZSxcbiAgICAgICAgbm9VbnVzZWRQYXJhbWV0ZXJzOiB0cnVlLFxuICAgICAgICByZXNvbHZlSnNvbk1vZHVsZTogdHJ1ZSxcbiAgICAgICAgc3RyaWN0OiB0cnVlLFxuICAgICAgICBzdHJpY3ROdWxsQ2hlY2tzOiB0cnVlLFxuICAgICAgICBzdHJpY3RQcm9wZXJ0eUluaXRpYWxpemF0aW9uOiB0cnVlLFxuICAgICAgICBzdHJpcEludGVybmFsOiB0cnVlLFxuICAgICAgICB0YXJnZXQ6ICdFUzIwMTgnLFxuICAgICAgICBqc3g6ICdyZWFjdCcsXG4gICAgICAgIG91dERpcjogcHJvcHM/Lm91dERpcixcbiAgICAgICAgLi4ucHJvcHM/LmNvbXBpbGVyT3B0aW9ucyxcbiAgICAgIH0sXG4gICAgICBleGNsdWRlOiBwcm9wcz8uZXhjbHVkZSxcbiAgICAgIGluY2x1ZGU6IHByb3BzPy5pbmNsdWRlLFxuICAgIH0pO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0c0NvbmZpZzogVHNDb25maWdKc29uKSB7fVxuXG4gIHB1YmxpYyBnZXRDb21waWxlck9wdGlvbnMoKTogVHNDb25maWdKc29uLkNvbXBpbGVyT3B0aW9ucyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMudHNDb25maWcuY29tcGlsZXJPcHRpb25zO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHdyaXRlSnNvbihcbiAgICBmaWxlUGF0aDogc3RyaW5nLFxuICAgIG9wdGlvbnM6IHsgb3ZlcndyaXRlRXhpc3Rpbmc/OiBib29sZWFuIH0gPSB7fSxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFvcHRpb25zLm92ZXJ3cml0ZUV4aXN0aW5nKSB7XG4gICAgICBjb25zdCBleGlzdHMgPSBhd2FpdCBmcy5wYXRoRXhpc3RzKGZpbGVQYXRoKTtcbiAgICAgIGlmIChleGlzdHMpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGF3YWl0IGZzLndyaXRlSnNvbihmaWxlUGF0aCwgdGhpcy50c0NvbmZpZywge1xuICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgIHNwYWNlczogMixcbiAgICB9KTtcbiAgfVxufVxuIl19