UNPKG

@nswhp/golden-path

Version:
41 lines (40 loc) 3.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.awsCdkTemplate = void 0; const child_process_1 = require("child_process"); const files_1 = require("../../models/files"); const logger_util_1 = require("../../utils/logger.util"); const default_template_1 = require("../default/default.template"); const files_2 = require("./files"); async function awsCdkTemplate(projectName, tagging, environments) { try { (0, logger_util_1.showInfo)(`Begging to configure your project`); (0, logger_util_1.showInfo)(`---------------------------------`); await (0, default_template_1.defaultTemplate)(files_1.FileName.PACKAGE_JSON, (0, files_2.getAwsCdkPackageJson)(projectName)); await (0, default_template_1.defaultTemplate)(files_1.FileName.README, (0, files_2.getAwsCdkReadme)(projectName, tagging)); await (0, default_template_1.defaultTemplate)(files_1.FileName.TS_CONFIG, (0, files_2.getAwsCdkTsconfig)()); await (0, default_template_1.defaultTemplate)(files_1.FileName.JEST_CONFIG, (0, files_2.getAwsCdkJestConfig)()); await (0, default_template_1.defaultTemplate)(files_1.FileName.PRETTIERRC, (0, files_2.getAwsCdkPrettier)()); await (0, default_template_1.defaultTemplate)(files_1.FileName.GIT_IGNORE, (0, files_2.getAwsCdkGitIgnore)()); await (0, default_template_1.defaultTemplate)(files_1.FileName.ESLINTRC, (0, files_2.getAwsCdkEslintConfig)()); await (0, default_template_1.defaultTemplate)(files_1.FileName.ESLINT_IGNORE, (0, files_2.getAwsCdkEslintIgnore)()); await (0, default_template_1.defaultTemplate)(files_1.FileName.TEST_DEMO, (0, files_2.getAwsCdkExampleTest)(), '/test'); await (0, default_template_1.defaultTemplate)(files_1.FileName.TAGGING_TS, (0, files_2.getAwsCdkTaggingTs)(), '/lib'); await (0, default_template_1.defaultTemplate)(files_1.FileName.CONSTANTS_TS, (0, files_2.getAwsCdkConstantsTs)(environments), '/lib'); await (0, default_template_1.defaultTemplate)(files_1.FileName.CDK_JSON, (0, files_2.getAwsCdkConfig)(projectName)); await (0, default_template_1.defaultTemplate)(files_1.FileName.CONFIG_FACTORY, (0, files_2.getAwsCdkConfigFactoryTs)(environments.find(env => env.env.toLocaleLowerCase() === 'np'), environments.find(env => env.env.toLocaleLowerCase() === 'qa'), environments.find(env => env.env.toLocaleLowerCase() === 'pd'), tagging, projectName), '/lib/config'); await (0, default_template_1.defaultTemplate)(files_1.FileName.INFRASTRUCTURE, (0, files_2.getAwsCdkInfrastructureTs)(), '/lib/config'); await (0, default_template_1.defaultTemplate)(`${projectName}.ts`, (0, files_2.getAwsCdkBinCdkProjectTs)(environments.find(env => env.env.toLocaleLowerCase() === 'np'), environments.find(env => env.env.toLocaleLowerCase() === 'qa'), environments.find(env => env.env.toLocaleLowerCase() === 'pd'), projectName), '/bin'); await (0, default_template_1.defaultTemplate)(files_1.FileName.PIPELINE, (0, files_2.getAwsCdkPipeline)(projectName), '/.pipeline'); for (const environment of environments) { await (0, default_template_1.defaultTemplate)(`${environment.env.toLocaleLowerCase()}-stack.ts`, (0, files_2.getAwsCdkStackTs)(environment.env), '/lib'); } (0, logger_util_1.showInfo)('Installing packages'); (0, child_process_1.execSync)('npm i', { stdio: 'inherit' }); } catch (e) { (0, logger_util_1.showError)(e); } return; } exports.awsCdkTemplate = awsCdkTemplate;