projen-modules 4.5.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +70 -59
- package/API.md +50 -42
- package/README.md +2 -0
- package/lib/components/github/mergify.js +38 -13
- package/lib/components/readme/elements/section.d.ts +11 -5
- package/lib/components/readme/elements/section.js +2 -2
- package/lib/components/readme/index.d.ts +3 -1
- package/lib/components/readme/index.js +14 -4
- package/lib/projects/cdk-ts/index.js +1 -1
- package/lib/projects/jsii/index.js +1 -1
- package/lib/projects/npm/index.js +1 -1
- package/lib/projects/python/index.js +1 -1
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
},
|
|
100
100
|
"name": "projen-modules",
|
|
101
101
|
"readme": {
|
|
102
|
-
"markdown": "# projen-modules\n\nA collection of custom projen modules, that can be used to bootstrap and maintain consistent project configuration, tooling, dependencies, and builds.\n\n## Getting Started\n\n```sh\nyarn install\nnpx projen build\n```\n\nThis will:\n* Install the dependencies\n* Apply any projen changes\n* Run tests\n* Package project locally\n\nAny files changed by projen should be committed to git.\n\nRunning the tests like this will update any snapshot files, this should be reviewed and committed to git.\n\n## Testing\n\nTypes of testing:\n* Snapshot - projen project outputs are stored as a snapshot in the corresponding `__snapshots__` directory. When the project changes then it is expected that these snapshots change too and should be reviewed committed alongside the project.\n* Unit tests - these assert on specific functionality of the project and should be written for any new functionality added.\n\n\n## Creating a New Project\n\n\n```\nnpx projen new {project} --from projen-modules\n```\n\nSome projects may have required fields that need to be specified as part of this command, review any errors for details what needs to be specified.\n\n### Project Types\n\n| Project type | Description |\n| ---------------------------------------------- | -------------------------- |\n| [cdk-typescript-app](API.md#cdktypescriptapp-) | A typescript CDK app |\n| [npm-package](API.md#npmpackage-) | A typescript npm package |\n| [python-package](API.md#pythonpackage-) | A python package |\n| [jsii-package](API.md#jsiiproject-) | A typescript JSII package |\n\n## Project Structure\n\nAll source is located in `src` and is grouped by:\n* `components` - these are common building blocks that can be used by projects to implement specific project functionality.\n* `projects` - these are projects that can be built from this project (see #something)\n* `utils` - these are helper functions that are often reused\n\n`test` contains tests, and mirrors the `src` directory structure. Within here there are `__snapshots__` which contain snapshots of project tests (see #section).\n\n## GitHub Configuration\n\nAll pull requests are merged by the [Mergify](https://mergify.com) merge queue, configured in `.mergify.yml`. Once a pull request is approved, or is opened by `daveshepherd`, and its checks pass, Mergify queues it, brings it up to date with the default branch, waits for the checks again and squash merges it. Draft pull requests and those labelled `do-not-merge` are not merged.\n\nThe repository must be configured as below so that nothing can be merged without going through the queue.\n\n### Mergify\n\nInstall the [Mergify GitHub App](https://github.com/apps/mergify) and give it access to this repository.\n\n### Pull request settings\n\nIn **Settings → General → Pull Requests**:\n* Allow squash merging only (untick merge commits and rebase merging), matching the queue's merge method.\n* Untick **Allow auto-merge**, because GitHub's own auto-merge merges outside the queue.\n* Tick **Automatically delete head branches**.\n\n### Actions settings\n\nIn **Settings → Actions → General**, set **Approval for running fork pull request workflows from contributors** to **Require approval for all external contributors**. A pull request from a fork runs its own copy of the workflows, so it can change how the required checks pass.\n\n### Code scanning\n\nCodeQL runs from `.github/workflows/codeql.yml`, which is managed by projen. In **Settings → Advanced Security**, leave CodeQL **Default setup** off, because it cannot run alongside this workflow. Under **Protection rules**, keep the **Check run failure threshold** at **High or higher** for security alerts and **Errors** for other alerts, as this decides whether the `CodeQL` check fails. Private repositories also need GitHub Code Security enabled there for code scanning results to be uploaded.\n\n### Branch ruleset\n\nIn **Settings → Rules → Rulesets**, create a branch ruleset with enforcement **Active** that targets the default branch, and set:\n* **Bypass list**: the **Mergify** app only, in **Exempt** mode. Do not add admins or other roles, as anyone on this list can merge without the queue.\n* **Restrict updates**: only bypass actors can update the branch, so pull requests cannot be merged from the GitHub UI or CLI and commits cannot be pushed directly.\n* **Restrict deletions** and **Block force pushes**.\n* **Require a pull request before merging**, with 0 required approvals, because Mergify requires approvals itself for authors other than `daveshepherd` and is exempt from this rule. Tick **Dismiss stale pull request approvals when new commits are pushed**, so that commits pushed after an approval need approving again before the queue merges them.\n* **Require status checks to pass**, listing the checks that `.mergify.yml` waits for: `build`, `package-js`, `package-python`. Leave **Require branches to be up to date before merging** unticked, as the queue already updates and retests each pull request.\n* **Require code scanning results**, with the tool **CodeQL**, security alerts set to **High or higher** and alerts set to **Errors**. Mergify is exempt from this rule, so `.mergify.yml` also waits for the `CodeQL` check instead.\n\nDo not enable GitHub's own **Require merge queue** rule, as it competes with Mergify.\n\nIf the queue is unavailable and a change has to be merged, add yourself to the bypass list temporarily and remove yourself afterwards.\n\n## Known Issues\n\n`cdk-typescript-app` defaults to Jest 30, which hoists `@sinonjs/fake-timers` 15 whose bundled types conflict with the `@types/sinon` used by `aws-sdk-client-mock`. Projects using `aws-sdk-client-mock` can set `compilerOptions.skipLibCheck` on the test tsconfig:\n\n```ts\nproject.tryFindObjectFile('test/tsconfig.json')?.addOverride('compilerOptions.skipLibCheck', true);\n```"
|
|
102
|
+
"markdown": "<!-- ~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\". -->\n\n# projen-modules\n\nA collection of custom projen modules, that can be used to bootstrap and maintain consistent project configuration, tooling, dependencies, and builds.\n\n## Getting Started\n\n```sh\nyarn install\nnpx projen build\n```\n\nThis will:\n* Install the dependencies\n* Apply any projen changes\n* Run tests\n* Package project locally\n\nAny files changed by projen should be committed to git.\n\nRunning the tests like this will update any snapshot files, this should be reviewed and committed to git.\n\n## Testing\n\nTypes of testing:\n* Snapshot - projen project outputs are stored as a snapshot in the corresponding `__snapshots__` directory. When the project changes then it is expected that these snapshots change too and should be reviewed committed alongside the project.\n* Unit tests - these assert on specific functionality of the project and should be written for any new functionality added.\n\n\n## Creating a New Project\n\n\n```\nnpx projen new {project} --from projen-modules\n```\n\nSome projects may have required fields that need to be specified as part of this command, review any errors for details what needs to be specified.\n\n### Project Types\n\n| Project type | Description |\n| ---------------------------------------------- | -------------------------- |\n| [cdk-typescript-app](API.md#cdktypescriptapp-) | A typescript CDK app |\n| [npm-package](API.md#npmpackage-) | A typescript npm package |\n| [python-package](API.md#pythonpackage-) | A python package |\n| [jsii-package](API.md#jsiiproject-) | A typescript JSII package |\n\n## Project Structure\n\nAll source is located in `src` and is grouped by:\n* `components` - these are common building blocks that can be used by projects to implement specific project functionality.\n* `projects` - these are projects that can be built from this project (see #something)\n* `utils` - these are helper functions that are often reused\n\n`test` contains tests, and mirrors the `src` directory structure. Within here there are `__snapshots__` which contain snapshots of project tests (see #section).\n\n## GitHub Configuration\n\nAll pull requests are merged by the [Mergify](https://mergify.com) merge queue, configured in `.mergify.yml`. Once a pull request is approved, or is opened by `daveshepherd`, and its checks pass, Mergify queues it, brings it up to date with the default branch, waits for the checks again and squash merges it. Draft pull requests and those labelled `do-not-merge` are not merged.\n\nThe repository must be configured as below so that nothing can be merged without going through the queue.\n\n### Mergify\n\nInstall the [Mergify GitHub App](https://github.com/apps/mergify) and give it access to this repository.\n\n### Pull request settings\n\nIn **Settings → General → Pull Requests**:\n* Allow squash merging only (untick merge commits and rebase merging), matching the queue's merge method.\n* Untick **Allow auto-merge**, because GitHub's own auto-merge merges outside the queue.\n* Tick **Automatically delete head branches**.\n\n### Actions settings\n\nIn **Settings → Actions → General**, set **Approval for running fork pull request workflows from contributors** to **Require approval for all external contributors**. A pull request from a fork runs its own copy of the workflows, so it can change how the required checks pass.\n\n### Code scanning\n\nCodeQL runs from `.github/workflows/codeql.yml`, which is managed by projen. In **Settings → Advanced Security**, leave CodeQL **Default setup** off, because it cannot run alongside this workflow. Under **Protection rules**, keep the **Check run failure threshold** at **High or higher** for security alerts and **Errors** for other alerts, as this decides whether the `CodeQL` check fails. Private repositories also need GitHub Code Security enabled there for code scanning results to be uploaded.\n\n### Branch ruleset\n\nIn **Settings → Rules → Rulesets**, create a branch ruleset with enforcement **Active** that targets the default branch, and set:\n* **Bypass list**: the **Mergify** app only, in **Exempt** mode. Do not add admins or other roles, as anyone on this list can merge without the queue.\n* **Restrict updates**: only bypass actors can update the branch, so pull requests cannot be merged from the GitHub UI or CLI and commits cannot be pushed directly.\n* **Restrict deletions** and **Block force pushes**.\n* **Require a pull request before merging**, with 0 required approvals, because Mergify requires approvals itself for authors other than `daveshepherd` and is exempt from this rule. Tick **Dismiss stale pull request approvals when new commits are pushed**, so that commits pushed after an approval need approving again before the queue merges them.\n* **Require status checks to pass**, listing the checks that `.mergify.yml` waits for: `build`, `package-js`, `package-python`. Leave **Require branches to be up to date before merging** unticked, as the queue already updates and retests each pull request.\n* **Require code scanning results**, with the tool **CodeQL**, security alerts set to **High or higher** and alerts set to **Errors**. Mergify is exempt from this rule, so `.mergify.yml` also waits for the `CodeQL` check instead.\n\nDo not enable GitHub's own **Require merge queue** rule, as it competes with Mergify.\n\nIf the queue is unavailable and a change has to be merged, add yourself to the bypass list temporarily and remove yourself afterwards.\n\n## Known Issues\n\n`cdk-typescript-app` defaults to Jest 30, which hoists `@sinonjs/fake-timers` 15 whose bundled types conflict with the `@types/sinon` used by `aws-sdk-client-mock`. Projects using `aws-sdk-client-mock` can set `compilerOptions.skipLibCheck` on the test tsconfig:\n\n```ts\nproject.tryFindObjectFile('test/tsconfig.json')?.addOverride('compilerOptions.skipLibCheck', true);\n```"
|
|
103
103
|
},
|
|
104
104
|
"repository": {
|
|
105
105
|
"type": "git",
|
|
@@ -3746,50 +3746,6 @@
|
|
|
3746
3746
|
],
|
|
3747
3747
|
"symbolId": "src/projects/cdk-ts/deployment-environment:DeploymentEnvironment"
|
|
3748
3748
|
},
|
|
3749
|
-
"projen-modules.ISectionOptions": {
|
|
3750
|
-
"assembly": "projen-modules",
|
|
3751
|
-
"docs": {
|
|
3752
|
-
"stability": "stable"
|
|
3753
|
-
},
|
|
3754
|
-
"fqn": "projen-modules.ISectionOptions",
|
|
3755
|
-
"kind": "interface",
|
|
3756
|
-
"locationInModule": {
|
|
3757
|
-
"filename": "src/components/readme/elements/section.ts",
|
|
3758
|
-
"line": 1
|
|
3759
|
-
},
|
|
3760
|
-
"name": "ISectionOptions",
|
|
3761
|
-
"properties": [
|
|
3762
|
-
{
|
|
3763
|
-
"abstract": true,
|
|
3764
|
-
"docs": {
|
|
3765
|
-
"stability": "stable"
|
|
3766
|
-
},
|
|
3767
|
-
"locationInModule": {
|
|
3768
|
-
"filename": "src/components/readme/elements/section.ts",
|
|
3769
|
-
"line": 3
|
|
3770
|
-
},
|
|
3771
|
-
"name": "body",
|
|
3772
|
-
"type": {
|
|
3773
|
-
"primitive": "string"
|
|
3774
|
-
}
|
|
3775
|
-
},
|
|
3776
|
-
{
|
|
3777
|
-
"abstract": true,
|
|
3778
|
-
"docs": {
|
|
3779
|
-
"stability": "stable"
|
|
3780
|
-
},
|
|
3781
|
-
"locationInModule": {
|
|
3782
|
-
"filename": "src/components/readme/elements/section.ts",
|
|
3783
|
-
"line": 2
|
|
3784
|
-
},
|
|
3785
|
-
"name": "title",
|
|
3786
|
-
"type": {
|
|
3787
|
-
"primitive": "string"
|
|
3788
|
-
}
|
|
3789
|
-
}
|
|
3790
|
-
],
|
|
3791
|
-
"symbolId": "src/components/readme/elements/section:ISectionOptions"
|
|
3792
|
-
},
|
|
3793
3749
|
"projen-modules.JsiiProject": {
|
|
3794
3750
|
"assembly": "projen-modules",
|
|
3795
3751
|
"base": "projen.cdk.JsiiProject",
|
|
@@ -11477,12 +11433,13 @@
|
|
|
11477
11433
|
},
|
|
11478
11434
|
{
|
|
11479
11435
|
"docs": {
|
|
11436
|
+
"returns": "the section",
|
|
11480
11437
|
"stability": "stable",
|
|
11481
11438
|
"summary": "Adds a section, or replaces the section with the same title."
|
|
11482
11439
|
},
|
|
11483
11440
|
"locationInModule": {
|
|
11484
11441
|
"filename": "src/components/readme/index.ts",
|
|
11485
|
-
"line":
|
|
11442
|
+
"line": 86
|
|
11486
11443
|
},
|
|
11487
11444
|
"name": "addSection",
|
|
11488
11445
|
"parameters": [
|
|
@@ -11505,7 +11462,12 @@
|
|
|
11505
11462
|
"fqn": "projen-modules.AddSectionOptions"
|
|
11506
11463
|
}
|
|
11507
11464
|
}
|
|
11508
|
-
]
|
|
11465
|
+
],
|
|
11466
|
+
"returns": {
|
|
11467
|
+
"type": {
|
|
11468
|
+
"fqn": "projen-modules.Section"
|
|
11469
|
+
}
|
|
11470
|
+
}
|
|
11509
11471
|
},
|
|
11510
11472
|
{
|
|
11511
11473
|
"docs": {
|
|
@@ -11515,7 +11477,7 @@
|
|
|
11515
11477
|
},
|
|
11516
11478
|
"locationInModule": {
|
|
11517
11479
|
"filename": "src/components/readme/index.ts",
|
|
11518
|
-
"line":
|
|
11480
|
+
"line": 109
|
|
11519
11481
|
},
|
|
11520
11482
|
"name": "removeSection",
|
|
11521
11483
|
"parameters": [
|
|
@@ -11539,7 +11501,7 @@
|
|
|
11539
11501
|
},
|
|
11540
11502
|
"locationInModule": {
|
|
11541
11503
|
"filename": "src/components/readme/index.ts",
|
|
11542
|
-
"line":
|
|
11504
|
+
"line": 126
|
|
11543
11505
|
},
|
|
11544
11506
|
"name": "synthesizeContent",
|
|
11545
11507
|
"overrides": "projen.FileBase",
|
|
@@ -11566,7 +11528,7 @@
|
|
|
11566
11528
|
},
|
|
11567
11529
|
"locationInModule": {
|
|
11568
11530
|
"filename": "src/components/readme/index.ts",
|
|
11569
|
-
"line":
|
|
11531
|
+
"line": 121
|
|
11570
11532
|
},
|
|
11571
11533
|
"name": "tryFindSection",
|
|
11572
11534
|
"parameters": [
|
|
@@ -11595,7 +11557,7 @@
|
|
|
11595
11557
|
"immutable": true,
|
|
11596
11558
|
"locationInModule": {
|
|
11597
11559
|
"filename": "src/components/readme/index.ts",
|
|
11598
|
-
"line":
|
|
11560
|
+
"line": 77
|
|
11599
11561
|
},
|
|
11600
11562
|
"name": "sections",
|
|
11601
11563
|
"type": {
|
|
@@ -11755,13 +11717,13 @@
|
|
|
11755
11717
|
},
|
|
11756
11718
|
"locationInModule": {
|
|
11757
11719
|
"filename": "src/components/readme/elements/section.ts",
|
|
11758
|
-
"line":
|
|
11720
|
+
"line": 14
|
|
11759
11721
|
},
|
|
11760
11722
|
"parameters": [
|
|
11761
11723
|
{
|
|
11762
11724
|
"name": "options",
|
|
11763
11725
|
"type": {
|
|
11764
|
-
"fqn": "projen-modules.
|
|
11726
|
+
"fqn": "projen-modules.SectionOptions"
|
|
11765
11727
|
}
|
|
11766
11728
|
}
|
|
11767
11729
|
]
|
|
@@ -11769,7 +11731,7 @@
|
|
|
11769
11731
|
"kind": "class",
|
|
11770
11732
|
"locationInModule": {
|
|
11771
11733
|
"filename": "src/components/readme/elements/section.ts",
|
|
11772
|
-
"line":
|
|
11734
|
+
"line": 12
|
|
11773
11735
|
},
|
|
11774
11736
|
"methods": [
|
|
11775
11737
|
{
|
|
@@ -11778,7 +11740,7 @@
|
|
|
11778
11740
|
},
|
|
11779
11741
|
"locationInModule": {
|
|
11780
11742
|
"filename": "src/components/readme/elements/section.ts",
|
|
11781
|
-
"line":
|
|
11743
|
+
"line": 17
|
|
11782
11744
|
},
|
|
11783
11745
|
"name": "synth",
|
|
11784
11746
|
"returns": {
|
|
@@ -11797,17 +11759,66 @@
|
|
|
11797
11759
|
"immutable": true,
|
|
11798
11760
|
"locationInModule": {
|
|
11799
11761
|
"filename": "src/components/readme/elements/section.ts",
|
|
11800
|
-
"line":
|
|
11762
|
+
"line": 13
|
|
11801
11763
|
},
|
|
11802
11764
|
"name": "options",
|
|
11803
11765
|
"type": {
|
|
11804
|
-
"fqn": "projen-modules.
|
|
11766
|
+
"fqn": "projen-modules.SectionOptions"
|
|
11805
11767
|
}
|
|
11806
11768
|
}
|
|
11807
11769
|
],
|
|
11808
11770
|
"symbolId": "src/components/readme/elements/section:Section"
|
|
11771
|
+
},
|
|
11772
|
+
"projen-modules.SectionOptions": {
|
|
11773
|
+
"assembly": "projen-modules",
|
|
11774
|
+
"datatype": true,
|
|
11775
|
+
"docs": {
|
|
11776
|
+
"stability": "stable"
|
|
11777
|
+
},
|
|
11778
|
+
"fqn": "projen-modules.SectionOptions",
|
|
11779
|
+
"kind": "interface",
|
|
11780
|
+
"locationInModule": {
|
|
11781
|
+
"filename": "src/components/readme/elements/section.ts",
|
|
11782
|
+
"line": 1
|
|
11783
|
+
},
|
|
11784
|
+
"name": "SectionOptions",
|
|
11785
|
+
"properties": [
|
|
11786
|
+
{
|
|
11787
|
+
"abstract": true,
|
|
11788
|
+
"docs": {
|
|
11789
|
+
"stability": "stable",
|
|
11790
|
+
"summary": "The markdown content of the section."
|
|
11791
|
+
},
|
|
11792
|
+
"immutable": true,
|
|
11793
|
+
"locationInModule": {
|
|
11794
|
+
"filename": "src/components/readme/elements/section.ts",
|
|
11795
|
+
"line": 9
|
|
11796
|
+
},
|
|
11797
|
+
"name": "body",
|
|
11798
|
+
"type": {
|
|
11799
|
+
"primitive": "string"
|
|
11800
|
+
}
|
|
11801
|
+
},
|
|
11802
|
+
{
|
|
11803
|
+
"abstract": true,
|
|
11804
|
+
"docs": {
|
|
11805
|
+
"stability": "stable",
|
|
11806
|
+
"summary": "The heading of the section."
|
|
11807
|
+
},
|
|
11808
|
+
"immutable": true,
|
|
11809
|
+
"locationInModule": {
|
|
11810
|
+
"filename": "src/components/readme/elements/section.ts",
|
|
11811
|
+
"line": 5
|
|
11812
|
+
},
|
|
11813
|
+
"name": "title",
|
|
11814
|
+
"type": {
|
|
11815
|
+
"primitive": "string"
|
|
11816
|
+
}
|
|
11817
|
+
}
|
|
11818
|
+
],
|
|
11819
|
+
"symbolId": "src/components/readme/elements/section:SectionOptions"
|
|
11809
11820
|
}
|
|
11810
11821
|
},
|
|
11811
|
-
"version": "
|
|
11812
|
-
"fingerprint": "
|
|
11822
|
+
"version": "5.0.0",
|
|
11823
|
+
"fingerprint": "bECLvbO9z3iItoN36vGLH7mwjjnV+0vSkWpvPdcjRHc="
|
|
11813
11824
|
}
|
package/API.md
CHANGED
|
@@ -5408,7 +5408,7 @@ Number of context lines around changes.
|
|
|
5408
5408
|
##### `addSection` <a name="addSection" id="projen-modules.Readme.addSection"></a>
|
|
5409
5409
|
|
|
5410
5410
|
```typescript
|
|
5411
|
-
public addSection(title: string, body: string, options?: AddSectionOptions):
|
|
5411
|
+
public addSection(title: string, body: string, options?: AddSectionOptions): Section
|
|
5412
5412
|
```
|
|
5413
5413
|
|
|
5414
5414
|
Adds a section, or replaces the section with the same title.
|
|
@@ -14655,6 +14655,49 @@ The description of the project.
|
|
|
14655
14655
|
|
|
14656
14656
|
---
|
|
14657
14657
|
|
|
14658
|
+
### SectionOptions <a name="SectionOptions" id="projen-modules.SectionOptions"></a>
|
|
14659
|
+
|
|
14660
|
+
#### Initializer <a name="Initializer" id="projen-modules.SectionOptions.Initializer"></a>
|
|
14661
|
+
|
|
14662
|
+
```typescript
|
|
14663
|
+
import { SectionOptions } from 'projen-modules'
|
|
14664
|
+
|
|
14665
|
+
const sectionOptions: SectionOptions = { ... }
|
|
14666
|
+
```
|
|
14667
|
+
|
|
14668
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
14669
|
+
|
|
14670
|
+
| **Name** | **Type** | **Description** |
|
|
14671
|
+
| --- | --- | --- |
|
|
14672
|
+
| <code><a href="#projen-modules.SectionOptions.property.body">body</a></code> | <code>string</code> | The markdown content of the section. |
|
|
14673
|
+
| <code><a href="#projen-modules.SectionOptions.property.title">title</a></code> | <code>string</code> | The heading of the section. |
|
|
14674
|
+
|
|
14675
|
+
---
|
|
14676
|
+
|
|
14677
|
+
##### `body`<sup>Required</sup> <a name="body" id="projen-modules.SectionOptions.property.body"></a>
|
|
14678
|
+
|
|
14679
|
+
```typescript
|
|
14680
|
+
public readonly body: string;
|
|
14681
|
+
```
|
|
14682
|
+
|
|
14683
|
+
- *Type:* string
|
|
14684
|
+
|
|
14685
|
+
The markdown content of the section.
|
|
14686
|
+
|
|
14687
|
+
---
|
|
14688
|
+
|
|
14689
|
+
##### `title`<sup>Required</sup> <a name="title" id="projen-modules.SectionOptions.property.title"></a>
|
|
14690
|
+
|
|
14691
|
+
```typescript
|
|
14692
|
+
public readonly title: string;
|
|
14693
|
+
```
|
|
14694
|
+
|
|
14695
|
+
- *Type:* string
|
|
14696
|
+
|
|
14697
|
+
The heading of the section.
|
|
14698
|
+
|
|
14699
|
+
---
|
|
14700
|
+
|
|
14658
14701
|
## Classes <a name="Classes" id="Classes"></a>
|
|
14659
14702
|
|
|
14660
14703
|
### ReadmeOrder <a name="ReadmeOrder" id="projen-modules.ReadmeOrder"></a>
|
|
@@ -14730,18 +14773,18 @@ How to use and operate the project.
|
|
|
14730
14773
|
```typescript
|
|
14731
14774
|
import { Section } from 'projen-modules'
|
|
14732
14775
|
|
|
14733
|
-
new Section(options:
|
|
14776
|
+
new Section(options: SectionOptions)
|
|
14734
14777
|
```
|
|
14735
14778
|
|
|
14736
14779
|
| **Name** | **Type** | **Description** |
|
|
14737
14780
|
| --- | --- | --- |
|
|
14738
|
-
| <code><a href="#projen-modules.Section.Initializer.parameter.options">options</a></code> | <code><a href="#projen-modules.
|
|
14781
|
+
| <code><a href="#projen-modules.Section.Initializer.parameter.options">options</a></code> | <code><a href="#projen-modules.SectionOptions">SectionOptions</a></code> | *No description.* |
|
|
14739
14782
|
|
|
14740
14783
|
---
|
|
14741
14784
|
|
|
14742
14785
|
##### `options`<sup>Required</sup> <a name="options" id="projen-modules.Section.Initializer.parameter.options"></a>
|
|
14743
14786
|
|
|
14744
|
-
- *Type:* <a href="#projen-modules.
|
|
14787
|
+
- *Type:* <a href="#projen-modules.SectionOptions">SectionOptions</a>
|
|
14745
14788
|
|
|
14746
14789
|
---
|
|
14747
14790
|
|
|
@@ -14764,54 +14807,19 @@ public synth(): string
|
|
|
14764
14807
|
|
|
14765
14808
|
| **Name** | **Type** | **Description** |
|
|
14766
14809
|
| --- | --- | --- |
|
|
14767
|
-
| <code><a href="#projen-modules.Section.property.options">options</a></code> | <code><a href="#projen-modules.
|
|
14810
|
+
| <code><a href="#projen-modules.Section.property.options">options</a></code> | <code><a href="#projen-modules.SectionOptions">SectionOptions</a></code> | *No description.* |
|
|
14768
14811
|
|
|
14769
14812
|
---
|
|
14770
14813
|
|
|
14771
14814
|
##### `options`<sup>Required</sup> <a name="options" id="projen-modules.Section.property.options"></a>
|
|
14772
14815
|
|
|
14773
14816
|
```typescript
|
|
14774
|
-
public readonly options:
|
|
14775
|
-
```
|
|
14776
|
-
|
|
14777
|
-
- *Type:* <a href="#projen-modules.ISectionOptions">ISectionOptions</a>
|
|
14778
|
-
|
|
14779
|
-
---
|
|
14780
|
-
|
|
14781
|
-
|
|
14782
|
-
## Protocols <a name="Protocols" id="Protocols"></a>
|
|
14783
|
-
|
|
14784
|
-
### ISectionOptions <a name="ISectionOptions" id="projen-modules.ISectionOptions"></a>
|
|
14785
|
-
|
|
14786
|
-
- *Implemented By:* <a href="#projen-modules.ISectionOptions">ISectionOptions</a>
|
|
14787
|
-
|
|
14788
|
-
|
|
14789
|
-
#### Properties <a name="Properties" id="Properties"></a>
|
|
14790
|
-
|
|
14791
|
-
| **Name** | **Type** | **Description** |
|
|
14792
|
-
| --- | --- | --- |
|
|
14793
|
-
| <code><a href="#projen-modules.ISectionOptions.property.body">body</a></code> | <code>string</code> | *No description.* |
|
|
14794
|
-
| <code><a href="#projen-modules.ISectionOptions.property.title">title</a></code> | <code>string</code> | *No description.* |
|
|
14795
|
-
|
|
14796
|
-
---
|
|
14797
|
-
|
|
14798
|
-
##### `body`<sup>Required</sup> <a name="body" id="projen-modules.ISectionOptions.property.body"></a>
|
|
14799
|
-
|
|
14800
|
-
```typescript
|
|
14801
|
-
public readonly body: string;
|
|
14817
|
+
public readonly options: SectionOptions;
|
|
14802
14818
|
```
|
|
14803
14819
|
|
|
14804
|
-
- *Type:*
|
|
14820
|
+
- *Type:* <a href="#projen-modules.SectionOptions">SectionOptions</a>
|
|
14805
14821
|
|
|
14806
14822
|
---
|
|
14807
14823
|
|
|
14808
|
-
##### `title`<sup>Required</sup> <a name="title" id="projen-modules.ISectionOptions.property.title"></a>
|
|
14809
14824
|
|
|
14810
|
-
```typescript
|
|
14811
|
-
public readonly title: string;
|
|
14812
|
-
```
|
|
14813
|
-
|
|
14814
|
-
- *Type:* string
|
|
14815
|
-
|
|
14816
|
-
---
|
|
14817
14825
|
|
package/README.md
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.autoMergeOptions = autoMergeOptions;
|
|
4
4
|
exports.configureMergify = configureMergify;
|
|
5
|
+
const projen_1 = require("projen");
|
|
5
6
|
const codeql_1 = require("./codeql");
|
|
6
7
|
const readme_1 = require("../readme");
|
|
7
8
|
/**
|
|
@@ -103,7 +104,9 @@ function configureMergify(project, options = {}) {
|
|
|
103
104
|
if (!mergify) {
|
|
104
105
|
return;
|
|
105
106
|
}
|
|
106
|
-
|
|
107
|
+
// build jobs and CodeQL can be added after this, so they are read at synthesis
|
|
108
|
+
const buildJobIds = () => project.buildWorkflow?.buildJobIds ?? [];
|
|
109
|
+
const codeScanning = () => project.components.some((c) => c instanceof codeql_1.CodeQl);
|
|
107
110
|
project.autoMerge?.addConditions('-draft');
|
|
108
111
|
const approvedReviews = options.approvedReviews ?? 1;
|
|
109
112
|
const trustedAuthors = options.trustedAuthors ?? [];
|
|
@@ -118,16 +121,14 @@ function configureMergify(project, options = {}) {
|
|
|
118
121
|
project.autoMerge?.addConditions(approvedOrTrusted);
|
|
119
122
|
}
|
|
120
123
|
// Mergify is exempt from the ruleset's code scanning rule, so the queue enforces it instead
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}
|
|
124
|
+
project.autoMerge?.addConditionsLater({
|
|
125
|
+
render: () => codeScanning() ? [`status-success=${codeql_1.CodeQl.CHECK_NAME}`] : [],
|
|
126
|
+
});
|
|
127
|
+
const upgradeAuthor = `author=${options.upgradeAuthor ?? 'endor-projen[bot]'}`;
|
|
128
|
+
const upgradeConditions = [upgradeAuthor];
|
|
125
129
|
mergify.addRule({
|
|
126
130
|
name: 'Automatic approval for projen upgrade pull requests',
|
|
127
|
-
conditions:
|
|
128
|
-
`author=${options.upgradeAuthor ?? 'endor-projen[bot]'}`,
|
|
129
|
-
...buildJobIds.map((id) => `status-success=${id}`),
|
|
130
|
-
],
|
|
131
|
+
conditions: upgradeConditions,
|
|
131
132
|
actions: {
|
|
132
133
|
review: {
|
|
133
134
|
type: 'APPROVE',
|
|
@@ -145,11 +146,35 @@ function configureMergify(project, options = {}) {
|
|
|
145
146
|
},
|
|
146
147
|
});
|
|
147
148
|
project.tryFindObjectFile('.mergify.yml')?.addOverride('merge_protections_settings.reporting_method', options.reportingMethod ?? 'deployments');
|
|
148
|
-
readme_1.Readme.of(project)?.addSection(
|
|
149
|
+
const addReadmeSection = () => readme_1.Readme.of(project)?.addSection(GITHUB_CONFIGURATION_TITLE, githubConfigurationSection({
|
|
149
150
|
approvedReviews,
|
|
150
|
-
codeScanning,
|
|
151
|
-
requiredChecks: buildJobIds,
|
|
151
|
+
codeScanning: codeScanning(),
|
|
152
|
+
requiredChecks: buildJobIds(),
|
|
152
153
|
trustedAuthors,
|
|
153
154
|
}), { order: readme_1.ReadmeOrder.REFERENCE });
|
|
155
|
+
let readmeSection = addReadmeSection();
|
|
156
|
+
new BeforeSynthesis(project, () => {
|
|
157
|
+
upgradeConditions.splice(0, upgradeConditions.length, upgradeAuthor, ...buildJobIds().map((id) => `status-success=${id}`));
|
|
158
|
+
// leave the section alone if the project has removed or replaced it
|
|
159
|
+
const readme = readme_1.Readme.of(project);
|
|
160
|
+
if (readmeSection && readme?.tryFindSection(GITHUB_CONFIGURATION_TITLE) === readmeSection) {
|
|
161
|
+
readmeSection = addReadmeSection();
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
const GITHUB_CONFIGURATION_TITLE = 'GitHub Configuration';
|
|
166
|
+
/**
|
|
167
|
+
* Runs a callback once every component has been added, before any file is
|
|
168
|
+
* synthesized
|
|
169
|
+
*/
|
|
170
|
+
class BeforeSynthesis extends projen_1.Component {
|
|
171
|
+
callback;
|
|
172
|
+
constructor(project, callback) {
|
|
173
|
+
super(project);
|
|
174
|
+
this.callback = callback;
|
|
175
|
+
}
|
|
176
|
+
preSynthesize() {
|
|
177
|
+
this.callback();
|
|
178
|
+
}
|
|
154
179
|
}
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2lmeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2dpdGh1Yi9tZXJnaWZ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBMENBLDRDQVFDO0FBaUdELDRDQXVFQztBQXpORCxxQ0FBa0M7QUFDbEMsc0NBQWdEO0FBb0NoRDs7O0dBR0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxPQUdoQztJQUNDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3BDLE9BQU8sT0FBTyxDQUFDLGdCQUFnQixDQUFDO0lBQ2xDLENBQUM7SUFDRCxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLENBQUMsRUFBRSxDQUFDO0FBQzdELENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxNQUFxQjtJQUN2QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELE9BQU8sTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFO1FBQ3JFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3RCLENBQUM7QUFTRCxTQUFTLGdCQUFnQixDQUFDLE1BQTJCO0lBQ25ELElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDNUIsT0FBTyxtQ0FBbUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0s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YztLQUNmLENBQUMsRUFDRixFQUFFLEtBQUssRUFBRSxvQkFBVyxDQUFDLFNBQVMsRUFBRSxDQUNqQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdpdGh1YiwgUHJvamVjdCB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBDb2RlUWwgfSBmcm9tICcuL2NvZGVxbCc7XG5pbXBvcnQgeyBSZWFkbWUsIFJlYWRtZU9yZGVyIH0gZnJvbSAnLi4vcmVhZG1lJztcblxuZXhwb3J0IGludGVyZmFjZSBNZXJnaWZ5T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgYXBwcm92aW5nIHJldmlld3MgdGhlIG1lcmdlIHF1ZXVlIHdhaXRzIGZvciwgd2hpY2ggc2hvdWxkIG1hdGNoXG4gICAqIGBhdXRvTWVyZ2VPcHRpb25zLmFwcHJvdmVkUmV2aWV3c2BcbiAgICpcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgcmVhZG9ubHkgYXBwcm92ZWRSZXZpZXdzPzogbnVtYmVyO1xuICByZWFkb25seSBhc3NpZ25Vc2Vycz86IEFycmF5PHN0cmluZz47XG4gIHJlYWRvbmx5IHJlcG9ydGluZ01ldGhvZD86IHN0cmluZztcbiAgLyoqXG4gICAqIEF1dGhvcnMgd2hvc2UgcHVsbCByZXF1ZXN0cyB0aGUgbWVyZ2UgcXVldWUgbWVyZ2VzIHdpdGhvdXQgYW4gYXBwcm92YWwsIHN1Y2hcbiAgICogYXMgdGhlIHNpbmdsZSBtYWludGFpbmVyIG9mIGEgcmVwb3NpdG9yeSwgd2hvIGNhbm5vdCBhcHByb3ZlIHRoZWlyIG93biBwdWxsXG4gICAqIHJlcXVlc3RzLiBQdWxsIHJlcXVlc3RzIGZyb20gYW55b25lIGVsc2Ugc3RpbGwgbmVlZCBgYXBwcm92ZWRSZXZpZXdzYC5cbiAgICpcbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IHRydXN0ZWRBdXRob3JzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIEF1dGhvciBvZiB0aGUgcHJvamVuIHVwZ3JhZGUgcHVsbCByZXF1ZXN0cyB0aGF0IGFyZSBhdXRvbWF0aWNhbGx5IGFwcHJvdmVkXG4gICAqXG4gICAqIEBkZWZhdWx0ICdlbmRvci1wcm9qZW5bYm90XSdcbiAgICovXG4gIHJlYWRvbmx5IHVwZ3JhZGVBdXRob3I/OiBzdHJpbmc7XG59XG5cbnR5cGUgTWVyZ2lmeVByb2plY3QgPSBQcm9qZWN0ICYge1xuICByZWFkb25seSBhdXRvTWVyZ2U/OiBnaXRodWIuQXV0b01lcmdlO1xuICByZWFkb25seSBnaXRodWI/OiBnaXRodWIuR2l0SHViO1xuICByZWFkb25seSBidWlsZFdvcmtmbG93Pzoge1xuICAgIHJlYWRvbmx5IGJ1aWxkSm9iSWRzPzogQXJyYXk8c3RyaW5nPjtcbiAgfTtcbn07XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgcHJvamVuJ3MgYXV0byBtZXJnZSwgd2hpY2ggcmVxdWlyZXMgaXRzIGFwcHJvdmFscyBmcm9tIGV2ZXJ5XG4gKiBhdXRob3IsIHNvIHdpdGggdHJ1c3RlZCBhdXRob3JzIGBjb25maWd1cmVNZXJnaWZ5YCByZXF1aXJlcyB0aGVtIGluc3RlYWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF1dG9NZXJnZU9wdGlvbnMob3B0aW9uczoge1xuICByZWFkb25seSBhdXRvTWVyZ2VPcHRpb25zPzogZ2l0aHViLkF1dG9NZXJnZU9wdGlvbnM7XG4gIHJlYWRvbmx5IHRydXN0ZWRBdXRob3JzPzogQXJyYXk8c3RyaW5nPjtcbn0pOiBnaXRodWIuQXV0b01lcmdlT3B0aW9ucyB8IHVuZGVmaW5lZCB7XG4gIGlmICghb3B0aW9ucy50cnVzdGVkQXV0aG9ycz8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIG9wdGlvbnMuYXV0b01lcmdlT3B0aW9ucztcbiAgfVxuICByZXR1cm4geyAuLi5vcHRpb25zLmF1dG9NZXJnZU9wdGlvbnMsIGFwcHJvdmVkUmV2aWV3czogMCB9O1xufVxuXG5mdW5jdGlvbiBmb3JtYXRMaXN0KHZhbHVlczogQXJyYXk8c3RyaW5nPik6IHN0cmluZyB7XG4gIGNvbnN0IHF1b3RlZCA9IHZhbHVlcy5tYXAoKHZhbHVlKSA9PiAnYCcgKyB2YWx1ZSArICdgJyk7XG4gIHJldHVybiBxdW90ZWQubGVuZ3RoID4gMVxuICAgID8gYCR7cXVvdGVkLnNsaWNlKDAsIC0xKS5qb2luKCcsICcpfSBvciAke3F1b3RlZFtxdW90ZWQubGVuZ3RoIC0gMV19YFxuICAgIDogcXVvdGVkLmpvaW4oJycpO1xufVxuXG5pbnRlcmZhY2UgR2l0aHViQ29uZmlndXJhdGlvbiB7XG4gIHJlYWRvbmx5IGFwcHJvdmVkUmV2aWV3czogbnVtYmVyO1xuICByZWFkb25seSBjb2RlU2Nhbm5pbmc6IGJvb2xlYW47XG4gIHJlYWRvbmx5IHJlcXVpcmVkQ2hlY2tzOiBBcnJheTxzdHJpbmc+O1xuICByZWFkb25seSB0cnVzdGVkQXV0aG9yczogQXJyYXk8c3RyaW5nPjtcbn1cblxuZnVuY3Rpb24gcXVldWVEZXNjcmlwdGlvbihjb25maWc6IEdpdGh1YkNvbmZpZ3VyYXRpb24pOiBzdHJpbmcge1xuICBpZiAoIWNvbmZpZy5hcHByb3ZlZFJldmlld3MpIHtcbiAgICByZXR1cm4gXCJPbmNlIGEgcHVsbCByZXF1ZXN0J3MgY2hlY2tzIHBhc3NcIjtcbiAgfVxuICBpZiAoY29uZmlnLnRydXN0ZWRBdXRob3JzLmxlbmd0aCkge1xuICAgIHJldHVybiBgT25jZSBhIHB1bGwgcmVxdWVzdCBpcyBhcHByb3ZlZCwgb3IgaXMgb3BlbmVkIGJ5ICR7Zm9ybWF0TGlzdChjb25maWcudHJ1c3RlZEF1dGhvcnMpfSwgYW5kIGl0cyBjaGVja3MgcGFzc2A7XG4gIH1cbiAgcmV0dXJuICdPbmNlIGEgcHVsbCByZXF1ZXN0IGlzIGFwcHJvdmVkIGFuZCBpdHMgY2hlY2tzIHBhc3MnO1xufVxuXG5mdW5jdGlvbiBhcHByb3ZhbEd1aWRhbmNlKGNvbmZpZzogR2l0aHViQ29uZmlndXJhdGlvbik6IHN0cmluZyB7XG4gIGlmICghY29uZmlnLmFwcHJvdmVkUmV2aWV3cykge1xuICAgIHJldHVybiBgXG5cbioqV2FybmluZzoqKiBubyBhcHByb3ZhbHMgYXJlIHJlcXVpcmVkLCBzbyB0aGUgcXVldWUgbWVyZ2VzIGFueSBwdWxsIHJlcXVlc3Qgd2hvc2UgY2hlY2tzIHBhc3MsIGluY2x1ZGluZyBvbmUgZnJvbSBhIGZvcmsgdGhhdCBjaGFuZ2VzIHRoZSB3b3JrZmxvd3MgcHJvZHVjaW5nIHRob3NlIGNoZWNrcy4gU2V0IFxcYGF1dG9NZXJnZU9wdGlvbnMuYXBwcm92ZWRSZXZpZXdzXFxgIHRvIGF0IGxlYXN0IDEsIGFuZCB1c2UgXFxgdHJ1c3RlZEF1dGhvcnNcXGAgZm9yIG1haW50YWluZXJzIHdobyBjYW5ub3QgYXBwcm92ZSB0aGVpciBvd24gcHVsbCByZXF1ZXN0cy5gO1xuICB9XG4gIGlmICghY29uZmlnLnRydXN0ZWRBdXRob3JzLmxlbmd0aCkge1xuICAgIHJldHVybiBgXG5cbkEgcmVwb3NpdG9yeSB3aXRoIGEgc2luZ2xlIG1haW50YWluZXIsIHdobyBjYW5ub3QgYXBwcm92ZSB0aGVpciBvd24gcHVsbCByZXF1ZXN0cywgc2hvdWxkIGxpc3QgdGhlbSBpbiBcXGB0cnVzdGVkQXV0aG9yc1xcYCBpbiBcXGAucHJvamVucmMudHNcXGAuIFRoZWlyIHB1bGwgcmVxdWVzdHMgYXJlIHRoZW4gbWVyZ2VkIHdpdGhvdXQgYW4gYXBwcm92YWwsIHdoaWxlIGV2ZXJ5b25lIGVsc2UncyBzdGlsbCBuZWVkIG9uZS5gO1xuICB9XG4gIHJldHVybiAnJztcbn1cblxuZnVuY3Rpb24gZ2l0aHViQ29uZmlndXJhdGlvblNlY3Rpb24oY29uZmlnOiBHaXRodWJDb25maWd1cmF0aW9uKTogc3RyaW5nIHtcbiAgY29uc3Qgc3RhdHVzQ2hlY2tzID0gY29uZmlnLnJlcXVpcmVkQ2hlY2tzLmxlbmd0aFxuICAgID8gJ3RoZSBjaGVja3MgdGhhdCBgLm1lcmdpZnkueW1sYCB3YWl0cyBmb3I6IGAnICtcbiAgICAgIGNvbmZpZy5yZXF1aXJlZENoZWNrcy5qb2luKCdgLCBgJykgK1xuICAgICAgJ2AnXG4gICAgOiAnYW55IENJIGNoZWNrcyBhZGRlZCB0byB0aGUgcHJvamVjdCAobm9uZSBhcmUgY29uZmlndXJlZCB5ZXQpLCBrZWVwaW5nIHRoZW0gaW4gc3luYyB3aXRoIGAubWVyZ2lmeS55bWxgJztcbiAgY29uc3QgYXBwcm92YWxzID0gY29uZmlnLnRydXN0ZWRBdXRob3JzLmxlbmd0aFxuICAgID8gJzAgcmVxdWlyZWQgYXBwcm92YWxzLCBiZWNhdXNlIE1lcmdpZnkgcmVxdWlyZXMgYXBwcm92YWxzIGl0c2VsZiBmb3IgYXV0aG9ycyBvdGhlciB0aGFuICcgK1xuICAgICAgZm9ybWF0TGlzdChjb25maWcudHJ1c3RlZEF1dGhvcnMpICtcbiAgICAgICcgYW5kIGlzIGV4ZW1wdCBmcm9tIHRoaXMgcnVsZSdcbiAgICA6IGNvbmZpZy5hcHByb3ZlZFJldmlld3MgPT09IDFcbiAgICAgID8gJzEgcmVxdWlyZWQgYXBwcm92YWwnXG4gICAgICA6IGAke2NvbmZpZy5hcHByb3ZlZFJldmlld3N9IHJlcXVpcmVkIGFwcHJvdmFsc2A7XG4gIGNvbnN0IGNvZGVTY2FubmluZ1NldHRpbmdzID0gY29uZmlnLmNvZGVTY2FubmluZ1xuICAgID8gYFxuXG4jIyMgQ29kZSBzY2FubmluZ1xuXG5Db2RlUUwgcnVucyBmcm9tIFxcYC5naXRodWIvd29ya2Zsb3dzL2NvZGVxbC55bWxcXGAsIHdoaWNoIGlzIG1hbmFnZWQgYnkgcHJvamVuLiBJbiAqKlNldHRpbmdzIOKGkiBBZHZhbmNlZCBTZWN1cml0eSoqLCBsZWF2ZSBDb2RlUUwgKipEZWZhdWx0IHNldHVwKiogb2ZmLCBiZWNhdXNlIGl0IGNhbm5vdCBydW4gYWxvbmdzaWRlIHRoaXMgd29ya2Zsb3cuIFVuZGVyICoqUHJvdGVjdGlvbiBydWxlcyoqLCBrZWVwIHRoZSAqKkNoZWNrIHJ1biBmYWlsdXJlIHRocmVzaG9sZCoqIGF0ICoqSGlnaCBvciBoaWdoZXIqKiBmb3Igc2VjdXJpdHkgYWxlcnRzIGFuZCAqKkVycm9ycyoqIGZvciBvdGhlciBhbGVydHMsIGFzIHRoaXMgZGVjaWRlcyB3aGV0aGVyIHRoZSBcXGAke0NvZGVRbC5DSEVDS19OQU1FfVxcYCBjaGVjayBmYWlscy4gUHJpdmF0ZSByZXBvc2l0b3JpZXMgYWxzbyBuZWVkIEdpdEh1YiBDb2RlIFNlY3VyaXR5IGVuYWJsZWQgdGhlcmUgZm9yIGNvZGUgc2Nhbm5pbmcgcmVzdWx0cyB0byBiZSB1cGxvYWRlZC5gXG4gICAgOiAnJztcbiAgY29uc3QgY29kZVNjYW5uaW5nUnVsZSA9IGNvbmZpZy5jb2RlU2Nhbm5pbmdcbiAgICA/IGBcbiogKipSZXF1aXJlIGNvZGUgc2Nhbm5pbmcgcmVzdWx0cyoqLCB3aXRoIHRoZSB0b29sICoqQ29kZVFMKiosIHNlY3VyaXR5IGFsZXJ0cyBzZXQgdG8gKipIaWdoIG9yIGhpZ2hlcioqIGFuZCBhbGVydHMgc2V0IHRvICoqRXJyb3JzKiouIE1lcmdpZnkgaXMgZXhlbXB0IGZyb20gdGhpcyBydWxlLCBzbyBcXGAubWVyZ2lmeS55bWxcXGAgYWxzbyB3YWl0cyBmb3IgdGhlIFxcYCR7Q29kZVFsLkNIRUNLX05BTUV9XFxgIGNoZWNrIGluc3RlYWQuYFxuICAgIDogJyc7XG4gIHJldHVybiBgQWxsIHB1bGwgcmVxdWVzdHMgYXJlIG1lcmdlZCBieSB0aGUgW01lcmdpZnldKGh0dHBzOi8vbWVyZ2lmeS5jb20pIG1lcmdlIHF1ZXVlLCBjb25maWd1cmVkIGluIFxcYC5tZXJnaWZ5LnltbFxcYC4gJHtxdWV1ZURlc2NyaXB0aW9uKGNvbmZpZyl9LCBNZXJnaWZ5IHF1ZXVlcyBpdCwgYnJpbmdzIGl0IHVwIHRvIGRhdGUgd2l0aCB0aGUgZGVmYXVsdCBicmFuY2gsIHdhaXRzIGZvciB0aGUgY2hlY2tzIGFnYWluIGFuZCBzcXVhc2ggbWVyZ2VzIGl0LiBEcmFmdCBwdWxsIHJlcXVlc3RzIGFuZCB0aG9zZSBsYWJlbGxlZCBcXGBkby1ub3QtbWVyZ2VcXGAgYXJlIG5vdCBtZXJnZWQuXG5cblRoZSByZXBvc2l0b3J5IG11c3QgYmUgY29uZmlndXJlZCBhcyBiZWxvdyBzbyB0aGF0IG5vdGhpbmcgY2FuIGJlIG1lcmdlZCB3aXRob3V0IGdvaW5nIHRocm91Z2ggdGhlIHF1ZXVlLlxuXG4jIyMgTWVyZ2lmeVxuXG5JbnN0YWxsIHRoZSBbTWVyZ2lmeSBHaXRIdWIgQXBwXShodHRwczovL2dpdGh1Yi5jb20vYXBwcy9tZXJnaWZ5KSBhbmQgZ2l2ZSBpdCBhY2Nlc3MgdG8gdGhpcyByZXBvc2l0b3J5LlxuXG4jIyMgUHVsbCByZXF1ZXN0IHNldHRpbmdzXG5cbkluICoqU2V0dGluZ3Mg4oaSIEdlbmVyYWwg4oaSIFB1bGwgUmVxdWVzdHMqKjpcbiogQWxsb3cgc3F1YXNoIG1lcmdpbmcgb25seSAodW50aWNrIG1lcmdlIGNvbW1pdHMgYW5kIHJlYmFzZSBtZXJnaW5nKSwgbWF0Y2hpbmcgdGhlIHF1ZXVlJ3MgbWVyZ2UgbWV0aG9kLlxuKiBVbnRpY2sgKipBbGxvdyBhdXRvLW1lcmdlKiosIGJlY2F1c2UgR2l0SHViJ3Mgb3duIGF1dG8tbWVyZ2UgbWVyZ2VzIG91dHNpZGUgdGhlIHF1ZXVlLlxuKiBUaWNrICoqQXV0b21hdGljYWxseSBkZWxldGUgaGVhZCBicmFuY2hlcyoqLlxuXG4jIyMgQWN0aW9ucyBzZXR0aW5nc1xuXG5JbiAqKlNldHRpbmdzIOKGkiBBY3Rpb25zIOKGkiBHZW5lcmFsKiosIHNldCAqKkFwcHJvdmFsIGZvciBydW5uaW5nIGZvcmsgcHVsbCByZXF1ZXN0IHdvcmtmbG93cyBmcm9tIGNvbnRyaWJ1dG9ycyoqIHRvICoqUmVxdWlyZSBhcHByb3ZhbCBmb3IgYWxsIGV4dGVybmFsIGNvbnRyaWJ1dG9ycyoqLiBBIHB1bGwgcmVxdWVzdCBmcm9tIGEgZm9yayBydW5zIGl0cyBvd24gY29weSBvZiB0aGUgd29ya2Zsb3dzLCBzbyBpdCBjYW4gY2hhbmdlIGhvdyB0aGUgcmVxdWlyZWQgY2hlY2tzIHBhc3MuJHtjb2RlU2Nhbm5pbmdTZXR0aW5nc31cblxuIyMjIEJyYW5jaCBydWxlc2V0XG5cbkluICoqU2V0dGluZ3Mg4oaSIFJ1bGVzIOKGkiBSdWxlc2V0cyoqLCBjcmVhdGUgYSBicmFuY2ggcnVsZXNldCB3aXRoIGVuZm9yY2VtZW50ICoqQWN0aXZlKiogdGhhdCB0YXJnZXRzIHRoZSBkZWZhdWx0IGJyYW5jaCwgYW5kIHNldDpcbiogKipCeXBhc3MgbGlzdCoqOiB0aGUgKipNZXJnaWZ5KiogYXBwIG9ubHksIGluICoqRXhlbXB0KiogbW9kZS4gRG8gbm90IGFkZCBhZG1pbnMgb3Igb3RoZXIgcm9sZXMsIGFzIGFueW9uZSBvbiB0aGlzIGxpc3QgY2FuIG1lcmdlIHdpdGhvdXQgdGhlIHF1ZXVlLlxuKiAqKlJlc3RyaWN0IHVwZGF0ZXMqKjogb25seSBieXBhc3MgYWN0b3JzIGNhbiB1cGRhdGUgdGhlIGJyYW5jaCwgc28gcHVsbCByZXF1ZXN0cyBjYW5ub3QgYmUgbWVyZ2VkIGZyb20gdGhlIEdpdEh1YiBVSSBvciBDTEkgYW5kIGNvbW1pdHMgY2Fubm90IGJlIHB1c2hlZCBkaXJlY3RseS5cbiogKipSZXN0cmljdCBkZWxldGlvbnMqKiBhbmQgKipCbG9jayBmb3JjZSBwdXNoZXMqKi5cbiogKipSZXF1aXJlIGEgcHVsbCByZXF1ZXN0IGJlZm9yZSBtZXJnaW5nKiosIHdpdGggJHthcHByb3ZhbHN9LiBUaWNrICoqRGlzbWlzcyBzdGFsZSBwdWxsIHJlcXVlc3QgYXBwcm92YWxzIHdoZW4gbmV3IGNvbW1pdHMgYXJlIHB1c2hlZCoqLCBzbyB0aGF0IGNvbW1pdHMgcHVzaGVkIGFmdGVyIGFuIGFwcHJvdmFsIG5lZWQgYXBwcm92aW5nIGFnYWluIGJlZm9yZSB0aGUgcXVldWUgbWVyZ2VzIHRoZW0uXG4qICoqUmVxdWlyZSBzdGF0dXMgY2hlY2tzIHRvIHBhc3MqKiwgbGlzdGluZyAke3N0YXR1c0NoZWNrc30uIExlYXZlICoqUmVxdWlyZSBicmFuY2hlcyB0byBiZSB1cCB0byBkYXRlIGJlZm9yZSBtZXJnaW5nKiogdW50aWNrZWQsIGFzIHRoZSBxdWV1ZSBhbHJlYWR5IHVwZGF0ZXMgYW5kIHJldGVzdHMgZWFjaCBwdWxsIHJlcXVlc3QuJHtjb2RlU2Nhbm5pbmdSdWxlfVxuXG5EbyBub3QgZW5hYmxlIEdpdEh1YidzIG93biAqKlJlcXVpcmUgbWVyZ2UgcXVldWUqKiBydWxlLCBhcyBpdCBjb21wZXRlcyB3aXRoIE1lcmdpZnkuXG5cbklmIHRoZSBxdWV1ZSBpcyB1bmF2YWlsYWJsZSBhbmQgYSBjaGFuZ2UgaGFzIHRvIGJlIG1lcmdlZCwgYWRkIHlvdXJzZWxmIHRvIHRoZSBieXBhc3MgbGlzdCB0ZW1wb3JhcmlseSBhbmQgcmVtb3ZlIHlvdXJzZWxmIGFmdGVyd2FyZHMuJHthcHByb3ZhbEd1aWRhbmNlKGNvbmZpZyl9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ3VyZU1lcmdpZnkoXG4gIHByb2plY3Q6IE1lcmdpZnlQcm9qZWN0LFxuICBvcHRpb25zOiBNZXJnaWZ5T3B0aW9ucyA9IHt9LFxuKSB7XG4gIGNvbnN0IG1lcmdpZnkgPSBwcm9qZWN0LmdpdGh1Yj8ubWVyZ2lmeTtcbiAgaWYgKCFtZXJnaWZ5KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgYnVpbGRKb2JJZHMgPSBwcm9qZWN0LmJ1aWxkV29ya2Zsb3c/LmJ1aWxkSm9iSWRzID8/IFtdO1xuXG4gIHByb2plY3QuYXV0b01lcmdlPy5hZGRDb25kaXRpb25zKCctZHJhZnQnKTtcblxuICBjb25zdCBhcHByb3ZlZFJldmlld3MgPSBvcHRpb25zLmFwcHJvdmVkUmV2aWV3cyA/PyAxO1xuICBjb25zdCB0cnVzdGVkQXV0aG9ycyA9IG9wdGlvbnMudHJ1c3RlZEF1dGhvcnMgPz8gW107XG4gIGlmICh0cnVzdGVkQXV0aG9ycy5sZW5ndGggJiYgYXBwcm92ZWRSZXZpZXdzKSB7XG4gICAgY29uc3QgYXBwcm92ZWRPclRydXN0ZWQ6IGdpdGh1Yi5NZXJnaWZ5Q29uZGl0aW9uID0ge1xuICAgICAgb3I6IFtcbiAgICAgICAgYCNhcHByb3ZlZC1yZXZpZXdzLWJ5Pj0ke2FwcHJvdmVkUmV2aWV3c31gLFxuICAgICAgICAuLi50cnVzdGVkQXV0aG9ycy5tYXAoKGF1dGhvcikgPT4gYGF1dGhvcj0ke2F1dGhvcn1gKSxcbiAgICAgIF0sXG4gICAgfTtcbiAgICAvLyBwcm9qZW4gdHlwZXMgYXV0byBtZXJnZSBjb25kaXRpb25zIGFzIHN0cmluZ3MsIGJ1dCBtZXJnaWZ5IGFjY2VwdHMgb3BlcmF0b3JzIHRvb1xuICAgIHByb2plY3QuYXV0b01lcmdlPy5hZGRDb25kaXRpb25zKGFwcHJvdmVkT3JUcnVzdGVkIGFzIHVua25vd24gYXMgc3RyaW5nKTtcbiAgfVxuXG4gIC8vIE1lcmdpZnkgaXMgZXhlbXB0IGZyb20gdGhlIHJ1bGVzZXQncyBjb2RlIHNjYW5uaW5nIHJ1bGUsIHNvIHRoZSBxdWV1ZSBlbmZvcmNlcyBpdCBpbnN0ZWFkXG4gIGNvbnN0IGNvZGVTY2FubmluZyA9IHByb2plY3QuY29tcG9uZW50cy5zb21lKChjKSA9PiBjIGluc3RhbmNlb2YgQ29kZVFsKTtcbiAgaWYgKGNvZGVTY2FubmluZykge1xuICAgIHByb2plY3QuYXV0b01lcmdlPy5hZGRDb25kaXRpb25zKGBzdGF0dXMtc3VjY2Vzcz0ke0NvZGVRbC5DSEVDS19OQU1FfWApO1xuICB9XG5cbiAgbWVyZ2lmeS5hZGRSdWxlKHtcbiAgICBuYW1lOiAnQXV0b21hdGljIGFwcHJvdmFsIGZvciBwcm9qZW4gdXBncmFkZSBwdWxsIHJlcXVlc3RzJyxcbiAgICBjb25kaXRpb25zOiBbXG4gICAgICBgYXV0aG9yPSR7b3B0aW9ucy51cGdyYWRlQXV0aG9yID8/ICdlbmRvci1wcm9qZW5bYm90XSd9YCxcbiAgICAgIC4uLmJ1aWxkSm9iSWRzLm1hcCgoaWQpID0+IGBzdGF0dXMtc3VjY2Vzcz0ke2lkfWApLFxuICAgIF0sXG4gICAgYWN0aW9uczoge1xuICAgICAgcmV2aWV3OiB7XG4gICAgICAgIHR5cGU6ICdBUFBST1ZFJyxcbiAgICAgICAgbWVzc2FnZTogJ0F1dG9tYXRpY2FsbHkgYXBwcm92aW5nIHByb2plbiB1cGdyYWRlJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSk7XG5cbiAgbWVyZ2lmeS5hZGRSdWxlKHtcbiAgICBuYW1lOiAnQXNzaWduIFBSIHdoZW4gY2hlY2sgZmFpbHMnLFxuICAgIGNvbmRpdGlvbnM6IFsnI2NoZWNrLWZhaWx1cmUgPiAwJ10sXG4gICAgYWN0aW9uczoge1xuICAgICAgYXNzaWduOiB7XG4gICAgICAgIGFkZF91c2Vyczogb3B0aW9ucy5hc3NpZ25Vc2VycyA/PyBbJ2RhdmVzaGVwaGVyZCddLFxuICAgICAgfSxcbiAgICB9LFxuICB9KTtcblxuICBwcm9qZWN0LnRyeUZpbmRPYmplY3RGaWxlKCcubWVyZ2lmeS55bWwnKT8uYWRkT3ZlcnJpZGUoXG4gICAgJ21lcmdlX3Byb3RlY3Rpb25zX3NldHRpbmdzLnJlcG9ydGluZ19tZXRob2QnLFxuICAgIG9wdGlvbnMucmVwb3J0aW5nTWV0aG9kID8/ICdkZXBsb3ltZW50cycsXG4gICk7XG5cbiAgUmVhZG1lLm9mKHByb2plY3QpPy5hZGRTZWN0aW9uKFxuICAgICdHaXRIdWIgQ29uZmlndXJhdGlvbicsXG4gICAgZ2l0aHViQ29uZmlndXJhdGlvblNlY3Rpb24oe1xuICAgICAgYXBwcm92ZWRSZXZpZXdzLFxuICAgICAgY29kZVNjYW5uaW5nLFxuICAgICAgcmVxdWlyZWRDaGVja3M6IGJ1aWxkSm9iSWRzLFxuICAgICAgdHJ1c3RlZEF1dGhvcnMsXG4gICAgfSksXG4gICAgeyBvcmRlcjogUmVhZG1lT3JkZXIuUkVGRVJFTkNFIH0sXG4gICk7XG59XG4iXX0=
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2lmeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2dpdGh1Yi9tZXJnaWZ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBMENBLDRDQVFDO0FBaUdELDRDQXdGQztBQTNPRCxtQ0FBb0Q7QUFDcEQscUNBQWtDO0FBQ2xDLHNDQUFnRDtBQW9DaEQ7OztHQUdHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsT0FHaEM7SUFDQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNwQyxPQUFPLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUM3RCxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsTUFBcUI7SUFDdkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQztJQUN4RCxPQUFPLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUN0QixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRTtRQUNyRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN0QixDQUFDO0FBU0QsU0FBUyxnQkFBZ0IsQ0FBQyxNQUEyQjtJQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVCLE9BQU8sbUNBQW1DLENBQUM7SUFDN0MsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLGNB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Q0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGdpdGh1YiwgUHJvamVjdCB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBDb2RlUWwgfSBmcm9tICcuL2NvZGVxbCc7XG5pbXBvcnQgeyBSZWFkbWUsIFJlYWRtZU9yZGVyIH0gZnJvbSAnLi4vcmVhZG1lJztcblxuZXhwb3J0IGludGVyZmFjZSBNZXJnaWZ5T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgYXBwcm92aW5nIHJldmlld3MgdGhlIG1lcmdlIHF1ZXVlIHdhaXRzIGZvciwgd2hpY2ggc2hvdWxkIG1hdGNoXG4gICAqIGBhdXRvTWVyZ2VPcHRpb25zLmFwcHJvdmVkUmV2aWV3c2BcbiAgICpcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgcmVhZG9ubHkgYXBwcm92ZWRSZXZpZXdzPzogbnVtYmVyO1xuICByZWFkb25seSBhc3NpZ25Vc2Vycz86IEFycmF5PHN0cmluZz47XG4gIHJlYWRvbmx5IHJlcG9ydGluZ01ldGhvZD86IHN0cmluZztcbiAgLyoqXG4gICAqIEF1dGhvcnMgd2hvc2UgcHVsbCByZXF1ZXN0cyB0aGUgbWVyZ2UgcXVldWUgbWVyZ2VzIHdpdGhvdXQgYW4gYXBwcm92YWwsIHN1Y2hcbiAgICogYXMgdGhlIHNpbmdsZSBtYWludGFpbmVyIG9mIGEgcmVwb3NpdG9yeSwgd2hvIGNhbm5vdCBhcHByb3ZlIHRoZWlyIG93biBwdWxsXG4gICAqIHJlcXVlc3RzLiBQdWxsIHJlcXVlc3RzIGZyb20gYW55b25lIGVsc2Ugc3RpbGwgbmVlZCBgYXBwcm92ZWRSZXZpZXdzYC5cbiAgICpcbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IHRydXN0ZWRBdXRob3JzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIEF1dGhvciBvZiB0aGUgcHJvamVuIHVwZ3JhZGUgcHVsbCByZXF1ZXN0cyB0aGF0IGFyZSBhdXRvbWF0aWNhbGx5IGFwcHJvdmVkXG4gICAqXG4gICAqIEBkZWZhdWx0ICdlbmRvci1wcm9qZW5bYm90XSdcbiAgICovXG4gIHJlYWRvbmx5IHVwZ3JhZGVBdXRob3I/OiBzdHJpbmc7XG59XG5cbnR5cGUgTWVyZ2lmeVByb2plY3QgPSBQcm9qZWN0ICYge1xuICByZWFkb25seSBhdXRvTWVyZ2U/OiBnaXRodWIuQXV0b01lcmdlO1xuICByZWFkb25seSBnaXRodWI/OiBnaXRodWIuR2l0SHViO1xuICByZWFkb25seSBidWlsZFdvcmtmbG93Pzoge1xuICAgIHJlYWRvbmx5IGJ1aWxkSm9iSWRzPzogQXJyYXk8c3RyaW5nPjtcbiAgfTtcbn07XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgcHJvamVuJ3MgYXV0byBtZXJnZSwgd2hpY2ggcmVxdWlyZXMgaXRzIGFwcHJvdmFscyBmcm9tIGV2ZXJ5XG4gKiBhdXRob3IsIHNvIHdpdGggdHJ1c3RlZCBhdXRob3JzIGBjb25maWd1cmVNZXJnaWZ5YCByZXF1aXJlcyB0aGVtIGluc3RlYWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF1dG9NZXJnZU9wdGlvbnMob3B0aW9uczoge1xuICByZWFkb25seSBhdXRvTWVyZ2VPcHRpb25zPzogZ2l0aHViLkF1dG9NZXJnZU9wdGlvbnM7XG4gIHJlYWRvbmx5IHRydXN0ZWRBdXRob3JzPzogQXJyYXk8c3RyaW5nPjtcbn0pOiBnaXRodWIuQXV0b01lcmdlT3B0aW9ucyB8IHVuZGVmaW5lZCB7XG4gIGlmICghb3B0aW9ucy50cnVzdGVkQXV0aG9ycz8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIG9wdGlvbnMuYXV0b01lcmdlT3B0aW9ucztcbiAgfVxuICByZXR1cm4geyAuLi5vcHRpb25zLmF1dG9NZXJnZU9wdGlvbnMsIGFwcHJvdmVkUmV2aWV3czogMCB9O1xufVxuXG5mdW5jdGlvbiBmb3JtYXRMaXN0KHZhbHVlczogQXJyYXk8c3RyaW5nPik6IHN0cmluZyB7XG4gIGNvbnN0IHF1b3RlZCA9IHZhbHVlcy5tYXAoKHZhbHVlKSA9PiAnYCcgKyB2YWx1ZSArICdgJyk7XG4gIHJldHVybiBxdW90ZWQubGVuZ3RoID4gMVxuICAgID8gYCR7cXVvdGVkLnNsaWNlKDAsIC0xKS5qb2luKCcsICcpfSBvciAke3F1b3RlZFtxdW90ZWQubGVuZ3RoIC0gMV19YFxuICAgIDogcXVvdGVkLmpvaW4oJycpO1xufVxuXG5pbnRlcmZhY2UgR2l0aHViQ29uZmlndXJhdGlvbiB7XG4gIHJlYWRvbmx5IGFwcHJvdmVkUmV2aWV3czogbnVtYmVyO1xuICByZWFkb25seSBjb2RlU2Nhbm5pbmc6IGJvb2xlYW47XG4gIHJlYWRvbmx5IHJlcXVpcmVkQ2hlY2tzOiBBcnJheTxzdHJpbmc+O1xuICByZWFkb25seSB0cnVzdGVkQXV0aG9yczogQXJyYXk8c3RyaW5nPjtcbn1cblxuZnVuY3Rpb24gcXVldWVEZXNjcmlwdGlvbihjb25maWc6IEdpdGh1YkNvbmZpZ3VyYXRpb24pOiBzdHJpbmcge1xuICBpZiAoIWNvbmZpZy5hcHByb3ZlZFJldmlld3MpIHtcbiAgICByZXR1cm4gXCJPbmNlIGEgcHVsbCByZXF1ZXN0J3MgY2hlY2tzIHBhc3NcIjtcbiAgfVxuICBpZiAoY29uZmlnLnRydXN0ZWRBdXRob3JzLmxlbmd0aCkge1xuICAgIHJldHVybiBgT25jZSBhIHB1bGwgcmVxdWVzdCBpcyBhcHByb3ZlZCwgb3IgaXMgb3BlbmVkIGJ5ICR7Zm9ybWF0TGlzdChjb25maWcudHJ1c3RlZEF1dGhvcnMpfSwgYW5kIGl0cyBjaGVja3MgcGFzc2A7XG4gIH1cbiAgcmV0dXJuICdPbmNlIGEgcHVsbCByZXF1ZXN0IGlzIGFwcHJvdmVkIGFuZCBpdHMgY2hlY2tzIHBhc3MnO1xufVxuXG5mdW5jdGlvbiBhcHByb3ZhbEd1aWRhbmNlKGNvbmZpZzogR2l0aHViQ29uZmlndXJhdGlvbik6IHN0cmluZyB7XG4gIGlmICghY29uZmlnLmFwcHJvdmVkUmV2aWV3cykge1xuICAgIHJldHVybiBgXG5cbioqV2FybmluZzoqKiBubyBhcHByb3ZhbHMgYXJlIHJlcXVpcmVkLCBzbyB0aGUgcXVldWUgbWVyZ2VzIGFueSBwdWxsIHJlcXVlc3Qgd2hvc2UgY2hlY2tzIHBhc3MsIGluY2x1ZGluZyBvbmUgZnJvbSBhIGZvcmsgdGhhdCBjaGFuZ2VzIHRoZSB3b3JrZmxvd3MgcHJvZHVjaW5nIHRob3NlIGNoZWNrcy4gU2V0IFxcYGF1dG9NZXJnZU9wdGlvbnMuYXBwcm92ZWRSZXZpZXdzXFxgIHRvIGF0IGxlYXN0IDEsIGFuZCB1c2UgXFxgdHJ1c3RlZEF1dGhvcnNcXGAgZm9yIG1haW50YWluZXJzIHdobyBjYW5ub3QgYXBwcm92ZSB0aGVpciBvd24gcHVsbCByZXF1ZXN0cy5gO1xuICB9XG4gIGlmICghY29uZmlnLnRydXN0ZWRBdXRob3JzLmxlbmd0aCkge1xuICAgIHJldHVybiBgXG5cbkEgcmVwb3NpdG9yeSB3aXRoIGEgc2luZ2xlIG1haW50YWluZXIsIHdobyBjYW5ub3QgYXBwcm92ZSB0aGVpciBvd24gcHVsbCByZXF1ZXN0cywgc2hvdWxkIGxpc3QgdGhlbSBpbiBcXGB0cnVzdGVkQXV0aG9yc1xcYCBpbiBcXGAucHJvamVucmMudHNcXGAuIFRoZWlyIHB1bGwgcmVxdWVzdHMgYXJlIHRoZW4gbWVyZ2VkIHdpdGhvdXQgYW4gYXBwcm92YWwsIHdoaWxlIGV2ZXJ5b25lIGVsc2UncyBzdGlsbCBuZWVkIG9uZS5gO1xuICB9XG4gIHJldHVybiAnJztcbn1cblxuZnVuY3Rpb24gZ2l0aHViQ29uZmlndXJhdGlvblNlY3Rpb24oY29uZmlnOiBHaXRodWJDb25maWd1cmF0aW9uKTogc3RyaW5nIHtcbiAgY29uc3Qgc3RhdHVzQ2hlY2tzID0gY29uZmlnLnJlcXVpcmVkQ2hlY2tzLmxlbmd0aFxuICAgID8gJ3RoZSBjaGVja3MgdGhhdCBgLm1lcmdpZnkueW1sYCB3YWl0cyBmb3I6IGAnICtcbiAgICAgIGNvbmZpZy5yZXF1aXJlZENoZWNrcy5qb2luKCdgLCBgJykgK1xuICAgICAgJ2AnXG4gICAgOiAnYW55IENJIGNoZWNrcyBhZGRlZCB0byB0aGUgcHJvamVjdCAobm9uZSBhcmUgY29uZmlndXJlZCB5ZXQpLCBrZWVwaW5nIHRoZW0gaW4gc3luYyB3aXRoIGAubWVyZ2lmeS55bWxgJztcbiAgY29uc3QgYXBwcm92YWxzID0gY29uZmlnLnRydXN0ZWRBdXRob3JzLmxlbmd0aFxuICAgID8gJzAgcmVxdWlyZWQgYXBwcm92YWxzLCBiZWNhdXNlIE1lcmdpZnkgcmVxdWlyZXMgYXBwcm92YWxzIGl0c2VsZiBmb3IgYXV0aG9ycyBvdGhlciB0aGFuICcgK1xuICAgICAgZm9ybWF0TGlzdChjb25maWcudHJ1c3RlZEF1dGhvcnMpICtcbiAgICAgICcgYW5kIGlzIGV4ZW1wdCBmcm9tIHRoaXMgcnVsZSdcbiAgICA6IGNvbmZpZy5hcHByb3ZlZFJldmlld3MgPT09IDFcbiAgICAgID8gJzEgcmVxdWlyZWQgYXBwcm92YWwnXG4gICAgICA6IGAke2NvbmZpZy5hcHByb3ZlZFJldmlld3N9IHJlcXVpcmVkIGFwcHJvdmFsc2A7XG4gIGNvbnN0IGNvZGVTY2FubmluZ1NldHRpbmdzID0gY29uZmlnLmNvZGVTY2FubmluZ1xuICAgID8gYFxuXG4jIyMgQ29kZSBzY2FubmluZ1xuXG5Db2RlUUwgcnVucyBmcm9tIFxcYC5naXRodWIvd29ya2Zsb3dzL2NvZGVxbC55bWxcXGAsIHdoaWNoIGlzIG1hbmFnZWQgYnkgcHJvamVuLiBJbiAqKlNldHRpbmdzIOKGkiBBZHZhbmNlZCBTZWN1cml0eSoqLCBsZWF2ZSBDb2RlUUwgKipEZWZhdWx0IHNldHVwKiogb2ZmLCBiZWNhdXNlIGl0IGNhbm5vdCBydW4gYWxvbmdzaWRlIHRoaXMgd29ya2Zsb3cuIFVuZGVyICoqUHJvdGVjdGlvbiBydWxlcyoqLCBrZWVwIHRoZSAqKkNoZWNrIHJ1biBmYWlsdXJlIHRocmVzaG9sZCoqIGF0ICoqSGlnaCBvciBoaWdoZXIqKiBmb3Igc2VjdXJpdHkgYWxlcnRzIGFuZCAqKkVycm9ycyoqIGZvciBvdGhlciBhbGVydHMsIGFzIHRoaXMgZGVjaWRlcyB3aGV0aGVyIHRoZSBcXGAke0NvZGVRbC5DSEVDS19OQU1FfVxcYCBjaGVjayBmYWlscy4gUHJpdmF0ZSByZXBvc2l0b3JpZXMgYWxzbyBuZWVkIEdpdEh1YiBDb2RlIFNlY3VyaXR5IGVuYWJsZWQgdGhlcmUgZm9yIGNvZGUgc2Nhbm5pbmcgcmVzdWx0cyB0byBiZSB1cGxvYWRlZC5gXG4gICAgOiAnJztcbiAgY29uc3QgY29kZVNjYW5uaW5nUnVsZSA9IGNvbmZpZy5jb2RlU2Nhbm5pbmdcbiAgICA/IGBcbiogKipSZXF1aXJlIGNvZGUgc2Nhbm5pbmcgcmVzdWx0cyoqLCB3aXRoIHRoZSB0b29sICoqQ29kZVFMKiosIHNlY3VyaXR5IGFsZXJ0cyBzZXQgdG8gKipIaWdoIG9yIGhpZ2hlcioqIGFuZCBhbGVydHMgc2V0IHRvICoqRXJyb3JzKiouIE1lcmdpZnkgaXMgZXhlbXB0IGZyb20gdGhpcyBydWxlLCBzbyBcXGAubWVyZ2lmeS55bWxcXGAgYWxzbyB3YWl0cyBmb3IgdGhlIFxcYCR7Q29kZVFsLkNIRUNLX05BTUV9XFxgIGNoZWNrIGluc3RlYWQuYFxuICAgIDogJyc7XG4gIHJldHVybiBgQWxsIHB1bGwgcmVxdWVzdHMgYXJlIG1lcmdlZCBieSB0aGUgW01lcmdpZnldKGh0dHBzOi8vbWVyZ2lmeS5jb20pIG1lcmdlIHF1ZXVlLCBjb25maWd1cmVkIGluIFxcYC5tZXJnaWZ5LnltbFxcYC4gJHtxdWV1ZURlc2NyaXB0aW9uKGNvbmZpZyl9LCBNZXJnaWZ5IHF1ZXVlcyBpdCwgYnJpbmdzIGl0IHVwIHRvIGRhdGUgd2l0aCB0aGUgZGVmYXVsdCBicmFuY2gsIHdhaXRzIGZvciB0aGUgY2hlY2tzIGFnYWluIGFuZCBzcXVhc2ggbWVyZ2VzIGl0LiBEcmFmdCBwdWxsIHJlcXVlc3RzIGFuZCB0aG9zZSBsYWJlbGxlZCBcXGBkby1ub3QtbWVyZ2VcXGAgYXJlIG5vdCBtZXJnZWQuXG5cblRoZSByZXBvc2l0b3J5IG11c3QgYmUgY29uZmlndXJlZCBhcyBiZWxvdyBzbyB0aGF0IG5vdGhpbmcgY2FuIGJlIG1lcmdlZCB3aXRob3V0IGdvaW5nIHRocm91Z2ggdGhlIHF1ZXVlLlxuXG4jIyMgTWVyZ2lmeVxuXG5JbnN0YWxsIHRoZSBbTWVyZ2lmeSBHaXRIdWIgQXBwXShodHRwczovL2dpdGh1Yi5jb20vYXBwcy9tZXJnaWZ5KSBhbmQgZ2l2ZSBpdCBhY2Nlc3MgdG8gdGhpcyByZXBvc2l0b3J5LlxuXG4jIyMgUHVsbCByZXF1ZXN0IHNldHRpbmdzXG5cbkluICoqU2V0dGluZ3Mg4oaSIEdlbmVyYWwg4oaSIFB1bGwgUmVxdWVzdHMqKjpcbiogQWxsb3cgc3F1YXNoIG1lcmdpbmcgb25seSAodW50aWNrIG1lcmdlIGNvbW1pdHMgYW5kIHJlYmFzZSBtZXJnaW5nKSwgbWF0Y2hpbmcgdGhlIHF1ZXVlJ3MgbWVyZ2UgbWV0aG9kLlxuKiBVbnRpY2sgKipBbGxvdyBhdXRvLW1lcmdlKiosIGJlY2F1c2UgR2l0SHViJ3Mgb3duIGF1dG8tbWVyZ2UgbWVyZ2VzIG91dHNpZGUgdGhlIHF1ZXVlLlxuKiBUaWNrICoqQXV0b21hdGljYWxseSBkZWxldGUgaGVhZCBicmFuY2hlcyoqLlxuXG4jIyMgQWN0aW9ucyBzZXR0aW5nc1xuXG5JbiAqKlNldHRpbmdzIOKGkiBBY3Rpb25zIOKGkiBHZW5lcmFsKiosIHNldCAqKkFwcHJvdmFsIGZvciBydW5uaW5nIGZvcmsgcHVsbCByZXF1ZXN0IHdvcmtmbG93cyBmcm9tIGNvbnRyaWJ1dG9ycyoqIHRvICoqUmVxdWlyZSBhcHByb3ZhbCBmb3IgYWxsIGV4dGVybmFsIGNvbnRyaWJ1dG9ycyoqLiBBIHB1bGwgcmVxdWVzdCBmcm9tIGEgZm9yayBydW5zIGl0cyBvd24gY29weSBvZiB0aGUgd29ya2Zsb3dzLCBzbyBpdCBjYW4gY2hhbmdlIGhvdyB0aGUgcmVxdWlyZWQgY2hlY2tzIHBhc3MuJHtjb2RlU2Nhbm5pbmdTZXR0aW5nc31cblxuIyMjIEJyYW5jaCBydWxlc2V0XG5cbkluICoqU2V0dGluZ3Mg4oaSIFJ1bGVzIOKGkiBSdWxlc2V0cyoqLCBjcmVhdGUgYSBicmFuY2ggcnVsZXNldCB3aXRoIGVuZm9yY2VtZW50ICoqQWN0aXZlKiogdGhhdCB0YXJnZXRzIHRoZSBkZWZhdWx0IGJyYW5jaCwgYW5kIHNldDpcbiogKipCeXBhc3MgbGlzdCoqOiB0aGUgKipNZXJnaWZ5KiogYXBwIG9ubHksIGluICoqRXhlbXB0KiogbW9kZS4gRG8gbm90IGFkZCBhZG1pbnMgb3Igb3RoZXIgcm9sZXMsIGFzIGFueW9uZSBvbiB0aGlzIGxpc3QgY2FuIG1lcmdlIHdpdGhvdXQgdGhlIHF1ZXVlLlxuKiAqKlJlc3RyaWN0IHVwZGF0ZXMqKjogb25seSBieXBhc3MgYWN0b3JzIGNhbiB1cGRhdGUgdGhlIGJyYW5jaCwgc28gcHVsbCByZXF1ZXN0cyBjYW5ub3QgYmUgbWVyZ2VkIGZyb20gdGhlIEdpdEh1YiBVSSBvciBDTEkgYW5kIGNvbW1pdHMgY2Fubm90IGJlIHB1c2hlZCBkaXJlY3RseS5cbiogKipSZXN0cmljdCBkZWxldGlvbnMqKiBhbmQgKipCbG9jayBmb3JjZSBwdXNoZXMqKi5cbiogKipSZXF1aXJlIGEgcHVsbCByZXF1ZXN0IGJlZm9yZSBtZXJnaW5nKiosIHdpdGggJHthcHByb3ZhbHN9LiBUaWNrICoqRGlzbWlzcyBzdGFsZSBwdWxsIHJlcXVlc3QgYXBwcm92YWxzIHdoZW4gbmV3IGNvbW1pdHMgYXJlIHB1c2hlZCoqLCBzbyB0aGF0IGNvbW1pdHMgcHVzaGVkIGFmdGVyIGFuIGFwcHJvdmFsIG5lZWQgYXBwcm92aW5nIGFnYWluIGJlZm9yZSB0aGUgcXVldWUgbWVyZ2VzIHRoZW0uXG4qICoqUmVxdWlyZSBzdGF0dXMgY2hlY2tzIHRvIHBhc3MqKiwgbGlzdGluZyAke3N0YXR1c0NoZWNrc30uIExlYXZlICoqUmVxdWlyZSBicmFuY2hlcyB0byBiZSB1cCB0byBkYXRlIGJlZm9yZSBtZXJnaW5nKiogdW50aWNrZWQsIGFzIHRoZSBxdWV1ZSBhbHJlYWR5IHVwZGF0ZXMgYW5kIHJldGVzdHMgZWFjaCBwdWxsIHJlcXVlc3QuJHtjb2RlU2Nhbm5pbmdSdWxlfVxuXG5EbyBub3QgZW5hYmxlIEdpdEh1YidzIG93biAqKlJlcXVpcmUgbWVyZ2UgcXVldWUqKiBydWxlLCBhcyBpdCBjb21wZXRlcyB3aXRoIE1lcmdpZnkuXG5cbklmIHRoZSBxdWV1ZSBpcyB1bmF2YWlsYWJsZSBhbmQgYSBjaGFuZ2UgaGFzIHRvIGJlIG1lcmdlZCwgYWRkIHlvdXJzZWxmIHRvIHRoZSBieXBhc3MgbGlzdCB0ZW1wb3JhcmlseSBhbmQgcmVtb3ZlIHlvdXJzZWxmIGFmdGVyd2FyZHMuJHthcHByb3ZhbEd1aWRhbmNlKGNvbmZpZyl9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ3VyZU1lcmdpZnkoXG4gIHByb2plY3Q6IE1lcmdpZnlQcm9qZWN0LFxuICBvcHRpb25zOiBNZXJnaWZ5T3B0aW9ucyA9IHt9LFxuKSB7XG4gIGNvbnN0IG1lcmdpZnkgPSBwcm9qZWN0LmdpdGh1Yj8ubWVyZ2lmeTtcbiAgaWYgKCFtZXJnaWZ5KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gYnVpbGQgam9icyBhbmQgQ29kZVFMIGNhbiBiZSBhZGRlZCBhZnRlciB0aGlzLCBzbyB0aGV5IGFyZSByZWFkIGF0IHN5bnRoZXNpc1xuICBjb25zdCBidWlsZEpvYklkcyA9ICgpID0+IHByb2plY3QuYnVpbGRXb3JrZmxvdz8uYnVpbGRKb2JJZHMgPz8gW107XG4gIGNvbnN0IGNvZGVTY2FubmluZyA9ICgpID0+IHByb2plY3QuY29tcG9uZW50cy5zb21lKChjKSA9PiBjIGluc3RhbmNlb2YgQ29kZVFsKTtcblxuICBwcm9qZWN0LmF1dG9NZXJnZT8uYWRkQ29uZGl0aW9ucygnLWRyYWZ0Jyk7XG5cbiAgY29uc3QgYXBwcm92ZWRSZXZpZXdzID0gb3B0aW9ucy5hcHByb3ZlZFJldmlld3MgPz8gMTtcbiAgY29uc3QgdHJ1c3RlZEF1dGhvcnMgPSBvcHRpb25zLnRydXN0ZWRBdXRob3JzID8/IFtdO1xuICBpZiAodHJ1c3RlZEF1dGhvcnMubGVuZ3RoICYmIGFwcHJvdmVkUmV2aWV3cykge1xuICAgIGNvbnN0IGFwcHJvdmVkT3JUcnVzdGVkOiBnaXRodWIuTWVyZ2lmeUNvbmRpdGlvbiA9IHtcbiAgICAgIG9yOiBbXG4gICAgICAgIGAjYXBwcm92ZWQtcmV2aWV3cy1ieT49JHthcHByb3ZlZFJldmlld3N9YCxcbiAgICAgICAgLi4udHJ1c3RlZEF1dGhvcnMubWFwKChhdXRob3IpID0+IGBhdXRob3I9JHthdXRob3J9YCksXG4gICAgICBdLFxuICAgIH07XG4gICAgLy8gcHJvamVuIHR5cGVzIGF1dG8gbWVyZ2UgY29uZGl0aW9ucyBhcyBzdHJpbmdzLCBidXQgbWVyZ2lmeSBhY2NlcHRzIG9wZXJhdG9ycyB0b29cbiAgICBwcm9qZWN0LmF1dG9NZXJnZT8uYWRkQ29uZGl0aW9ucyhhcHByb3ZlZE9yVHJ1c3RlZCBhcyB1bmtub3duIGFzIHN0cmluZyk7XG4gIH1cblxuICAvLyBNZXJnaWZ5IGlzIGV4ZW1wdCBmcm9tIHRoZSBydWxlc2V0J3MgY29kZSBzY2FubmluZyBydWxlLCBzbyB0aGUgcXVldWUgZW5mb3JjZXMgaXQgaW5zdGVhZFxuICBwcm9qZWN0LmF1dG9NZXJnZT8uYWRkQ29uZGl0aW9uc0xhdGVyKHtcbiAgICByZW5kZXI6ICgpID0+XG4gICAgICBjb2RlU2Nhbm5pbmcoKSA/IFtgc3RhdHVzLXN1Y2Nlc3M9JHtDb2RlUWwuQ0hFQ0tfTkFNRX1gXSA6IFtdLFxuICB9KTtcblxuICBjb25zdCB1cGdyYWRlQXV0aG9yID0gYGF1dGhvcj0ke29wdGlvbnMudXBncmFkZUF1dGhvciA/PyAnZW5kb3ItcHJvamVuW2JvdF0nfWA7XG4gIGNvbnN0IHVwZ3JhZGVDb25kaXRpb25zID0gW3VwZ3JhZGVBdXRob3JdO1xuICBtZXJnaWZ5LmFkZFJ1bGUoe1xuICAgIG5hbWU6ICdBdXRvbWF0aWMgYXBwcm92YWwgZm9yIHByb2plbiB1cGdyYWRlIHB1bGwgcmVxdWVzdHMnLFxuICAgIGNvbmRpdGlvbnM6IHVwZ3JhZGVDb25kaXRpb25zLFxuICAgIGFjdGlvbnM6IHtcbiAgICAgIHJldmlldzoge1xuICAgICAgICB0eXBlOiAnQVBQUk9WRScsXG4gICAgICAgIG1lc3NhZ2U6ICdBdXRvbWF0aWNhbGx5IGFwcHJvdmluZyBwcm9qZW4gdXBncmFkZScsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pO1xuXG4gIG1lcmdpZnkuYWRkUnVsZSh7XG4gICAgbmFtZTogJ0Fzc2lnbiBQUiB3aGVuIGNoZWNrIGZhaWxzJyxcbiAgICBjb25kaXRpb25zOiBbJyNjaGVjay1mYWlsdXJlID4gMCddLFxuICAgIGFjdGlvbnM6IHtcbiAgICAgIGFzc2lnbjoge1xuICAgICAgICBhZGRfdXNlcnM6IG9wdGlvbnMuYXNzaWduVXNlcnMgPz8gWydkYXZlc2hlcGhlcmQnXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSk7XG5cbiAgcHJvamVjdC50cnlGaW5kT2JqZWN0RmlsZSgnLm1lcmdpZnkueW1sJyk/LmFkZE92ZXJyaWRlKFxuICAgICdtZXJnZV9wcm90ZWN0aW9uc19zZXR0aW5ncy5yZXBvcnRpbmdfbWV0aG9kJyxcbiAgICBvcHRpb25zLnJlcG9ydGluZ01ldGhvZCA/PyAnZGVwbG95bWVudHMnLFxuICApO1xuXG4gIGNvbnN0IGFkZFJlYWRtZVNlY3Rpb24gPSAoKSA9PlxuICAgIFJlYWRtZS5vZihwcm9qZWN0KT8uYWRkU2VjdGlvbihcbiAgICAgIEdJVEhVQl9DT05GSUdVUkFUSU9OX1RJVExFLFxuICAgICAgZ2l0aHViQ29uZmlndXJhdGlvblNlY3Rpb24oe1xuICAgICAgICBhcHByb3ZlZFJldmlld3MsXG4gICAgICAgIGNvZGVTY2FubmluZzogY29kZVNjYW5uaW5nKCksXG4gICAgICAgIHJlcXVpcmVkQ2hlY2tzOiBidWlsZEpvYklkcygpLFxuICAgICAgICB0cnVzdGVkQXV0aG9ycyxcbiAgICAgIH0pLFxuICAgICAgeyBvcmRlcjogUmVhZG1lT3JkZXIuUkVGRVJFTkNFIH0sXG4gICAgKTtcbiAgbGV0IHJlYWRtZVNlY3Rpb24gPSBhZGRSZWFkbWVTZWN0aW9uKCk7XG5cbiAgbmV3IEJlZm9yZVN5bnRoZXNpcyhwcm9qZWN0LCAoKSA9PiB7XG4gICAgdXBncmFkZUNvbmRpdGlvbnMuc3BsaWNlKFxuICAgICAgMCxcbiAgICAgIHVwZ3JhZGVDb25kaXRpb25zLmxlbmd0aCxcbiAgICAgIHVwZ3JhZGVBdXRob3IsXG4gICAgICAuLi5idWlsZEpvYklkcygpLm1hcCgoaWQpID0+IGBzdGF0dXMtc3VjY2Vzcz0ke2lkfWApLFxuICAgICk7XG4gICAgLy8gbGVhdmUgdGhlIHNlY3Rpb24gYWxvbmUgaWYgdGhlIHByb2plY3QgaGFzIHJlbW92ZWQgb3IgcmVwbGFjZWQgaXRcbiAgICBjb25zdCByZWFkbWUgPSBSZWFkbWUub2YocHJvamVjdCk7XG4gICAgaWYgKHJlYWRtZVNlY3Rpb24gJiYgcmVhZG1lPy50cnlGaW5kU2VjdGlvbihHSVRIVUJfQ09ORklHVVJBVElPTl9USVRMRSkgPT09IHJlYWRtZVNlY3Rpb24pIHtcbiAgICAgIHJlYWRtZVNlY3Rpb24gPSBhZGRSZWFkbWVTZWN0aW9uKCk7XG4gICAgfVxuICB9KTtcbn1cblxuY29uc3QgR0lUSFVCX0NPTkZJR1VSQVRJT05fVElUTEUgPSAnR2l0SHViIENvbmZpZ3VyYXRpb24nO1xuXG4vKipcbiAqIFJ1bnMgYSBjYWxsYmFjayBvbmNlIGV2ZXJ5IGNvbXBvbmVudCBoYXMgYmVlbiBhZGRlZCwgYmVmb3JlIGFueSBmaWxlIGlzXG4gKiBzeW50aGVzaXplZFxuICovXG5jbGFzcyBCZWZvcmVTeW50aGVzaXMgZXh0ZW5kcyBDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm9qZWN0OiBQcm9qZWN0LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FsbGJhY2s6ICgpID0+IHZvaWQsXG4gICkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuICB9XG5cbiAgcHJlU3ludGhlc2l6ZSgpIHtcbiAgICB0aGlzLmNhbGxiYWNrKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
export interface
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export interface SectionOptions {
|
|
2
|
+
/**
|
|
3
|
+
* The heading of the section
|
|
4
|
+
*/
|
|
5
|
+
readonly title: string;
|
|
6
|
+
/**
|
|
7
|
+
* The markdown content of the section
|
|
8
|
+
*/
|
|
9
|
+
readonly body: string;
|
|
4
10
|
}
|
|
5
11
|
export declare class Section {
|
|
6
|
-
readonly options:
|
|
7
|
-
constructor(options:
|
|
12
|
+
readonly options: SectionOptions;
|
|
13
|
+
constructor(options: SectionOptions);
|
|
8
14
|
synth(): string;
|
|
9
15
|
}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Section = void 0;
|
|
4
4
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
5
5
|
class Section {
|
|
6
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.Section", version: "
|
|
6
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.Section", version: "5.0.0" };
|
|
7
7
|
options;
|
|
8
8
|
constructor(options) {
|
|
9
9
|
this.options = options;
|
|
@@ -15,4 +15,4 @@ ${this.options.body}`;
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
exports.Section = Section;
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3JlYWRtZS9lbGVtZW50cy9zZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFXQSxNQUFhLE9BQU87O0lBQ1QsT0FBTyxDQUFpQjtJQUNqQyxZQUFZLE9BQXVCO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxLQUFLO1FBQ0gsT0FBTyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSzs7RUFFakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDOztBQVRILDBCQVVDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTZWN0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgaGVhZGluZyBvZiB0aGUgc2VjdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgdGl0bGU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBtYXJrZG93biBjb250ZW50IG9mIHRoZSBzZWN0aW9uXG4gICAqL1xuICByZWFkb25seSBib2R5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBTZWN0aW9uIHtcbiAgcmVhZG9ubHkgb3B0aW9uczogU2VjdGlvbk9wdGlvbnM7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFNlY3Rpb25PcHRpb25zKSB7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgfVxuICBzeW50aCgpIHtcbiAgICByZXR1cm4gYCMjICR7dGhpcy5vcHRpb25zLnRpdGxlfVxuXG4ke3RoaXMub3B0aW9ucy5ib2R5fWA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -52,8 +52,10 @@ export declare class Readme extends FileBase {
|
|
|
52
52
|
get sections(): Array<Section>;
|
|
53
53
|
/**
|
|
54
54
|
* Adds a section, or replaces the section with the same title
|
|
55
|
+
*
|
|
56
|
+
* @returns the section
|
|
55
57
|
*/
|
|
56
|
-
addSection(title: string, body: string, options?: AddSectionOptions):
|
|
58
|
+
addSection(title: string, body: string, options?: AddSectionOptions): Section;
|
|
57
59
|
/**
|
|
58
60
|
* Removes the section with the given title
|
|
59
61
|
*
|
|
@@ -9,7 +9,7 @@ const section_1 = require("./elements/section");
|
|
|
9
9
|
* in between
|
|
10
10
|
*/
|
|
11
11
|
class ReadmeOrder {
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.ReadmeOrder", version: "
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.ReadmeOrder", version: "5.0.0" };
|
|
13
13
|
/**
|
|
14
14
|
* Sections a reader needs first, such as getting started
|
|
15
15
|
*/
|
|
@@ -30,7 +30,7 @@ class ReadmeOrder {
|
|
|
30
30
|
}
|
|
31
31
|
exports.ReadmeOrder = ReadmeOrder;
|
|
32
32
|
class Readme extends projen_1.FileBase {
|
|
33
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.Readme", version: "
|
|
33
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.Readme", version: "5.0.0" };
|
|
34
34
|
/**
|
|
35
35
|
* The README of a project, if it has one
|
|
36
36
|
*/
|
|
@@ -42,6 +42,12 @@ class Readme extends projen_1.FileBase {
|
|
|
42
42
|
constructor(project, options = {}) {
|
|
43
43
|
super(project, 'README.md', {});
|
|
44
44
|
this.description = options.description;
|
|
45
|
+
// projen's projects add a sample README.md, which this replaces
|
|
46
|
+
for (const sample of project.components) {
|
|
47
|
+
if (sample instanceof projen_1.SampleReadme) {
|
|
48
|
+
sample.node.scope?.node.tryRemoveChild(sample.node.id);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
45
51
|
}
|
|
46
52
|
/**
|
|
47
53
|
* The sections, in the order they appear in the README
|
|
@@ -51,6 +57,8 @@ class Readme extends projen_1.FileBase {
|
|
|
51
57
|
}
|
|
52
58
|
/**
|
|
53
59
|
* Adds a section, or replaces the section with the same title
|
|
60
|
+
*
|
|
61
|
+
* @returns the section
|
|
54
62
|
*/
|
|
55
63
|
addSection(title, body, options = {}) {
|
|
56
64
|
const index = this.findIndex(title);
|
|
@@ -63,6 +71,7 @@ class Readme extends projen_1.FileBase {
|
|
|
63
71
|
else {
|
|
64
72
|
this.entries.push(entry);
|
|
65
73
|
}
|
|
74
|
+
return entry.section;
|
|
66
75
|
}
|
|
67
76
|
/**
|
|
68
77
|
* Removes the section with the given title
|
|
@@ -85,7 +94,8 @@ class Readme extends projen_1.FileBase {
|
|
|
85
94
|
return index >= 0 ? this.entries[index].section : undefined;
|
|
86
95
|
}
|
|
87
96
|
synthesizeContent(_) {
|
|
88
|
-
let content =
|
|
97
|
+
let content = this.marker ? `<!-- ${this.marker} -->\n\n` : '';
|
|
98
|
+
content = content.concat(`# ${this.project.name}\n\n`);
|
|
89
99
|
content = content.concat(this.description ? `${this.description}\n\n` : '');
|
|
90
100
|
return content.concat(this.sections.map((s) => s.synth()).join('\n\n'));
|
|
91
101
|
}
|
|
@@ -98,4 +108,4 @@ class Readme extends projen_1.FileBase {
|
|
|
98
108
|
}
|
|
99
109
|
}
|
|
100
110
|
exports.Readme = Readme;
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9yZWFkbWUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLG1DQUFvRTtBQUNwRSxnREFBNkM7QUFtQjdDOzs7R0FHRztBQUNILE1BQWEsV0FBVzs7SUFDdEI7O09BRUc7SUFDSSxNQUFNLENBQVUsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUN6Qzs7T0FFRztJQUNJLE1BQU0sQ0FBVSxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ2xDOztPQUVHO0lBQ0ksTUFBTSxDQUFVLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEM7O09BRUc7SUFDSSxNQUFNLENBQVUsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUV0QyxnQkFBdUIsQ0FBQzs7QUFsQjFCLGtDQW1CQztBQU9ELE1BQWEsTUFBTyxTQUFRLGlCQUFROztJQUNsQzs7T0FFRztJQUNJLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBZ0I7UUFDL0IsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBZSxFQUFFLENBQUMsQ0FBQyxZQUFZLE1BQU0sQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxXQUFXLENBQXFCO0lBQ2YsT0FBTyxHQUF3QixFQUFFLENBQUM7SUFFbkQsWUFBWSxPQUFnQixFQUFFLFVBQXlCLEVBQUU7UUFDdkQsS0FBSyxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBRXZDLGdFQUFnRTtRQUNoRSxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN4QyxJQUFJLE1BQU0sWUFBWSxxQkFBWSxFQUFFLENBQUM7Z0JBQ25DLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFj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QUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsb0dBQW9HO0lBQzVGLGNBQWM7UUFDcEIsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdELENBQUM7O0FBekZILHdCQTBGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbGVCYXNlLCBJUmVzb2x2ZXIsIFByb2plY3QsIFNhbXBsZVJlYWRtZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBTZWN0aW9uIH0gZnJvbSAnLi9lbGVtZW50cy9zZWN0aW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBSZWFkbWVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcHJvamVjdC5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZFNlY3Rpb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIFBvc2l0aW9uIG9mIHRoZSBzZWN0aW9uIGluIHRoZSBSRUFETUUsIGxvd2VzdCBmaXJzdC4gU2VjdGlvbnMgd2l0aCB0aGVcbiAgICogc2FtZSBvcmRlciBrZWVwIHRoZSBvcmRlciB0aGV5IHdlcmUgYWRkZWQgaW4uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYFJlYWRtZU9yZGVyLkRFRkFVTFRgLCBvciB0aGUgZXhpc3Rpbmcgb3JkZXIgd2hlbiByZXBsYWNpbmcgYSBzZWN0aW9uXG4gICAqL1xuICByZWFkb25seSBvcmRlcj86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBPcmRlcnMgb2YgdGhlIGJhbmRzIG9mIHNlY3Rpb25zIGluIHRoZSBSRUFETUUsIGxlYXZpbmcgcm9vbSBmb3Igc2VjdGlvbnNcbiAqIGluIGJldHdlZW5cbiAqL1xuZXhwb3J0IGNsYXNzIFJlYWRtZU9yZGVyIHtcbiAgLyoqXG4gICAqIFNlY3Rpb25zIGEgcmVhZGVyIG5lZWRzIGZpcnN0LCBzdWNoIGFzIGdldHRpbmcgc3RhcnRlZFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJTlRST0RVQ1RJT04gPSAxMDtcbiAgLyoqXG4gICAqIEhvdyB0byB1c2UgYW5kIG9wZXJhdGUgdGhlIHByb2plY3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVVNBR0UgPSAyMDtcbiAgLyoqXG4gICAqIFNlY3Rpb25zIGFkZGVkIHdpdGhvdXQgYW4gb3JkZXJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVCA9IDUwO1xuICAvKipcbiAgICogUmVmZXJlbmNlIG1hdGVyaWFsLCBzdWNoIGFzIHJlcG9zaXRvcnkgY29uZmlndXJhdGlvbiBhbmQga25vd24gaXNzdWVzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJFRkVSRU5DRSA9IDkwO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7fVxufVxuXG5pbnRlcmZhY2UgU2VjdGlvbkVudHJ5IHtcbiAgcmVhZG9ubHkgc2VjdGlvbjogU2VjdGlvbjtcbiAgcmVhZG9ubHkgb3JkZXI6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIFJlYWRtZSBleHRlbmRzIEZpbGVCYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBSRUFETUUgb2YgYSBwcm9qZWN0LCBpZiBpdCBoYXMgb25lXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG9mKHByb2plY3Q6IFByb2plY3QpOiBSZWFkbWUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBwcm9qZWN0LmNvbXBvbmVudHMuZmluZCgoYyk6IGMgaXMgUmVhZG1lID0+IGMgaW5zdGFuY2VvZiBSZWFkbWUpO1xuICB9XG5cbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSByZWFkb25seSBlbnRyaWVzOiBBcnJheTxTZWN0aW9uRW50cnk+ID0gW107XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogUmVhZG1lT3B0aW9ucyA9IHt9KSB7XG4gICAgc3VwZXIocHJvamVjdCwgJ1JFQURNRS5tZCcsIHt9KTtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gb3B0aW9ucy5kZXNjcmlwdGlvbjtcblxuICAgIC8vIHByb2plbidzIHByb2plY3RzIGFkZCBhIHNhbXBsZSBSRUFETUUubWQsIHdoaWNoIHRoaXMgcmVwbGFjZXNcbiAgICBmb3IgKGNvbnN0IHNhbXBsZSBvZiBwcm9qZWN0LmNvbXBvbmVudHMpIHtcbiAgICAgIGlmIChzYW1wbGUgaW5zdGFuY2VvZiBTYW1wbGVSZWFkbWUpIHtcbiAgICAgICAgc2FtcGxlLm5vZGUuc2NvcGU/Lm5vZGUudHJ5UmVtb3ZlQ2hpbGQoc2FtcGxlLm5vZGUuaWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc2VjdGlvbnMsIGluIHRoZSBvcmRlciB0aGV5IGFwcGVhciBpbiB0aGUgUkVBRE1FXG4gICAqL1xuICBnZXQgc2VjdGlvbnMoKTogQXJyYXk8U2VjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLm9yZGVyZWRFbnRyaWVzKCkubWFwKChlKSA9PiBlLnNlY3Rpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBzZWN0aW9uLCBvciByZXBsYWNlcyB0aGUgc2VjdGlvbiB3aXRoIHRoZSBzYW1lIHRpdGxlXG4gICAqXG4gICAqIEByZXR1cm5zIHRoZSBzZWN0aW9uXG4gICAqL1xuICBhZGRTZWN0aW9uKFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgYm9keTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IEFkZFNlY3Rpb25PcHRpb25zID0ge30sXG4gICk6IFNlY3Rpb24ge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5maW5kSW5kZXgodGl0bGUpO1xuICAgIGNvbnN0IG9yZGVyID1cbiAgICAgIG9wdGlvbnMub3JkZXIgPz9cbiAgICAgIChpbmRleCA+PSAwID8gdGhpcy5lbnRyaWVzW2luZGV4XS5vcmRlciA6IFJlYWRtZU9yZGVyLkRFRkFVTFQpO1xuICAgIGNvbnN0IGVudHJ5ID0geyBzZWN0aW9uOiBuZXcgU2VjdGlvbih7IHRpdGxlLCBib2R5IH0pLCBvcmRlciB9O1xuICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICB0aGlzLmVudHJpZXNbaW5kZXhdID0gZW50cnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW50cmllcy5wdXNoKGVudHJ5KTtcbiAgICB9XG4gICAgcmV0dXJuIGVudHJ5LnNlY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyB0aGUgc2VjdGlvbiB3aXRoIHRoZSBnaXZlbiB0aXRsZVxuICAgKlxuICAgKiBAcmV0dXJucyB3aGV0aGVyIGEgc2VjdGlvbiB3YXMgcmVtb3ZlZFxuICAgKi9cbiAgcmVtb3ZlU2VjdGlvbih0aXRsZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmZpbmRJbmRleCh0aXRsZSk7XG4gICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmVudHJpZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc2VjdGlvbiB3aXRoIHRoZSBnaXZlbiB0aXRsZSwgaWYgdGhlcmUgaXMgb25lXG4gICAqL1xuICB0cnlGaW5kU2VjdGlvbih0aXRsZTogc3RyaW5nKTogU2VjdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmZpbmRJbmRleCh0aXRsZSk7XG4gICAgcmV0dXJuIGluZGV4ID49IDAgPyB0aGlzLmVudHJpZXNbaW5kZXhdLnNlY3Rpb24gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUNvbnRlbnQoXzogSVJlc29sdmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgY29udGVudCA9IHRoaXMubWFya2VyID8gYDwhLS0gJHt0aGlzLm1hcmtlcn0gLS0+XFxuXFxuYCA6ICcnO1xuICAgIGNvbnRlbnQgPSBjb250ZW50LmNvbmNhdChgIyAke3RoaXMucHJvamVjdC5uYW1lfVxcblxcbmApO1xuICAgIGNvbnRlbnQgPSBjb250ZW50LmNvbmNhdCh0aGlzLmRlc2NyaXB0aW9uID8gYCR7dGhpcy5kZXNjcmlwdGlvbn1cXG5cXG5gIDogJycpO1xuICAgIHJldHVybiBjb250ZW50LmNvbmNhdCh0aGlzLnNlY3Rpb25zLm1hcCgocykgPT4gcy5zeW50aCgpKS5qb2luKCdcXG5cXG4nKSk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRJbmRleCh0aXRsZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5lbnRyaWVzLmZpbmRJbmRleCgoZSkgPT4gZS5zZWN0aW9uLm9wdGlvbnMudGl0bGUgPT09IHRpdGxlKTtcbiAgfVxuXG4gIC8vIEFycmF5LnByb3RvdHlwZS5zb3J0IGlzIHN0YWJsZSwgc28gc2VjdGlvbnMgd2l0aCB0aGUgc2FtZSBvcmRlciBrZWVwIHRoZSBvcmRlciB0aGV5IHdlcmUgYWRkZWQgaW5cbiAgcHJpdmF0ZSBvcmRlcmVkRW50cmllcygpOiBBcnJheTxTZWN0aW9uRW50cnk+IHtcbiAgICByZXR1cm4gWy4uLnRoaXMuZW50cmllc10uc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpO1xuICB9XG59XG4iXX0=
|
|
@@ -61,7 +61,7 @@ function getOptions(options) {
|
|
|
61
61
|
* @pjid cdk-typescript-app
|
|
62
62
|
*/
|
|
63
63
|
class CdkTypeScriptApp extends awscdk_1.AwsCdkTypeScriptApp {
|
|
64
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.CdkTypeScriptApp", version: "
|
|
64
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.CdkTypeScriptApp", version: "5.0.0" };
|
|
65
65
|
readme;
|
|
66
66
|
constructor(options) {
|
|
67
67
|
const mergedOptions = getOptions(options);
|
|
@@ -48,7 +48,7 @@ function getOptions(options) {
|
|
|
48
48
|
* @pjid jsii-project
|
|
49
49
|
*/
|
|
50
50
|
class JsiiProject extends projen_1.cdk.JsiiProject {
|
|
51
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.JsiiProject", version: "
|
|
51
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.JsiiProject", version: "5.0.0" };
|
|
52
52
|
readme;
|
|
53
53
|
constructor(options) {
|
|
54
54
|
const mergedOptions = getOptions(options);
|
|
@@ -47,7 +47,7 @@ function getOptions(options) {
|
|
|
47
47
|
* @pjid npm-package
|
|
48
48
|
*/
|
|
49
49
|
class NpmPackage extends projen_1.typescript.TypeScriptProject {
|
|
50
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.NpmPackage", version: "
|
|
50
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.NpmPackage", version: "5.0.0" };
|
|
51
51
|
readme;
|
|
52
52
|
constructor(options) {
|
|
53
53
|
const mergedOptions = getOptions(options);
|
|
@@ -43,7 +43,7 @@ function getOptions(options) {
|
|
|
43
43
|
* @pjid python-package
|
|
44
44
|
*/
|
|
45
45
|
class PythonPackage extends python_1.PythonProject {
|
|
46
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.PythonPackage", version: "
|
|
46
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.PythonPackage", version: "5.0.0" };
|
|
47
47
|
autoMerge;
|
|
48
48
|
readme;
|
|
49
49
|
constructor(options) {
|