in projenrc/projects/infrastructure-project.ts [42:119]
private generateInterfaces() {
new ProjenStruct(this, {
name: "AwsCdkTypeScriptAppOptions",
filePath: `${this.srcdir}/projects/typescript/aws-cdk-ts-app-options.ts`,
outputFileOptions: {
readonly: false, // Needed as EsLint will complain otherwise
},
})
.mixin(Struct.fromFqn("projen.awscdk.AwsCdkTypeScriptAppOptions"))
.allOptional()
.add({
name: "name",
type: { primitive: PrimitiveType.String },
optional: false,
docs: {
default: "$BASEDIR",
},
});
new ProjenStruct(this, {
name: "AwsCdkJavaAppOptions",
filePath: `${this.srcdir}/projects/java/aws-cdk-java-app-options.ts`,
outputFileOptions: {
readonly: false, // Needed as EsLint will complain otherwise
},
})
.mixin(Struct.fromFqn("projen.awscdk.AwsCdkJavaAppOptions"))
.allOptional()
.add({
name: "name",
type: { primitive: PrimitiveType.String },
optional: false,
docs: {
default: "$BASEDIR",
},
})
.omit("mainClass");
new ProjenStruct(this, {
name: "AwsCdkPythonAppOptions",
filePath: `${this.srcdir}/projects/python/aws-cdk-py-app-options.ts`,
outputFileOptions: {
readonly: false, // Needed as EsLint will complain otherwise
},
})
.mixin(Struct.fromFqn("projen.awscdk.AwsCdkPythonAppOptions"))
.allOptional()
.add({
name: "name",
type: { primitive: PrimitiveType.String },
optional: false,
docs: {
default: "$BASEDIR",
},
})
.omit(
"appEntrypoint",
"pip",
"venv",
"venvOptions",
"poetry",
"projenrcPython",
"projenrcJs",
"projenrcJsOptions",
"projenrcTs",
"projenrcTsOptions"
);
this.eslint?.addIgnorePattern(
`${this.srcdir}/projects/typescript/aws-cdk-ts-app-options.ts`
);
this.eslint?.addIgnorePattern(
`${this.srcdir}/projects/java/aws-cdk-java-app-options.ts`
);
this.eslint?.addIgnorePattern(
`${this.srcdir}/projects/python/aws-cdk-py-app-options.ts`
);
}