cdkdx
Version:
Zero-config CLI for aws cdk development
113 lines • 11.1 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;
};
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