in projenrc/projects/monorepo-project.ts [56:160]
private generateInterfaces() {
new ProjenStruct(this, {
name: "TypeScriptProjectOptions",
filePath: `${this.srcdir}/projects/typescript/typescript-project-options.ts`,
outputFileOptions: {
readonly: false, // Needed as EsLint will complain otherwise
},
})
.mixin(Struct.fromFqn("projen.typescript.TypeScriptProjectOptions"))
.allOptional()
.add({
name: "name",
type: { primitive: PrimitiveType.String },
optional: false,
docs: {
default: "$BASEDIR",
},
})
.update("deps", {
docs: {
custom: {
featured: "false",
},
},
})
.update("description", {
docs: {
custom: {
featured: "false",
},
},
})
.update("packageName", {
docs: {
custom: {
featured: "false",
},
},
});
new ProjenStruct(this, {
name: "JavaProjectOptions",
filePath: `${this.srcdir}/projects/java/java-project-options.ts`,
outputFileOptions: {
readonly: false, // Needed as EsLint will complain otherwise
},
})
.mixin(Struct.fromFqn("projen.java.JavaProjectOptions"))
.allOptional()
.add({
name: "name",
type: { primitive: PrimitiveType.String },
optional: false,
docs: {
default: "$BASEDIR",
},
});
new ProjenStruct(this, {
name: "PythonProjectOptions",
filePath: `${this.srcdir}/projects/python/python-project-options.ts`,
outputFileOptions: {
readonly: false, // Needed as EsLint will complain otherwise
},
})
.mixin(Struct.fromFqn("projen.python.PythonProjectOptions"))
.allOptional()
.add({
name: "name",
type: { primitive: PrimitiveType.String },
optional: false,
docs: {
default: "$BASEDIR",
},
})
.add({
name: "moduleName",
type: { primitive: PrimitiveType.String },
optional: false,
docs: {
default: "$PYTHON_MODULE_NAME",
},
})
.omit(
"pip",
"venv",
"venvOptions",
"poetry",
"projenrcPython",
"projenrcJs",
"projenrcJsOptions",
"projenrcTs",
"projenrcTsOptions"
);
this.eslint?.addIgnorePattern(
`${this.srcdir}/projects/typescript/typescript-project-options.ts`
);
this.eslint?.addIgnorePattern(
`${this.srcdir}/projects/java/java-project-options.ts`
);
this.eslint?.addIgnorePattern(
`${this.srcdir}/projects/python/python-project-options.ts`
);
}