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/.jsii +526 -291
- package/API.md +210 -2
- package/lib/components/SelfMutationOnForks.d.ts +29 -0
- package/lib/components/SelfMutationOnForks.js +101 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +18 -0
- package/lib/construct-project-options.d.ts +15 -0
- package/lib/construct-project-options.js +1 -1
- package/lib/construct-project.js +1 -1
- package/lib/features/automation.d.ts +4 -1
- package/lib/features/automation.js +12 -2
- package/lib/features/index.d.ts +1 -0
- package/lib/features/index.js +4 -2
- package/lib/features/self-mutation.d.ts +7 -0
- package/lib/features/self-mutation.js +14 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +3 -2
- package/lib/logo/Logo.js +1 -1
- package/lib/logo/SvgFile.js +1 -1
- package/lib/logo/Wordmark.js +1 -1
- package/lib/projen-project-options.d.ts +22 -1
- package/lib/projen-project-options.js +1 -1
- package/lib/projen-project.js +6 -5
- package/lib/typescript-project-options.d.ts +22 -1
- package/lib/typescript-project-options.js +1 -1
- package/lib/typescript-project.js +5 -4
- package/package.json +11 -11
- package/resources/node-versions.json +5 -4
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:*
|
|
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:*
|
|
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"
|