mrpj 0.2.5 → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/API.md CHANGED
@@ -5142,6 +5142,8 @@ const constructProjectOptions: ConstructProjectOptions = { ... }
5142
5142
  | <code><a href="#mrpj.ConstructProjectOptions.property.repositoryUrl">repositoryUrl</a></code> | <code>string</code> | Git repository URL. |
5143
5143
  | <code><a href="#mrpj.ConstructProjectOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
5144
5144
  | <code><a href="#mrpj.ConstructProjectOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
5145
+ | <code><a href="#mrpj.ConstructProjectOptions.property.auditDeps">auditDeps</a></code> | <code>boolean</code> | Run security audit on dependencies. |
5146
+ | <code><a href="#mrpj.ConstructProjectOptions.property.auditDepsOptions">auditDepsOptions</a></code> | <code>projen.javascript.AuditOptions</code> | Security audit options. |
5145
5147
  | <code><a href="#mrpj.ConstructProjectOptions.property.authorEmail">authorEmail</a></code> | <code>string</code> | Author's e-mail. |
5146
5148
  | <code><a href="#mrpj.ConstructProjectOptions.property.authorName">authorName</a></code> | <code>string</code> | Author's name. |
5147
5149
  | <code><a href="#mrpj.ConstructProjectOptions.property.authorOrganization">authorOrganization</a></code> | <code>boolean</code> | Is the author an organization. |
@@ -5411,6 +5413,36 @@ A directory which will contain build artifacts.
5411
5413
 
5412
5414
  ---
5413
5415
 
5416
+ ##### `auditDeps`<sup>Optional</sup> <a name="auditDeps" id="mrpj.ConstructProjectOptions.property.auditDeps"></a>
5417
+
5418
+ ```typescript
5419
+ public readonly auditDeps: boolean;
5420
+ ```
5421
+
5422
+ - *Type:* boolean
5423
+ - *Default:* false
5424
+
5425
+ Run security audit on dependencies.
5426
+
5427
+ When enabled, creates an "audit" task that checks for known security vulnerabilities
5428
+ in dependencies. By default, runs during every build and checks for "high" severity
5429
+ vulnerabilities or above in all dependencies (including dev dependencies).
5430
+
5431
+ ---
5432
+
5433
+ ##### `auditDepsOptions`<sup>Optional</sup> <a name="auditDepsOptions" id="mrpj.ConstructProjectOptions.property.auditDepsOptions"></a>
5434
+
5435
+ ```typescript
5436
+ public readonly auditDepsOptions: AuditOptions;
5437
+ ```
5438
+
5439
+ - *Type:* projen.javascript.AuditOptions
5440
+ - *Default:* default options
5441
+
5442
+ Security audit options.
5443
+
5444
+ ---
5445
+
5414
5446
  ##### `authorEmail`<sup>Optional</sup> <a name="authorEmail" id="mrpj.ConstructProjectOptions.property.authorEmail"></a>
5415
5447
 
5416
5448
  ```typescript
@@ -8064,6 +8096,8 @@ const projenProjectOptions: ProjenProjectOptions = { ... }
8064
8096
  | <code><a href="#mrpj.ProjenProjectOptions.property.allowedCommitTypes">allowedCommitTypes</a></code> | <code>string[]</code> | Which conventional commit types are allowed to be used Types listed in `releasableCommitTypes` are always allowed. |
8065
8097
  | <code><a href="#mrpj.ProjenProjectOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
8066
8098
  | <code><a href="#mrpj.ProjenProjectOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
8099
+ | <code><a href="#mrpj.ProjenProjectOptions.property.auditDeps">auditDeps</a></code> | <code>boolean</code> | Run security audit on dependencies. |
8100
+ | <code><a href="#mrpj.ProjenProjectOptions.property.auditDepsOptions">auditDepsOptions</a></code> | <code>projen.javascript.AuditOptions</code> | Security audit options. |
8067
8101
  | <code><a href="#mrpj.ProjenProjectOptions.property.authorAddress">authorAddress</a></code> | <code>string</code> | Email or URL of the library author. |
8068
8102
  | <code><a href="#mrpj.ProjenProjectOptions.property.authorEmail">authorEmail</a></code> | <code>string</code> | Author's e-mail. |
8069
8103
  | <code><a href="#mrpj.ProjenProjectOptions.property.authorOrganization">authorOrganization</a></code> | <code>boolean</code> | Is the author an organization. |
@@ -8071,6 +8105,7 @@ const projenProjectOptions: ProjenProjectOptions = { ... }
8071
8105
  | <code><a href="#mrpj.ProjenProjectOptions.property.autoApproveUpgrades">autoApproveUpgrades</a></code> | <code>boolean</code> | Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). |
8072
8106
  | <code><a href="#mrpj.ProjenProjectOptions.property.autoDetectBin">autoDetectBin</a></code> | <code>boolean</code> | Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. |
8073
8107
  | <code><a href="#mrpj.ProjenProjectOptions.property.automationAppName">automationAppName</a></code> | <code>string</code> | Use this app for workflow automation. |
8108
+ | <code><a href="#mrpj.ProjenProjectOptions.property.automationEnvironment">automationEnvironment</a></code> | <code>string</code> | Protect any automation with this environment. |
8074
8109
  | <code><a href="#mrpj.ProjenProjectOptions.property.autoMerge">autoMerge</a></code> | <code>boolean</code> | Enable automatic merging on GitHub. |
8075
8110
  | <code><a href="#mrpj.ProjenProjectOptions.property.autoMergeOptions">autoMergeOptions</a></code> | <code>projen.github.AutoMergeOptions</code> | Configure options for automatic merging on GitHub. |
8076
8111
  | <code><a href="#mrpj.ProjenProjectOptions.property.bin">bin</a></code> | <code>{[ key: string ]: string}</code> | Binary programs vended with your module. |
@@ -8281,6 +8316,36 @@ A directory which will contain build artifacts.
8281
8316
 
8282
8317
  ---
8283
8318
 
8319
+ ##### `auditDeps`<sup>Optional</sup> <a name="auditDeps" id="mrpj.ProjenProjectOptions.property.auditDeps"></a>
8320
+
8321
+ ```typescript
8322
+ public readonly auditDeps: boolean;
8323
+ ```
8324
+
8325
+ - *Type:* boolean
8326
+ - *Default:* false
8327
+
8328
+ Run security audit on dependencies.
8329
+
8330
+ When enabled, creates an "audit" task that checks for known security vulnerabilities
8331
+ in dependencies. By default, runs during every build and checks for "high" severity
8332
+ vulnerabilities or above in all dependencies (including dev dependencies).
8333
+
8334
+ ---
8335
+
8336
+ ##### `auditDepsOptions`<sup>Optional</sup> <a name="auditDepsOptions" id="mrpj.ProjenProjectOptions.property.auditDepsOptions"></a>
8337
+
8338
+ ```typescript
8339
+ public readonly auditDepsOptions: AuditOptions;
8340
+ ```
8341
+
8342
+ - *Type:* projen.javascript.AuditOptions
8343
+ - *Default:* default options
8344
+
8345
+ Security audit options.
8346
+
8347
+ ---
8348
+
8284
8349
  ##### `authorAddress`<sup>Optional</sup> <a name="authorAddress" id="mrpj.ProjenProjectOptions.property.authorAddress"></a>
8285
8350
 
8286
8351
  ```typescript
@@ -8366,7 +8431,7 @@ public readonly automationAppName: string;
8366
8431
  ```
8367
8432
 
8368
8433
  - *Type:* string
8369
- - *Default:* tokens will be used
8434
+ - *Default:* none
8370
8435
 
8371
8436
  Use this app for workflow automation.
8372
8437
 
@@ -8374,6 +8439,21 @@ Remember to install the app and to configure credentials.
8374
8439
 
8375
8440
  ---
8376
8441
 
8442
+ ##### `automationEnvironment`<sup>Optional</sup> <a name="automationEnvironment" id="mrpj.ProjenProjectOptions.property.automationEnvironment"></a>
8443
+
8444
+ ```typescript
8445
+ public readonly automationEnvironment: string;
8446
+ ```
8447
+
8448
+ - *Type:* string
8449
+ - *Default:* "automation"
8450
+
8451
+ Protect any automation with this environment.
8452
+
8453
+ You will need to set the environment up in GitHub. Credentials can only be used within this environment.
8454
+
8455
+ ---
8456
+
8377
8457
  ##### `autoMerge`<sup>Optional</sup> <a name="autoMerge" id="mrpj.ProjenProjectOptions.property.autoMerge"></a>
8378
8458
 
8379
8459
  ```typescript
@@ -10391,6 +10471,39 @@ Options for Yarn Berry.
10391
10471
 
10392
10472
  ---
10393
10473
 
10474
+ ### SelfMutationOnForksOptions <a name="SelfMutationOnForksOptions" id="mrpj.components.SelfMutationOnForksOptions"></a>
10475
+
10476
+ Options for configuring self-mutation behavior on forks.
10477
+
10478
+ #### Initializer <a name="Initializer" id="mrpj.components.SelfMutationOnForksOptions.Initializer"></a>
10479
+
10480
+ ```typescript
10481
+ import { components } from 'mrpj'
10482
+
10483
+ const selfMutationOnForksOptions: components.SelfMutationOnForksOptions = { ... }
10484
+ ```
10485
+
10486
+ #### Properties <a name="Properties" id="Properties"></a>
10487
+
10488
+ | **Name** | **Type** | **Description** |
10489
+ | --- | --- | --- |
10490
+ | <code><a href="#mrpj.components.SelfMutationOnForksOptions.property.environment">environment</a></code> | <code>string</code> | Environment name to use for the workflow. |
10491
+
10492
+ ---
10493
+
10494
+ ##### `environment`<sup>Optional</sup> <a name="environment" id="mrpj.components.SelfMutationOnForksOptions.property.environment"></a>
10495
+
10496
+ ```typescript
10497
+ public readonly environment: string;
10498
+ ```
10499
+
10500
+ - *Type:* string
10501
+ - *Default:* no environment specified
10502
+
10503
+ Environment name to use for the workflow.
10504
+
10505
+ ---
10506
+
10394
10507
  ### SizeOptions <a name="SizeOptions" id="mrpj.logo.SizeOptions"></a>
10395
10508
 
10396
10509
  #### Initializer <a name="Initializer" id="mrpj.logo.SizeOptions.Initializer"></a>
@@ -10603,6 +10716,8 @@ const typeScriptProjectOptions: TypeScriptProjectOptions = { ... }
10603
10716
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.allowedCommitTypes">allowedCommitTypes</a></code> | <code>string[]</code> | Which conventional commit types are allowed to be used Types listed in `releasableCommitTypes` are always allowed. |
10604
10717
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
10605
10718
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
10719
+ | <code><a href="#mrpj.TypeScriptProjectOptions.property.auditDeps">auditDeps</a></code> | <code>boolean</code> | Run security audit on dependencies. |
10720
+ | <code><a href="#mrpj.TypeScriptProjectOptions.property.auditDepsOptions">auditDepsOptions</a></code> | <code>projen.javascript.AuditOptions</code> | Security audit options. |
10606
10721
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.authorEmail">authorEmail</a></code> | <code>string</code> | Author's e-mail. |
10607
10722
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.authorOrganization">authorOrganization</a></code> | <code>boolean</code> | Is the author an organization. |
10608
10723
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.authorUrl">authorUrl</a></code> | <code>string</code> | Author's URL / Website. |
@@ -10610,6 +10725,7 @@ const typeScriptProjectOptions: TypeScriptProjectOptions = { ... }
10610
10725
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.autoApproveUpgrades">autoApproveUpgrades</a></code> | <code>boolean</code> | Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). |
10611
10726
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.autoDetectBin">autoDetectBin</a></code> | <code>boolean</code> | Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. |
10612
10727
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.automationAppName">automationAppName</a></code> | <code>string</code> | Use this app for workflow automation. |
10728
+ | <code><a href="#mrpj.TypeScriptProjectOptions.property.automationEnvironment">automationEnvironment</a></code> | <code>string</code> | Protect any automation with this environment. |
10613
10729
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.autoMerge">autoMerge</a></code> | <code>boolean</code> | Enable automatic merging on GitHub. |
10614
10730
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.autoMergeOptions">autoMergeOptions</a></code> | <code>projen.github.AutoMergeOptions</code> | Configure options for automatic merging on GitHub. |
10615
10731
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.bin">bin</a></code> | <code>{[ key: string ]: string}</code> | Binary programs vended with your module. |
@@ -10811,6 +10927,36 @@ A directory which will contain build artifacts.
10811
10927
 
10812
10928
  ---
10813
10929
 
10930
+ ##### `auditDeps`<sup>Optional</sup> <a name="auditDeps" id="mrpj.TypeScriptProjectOptions.property.auditDeps"></a>
10931
+
10932
+ ```typescript
10933
+ public readonly auditDeps: boolean;
10934
+ ```
10935
+
10936
+ - *Type:* boolean
10937
+ - *Default:* false
10938
+
10939
+ Run security audit on dependencies.
10940
+
10941
+ When enabled, creates an "audit" task that checks for known security vulnerabilities
10942
+ in dependencies. By default, runs during every build and checks for "high" severity
10943
+ vulnerabilities or above in all dependencies (including dev dependencies).
10944
+
10945
+ ---
10946
+
10947
+ ##### `auditDepsOptions`<sup>Optional</sup> <a name="auditDepsOptions" id="mrpj.TypeScriptProjectOptions.property.auditDepsOptions"></a>
10948
+
10949
+ ```typescript
10950
+ public readonly auditDepsOptions: AuditOptions;
10951
+ ```
10952
+
10953
+ - *Type:* projen.javascript.AuditOptions
10954
+ - *Default:* default options
10955
+
10956
+ Security audit options.
10957
+
10958
+ ---
10959
+
10814
10960
  ##### `authorEmail`<sup>Optional</sup> <a name="authorEmail" id="mrpj.TypeScriptProjectOptions.property.authorEmail"></a>
10815
10961
 
10816
10962
  ```typescript
@@ -10895,7 +11041,7 @@ public readonly automationAppName: string;
10895
11041
  ```
10896
11042
 
10897
11043
  - *Type:* string
10898
- - *Default:* tokens will be used
11044
+ - *Default:* none
10899
11045
 
10900
11046
  Use this app for workflow automation.
10901
11047
 
@@ -10903,6 +11049,21 @@ Remember to install the app and to configure credentials.
10903
11049
 
10904
11050
  ---
10905
11051
 
11052
+ ##### `automationEnvironment`<sup>Optional</sup> <a name="automationEnvironment" id="mrpj.TypeScriptProjectOptions.property.automationEnvironment"></a>
11053
+
11054
+ ```typescript
11055
+ public readonly automationEnvironment: string;
11056
+ ```
11057
+
11058
+ - *Type:* string
11059
+ - *Default:* "automation"
11060
+
11061
+ Protect any automation with this environment.
11062
+
11063
+ You will need to set the environment up in GitHub. Credentials can only be used within this environment.
11064
+
11065
+ ---
11066
+
10906
11067
  ##### `autoMerge`<sup>Optional</sup> <a name="autoMerge" id="mrpj.TypeScriptProjectOptions.property.autoMerge"></a>
10907
11068
 
10908
11069
  ```typescript
@@ -13127,6 +13288,53 @@ Scale the logo by a factor.
13127
13288
  ---
13128
13289
 
13129
13290
 
13291
+ ### SelfMutationOnForks <a name="SelfMutationOnForks" id="mrpj.components.SelfMutationOnForks"></a>
13292
+
13293
+ Configures GitHub workflows to enable self-mutation on fork pull requests.
13294
+
13295
+ This class sets up a workflow that will automatically apply projen-generated changes
13296
+ when a build fails due to outdated generated files. The workflow:
13297
+
13298
+ 1. Runs when the build workflow fails on a PR
13299
+ 2. Downloads any patch file generated during the failed build
13300
+ 3. Authenticates using GitHub App credentials
13301
+ 4. Checks out the PR branch
13302
+ 5. Applies the patch if it exists and can be applied cleanly
13303
+ 6. Commits and pushes the changes back to the PR
13304
+
13305
+ This enables automated fixes for common projen-related issues on fork PRs.
13306
+
13307
+ #### Initializers <a name="Initializers" id="mrpj.components.SelfMutationOnForks.Initializer"></a>
13308
+
13309
+ ```typescript
13310
+ import { components } from 'mrpj'
13311
+
13312
+ new components.SelfMutationOnForks(project: Project, options?: SelfMutationOnForksOptions)
13313
+ ```
13314
+
13315
+ | **Name** | **Type** | **Description** |
13316
+ | --- | --- | --- |
13317
+ | <code><a href="#mrpj.components.SelfMutationOnForks.Initializer.parameter.project">project</a></code> | <code>projen.Project</code> | *No description.* |
13318
+ | <code><a href="#mrpj.components.SelfMutationOnForks.Initializer.parameter.options">options</a></code> | <code>mrpj.components.SelfMutationOnForksOptions</code> | *No description.* |
13319
+
13320
+ ---
13321
+
13322
+ ##### `project`<sup>Required</sup> <a name="project" id="mrpj.components.SelfMutationOnForks.Initializer.parameter.project"></a>
13323
+
13324
+ - *Type:* projen.Project
13325
+
13326
+ ---
13327
+
13328
+ ##### `options`<sup>Optional</sup> <a name="options" id="mrpj.components.SelfMutationOnForks.Initializer.parameter.options"></a>
13329
+
13330
+ - *Type:* mrpj.components.SelfMutationOnForksOptions
13331
+
13332
+ ---
13333
+
13334
+
13335
+
13336
+
13337
+
13130
13338
  ## Protocols <a name="Protocols" id="Protocols"></a>
13131
13339
 
13132
13340
  ### ILogo <a name="ILogo" id="mrpj.logo.ILogo"></a>
@@ -0,0 +1,29 @@
1
+ import type { Project } from 'projen';
2
+ /**
3
+ * Options for configuring self-mutation behavior on forks
4
+ */
5
+ export interface SelfMutationOnForksOptions {
6
+ /**
7
+ * Environment name to use for the workflow
8
+ * @default - no environment specified
9
+ */
10
+ readonly environment?: string;
11
+ }
12
+ /**
13
+ * Configures GitHub workflows to enable self-mutation on fork pull requests.
14
+ *
15
+ * This class sets up a workflow that will automatically apply projen-generated changes
16
+ * when a build fails due to outdated generated files. The workflow:
17
+ *
18
+ * 1. Runs when the build workflow fails on a PR
19
+ * 2. Downloads any patch file generated during the failed build
20
+ * 3. Authenticates using GitHub App credentials
21
+ * 4. Checks out the PR branch
22
+ * 5. Applies the patch if it exists and can be applied cleanly
23
+ * 6. Commits and pushes the changes back to the PR
24
+ *
25
+ * This enables automated fixes for common projen-related issues on fork PRs.
26
+ */
27
+ export declare class SelfMutationOnForks {
28
+ constructor(project: Project, options?: SelfMutationOnForksOptions);
29
+ }
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.SelfMutationOnForks = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const projen_1 = require("projen");
7
+ /**
8
+ * Configures GitHub workflows to enable self-mutation on fork pull requests.
9
+ *
10
+ * This class sets up a workflow that will automatically apply projen-generated changes
11
+ * when a build fails due to outdated generated files. The workflow:
12
+ *
13
+ * 1. Runs when the build workflow fails on a PR
14
+ * 2. Downloads any patch file generated during the failed build
15
+ * 3. Authenticates using GitHub App credentials
16
+ * 4. Checks out the PR branch
17
+ * 5. Applies the patch if it exists and can be applied cleanly
18
+ * 6. Commits and pushes the changes back to the PR
19
+ *
20
+ * This enables automated fixes for common projen-related issues on fork PRs.
21
+ */
22
+ class SelfMutationOnForks {
23
+ constructor(project, options = {}) {
24
+ const cicd = projen_1.github.GitHub.of(project);
25
+ if (!cicd)
26
+ return;
27
+ const buildWorkflow = cicd.tryFindWorkflow('build');
28
+ if (!buildWorkflow)
29
+ return;
30
+ // Update condition to run on all pull requests
31
+ buildWorkflow.file?.patch(projen_1.JsonPatch.remove('/jobs/self-mutation'));
32
+ // Add a new self mutation workflow that runs on completion of build
33
+ // and if the build failed and there is a patch, updates the PR
34
+ const selfMutation = cicd?.addWorkflow('self-mutation');
35
+ selfMutation?.on({
36
+ workflowRun: {
37
+ workflows: [buildWorkflow.name],
38
+ types: ['completed'],
39
+ },
40
+ });
41
+ selfMutation?.addJob('self-mutation', {
42
+ runsOn: ['ubuntu-latest'],
43
+ if: "github.event.workflow_run.conclusion == 'failure' && github.event.workflow_run.event == 'pull_request'",
44
+ permissions: {
45
+ contents: projen_1.github.workflows.JobPermission.READ,
46
+ },
47
+ environment: options.environment,
48
+ steps: [
49
+ {
50
+ name: 'Download patch',
51
+ id: 'download_patch',
52
+ continueOnError: true,
53
+ uses: 'dawidd6/action-download-artifact@ac66b43f0e6a346234dd65d4d0c8fbb31cb316e5',
54
+ with: {
55
+ run_id: '${{ github.event.workflow_run.id }}',
56
+ name: 'repo.patch',
57
+ path: '${{ runner.temp }}',
58
+ },
59
+ },
60
+ ...conditionalSteps('steps.download_patch.outcome == \'success\'', cicd.projenCredentials.setupSteps, projen_1.github.WorkflowSteps.checkout({
61
+ name: 'Checkout PR',
62
+ with: {
63
+ repository: '${{ github.event.workflow_run.head_repository.full_name }}',
64
+ ref: '${{ github.event.workflow_run.head_branch }}',
65
+ token: cicd.projenCredentials.tokenRef,
66
+ },
67
+ }), {
68
+ name: 'Apply patch to PR',
69
+ run: [
70
+ 'set -e',
71
+ 'if [ ! -f "${{ runner.temp }}/repo.patch" ]; then',
72
+ ' echo "Patch file not found"',
73
+ ' exit 1',
74
+ 'fi',
75
+ 'git config user.name "github-actions[bot]"',
76
+ 'git config user.email "github-actions[bot]@users.noreply.github.com"',
77
+ 'if ! git apply --check ${{ runner.temp }}/repo.patch; then',
78
+ ' echo "Patch cannot be applied cleanly"',
79
+ ' exit 1',
80
+ 'fi',
81
+ 'git apply ${{ runner.temp }}/repo.patch',
82
+ 'if [ -z "$(git status --porcelain)" ]; then',
83
+ ' echo "No changes to commit"',
84
+ ' exit 0',
85
+ 'fi',
86
+ 'git add .',
87
+ 'git commit -s -m "chore: self mutation"',
88
+ 'git push',
89
+ ].join('\n'),
90
+ }),
91
+ ],
92
+ });
93
+ }
94
+ }
95
+ exports.SelfMutationOnForks = SelfMutationOnForks;
96
+ _a = JSII_RTTI_SYMBOL_1;
97
+ SelfMutationOnForks[_a] = { fqn: "mrpj.components.SelfMutationOnForks", version: "0.2.7" };
98
+ function conditionalSteps(cond, ...steps) {
99
+ return steps.flatMap(s => s).map(s => ({ ...s, if: s.if ?? cond }));
100
+ }
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VsZk11dGF0aW9uT25Gb3Jrcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL1NlbGZNdXRhdGlvbk9uRm9ya3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxtQ0FBMkM7QUFhM0M7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxNQUFhLG1CQUFtQjtJQUM5QixZQUFZLE9BQWdCLEVBQUUsVUFBc0MsRUFBRTtRQUNwRSxNQUFNLElBQUksR0FBRyxlQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFbEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsYUFBYTtZQUFFLE9BQU87UUFFM0IsK0NBQStDO1FBQy9DLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUN2QixrQkFBUyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUN4QyxDQUFDO1FBRUYsb0VBQW9FO1FBQ3BFLCtEQUErRDtRQUMvRCxNQUFNLFlBQVksR0FBRyxJQUFJLEVBQUUsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hELFlBQVksRUFBRSxFQUFFLENBQUM7WUFDZixXQUFXLEVBQUU7Z0JBQ1gsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztnQkFDL0IsS0FBSyxFQUFFLENBQUMsV0FBVyxDQUFDO2FBQ3JCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsWUFBWSxFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUU7WUFDcEMsTUFBTSxFQUFFLENBQUMsZUFBZSxDQUFDO1lBQ3pCLEVBQUUsRUFBRSx3R0FBd0c7WUFDNUcsV0FBVyxFQUFFO2dCQUNYLFFBQVEsRUFBRSxlQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJO2FBQzlDO1lBQ0QsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO1lBQ2hDLEtBQUssRUFBRTtnQkFDTDtvQkFDRSxJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixFQUFFLEVBQUUsZ0JBQWdCO29CQUNwQixlQUFlLEVBQUUsSUFBSTtvQkFDckIsSUFBSSxFQUFFLDJFQUEyRTtvQkFDakYsSUFBSSxFQUFFO3dCQUNKLE1BQU0sRUFBRSxxQ0FBcUM7d0JBQzdDLElBQUksRUFBRSxZQUFZO3dCQUNsQixJQUFJLEVBQUUsb0JBQW9CO3FCQUMzQjtpQkFDRjtnQkFDRCxHQUFHLGdCQUFnQixDQUNqQiw2Q0FBNkMsRUFDN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFDakMsZUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7b0JBQzVCLElBQUksRUFBRSxhQUFhO29CQUNuQixJQUFJLEVBQUU7d0JBQ0osVUFBVSxFQUFFLDREQUE0RDt3QkFDeEUsR0FBRyxFQUFFLDhDQUE4Qzt3QkFDbkQsS0FBSyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRO3FCQUN2QztpQkFDRixDQUFDLEVBQ0Y7b0JBQ0UsSUFBSSxFQUFFLG1CQUFtQjtvQkFDekIsR0FBRyxFQUFFO3dCQUNILFFBQVE7d0JBQ1IsbURBQW1EO3dCQUNuRCwrQkFBK0I7d0JBQy9CLFVBQVU7d0JBQ1YsSUFBSTt3QkFDSiw0Q0FBNEM7d0JBQzVDLHNFQUFzRTt3QkFDdEUsNERBQTREO3dCQUM1RCwwQ0FBMEM7d0JBQzFDLFVBQVU7d0JBQ1YsSUFBSTt3QkFDSix5Q0FBeUM7d0JBQ3pDLDZDQUE2Qzt3QkFDN0MsK0JBQStCO3dCQUMvQixVQUFVO3dCQUNWLElBQUk7d0JBQ0osV0FBVzt3QkFDWCx5Q0FBeUM7d0JBQ3pDLFVBQVU7cUJBQ1gsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2lCQUNiLENBQ0Y7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBaEZILGtEQWlGQzs7O0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsR0FBRyxLQUFtRTtJQUM1RyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3RFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb2plY3QgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgSnNvblBhdGNoLCBnaXRodWIgfSBmcm9tICdwcm9qZW4nO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGNvbmZpZ3VyaW5nIHNlbGYtbXV0YXRpb24gYmVoYXZpb3Igb24gZm9ya3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxmTXV0YXRpb25PbkZvcmtzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBFbnZpcm9ubWVudCBuYW1lIHRvIHVzZSBmb3IgdGhlIHdvcmtmbG93XG4gICAqIEBkZWZhdWx0IC0gbm8gZW52aXJvbm1lbnQgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmVzIEdpdEh1YiB3b3JrZmxvd3MgdG8gZW5hYmxlIHNlbGYtbXV0YXRpb24gb24gZm9yayBwdWxsIHJlcXVlc3RzLlxuICpcbiAqIFRoaXMgY2xhc3Mgc2V0cyB1cCBhIHdvcmtmbG93IHRoYXQgd2lsbCBhdXRvbWF0aWNhbGx5IGFwcGx5IHByb2plbi1nZW5lcmF0ZWQgY2hhbmdlc1xuICogd2hlbiBhIGJ1aWxkIGZhaWxzIGR1ZSB0byBvdXRkYXRlZCBnZW5lcmF0ZWQgZmlsZXMuIFRoZSB3b3JrZmxvdzpcbiAqXG4gKiAxLiBSdW5zIHdoZW4gdGhlIGJ1aWxkIHdvcmtmbG93IGZhaWxzIG9uIGEgUFJcbiAqIDIuIERvd25sb2FkcyBhbnkgcGF0Y2ggZmlsZSBnZW5lcmF0ZWQgZHVyaW5nIHRoZSBmYWlsZWQgYnVpbGRcbiAqIDMuIEF1dGhlbnRpY2F0ZXMgdXNpbmcgR2l0SHViIEFwcCBjcmVkZW50aWFsc1xuICogNC4gQ2hlY2tzIG91dCB0aGUgUFIgYnJhbmNoXG4gKiA1LiBBcHBsaWVzIHRoZSBwYXRjaCBpZiBpdCBleGlzdHMgYW5kIGNhbiBiZSBhcHBsaWVkIGNsZWFubHlcbiAqIDYuIENvbW1pdHMgYW5kIHB1c2hlcyB0aGUgY2hhbmdlcyBiYWNrIHRvIHRoZSBQUlxuICpcbiAqIFRoaXMgZW5hYmxlcyBhdXRvbWF0ZWQgZml4ZXMgZm9yIGNvbW1vbiBwcm9qZW4tcmVsYXRlZCBpc3N1ZXMgb24gZm9yayBQUnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWxmTXV0YXRpb25PbkZvcmtzIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogU2VsZk11dGF0aW9uT25Gb3Jrc09wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IGNpY2QgPSBnaXRodWIuR2l0SHViLm9mKHByb2plY3QpO1xuICAgIGlmICghY2ljZCkgcmV0dXJuO1xuXG4gICAgY29uc3QgYnVpbGRXb3JrZmxvdyA9IGNpY2QudHJ5RmluZFdvcmtmbG93KCdidWlsZCcpO1xuICAgIGlmICghYnVpbGRXb3JrZmxvdykgcmV0dXJuO1xuXG4gICAgLy8gVXBkYXRlIGNvbmRpdGlvbiB0byBydW4gb24gYWxsIHB1bGwgcmVxdWVzdHNcbiAgICBidWlsZFdvcmtmbG93LmZpbGU/LnBhdGNoKFxuICAgICAgSnNvblBhdGNoLnJlbW92ZSgnL2pvYnMvc2VsZi1tdXRhdGlvbicpLFxuICAgICk7XG5cbiAgICAvLyBBZGQgYSBuZXcgc2VsZiBtdXRhdGlvbiB3b3JrZmxvdyB0aGF0IHJ1bnMgb24gY29tcGxldGlvbiBvZiBidWlsZFxuICAgIC8vIGFuZCBpZiB0aGUgYnVpbGQgZmFpbGVkIGFuZCB0aGVyZSBpcyBhIHBhdGNoLCB1cGRhdGVzIHRoZSBQUlxuICAgIGNvbnN0IHNlbGZNdXRhdGlvbiA9IGNpY2Q/LmFkZFdvcmtmbG93KCdzZWxmLW11dGF0aW9uJyk7XG4gICAgc2VsZk11dGF0aW9uPy5vbih7XG4gICAgICB3b3JrZmxvd1J1bjoge1xuICAgICAgICB3b3JrZmxvd3M6IFtidWlsZFdvcmtmbG93Lm5hbWVdLFxuICAgICAgICB0eXBlczogWydjb21wbGV0ZWQnXSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBzZWxmTXV0YXRpb24/LmFkZEpvYignc2VsZi1tdXRhdGlvbicsIHtcbiAgICAgIHJ1bnNPbjogWyd1YnVudHUtbGF0ZXN0J10sXG4gICAgICBpZjogXCJnaXRodWIuZXZlbnQud29ya2Zsb3dfcnVuLmNvbmNsdXNpb24gPT0gJ2ZhaWx1cmUnICYmIGdpdGh1Yi5ldmVudC53b3JrZmxvd19ydW4uZXZlbnQgPT0gJ3B1bGxfcmVxdWVzdCdcIixcbiAgICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICAgIGNvbnRlbnRzOiBnaXRodWIud29ya2Zsb3dzLkpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgIH0sXG4gICAgICBlbnZpcm9ubWVudDogb3B0aW9ucy5lbnZpcm9ubWVudCxcbiAgICAgIHN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnRG93bmxvYWQgcGF0Y2gnLFxuICAgICAgICAgIGlkOiAnZG93bmxvYWRfcGF0Y2gnLFxuICAgICAgICAgIGNvbnRpbnVlT25FcnJvcjogdHJ1ZSxcbiAgICAgICAgICB1c2VzOiAnZGF3aWRkNi9hY3Rpb24tZG93bmxvYWQtYXJ0aWZhY3RAYWM2NmI0M2YwZTZhMzQ2MjM0ZGQ2NWQ0ZDBjOGZiYjMxY2IzMTZlNScsXG4gICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgcnVuX2lkOiAnJHt7IGdpdGh1Yi5ldmVudC53b3JrZmxvd19ydW4uaWQgfX0nLFxuICAgICAgICAgICAgbmFtZTogJ3JlcG8ucGF0Y2gnLFxuICAgICAgICAgICAgcGF0aDogJyR7eyBydW5uZXIudGVtcCB9fScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uY29uZGl0aW9uYWxTdGVwcyhcbiAgICAgICAgICAnc3RlcHMuZG93bmxvYWRfcGF0Y2gub3V0Y29tZSA9PSBcXCdzdWNjZXNzXFwnJyxcbiAgICAgICAgICBjaWNkLnByb2plbkNyZWRlbnRpYWxzLnNldHVwU3RlcHMsXG4gICAgICAgICAgZ2l0aHViLldvcmtmbG93U3RlcHMuY2hlY2tvdXQoe1xuICAgICAgICAgICAgbmFtZTogJ0NoZWNrb3V0IFBSJyxcbiAgICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICAgcmVwb3NpdG9yeTogJyR7eyBnaXRodWIuZXZlbnQud29ya2Zsb3dfcnVuLmhlYWRfcmVwb3NpdG9yeS5mdWxsX25hbWUgfX0nLFxuICAgICAgICAgICAgICByZWY6ICcke3sgZ2l0aHViLmV2ZW50LndvcmtmbG93X3J1bi5oZWFkX2JyYW5jaCB9fScsXG4gICAgICAgICAgICAgIHRva2VuOiBjaWNkLnByb2plbkNyZWRlbnRpYWxzLnRva2VuUmVmLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnQXBwbHkgcGF0Y2ggdG8gUFInLFxuICAgICAgICAgICAgcnVuOiBbXG4gICAgICAgICAgICAgICdzZXQgLWUnLFxuICAgICAgICAgICAgICAnaWYgWyAhIC1mIFwiJHt7IHJ1bm5lci50ZW1wIH19L3JlcG8ucGF0Y2hcIiBdOyB0aGVuJyxcbiAgICAgICAgICAgICAgJyAgZWNobyBcIlBhdGNoIGZpbGUgbm90IGZvdW5kXCInLFxuICAgICAgICAgICAgICAnICBleGl0IDEnLFxuICAgICAgICAgICAgICAnZmknLFxuICAgICAgICAgICAgICAnZ2l0IGNvbmZpZyB1c2VyLm5hbWUgXCJnaXRodWItYWN0aW9uc1tib3RdXCInLFxuICAgICAgICAgICAgICAnZ2l0IGNvbmZpZyB1c2VyLmVtYWlsIFwiZ2l0aHViLWFjdGlvbnNbYm90XUB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb21cIicsXG4gICAgICAgICAgICAgICdpZiAhIGdpdCBhcHBseSAtLWNoZWNrICR7eyBydW5uZXIudGVtcCB9fS9yZXBvLnBhdGNoOyB0aGVuJyxcbiAgICAgICAgICAgICAgJyAgZWNobyBcIlBhdGNoIGNhbm5vdCBiZSBhcHBsaWVkIGNsZWFubHlcIicsXG4gICAgICAgICAgICAgICcgIGV4aXQgMScsXG4gICAgICAgICAgICAgICdmaScsXG4gICAgICAgICAgICAgICdnaXQgYXBwbHkgJHt7IHJ1bm5lci50ZW1wIH19L3JlcG8ucGF0Y2gnLFxuICAgICAgICAgICAgICAnaWYgWyAteiBcIiQoZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbilcIiBdOyB0aGVuJyxcbiAgICAgICAgICAgICAgJyAgZWNobyBcIk5vIGNoYW5nZXMgdG8gY29tbWl0XCInLFxuICAgICAgICAgICAgICAnICBleGl0IDAnLFxuICAgICAgICAgICAgICAnZmknLFxuICAgICAgICAgICAgICAnZ2l0IGFkZCAuJyxcbiAgICAgICAgICAgICAgJ2dpdCBjb21taXQgLXMgLW0gXCJjaG9yZTogc2VsZiBtdXRhdGlvblwiJyxcbiAgICAgICAgICAgICAgJ2dpdCBwdXNoJyxcbiAgICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgICAgfSxcbiAgICAgICAgKSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29uZGl0aW9uYWxTdGVwcyhjb25kOiBzdHJpbmcsIC4uLnN0ZXBzOiBBcnJheTxnaXRodWIud29ya2Zsb3dzLkpvYlN0ZXAgfCBnaXRodWIud29ya2Zsb3dzLkpvYlN0ZXBbXT4pOiBnaXRodWIud29ya2Zsb3dzLkpvYlN0ZXBbXSB7XG4gIHJldHVybiBzdGVwcy5mbGF0TWFwKHMgPT4gcykubWFwKHMgPT4gKHsgLi4ucywgaWY6IHMuaWYgPz8gY29uZCB9KSk7XG59XG4iXX0=
@@ -0,0 +1 @@
1
+ export * from './SelfMutationOnForks';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./SelfMutationOnForks"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0RBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9TZWxmTXV0YXRpb25PbkZvcmtzJztcbiJdfQ==
@@ -511,6 +511,21 @@ export interface ConstructProjectOptions {
511
511
  * @stability stable
512
512
  */
513
513
  readonly autoApproveUpgrades?: boolean;
514
+ /**
515
+ * Security audit options.
516
+ * @default - default options
517
+ * @stability stable
518
+ */
519
+ readonly auditDepsOptions?: javascript.AuditOptions;
520
+ /**
521
+ * Run security audit on dependencies.
522
+ * When enabled, creates an "audit" task that checks for known security vulnerabilities
523
+ * in dependencies. By default, runs during every build and checks for "high" severity
524
+ * vulnerabilities or above in all dependencies (including dev dependencies).
525
+ * @default false
526
+ * @stability stable
527
+ */
528
+ readonly auditDeps?: boolean;
514
529
  /**
515
530
  * A directory which will contain build artifacts.
516
531
  * @default "dist"