cdkdx
Version:
Zero-config CLI for aws cdk development
45 lines • 4.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AppProject = void 0;
const semver_1 = require("../semver");
const project_1 = require("./project");
const json_file_1 = require("./json-file");
class AppProject extends project_1.Project {
constructor(options) {
super(options);
this.addScripts({
cdk: 'cdk',
});
this.addDependencies({
'@aws-cdk/core': options.dependencyVersions['@aws-cdk/core'],
'source-map-support': options.dependencyVersions['source-map-support'],
});
this.addDevDependencies({
'@aws-cdk/assert': options.dependencyVersions['@aws-cdk/core'],
'@types/node': semver_1.Semver.caret(this.minNodeVersion),
'aws-cdk': options.dependencyVersions['@aws-cdk/core'],
cdkdx: options.dependencyVersions['cdkdx'],
});
new json_file_1.JsonFile(this, 'cdk.json', {
obj: {
app: `cdkdx node src/${options.name}-app.ts`,
context: {
'@aws-cdk/core:enableStackNameDuplicates': 'true',
'aws-cdk:enableDiffNoFail': 'true',
},
},
});
this.gitignore.exclude('cdk.out', 'cdk.context.json');
this.addFiles([
'API.md',
'README.md',
'LICENCE',
'src/${name}-app.ts',
'src/${name}-stack.ts',
'src/lambdas',
'src/__tests__/${name}-stack.test.ts',
]);
}
}
exports.AppProject = AppProject;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVtcGxhdGVzL2FwcC1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNDQUFtQztBQUNuQyx1Q0FBb0Q7QUFDcEQsMkNBQXVDO0FBRXZDLE1BQWEsVUFBVyxTQUFRLGlCQUFPO0lBQ3JDLFlBQVksT0FBdUI7UUFDakMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNkLEdBQUcsRUFBRSxLQUFLO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUNuQixlQUFlLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQztZQUM1RCxvQkFBb0IsRUFBRSxPQUFPLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7U0FDdkUsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1lBQ3RCLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7WUFDOUQsYUFBYSxFQUFFLGVBQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUNoRCxTQUFTLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQztZQUN0RCxLQUFLLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztTQUMzQyxDQUFDLENBQUM7UUFFSCxJQUFJLG9CQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUM3QixHQUFHLEVBQUU7Z0JBQ0gsR0FBRyxFQUFFLGtCQUFrQixPQUFPLENBQUMsSUFBSSxTQUFTO2dCQUM1QyxPQUFPLEVBQUU7b0JBQ1AseUNBQXlDLEVBQUUsTUFBTTtvQkFDakQsMEJBQTBCLEVBQUUsTUFBTTtpQkFDbkM7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBRXRELElBQUksQ0FBQyxRQUFRLENBQUM7WUFDWixRQUFRO1lBQ1IsV0FBVztZQUNYLFNBQVM7WUFDVCxvQkFBb0I7WUFDcEIsc0JBQXNCO1lBQ3RCLGFBQWE7WUFDYixxQ0FBcUM7U0FDdEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBMUNELGdDQTBDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbXZlciB9IGZyb20gJy4uL3NlbXZlcic7XG5pbXBvcnQgeyBQcm9qZWN0LCBQcm9qZWN0T3B0aW9ucyB9IGZyb20gJy4vcHJvamVjdCc7XG5pbXBvcnQgeyBKc29uRmlsZSB9IGZyb20gJy4vanNvbi1maWxlJztcblxuZXhwb3J0IGNsYXNzIEFwcFByb2plY3QgZXh0ZW5kcyBQcm9qZWN0IHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogUHJvamVjdE9wdGlvbnMpIHtcbiAgICBzdXBlcihvcHRpb25zKTtcblxuICAgIHRoaXMuYWRkU2NyaXB0cyh7XG4gICAgICBjZGs6ICdjZGsnLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGREZXBlbmRlbmNpZXMoe1xuICAgICAgJ0Bhd3MtY2RrL2NvcmUnOiBvcHRpb25zLmRlcGVuZGVuY3lWZXJzaW9uc1snQGF3cy1jZGsvY29yZSddLFxuICAgICAgJ3NvdXJjZS1tYXAtc3VwcG9ydCc6IG9wdGlvbnMuZGVwZW5kZW5jeVZlcnNpb25zWydzb3VyY2UtbWFwLXN1cHBvcnQnXSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkRGV2RGVwZW5kZW5jaWVzKHtcbiAgICAgICdAYXdzLWNkay9hc3NlcnQnOiBvcHRpb25zLmRlcGVuZGVuY3lWZXJzaW9uc1snQGF3cy1jZGsvY29yZSddLFxuICAgICAgJ0B0eXBlcy9ub2RlJzogU2VtdmVyLmNhcmV0KHRoaXMubWluTm9kZVZlcnNpb24pLFxuICAgICAgJ2F3cy1jZGsnOiBvcHRpb25zLmRlcGVuZGVuY3lWZXJzaW9uc1snQGF3cy1jZGsvY29yZSddLFxuICAgICAgY2RrZHg6IG9wdGlvbnMuZGVwZW5kZW5jeVZlcnNpb25zWydjZGtkeCddLFxuICAgIH0pO1xuXG4gICAgbmV3IEpzb25GaWxlKHRoaXMsICdjZGsuanNvbicsIHtcbiAgICAgIG9iajoge1xuICAgICAgICBhcHA6IGBjZGtkeCBub2RlIHNyYy8ke29wdGlvbnMubmFtZX0tYXBwLnRzYCxcbiAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICdAYXdzLWNkay9jb3JlOmVuYWJsZVN0YWNrTmFtZUR1cGxpY2F0ZXMnOiAndHJ1ZScsXG4gICAgICAgICAgJ2F3cy1jZGs6ZW5hYmxlRGlmZk5vRmFpbCc6ICd0cnVlJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmdpdGlnbm9yZS5leGNsdWRlKCdjZGsub3V0JywgJ2Nkay5jb250ZXh0Lmpzb24nKTtcblxuICAgIHRoaXMuYWRkRmlsZXMoW1xuICAgICAgJ0FQSS5tZCcsXG4gICAgICAnUkVBRE1FLm1kJyxcbiAgICAgICdMSUNFTkNFJyxcbiAgICAgICdzcmMvJHtuYW1lfS1hcHAudHMnLFxuICAgICAgJ3NyYy8ke25hbWV9LXN0YWNrLnRzJyxcbiAgICAgICdzcmMvbGFtYmRhcycsXG4gICAgICAnc3JjL19fdGVzdHNfXy8ke25hbWV9LXN0YWNrLnRlc3QudHMnLFxuICAgIF0pO1xuICB9XG59XG4iXX0=