projen 0.99.80 → 0.100.0

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 (220) hide show
  1. package/.jsii +1677 -3664
  2. package/BREAKING_CHANGES.md +855 -0
  3. package/lib/ai-instructions.d.ts +0 -1
  4. package/lib/ai-instructions.js +6 -12
  5. package/lib/awscdk/auto-discover.js +7 -14
  6. package/lib/awscdk/awscdk-app-java.d.ts +0 -7
  7. package/lib/awscdk/awscdk-app-java.js +28 -21
  8. package/lib/awscdk/awscdk-app-py.d.ts +0 -12
  9. package/lib/awscdk/awscdk-app-py.js +27 -24
  10. package/lib/awscdk/awscdk-app-ts.d.ts +0 -5
  11. package/lib/awscdk/awscdk-app-ts.js +57 -31
  12. package/lib/awscdk/awscdk-construct.d.ts +0 -26
  13. package/lib/awscdk/awscdk-construct.js +4 -44
  14. package/lib/awscdk/awscdk-deps-java.js +2 -6
  15. package/lib/awscdk/awscdk-deps-js.js +2 -7
  16. package/lib/awscdk/awscdk-deps-py.js +2 -7
  17. package/lib/awscdk/awscdk-deps.d.ts +1 -90
  18. package/lib/awscdk/awscdk-deps.js +68 -114
  19. package/lib/awscdk/cdk-config.d.ts +0 -21
  20. package/lib/awscdk/cdk-config.js +44 -51
  21. package/lib/awscdk/cdk-tasks.js +26 -4
  22. package/lib/awscdk/integration-test.js +10 -15
  23. package/lib/awscdk/internal.js +5 -2
  24. package/lib/awscdk/lambda-extension.js +4 -16
  25. package/lib/awscdk/lambda-function.d.ts +0 -10
  26. package/lib/awscdk/lambda-function.js +88 -78
  27. package/lib/awscdk/private/feature-flags-v2.const.d.ts +1 -1
  28. package/lib/awscdk/private/feature-flags-v2.const.js +2 -2
  29. package/lib/build/build-workflow.js +51 -6
  30. package/lib/builtin-example.task.d.ts +1 -0
  31. package/lib/builtin-example.task.js +2 -1
  32. package/lib/cdk/auto-discover-base.js +43 -8
  33. package/lib/cdk/construct-lib.js +2 -4
  34. package/lib/cdk/integration-test-base.js +26 -4
  35. package/lib/cdk/jsii-build.d.ts +0 -1
  36. package/lib/cdk/jsii-build.js +4 -4
  37. package/lib/cdk/jsii-docgen.js +2 -4
  38. package/lib/cdk/jsii-project.d.ts +12 -9
  39. package/lib/cdk/jsii-project.js +22 -7
  40. package/lib/cdk8s/auto-discover.js +3 -6
  41. package/lib/cdk8s/cdk8s-app-py.js +7 -4
  42. package/lib/cdk8s/cdk8s-app-ts.js +43 -6
  43. package/lib/cdk8s/cdk8s-construct.js +44 -5
  44. package/lib/cdk8s/cdk8s-deps-py.js +2 -4
  45. package/lib/cdk8s/cdk8s-deps.js +50 -5
  46. package/lib/cdk8s/integration-test.js +2 -4
  47. package/lib/cdktf/cdktf-construct.js +36 -5
  48. package/lib/circleci/circleci.js +66 -44
  49. package/lib/cleanup.js +38 -5
  50. package/lib/cli/cmds/new.js +51 -20
  51. package/lib/cli/cmds/run-task.js +107 -0
  52. package/lib/cli/{synth.d.ts → cmds/synth.d.ts} +0 -5
  53. package/lib/cli/cmds/synth.js +90 -0
  54. package/lib/cli/index.js +47 -22
  55. package/lib/cli/macros.js +35 -2
  56. package/lib/{task-runtime.d.ts → cli/task-runtime.d.ts} +13 -2
  57. package/lib/cli/task-runtime.js +411 -0
  58. package/lib/cli/util.js +37 -4
  59. package/lib/component.js +3 -4
  60. package/lib/dependencies.js +43 -12
  61. package/lib/dev-env.js +10 -4
  62. package/lib/docker-compose/docker-compose-service.js +54 -4
  63. package/lib/docker-compose/docker-compose.js +8 -4
  64. package/lib/file.js +60 -5
  65. package/lib/gitattributes.js +7 -5
  66. package/lib/github/actions-provider.js +3 -7
  67. package/lib/github/auto-approve.js +3 -4
  68. package/lib/github/auto-merge.js +3 -5
  69. package/lib/github/auto-queue.js +36 -5
  70. package/lib/github/dependabot.js +13 -4
  71. package/lib/github/dependency-review.js +2 -4
  72. package/lib/github/github-credentials.js +37 -5
  73. package/lib/github/github-project.d.ts +1 -32
  74. package/lib/github/github-project.js +30 -8
  75. package/lib/github/github.d.ts +0 -9
  76. package/lib/github/github.js +27 -14
  77. package/lib/github/index.js +24 -2
  78. package/lib/github/merge-queue.js +3 -4
  79. package/lib/github/mergify.d.ts +0 -7
  80. package/lib/github/mergify.js +6 -13
  81. package/lib/github/pr-template.js +2 -4
  82. package/lib/github/pull-request-backport.js +4 -4
  83. package/lib/github/pull-request-lint.js +4 -4
  84. package/lib/github/stale.js +2 -4
  85. package/lib/github/task-workflow-job.js +20 -4
  86. package/lib/github/task-workflow.js +4 -4
  87. package/lib/github/workflow-actions.d.ts +0 -8
  88. package/lib/github/workflow-actions.js +2 -14
  89. package/lib/github/workflow-jobs.js +2 -4
  90. package/lib/github/workflow-steps.js +2 -4
  91. package/lib/github/workflows-model.d.ts +0 -8
  92. package/lib/github/workflows-model.js +1 -1
  93. package/lib/github/workflows.js +39 -6
  94. package/lib/gitlab/configuration-model.d.ts +0 -4
  95. package/lib/gitlab/configuration-model.js +1 -1
  96. package/lib/gitlab/configuration.js +125 -41
  97. package/lib/gitlab/gitlab-configuration.js +3 -5
  98. package/lib/gitlab/nested-configuration.js +3 -4
  99. package/lib/gitpod.js +11 -7
  100. package/lib/ignore-file.js +5 -4
  101. package/lib/index.d.ts +1 -2
  102. package/lib/index.js +38 -18
  103. package/lib/ini.js +36 -5
  104. package/lib/inventory.d.ts +32 -23
  105. package/lib/inventory.js +37 -4
  106. package/lib/java/java-project.js +26 -4
  107. package/lib/java/junit.js +2 -4
  108. package/lib/java/maven-compile.js +2 -4
  109. package/lib/java/maven-packaging.js +6 -4
  110. package/lib/java/maven-sample.js +2 -4
  111. package/lib/java/pom.js +45 -12
  112. package/lib/java/projenrc.js +10 -4
  113. package/lib/javascript/biome/biome.js +48 -6
  114. package/lib/javascript/bundler.d.ts +0 -8
  115. package/lib/javascript/bundler.js +48 -11
  116. package/lib/javascript/eslint.d.ts +0 -13
  117. package/lib/javascript/eslint.js +38 -37
  118. package/lib/javascript/index.js +24 -2
  119. package/lib/javascript/jest.d.ts +0 -20
  120. package/lib/javascript/jest.js +71 -15
  121. package/lib/javascript/license-checker.js +3 -4
  122. package/lib/javascript/node-package.d.ts +0 -28
  123. package/lib/javascript/node-package.js +136 -38
  124. package/lib/javascript/node-project.d.ts +5 -76
  125. package/lib/javascript/node-project.js +88 -81
  126. package/lib/javascript/npm-config.js +7 -9
  127. package/lib/javascript/prettier.js +16 -4
  128. package/lib/javascript/projenrc.js +3 -4
  129. package/lib/javascript/render-options.d.ts +2 -2
  130. package/lib/javascript/render-options.js +36 -5
  131. package/lib/javascript/typescript-config.js +45 -8
  132. package/lib/javascript/upgrade-dependencies.js +56 -36
  133. package/lib/javascript/util.js +35 -2
  134. package/lib/javascript/yarnrc.d.ts +1 -28
  135. package/lib/javascript/yarnrc.js +3 -45
  136. package/lib/json-patch.js +3 -4
  137. package/lib/json.js +4 -5
  138. package/lib/license.js +37 -5
  139. package/lib/logger.js +14 -11
  140. package/lib/logging.js +10 -7
  141. package/lib/makefile.js +7 -4
  142. package/lib/object-file.js +19 -4
  143. package/lib/project-build.js +26 -4
  144. package/lib/project-tree.js +3 -4
  145. package/lib/project.d.ts +0 -35
  146. package/lib/project.js +105 -58
  147. package/lib/projects.js +37 -6
  148. package/lib/projenrc-json.d.ts +0 -10
  149. package/lib/projenrc-json.js +4 -13
  150. package/lib/projenrc.js +2 -4
  151. package/lib/python/index.js +24 -2
  152. package/lib/python/pip.js +5 -4
  153. package/lib/python/poetry.js +63 -7
  154. package/lib/python/projenrc.js +10 -4
  155. package/lib/python/pyproject-toml-file.js +2 -4
  156. package/lib/python/pytest-sample.js +2 -4
  157. package/lib/python/pytest.d.ts +0 -12
  158. package/lib/python/pytest.js +3 -5
  159. package/lib/python/python-project.js +33 -10
  160. package/lib/python/python-sample.js +2 -4
  161. package/lib/python/requirements-file.js +4 -5
  162. package/lib/python/setuppy.d.ts +0 -8
  163. package/lib/python/setuppy.js +3 -4
  164. package/lib/python/setuptools.js +8 -4
  165. package/lib/python/uv.js +11 -4
  166. package/lib/python/venv.js +45 -6
  167. package/lib/readme.js +2 -4
  168. package/lib/release/bump-version.js +36 -3
  169. package/lib/release/bump-version.task.js +35 -2
  170. package/lib/release/commit-tag-version.js +39 -3
  171. package/lib/release/publisher.d.ts +0 -49
  172. package/lib/release/publisher.js +24 -22
  173. package/lib/release/release-trigger.js +33 -4
  174. package/lib/release/release.d.ts +0 -24
  175. package/lib/release/release.js +66 -31
  176. package/lib/release/tag-version.js +35 -2
  177. package/lib/release/update-changelog.js +36 -3
  178. package/lib/renovatebot.js +14 -4
  179. package/lib/run-projenrc-json.task.js +35 -2
  180. package/lib/run-task.cjs +12567 -271
  181. package/lib/sample-file.js +43 -9
  182. package/lib/smithy/smithy-build.js +46 -1
  183. package/lib/source-code.js +6 -5
  184. package/lib/task-runner.d.ts +25 -0
  185. package/lib/task-runner.js +92 -0
  186. package/lib/task.d.ts +0 -7
  187. package/lib/task.js +13 -13
  188. package/lib/tasks.d.ts +5 -9
  189. package/lib/tasks.js +64 -23
  190. package/lib/testing.js +2 -4
  191. package/lib/textfile.js +3 -4
  192. package/lib/toml.js +36 -5
  193. package/lib/typescript/projenrc-ts.js +8 -4
  194. package/lib/typescript/projenrc.js +6 -4
  195. package/lib/typescript/typescript-typedoc.js +2 -4
  196. package/lib/typescript/typescript.d.ts +0 -10
  197. package/lib/typescript/typescript.js +75 -29
  198. package/lib/util/synth.js +39 -6
  199. package/lib/util.js +38 -5
  200. package/lib/version.d.ts +0 -4
  201. package/lib/version.js +24 -10
  202. package/lib/vscode/devcontainer.js +11 -4
  203. package/lib/vscode/extensions.js +17 -18
  204. package/lib/vscode/launch-config.js +5 -6
  205. package/lib/vscode/settings.js +4 -4
  206. package/lib/vscode/vscode.js +5 -4
  207. package/lib/web/next.js +38 -8
  208. package/lib/web/postcss.js +5 -4
  209. package/lib/web/react.d.ts +0 -14
  210. package/lib/web/react.js +51 -25
  211. package/lib/web/tailwind.js +4 -4
  212. package/lib/xmlfile.js +2 -4
  213. package/lib/yaml.js +40 -5
  214. package/package.json +8 -9
  215. package/lib/cli/synth.js +0 -105
  216. package/lib/cli/tasks.js +0 -71
  217. package/lib/semver.d.ts +0 -34
  218. package/lib/semver.js +0 -56
  219. package/lib/task-runtime.js +0 -317
  220. /package/lib/cli/{tasks.d.ts → cmds/run-task.d.ts} +0 -0
@@ -4,7 +4,7 @@ import type { JestOptions } from "./jest";
4
4
  import { Jest } from "./jest";
5
5
  import type { LicenseCheckerOptions } from "./license-checker";
6
6
  import type { NodePackageOptions } from "./node-package";
7
- import { NodePackage, NodePackageManager } from "./node-package";
7
+ import { NodePackage } from "./node-package";
8
8
  import type { ProjenrcOptions } from "./projenrc";
9
9
  import type { BuildWorkflowCommonOptions } from "../build";
10
10
  import { BuildWorkflow } from "../build";
@@ -12,12 +12,12 @@ import type { DependabotOptions, GitHubProjectOptions, GitIdentity } from "../gi
12
12
  import { AutoMerge, GitHubProject } from "../github";
13
13
  import type { BiomeOptions } from "./biome/biome";
14
14
  import { Biome } from "./biome/biome";
15
- import type { JobStep, JobStepConfiguration, Triggers } from "../github/workflows-model";
15
+ import type { JobStep, JobStepConfiguration } from "../github/workflows-model";
16
16
  import type { IgnoreFileOptions } from "../ignore-file";
17
17
  import { IgnoreFile } from "../ignore-file";
18
18
  import type { PrettierOptions, UpgradeDependenciesOptions } from "../javascript";
19
19
  import { NpmConfig, Prettier, UpgradeDependencies } from "../javascript";
20
- import type { Publisher, ReleaseProjectOptions } from "../release";
20
+ import type { ReleaseProjectOptions } from "../release";
21
21
  import { Release } from "../release";
22
22
  import type { GroupRunnerOptions } from "../runner-options";
23
23
  import type { Task } from "../task";
@@ -84,18 +84,6 @@ export interface NodeProjectOptions extends GitHubProjectOptions, NodePackageOpt
84
84
  * Options for PR build workflow.
85
85
  */
86
86
  readonly buildWorkflowOptions?: BuildWorkflowOptions;
87
- /**
88
- * Automatically update files modified during builds to pull-request branches. This means
89
- * that any files synthesized by projen or e.g. test snapshots will always be up-to-date
90
- * before a PR is merged.
91
- *
92
- * Implies that PR builds do not have anti-tamper checks.
93
- *
94
- * @default true
95
- *
96
- * @deprecated - Use `buildWorkflowOptions.mutableBuild`
97
- */
98
- readonly mutableBuild?: boolean;
99
87
  /**
100
88
  * Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/
101
89
  * Uses codecov/codecov-action@v5
@@ -109,13 +97,6 @@ export interface NodeProjectOptions extends GitHubProjectOptions, NodePackageOpt
109
97
  * @default - OIDC auth is used
110
98
  */
111
99
  readonly codeCovTokenSecret?: string;
112
- /**
113
- * DEPRECATED: renamed to `release`.
114
- *
115
- * @default - true if not a subproject
116
- * @deprecated see `release`.
117
- */
118
- readonly releaseWorkflow?: boolean;
119
100
  /**
120
101
  * Add release management to this project.
121
102
  *
@@ -126,8 +107,9 @@ export interface NodeProjectOptions extends GitHubProjectOptions, NodePackageOpt
126
107
  * The name of the main release branch.
127
108
  *
128
109
  * @default "main"
110
+ * @featured
129
111
  */
130
- readonly defaultReleaseBranch: string;
112
+ readonly defaultReleaseBranch?: string;
131
113
  /**
132
114
  * Workflow steps to use in order to bootstrap this repo.
133
115
  *
@@ -205,11 +187,6 @@ export interface NodeProjectOptions extends GitHubProjectOptions, NodePackageOpt
205
187
  * Configuration options for .npmignore file
206
188
  */
207
189
  readonly npmIgnoreOptions?: IgnoreFileOptions;
208
- /**
209
- * Additional entries to .npmignore.
210
- * @deprecated - use `project.addPackageIgnore`
211
- */
212
- readonly npmignore?: string[];
213
190
  /**
214
191
  * Include a GitHub pull request template.
215
192
  *
@@ -276,13 +253,6 @@ export interface NodeProjectOptions extends GitHubProjectOptions, NodePackageOpt
276
253
  * @default true
277
254
  */
278
255
  readonly package?: boolean;
279
- /**
280
- * Build workflow triggers
281
- * @default "{ pullRequest: {}, workflowDispatch: {} }"
282
- *
283
- * @deprecated - Use `buildWorkflowOptions.workflowTriggers`
284
- */
285
- readonly buildWorkflowTriggers?: Triggers;
286
256
  /**
287
257
  * Configure which licenses should be deemed acceptable for use by dependencies
288
258
  *
@@ -387,14 +357,6 @@ export declare class NodeProject extends GitHubProject {
387
357
  */
388
358
  get npmrc(): NpmConfig;
389
359
  private _npmrc?;
390
- /**
391
- * @deprecated use `package.allowLibraryDependencies`
392
- */
393
- get allowLibraryDependencies(): boolean;
394
- /**
395
- * @deprecated use `package.entrypoint`
396
- */
397
- get entrypoint(): string;
398
360
  /**
399
361
  * Component that sets up mergify for merging approved pull requests.
400
362
  */
@@ -403,13 +365,6 @@ export declare class NodeProject extends GitHubProject {
403
365
  * The PR build GitHub workflow. `undefined` if `buildWorkflow` is disabled.
404
366
  */
405
367
  readonly buildWorkflow?: BuildWorkflow;
406
- /**
407
- * Package publisher. This will be `undefined` if the project does not have a
408
- * release workflow.
409
- *
410
- * @deprecated use `release.publisher`.
411
- */
412
- readonly publisher?: Publisher;
413
368
  /**
414
369
  * Release management.
415
370
  */
@@ -427,12 +382,6 @@ export declare class NodeProject extends GitHubProject {
427
382
  */
428
383
  get maxNodeVersion(): string | undefined;
429
384
  protected readonly nodeVersion?: string;
430
- /**
431
- * The package manager to use.
432
- *
433
- * @deprecated use `package.packageManager`
434
- */
435
- get packageManager(): NodePackageManager;
436
385
  /**
437
386
  * The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager).
438
387
  */
@@ -441,10 +390,6 @@ export declare class NodeProject extends GitHubProject {
441
390
  * The Jest configuration (if enabled)
442
391
  */
443
392
  readonly jest?: Jest;
444
- /**
445
- * @deprecated use `package.addField(x, y)`
446
- */
447
- get manifest(): any;
448
393
  readonly bundler: Bundler;
449
394
  /**
450
395
  * The build output directory. An npm tarball will be created under the `js`
@@ -492,22 +437,6 @@ export declare class NodeProject extends GitHubProject {
492
437
  * @param name The name of the script.
493
438
  */
494
439
  removeScript(name: string): void;
495
- /**
496
- * Indicates if a script by the name name is defined.
497
- * @param name The name of the script
498
- * @deprecated Use `project.tasks.tryFind(name)`
499
- */
500
- hasScript(name: string): boolean;
501
- /**
502
- * DEPRECATED
503
- * @deprecated use `project.compileTask.exec()`
504
- */
505
- addCompileCommand(...commands: string[]): void;
506
- /**
507
- * DEPRECATED
508
- * @deprecated use `project.testTask.exec()`
509
- */
510
- addTestCommand(...commands: string[]): void;
511
440
  /**
512
441
  * Directly set fields in `package.json`.
513
442
  * @param fields The fields to set