@skeptools/skep-organization-project 0.0.17 → 0.0.19

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 (61) hide show
  1. package/.jsii +22 -2139
  2. package/API.md +533 -418
  3. package/lib/skep-organization-project.js +36 -5
  4. package/node_modules/liquidjs/README.md +110 -67
  5. package/node_modules/liquidjs/dist/build/base64-impl-browser.d.ts +2 -0
  6. package/node_modules/liquidjs/dist/build/base64-impl-browser.spec.d.ts +1 -0
  7. package/node_modules/liquidjs/dist/build/crypto-impl-browser.d.ts +2 -0
  8. package/node_modules/liquidjs/dist/build/crypto-impl-browser.spec.d.ts +1 -0
  9. package/node_modules/liquidjs/dist/context/context.d.ts +10 -4
  10. package/node_modules/liquidjs/dist/context/scope.d.ts +2 -2
  11. package/node_modules/liquidjs/dist/drop/blank-drop.d.ts +1 -1
  12. package/node_modules/liquidjs/dist/drop/block-drop.d.ts +3 -2
  13. package/node_modules/liquidjs/dist/drop/comparable.d.ts +11 -5
  14. package/node_modules/liquidjs/dist/drop/drop.d.ts +3 -1
  15. package/node_modules/liquidjs/dist/drop/empty-drop.d.ts +1 -1
  16. package/node_modules/liquidjs/dist/drop/null-drop.d.ts +1 -1
  17. package/node_modules/liquidjs/dist/filters/array.d.ts +9 -3
  18. package/node_modules/liquidjs/dist/filters/base64-impl.d.ts +2 -0
  19. package/node_modules/liquidjs/dist/filters/base64.d.ts +9 -0
  20. package/node_modules/liquidjs/dist/filters/crypto-impl.d.ts +2 -0
  21. package/node_modules/liquidjs/dist/filters/crypto.d.ts +8 -0
  22. package/node_modules/liquidjs/dist/filters/math.d.ts +1 -1
  23. package/node_modules/liquidjs/dist/filters/misc.d.ts +2 -2
  24. package/node_modules/liquidjs/dist/filters/string.d.ts +2 -1
  25. package/node_modules/liquidjs/dist/fs/fs-impl.d.ts +2 -1
  26. package/node_modules/liquidjs/dist/fs/fs.d.ts +4 -2
  27. package/node_modules/liquidjs/dist/fs/loader.d.ts +2 -1
  28. package/node_modules/liquidjs/dist/index.d.ts +8 -3
  29. package/node_modules/liquidjs/dist/liquid-options.d.ts +8 -2
  30. package/node_modules/liquidjs/dist/liquid.browser.min.js +1 -1
  31. package/node_modules/liquidjs/dist/liquid.browser.min.js.map +1 -1
  32. package/node_modules/liquidjs/dist/liquid.browser.mjs +836 -406
  33. package/node_modules/liquidjs/dist/liquid.browser.umd.js +1683 -788
  34. package/node_modules/liquidjs/dist/liquid.browser.umd.js.map +1 -1
  35. package/node_modules/liquidjs/dist/liquid.d.ts +1 -0
  36. package/node_modules/liquidjs/dist/liquid.node.js +848 -426
  37. package/node_modules/liquidjs/dist/liquid.node.mjs +849 -422
  38. package/node_modules/liquidjs/dist/parser/parser.d.ts +1 -0
  39. package/node_modules/liquidjs/dist/parser/token-kind.d.ts +1 -0
  40. package/node_modules/liquidjs/dist/parser/tokenizer.d.ts +4 -3
  41. package/node_modules/liquidjs/dist/render/expression.d.ts +11 -1
  42. package/node_modules/liquidjs/dist/render/operator.d.ts +11 -4
  43. package/node_modules/liquidjs/dist/tags/case.d.ts +2 -2
  44. package/node_modules/liquidjs/dist/tags/for.d.ts +2 -2
  45. package/node_modules/liquidjs/dist/tags/include.d.ts +2 -0
  46. package/node_modules/liquidjs/dist/tags/layout.d.ts +1 -0
  47. package/node_modules/liquidjs/dist/tags/render.d.ts +2 -0
  48. package/node_modules/liquidjs/dist/tags/tablerow.d.ts +2 -2
  49. package/node_modules/liquidjs/dist/tokens/literal-token.d.ts +2 -2
  50. package/node_modules/liquidjs/dist/tokens/operator-token.d.ts +3 -2
  51. package/node_modules/liquidjs/dist/tokens/property-access-token.d.ts +3 -2
  52. package/node_modules/liquidjs/dist/tokens/tag-token.d.ts +1 -1
  53. package/node_modules/liquidjs/dist/tokens/value-token.d.ts +2 -1
  54. package/node_modules/liquidjs/dist/util/async.d.ts +2 -0
  55. package/node_modules/liquidjs/dist/util/liquid-date.d.ts +7 -0
  56. package/node_modules/liquidjs/dist/util/operator-trie.d.ts +4 -8
  57. package/node_modules/liquidjs/dist/util/strftime.d.ts +2 -1
  58. package/node_modules/liquidjs/dist/util/type-guards.d.ts +2 -1
  59. package/node_modules/liquidjs/dist/util/underscore.d.ts +5 -1
  60. package/node_modules/liquidjs/package.json +20 -14
  61. package/package.json +47 -41
package/API.md CHANGED
@@ -29,11 +29,11 @@ new SkepOrganizationProject(options: SkepOrganizationProjectOptions)
29
29
  | **Name** | **Description** |
30
30
  | --- | --- |
31
31
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.toString">toString</a></code> | Returns a string representation of this construct. |
32
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.with">with</a></code> | Applies one or more mixins to this construct. |
32
33
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.addExcludeFromCleanup">addExcludeFromCleanup</a></code> | Exclude the matching files from pre-synth cleanup. |
33
34
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.addGitIgnore">addGitIgnore</a></code> | Adds a .gitignore pattern. |
34
35
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.addPackageIgnore">addPackageIgnore</a></code> | Adds patterns to be ignored by npm. |
35
36
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.addTask">addTask</a></code> | Adds a new task to this project. |
36
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.addTip">addTip</a></code> | Prints a "tip" message during synthesis. |
37
37
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.annotateGenerated">annotateGenerated</a></code> | Marks the provided file(s) as being generated. |
38
38
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.postSynthesize">postSynthesize</a></code> | Called after all components are synthesized. |
39
39
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.preSynthesize">preSynthesize</a></code> | Called before all components are synthesized. |
@@ -41,20 +41,16 @@ new SkepOrganizationProject(options: SkepOrganizationProjectOptions)
41
41
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.runTaskCommand">runTaskCommand</a></code> | Returns the shell command to execute in order to run a task. |
42
42
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.synth">synth</a></code> | Synthesize all project files into `outdir`. |
43
43
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.tryFindFile">tryFindFile</a></code> | Finds a file at the specified relative path within this project and all its subprojects. |
44
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.tryFindJsonFile">tryFindJsonFile</a></code> | Finds a json file by name. |
45
44
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.tryFindObjectFile">tryFindObjectFile</a></code> | Finds an object file (like JsonFile, YamlFile, etc.) by name. |
46
45
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.tryRemoveFile">tryRemoveFile</a></code> | Finds a file at the specified relative path within this project and removes it. |
47
46
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.addBins">addBins</a></code> | *No description.* |
48
47
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.addBundledDeps">addBundledDeps</a></code> | Defines bundled dependencies. |
49
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.addCompileCommand">addCompileCommand</a></code> | DEPRECATED. |
50
48
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.addDeps">addDeps</a></code> | Defines normal dependencies. |
51
49
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.addDevDeps">addDevDeps</a></code> | Defines development/test dependencies. |
52
50
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.addFields">addFields</a></code> | Directly set fields in `package.json`. |
53
51
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.addKeywords">addKeywords</a></code> | Adds keywords to package.json (deduplicated). |
54
52
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.addPeerDeps">addPeerDeps</a></code> | Defines peer dependencies. |
55
53
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.addScripts">addScripts</a></code> | Replaces the contents of multiple npm package.json scripts. |
56
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.addTestCommand">addTestCommand</a></code> | DEPRECATED. |
57
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.hasScript">hasScript</a></code> | Indicates if a script by the name name is defined. |
58
54
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.removeScript">removeScript</a></code> | Removes the npm script (always successful). |
59
55
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.renderWorkflowSetup">renderWorkflowSetup</a></code> | Returns the set of workflow steps which should be executed to bootstrap a workflow. |
60
56
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.setScript">setScript</a></code> | Replaces the contents of an npm package.json script. |
@@ -70,6 +66,27 @@ public toString(): string
70
66
 
71
67
  Returns a string representation of this construct.
72
68
 
69
+ ##### `with` <a name="with" id="@skeptools/skep-organization-project.SkepOrganizationProject.with"></a>
70
+
71
+ ```typescript
72
+ public with(mixins: ...IMixin[]): IConstruct
73
+ ```
74
+
75
+ Applies one or more mixins to this construct.
76
+
77
+ Mixins are applied in order. The list of constructs is captured at the
78
+ start of the call, so constructs added by a mixin will not be visited.
79
+ Use multiple `with()` calls if subsequent mixins should apply to added
80
+ constructs.
81
+
82
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@skeptools/skep-organization-project.SkepOrganizationProject.with.parameter.mixins"></a>
83
+
84
+ - *Type:* ...constructs.IMixin[]
85
+
86
+ The mixins to apply.
87
+
88
+ ---
89
+
73
90
  ##### `addExcludeFromCleanup` <a name="addExcludeFromCleanup" id="@skeptools/skep-organization-project.SkepOrganizationProject.addExcludeFromCleanup"></a>
74
91
 
75
92
  ```typescript
@@ -148,22 +165,6 @@ Task properties.
148
165
 
149
166
  ---
150
167
 
151
- ##### ~~`addTip`~~ <a name="addTip" id="@skeptools/skep-organization-project.SkepOrganizationProject.addTip"></a>
152
-
153
- ```typescript
154
- public addTip(message: string): void
155
- ```
156
-
157
- Prints a "tip" message during synthesis.
158
-
159
- ###### `message`<sup>Required</sup> <a name="message" id="@skeptools/skep-organization-project.SkepOrganizationProject.addTip.parameter.message"></a>
160
-
161
- - *Type:* string
162
-
163
- The message.
164
-
165
- ---
166
-
167
168
  ##### `annotateGenerated` <a name="annotateGenerated" id="@skeptools/skep-organization-project.SkepOrganizationProject.annotateGenerated"></a>
168
169
 
169
170
  ```typescript
@@ -229,7 +230,7 @@ public runTaskCommand(task: Task): string
229
230
  Returns the shell command to execute in order to run a task.
230
231
 
231
232
  This will
232
- typically be `npx projen TASK`.
233
+ typically be `pnpm projen TASK`.
233
234
 
234
235
  ###### `task`<sup>Required</sup> <a name="task" id="@skeptools/skep-organization-project.SkepOrganizationProject.runTaskCommand.parameter.task"></a>
235
236
 
@@ -251,8 +252,10 @@ Synthesize all project files into `outdir`.
251
252
  2. Delete all generated files
252
253
  3. Synthesize all subprojects
253
254
  4. Synthesize all components of this project
254
- 5. Call "postSynthesize()" for all components of this project
255
- 6. Call "this.postSynthesize()"
255
+ 5. Call "projectCreation()" for all components, only if the project is being created for the first time
256
+ 6. Call "postSynthesize()" for all components of this project
257
+ 7. Call "this.postSynthesize()"
258
+ 8. Call "postProjectCreation()" for all components, only if the project is being created for the first time
256
259
 
257
260
  ##### `tryFindFile` <a name="tryFindFile" id="@skeptools/skep-organization-project.SkepOrganizationProject.tryFindFile"></a>
258
261
 
@@ -273,22 +276,6 @@ from the root of _this_ project.
273
276
 
274
277
  ---
275
278
 
276
- ##### ~~`tryFindJsonFile`~~ <a name="tryFindJsonFile" id="@skeptools/skep-organization-project.SkepOrganizationProject.tryFindJsonFile"></a>
277
-
278
- ```typescript
279
- public tryFindJsonFile(filePath: string): JsonFile
280
- ```
281
-
282
- Finds a json file by name.
283
-
284
- ###### `filePath`<sup>Required</sup> <a name="filePath" id="@skeptools/skep-organization-project.SkepOrganizationProject.tryFindJsonFile.parameter.filePath"></a>
285
-
286
- - *Type:* string
287
-
288
- The file path.
289
-
290
- ---
291
-
292
279
  ##### `tryFindObjectFile` <a name="tryFindObjectFile" id="@skeptools/skep-organization-project.SkepOrganizationProject.tryFindObjectFile"></a>
293
280
 
294
281
  ```typescript
@@ -354,27 +341,13 @@ Bundled dependencies will be added as normal dependencies as well as to the
354
341
  Names modules to install.
355
342
 
356
343
  By default, the the dependency will
357
- be installed in the next `npx projen` run and the version will be recorded
358
- in your `package.json` file. You can upgrade manually or using `yarn
359
- add/upgrade`. If you wish to specify a version range use this syntax:
344
+ be installed in the next `pnpm projen` run and the version will be recorded
345
+ in your `package.json` file. You can upgrade manually or using `pnpm
346
+ add/update`. If you wish to specify a version range use this syntax:
360
347
  `module@^7`.
361
348
 
362
349
  ---
363
350
 
364
- ##### ~~`addCompileCommand`~~ <a name="addCompileCommand" id="@skeptools/skep-organization-project.SkepOrganizationProject.addCompileCommand"></a>
365
-
366
- ```typescript
367
- public addCompileCommand(commands: ...string[]): void
368
- ```
369
-
370
- DEPRECATED.
371
-
372
- ###### `commands`<sup>Required</sup> <a name="commands" id="@skeptools/skep-organization-project.SkepOrganizationProject.addCompileCommand.parameter.commands"></a>
373
-
374
- - *Type:* ...string[]
375
-
376
- ---
377
-
378
351
  ##### `addDeps` <a name="addDeps" id="@skeptools/skep-organization-project.SkepOrganizationProject.addDeps"></a>
379
352
 
380
353
  ```typescript
@@ -390,9 +363,9 @@ Defines normal dependencies.
390
363
  Names modules to install.
391
364
 
392
365
  By default, the the dependency will
393
- be installed in the next `npx projen` run and the version will be recorded
394
- in your `package.json` file. You can upgrade manually or using `yarn
395
- add/upgrade`. If you wish to specify a version range use this syntax:
366
+ be installed in the next `pnpm projen` run and the version will be recorded
367
+ in your `package.json` file. You can upgrade manually or using `pnpm
368
+ add/update`. If you wish to specify a version range use this syntax:
396
369
  `module@^7`.
397
370
 
398
371
  ---
@@ -412,9 +385,9 @@ Defines development/test dependencies.
412
385
  Names modules to install.
413
386
 
414
387
  By default, the the dependency will
415
- be installed in the next `npx projen` run and the version will be recorded
416
- in your `package.json` file. You can upgrade manually or using `yarn
417
- add/upgrade`. If you wish to specify a version range use this syntax:
388
+ be installed in the next `pnpm projen` run and the version will be recorded
389
+ in your `package.json` file. You can upgrade manually or using `pnpm
390
+ add/update`. If you wish to specify a version range use this syntax:
418
391
  `module@^7`.
419
392
 
420
393
  ---
@@ -470,9 +443,9 @@ your code against the minimum version required from your consumers.
470
443
  Names modules to install.
471
444
 
472
445
  By default, the the dependency will
473
- be installed in the next `npx projen` run and the version will be recorded
474
- in your `package.json` file. You can upgrade manually or using `yarn
475
- add/upgrade`. If you wish to specify a version range use this syntax:
446
+ be installed in the next `pnpm projen` run and the version will be recorded
447
+ in your `package.json` file. You can upgrade manually or using `pnpm
448
+ add/update`. If you wish to specify a version range use this syntax:
476
449
  `module@^7`.
477
450
 
478
451
  ---
@@ -493,36 +466,6 @@ The scripts to set.
493
466
 
494
467
  ---
495
468
 
496
- ##### ~~`addTestCommand`~~ <a name="addTestCommand" id="@skeptools/skep-organization-project.SkepOrganizationProject.addTestCommand"></a>
497
-
498
- ```typescript
499
- public addTestCommand(commands: ...string[]): void
500
- ```
501
-
502
- DEPRECATED.
503
-
504
- ###### `commands`<sup>Required</sup> <a name="commands" id="@skeptools/skep-organization-project.SkepOrganizationProject.addTestCommand.parameter.commands"></a>
505
-
506
- - *Type:* ...string[]
507
-
508
- ---
509
-
510
- ##### ~~`hasScript`~~ <a name="hasScript" id="@skeptools/skep-organization-project.SkepOrganizationProject.hasScript"></a>
511
-
512
- ```typescript
513
- public hasScript(name: string): boolean
514
- ```
515
-
516
- Indicates if a script by the name name is defined.
517
-
518
- ###### `name`<sup>Required</sup> <a name="name" id="@skeptools/skep-organization-project.SkepOrganizationProject.hasScript.parameter.name"></a>
519
-
520
- - *Type:* string
521
-
522
- The name of the script.
523
-
524
- ---
525
-
526
469
  ##### `removeScript` <a name="removeScript" id="@skeptools/skep-organization-project.SkepOrganizationProject.removeScript"></a>
527
470
 
528
471
  ```typescript
@@ -720,23 +663,19 @@ When given a project, this it the project itself.
720
663
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.defaultTask">defaultTask</a></code> | <code>projen.Task</code> | This is the "default" task, the one that executes "projen". |
721
664
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.initProject">initProject</a></code> | <code>projen.InitProject</code> | The options used when this project is bootstrapped via `projen new`. |
722
665
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.parent">parent</a></code> | <code>projen.Project</code> | A parent project. |
723
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.projectType">projectType</a></code> | <code>projen.ProjectType</code> | *No description.* |
724
666
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.autoApprove">autoApprove</a></code> | <code>projen.github.AutoApprove</code> | Auto approve set up for this project. |
725
667
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.devContainer">devContainer</a></code> | <code>projen.vscode.DevContainer</code> | Access for .devcontainer.json (used for GitHub Codespaces). |
726
668
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.github">github</a></code> | <code>projen.github.GitHub</code> | Access all github components. |
727
669
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.gitpod">gitpod</a></code> | <code>projen.Gitpod</code> | Access for Gitpod. |
728
670
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.vscode">vscode</a></code> | <code>projen.vscode.VsCode</code> | Access all VSCode components. |
729
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | *No description.* |
730
671
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | The build output directory. |
731
672
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.artifactsJavascriptDirectory">artifactsJavascriptDirectory</a></code> | <code>string</code> | The location of the npm tarball after build (`${artifactsDirectory}/js`). |
732
673
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.bundler">bundler</a></code> | <code>projen.javascript.Bundler</code> | *No description.* |
733
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.entrypoint">entrypoint</a></code> | <code>string</code> | *No description.* |
734
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.manifest">manifest</a></code> | <code>any</code> | *No description.* |
735
674
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.npmrc">npmrc</a></code> | <code>projen.javascript.NpmConfig</code> | The .npmrc file. |
736
675
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.package">package</a></code> | <code>projen.javascript.NodePackage</code> | API for managing the node package. |
737
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.packageManager">packageManager</a></code> | <code>projen.javascript.NodePackageManager</code> | The package manager to use. |
738
676
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.runScriptCommand">runScriptCommand</a></code> | <code>string</code> | The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager). |
739
677
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.autoMerge">autoMerge</a></code> | <code>projen.github.AutoMerge</code> | Component that sets up mergify for merging approved pull requests. |
678
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.biome">biome</a></code> | <code>projen.javascript.Biome</code> | *No description.* |
740
679
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.buildWorkflow">buildWorkflow</a></code> | <code>projen.build.BuildWorkflow</code> | The PR build GitHub workflow. |
741
680
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.buildWorkflowJobId">buildWorkflowJobId</a></code> | <code>string</code> | The job ID of the build workflow. |
742
681
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.jest">jest</a></code> | <code>projen.javascript.Jest</code> | The Jest configuration (if enabled). |
@@ -744,11 +683,11 @@ When given a project, this it the project itself.
744
683
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. |
745
684
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.npmignore">npmignore</a></code> | <code>projen.IgnoreFile</code> | The .npmignore file. |
746
685
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.prettier">prettier</a></code> | <code>projen.javascript.Prettier</code> | *No description.* |
747
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.publisher">publisher</a></code> | <code>projen.release.Publisher</code> | Package publisher. |
748
686
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.release">release</a></code> | <code>projen.release.Release</code> | Release management. |
749
687
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.upgradeWorkflow">upgradeWorkflow</a></code> | <code>projen.javascript.UpgradeDependencies</code> | The upgrade workflow. |
750
688
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.docsDirectory">docsDirectory</a></code> | <code>string</code> | *No description.* |
751
689
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.libdir">libdir</a></code> | <code>string</code> | The directory in which compiled .js files reside. |
690
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.runner">runner</a></code> | <code>projen.typescript.TypeScriptRunner</code> | The TypeScript runner used for executing TypeScript files. |
752
691
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.srcdir">srcdir</a></code> | <code>string</code> | The directory in which the .ts sources reside. |
753
692
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.testdir">testdir</a></code> | <code>string</code> | The directory in which tests reside. |
754
693
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProject.property.tsconfigDev">tsconfigDev</a></code> | <code>projen.javascript.TypescriptConfig</code> | A typescript configuration file which covers all files (sources, tests, projen). |
@@ -1027,7 +966,9 @@ the project is being ejected.
1027
966
 
1028
967
  ---
1029
968
 
1030
- ##### `initProject`<sup>Optional</sup> <a name="initProject" id="@skeptools/skep-organization-project.SkepOrganizationProject.property.initProject"></a>
969
+ ##### ~~`initProject`~~<sup>Optional</sup> <a name="initProject" id="@skeptools/skep-organization-project.SkepOrganizationProject.property.initProject"></a>
970
+
971
+ - *Deprecated:* use the `initProject` argument passed to `Component.projectCreation()` instead.
1031
972
 
1032
973
  ```typescript
1033
974
  public readonly initProject: InitProject;
@@ -1057,16 +998,6 @@ If undefined, this is the root project.
1057
998
 
1058
999
  ---
1059
1000
 
1060
- ##### `projectType`<sup>Required</sup> <a name="projectType" id="@skeptools/skep-organization-project.SkepOrganizationProject.property.projectType"></a>
1061
-
1062
- ```typescript
1063
- public readonly projectType: ProjectType;
1064
- ```
1065
-
1066
- - *Type:* projen.ProjectType
1067
-
1068
- ---
1069
-
1070
1001
  ##### `autoApprove`<sup>Optional</sup> <a name="autoApprove" id="@skeptools/skep-organization-project.SkepOrganizationProject.property.autoApprove"></a>
1071
1002
 
1072
1003
  ```typescript
@@ -1135,18 +1066,6 @@ This will be `undefined` for subprojects.
1135
1066
 
1136
1067
  ---
1137
1068
 
1138
- ##### ~~`allowLibraryDependencies`~~<sup>Required</sup> <a name="allowLibraryDependencies" id="@skeptools/skep-organization-project.SkepOrganizationProject.property.allowLibraryDependencies"></a>
1139
-
1140
- - *Deprecated:* use `package.allowLibraryDependencies`
1141
-
1142
- ```typescript
1143
- public readonly allowLibraryDependencies: boolean;
1144
- ```
1145
-
1146
- - *Type:* boolean
1147
-
1148
- ---
1149
-
1150
1069
  ##### `artifactsDirectory`<sup>Required</sup> <a name="artifactsDirectory" id="@skeptools/skep-organization-project.SkepOrganizationProject.property.artifactsDirectory"></a>
1151
1070
 
1152
1071
  ```typescript
@@ -1185,30 +1104,6 @@ public readonly bundler: Bundler;
1185
1104
 
1186
1105
  ---
1187
1106
 
1188
- ##### ~~`entrypoint`~~<sup>Required</sup> <a name="entrypoint" id="@skeptools/skep-organization-project.SkepOrganizationProject.property.entrypoint"></a>
1189
-
1190
- - *Deprecated:* use `package.entrypoint`
1191
-
1192
- ```typescript
1193
- public readonly entrypoint: string;
1194
- ```
1195
-
1196
- - *Type:* string
1197
-
1198
- ---
1199
-
1200
- ##### ~~`manifest`~~<sup>Required</sup> <a name="manifest" id="@skeptools/skep-organization-project.SkepOrganizationProject.property.manifest"></a>
1201
-
1202
- - *Deprecated:* use `package.addField(x, y)`
1203
-
1204
- ```typescript
1205
- public readonly manifest: any;
1206
- ```
1207
-
1208
- - *Type:* any
1209
-
1210
- ---
1211
-
1212
1107
  ##### `npmrc`<sup>Required</sup> <a name="npmrc" id="@skeptools/skep-organization-project.SkepOrganizationProject.property.npmrc"></a>
1213
1108
 
1214
1109
  ```typescript
@@ -1233,20 +1128,6 @@ API for managing the node package.
1233
1128
 
1234
1129
  ---
1235
1130
 
1236
- ##### ~~`packageManager`~~<sup>Required</sup> <a name="packageManager" id="@skeptools/skep-organization-project.SkepOrganizationProject.property.packageManager"></a>
1237
-
1238
- - *Deprecated:* use `package.packageManager`
1239
-
1240
- ```typescript
1241
- public readonly packageManager: NodePackageManager;
1242
- ```
1243
-
1244
- - *Type:* projen.javascript.NodePackageManager
1245
-
1246
- The package manager to use.
1247
-
1248
- ---
1249
-
1250
1131
  ##### `runScriptCommand`<sup>Required</sup> <a name="runScriptCommand" id="@skeptools/skep-organization-project.SkepOrganizationProject.property.runScriptCommand"></a>
1251
1132
 
1252
1133
  ```typescript
@@ -1271,6 +1152,16 @@ Component that sets up mergify for merging approved pull requests.
1271
1152
 
1272
1153
  ---
1273
1154
 
1155
+ ##### `biome`<sup>Optional</sup> <a name="biome" id="@skeptools/skep-organization-project.SkepOrganizationProject.property.biome"></a>
1156
+
1157
+ ```typescript
1158
+ public readonly biome: Biome;
1159
+ ```
1160
+
1161
+ - *Type:* projen.javascript.Biome
1162
+
1163
+ ---
1164
+
1274
1165
  ##### `buildWorkflow`<sup>Optional</sup> <a name="buildWorkflow" id="@skeptools/skep-organization-project.SkepOrganizationProject.property.buildWorkflow"></a>
1275
1166
 
1276
1167
  ```typescript
@@ -1359,23 +1250,6 @@ public readonly prettier: Prettier;
1359
1250
 
1360
1251
  ---
1361
1252
 
1362
- ##### ~~`publisher`~~<sup>Optional</sup> <a name="publisher" id="@skeptools/skep-organization-project.SkepOrganizationProject.property.publisher"></a>
1363
-
1364
- - *Deprecated:* use `release.publisher`.
1365
-
1366
- ```typescript
1367
- public readonly publisher: Publisher;
1368
- ```
1369
-
1370
- - *Type:* projen.release.Publisher
1371
-
1372
- Package publisher.
1373
-
1374
- This will be `undefined` if the project does not have a
1375
- release workflow.
1376
-
1377
- ---
1378
-
1379
1253
  ##### `release`<sup>Optional</sup> <a name="release" id="@skeptools/skep-organization-project.SkepOrganizationProject.property.release"></a>
1380
1254
 
1381
1255
  ```typescript
@@ -1422,6 +1296,18 @@ The directory in which compiled .js files reside.
1422
1296
 
1423
1297
  ---
1424
1298
 
1299
+ ##### `runner`<sup>Required</sup> <a name="runner" id="@skeptools/skep-organization-project.SkepOrganizationProject.property.runner"></a>
1300
+
1301
+ ```typescript
1302
+ public readonly runner: TypeScriptRunner;
1303
+ ```
1304
+
1305
+ - *Type:* projen.typescript.TypeScriptRunner
1306
+
1307
+ The TypeScript runner used for executing TypeScript files.
1308
+
1309
+ ---
1310
+
1425
1311
  ##### `srcdir`<sup>Required</sup> <a name="srcdir" id="@skeptools/skep-organization-project.SkepOrganizationProject.property.srcdir"></a>
1426
1312
 
1427
1313
  ```typescript
@@ -1567,6 +1453,7 @@ const skepOrganizationProjectOptions: SkepOrganizationProjectOptions = { ... }
1567
1453
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.logging">logging</a></code> | <code>projen.LoggerOptions</code> | Configure logging options such as verbosity. |
1568
1454
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.outdir">outdir</a></code> | <code>string</code> | The root directory of the project. |
1569
1455
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.parent">parent</a></code> | <code>projen.Project</code> | The parent project, if this project is part of a bigger project. |
1456
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.projectTree">projectTree</a></code> | <code>boolean</code> | Generate a project tree file (`.projen/tree.json`) that shows all components and their relationships. Useful for understanding your project structure and debugging. |
1570
1457
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.projenCommand">projenCommand</a></code> | <code>string</code> | The shell command to use in order to run the projen CLI. |
1571
1458
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.projenrcJson">projenrcJson</a></code> | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. |
1572
1459
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.projenrcJsonOptions">projenrcJsonOptions</a></code> | <code>projen.ProjenrcJsonOptions</code> | Options for .projenrc.json. |
@@ -1580,16 +1467,14 @@ const skepOrganizationProjectOptions: SkepOrganizationProjectOptions = { ... }
1580
1467
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.github">github</a></code> | <code>boolean</code> | Enable GitHub integration. |
1581
1468
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.githubOptions">githubOptions</a></code> | <code>projen.github.GitHubOptions</code> | Options for GitHub integration. |
1582
1469
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.gitpod">gitpod</a></code> | <code>boolean</code> | Add a Gitpod development environment. |
1583
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.mergify">mergify</a></code> | <code>boolean</code> | Whether mergify should be enabled on this repository or not. |
1584
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.mergifyOptions">mergifyOptions</a></code> | <code>projen.github.MergifyOptions</code> | Options for mergify. |
1585
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.projectType">projectType</a></code> | <code>projen.ProjectType</code> | Which type of project this is (library/app). |
1586
1470
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.projenCredentials">projenCredentials</a></code> | <code>projen.github.GithubCredentials</code> | Choose a method of providing GitHub API access for projen workflows. |
1587
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.projenTokenSecret">projenTokenSecret</a></code> | <code>string</code> | The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. |
1588
1471
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.readme">readme</a></code> | <code>projen.SampleReadmeProps</code> | The README setup. |
1589
1472
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.stale">stale</a></code> | <code>boolean</code> | Auto-close of stale issues and pull request. |
1590
1473
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.staleOptions">staleOptions</a></code> | <code>projen.github.StaleOptions</code> | Auto-close stale issues and pull requests. |
1591
1474
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.vscode">vscode</a></code> | <code>boolean</code> | Enable VSCode integration. |
1475
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.addPackageManagerToDevEngines">addPackageManagerToDevEngines</a></code> | <code>boolean</code> | Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`. |
1592
1476
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
1477
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.allowScripts">allowScripts</a></code> | <code>string[]</code> | List of dependency (package) names that are allowed to run lifecycle install scripts (`preinstall`, `install`, `postinstall`, `prepare`) during dependency installation. |
1593
1478
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.authorEmail">authorEmail</a></code> | <code>string</code> | Author's e-mail. |
1594
1479
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.authorName">authorName</a></code> | <code>string</code> | Author's name. |
1595
1480
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.authorOrganization">authorOrganization</a></code> | <code>boolean</code> | Is the author an organization. |
@@ -1601,9 +1486,13 @@ const skepOrganizationProjectOptions: SkepOrganizationProjectOptions = { ... }
1601
1486
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.bundledDeps">bundledDeps</a></code> | <code>string[]</code> | List of dependencies to bundle into this module. |
1602
1487
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.bunVersion">bunVersion</a></code> | <code>string</code> | The version of Bun to use if using Bun as a package manager. |
1603
1488
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.codeArtifactOptions">codeArtifactOptions</a></code> | <code>projen.javascript.CodeArtifactOptions</code> | Options for npm packages using AWS CodeArtifact. |
1489
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.config">config</a></code> | <code>{[ key: string ]: any}</code> | Configuration values available to package scripts at runtime. |
1490
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.dedupeDeps">dedupeDeps</a></code> | <code>boolean</code> | Add a `dedupe` task that deduplicates project dependencies. |
1491
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.deleteOrphanedLockFiles">deleteOrphanedLockFiles</a></code> | <code>boolean</code> | Automatically delete lockfiles from package managers that are not the active one. |
1604
1492
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.deps">deps</a></code> | <code>string[]</code> | Runtime dependencies of this module. |
1605
1493
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.description">description</a></code> | <code>string</code> | The description is just a string that helps people understand the purpose of the package. |
1606
1494
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.devDeps">devDeps</a></code> | <code>string[]</code> | Build dependencies for this module. |
1495
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.devEngines">devEngines</a></code> | <code>projen.javascript.DevEngines</code> | Configure the `devEngines` field in `package.json`. |
1607
1496
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.entrypoint">entrypoint</a></code> | <code>string</code> | Module entrypoint (`main` in `package.json`). |
1608
1497
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.homepage">homepage</a></code> | <code>string</code> | Package's Homepage / Website. |
1609
1498
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.keywords">keywords</a></code> | <code>string[]</code> | Keywords to include in `package.json`. |
@@ -1613,21 +1502,25 @@ const skepOrganizationProjectOptions: SkepOrganizationProjectOptions = { ... }
1613
1502
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. Most projects should not use this option. |
1614
1503
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmAccess">npmAccess</a></code> | <code>projen.javascript.NpmAccess</code> | Access level of the npm package. |
1615
1504
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmProvenance">npmProvenance</a></code> | <code>boolean</code> | Should provenance statements be generated when the package is published. |
1616
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmRegistry">npmRegistry</a></code> | <code>string</code> | The host name of the npm registry to publish to. |
1617
1505
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmRegistryUrl">npmRegistryUrl</a></code> | <code>string</code> | The base URL of the npm package registry. |
1618
1506
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmTokenSecret">npmTokenSecret</a></code> | <code>string</code> | GitHub secret which contains the NPM token to use when publishing packages. |
1507
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmTrustedPublishing">npmTrustedPublishing</a></code> | <code>boolean</code> | Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work. |
1508
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmVerifyPublished">npmVerifyPublished</a></code> | <code>boolean</code> | Wait until the published package version is available from the npm registry before the publish job completes. |
1509
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmVerifyPublishedTimeoutSeconds">npmVerifyPublishedTimeoutSeconds</a></code> | <code>number</code> | How long to wait, in seconds, for the published package version to be available. |
1619
1510
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.packageManager">packageManager</a></code> | <code>projen.javascript.NodePackageManager</code> | The Node Package Manager used to execute scripts. |
1620
1511
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.packageName">packageName</a></code> | <code>string</code> | The "name" in package.json. |
1512
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.peerDependenciesMeta">peerDependenciesMeta</a></code> | <code>{[ key: string ]: projen.javascript.PeerDependencyMeta}</code> | Additional information about how peer dependencies are used, rendered as `peerDependenciesMeta` in `package.json`. For example, this can mark peer dependencies as optional. |
1621
1513
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.peerDependencyOptions">peerDependencyOptions</a></code> | <code>projen.javascript.PeerDependencyOptions</code> | Options for `peerDeps`. |
1622
1514
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.peerDeps">peerDeps</a></code> | <code>string[]</code> | Peer dependencies for this module. |
1515
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.pnpmOptions">pnpmOptions</a></code> | <code>projen.javascript.PnpmOptions</code> | Options for pnpm. |
1623
1516
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.pnpmVersion">pnpmVersion</a></code> | <code>string</code> | The version of PNPM to use if using PNPM as a package manager. |
1624
1517
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.repository">repository</a></code> | <code>string</code> | The repository is the location where the actual code for your package lives. |
1625
1518
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.repositoryDirectory">repositoryDirectory</a></code> | <code>string</code> | If the package.json for your package is not in the root directory (for example if it is part of a monorepo), you can specify the directory in which it lives. |
1626
1519
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.scopedPackagesOptions">scopedPackagesOptions</a></code> | <code>projen.javascript.ScopedPackagesOptions[]</code> | Options for privately hosted scoped packages. |
1627
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.scripts">scripts</a></code> | <code>{[ key: string ]: string}</code> | npm scripts to include. |
1628
1520
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.stability">stability</a></code> | <code>string</code> | Package's Stability. |
1629
1521
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.yarnBerryOptions">yarnBerryOptions</a></code> | <code>projen.javascript.YarnBerryOptions</code> | Options for Yarn Berry. |
1630
1522
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.bumpPackage">bumpPackage</a></code> | <code>string</code> | The `commit-and-tag-version` compatible package used to bump the package version, as a dependency string. |
1523
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.githubReleaseLatest">githubReleaseLatest</a></code> | <code>boolean</code> | Whether GitHub should explicitly mark the release from the default branch as the latest release. |
1631
1524
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.jsiiReleaseVersion">jsiiReleaseVersion</a></code> | <code>string</code> | Version requirement of `publib` which is used to publish modules to npm. |
1632
1525
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.majorVersion">majorVersion</a></code> | <code>number</code> | Major version to release from the default branch. |
1633
1526
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.minMajorVersion">minMajorVersion</a></code> | <code>number</code> | Minimal Major version to release. |
@@ -1639,30 +1532,33 @@ const skepOrganizationProjectOptions: SkepOrganizationProjectOptions = { ... }
1639
1532
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.publishTasks">publishTasks</a></code> | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows. |
1640
1533
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releasableCommits">releasableCommits</a></code> | <code>projen.ReleasableCommits</code> | Find commits that should be considered releasable Used to decide if a release is required. |
1641
1534
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseBranches">releaseBranches</a></code> | <code>{[ key: string ]: projen.release.BranchOptions}</code> | Defines additional release branches. |
1642
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseEveryCommit">releaseEveryCommit</a></code> | <code>boolean</code> | Automatically release new versions every commit to one of branches in `releaseBranches`. |
1535
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseEnvironment">releaseEnvironment</a></code> | <code>string</code> | The GitHub Actions environment used for the release. |
1643
1536
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseFailureIssue">releaseFailureIssue</a></code> | <code>boolean</code> | Create a github issue on every failed publishing task. |
1644
1537
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseFailureIssueLabel">releaseFailureIssueLabel</a></code> | <code>string</code> | The label to apply to issues indicating publish failures. |
1645
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseSchedule">releaseSchedule</a></code> | <code>string</code> | CRON schedule to trigger new releases. |
1646
1538
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseTagPrefix">releaseTagPrefix</a></code> | <code>string</code> | Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers. |
1647
1539
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseTrigger">releaseTrigger</a></code> | <code>projen.release.ReleaseTrigger</code> | The release trigger to use. |
1540
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseWorkflowEnv">releaseWorkflowEnv</a></code> | <code>{[ key: string ]: string}</code> | Build environment variables for release workflows. |
1648
1541
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseWorkflowName">releaseWorkflowName</a></code> | <code>string</code> | The name of the default release workflow. |
1649
1542
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseWorkflowSetupSteps">releaseWorkflowSetupSteps</a></code> | <code>projen.github.workflows.JobStep[]</code> | A set of workflow steps to execute in order to setup the workflow container. |
1650
1543
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.versionrcOptions">versionrcOptions</a></code> | <code>{[ key: string ]: any}</code> | Custom configuration used when creating changelog with commit-and-tag-version package. |
1651
1544
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.workflowContainerImage">workflowContainerImage</a></code> | <code>string</code> | Container image to use for GitHub workflows. |
1652
1545
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.workflowRunsOn">workflowRunsOn</a></code> | <code>string[]</code> | Github Runner selection labels. |
1653
1546
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.workflowRunsOnGroup">workflowRunsOnGroup</a></code> | <code>projen.GroupRunnerOptions</code> | Github Runner Group selection options. |
1654
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.defaultReleaseBranch">defaultReleaseBranch</a></code> | <code>string</code> | The name of the main release branch. |
1655
1547
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
1656
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.autoApproveUpgrades">autoApproveUpgrades</a></code> | <code>boolean</code> | Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). |
1548
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.auditDeps">auditDeps</a></code> | <code>boolean</code> | Run security audit on dependencies. |
1549
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.auditDepsOptions">auditDepsOptions</a></code> | <code>projen.javascript.AuditOptions</code> | Security audit options. |
1550
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.autoApproveUpgrades">autoApproveUpgrades</a></code> | <code>boolean</code> | Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configured). |
1551
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.biome">biome</a></code> | <code>boolean</code> | Setup Biome. |
1552
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.biomeOptions">biomeOptions</a></code> | <code>projen.javascript.BiomeOptions</code> | Biome options. |
1657
1553
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.buildWorkflow">buildWorkflow</a></code> | <code>boolean</code> | Define a GitHub workflow for building PRs. |
1658
1554
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.buildWorkflowOptions">buildWorkflowOptions</a></code> | <code>projen.javascript.BuildWorkflowOptions</code> | Options for PR build workflow. |
1659
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.buildWorkflowTriggers">buildWorkflowTriggers</a></code> | <code>projen.github.workflows.Triggers</code> | Build workflow triggers. |
1660
1555
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.bundlerOptions">bundlerOptions</a></code> | <code>projen.javascript.BundlerOptions</code> | Options for `Bundler`. |
1661
1556
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.checkLicenses">checkLicenses</a></code> | <code>projen.javascript.LicenseCheckerOptions</code> | Configure which licenses should be deemed acceptable for use by dependencies. |
1662
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.codeCov">codeCov</a></code> | <code>boolean</code> | Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with `@codeCovTokenSecret`. |
1663
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.codeCovTokenSecret">codeCovTokenSecret</a></code> | <code>string</code> | Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. |
1557
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.codeCov">codeCov</a></code> | <code>boolean</code> | Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/. |
1558
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.codeCovTokenSecret">codeCovTokenSecret</a></code> | <code>string</code> | Define the secret name for a specified https://codecov.io/ token. |
1664
1559
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.copyrightOwner">copyrightOwner</a></code> | <code>string</code> | License copyright owner. |
1665
1560
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.copyrightPeriod">copyrightPeriod</a></code> | <code>string</code> | The copyright years to put in the LICENSE file. |
1561
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.defaultReleaseBranch">defaultReleaseBranch</a></code> | <code>string</code> | The name of the main release branch. |
1666
1562
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.dependabot">dependabot</a></code> | <code>boolean</code> | Use dependabot to handle dependency upgrades. |
1667
1563
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.dependabotOptions">dependabotOptions</a></code> | <code>projen.github.DependabotOptions</code> | Options for dependabot. |
1668
1564
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.depsUpgrade">depsUpgrade</a></code> | <code>boolean</code> | Use tasks and github workflows to handle dependency upgrades. |
@@ -1670,8 +1566,6 @@ const skepOrganizationProjectOptions: SkepOrganizationProjectOptions = { ... }
1670
1566
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.gitignore">gitignore</a></code> | <code>string[]</code> | Additional entries to .gitignore. |
1671
1567
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.jest">jest</a></code> | <code>boolean</code> | Setup jest unit tests. |
1672
1568
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.jestOptions">jestOptions</a></code> | <code>projen.javascript.JestOptions</code> | Jest options. |
1673
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.mutableBuild">mutableBuild</a></code> | <code>boolean</code> | Automatically update files modified during builds to pull-request branches. |
1674
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmignore">npmignore</a></code> | <code>string[]</code> | Additional entries to .npmignore. |
1675
1569
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmignoreEnabled">npmignoreEnabled</a></code> | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. |
1676
1570
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmIgnoreOptions">npmIgnoreOptions</a></code> | <code>projen.IgnoreFileOptions</code> | Configuration options for .npmignore file. |
1677
1571
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.package">package</a></code> | <code>boolean</code> | Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). |
@@ -1685,13 +1579,13 @@ const skepOrganizationProjectOptions: SkepOrganizationProjectOptions = { ... }
1685
1579
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.pullRequestTemplateContents">pullRequestTemplateContents</a></code> | <code>string[]</code> | The contents of the pull request template. |
1686
1580
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.release">release</a></code> | <code>boolean</code> | Add release management to this project. |
1687
1581
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseToNpm">releaseToNpm</a></code> | <code>boolean</code> | Automatically release to npm when new versions are introduced. |
1688
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseWorkflow">releaseWorkflow</a></code> | <code>boolean</code> | DEPRECATED: renamed to `release`. |
1689
1582
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.workflowBootstrapSteps">workflowBootstrapSteps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Workflow steps to use in order to bootstrap this repo. |
1690
1583
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.workflowGitIdentity">workflowGitIdentity</a></code> | <code>projen.github.GitIdentity</code> | The git identity to use in workflows. |
1691
1584
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.workflowNodeVersion">workflowNodeVersion</a></code> | <code>string</code> | The node version used in GitHub Actions workflows. |
1692
1585
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.workflowPackageCache">workflowPackageCache</a></code> | <code>boolean</code> | Enable Node.js package cache in GitHub workflows. |
1586
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.workflowPermissions">workflowPermissions</a></code> | <code>projen.github.workflows.JobPermissions</code> | Permissions for the main build, release and dependency upgrade jobs. |
1693
1587
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.disableTsconfig">disableTsconfig</a></code> | <code>boolean</code> | Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). |
1694
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.disableTsconfigDev">disableTsconfigDev</a></code> | <code>boolean</code> | Do not generate a `tsconfig.dev.json` file. |
1588
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.disableTsconfigDev">disableTsconfigDev</a></code> | <code>boolean</code> | Do not generate a development tsconfig file. |
1695
1589
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.docgen">docgen</a></code> | <code>boolean</code> | Docgen by Typedoc. |
1696
1590
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.docsDirectory">docsDirectory</a></code> | <code>string</code> | Docs directory. |
1697
1591
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.entrypointTypes">entrypointTypes</a></code> | <code>string</code> | The .d.ts file that includes the type declarations for this module. |
@@ -1700,13 +1594,15 @@ const skepOrganizationProjectOptions: SkepOrganizationProjectOptions = { ... }
1700
1594
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.libdir">libdir</a></code> | <code>string</code> | Typescript artifacts output directory. |
1701
1595
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.projenrcTs">projenrcTs</a></code> | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`). |
1702
1596
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.projenrcTsOptions">projenrcTsOptions</a></code> | <code>projen.typescript.ProjenrcOptions</code> | Options for .projenrc.ts. |
1597
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.runner">runner</a></code> | <code>projen.typescript.TypeScriptRunner</code> | The TypeScript runner to use for executing TypeScript files. |
1703
1598
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.sampleCode">sampleCode</a></code> | <code>boolean</code> | Generate one-time sample in `src/` and `test/` if there are no files there. |
1704
1599
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.srcdir">srcdir</a></code> | <code>string</code> | Typescript sources directory. |
1705
1600
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.testdir">testdir</a></code> | <code>string</code> | Jest tests directory. Tests files should be named `xxx.test.ts`. |
1706
1601
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.tsconfig">tsconfig</a></code> | <code>projen.javascript.TypescriptConfigOptions</code> | Custom TSConfig. |
1707
1602
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.tsconfigDev">tsconfigDev</a></code> | <code>projen.javascript.TypescriptConfigOptions</code> | Custom tsconfig options for the development tsconfig.json file (used for testing). |
1708
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.tsconfigDevFile">tsconfigDevFile</a></code> | <code>string</code> | The name of the development tsconfig.json file. |
1603
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.tsconfigDevFile">tsconfigDevFile</a></code> | <code>string</code> | The name (and path) of the development tsconfig file. |
1709
1604
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.tsJestOptions">tsJestOptions</a></code> | <code>projen.typescript.TsJestOptions</code> | Options for ts-jest. |
1605
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.typecheckTests">typecheckTests</a></code> | <code>boolean</code> | Type-check the test suite as part of the `test` task. |
1710
1606
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.typescriptVersion">typescriptVersion</a></code> | <code>string</code> | TypeScript version to use. |
1711
1607
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.artifactsFolder">artifactsFolder</a></code> | <code>string</code> | Configurable folder for artifacts to package when transitioning from plan to apply. |
1712
1608
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.deploymentEnvironments">deploymentEnvironments</a></code> | <code>{[ key: string ]: @rlmartin-projen/cdktf-project.DeploymentEnvironment}</code> | Add GitHub Wokflows for enabled environments. |
@@ -1722,7 +1618,7 @@ const skepOrganizationProjectOptions: SkepOrganizationProjectOptions = { ... }
1722
1618
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.terraformModules">terraformModules</a></code> | <code>@rlmartin-projen/cdktf-project.TerraformModuleOptions[]</code> | Terraform Modules to add to cdktf.json. These are assumed to be internal to the Medly GitHub org. |
1723
1619
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.terraformModulesSsh">terraformModulesSsh</a></code> | <code>boolean</code> | Set this to true for local dev when using SSH to connect to GitHub. |
1724
1620
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.terraformProviders">terraformProviders</a></code> | <code>string[]</code> | Terraform Providers to add to cdktf.json. |
1725
- | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.terraformVars">terraformVars</a></code> | <code>string[]</code> | List of Terraform variables to pull from GitHub secrets and set as TF_VAR_ environment variables during terraform plan. |
1621
+ | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.terraformVars">terraformVars</a></code> | <code>@rlmartin-projen/cdktf-project.EnvVars</code> | List of Terraform variables to pull from GitHub secrets/vars and set as TF_VAR_ environment variables during terraform plan. |
1726
1622
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.terraformVersion">terraformVersion</a></code> | <code>string</code> | The Terraform version to use in the build pipelines. |
1727
1623
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.workflowEnvVars">workflowEnvVars</a></code> | <code>@rlmartin-projen/cdktf-project.EnvVars</code> | Optional list of env vars to load from GitHub Secrets/Variables into workflow-level env variables. |
1728
1624
  | <code><a href="#@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.workflowInputs">workflowInputs</a></code> | <code>{[ key: string ]: @rlmartin-projen/cdktf-project.WorkflowInputOptions}</code> | Optional inputs (map of name => options) to inject into the workflow_dispatch. |
@@ -1825,6 +1721,19 @@ The parent project, if this project is part of a bigger project.
1825
1721
 
1826
1722
  ---
1827
1723
 
1724
+ ##### `projectTree`<sup>Optional</sup> <a name="projectTree" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.projectTree"></a>
1725
+
1726
+ ```typescript
1727
+ public readonly projectTree: boolean;
1728
+ ```
1729
+
1730
+ - *Type:* boolean
1731
+ - *Default:* false
1732
+
1733
+ Generate a project tree file (`.projen/tree.json`) that shows all components and their relationships. Useful for understanding your project structure and debugging.
1734
+
1735
+ ---
1736
+
1828
1737
  ##### `projenCommand`<sup>Optional</sup> <a name="projenCommand" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.projenCommand"></a>
1829
1738
 
1830
1739
  ```typescript
@@ -1836,6 +1745,10 @@ public readonly projenCommand: string;
1836
1745
 
1837
1746
  The shell command to use in order to run the projen CLI.
1838
1747
 
1748
+ Inserted verbatim into task steps, workflows and IDE configuration, and run
1749
+ by each of their shells - locally, in CI and in dev containers. Keep it a
1750
+ plain unquoted command, since shell syntax in it executes in all of them.
1751
+
1839
1752
  Can be used to customize in special environments.
1840
1753
 
1841
1754
  ---
@@ -2004,51 +1917,6 @@ Add a Gitpod development environment.
2004
1917
 
2005
1918
  ---
2006
1919
 
2007
- ##### ~~`mergify`~~<sup>Optional</sup> <a name="mergify" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.mergify"></a>
2008
-
2009
- - *Deprecated:* use `githubOptions.mergify` instead
2010
-
2011
- ```typescript
2012
- public readonly mergify: boolean;
2013
- ```
2014
-
2015
- - *Type:* boolean
2016
- - *Default:* true
2017
-
2018
- Whether mergify should be enabled on this repository or not.
2019
-
2020
- ---
2021
-
2022
- ##### ~~`mergifyOptions`~~<sup>Optional</sup> <a name="mergifyOptions" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.mergifyOptions"></a>
2023
-
2024
- - *Deprecated:* use `githubOptions.mergifyOptions` instead
2025
-
2026
- ```typescript
2027
- public readonly mergifyOptions: MergifyOptions;
2028
- ```
2029
-
2030
- - *Type:* projen.github.MergifyOptions
2031
- - *Default:* default options
2032
-
2033
- Options for mergify.
2034
-
2035
- ---
2036
-
2037
- ##### ~~`projectType`~~<sup>Optional</sup> <a name="projectType" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.projectType"></a>
2038
-
2039
- - *Deprecated:* no longer supported at the base project level
2040
-
2041
- ```typescript
2042
- public readonly projectType: ProjectType;
2043
- ```
2044
-
2045
- - *Type:* projen.ProjectType
2046
- - *Default:* ProjectType.UNKNOWN
2047
-
2048
- Which type of project this is (library/app).
2049
-
2050
- ---
2051
-
2052
1920
  ##### `projenCredentials`<sup>Optional</sup> <a name="projenCredentials" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.projenCredentials"></a>
2053
1921
 
2054
1922
  ```typescript
@@ -2062,24 +1930,6 @@ Choose a method of providing GitHub API access for projen workflows.
2062
1930
 
2063
1931
  ---
2064
1932
 
2065
- ##### ~~`projenTokenSecret`~~<sup>Optional</sup> <a name="projenTokenSecret" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.projenTokenSecret"></a>
2066
-
2067
- - *Deprecated:* use `projenCredentials`
2068
-
2069
- ```typescript
2070
- public readonly projenTokenSecret: string;
2071
- ```
2072
-
2073
- - *Type:* string
2074
- - *Default:* "PROJEN_GITHUB_TOKEN"
2075
-
2076
- The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows.
2077
-
2078
- This token needs to have the `repo`, `workflows`
2079
- and `packages` scope.
2080
-
2081
- ---
2082
-
2083
1933
  ##### `readme`<sup>Optional</sup> <a name="readme" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.readme"></a>
2084
1934
 
2085
1935
  ```typescript
@@ -2145,6 +1995,19 @@ Enabled by default for root projects. Disabled for non-root projects.
2145
1995
 
2146
1996
  ---
2147
1997
 
1998
+ ##### `addPackageManagerToDevEngines`<sup>Optional</sup> <a name="addPackageManagerToDevEngines" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.addPackageManagerToDevEngines"></a>
1999
+
2000
+ ```typescript
2001
+ public readonly addPackageManagerToDevEngines: boolean;
2002
+ ```
2003
+
2004
+ - *Type:* boolean
2005
+ - *Default:* true
2006
+
2007
+ Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`.
2008
+
2009
+ ---
2010
+
2148
2011
  ##### `allowLibraryDependencies`<sup>Optional</sup> <a name="allowLibraryDependencies" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.allowLibraryDependencies"></a>
2149
2012
 
2150
2013
  ```typescript
@@ -2161,6 +2024,44 @@ for specifying these.
2161
2024
 
2162
2025
  ---
2163
2026
 
2027
+ ##### `allowScripts`<sup>Optional</sup> <a name="allowScripts" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.allowScripts"></a>
2028
+
2029
+ ```typescript
2030
+ public readonly allowScripts: string[];
2031
+ ```
2032
+
2033
+ - *Type:* string[]
2034
+ - *Default:* all install scripts are allowed to run (package manager default)
2035
+
2036
+ List of dependency (package) names that are allowed to run lifecycle install scripts (`preinstall`, `install`, `postinstall`, `prepare`) during dependency installation.
2037
+
2038
+ These scripts can execute arbitrary code, making them a common
2039
+ supply-chain attack vector. Package managers are moving toward
2040
+ blocking them by default and requiring an explicit allowlist.
2041
+ Configuring `allowScripts` sets up that allowlist so scripts only run
2042
+ for the packages you have explicitly reviewed and trust.
2043
+
2044
+ Support for this setting depends on the configured `packageManager`:
2045
+
2046
+ - `NPM`: written to the native `allowScripts` field in `package.json`
2047
+ (requires npm >= 11.16; see https://docs.npmjs.com/cli/v11/commands/npm-approve-scripts).
2048
+ - `BUN`: written to the native `trustedDependencies` field in
2049
+ `package.json` (see https://bun.com/docs/pm/lifecycle).
2050
+ - `PNPM`: written to the `onlyBuiltDependencies` setting in
2051
+ `pnpm-workspace.yaml` (see https://pnpm.io/settings#onlybuiltdependencies).
2052
+ - `YARN2`, `YARN_BERRY`: written to the native
2053
+ `dependenciesMeta.<pkg>.built` allowlist in `package.json`, combined
2054
+ with `enableScripts: false` in `.yarnrc.yml` (see
2055
+ https://yarnpkg.com/features/security#postinstalls). If you set
2056
+ `yarnBerryOptions.yarnRcOptions.enableScripts` explicitly, that value
2057
+ is respected instead of being overridden.
2058
+ - `YARN`, `YARN_CLASSIC`: not supported. Yarn Classic has no native
2059
+ mechanism to allowlist install scripts for specific dependencies.
2060
+ Setting this option with one of these package managers throws an
2061
+ error at synthesis time.
2062
+
2063
+ ---
2064
+
2164
2065
  ##### `authorEmail`<sup>Optional</sup> <a name="authorEmail" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.authorEmail"></a>
2165
2066
 
2166
2067
  ```typescript
@@ -2277,11 +2178,11 @@ added both to the `dependencies` section and `bundledDependencies` section of
2277
2178
  your `package.json`.
2278
2179
 
2279
2180
  The recommendation is to only specify the module name here (e.g.
2280
- `express`). This will behave similar to `yarn add` or `npm install` in the
2181
+ `express`). This will behave similar to `pnpm add` or `npm install` in the
2281
2182
  sense that it will add the module as a dependency to your `package.json`
2282
2183
  file with the latest version (`^`). You can specify semver requirements in
2283
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
2284
- this will be what you `package.json` will eventually include.
2184
+ the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
2185
+ this will be what your `package.json` will eventually include.
2285
2186
 
2286
2187
  ---
2287
2188
 
@@ -2313,6 +2214,69 @@ This is required if publishing packages to, or installing scoped packages from A
2313
2214
 
2314
2215
  ---
2315
2216
 
2217
+ ##### `config`<sup>Optional</sup> <a name="config" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.config"></a>
2218
+
2219
+ ```typescript
2220
+ public readonly config: {[ key: string ]: any};
2221
+ ```
2222
+
2223
+ - *Type:* {[ key: string ]: any}
2224
+ - *Default:* no package configuration
2225
+
2226
+ Configuration values available to package scripts at runtime.
2227
+
2228
+ Values should be JSON-serializable.
2229
+
2230
+ > [https://docs.npmjs.com/cli/v11/configuring-npm/package-json#config](https://docs.npmjs.com/cli/v11/configuring-npm/package-json#config)
2231
+
2232
+ ---
2233
+
2234
+ ##### `dedupeDeps`<sup>Optional</sup> <a name="dedupeDeps" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.dedupeDeps"></a>
2235
+
2236
+ ```typescript
2237
+ public readonly dedupeDeps: boolean;
2238
+ ```
2239
+
2240
+ - *Type:* boolean
2241
+ - *Default:* false, unless `yarnBerryOptions.dedupePackages` is set
2242
+
2243
+ Add a `dedupe` task that deduplicates project dependencies.
2244
+
2245
+ Deduplication prevents multiple versions of the same package from being
2246
+ installed, if a single version can satisfy all requested version ranges.
2247
+ This prevents version proliferation and reduces the size of the dependency
2248
+ tree.
2249
+
2250
+ The behavior depends on the package manager:
2251
+ - npm: runs `npm dedupe` after every mutating install.
2252
+ - pnpm: runs `pnpm dedupe` after every mutating install.
2253
+ - Yarn Berry: runs `yarn dedupe` after every mutating install. If
2254
+ `yarnBerryOptions.dedupePackages` is set, only the listed packages are
2255
+ deduplicated.
2256
+ - Yarn Classic: `yarn install` already deduplicates, so the task only
2257
+ prints an informational message.
2258
+ - Bun: not supported, enabling this option throws an error.
2259
+
2260
+ ---
2261
+
2262
+ ##### `deleteOrphanedLockFiles`<sup>Optional</sup> <a name="deleteOrphanedLockFiles" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.deleteOrphanedLockFiles"></a>
2263
+
2264
+ ```typescript
2265
+ public readonly deleteOrphanedLockFiles: boolean;
2266
+ ```
2267
+
2268
+ - *Type:* boolean
2269
+ - *Default:* true
2270
+
2271
+ Automatically delete lockfiles from package managers that are not the active one.
2272
+
2273
+ Only triggered when the lockfile for the configured package
2274
+ manager already exists.
2275
+
2276
+ This is useful when migrating between package managers to avoid conflicts.
2277
+
2278
+ ---
2279
+
2316
2280
  ##### `deps`<sup>Optional</sup> <a name="deps" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.deps"></a>
2317
2281
 
2318
2282
  ```typescript
@@ -2325,11 +2289,11 @@ public readonly deps: string[];
2325
2289
  Runtime dependencies of this module.
2326
2290
 
2327
2291
  The recommendation is to only specify the module name here (e.g.
2328
- `express`). This will behave similar to `yarn add` or `npm install` in the
2292
+ `express`). This will behave similar to `pnpm add` or `npm install` in the
2329
2293
  sense that it will add the module as a dependency to your `package.json`
2330
2294
  file with the latest version (`^`). You can specify semver requirements in
2331
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
2332
- this will be what you `package.json` will eventually include.
2295
+ the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
2296
+ this will be what your `package.json` will eventually include.
2333
2297
 
2334
2298
  ---
2335
2299
 
@@ -2371,11 +2335,11 @@ available in your build environment but will not be fetched when this
2371
2335
  module is consumed.
2372
2336
 
2373
2337
  The recommendation is to only specify the module name here (e.g.
2374
- `express`). This will behave similar to `yarn add` or `npm install` in the
2338
+ `express`). This will behave similar to `pnpm add` or `npm install` in the
2375
2339
  sense that it will add the module as a dependency to your `package.json`
2376
2340
  file with the latest version (`^`). You can specify semver requirements in
2377
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
2378
- this will be what you `package.json` will eventually include.
2341
+ the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
2342
+ this will be what your `package.json` will eventually include.
2379
2343
 
2380
2344
  ---
2381
2345
 
@@ -2386,6 +2350,24 @@ this will be what you `package.json` will eventually include.
2386
2350
  ```
2387
2351
 
2388
2352
 
2353
+ ##### `devEngines`<sup>Optional</sup> <a name="devEngines" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.devEngines"></a>
2354
+
2355
+ ```typescript
2356
+ public readonly devEngines: DevEngines;
2357
+ ```
2358
+
2359
+ - *Type:* projen.javascript.DevEngines
2360
+
2361
+ Configure the `devEngines` field in `package.json`.
2362
+
2363
+ The `devEngines.packageManager` field is automatically populated based on
2364
+ the resolved `packageManager` value. Any fields provided here are merged
2365
+ with the auto-populated `packageManager` entry.
2366
+
2367
+ > [https://docs.npmjs.com/cli/v10/configuring-npm/package-json#devengines](https://docs.npmjs.com/cli/v10/configuring-npm/package-json#devengines)
2368
+
2369
+ ---
2370
+
2389
2371
  ##### `entrypoint`<sup>Optional</sup> <a name="entrypoint" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.entrypoint"></a>
2390
2372
 
2391
2373
  ```typescript
@@ -2530,47 +2512,75 @@ which is using npm internally and supports provenance statements independently o
2530
2512
 
2531
2513
  ---
2532
2514
 
2533
- ##### ~~`npmRegistry`~~<sup>Optional</sup> <a name="npmRegistry" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmRegistry"></a>
2534
-
2535
- - *Deprecated:* use `npmRegistryUrl` instead
2515
+ ##### `npmRegistryUrl`<sup>Optional</sup> <a name="npmRegistryUrl" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmRegistryUrl"></a>
2536
2516
 
2537
2517
  ```typescript
2538
- public readonly npmRegistry: string;
2518
+ public readonly npmRegistryUrl: string;
2539
2519
  ```
2540
2520
 
2541
2521
  - *Type:* string
2522
+ - *Default:* "https://registry.npmjs.org"
2542
2523
 
2543
- The host name of the npm registry to publish to.
2524
+ The base URL of the npm package registry.
2544
2525
 
2545
- Cannot be set together with `npmRegistryUrl`.
2526
+ Must be a URL (e.g. start with "https://" or "http://").
2527
+ A trailing slash is added if missing.
2546
2528
 
2547
2529
  ---
2548
2530
 
2549
- ##### `npmRegistryUrl`<sup>Optional</sup> <a name="npmRegistryUrl" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmRegistryUrl"></a>
2531
+ ##### `npmTokenSecret`<sup>Optional</sup> <a name="npmTokenSecret" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmTokenSecret"></a>
2550
2532
 
2551
2533
  ```typescript
2552
- public readonly npmRegistryUrl: string;
2534
+ public readonly npmTokenSecret: string;
2553
2535
  ```
2554
2536
 
2555
2537
  - *Type:* string
2556
- - *Default:* "https://registry.npmjs.org"
2538
+ - *Default:* "NPM_TOKEN"
2557
2539
 
2558
- The base URL of the npm package registry.
2540
+ GitHub secret which contains the NPM token to use when publishing packages.
2541
+
2542
+ ---
2543
+
2544
+ ##### `npmTrustedPublishing`<sup>Optional</sup> <a name="npmTrustedPublishing" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmTrustedPublishing"></a>
2545
+
2546
+ ```typescript
2547
+ public readonly npmTrustedPublishing: boolean;
2548
+ ```
2559
2549
 
2560
- Must be a URL (e.g. start with "https://" or "http://")
2550
+ - *Type:* boolean
2551
+ - *Default:* false
2552
+
2553
+ Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work.
2561
2554
 
2562
2555
  ---
2563
2556
 
2564
- ##### `npmTokenSecret`<sup>Optional</sup> <a name="npmTokenSecret" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmTokenSecret"></a>
2557
+ ##### `npmVerifyPublished`<sup>Optional</sup> <a name="npmVerifyPublished" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmVerifyPublished"></a>
2565
2558
 
2566
2559
  ```typescript
2567
- public readonly npmTokenSecret: string;
2560
+ public readonly npmVerifyPublished: boolean;
2568
2561
  ```
2569
2562
 
2570
- - *Type:* string
2571
- - *Default:* "NPM_TOKEN"
2563
+ - *Type:* boolean
2564
+ - *Default:* false
2572
2565
 
2573
- GitHub secret which contains the NPM token to use when publishing packages.
2566
+ Wait until the published package version is available from the npm registry before the publish job completes.
2567
+
2568
+ Enable this when packages that depend on the published package are released right after.
2569
+
2570
+ ---
2571
+
2572
+ ##### `npmVerifyPublishedTimeoutSeconds`<sup>Optional</sup> <a name="npmVerifyPublishedTimeoutSeconds" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmVerifyPublishedTimeoutSeconds"></a>
2573
+
2574
+ ```typescript
2575
+ public readonly npmVerifyPublishedTimeoutSeconds: number;
2576
+ ```
2577
+
2578
+ - *Type:* number
2579
+ - *Default:* 3600
2580
+
2581
+ How long to wait, in seconds, for the published package version to be available.
2582
+
2583
+ Requires `npmVerifyPublished` to be enabled.
2574
2584
 
2575
2585
  ---
2576
2586
 
@@ -2581,7 +2591,7 @@ public readonly packageManager: NodePackageManager;
2581
2591
  ```
2582
2592
 
2583
2593
  - *Type:* projen.javascript.NodePackageManager
2584
- - *Default:* NodePackageManager.YARN_CLASSIC
2594
+ - *Default:* Detected from the calling process or `YARN_CLASSIC` if detection fails.
2585
2595
 
2586
2596
  The Node Package Manager used to execute scripts.
2587
2597
 
@@ -2600,6 +2610,30 @@ The "name" in package.json.
2600
2610
 
2601
2611
  ---
2602
2612
 
2613
+ ##### `peerDependenciesMeta`<sup>Optional</sup> <a name="peerDependenciesMeta" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.peerDependenciesMeta"></a>
2614
+
2615
+ ```typescript
2616
+ public readonly peerDependenciesMeta: {[ key: string ]: PeerDependencyMeta};
2617
+ ```
2618
+
2619
+ - *Type:* {[ key: string ]: projen.javascript.PeerDependencyMeta}
2620
+ - *Default:* no `peerDependenciesMeta`
2621
+
2622
+ Additional information about how peer dependencies are used, rendered as `peerDependenciesMeta` in `package.json`. For example, this can mark peer dependencies as optional.
2623
+
2624
+ Each key must also be declared as a peer dependency.
2625
+
2626
+ > [https://docs.npmjs.com/cli/v11/configuring-npm/package-json#peerdependenciesmeta](https://docs.npmjs.com/cli/v11/configuring-npm/package-json#peerdependenciesmeta)
2627
+
2628
+ ---
2629
+
2630
+ *Example*
2631
+
2632
+ ```typescript
2633
+ { "aws-cdk-lib": { optional: true } }
2634
+ ```
2635
+
2636
+
2603
2637
  ##### `peerDependencyOptions`<sup>Optional</sup> <a name="peerDependencyOptions" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.peerDependencyOptions"></a>
2604
2638
 
2605
2639
  ```typescript
@@ -2639,6 +2673,19 @@ test your module against the lowest peer version required.
2639
2673
 
2640
2674
  ---
2641
2675
 
2676
+ ##### `pnpmOptions`<sup>Optional</sup> <a name="pnpmOptions" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.pnpmOptions"></a>
2677
+
2678
+ ```typescript
2679
+ public readonly pnpmOptions: PnpmOptions;
2680
+ ```
2681
+
2682
+ - *Type:* projen.javascript.PnpmOptions
2683
+ - *Default:* all default options
2684
+
2685
+ Options for pnpm.
2686
+
2687
+ ---
2688
+
2642
2689
  ##### `pnpmVersion`<sup>Optional</sup> <a name="pnpmVersion" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.pnpmVersion"></a>
2643
2690
 
2644
2691
  ```typescript
@@ -2646,7 +2693,7 @@ public readonly pnpmVersion: string;
2646
2693
  ```
2647
2694
 
2648
2695
  - *Type:* string
2649
- - *Default:* "9"
2696
+ - *Default:* "10.33.0"
2650
2697
 
2651
2698
  The version of PNPM to use if using PNPM as a package manager.
2652
2699
 
@@ -2691,25 +2738,6 @@ Options for privately hosted scoped packages.
2691
2738
 
2692
2739
  ---
2693
2740
 
2694
- ##### ~~`scripts`~~<sup>Optional</sup> <a name="scripts" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.scripts"></a>
2695
-
2696
- - *Deprecated:* use `project.addTask()` or `package.setScript()`
2697
-
2698
- ```typescript
2699
- public readonly scripts: {[ key: string ]: string};
2700
- ```
2701
-
2702
- - *Type:* {[ key: string ]: string}
2703
- - *Default:* {}
2704
-
2705
- npm scripts to include.
2706
-
2707
- If a script has the same name as a standard script,
2708
- the standard script will be overwritten.
2709
- Also adds the script as a task.
2710
-
2711
- ---
2712
-
2713
2741
  ##### `stability`<sup>Optional</sup> <a name="stability" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.stability"></a>
2714
2742
 
2715
2743
  ```typescript
@@ -2750,6 +2778,22 @@ This can be any compatible package version, including the deprecated `standard-v
2750
2778
 
2751
2779
  ---
2752
2780
 
2781
+ ##### `githubReleaseLatest`<sup>Optional</sup> <a name="githubReleaseLatest" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.githubReleaseLatest"></a>
2782
+
2783
+ ```typescript
2784
+ public readonly githubReleaseLatest: boolean;
2785
+ ```
2786
+
2787
+ - *Type:* boolean
2788
+ - *Default:* GitHub determines the latest release based on date and semantic version.
2789
+
2790
+ Whether GitHub should explicitly mark the release from the default branch as the latest release.
2791
+
2792
+ Set to `true` to mark the release as latest, or `false` to explicitly not
2793
+ mark it as latest.
2794
+
2795
+ ---
2796
+
2753
2797
  ##### `jsiiReleaseVersion`<sup>Optional</sup> <a name="jsiiReleaseVersion" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.jsiiReleaseVersion"></a>
2754
2798
 
2755
2799
  ```typescript
@@ -2815,6 +2859,7 @@ environment:
2815
2859
  - Working directory: the project directory.
2816
2860
  - `$VERSION`: the current version. Looks like `1.2.3`.
2817
2861
  - `$LATEST_TAG`: the most recent tag. Looks like `prefix-v1.2.3`, or may be unset.
2862
+ - `$SUGGESTED_BUMP`: the suggested bump action based on commits. One of `major|minor|patch|none`.
2818
2863
 
2819
2864
  The command should print one of the following to `stdout`:
2820
2865
 
@@ -2932,18 +2977,22 @@ be provided for the default branch.
2932
2977
 
2933
2978
  ---
2934
2979
 
2935
- ##### ~~`releaseEveryCommit`~~<sup>Optional</sup> <a name="releaseEveryCommit" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseEveryCommit"></a>
2936
-
2937
- - *Deprecated:* Use `releaseTrigger: ReleaseTrigger.continuous()` instead
2980
+ ##### `releaseEnvironment`<sup>Optional</sup> <a name="releaseEnvironment" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseEnvironment"></a>
2938
2981
 
2939
2982
  ```typescript
2940
- public readonly releaseEveryCommit: boolean;
2983
+ public readonly releaseEnvironment: string;
2941
2984
  ```
2942
2985
 
2943
- - *Type:* boolean
2944
- - *Default:* true
2986
+ - *Type:* string
2987
+ - *Default:* no environment used, unless set at the artifact level
2988
+
2989
+ The GitHub Actions environment used for the release.
2945
2990
 
2946
- Automatically release new versions every commit to one of branches in `releaseBranches`.
2991
+ This can be used to add an explicit approval step to the release
2992
+ or limit who can initiate a release through environment protection rules.
2993
+
2994
+ When multiple artifacts are released, the environment can be overwritten
2995
+ on a per artifact basis.
2947
2996
 
2948
2997
  ---
2949
2998
 
@@ -2975,21 +3024,6 @@ Only applies if `releaseFailureIssue` is true.
2975
3024
 
2976
3025
  ---
2977
3026
 
2978
- ##### ~~`releaseSchedule`~~<sup>Optional</sup> <a name="releaseSchedule" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseSchedule"></a>
2979
-
2980
- - *Deprecated:* Use `releaseTrigger: ReleaseTrigger.scheduled()` instead
2981
-
2982
- ```typescript
2983
- public readonly releaseSchedule: string;
2984
- ```
2985
-
2986
- - *Type:* string
2987
- - *Default:* no scheduled releases
2988
-
2989
- CRON schedule to trigger new releases.
2990
-
2991
- ---
2992
-
2993
3027
  ##### `releaseTagPrefix`<sup>Optional</sup> <a name="releaseTagPrefix" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseTagPrefix"></a>
2994
3028
 
2995
3029
  ```typescript
@@ -3021,6 +3055,19 @@ The release trigger to use.
3021
3055
 
3022
3056
  ---
3023
3057
 
3058
+ ##### `releaseWorkflowEnv`<sup>Optional</sup> <a name="releaseWorkflowEnv" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseWorkflowEnv"></a>
3059
+
3060
+ ```typescript
3061
+ public readonly releaseWorkflowEnv: {[ key: string ]: string};
3062
+ ```
3063
+
3064
+ - *Type:* {[ key: string ]: string}
3065
+ - *Default:* {}
3066
+
3067
+ Build environment variables for release workflows.
3068
+
3069
+ ---
3070
+
3024
3071
  ##### `releaseWorkflowName`<sup>Optional</sup> <a name="releaseWorkflowName" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseWorkflowName"></a>
3025
3072
 
3026
3073
  ```typescript
@@ -3074,7 +3121,9 @@ Container image to use for GitHub workflows.
3074
3121
 
3075
3122
  ---
3076
3123
 
3077
- ##### `workflowRunsOn`<sup>Optional</sup> <a name="workflowRunsOn" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.workflowRunsOn"></a>
3124
+ ##### ~~`workflowRunsOn`~~<sup>Optional</sup> <a name="workflowRunsOn" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.workflowRunsOn"></a>
3125
+
3126
+ - *Deprecated:* use `githubOptions.workflowRunsOn` on the project, or `runsOn` on `ReleaseOptions`
3078
3127
 
3079
3128
  ```typescript
3080
3129
  public readonly workflowRunsOn: string[];
@@ -3087,7 +3136,9 @@ Github Runner selection labels.
3087
3136
 
3088
3137
  ---
3089
3138
 
3090
- ##### `workflowRunsOnGroup`<sup>Optional</sup> <a name="workflowRunsOnGroup" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.workflowRunsOnGroup"></a>
3139
+ ##### ~~`workflowRunsOnGroup`~~<sup>Optional</sup> <a name="workflowRunsOnGroup" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.workflowRunsOnGroup"></a>
3140
+
3141
+ - *Deprecated:* use `githubOptions.workflowRunsOnGroup` on the project, or `runsOnGroup` on `ReleaseOptions`
3091
3142
 
3092
3143
  ```typescript
3093
3144
  public readonly workflowRunsOnGroup: GroupRunnerOptions;
@@ -3099,29 +3150,46 @@ Github Runner Group selection options.
3099
3150
 
3100
3151
  ---
3101
3152
 
3102
- ##### `defaultReleaseBranch`<sup>Required</sup> <a name="defaultReleaseBranch" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.defaultReleaseBranch"></a>
3153
+ ##### `artifactsDirectory`<sup>Optional</sup> <a name="artifactsDirectory" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.artifactsDirectory"></a>
3103
3154
 
3104
3155
  ```typescript
3105
- public readonly defaultReleaseBranch: string;
3156
+ public readonly artifactsDirectory: string;
3106
3157
  ```
3107
3158
 
3108
3159
  - *Type:* string
3109
- - *Default:* "main"
3160
+ - *Default:* "dist"
3110
3161
 
3111
- The name of the main release branch.
3162
+ A directory which will contain build artifacts.
3112
3163
 
3113
3164
  ---
3114
3165
 
3115
- ##### `artifactsDirectory`<sup>Optional</sup> <a name="artifactsDirectory" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.artifactsDirectory"></a>
3166
+ ##### `auditDeps`<sup>Optional</sup> <a name="auditDeps" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.auditDeps"></a>
3116
3167
 
3117
3168
  ```typescript
3118
- public readonly artifactsDirectory: string;
3169
+ public readonly auditDeps: boolean;
3119
3170
  ```
3120
3171
 
3121
- - *Type:* string
3122
- - *Default:* "dist"
3172
+ - *Type:* boolean
3173
+ - *Default:* false
3123
3174
 
3124
- A directory which will contain build artifacts.
3175
+ Run security audit on dependencies.
3176
+
3177
+ When enabled, creates an "audit" task that checks for known security vulnerabilities
3178
+ in dependencies. By default, runs during every build and checks for "high" severity
3179
+ vulnerabilities or above in all dependencies (including dev dependencies).
3180
+
3181
+ ---
3182
+
3183
+ ##### `auditDepsOptions`<sup>Optional</sup> <a name="auditDepsOptions" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.auditDepsOptions"></a>
3184
+
3185
+ ```typescript
3186
+ public readonly auditDepsOptions: AuditOptions;
3187
+ ```
3188
+
3189
+ - *Type:* projen.javascript.AuditOptions
3190
+ - *Default:* default options
3191
+
3192
+ Security audit options.
3125
3193
 
3126
3194
  ---
3127
3195
 
@@ -3134,49 +3202,60 @@ public readonly autoApproveUpgrades: boolean;
3134
3202
  - *Type:* boolean
3135
3203
  - *Default:* true
3136
3204
 
3137
- Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
3205
+ Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configured).
3138
3206
 
3139
3207
  Throw if set to true but `autoApproveOptions` are not defined.
3140
3208
 
3141
3209
  ---
3142
3210
 
3143
- ##### `buildWorkflow`<sup>Optional</sup> <a name="buildWorkflow" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.buildWorkflow"></a>
3211
+ ##### `biome`<sup>Optional</sup> <a name="biome" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.biome"></a>
3144
3212
 
3145
3213
  ```typescript
3146
- public readonly buildWorkflow: boolean;
3214
+ public readonly biome: boolean;
3147
3215
  ```
3148
3216
 
3149
3217
  - *Type:* boolean
3150
- - *Default:* true if not a subproject
3218
+ - *Default:* false
3151
3219
 
3152
- Define a GitHub workflow for building PRs.
3220
+ Setup Biome.
3153
3221
 
3154
3222
  ---
3155
3223
 
3156
- ##### `buildWorkflowOptions`<sup>Optional</sup> <a name="buildWorkflowOptions" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.buildWorkflowOptions"></a>
3224
+ ##### `biomeOptions`<sup>Optional</sup> <a name="biomeOptions" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.biomeOptions"></a>
3157
3225
 
3158
3226
  ```typescript
3159
- public readonly buildWorkflowOptions: BuildWorkflowOptions;
3227
+ public readonly biomeOptions: BiomeOptions;
3160
3228
  ```
3161
3229
 
3162
- - *Type:* projen.javascript.BuildWorkflowOptions
3230
+ - *Type:* projen.javascript.BiomeOptions
3231
+ - *Default:* default options
3163
3232
 
3164
- Options for PR build workflow.
3233
+ Biome options.
3165
3234
 
3166
3235
  ---
3167
3236
 
3168
- ##### ~~`buildWorkflowTriggers`~~<sup>Optional</sup> <a name="buildWorkflowTriggers" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.buildWorkflowTriggers"></a>
3237
+ ##### `buildWorkflow`<sup>Optional</sup> <a name="buildWorkflow" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.buildWorkflow"></a>
3238
+
3239
+ ```typescript
3240
+ public readonly buildWorkflow: boolean;
3241
+ ```
3242
+
3243
+ - *Type:* boolean
3244
+ - *Default:* true if not a subproject
3245
+
3246
+ Define a GitHub workflow for building PRs.
3169
3247
 
3170
- - *Deprecated:* - Use `buildWorkflowOptions.workflowTriggers`
3248
+ ---
3249
+
3250
+ ##### `buildWorkflowOptions`<sup>Optional</sup> <a name="buildWorkflowOptions" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.buildWorkflowOptions"></a>
3171
3251
 
3172
3252
  ```typescript
3173
- public readonly buildWorkflowTriggers: Triggers;
3253
+ public readonly buildWorkflowOptions: BuildWorkflowOptions;
3174
3254
  ```
3175
3255
 
3176
- - *Type:* projen.github.workflows.Triggers
3177
- - *Default:* "{ pullRequest: {}, workflowDispatch: {} }"
3256
+ - *Type:* projen.javascript.BuildWorkflowOptions
3178
3257
 
3179
- Build workflow triggers.
3258
+ Options for PR build workflow.
3180
3259
 
3181
3260
  ---
3182
3261
 
@@ -3216,7 +3295,10 @@ public readonly codeCov: boolean;
3216
3295
  - *Type:* boolean
3217
3296
  - *Default:* false
3218
3297
 
3219
- Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with `@codeCovTokenSecret`.
3298
+ Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/.
3299
+
3300
+ Uses codecov/codecov-action. By default, OIDC auth is used.
3301
+ Alternatively a token can be provided via `codeCovTokenSecret`.
3220
3302
 
3221
3303
  ---
3222
3304
 
@@ -3227,9 +3309,9 @@ public readonly codeCovTokenSecret: string;
3227
3309
  ```
3228
3310
 
3229
3311
  - *Type:* string
3230
- - *Default:* if this option is not specified, only public repositories are supported
3312
+ - *Default:* OIDC auth is used
3231
3313
 
3232
- Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.
3314
+ Define the secret name for a specified https://codecov.io/ token.
3233
3315
 
3234
3316
  ---
3235
3317
 
@@ -3244,6 +3326,10 @@ public readonly copyrightOwner: string;
3244
3326
 
3245
3327
  License copyright owner.
3246
3328
 
3329
+ This value is only used if the selected license text contains the
3330
+ `$copyright_owner` placeholder. For example, it has no effect on the
3331
+ MPL-2.0 license text.
3332
+
3247
3333
  ---
3248
3334
 
3249
3335
  ##### `copyrightPeriod`<sup>Optional</sup> <a name="copyrightPeriod" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.copyrightPeriod"></a>
@@ -3257,6 +3343,23 @@ public readonly copyrightPeriod: string;
3257
3343
 
3258
3344
  The copyright years to put in the LICENSE file.
3259
3345
 
3346
+ This value is only used if the selected license text contains the
3347
+ `$copyright_period` placeholder. For example, it has no effect on the
3348
+ MPL-2.0 license text.
3349
+
3350
+ ---
3351
+
3352
+ ##### `defaultReleaseBranch`<sup>Optional</sup> <a name="defaultReleaseBranch" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.defaultReleaseBranch"></a>
3353
+
3354
+ ```typescript
3355
+ public readonly defaultReleaseBranch: string;
3356
+ ```
3357
+
3358
+ - *Type:* string
3359
+ - *Default:* "main"
3360
+
3361
+ The name of the main release branch.
3362
+
3260
3363
  ---
3261
3364
 
3262
3365
  ##### `dependabot`<sup>Optional</sup> <a name="dependabot" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.dependabot"></a>
@@ -3294,7 +3397,7 @@ public readonly depsUpgrade: boolean;
3294
3397
  ```
3295
3398
 
3296
3399
  - *Type:* boolean
3297
- - *Default:* true
3400
+ - *Default:* `true` for root projects, `false` for subprojects
3298
3401
 
3299
3402
  Use tasks and github workflows to handle dependency upgrades.
3300
3403
 
@@ -3353,41 +3456,6 @@ Jest options.
3353
3456
 
3354
3457
  ---
3355
3458
 
3356
- ##### ~~`mutableBuild`~~<sup>Optional</sup> <a name="mutableBuild" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.mutableBuild"></a>
3357
-
3358
- - *Deprecated:* - Use `buildWorkflowOptions.mutableBuild`
3359
-
3360
- ```typescript
3361
- public readonly mutableBuild: boolean;
3362
- ```
3363
-
3364
- - *Type:* boolean
3365
- - *Default:* true
3366
-
3367
- Automatically update files modified during builds to pull-request branches.
3368
-
3369
- This means
3370
- that any files synthesized by projen or e.g. test snapshots will always be up-to-date
3371
- before a PR is merged.
3372
-
3373
- Implies that PR builds do not have anti-tamper checks.
3374
-
3375
- ---
3376
-
3377
- ##### ~~`npmignore`~~<sup>Optional</sup> <a name="npmignore" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmignore"></a>
3378
-
3379
- - *Deprecated:* - use `project.addPackageIgnore`
3380
-
3381
- ```typescript
3382
- public readonly npmignore: string[];
3383
- ```
3384
-
3385
- - *Type:* string[]
3386
-
3387
- Additional entries to .npmignore.
3388
-
3389
- ---
3390
-
3391
3459
  ##### `npmignoreEnabled`<sup>Optional</sup> <a name="npmignoreEnabled" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.npmignoreEnabled"></a>
3392
3460
 
3393
3461
  ```typescript
@@ -3556,21 +3624,6 @@ Automatically release to npm when new versions are introduced.
3556
3624
 
3557
3625
  ---
3558
3626
 
3559
- ##### ~~`releaseWorkflow`~~<sup>Optional</sup> <a name="releaseWorkflow" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.releaseWorkflow"></a>
3560
-
3561
- - *Deprecated:* see `release`.
3562
-
3563
- ```typescript
3564
- public readonly releaseWorkflow: boolean;
3565
- ```
3566
-
3567
- - *Type:* boolean
3568
- - *Default:* true if not a subproject
3569
-
3570
- DEPRECATED: renamed to `release`.
3571
-
3572
- ---
3573
-
3574
3627
  ##### `workflowBootstrapSteps`<sup>Optional</sup> <a name="workflowBootstrapSteps" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.workflowBootstrapSteps"></a>
3575
3628
 
3576
3629
  ```typescript
@@ -3591,7 +3644,7 @@ public readonly workflowGitIdentity: GitIdentity;
3591
3644
  ```
3592
3645
 
3593
3646
  - *Type:* projen.github.GitIdentity
3594
- - *Default:* GitHub Actions
3647
+ - *Default:* default GitHub Actions user
3595
3648
 
3596
3649
  The git identity to use in workflows.
3597
3650
 
@@ -3625,6 +3678,28 @@ Enable Node.js package cache in GitHub workflows.
3625
3678
 
3626
3679
  ---
3627
3680
 
3681
+ ##### `workflowPermissions`<sup>Optional</sup> <a name="workflowPermissions" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.workflowPermissions"></a>
3682
+
3683
+ ```typescript
3684
+ public readonly workflowPermissions: JobPermissions;
3685
+ ```
3686
+
3687
+ - *Type:* projen.github.workflows.JobPermissions
3688
+ - *Default:* Use the job defaults and automatically inferred permissions.
3689
+
3690
+ Permissions for the main build, release and dependency upgrade jobs.
3691
+
3692
+ Defined scopes override the job defaults and automatically inferred permissions,
3693
+ including CodeArtifact and Codecov OIDC. Undefined scopes keep their defaults.
3694
+ Use `JobPermission.NONE` to explicitly remove a permission.
3695
+
3696
+ `buildWorkflowOptions.permissions` replaces this entire set, including automatic
3697
+ permissions. `depsUpgradeOptions.workflowOptions.permissions` overrides individual
3698
+ scopes. Applies to all release branches, but not to separate package, publishing,
3699
+ self-mutation or pull request creation jobs, or unrelated workflows.
3700
+
3701
+ ---
3702
+
3628
3703
  ##### `disableTsconfig`<sup>Optional</sup> <a name="disableTsconfig" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.disableTsconfig"></a>
3629
3704
 
3630
3705
  ```typescript
@@ -3647,7 +3722,7 @@ public readonly disableTsconfigDev: boolean;
3647
3722
  - *Type:* boolean
3648
3723
  - *Default:* false
3649
3724
 
3650
- Do not generate a `tsconfig.dev.json` file.
3725
+ Do not generate a development tsconfig file.
3651
3726
 
3652
3727
  ---
3653
3728
 
@@ -3697,7 +3772,7 @@ public readonly eslint: boolean;
3697
3772
  ```
3698
3773
 
3699
3774
  - *Type:* boolean
3700
- - *Default:* true
3775
+ - *Default:* true, unless biome is enabled
3701
3776
 
3702
3777
  Setup eslint.
3703
3778
 
@@ -3727,6 +3802,11 @@ public readonly libdir: string;
3727
3802
 
3728
3803
  Typescript artifacts output directory.
3729
3804
 
3805
+ When `libdir` is changed, set `entrypoint` to match it (for example
3806
+ `libdir: "dist"` with `entrypoint: "dist/index.js"`). `types` follows the
3807
+ entrypoint rather than `libdir`, and `main` still defaults to
3808
+ `lib/index.js`.
3809
+
3730
3810
  ---
3731
3811
 
3732
3812
  ##### `projenrcTs`<sup>Optional</sup> <a name="projenrcTs" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.projenrcTs"></a>
@@ -3754,6 +3834,22 @@ Options for .projenrc.ts.
3754
3834
 
3755
3835
  ---
3756
3836
 
3837
+ ##### `runner`<sup>Optional</sup> <a name="runner" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.runner"></a>
3838
+
3839
+ ```typescript
3840
+ public readonly runner: TypeScriptRunner;
3841
+ ```
3842
+
3843
+ - *Type:* projen.typescript.TypeScriptRunner
3844
+ - *Default:* TypeScriptRunner.tsNode()
3845
+
3846
+ The TypeScript runner to use for executing TypeScript files.
3847
+
3848
+ This is a project-level setting that components (e.g. projenrc) will
3849
+ use as their default runner.
3850
+
3851
+ ---
3852
+
3757
3853
  ##### `sampleCode`<sup>Optional</sup> <a name="sampleCode" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.sampleCode"></a>
3758
3854
 
3759
3855
  ```typescript
@@ -3831,9 +3927,13 @@ public readonly tsconfigDevFile: string;
3831
3927
  ```
3832
3928
 
3833
3929
  - *Type:* string
3834
- - *Default:* "tsconfig.dev.json"
3930
+ - *Default:* "{testdir}/tsconfig.json"
3931
+
3932
+ The name (and path) of the development tsconfig file.
3835
3933
 
3836
- The name of the development tsconfig.json file.
3934
+ By default this lives inside the test directory (e.g. `test/tsconfig.json`)
3935
+ so that the TypeScript language service resolves it as the nearest config
3936
+ for test files.
3837
3937
 
3838
3938
  ---
3839
3939
 
@@ -3849,6 +3949,21 @@ Options for ts-jest.
3849
3949
 
3850
3950
  ---
3851
3951
 
3952
+ ##### `typecheckTests`<sup>Optional</sup> <a name="typecheckTests" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.typecheckTests"></a>
3953
+
3954
+ ```typescript
3955
+ public readonly typecheckTests: boolean;
3956
+ ```
3957
+
3958
+ - *Type:* boolean
3959
+ - *Default:* false
3960
+
3961
+ Type-check the test suite as part of the `test` task.
3962
+
3963
+ Adds a `tsc --noEmit` step against the development tsconfig.
3964
+
3965
+ ---
3966
+
3852
3967
  ##### `typescriptVersion`<sup>Optional</sup> <a name="typescriptVersion" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.typescriptVersion"></a>
3853
3968
 
3854
3969
  ```typescript
@@ -4059,13 +4174,13 @@ Terraform Providers to add to cdktf.json.
4059
4174
  ##### `terraformVars`<sup>Optional</sup> <a name="terraformVars" id="@skeptools/skep-organization-project.SkepOrganizationProjectOptions.property.terraformVars"></a>
4060
4175
 
4061
4176
  ```typescript
4062
- public readonly terraformVars: string[];
4177
+ public readonly terraformVars: EnvVars;
4063
4178
  ```
4064
4179
 
4065
- - *Type:* string[]
4180
+ - *Type:* @rlmartin-projen/cdktf-project.EnvVars
4066
4181
  - *Default:* []
4067
4182
 
4068
- List of Terraform variables to pull from GitHub secrets and set as TF_VAR_ environment variables during terraform plan.
4183
+ List of Terraform variables to pull from GitHub secrets/vars and set as TF_VAR_ environment variables during terraform plan.
4069
4184
 
4070
4185
  The secrets will need to be set
4071
4186
  manually, on one of org/repo/environment. The name of the var is expected to