Skip to content

Commit

Permalink
feat: initial cdk config/boilerplate setup
Browse files Browse the repository at this point in the history
  • Loading branch information
joelcox22 committed Apr 27, 2024
1 parent e335c0d commit a01c128
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 1 deletion.
41 changes: 41 additions & 0 deletions packages/lint/config/cdk.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import * as util from '../util.js';
import * as fs from 'fs';

const debug = util.debug('configure-cdk');

export const name = 'cdk';

export default function configure() {
const packageJson = util.readJson('package.json');
if (packageJson.devDependencies['aws-cdk-lib']) {
debug('aws-cdk-lib is a devDependency, setting up cdk things');
if (!('aws-cdk' in packageJson.devDependencies)) {
// add aws-cdk cli to the project dependencies as well if needed
packageJson.devDependencies['aws-cdk'] = packageJson.devDependencies['aws-cdk-lib'];
}
if (!fs.existsSync('cdk.json')) {
const cdkJson = util.readJson('cdk.json', {
app: 'tsx cdk/index.ts',
});
if (!cdkJson.context) {
cdkJson.context = {};
}
util.writeJson('cdk.json', cdkJson);
}
if (!fs.existsSync('cdk/index.ts')) {
fs.writeFileSync('cdk/index.ts', '// todo\n');
}
if (!fs.existsSync('cdk/app.ts')) {
fs.writeFileSync(
'cdk/app.ts',
`import * as cdk from 'aws-cdk-lib';
export const app = new cdk.App();
`,
);
}
util.writeJson('package.json', packageJson);
} else {
debug('aws-cdk-lib is not a devDependency, skipping cdk configuration');
}
}
3 changes: 2 additions & 1 deletion packages/lint/config/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import * as markdown from './markdown.js';
import * as semanticRelease from './semantic-release.js';
import * as forceDevDependencies from './force-devDependencies.js';
import * as jest from './jest.js';
import * as cdk from './cdk.js';
import * as util from '../util.js';

const debug = util.debug('configure');
Expand All @@ -29,7 +30,7 @@ export default function configure() {
dirs.push(path.join(process.cwd(), file, '..'));
});
}
const plugins = [packageJson, forceDevDependencies, jest, gitignore, eslint, prettier, vscode, editorconfig, markdown, semanticRelease];
const plugins = [packageJson, forceDevDependencies, jest, gitignore, eslint, prettier, vscode, editorconfig, markdown, semanticRelease, cdk];
// eslint-disable-next-line no-inner-declarations
function exec(plugin, step) {
if (plugin[step]) {
Expand Down
3 changes: 3 additions & 0 deletions packages/lint/config/packageJson.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ export function post() {
if (Object.keys(packageJson.devDependencies).length === 0) {
delete packageJson.devDependencies;
}
if (!('type' in packageJson)) {
packageJson.type = 'module';
}
util.writeJson(
'package.json',
util.sortKeys(packageJson, [
Expand Down

0 comments on commit a01c128

Please sign in to comment.