projenrc/projects/pdk-nag-project.ts (44 lines of code) (raw):
/*! Copyright [Amazon.com](http://amazon.com/), Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0 */
import { Project } from "projen";
import { Stability } from "projen/lib/cdk";
import { PDK_NAMESPACE, PDKProject } from "../abstract/pdk-project";
/**
* Contains utils for testing CDK based constructs.
*/
export class PDKNagProject extends PDKProject {
constructor(parent: Project) {
super({
parent,
outdir: "packages/pdk-nag",
defaultReleaseBranch: "mainline",
sampleCode: false,
jest: true,
name: "pdk-nag",
depsUpgrade: false,
peerDeps: ["aws-cdk-lib", "constructs", "cdk-nag"],
devDeps: [
"cdk-nag",
"@aws-cdk/assert",
"@types/fs-extra",
"@types/mustache",
"mustache",
"fs-extra",
"ts-node",
],
deps: [`${PDK_NAMESPACE}monorepo@^0.x`],
author: "AWS APJ COPE",
authorAddress: "apj-cope@amazon.com",
repositoryUrl: "https://github.com/aws/aws-pdk",
stability: Stability.STABLE,
eslintOptions: {
dirs: ["src", "scripts"],
},
});
this.packageTask.exec(
"npx ts-node scripts/pdk-nag/generate-pack-markdown.ts"
);
this.tsconfigEslint!.addInclude("scripts");
this.eslint?.addRules({
"import/no-extraneous-dependencies": [
"error",
{ devDependencies: ["scripts/**/*.ts", "**/*.test.ts"] },
],
});
}
}