in projenrc/projects/pdk-project.ts [257:342]
constructor(project: PDKProject, publishConfig?: PublishConfig) {
super(project, {
versionFile: "package.json",
task: project.buildTask,
branch: "mainline",
artifactsDirectory: project.artifactsDirectory,
});
project.addDevDeps("license-checker", "generate-license-file");
project.packageTask.reset();
project.packageTask.exec(
NodePackageUtils.command.exec(
project.package.packageManager,
"license-checker",
"--summary",
"--production",
"--onlyAllow",
"'MIT;Apache-2.0;Unlicense;BSD;BSD-2-Clause;BSD-3-Clause;ISC;'"
)
);
project.packageTask.exec(
NodePackageUtils.command.exec(
project.package.packageManager,
"generate-license-file",
"--input package.json",
"--output LICENSE_THIRD_PARTY",
"--overwrite"
)
);
project.packageTask.spawn(project.tasks.tryFind("package-all")!);
this.updateJsPackageTask(project);
this.updateJavaPackageTask(project);
this.updatePythonPackageTask(project);
const releaseTask = project.tasks.tryFind("release:mainline")!;
releaseTask.reset();
releaseTask.env("RELEASE", "true");
releaseTask.exec("rm -rf dist");
releaseTask.spawn(project.tasks.tryFind("bump")!);
releaseTask.spawn(project.preCompileTask);
releaseTask.spawn(project.compileTask);
releaseTask.spawn(project.postCompileTask);
releaseTask.spawn(project.packageTask);
releaseTask.spawn(project.tasks.tryFind("unbump")!);
[
".gitattributes",
".prettier*",
"index.ts",
"project.json",
"!/assets",
"!/samples",
"!/scripts",
"!.jsii",
"!README.md",
"!LICENSE",
"!LICENSE_THIRD_PARTY",
"!scripts",
"!_scripts",
"!assets",
"!samples",
"!index.js",
"!index.d.ts",
...(PdkProject.getJsiiProjects(project.parent) || []).map(
(p) => `!/${PdkProject.getProjectName(p)}`
),
...(PdkProject.getJsiiProjects(project.parent) || []).map(
(p) => `/${PdkProject.getProjectName(p)}/**/*.ts`
),
...(PdkProject.getJsiiProjects(project.parent) || []).map(
(p) => `!/${PdkProject.getProjectName(p)}/**/*.d.ts`
),
].forEach((p) => project.addPackageIgnore(p));
project.package.addField("publishConfig", {
access: "public",
...publishConfig,
});
NxProject.of(project)?.addBuildTargetFiles(
["!{projectRoot}/LICENSE_THIRD_PARTY"],
["{projectRoot}/LICENSE_THIRD_PARTY"]
);
}