projen 0.101.6 → 0.101.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/.jsii +4838 -271
  2. package/lib/ai-instructions.js +2 -2
  3. package/lib/awscdk/auto-discover.js +6 -6
  4. package/lib/awscdk/awscdk-app-java.js +1 -1
  5. package/lib/awscdk/awscdk-app-py.js +1 -1
  6. package/lib/awscdk/awscdk-app-ts.js +1 -1
  7. package/lib/awscdk/awscdk-construct.js +1 -1
  8. package/lib/awscdk/awscdk-deps-java.js +1 -1
  9. package/lib/awscdk/awscdk-deps-js.js +1 -1
  10. package/lib/awscdk/awscdk-deps-py.js +1 -1
  11. package/lib/awscdk/awscdk-deps.js +1 -1
  12. package/lib/awscdk/cdk-config.js +3 -3
  13. package/lib/awscdk/cdk-tasks.js +1 -1
  14. package/lib/awscdk/integration-test.js +1 -1
  15. package/lib/awscdk/lambda-extension.js +1 -1
  16. package/lib/awscdk/lambda-function.js +2 -2
  17. package/lib/build/build-workflow.js +1 -1
  18. package/lib/cdk/auto-discover-base.js +2 -2
  19. package/lib/cdk/construct-lib.js +1 -1
  20. package/lib/cdk/integration-test-base.js +1 -1
  21. package/lib/cdk/jsii-build.js +1 -1
  22. package/lib/cdk/jsii-docgen.js +1 -1
  23. package/lib/cdk/jsii-project.js +1 -1
  24. package/lib/cdk8s/auto-discover.js +2 -2
  25. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  26. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  27. package/lib/cdk8s/cdk8s-construct.js +1 -1
  28. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  29. package/lib/cdk8s/cdk8s-deps.js +1 -1
  30. package/lib/cdk8s/integration-test.js +1 -1
  31. package/lib/cdktf/cdktf-construct.js +1 -1
  32. package/lib/circleci/circleci.js +1 -1
  33. package/lib/cli/util.js +2 -2
  34. package/lib/component.js +2 -2
  35. package/lib/dependencies.js +1 -1
  36. package/lib/dev-env.js +1 -1
  37. package/lib/docker-compose/docker-compose-service.js +1 -1
  38. package/lib/docker-compose/docker-compose.js +1 -1
  39. package/lib/file.js +1 -1
  40. package/lib/gitattributes.js +1 -1
  41. package/lib/github/actions-provider.js +1 -1
  42. package/lib/github/auto-approve.js +1 -1
  43. package/lib/github/auto-merge.js +1 -1
  44. package/lib/github/auto-queue.js +1 -1
  45. package/lib/github/dependabot.js +1 -1
  46. package/lib/github/dependency-review.js +1 -1
  47. package/lib/github/github-credentials.js +1 -1
  48. package/lib/github/github-project.js +1 -1
  49. package/lib/github/github.js +1 -1
  50. package/lib/github/merge-queue.js +1 -1
  51. package/lib/github/mergify.js +1 -1
  52. package/lib/github/pr-template.js +1 -1
  53. package/lib/github/pull-request-backport.js +1 -1
  54. package/lib/github/pull-request-lint.js +1 -1
  55. package/lib/github/stale.js +1 -1
  56. package/lib/github/task-workflow-job.js +1 -1
  57. package/lib/github/task-workflow.js +1 -1
  58. package/lib/github/workflow-actions.js +1 -1
  59. package/lib/github/workflow-jobs.js +1 -1
  60. package/lib/github/workflow-steps.js +1 -1
  61. package/lib/github/workflows.js +1 -1
  62. package/lib/gitlab/configuration.js +1 -1
  63. package/lib/gitlab/gitlab-configuration.js +1 -1
  64. package/lib/gitlab/nested-configuration.js +1 -1
  65. package/lib/gitpod.js +1 -1
  66. package/lib/ignore-file.js +1 -1
  67. package/lib/ini.js +1 -1
  68. package/lib/java/java-project.js +1 -1
  69. package/lib/java/junit.js +1 -1
  70. package/lib/java/maven-compile.js +1 -1
  71. package/lib/java/maven-packaging.js +1 -1
  72. package/lib/java/maven-sample.js +1 -1
  73. package/lib/java/pom.js +2 -2
  74. package/lib/java/projenrc.js +1 -1
  75. package/lib/javascript/biome/biome.js +1 -1
  76. package/lib/javascript/bundler.js +1 -1
  77. package/lib/javascript/eslint.js +1 -1
  78. package/lib/javascript/index.d.ts +2 -0
  79. package/lib/javascript/index.js +3 -1
  80. package/lib/javascript/jest.js +4 -4
  81. package/lib/javascript/license-checker.js +1 -1
  82. package/lib/javascript/node-package.d.ts +113 -0
  83. package/lib/javascript/node-package.js +159 -3
  84. package/lib/javascript/node-project.js +1 -1
  85. package/lib/javascript/npm-config.js +1 -1
  86. package/lib/javascript/pnpm-workspace-config.d.ts +1256 -0
  87. package/lib/javascript/pnpm-workspace-config.js +492 -0
  88. package/lib/javascript/pnpm-workspace.d.ts +23 -0
  89. package/lib/javascript/pnpm-workspace.js +34 -0
  90. package/lib/javascript/prettier.js +1 -1
  91. package/lib/javascript/projenrc.js +1 -1
  92. package/lib/javascript/typescript-config.js +2 -2
  93. package/lib/javascript/upgrade-dependencies.js +2 -2
  94. package/lib/javascript/yarnrc.js +1 -1
  95. package/lib/json-patch.js +1 -1
  96. package/lib/json.js +1 -1
  97. package/lib/license.js +1 -1
  98. package/lib/logger.js +1 -1
  99. package/lib/makefile.js +1 -1
  100. package/lib/object-file.js +1 -1
  101. package/lib/project-build.js +1 -1
  102. package/lib/project-tree.js +1 -1
  103. package/lib/project.js +1 -1
  104. package/lib/projects.js +1 -1
  105. package/lib/projenrc-json.js +1 -1
  106. package/lib/projenrc.js +1 -1
  107. package/lib/python/pip.js +1 -1
  108. package/lib/python/poetry.js +2 -2
  109. package/lib/python/projenrc.js +1 -1
  110. package/lib/python/pyproject-toml-file.js +1 -1
  111. package/lib/python/pytest-sample.js +1 -1
  112. package/lib/python/pytest.js +1 -1
  113. package/lib/python/python-project.js +1 -1
  114. package/lib/python/python-sample.js +1 -1
  115. package/lib/python/requirements-file.js +1 -1
  116. package/lib/python/setuppy.js +1 -1
  117. package/lib/python/setuptools.js +1 -1
  118. package/lib/python/uv.js +1 -1
  119. package/lib/python/venv.js +1 -1
  120. package/lib/readme.js +1 -1
  121. package/lib/release/publisher.js +1 -1
  122. package/lib/release/release-trigger.js +1 -1
  123. package/lib/release/release.js +1 -1
  124. package/lib/renovatebot.js +1 -1
  125. package/lib/run-task.cjs +9 -1
  126. package/lib/sample-file.js +2 -2
  127. package/lib/script-runner.js +1 -1
  128. package/lib/source-code.js +1 -1
  129. package/lib/task-shell.js +1 -1
  130. package/lib/task.js +1 -1
  131. package/lib/tasks.js +1 -1
  132. package/lib/testing.js +1 -1
  133. package/lib/textfile.js +1 -1
  134. package/lib/toml.js +1 -1
  135. package/lib/typescript/projenrc-ts.js +1 -1
  136. package/lib/typescript/projenrc.js +1 -1
  137. package/lib/typescript/typescript-runner.js +1 -1
  138. package/lib/typescript/typescript-typedoc.js +1 -1
  139. package/lib/typescript/typescript.js +5 -5
  140. package/lib/version.js +2 -2
  141. package/lib/vscode/devcontainer.js +1 -1
  142. package/lib/vscode/extensions.js +1 -1
  143. package/lib/vscode/launch-config.js +1 -1
  144. package/lib/vscode/settings.js +1 -1
  145. package/lib/vscode/vscode.js +1 -1
  146. package/lib/web/next.js +3 -3
  147. package/lib/web/postcss.js +1 -1
  148. package/lib/web/react.js +3 -3
  149. package/lib/web/tailwind.js +1 -1
  150. package/lib/xmlfile.js +1 -1
  151. package/lib/yaml.js +1 -1
  152. package/package.json +9 -1
@@ -21,7 +21,7 @@ const vscode_1 = require("../vscode");
21
21
  * "engines" can be used to implement our CI/CD solutions.
22
22
  */
23
23
  class GitHubProject extends project_1.Project {
24
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GitHubProject", version: "0.101.6" };
24
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GitHubProject", version: "0.101.7" };
25
25
  /**
26
26
  * Access all github components.
27
27
  *
@@ -15,7 +15,7 @@ const workflow_steps_1 = require("./workflow-steps");
15
15
  const workflows_1 = require("./workflows");
16
16
  const component_1 = require("../component");
17
17
  class GitHub extends component_1.Component {
18
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GitHub", version: "0.101.6" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GitHub", version: "0.101.7" };
19
19
  /**
20
20
  * Returns the `GitHub` component of a project or `undefined` if the project
21
21
  * does not have a GitHub component.
@@ -10,7 +10,7 @@ const github_1 = require("./github");
10
10
  */
11
11
  class MergeQueue extends component_1.Component {
12
12
  options;
13
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.MergeQueue", version: "0.101.6" };
13
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.MergeQueue", version: "0.101.7" };
14
14
  constructor(scope, options = {}) {
15
15
  super(scope);
16
16
  this.options = options;
@@ -6,7 +6,7 @@ const component_1 = require("../component");
6
6
  const util_1 = require("../util");
7
7
  const yaml_1 = require("../yaml");
8
8
  class Mergify extends component_1.Component {
9
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.Mergify", version: "0.101.6" };
9
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.Mergify", version: "0.101.7" };
10
10
  rules = new Array();
11
11
  queues = new Array();
12
12
  // The actual YAML file will only be created if at least 1 rule is added.
@@ -7,7 +7,7 @@ const textfile_1 = require("../textfile");
7
7
  * Template for GitHub pull requests.
8
8
  */
9
9
  class PullRequestTemplate extends textfile_1.TextFile {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.PullRequestTemplate", version: "0.101.6" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.PullRequestTemplate", version: "0.101.7" };
11
11
  /**
12
12
  * Returns the `PullRequestTemplate` instance associated with a project or `undefined` if
13
13
  * there is no PullRequestTemplate.
@@ -9,7 +9,7 @@ const component_1 = require("../component");
9
9
  const json_1 = require("../json");
10
10
  const release_1 = require("../release");
11
11
  class PullRequestBackport extends component_1.Component {
12
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.PullRequestBackport", version: "0.101.6" };
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.PullRequestBackport", version: "0.101.7" };
13
13
  file;
14
14
  workflow;
15
15
  constructor(scope, options = {}) {
@@ -13,7 +13,7 @@ const runner_options_1 = require("../runner-options");
13
13
  class PullRequestLint extends component_1.Component {
14
14
  github;
15
15
  options;
16
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.PullRequestLint", version: "0.101.6" };
16
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.PullRequestLint", version: "0.101.7" };
17
17
  constructor(github, options = {}) {
18
18
  super(github.project);
19
19
  this.github = github;
@@ -18,7 +18,7 @@ const runner_options_1 = require("../runner-options");
18
18
  * @see https://github.com/actions/stale
19
19
  */
20
20
  class Stale extends component_1.Component {
21
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.Stale", version: "0.101.6" };
21
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.Stale", version: "0.101.7" };
22
22
  constructor(github, options = {}) {
23
23
  super(github.project);
24
24
  const stale = github.addWorkflow("stale");
@@ -13,7 +13,7 @@ const util_1 = require("./private/util");
13
13
  * @implements {Job}
14
14
  */
15
15
  class TaskWorkflowJob extends component_1.Component {
16
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.TaskWorkflowJob", version: "0.101.6" };
16
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.TaskWorkflowJob", version: "0.101.7" };
17
17
  runsOn;
18
18
  runsOnGroup;
19
19
  steps;
@@ -9,7 +9,7 @@ const DEFAULT_JOB_ID = "build";
9
9
  * A GitHub workflow for common build tasks within a project.
10
10
  */
11
11
  class TaskWorkflow extends workflows_1.GithubWorkflow {
12
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.TaskWorkflow", version: "0.101.6" };
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.TaskWorkflow", version: "0.101.7" };
13
13
  jobId;
14
14
  artifactsDirectory;
15
15
  constructor(github, options) {
@@ -15,7 +15,7 @@ const RUNNER_TEMP = "${{ runner.temp }}";
15
15
  * A set of utility functions for creating GitHub actions in workflows.
16
16
  */
17
17
  class WorkflowActions {
18
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.WorkflowActions", version: "0.101.6" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.WorkflowActions", version: "0.101.7" };
19
19
  /**
20
20
  * Creates a .patch file from the current git diff and uploads it as an
21
21
  * artifact. Use `checkoutWithPatch` to download and apply in another job.
@@ -10,7 +10,7 @@ const runner_options_1 = require("../runner-options");
10
10
  * A set of utility functions for creating jobs in GitHub Workflows.
11
11
  */
12
12
  class WorkflowJobs {
13
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.WorkflowJobs", version: "0.101.6" };
13
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.WorkflowJobs", version: "0.101.7" };
14
14
  /**
15
15
  * Creates a pull request with the changes of a patch file.
16
16
  *
@@ -25,7 +25,7 @@ var CheckoutSubmodules;
25
25
  * A collection of very commonly used, individual, GitHub Workflow Job steps.
26
26
  */
27
27
  class WorkflowSteps {
28
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.WorkflowSteps", version: "0.101.6" };
28
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.WorkflowSteps", version: "0.101.7" };
29
29
  /**
30
30
  * Checks out a repository.
31
31
  *
@@ -16,7 +16,7 @@ const yaml_1 = require("../yaml");
16
16
  * @see https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
17
17
  */
18
18
  class GithubWorkflow extends component_1.Component {
19
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GithubWorkflow", version: "0.101.6" };
19
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GithubWorkflow", version: "0.101.7" };
20
20
  /**
21
21
  * The name of the workflow. GitHub displays the names of your workflows under your repository's
22
22
  * "Actions" tab.
@@ -45,7 +45,7 @@ const yaml_1 = require("../yaml");
45
45
  * @see https://docs.gitlab.com/ee/ci/yaml/
46
46
  */
47
47
  class CiConfiguration extends component_1.Component {
48
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.gitlab.CiConfiguration", version: "0.101.6" };
48
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.gitlab.CiConfiguration", version: "0.101.7" };
49
49
  /**
50
50
  * The name of the configuration.
51
51
  */
@@ -8,7 +8,7 @@ const nested_configuration_1 = require("./nested-configuration");
8
8
  * A GitLab CI for the main `.gitlab-ci.yml` file.
9
9
  */
10
10
  class GitlabConfiguration extends configuration_1.CiConfiguration {
11
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.gitlab.GitlabConfiguration", version: "0.101.6" };
11
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.gitlab.GitlabConfiguration", version: "0.101.7" };
12
12
  nestedTemplates = {};
13
13
  constructor(project, options) {
14
14
  super(project, "gitlab-ci", options);
@@ -7,7 +7,7 @@ const configuration_1 = require("./configuration");
7
7
  * A GitLab CI for templates that are created and included in the `.gitlab-ci.yml` file.
8
8
  */
9
9
  class NestedConfiguration extends configuration_1.CiConfiguration {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.gitlab.NestedConfiguration", version: "0.101.6" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.gitlab.NestedConfiguration", version: "0.101.7" };
11
11
  parent;
12
12
  constructor(project, parent, name, options) {
13
13
  super(project, name, options);
package/lib/gitpod.js CHANGED
@@ -106,7 +106,7 @@ var GitpodPortVisibility;
106
106
  * The Gitpod component which emits .gitpod.yml
107
107
  */
108
108
  class Gitpod extends component_1.Component {
109
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Gitpod", version: "0.101.6" };
109
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Gitpod", version: "0.101.7" };
110
110
  dockerImage;
111
111
  prebuilds;
112
112
  tasks = new Array();
@@ -5,7 +5,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
5
  const file_1 = require("./file");
6
6
  const util_1 = require("./util");
7
7
  class IgnoreFile extends file_1.FileBase {
8
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.IgnoreFile", version: "0.101.6" };
8
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.IgnoreFile", version: "0.101.7" };
9
9
  _patterns;
10
10
  filterCommentLines;
11
11
  filterEmptyLines;
package/lib/ini.js CHANGED
@@ -41,7 +41,7 @@ const object_file_1 = require("./object-file");
41
41
  * Represents an INI file.
42
42
  */
43
43
  class IniFile extends object_file_1.ObjectFile {
44
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.IniFile", version: "0.101.6" };
44
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.IniFile", version: "0.101.7" };
45
45
  constructor(project, filePath, options) {
46
46
  super(project, filePath, options);
47
47
  }
@@ -16,7 +16,7 @@ const util_1 = require("../util");
16
16
  * @pjid java
17
17
  */
18
18
  class JavaProject extends github_1.GitHubProject {
19
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.JavaProject", version: "0.101.6" };
19
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.JavaProject", version: "0.101.7" };
20
20
  /**
21
21
  * API for managing `pom.xml`.
22
22
  */
package/lib/java/junit.js CHANGED
@@ -10,7 +10,7 @@ const TESTDIR = (0, path_1.join)("src", "test", "java");
10
10
  * Implements JUnit-based testing.
11
11
  */
12
12
  class Junit extends component_1.Component {
13
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.Junit", version: "0.101.6" };
13
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.Junit", version: "0.101.7" };
14
14
  constructor(project, options) {
15
15
  super(project);
16
16
  const pom = options.pom;
@@ -7,7 +7,7 @@ const component_1 = require("../component");
7
7
  * Adds the maven-compiler plugin to a POM file and the `compile` task.
8
8
  */
9
9
  class MavenCompile extends component_1.Component {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.MavenCompile", version: "0.101.6" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.MavenCompile", version: "0.101.7" };
11
11
  constructor(project, pom, options = {}) {
12
12
  super(project);
13
13
  project.gitignore.exclude("target");
@@ -7,7 +7,7 @@ const component_1 = require("../component");
7
7
  * Configures a maven project to produce a .jar archive with sources and javadocs.
8
8
  */
9
9
  class MavenPackaging extends component_1.Component {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.MavenPackaging", version: "0.101.6" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.MavenPackaging", version: "0.101.7" };
11
11
  /**
12
12
  * The directory containing the package output, relative to the project outdir
13
13
  */
@@ -9,7 +9,7 @@ const sample_file_1 = require("../sample-file");
9
9
  * Java code sample.
10
10
  */
11
11
  class MavenSample extends component_1.Component {
12
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.MavenSample", version: "0.101.6" };
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.MavenSample", version: "0.101.7" };
13
13
  constructor(project, options) {
14
14
  super(project);
15
15
  const pkg = options.package.split(".");
package/lib/java/pom.js CHANGED
@@ -13,7 +13,7 @@ const POM_XML_ATTRS = {
13
13
  "@xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
14
14
  };
15
15
  class UpdatePolicy {
16
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.UpdatePolicy", version: "0.101.6" };
16
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.UpdatePolicy", version: "0.101.7" };
17
17
  static ALWAYS = "always";
18
18
  static DAILY = "daily";
19
19
  static NEVER = "never";
@@ -37,7 +37,7 @@ var ChecksumPolicy;
37
37
  * details used by Maven to build the project.
38
38
  */
39
39
  class Pom extends component_1.Component {
40
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.Pom", version: "0.101.6" };
40
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.Pom", version: "0.101.7" };
41
41
  /**
42
42
  * The name of the pom file.
43
43
  */
@@ -19,7 +19,7 @@ const util_1 = require("../util");
19
19
  * `src/main/java/projenrc.java`.
20
20
  */
21
21
  class Projenrc extends projenrc_1.ProjenrcFile {
22
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.Projenrc", version: "0.101.6" };
22
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.Projenrc", version: "0.101.7" };
23
23
  /**
24
24
  * The name of the java class that includes the projen entrypoint.
25
25
  */
@@ -100,7 +100,7 @@ const DEFAULT_ASSIST = {
100
100
  */
101
101
  class Biome extends component_1.Component {
102
102
  options;
103
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Biome", version: "0.101.6" };
103
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Biome", version: "0.101.7" };
104
104
  static of(project) {
105
105
  const isBiome = (c) => c instanceof Biome;
106
106
  return project.components.find(isBiome);
@@ -45,7 +45,7 @@ const dependencies_1 = require("../dependencies");
45
45
  * single file. In the future, this will also supports bundling websites.
46
46
  */
47
47
  class Bundler extends component_1.Component {
48
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Bundler", version: "0.101.6" };
48
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Bundler", version: "0.101.7" };
49
49
  /**
50
50
  * Returns the `Bundler` instance associated with a project or `undefined` if
51
51
  * there is no Bundler.
@@ -10,7 +10,7 @@ const yaml_1 = require("../yaml");
10
10
  * Represents eslint configuration.
11
11
  */
12
12
  class Eslint extends component_1.Component {
13
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Eslint", version: "0.101.6" };
13
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Eslint", version: "0.101.7" };
14
14
  /**
15
15
  * Returns the singleton Eslint component of a project or undefined if there is none.
16
16
  */
@@ -5,6 +5,8 @@ export * from "./license-checker";
5
5
  export * from "./node-package";
6
6
  export * from "./node-project";
7
7
  export * from "./npm-config";
8
+ export * from "./pnpm-workspace";
9
+ export * from "./pnpm-workspace-config";
8
10
  export * from "./prettier";
9
11
  export * from "./projenrc";
10
12
  export * from "./typescript-config";
@@ -44,6 +44,8 @@ __exportStar(require("./license-checker"), exports);
44
44
  __exportStar(require("./node-package"), exports);
45
45
  __exportStar(require("./node-project"), exports);
46
46
  __exportStar(require("./npm-config"), exports);
47
+ __exportStar(require("./pnpm-workspace"), exports);
48
+ __exportStar(require("./pnpm-workspace-config"), exports);
47
49
  __exportStar(require("./prettier"), exports);
48
50
  __exportStar(require("./projenrc"), exports);
49
51
  __exportStar(require("./typescript-config"), exports);
@@ -51,4 +53,4 @@ __exportStar(require("./upgrade-dependencies"), exports);
51
53
  __exportStar(require("./yarnrc"), exports);
52
54
  __exportStar(require("./biome/biome"), exports);
53
55
  exports.biome_config = __importStar(require("./biome/biome-config"));
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvamF2YXNjcmlwdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0Q0FBMEI7QUFDMUIsMkNBQXlCO0FBQ3pCLHlDQUF1QjtBQUN2QixvREFBa0M7QUFDbEMsaURBQStCO0FBQy9CLGlEQUErQjtBQUMvQiwrQ0FBNkI7QUFDN0IsNkNBQTJCO0FBQzNCLDZDQUEyQjtBQUMzQixzREFBb0M7QUFDcEMseURBQXVDO0FBQ3ZDLDJDQUF5QjtBQUN6QixnREFBOEI7QUFDOUIscUVBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYnVuZGxlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXNsaW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9qZXN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWNlbnNlLWNoZWNrZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25vZGUtcGFja2FnZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbm9kZS1wcm9qZWN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ucG0tY29uZmlnXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcmV0dGllclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvamVucmNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzY3JpcHQtY29uZmlnXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91cGdyYWRlLWRlcGVuZGVuY2llc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4veWFybnJjXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9iaW9tZS9iaW9tZVwiO1xuZXhwb3J0ICogYXMgYmlvbWVfY29uZmlnIGZyb20gXCIuL2Jpb21lL2Jpb21lLWNvbmZpZ1wiO1xuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvamF2YXNjcmlwdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0Q0FBMEI7QUFDMUIsMkNBQXlCO0FBQ3pCLHlDQUF1QjtBQUN2QixvREFBa0M7QUFDbEMsaURBQStCO0FBQy9CLGlEQUErQjtBQUMvQiwrQ0FBNkI7QUFDN0IsbURBQWlDO0FBQ2pDLDBEQUF3QztBQUN4Qyw2Q0FBMkI7QUFDM0IsNkNBQTJCO0FBQzNCLHNEQUFvQztBQUNwQyx5REFBdUM7QUFDdkMsMkNBQXlCO0FBQ3pCLGdEQUE4QjtBQUM5QixxRUFBcUQiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9idW5kbGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lc2xpbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2plc3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpY2Vuc2UtY2hlY2tlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbm9kZS1wYWNrYWdlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ub2RlLXByb2plY3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25wbS1jb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BucG0td29ya3NwYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbnBtLXdvcmtzcGFjZS1jb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ByZXR0aWVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9qZW5yY1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNjcmlwdC1jb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3VwZ3JhZGUtZGVwZW5kZW5jaWVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi95YXJucmNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Jpb21lL2Jpb21lXCI7XG5leHBvcnQgKiBhcyBiaW9tZV9jb25maWcgZnJvbSBcIi4vYmlvbWUvYmlvbWUtY29uZmlnXCI7XG4iXX0=
@@ -45,7 +45,7 @@ const DEFAULT_TEST_REPORTS_DIR = "test-reports";
45
45
  class Transform {
46
46
  name;
47
47
  options;
48
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Transform", version: "0.101.6" };
48
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Transform", version: "0.101.7" };
49
49
  constructor(name, options) {
50
50
  this.name = name;
51
51
  this.options = options;
@@ -65,7 +65,7 @@ exports.Transform = Transform;
65
65
  class WatchPlugin {
66
66
  name;
67
67
  options;
68
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.WatchPlugin", version: "0.101.6" };
68
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.WatchPlugin", version: "0.101.7" };
69
69
  constructor(name, options) {
70
70
  this.name = name;
71
71
  this.options = options;
@@ -96,7 +96,7 @@ var UpdateSnapshot;
96
96
  class JestReporter {
97
97
  name;
98
98
  options;
99
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.JestReporter", version: "0.101.6" };
99
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.JestReporter", version: "0.101.7" };
100
100
  constructor(name, options) {
101
101
  this.name = name;
102
102
  this.options = options;
@@ -122,7 +122,7 @@ exports.JestReporter = JestReporter;
122
122
  *
123
123
  */
124
124
  class Jest extends component_1.Component {
125
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Jest", version: "0.101.6" };
125
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Jest", version: "0.101.7" };
126
126
  /**
127
127
  * Returns the singleton Jest component of a project or undefined if there is none.
128
128
  */
@@ -8,7 +8,7 @@ const dependencies_1 = require("../dependencies");
8
8
  * Enforces allowed licenses used by dependencies.
9
9
  */
10
10
  class LicenseChecker extends component_1.Component {
11
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.LicenseChecker", version: "0.101.6" };
11
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.LicenseChecker", version: "0.101.7" };
12
12
  task;
13
13
  constructor(scope, options) {
14
14
  const taskName = options.taskName ?? "check-licenses";
@@ -1,3 +1,4 @@
1
+ import type { PnpmWorkspaceYamlOptions } from "./pnpm-workspace";
1
2
  import type { YarnrcOptions } from "./yarnrc";
2
3
  import { Component } from "../component";
3
4
  import { JsonFile } from "../json";
@@ -288,6 +289,12 @@ export interface NodePackageOptions {
288
289
  * @default - Yarn Berry v4 with all default options
289
290
  */
290
291
  readonly yarnBerryOptions?: YarnBerryOptions;
292
+ /**
293
+ * Options for pnpm
294
+ *
295
+ * @default - all default options
296
+ */
297
+ readonly pnpmOptions?: PnpmOptions;
291
298
  /**
292
299
  * Configure the `devEngines` field in `package.json`.
293
300
  *
@@ -315,6 +322,39 @@ export interface NodePackageOptions {
315
322
  * @default true
316
323
  */
317
324
  readonly deleteOrphanedLockFiles?: boolean;
325
+ /**
326
+ * List of dependency (package) names that are allowed to run lifecycle
327
+ * install scripts (`preinstall`, `install`, `postinstall`, `prepare`)
328
+ * during dependency installation.
329
+ *
330
+ * These scripts can execute arbitrary code, making them a common
331
+ * supply-chain attack vector. Package managers are moving toward
332
+ * blocking them by default and requiring an explicit allowlist.
333
+ * Configuring `allowScripts` sets up that allowlist so scripts only run
334
+ * for the packages you have explicitly reviewed and trust.
335
+ *
336
+ * Support for this setting depends on the configured `packageManager`:
337
+ *
338
+ * - `NPM`: written to the native `allowScripts` field in `package.json`
339
+ * (requires npm >= 11.16; see https://docs.npmjs.com/cli/v11/commands/npm-approve-scripts).
340
+ * - `BUN`: written to the native `trustedDependencies` field in
341
+ * `package.json` (see https://bun.com/docs/pm/lifecycle).
342
+ * - `PNPM`: written to the `onlyBuiltDependencies` setting in
343
+ * `pnpm-workspace.yaml` (see https://pnpm.io/settings#onlybuiltdependencies).
344
+ * - `YARN2`, `YARN_BERRY`: written to the native
345
+ * `dependenciesMeta.<pkg>.built` allowlist in `package.json`, combined
346
+ * with `enableScripts: false` in `.yarnrc.yml` (see
347
+ * https://yarnpkg.com/features/security#postinstalls). If you set
348
+ * `yarnBerryOptions.yarnRcOptions.enableScripts` explicitly, that value
349
+ * is respected instead of being overridden.
350
+ * - `YARN`, `YARN_CLASSIC`: not supported. Yarn Classic has no native
351
+ * mechanism to allowlist install scripts for specific dependencies.
352
+ * Setting this option with one of these package managers throws an
353
+ * error at synthesis time.
354
+ *
355
+ * @default - all install scripts are allowed to run (package manager default)
356
+ */
357
+ readonly allowScripts?: string[];
318
358
  }
319
359
  /**
320
360
  * A dependency entry for the `devEngines` field in `package.json`.
@@ -555,6 +595,7 @@ export declare class NodePackage extends Component {
555
595
  private readonly scripts;
556
596
  private readonly scriptsToBeRemoved;
557
597
  private readonly keywords;
598
+ private readonly allowedScripts;
558
599
  private readonly bin;
559
600
  private readonly engines;
560
601
  private readonly peerDependencyOptions;
@@ -620,6 +661,27 @@ export declare class NodePackage extends Component {
620
661
  * @param keywords The keywords to add
621
662
  */
622
663
  addKeywords(...keywords: string[]): void;
664
+ /**
665
+ * Allows the given dependency (package) names to run lifecycle install
666
+ * scripts (`preinstall`, `install`, `postinstall`, `prepare`), in addition
667
+ * to any already allowed via the `allowScripts` option or previous calls.
668
+ *
669
+ * Useful for project types that want to allowlist a package by default
670
+ * while still letting consumers add further packages via `allowScripts`.
671
+ *
672
+ * @param packages The dependency (package) names to allow.
673
+ * @see NodePackageOptions.allowScripts
674
+ */
675
+ addAllowedScripts(...packages: string[]): void;
676
+ /**
677
+ * Removes the given dependency (package) names from the `allowScripts`
678
+ * allowlist, whether they were added via the `allowScripts` option, a
679
+ * project type default, or a previous call to `addAllowedScripts`.
680
+ *
681
+ * @param packages The dependency (package) names to remove.
682
+ * @see NodePackageOptions.allowScripts
683
+ */
684
+ removeAllowedScripts(...packages: string[]): void;
623
685
  addBin(bins: Record<string, string>): void;
624
686
  /**
625
687
  * Add a npm package.json script.
@@ -722,6 +784,46 @@ export declare class NodePackage extends Component {
722
784
  */
723
785
  private resolveDepsAndWritePackageJson;
724
786
  private renderPackageResolutions;
787
+ /**
788
+ * Renders the native npm `allowScripts` field (`{ "pkg": true }`) from the
789
+ * `allowScripts` allowlist.
790
+ *
791
+ * @see https://docs.npmjs.com/cli/v11/commands/npm-approve-scripts
792
+ */
793
+ private renderNpmAllowScripts;
794
+ /**
795
+ * Renders the native bun `trustedDependencies` field from the
796
+ * `allowScripts` allowlist.
797
+ *
798
+ * @see https://bun.com/docs/pm/lifecycle
799
+ */
800
+ private renderBunTrustedDependencies;
801
+ /**
802
+ * Renders the native yarn berry per-package script allowlist via
803
+ * `dependenciesMeta.<pkg>.built = true`. Combined with the global
804
+ * `enableScripts: false` yarnrc setting (set in `configureYarnBerry`),
805
+ * this allows install scripts to run only for the listed packages.
806
+ *
807
+ * @see https://yarnpkg.com/configuration/manifest#dependenciesMeta.built
808
+ * @see https://yarnpkg.com/features/security#postinstalls
809
+ */
810
+ private renderYarnBerryDependenciesMeta;
811
+ /**
812
+ * Validates and configures the `allowScripts` allowlist for the resolved
813
+ * package manager, throwing a descriptive error for package managers that
814
+ * have no native way to allowlist install scripts per-dependency.
815
+ */
816
+ private configureAllowScripts;
817
+ /**
818
+ * Configures the `PnpmWorkspaceYaml` component, merging `onlyBuiltDependencies`
819
+ * from `allowScripts` and any explicit `pnpmOptions.workspaceYamlOptions`.
820
+ * The merge is resolved lazily (at synthesis time), so calls to
821
+ * `addAllowedScripts`/`removeAllowedScripts` made after this runs are
822
+ * still reflected. The file is only written if it ends up with actual
823
+ * content (see `omitEmpty`), so this is safe to call unconditionally for
824
+ * every pnpm project.
825
+ */
826
+ private configurePnpm;
725
827
  private renderPublishConfig;
726
828
  private renderKeywords;
727
829
  private renderEngines;
@@ -841,6 +943,17 @@ export interface YarnBerryOptions {
841
943
  */
842
944
  readonly zeroInstalls?: boolean;
843
945
  }
946
+ /**
947
+ * Configure pnpm
948
+ */
949
+ export interface PnpmOptions {
950
+ /**
951
+ * The `pnpm-workspace.yaml` configuration.
952
+ *
953
+ * @default - a blank pnpm-workspace.yaml file
954
+ */
955
+ readonly workspaceYamlOptions?: PnpmWorkspaceYamlOptions;
956
+ }
844
957
  /**
845
958
  * Why a dependency install was triggered during synthesis.
846
959
  */