@nikovirtala/projen-constructs 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/.jsii +223 -203
  2. package/API.md +52 -28
  3. package/lib/components/mise.js +4 -2
  4. package/lib/components/vitest.js +1 -1
  5. package/lib/config.d.ts +20 -7
  6. package/lib/config.js +28 -16
  7. package/lib/errors.d.ts +20 -0
  8. package/lib/errors.js +36 -0
  9. package/lib/projects/awscdk-construct-library-options.generated.d.ts +7 -7
  10. package/lib/projects/awscdk-construct-library-options.generated.js +1 -1
  11. package/lib/projects/{awscdk-construct-library.d.ts → awscdk-construct-library.generated.d.ts} +8 -0
  12. package/lib/projects/awscdk-construct-library.generated.js +33 -0
  13. package/lib/projects/awscdk-typescript-app-options.generated.d.ts +31 -31
  14. package/lib/projects/awscdk-typescript-app-options.generated.js +1 -1
  15. package/lib/projects/{awscdk-typescript-app.d.ts → awscdk-typescript-app.generated.d.ts} +8 -0
  16. package/lib/projects/awscdk-typescript-app.generated.js +33 -0
  17. package/lib/projects/index.d.ts +4 -4
  18. package/lib/projects/index.js +5 -5
  19. package/lib/projects/jsii-options.generated.d.ts +7 -7
  20. package/lib/projects/jsii-options.generated.js +1 -1
  21. package/lib/projects/{jsii.d.ts → jsii.generated.d.ts} +8 -0
  22. package/lib/projects/jsii.generated.js +33 -0
  23. package/lib/projects/typescript-options.generated.d.ts +7 -7
  24. package/lib/projects/typescript-options.generated.js +1 -1
  25. package/lib/projects/{typescript.d.ts → typescript.generated.d.ts} +8 -0
  26. package/lib/projects/typescript.generated.js +33 -0
  27. package/lib/projen-project-generator.d.ts +173 -0
  28. package/lib/projen-project-generator.js +509 -0
  29. package/package.json +1 -1
  30. package/lib/projects/awscdk-app-options.generated.d.ts +0 -1098
  31. package/lib/projects/awscdk-app-options.generated.js +0 -3
  32. package/lib/projects/awscdk-construct-library.js +0 -19
  33. package/lib/projects/awscdk-typescript-app.js +0 -19
  34. package/lib/projects/jsii.js +0 -19
  35. package/lib/projects/typescript.js +0 -19
package/API.md CHANGED
@@ -4,6 +4,10 @@
4
4
 
5
5
  ### AwsCdkConstructLibraryProject <a name="AwsCdkConstructLibraryProject" id="@nikovirtala/projen-constructs.AwsCdkConstructLibraryProject"></a>
6
6
 
7
+ AwsCdkConstructLibraryProject with standard configuration and component integration.
8
+
9
+ Extends Projen's base class with opinionated defaults and automatic component setup.
10
+
7
11
  #### Initializers <a name="Initializers" id="@nikovirtala/projen-constructs.AwsCdkConstructLibraryProject.Initializer"></a>
8
12
 
9
13
  ```typescript
@@ -14,7 +18,7 @@ new AwsCdkConstructLibraryProject(options: AwsCdkConstructLibraryProjectOptions)
14
18
 
15
19
  | **Name** | **Type** | **Description** |
16
20
  | --- | --- | --- |
17
- | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProject.Initializer.parameter.options">options</a></code> | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions">AwsCdkConstructLibraryProjectOptions</a></code> | *No description.* |
21
+ | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProject.Initializer.parameter.options">options</a></code> | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions">AwsCdkConstructLibraryProjectOptions</a></code> | - Project configuration. |
18
22
 
19
23
  ---
20
24
 
@@ -22,6 +26,8 @@ new AwsCdkConstructLibraryProject(options: AwsCdkConstructLibraryProjectOptions)
22
26
 
23
27
  - *Type:* <a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions">AwsCdkConstructLibraryProjectOptions</a>
24
28
 
29
+ Project configuration.
30
+
25
31
  ---
26
32
 
27
33
  #### Methods <a name="Methods" id="Methods"></a>
@@ -1593,6 +1599,10 @@ public readonly DEFAULT_TS_JEST_TRANFORM_PATTERN: string;
1593
1599
 
1594
1600
  ### AwsCdkTypeScriptAppProject <a name="AwsCdkTypeScriptAppProject" id="@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProject"></a>
1595
1601
 
1602
+ AwsCdkTypeScriptAppProject with standard configuration and component integration.
1603
+
1604
+ Extends Projen's base class with opinionated defaults and automatic component setup.
1605
+
1596
1606
  #### Initializers <a name="Initializers" id="@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProject.Initializer"></a>
1597
1607
 
1598
1608
  ```typescript
@@ -1603,7 +1613,7 @@ new AwsCdkTypeScriptAppProject(options: AwsCdkTypeScriptAppProjectOptions)
1603
1613
 
1604
1614
  | **Name** | **Type** | **Description** |
1605
1615
  | --- | --- | --- |
1606
- | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProject.Initializer.parameter.options">options</a></code> | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions">AwsCdkTypeScriptAppProjectOptions</a></code> | *No description.* |
1616
+ | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProject.Initializer.parameter.options">options</a></code> | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions">AwsCdkTypeScriptAppProjectOptions</a></code> | - Project configuration. |
1607
1617
 
1608
1618
  ---
1609
1619
 
@@ -1611,6 +1621,8 @@ new AwsCdkTypeScriptAppProject(options: AwsCdkTypeScriptAppProjectOptions)
1611
1621
 
1612
1622
  - *Type:* <a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions">AwsCdkTypeScriptAppProjectOptions</a>
1613
1623
 
1624
+ Project configuration.
1625
+
1614
1626
  ---
1615
1627
 
1616
1628
  #### Methods <a name="Methods" id="Methods"></a>
@@ -3189,6 +3201,10 @@ public readonly DEFAULT_TS_JEST_TRANFORM_PATTERN: string;
3189
3201
 
3190
3202
  ### JsiiProject <a name="JsiiProject" id="@nikovirtala/projen-constructs.JsiiProject"></a>
3191
3203
 
3204
+ JsiiProject with standard configuration and component integration.
3205
+
3206
+ Extends Projen's base class with opinionated defaults and automatic component setup.
3207
+
3192
3208
  #### Initializers <a name="Initializers" id="@nikovirtala/projen-constructs.JsiiProject.Initializer"></a>
3193
3209
 
3194
3210
  ```typescript
@@ -3199,7 +3215,7 @@ new JsiiProject(options: JsiiProjectOptions)
3199
3215
 
3200
3216
  | **Name** | **Type** | **Description** |
3201
3217
  | --- | --- | --- |
3202
- | <code><a href="#@nikovirtala/projen-constructs.JsiiProject.Initializer.parameter.options">options</a></code> | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions">JsiiProjectOptions</a></code> | *No description.* |
3218
+ | <code><a href="#@nikovirtala/projen-constructs.JsiiProject.Initializer.parameter.options">options</a></code> | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions">JsiiProjectOptions</a></code> | - Project configuration. |
3203
3219
 
3204
3220
  ---
3205
3221
 
@@ -3207,6 +3223,8 @@ new JsiiProject(options: JsiiProjectOptions)
3207
3223
 
3208
3224
  - *Type:* <a href="#@nikovirtala/projen-constructs.JsiiProjectOptions">JsiiProjectOptions</a>
3209
3225
 
3226
+ Project configuration.
3227
+
3210
3228
  ---
3211
3229
 
3212
3230
  #### Methods <a name="Methods" id="Methods"></a>
@@ -4705,6 +4723,10 @@ public readonly DEFAULT_TS_JEST_TRANFORM_PATTERN: string;
4705
4723
 
4706
4724
  ### TypeScriptProject <a name="TypeScriptProject" id="@nikovirtala/projen-constructs.TypeScriptProject"></a>
4707
4725
 
4726
+ TypeScriptProject with standard configuration and component integration.
4727
+
4728
+ Extends Projen's base class with opinionated defaults and automatic component setup.
4729
+
4708
4730
  #### Initializers <a name="Initializers" id="@nikovirtala/projen-constructs.TypeScriptProject.Initializer"></a>
4709
4731
 
4710
4732
  ```typescript
@@ -4715,7 +4737,7 @@ new TypeScriptProject(options: TypeScriptProjectOptions)
4715
4737
 
4716
4738
  | **Name** | **Type** | **Description** |
4717
4739
  | --- | --- | --- |
4718
- | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProject.Initializer.parameter.options">options</a></code> | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions">TypeScriptProjectOptions</a></code> | *No description.* |
4740
+ | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProject.Initializer.parameter.options">options</a></code> | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions">TypeScriptProjectOptions</a></code> | - Project configuration. |
4719
4741
 
4720
4742
  ---
4721
4743
 
@@ -4723,6 +4745,8 @@ new TypeScriptProject(options: TypeScriptProjectOptions)
4723
4745
 
4724
4746
  - *Type:* <a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions">TypeScriptProjectOptions</a>
4725
4747
 
4748
+ Project configuration.
4749
+
4726
4750
  ---
4727
4751
 
4728
4752
  #### Methods <a name="Methods" id="Methods"></a>
@@ -6573,7 +6597,7 @@ const awsCdkConstructLibraryProjectOptions: AwsCdkConstructLibraryProjectOptions
6573
6597
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions.property.maxNodeVersion">maxNodeVersion</a></code> | <code>string</code> | The maximum node version supported by this package. |
6574
6598
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions.property.minMajorVersion">minMajorVersion</a></code> | <code>number</code> | Minimal Major version to release. |
6575
6599
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. |
6576
- | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions.property.mise">mise</a></code> | <code>boolean</code> | Create mise.toml with project Node.js version. |
6600
+ | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions.property.mise">mise</a></code> | <code>boolean</code> | Enable Mise component. |
6577
6601
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions.property.nextVersionCommand">nextVersionCommand</a></code> | <code>string</code> | A shell command to control the next version to release. |
6578
6602
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions.property.npmAccess">npmAccess</a></code> | <code>projen.javascript.NpmAccess</code> | Access level of the npm package. |
6579
6603
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions.property.npmDistTag">npmDistTag</a></code> | <code>string</code> | The npmDistTag to use when publishing from the default branch. |
@@ -6640,8 +6664,8 @@ const awsCdkConstructLibraryProjectOptions: AwsCdkConstructLibraryProjectOptions
6640
6664
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions.property.tsconfigDevFile">tsconfigDevFile</a></code> | <code>string</code> | The name of the development tsconfig.json file. |
6641
6665
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions.property.typescriptVersion">typescriptVersion</a></code> | <code>string</code> | TypeScript version to use. |
6642
6666
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions.property.versionrcOptions">versionrcOptions</a></code> | <code>{[ key: string ]: any}</code> | Custom configuration used when creating changelog with commit-and-tag-version package. |
6643
- | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions.property.vitest">vitest</a></code> | <code>boolean</code> | Enable testing with Vitest. |
6644
- | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions.property.vitestOptions">vitestOptions</a></code> | <code><a href="#@nikovirtala/projen-constructs.VitestOptions">VitestOptions</a></code> | The Vitest configuration (when enabled). |
6667
+ | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions.property.vitest">vitest</a></code> | <code>boolean</code> | Enable Vitest component. |
6668
+ | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions.property.vitestOptions">vitestOptions</a></code> | <code><a href="#@nikovirtala/projen-constructs.VitestOptions">VitestOptions</a></code> | Vitest configuration. |
6645
6669
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions.property.vscode">vscode</a></code> | <code>boolean</code> | Enable VSCode integration. |
6646
6670
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions.property.workflowBootstrapSteps">workflowBootstrapSteps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Workflow steps to use in order to bootstrap this repo. |
6647
6671
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkConstructLibraryProjectOptions.property.workflowContainerImage">workflowContainerImage</a></code> | <code>string</code> | Container image to use for GitHub workflows. |
@@ -7889,7 +7913,7 @@ public readonly mise: boolean;
7889
7913
  - *Type:* boolean
7890
7914
  - *Default:* true
7891
7915
 
7892
- Create mise.toml with project Node.js version.
7916
+ Enable Mise component.
7893
7917
 
7894
7918
  ---
7895
7919
 
@@ -8841,7 +8865,7 @@ public readonly vitest: boolean;
8841
8865
  - *Type:* boolean
8842
8866
  - *Default:* true
8843
8867
 
8844
- Enable testing with Vitest.
8868
+ Enable Vitest component.
8845
8869
 
8846
8870
  ---
8847
8871
 
@@ -8854,7 +8878,7 @@ public readonly vitestOptions: VitestOptions;
8854
8878
  - *Type:* <a href="#@nikovirtala/projen-constructs.VitestOptions">VitestOptions</a>
8855
8879
  - *Default:* default Vitest configuration
8856
8880
 
8857
- The Vitest configuration (when enabled).
8881
+ Vitest configuration.
8858
8882
 
8859
8883
  ---
8860
8884
 
@@ -9076,7 +9100,7 @@ const awsCdkTypeScriptAppProjectOptions: AwsCdkTypeScriptAppProjectOptions = { .
9076
9100
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions.property.maxNodeVersion">maxNodeVersion</a></code> | <code>string</code> | The maximum node version supported by this package. |
9077
9101
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions.property.minMajorVersion">minMajorVersion</a></code> | <code>number</code> | Minimal Major version to release. |
9078
9102
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. |
9079
- | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions.property.mise">mise</a></code> | <code>boolean</code> | Create mise.toml with project Node.js version. |
9103
+ | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions.property.mise">mise</a></code> | <code>boolean</code> | Enable Mise component. |
9080
9104
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions.property.nextVersionCommand">nextVersionCommand</a></code> | <code>string</code> | A shell command to control the next version to release. |
9081
9105
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions.property.npmAccess">npmAccess</a></code> | <code>projen.javascript.NpmAccess</code> | Access level of the npm package. |
9082
9106
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions.property.npmDistTag">npmDistTag</a></code> | <code>string</code> | The npmDistTag to use when publishing from the default branch. |
@@ -9139,8 +9163,8 @@ const awsCdkTypeScriptAppProjectOptions: AwsCdkTypeScriptAppProjectOptions = { .
9139
9163
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions.property.tsconfigDevFile">tsconfigDevFile</a></code> | <code>string</code> | The name of the development tsconfig.json file. |
9140
9164
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions.property.typescriptVersion">typescriptVersion</a></code> | <code>string</code> | TypeScript version to use. |
9141
9165
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions.property.versionrcOptions">versionrcOptions</a></code> | <code>{[ key: string ]: any}</code> | Custom configuration used when creating changelog with commit-and-tag-version package. |
9142
- | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions.property.vitest">vitest</a></code> | <code>boolean</code> | Enable testing with Vitest. |
9143
- | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions.property.vitestOptions">vitestOptions</a></code> | <code><a href="#@nikovirtala/projen-constructs.VitestOptions">VitestOptions</a></code> | The Vitest configuration (when enabled). |
9166
+ | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions.property.vitest">vitest</a></code> | <code>boolean</code> | Enable Vitest component. |
9167
+ | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions.property.vitestOptions">vitestOptions</a></code> | <code><a href="#@nikovirtala/projen-constructs.VitestOptions">VitestOptions</a></code> | Vitest configuration. |
9144
9168
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions.property.vscode">vscode</a></code> | <code>boolean</code> | Enable VSCode integration. |
9145
9169
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions.property.watchExcludes">watchExcludes</a></code> | <code>string[]</code> | Glob patterns to exclude from `cdk watch`. |
9146
9170
  | <code><a href="#@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProjectOptions.property.watchIncludes">watchIncludes</a></code> | <code>string[]</code> | Glob patterns to include in `cdk watch`. |
@@ -10319,7 +10343,7 @@ public readonly mise: boolean;
10319
10343
  - *Type:* boolean
10320
10344
  - *Default:* true
10321
10345
 
10322
- Create mise.toml with project Node.js version.
10346
+ Enable Mise component.
10323
10347
 
10324
10348
  ---
10325
10349
 
@@ -11221,7 +11245,7 @@ public readonly vitest: boolean;
11221
11245
  - *Type:* boolean
11222
11246
  - *Default:* true
11223
11247
 
11224
- Enable testing with Vitest.
11248
+ Enable Vitest component.
11225
11249
 
11226
11250
  ---
11227
11251
 
@@ -11234,7 +11258,7 @@ public readonly vitestOptions: VitestOptions;
11234
11258
  - *Type:* <a href="#@nikovirtala/projen-constructs.VitestOptions">VitestOptions</a>
11235
11259
  - *Default:* default Vitest configuration
11236
11260
 
11237
- The Vitest configuration (when enabled).
11261
+ Vitest configuration.
11238
11262
 
11239
11263
  ---
11240
11264
 
@@ -11474,7 +11498,7 @@ const jsiiProjectOptions: JsiiProjectOptions = { ... }
11474
11498
  | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions.property.maxNodeVersion">maxNodeVersion</a></code> | <code>string</code> | The maximum node version supported by this package. |
11475
11499
  | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions.property.minMajorVersion">minMajorVersion</a></code> | <code>number</code> | Minimal Major version to release. |
11476
11500
  | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. |
11477
- | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions.property.mise">mise</a></code> | <code>boolean</code> | Create mise.toml with project Node.js version. |
11501
+ | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions.property.mise">mise</a></code> | <code>boolean</code> | Enable Mise component. |
11478
11502
  | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions.property.nextVersionCommand">nextVersionCommand</a></code> | <code>string</code> | A shell command to control the next version to release. |
11479
11503
  | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions.property.npmAccess">npmAccess</a></code> | <code>projen.javascript.NpmAccess</code> | Access level of the npm package. |
11480
11504
  | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions.property.npmDistTag">npmDistTag</a></code> | <code>string</code> | The npmDistTag to use when publishing from the default branch. |
@@ -11541,8 +11565,8 @@ const jsiiProjectOptions: JsiiProjectOptions = { ... }
11541
11565
  | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions.property.tsconfigDevFile">tsconfigDevFile</a></code> | <code>string</code> | The name of the development tsconfig.json file. |
11542
11566
  | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions.property.typescriptVersion">typescriptVersion</a></code> | <code>string</code> | TypeScript version to use. |
11543
11567
  | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions.property.versionrcOptions">versionrcOptions</a></code> | <code>{[ key: string ]: any}</code> | Custom configuration used when creating changelog with commit-and-tag-version package. |
11544
- | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions.property.vitest">vitest</a></code> | <code>boolean</code> | Enable testing with Vitest. |
11545
- | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions.property.vitestOptions">vitestOptions</a></code> | <code><a href="#@nikovirtala/projen-constructs.VitestOptions">VitestOptions</a></code> | The Vitest configuration (when enabled). |
11568
+ | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions.property.vitest">vitest</a></code> | <code>boolean</code> | Enable Vitest component. |
11569
+ | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions.property.vitestOptions">vitestOptions</a></code> | <code><a href="#@nikovirtala/projen-constructs.VitestOptions">VitestOptions</a></code> | Vitest configuration. |
11546
11570
  | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions.property.vscode">vscode</a></code> | <code>boolean</code> | Enable VSCode integration. |
11547
11571
  | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions.property.workflowBootstrapSteps">workflowBootstrapSteps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Workflow steps to use in order to bootstrap this repo. |
11548
11572
  | <code><a href="#@nikovirtala/projen-constructs.JsiiProjectOptions.property.workflowContainerImage">workflowContainerImage</a></code> | <code>string</code> | Container image to use for GitHub workflows. |
@@ -12615,7 +12639,7 @@ public readonly mise: boolean;
12615
12639
  - *Type:* boolean
12616
12640
  - *Default:* true
12617
12641
 
12618
- Create mise.toml with project Node.js version.
12642
+ Enable Mise component.
12619
12643
 
12620
12644
  ---
12621
12645
 
@@ -13567,7 +13591,7 @@ public readonly vitest: boolean;
13567
13591
  - *Type:* boolean
13568
13592
  - *Default:* true
13569
13593
 
13570
- Enable testing with Vitest.
13594
+ Enable Vitest component.
13571
13595
 
13572
13596
  ---
13573
13597
 
@@ -13580,7 +13604,7 @@ public readonly vitestOptions: VitestOptions;
13580
13604
  - *Type:* <a href="#@nikovirtala/projen-constructs.VitestOptions">VitestOptions</a>
13581
13605
  - *Default:* default Vitest configuration
13582
13606
 
13583
- The Vitest configuration (when enabled).
13607
+ Vitest configuration.
13584
13608
 
13585
13609
  ---
13586
13610
 
@@ -13785,7 +13809,7 @@ const typeScriptProjectOptions: TypeScriptProjectOptions = { ... }
13785
13809
  | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions.property.maxNodeVersion">maxNodeVersion</a></code> | <code>string</code> | The maximum node version supported by this package. |
13786
13810
  | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions.property.minMajorVersion">minMajorVersion</a></code> | <code>number</code> | Minimal Major version to release. |
13787
13811
  | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. |
13788
- | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions.property.mise">mise</a></code> | <code>boolean</code> | Create mise.toml with project Node.js version. |
13812
+ | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions.property.mise">mise</a></code> | <code>boolean</code> | Enable Mise component. |
13789
13813
  | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions.property.nextVersionCommand">nextVersionCommand</a></code> | <code>string</code> | A shell command to control the next version to release. |
13790
13814
  | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions.property.npmAccess">npmAccess</a></code> | <code>projen.javascript.NpmAccess</code> | Access level of the npm package. |
13791
13815
  | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions.property.npmDistTag">npmDistTag</a></code> | <code>string</code> | The npmDistTag to use when publishing from the default branch. |
@@ -13847,8 +13871,8 @@ const typeScriptProjectOptions: TypeScriptProjectOptions = { ... }
13847
13871
  | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions.property.tsconfigDevFile">tsconfigDevFile</a></code> | <code>string</code> | The name of the development tsconfig.json file. |
13848
13872
  | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions.property.typescriptVersion">typescriptVersion</a></code> | <code>string</code> | TypeScript version to use. |
13849
13873
  | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions.property.versionrcOptions">versionrcOptions</a></code> | <code>{[ key: string ]: any}</code> | Custom configuration used when creating changelog with commit-and-tag-version package. |
13850
- | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions.property.vitest">vitest</a></code> | <code>boolean</code> | Enable testing with Vitest. |
13851
- | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions.property.vitestOptions">vitestOptions</a></code> | <code><a href="#@nikovirtala/projen-constructs.VitestOptions">VitestOptions</a></code> | The Vitest configuration (when enabled). |
13874
+ | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions.property.vitest">vitest</a></code> | <code>boolean</code> | Enable Vitest component. |
13875
+ | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions.property.vitestOptions">vitestOptions</a></code> | <code><a href="#@nikovirtala/projen-constructs.VitestOptions">VitestOptions</a></code> | Vitest configuration. |
13852
13876
  | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions.property.vscode">vscode</a></code> | <code>boolean</code> | Enable VSCode integration. |
13853
13877
  | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions.property.workflowBootstrapSteps">workflowBootstrapSteps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Workflow steps to use in order to bootstrap this repo. |
13854
13878
  | <code><a href="#@nikovirtala/projen-constructs.TypeScriptProjectOptions.property.workflowContainerImage">workflowContainerImage</a></code> | <code>string</code> | Container image to use for GitHub workflows. |
@@ -14791,7 +14815,7 @@ public readonly mise: boolean;
14791
14815
  - *Type:* boolean
14792
14816
  - *Default:* true
14793
14817
 
14794
- Create mise.toml with project Node.js version.
14818
+ Enable Mise component.
14795
14819
 
14796
14820
  ---
14797
14821
 
@@ -15680,7 +15704,7 @@ public readonly vitest: boolean;
15680
15704
  - *Type:* boolean
15681
15705
  - *Default:* true
15682
15706
 
15683
- Enable testing with Vitest.
15707
+ Enable Vitest component.
15684
15708
 
15685
15709
  ---
15686
15710
 
@@ -15693,7 +15717,7 @@ public readonly vitestOptions: VitestOptions;
15693
15717
  - *Type:* <a href="#@nikovirtala/projen-constructs.VitestOptions">VitestOptions</a>
15694
15718
  - *Default:* default Vitest configuration
15695
15719
 
15696
- The Vitest configuration (when enabled).
15720
+ Vitest configuration.
15697
15721
 
15698
15722
  ---
15699
15723
 
@@ -11,12 +11,14 @@ class Mise extends component_1.Component {
11
11
  }
12
12
  constructor(project, options = {}) {
13
13
  super(project);
14
+ const nodeVersion = options.nodeVersion ??
15
+ ("minNodeVersion" in project ? project.minNodeVersion : undefined);
14
16
  const homebrew = homebrew_1.Homebrew.of(project) ?? new homebrew_1.Homebrew(project);
15
17
  homebrew.addPackage("mise");
16
18
  new textfile_1.TextFile(this, "mise.toml", {
17
19
  committed: true,
18
20
  readonly: true,
19
- lines: ["[tools]", `node = "${options.nodeVersion}"`],
21
+ lines: ["[tools]", `node = "${nodeVersion}"`],
20
22
  });
21
23
  project.addTask("mise:trust", {
22
24
  exec: "mise trust",
@@ -24,4 +26,4 @@ class Mise extends component_1.Component {
24
26
  }
25
27
  }
26
28
  exports.Mise = Mise;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL21pc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBQWlEO0FBRWpELGtEQUErQztBQUMvQyx5Q0FBc0M7QUFNdEMsTUFBYSxJQUFLLFNBQVEscUJBQVM7SUFDeEIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFnQjtRQUM3QixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQVksRUFBYSxFQUFFLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQztRQUM5RCxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUFZLE9BQWdCLEVBQUUsVUFBdUIsRUFBRTtRQUNuRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixNQUFNLFFBQVEsR0FBRyxtQkFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLG1CQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0QsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU1QixJQUFJLG1CQUFRLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUM1QixTQUFTLEVBQUUsSUFBSTtZQUNmLFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsT0FBTyxDQUFDLFdBQVcsR0FBRyxDQUFDO1NBQ3hELENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQzFCLElBQUksRUFBRSxZQUFZO1NBQ3JCLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSjtBQXRCRCxvQkFzQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwicHJvamVuL2xpYi9jb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCJwcm9qZW4vbGliL3Byb2plY3RcIjtcbmltcG9ydCB7IFRleHRGaWxlIH0gZnJvbSBcInByb2plbi9saWIvdGV4dGZpbGVcIjtcbmltcG9ydCB7IEhvbWVicmV3IH0gZnJvbSBcIi4vaG9tZWJyZXdcIjtcblxuZXhwb3J0IGludGVyZmFjZSBNaXNlT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgbm9kZVZlcnNpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBNaXNlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgc3RhdGljIG9mKHByb2plY3Q6IFByb2plY3QpOiBNaXNlIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgaXNNaXNlID0gKGM6IENvbXBvbmVudCk6IGMgaXMgTWlzZSA9PiBjIGluc3RhbmNlb2YgTWlzZTtcbiAgICAgICAgcmV0dXJuIHByb2plY3QuY29tcG9uZW50cy5maW5kKGlzTWlzZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogTWlzZU9wdGlvbnMgPSB7fSkge1xuICAgICAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgICAgICBjb25zdCBob21lYnJldyA9IEhvbWVicmV3Lm9mKHByb2plY3QpID8/IG5ldyBIb21lYnJldyhwcm9qZWN0KTtcbiAgICAgICAgaG9tZWJyZXcuYWRkUGFja2FnZShcIm1pc2VcIik7XG5cbiAgICAgICAgbmV3IFRleHRGaWxlKHRoaXMsIFwibWlzZS50b21sXCIsIHtcbiAgICAgICAgICAgIGNvbW1pdHRlZDogdHJ1ZSxcbiAgICAgICAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgICAgICAgbGluZXM6IFtcIlt0b29sc11cIiwgYG5vZGUgPSBcIiR7b3B0aW9ucy5ub2RlVmVyc2lvbn1cImBdLFxuICAgICAgICB9KTtcblxuICAgICAgICBwcm9qZWN0LmFkZFRhc2soXCJtaXNlOnRydXN0XCIsIHtcbiAgICAgICAgICAgIGV4ZWM6IFwibWlzZSB0cnVzdFwiLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL21pc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBQWlEO0FBRWpELGtEQUErQztBQUMvQyx5Q0FBc0M7QUFNdEMsTUFBYSxJQUFLLFNBQVEscUJBQVM7SUFDeEIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFnQjtRQUM3QixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQVksRUFBYSxFQUFFLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQztRQUM5RCxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUFZLE9BQWdCLEVBQUUsVUFBdUIsRUFBRTtRQUNuRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixNQUFNLFdBQVcsR0FDYixPQUFPLENBQUMsV0FBVztZQUNuQixDQUFDLGdCQUFnQixJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUUsT0FBdUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXhHLE1BQU0sUUFBUSxHQUFHLG1CQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksbUJBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRCxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTVCLElBQUksbUJBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQzVCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxXQUFXLEdBQUcsQ0FBQztTQUNoRCxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtZQUMxQixJQUFJLEVBQUUsWUFBWTtTQUNyQixDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0o7QUExQkQsb0JBMEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcInByb2plbi9saWIvY29tcG9uZW50XCI7XG5pbXBvcnQgdHlwZSB7IFByb2plY3QgfSBmcm9tIFwicHJvamVuL2xpYi9wcm9qZWN0XCI7XG5pbXBvcnQgeyBUZXh0RmlsZSB9IGZyb20gXCJwcm9qZW4vbGliL3RleHRmaWxlXCI7XG5pbXBvcnQgeyBIb21lYnJldyB9IGZyb20gXCIuL2hvbWVicmV3XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWlzZU9wdGlvbnMge1xuICAgIHJlYWRvbmx5IG5vZGVWZXJzaW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgTWlzZSBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgcHVibGljIHN0YXRpYyBvZihwcm9qZWN0OiBQcm9qZWN0KTogTWlzZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGlzTWlzZSA9IChjOiBDb21wb25lbnQpOiBjIGlzIE1pc2UgPT4gYyBpbnN0YW5jZW9mIE1pc2U7XG4gICAgICAgIHJldHVybiBwcm9qZWN0LmNvbXBvbmVudHMuZmluZChpc01pc2UpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IE1pc2VPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICAgICAgY29uc3Qgbm9kZVZlcnNpb24gPVxuICAgICAgICAgICAgb3B0aW9ucy5ub2RlVmVyc2lvbiA/P1xuICAgICAgICAgICAgKFwibWluTm9kZVZlcnNpb25cIiBpbiBwcm9qZWN0ID8gKHByb2plY3QgYXMgeyBtaW5Ob2RlVmVyc2lvbj86IHN0cmluZyB9KS5taW5Ob2RlVmVyc2lvbiA6IHVuZGVmaW5lZCk7XG5cbiAgICAgICAgY29uc3QgaG9tZWJyZXcgPSBIb21lYnJldy5vZihwcm9qZWN0KSA/PyBuZXcgSG9tZWJyZXcocHJvamVjdCk7XG4gICAgICAgIGhvbWVicmV3LmFkZFBhY2thZ2UoXCJtaXNlXCIpO1xuXG4gICAgICAgIG5ldyBUZXh0RmlsZSh0aGlzLCBcIm1pc2UudG9tbFwiLCB7XG4gICAgICAgICAgICBjb21taXR0ZWQ6IHRydWUsXG4gICAgICAgICAgICByZWFkb25seTogdHJ1ZSxcbiAgICAgICAgICAgIGxpbmVzOiBbXCJbdG9vbHNdXCIsIGBub2RlID0gXCIke25vZGVWZXJzaW9ufVwiYF0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHByb2plY3QuYWRkVGFzayhcIm1pc2U6dHJ1c3RcIiwge1xuICAgICAgICAgICAgZXhlYzogXCJtaXNlIHRydXN0XCIsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -204,5 +204,5 @@ class Vitest extends component_1.Component {
204
204
  }
205
205
  exports.Vitest = Vitest;
206
206
  _a = JSII_RTTI_SYMBOL_1;
207
- Vitest[_a] = { fqn: "@nikovirtala/projen-constructs.Vitest", version: "0.1.4" };
207
+ Vitest[_a] = { fqn: "@nikovirtala/projen-constructs.Vitest", version: "0.1.6" };
208
208
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvdml0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0NBQWtDO0FBQ2xDLG9EQUFpRDtBQUNqRCwwREFBeUQ7QUFDekQsc0RBQStEO0FBQy9ELGtEQUErQztBQUUvQyxJQUFZLFdBS1g7QUFMRCxXQUFZLFdBQVc7SUFDbkIsNENBQTZCLENBQUE7SUFDN0Isc0NBQXVCLENBQUE7SUFDdkIsOEJBQWUsQ0FBQTtJQUNmLDRCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUxXLFdBQVcsMkJBQVgsV0FBVyxRQUt0QjtBQUVELElBQVksSUFLWDtBQUxELFdBQVksSUFBSTtJQUNaLHVCQUFlLENBQUE7SUFDZiwyQkFBbUIsQ0FBQTtJQUNuQiwyQkFBbUIsQ0FBQTtJQUNuQiwrQkFBdUIsQ0FBQTtBQUMzQixDQUFDLEVBTFcsSUFBSSxvQkFBSixJQUFJLFFBS2Y7QUFFRCxJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDeEIseUNBQXFCLENBQUE7SUFDckIsNkJBQVMsQ0FBQTtBQUNiLENBQUMsRUFIVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQUczQjtBQUVELElBQVksZ0JBTVg7QUFORCxXQUFZLGdCQUFnQjtJQUN4QixxQ0FBaUIsQ0FBQTtJQUNqQixpQ0FBYSxDQUFBO0lBQ2IsaUNBQWEsQ0FBQTtJQUNiLGlDQUFhLENBQUE7SUFDYixpQ0FBYSxDQUFBO0FBQ2pCLENBQUMsRUFOVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQU0zQjtBQTZCRCxNQUFhLE1BQU8sU0FBUSxxQkFBUztJQUMxQixNQUFNLENBQUMsRUFBRSxDQUFDLE9BQW9CO1FBQ2pDLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBWSxFQUFlLEVBQUUsQ0FBQyxDQUFDLFlBQVksTUFBTSxDQUFDO1FBQ3BFLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxD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QUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQixLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7UUFFbkQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7QUExTkwsd0JBMk5DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwicHJvamVuL2xpYi9jb21wb25lbnRcIjtcbmltcG9ydCB7IERlcGVuZGVuY3lUeXBlIH0gZnJvbSBcInByb2plbi9saWIvZGVwZW5kZW5jaWVzXCI7XG5pbXBvcnQgeyBKZXN0LCB0eXBlIE5vZGVQcm9qZWN0IH0gZnJvbSBcInByb2plbi9saWIvamF2YXNjcmlwdFwiO1xuaW1wb3J0IHsgVGV4dEZpbGUgfSBmcm9tIFwicHJvamVuL2xpYi90ZXh0ZmlsZVwiO1xuXG5leHBvcnQgZW51bSBFbnZpcm9ubWVudCB7XG4gICAgRURHRV9SVU5USU1FID0gXCJlZGdlLXJ1bnRpbWVcIixcbiAgICBIQVBQWV9ET00gPSBcImhhcHB5LWRvbVwiLFxuICAgIEpTRE9NID0gXCJqc2RvbVwiLFxuICAgIE5PREUgPSBcIm5vZGVcIixcbn1cblxuZXhwb3J0IGVudW0gUG9vbCB7XG4gICAgRk9SS1MgPSBcImZvcmtzXCIsXG4gICAgVEhSRUFEUyA9IFwidGhyZWFkc1wiLFxuICAgIFZNRk9SS1MgPSBcInZtZm9ya3NcIixcbiAgICBWTVRIUkVBRFMgPSBcInZtdGhyZWFkc1wiLFxufVxuXG5leHBvcnQgZW51bSBDb3ZlcmFnZVByb3ZpZGVyIHtcbiAgICBJU1RBTkJVTCA9IFwiaXN0YW5idWxcIixcbiAgICBWOCA9IFwidjhcIixcbn1cblxuZXhwb3J0IGVudW0gQ292ZXJhZ2VSZXBvcnRlciB7XG4gICAgQ0xPVkVSID0gXCJjbG92ZXJcIixcbiAgICBIVE1MID0gXCJodG1sXCIsXG4gICAgSlNPTiA9IFwianNvblwiLFxuICAgIExDT1YgPSBcImxjb3ZcIixcbiAgICBURVhUID0gXCJ0ZXh0XCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVml0ZXN0Q29uZmlnT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgaW5jbHVkZT86IEFycmF5PHN0cmluZz47XG4gICAgcmVhZG9ubHkgZXhjbHVkZT86IEFycmF5PHN0cmluZz47XG4gICAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiBFbnZpcm9ubWVudDtcbiAgICByZWFkb25seSBpc29sYXRlPzogYm9vbGVhbjtcbiAgICByZWFkb25seSBwb29sPzogUG9vbDtcbiAgICByZWFkb25seSBnbG9iYWxzPzogYm9vbGVhbjtcbiAgICByZWFkb25seSBjb3ZlcmFnZUVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGNvdmVyYWdlUHJvdmlkZXI/OiBDb3ZlcmFnZVByb3ZpZGVyO1xuICAgIHJlYWRvbmx5IGNvdmVyYWdlUmVwb3J0ZXJzPzogQXJyYXk8Q292ZXJhZ2VSZXBvcnRlcj47XG4gICAgcmVhZG9ubHkgY292ZXJhZ2VEaXJlY3Rvcnk/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdHlwZWNoZWNrRW5hYmxlZD86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgdHlwZWNoZWNrQ2hlY2tlcj86IHN0cmluZztcbiAgICByZWFkb25seSB0eXBlY2hlY2tUc2NvbmZpZz86IHN0cmluZztcbiAgICByZWFkb25seSBwYXNzV2l0aE5vVGVzdHM/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGJhaWw/OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgdXBkYXRlU25hcHNob3RzPzogYm9vbGVhbjtcbiAgICByZWFkb25seSBwcmludENvbnNvbGVUcmFjZT86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgc2xvd1Rlc3RUaHJlc2hvbGQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVml0ZXN0T3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgY29uZmlnRmlsZVBhdGg/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgY29uZmlnPzogVml0ZXN0Q29uZmlnT3B0aW9ucztcbiAgICByZWFkb25seSB2aXRlc3RWZXJzaW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgVml0ZXN0IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgc3RhdGljIG9mKHByb2plY3Q6IE5vZGVQcm9qZWN0KTogVml0ZXN0IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgaXNWaXRlc3QgPSAoYzogQ29tcG9uZW50KTogYyBpcyBWaXRlc3QgPT4gYyBpbnN0YW5jZW9mIFZpdGVzdDtcbiAgICAgICAgcmV0dXJuIHByb2plY3QuY29tcG9uZW50cy5maW5kKGlzVml0ZXN0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ0ZpbGVQYXRoOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmNsdWRlOiBTZXQ8c3RyaW5nPjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGV4Y2x1ZGU6IFNldDxzdHJpbmc+O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNvbGF0ZTogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvb2w6IFBvb2w7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3ZlcmFnZUVuYWJsZWQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSB0eXBlY2hlY2tFbmFibGVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdHlwZWNoZWNrQ2hlY2tlcjogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdHlwZWNoZWNrVHNjb25maWc6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhc3NXaXRoTm9UZXN0czogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJhaWw6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVwZGF0ZVNuYXBzaG90czogYm9vbGVhbjtcbiAgICBwcml2YXRlIGVudmlyb25tZW50OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBnbG9iYWxzOiBib29sZWFuO1xuICAgIHByaXZhdGUgY292ZXJhZ2VQcm92aWRlcjogQ292ZXJhZ2VQcm92aWRlcjtcbiAgICBwcml2YXRlIGNvdmVyYWdlUmVwb3J0ZXJzOiBBcnJheTxDb3ZlcmFnZVJlcG9ydGVyPjtcbiAgICBwcml2YXRlIGNvdmVyYWdlRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSB2ZXJzaW9uOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmludENvbnNvbGVUcmFjZTogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNsb3dUZXN0VGhyZXNob2xkOiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBOb2RlUHJvamVjdCwgb3B0aW9uczogVml0ZXN0T3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgICAgIHRoaXMuY29uZmlnRmlsZVBhdGggPSBvcHRpb25zLmNvbmZpZ0ZpbGVQYXRoID8/IFwidml0ZXN0LmNvbmZpZy50c1wiO1xuICAgICAgICB0aGlzLmluY2x1ZGUgPSBuZXcgU2V0KG9wdGlvbnMuY29uZmlnPy5pbmNsdWRlID8/IFtcIioqLyoue3Rlc3Qsc3BlY30uPyhjfG0pW2p0XXM/KHgpXCJdKTtcbiAgICAgICAgdGhpcy5leGNsdWRlID0gbmV3IFNldChcbiAgICAgICAgICAgIG9wdGlvbnMuY29uZmlnPy5leGNsdWRlID8/IFtcbiAgICAgICAgICAgICAgICBcIioqL25vZGVfbW9kdWxlcy8qKlwiLFxuICAgICAgICAgICAgICAgIFwiKiovZGlzdC8qKlwiLFxuICAgICAgICAgICAgICAgIFwiKiovY3lwcmVzcy8qKlwiLFxuICAgICAgICAgICAgICAgIFwiKiovLntpZGVhLGdpdCxjYWNoZSxvdXRwdXQsdGVtcH0vKipcIixcbiAgICAgICAgICAgICAgICBcIioqL3trYXJtYSxyb2xsdXAsd2VicGFjayx2aXRlLHZpdGVzdCxqZXN0LGF2YSxiYWJlbCxueWMsY3lwcmVzcyx0c3VwLGJ1aWxkLGVzbGludCxwcmV0dGllcn0uY29uZmlnLipcIixcbiAgICAgICAgICAgIF0sXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaXNvbGF0ZSA9IG9wdGlvbnMuY29uZmlnPy5pc29sYXRlID8/IHRydWU7XG4gICAgICAgIHRoaXMucG9vbCA9IG9wdGlvbnMuY29uZmlnPy5wb29sID8/IFBvb2wuRk9SS1M7XG4gICAgICAgIHRoaXMuY292ZXJhZ2VFbmFibGVkID0gb3B0aW9ucy5jb25maWc/LmNvdmVyYWdlRW5hYmxlZCA/PyB0cnVlO1xuICAgICAgICB0aGlzLnR5cGVjaGVja0VuYWJsZWQgPSBvcHRpb25zLmNvbmZpZz8udHlwZWNoZWNrRW5hYmxlZCA/PyB0aGlzLmlzVHlwZXNjcmlwdFByb2plY3QoKTtcbiAgICAgICAgdGhpcy50eXBlY2hlY2tDaGVja2VyID0gb3B0aW9ucy5jb25maWc/LnR5cGVjaGVja0NoZWNrZXIgPz8gXCJ0c2MgLS1ub0VtaXRcIjtcbiAgICAgICAgdGhpcy50eXBlY2hlY2tUc2NvbmZpZyA9IG9wdGlvbnMuY29uZmlnPy50eXBlY2hlY2tUc2NvbmZpZyA/PyBcInRzY29uZmlnLmRldi5qc29uXCI7XG4gICAgICAgIHRoaXMucGFzc1dpdGhOb1Rlc3RzID0gb3B0aW9ucy5jb25maWc/LnBhc3NXaXRoTm9UZXN0cyA/PyB0cnVlO1xuICAgICAgICB0aGlzLmJhaWwgPSBvcHRpb25zLmNvbmZpZz8uYmFpbCA/PyAwO1xuICAgICAgICB0aGlzLmVudmlyb25tZW50ID0gb3B0aW9ucy5jb25maWc/LmVudmlyb25tZW50ID8/IEVudmlyb25tZW50Lk5PREU7XG4gICAgICAgIHRoaXMuZ2xvYmFscyA9IG9wdGlvbnMuY29uZmlnPy5nbG9iYWxzID8/IGZhbHNlO1xuICAgICAgICB0aGlzLmNvdmVyYWdlUHJvdmlkZXIgPSBvcHRpb25zLmNvbmZpZz8uY292ZXJhZ2VQcm92aWRlciA/PyBDb3ZlcmFnZVByb3ZpZGVyLlY4O1xuICAgICAgICB0aGlzLmNvdmVyYWdlUmVwb3J0ZXJzID0gb3B0aW9ucy5jb25maWc/LmNvdmVyYWdlUmVwb3J0ZXJzID8/IFtDb3ZlcmFnZVJlcG9ydGVyLlRFWFQsIENvdmVyYWdlUmVwb3J0ZXIuTENPVl07XG4gICAgICAgIHRoaXMuY292ZXJhZ2VEaXJlY3RvcnkgPSBvcHRpb25zLmNvbmZpZz8uY292ZXJhZ2VEaXJlY3RvcnkgPz8gXCJjb3ZlcmFnZVwiO1xuICAgICAgICB0aGlzLnZlcnNpb24gPSBvcHRpb25zLnZpdGVzdFZlcnNpb24gPz8gXCJeNFwiO1xuICAgICAgICB0aGlzLnVwZGF0ZVNuYXBzaG90cyA9IG9wdGlvbnMuY29uZmlnPy51cGRhdGVTbmFwc2hvdHMgPz8gdHJ1ZTtcbiAgICAgICAgdGhpcy5wcmludENvbnNvbGVUcmFjZSA9IG9wdGlvbnMuY29uZmlnPy5wcmludENvbnNvbGVUcmFjZSA/PyB0cnVlO1xuICAgICAgICB0aGlzLnNsb3dUZXN0VGhyZXNob2xkID0gb3B0aW9ucy5jb25maWc/LnNsb3dUZXN0VGhyZXNob2xkID8/IDMwMDtcblxuICAgICAgICBwcm9qZWN0LmFkZERldkRlcHMoYHZpdGVzdEAke3RoaXMudmVyc2lvbn1gKTtcbiAgICAgICAgdGhpcy5jb25maWd1cmVDb3ZlcmFnZVByb3ZpZGVyKHRoaXMuY292ZXJhZ2VQcm92aWRlcik7XG5cbiAgICAgICAgaWYgKHRoaXMuZ2xvYmFscyAmJiB0aGlzLmlzVHlwZXNjcmlwdFByb2plY3QoKSAmJiB0aGlzLnByb2plY3QudHJ5RmluZE9iamVjdEZpbGUodGhpcy50eXBlY2hlY2tUc2NvbmZpZykpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJlR2xvYmFscygpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY292ZXJhZ2VEaXJlY3RvcnlQYXRoID0gcGF0aC5wb3NpeC5qb2luKFwiL1wiLCB0aGlzLmNvdmVyYWdlRGlyZWN0b3J5LCBcIi9cIik7XG4gICAgICAgIHByb2plY3QubnBtaWdub3JlPy5leGNsdWRlKGNvdmVyYWdlRGlyZWN0b3J5UGF0aCk7XG4gICAgICAgIHByb2plY3QuZ2l0aWdub3JlLmV4Y2x1ZGUoY292ZXJhZ2VEaXJlY3RvcnlQYXRoKTtcblxuICAgICAgICB0aGlzLmFkZFRlc3RDb21tYW5kKCk7XG4gICAgICAgIHRoaXMuc3ludGhlc2l6ZUNvbmZpZygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBwcmVTeW50aGVzaXplKCkge1xuICAgICAgICBzdXBlci5wcmVTeW50aGVzaXplKCk7XG5cbiAgICAgICAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgdGhpcy5wcm9qZWN0LmNvbXBvbmVudHMpIHtcbiAgICAgICAgICAgIGlmIChjb21wb25lbnQgaW5zdGFuY2VvZiBKZXN0KSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidml0ZXN0IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggamVzdFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhZGRJbmNsdWRlKHBhdHRlcm46IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmluY2x1ZGUuYWRkKHBhdHRlcm4pO1xuICAgICAgICB0aGlzLnN5bnRoZXNpemVDb25maWcoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkRXhjbHVkZShwYXR0ZXJuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5leGNsdWRlLmFkZChwYXR0ZXJuKTtcbiAgICAgICAgdGhpcy5zeW50aGVzaXplQ29uZmlnKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbmZpZ3VyZUVudmlyb25tZW50KGVudmlyb25tZW50OiBFbnZpcm9ubWVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVudmlyb25tZW50ID0gZW52aXJvbm1lbnQ7XG4gICAgICAgIHRoaXMuc3ludGhlc2l6ZUNvbmZpZygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb25maWd1cmVDb3ZlcmFnZVByb3ZpZGVyKHByb3ZpZGVyOiBDb3ZlcmFnZVByb3ZpZGVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByb3ZpZGVyUGFja2FnZXMgPSB7XG4gICAgICAgICAgICBbQ292ZXJhZ2VQcm92aWRlci5WOF06IGBAdml0ZXN0L2NvdmVyYWdlLXY4QCR7dGhpcy52ZXJzaW9ufWAsXG4gICAgICAgICAgICBbQ292ZXJhZ2VQcm92aWRlci5JU1RBTkJVTF06IGBAdml0ZXN0L2NvdmVyYWdlLWlzdGFuYnVsQCR7dGhpcy52ZXJzaW9ufWAsXG4gICAgICAgIH07XG5cbiAgICAgICAgZm9yIChjb25zdCBwcm92aWRlclBhY2thZ2Ugb2YgT2JqZWN0LnZhbHVlcyhwcm92aWRlclBhY2thZ2VzKSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2plY3QuZGVwcy5yZW1vdmVEZXBlbmRlbmN5KHByb3ZpZGVyUGFja2FnZSk7XG4gICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICAvLyBpZ25vcmVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJvamVjdC5kZXBzLmFkZERlcGVuZGVuY3kocHJvdmlkZXJQYWNrYWdlc1twcm92aWRlcl0sIERlcGVuZGVuY3lUeXBlLkRFVkVOVik7XG4gICAgICAgIHRoaXMuY292ZXJhZ2VQcm92aWRlciA9IHByb3ZpZGVyO1xuICAgICAgICB0aGlzLnN5bnRoZXNpemVDb25maWcoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29uZmlndXJlQ292ZXJhZ2VSZXBvcnRlcnMocmVwb3J0ZXJzOiBBcnJheTxDb3ZlcmFnZVJlcG9ydGVyPik6IHZvaWQge1xuICAgICAgICB0aGlzLmNvdmVyYWdlUmVwb3J0ZXJzID0gcmVwb3J0ZXJzO1xuICAgICAgICB0aGlzLnN5bnRoZXNpemVDb25maWcoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29uZmlndXJlR2xvYmFscygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVUc0NvbmZpZygpO1xuICAgICAgICB0aGlzLnN5bnRoZXNpemVDb25maWcoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVRzQ29uZmlnKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0c2NvbmZpZyA9IHRoaXMucHJvamVjdC50cnlGaW5kT2JqZWN0RmlsZSh0aGlzLnR5cGVjaGVja1RzY29uZmlnKTtcblxuICAgICAgICBpZiAoIXRzY29uZmlnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1bmFibGUgdG8gZmluZCB0c2NvbmZpZ1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRzY29uZmlnLmFkZFRvQXJyYXkoXCJjb21waWxlck9wdGlvbnMudHlwZXNcIiwgXCJ2aXRlc3QvZ2xvYmFsc1wiKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVHlwZXNjcmlwdFByb2plY3QoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb2plY3QuZGVwcy50cnlHZXREZXBlbmRlbmN5KFwidHlwZXNjcmlwdFwiKSAhPT0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkVGVzdENvbW1hbmQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvamVjdC50ZXN0VGFzay5leGVjKFwidml0ZXN0IHJ1blwiLCB7XG4gICAgICAgICAgICByZWNlaXZlQXJnczogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgdGVzdFdhdGNoID0gdGhpcy5wcm9qZWN0LnRhc2tzLnRyeUZpbmQoXCJ0ZXN0OndhdGNoXCIpO1xuICAgICAgICBpZiAoIXRlc3RXYXRjaCkge1xuICAgICAgICAgICAgdGhpcy5wcm9qZWN0LmFkZFRhc2soXCJ0ZXN0OndhdGNoXCIsIHtcbiAgICAgICAgICAgICAgICBleGVjOiBcInZpdGVzdCB3YXRjaFwiLFxuICAgICAgICAgICAgICAgIHJlY2VpdmVBcmdzOiB0cnVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0ZXN0VXBkYXRlU25hcHNob3RzID0gdGhpcy5wcm9qZWN0LnRhc2tzLnRyeUZpbmQoXCJ0ZXN0OnVwZGF0ZVwiKTtcbiAgICAgICAgaWYgKCF0ZXN0VXBkYXRlU25hcHNob3RzKSB7XG4gICAgICAgICAgICB0aGlzLnByb2plY3QuYWRkVGFzayhcInRlc3Q6dXBkYXRlXCIsIHtcbiAgICAgICAgICAgICAgICBleGVjOiBcInZpdGVzdCAtLXVwZGF0ZVwiLFxuICAgICAgICAgICAgICAgIHJlY2VpdmVBcmdzOiB0cnVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN5bnRoZXNpemVDb25maWcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvamVjdC50cnlSZW1vdmVGaWxlKHRoaXMuY29uZmlnRmlsZVBhdGgpO1xuXG4gICAgICAgIG5ldyBUZXh0RmlsZSh0aGlzLCB0aGlzLmNvbmZpZ0ZpbGVQYXRoLCB7XG4gICAgICAgICAgICBsaW5lczogdGhpcy5yZW5kZXJDb25maWcoKSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW5kZXJDb25maWcoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IHByb2plY3QgPSB0aGlzLnByb2plY3QgYXMgTm9kZVByb2plY3Q7XG4gICAgICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gcHJvamVjdC5wYWNrYWdlLnBhY2thZ2VOYW1lO1xuICAgICAgICBjb25zdCBkZWZpbmVDb25maWdJbXBvcnQgPVxuICAgICAgICAgICAgcGFja2FnZU5hbWUgPT09IFwiQG5pa292aXJ0YWxhL3Byb2plbi1jb25zdHJ1Y3RzXCJcbiAgICAgICAgICAgICAgICA/ICdpbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiLi9saWIvdml0ZXN0LWRlZmluZS1jb25maWdcIjsnXG4gICAgICAgICAgICAgICAgOiAnaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcIkBuaWtvdmlydGFsYS9wcm9qZW4tY29uc3RydWN0cy9saWIvdml0ZXN0LWRlZmluZS1jb25maWdcIjsnO1xuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBkZWZpbmVDb25maWdJbXBvcnQsXG4gICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgXCJleHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoe1wiLFxuICAgICAgICAgICAgXCIgIHRlc3Q6IHtcIixcbiAgICAgICAgICAgIC4uLnRoaXMucmVuZGVyVGVzdE9wdGlvbnMoKSxcbiAgICAgICAgICAgIFwiICB9LFwiLFxuICAgICAgICAgICAgXCJ9KTtcIixcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbmRlclRlc3RPcHRpb25zKCk6IEFycmF5PHN0cmluZz4ge1xuICAgICAgICBjb25zdCBsaW5lczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgICAgIGxpbmVzLnB1c2goYCAgICBiYWlsOiAke3RoaXMuYmFpbH0sYCk7XG4gICAgICAgIGxpbmVzLnB1c2goXCIgICAgY292ZXJhZ2U6IHtcIik7XG4gICAgICAgIGxpbmVzLnB1c2goYCAgICAgIGVuYWJsZWQ6ICR7dGhpcy5jb3ZlcmFnZUVuYWJsZWR9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgICBwcm92aWRlcjogXCIke3RoaXMuY292ZXJhZ2VQcm92aWRlcn1cIixgKTtcbiAgICAgICAgbGluZXMucHVzaChgICAgICAgcmVwb3J0ZXI6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5jb3ZlcmFnZVJlcG9ydGVycyl9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgICByZXBvcnRzRGlyZWN0b3J5OiBcIiR7dGhpcy5jb3ZlcmFnZURpcmVjdG9yeX1cIixgKTtcbiAgICAgICAgbGluZXMucHVzaChcIiAgICB9LFwiKTtcbiAgICAgICAgbGluZXMucHVzaChgICAgIGVudmlyb25tZW50OiBcIiR7dGhpcy5lbnZpcm9ubWVudH1cIixgKTtcbiAgICAgICAgbGluZXMucHVzaChgICAgIGV4Y2x1ZGU6ICR7SlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbSh0aGlzLmV4Y2x1ZGUpKX0sYCk7XG4gICAgICAgIGxpbmVzLnB1c2goYCAgICBnbG9iYWxzOiAke3RoaXMuZ2xvYmFsc30sYCk7XG4gICAgICAgIGxpbmVzLnB1c2goYCAgICBpbmNsdWRlOiAke0pTT04uc3RyaW5naWZ5KEFycmF5LmZyb20odGhpcy5pbmNsdWRlKSl9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgaXNvbGF0ZTogJHt0aGlzLmlzb2xhdGV9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgcGFzc1dpdGhOb1Rlc3RzOiAke3RoaXMucGFzc1dpdGhOb1Rlc3RzfSxgKTtcbiAgICAgICAgbGluZXMucHVzaChgICAgIHByaW50Q29uc29sZVRyYWNlOiAke3RoaXMucHJpbnRDb25zb2xlVHJhY2V9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgcG9vbDogXCIke3RoaXMucG9vbH1cIixgKTtcbiAgICAgICAgbGluZXMucHVzaChgICAgIHNsb3dUZXN0VGhyZXNob2xkOiAke3RoaXMuc2xvd1Rlc3RUaHJlc2hvbGR9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKFwiICAgIHR5cGVjaGVjazoge1wiKTtcbiAgICAgICAgbGluZXMucHVzaChgICAgICAgZW5hYmxlZDogJHt0aGlzLnR5cGVjaGVja0VuYWJsZWR9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgICBjaGVja2VyOiBcIiR7dGhpcy50eXBlY2hlY2tDaGVja2VyfVwiLGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgICB0c2NvbmZpZzogXCIke3RoaXMudHlwZWNoZWNrVHNjb25maWd9XCIsYCk7XG4gICAgICAgIGxpbmVzLnB1c2goXCIgICAgfSxcIik7XG4gICAgICAgIGxpbmVzLnB1c2goYCAgICB1cGRhdGU6ICR7dGhpcy51cGRhdGVTbmFwc2hvdHN9LGApO1xuXG4gICAgICAgIHJldHVybiBsaW5lcztcbiAgICB9XG59XG4iXX0=
package/lib/config.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- import { awscdk, cdk, javascript, typescript } from "projen";
2
- import { type VitestOptions } from "./components/vitest";
1
+ import { awscdk, type Component, cdk, javascript, typescript } from "projen";
3
2
  export declare const defaults: {
4
3
  readonly jsiiVersion: string;
5
4
  readonly cdkVersion: string;
@@ -9,7 +8,12 @@ export declare const defaults: {
9
8
  readonly authorAddress: "niko.virtala@hey.com";
10
9
  readonly constructsVersion: "10.4.3";
11
10
  };
12
- export declare function applyDefaultConfig(project: awscdk.AwsCdkTypeScriptApp | awscdk.AwsCdkConstructLibrary | typescript.TypeScriptProject | cdk.JsiiProject, vitest?: boolean, vitestOptions?: VitestOptions, mise?: boolean): void;
11
+ interface ComponentConfig {
12
+ component: new (project: never, options?: never) => Component;
13
+ enabled?: boolean;
14
+ options?: unknown;
15
+ }
16
+ export declare function applyDefaults(project: awscdk.AwsCdkTypeScriptApp | awscdk.AwsCdkConstructLibrary | typescript.TypeScriptProject | cdk.JsiiProject, components: ComponentConfig[]): void;
13
17
  export declare const projectDefaultOptions: {
14
18
  defaultReleaseBranch: string;
15
19
  minNodeVersion: string;
@@ -73,7 +77,16 @@ export declare const projectDefaultOptions: {
73
77
  };
74
78
  };
75
79
  };
76
- export declare const typescriptProjectDefaultOptions: Partial<typescript.TypeScriptProjectOptions>;
77
- export declare const jsiiProjectDefaultOptions: Partial<cdk.JsiiProjectOptions>;
78
- export declare const cdkAppDefaultOptions: Partial<awscdk.AwsCdkTypeScriptAppOptions>;
79
- export declare const cdkConstructDefaultOptions: Partial<awscdk.AwsCdkConstructLibraryOptions>;
80
+ export declare const defaultOptions: {
81
+ typescript: {
82
+ TypeScriptProject: Partial<typescript.TypeScriptProjectOptions>;
83
+ };
84
+ cdk: {
85
+ JsiiProject: Partial<cdk.JsiiProjectOptions>;
86
+ };
87
+ awscdk: {
88
+ AwsCdkTypeScriptApp: Partial<awscdk.AwsCdkTypeScriptAppOptions>;
89
+ AwsCdkConstructLibrary: Partial<awscdk.AwsCdkConstructLibraryOptions>;
90
+ };
91
+ };
92
+ export {};
package/lib/config.js CHANGED
@@ -1,10 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cdkConstructDefaultOptions = exports.cdkAppDefaultOptions = exports.jsiiProjectDefaultOptions = exports.typescriptProjectDefaultOptions = exports.projectDefaultOptions = exports.defaults = void 0;
4
- exports.applyDefaultConfig = applyDefaultConfig;
3
+ exports.defaultOptions = exports.projectDefaultOptions = exports.defaults = void 0;
4
+ exports.applyDefaults = applyDefaults;
5
5
  const projen_1 = require("projen");
6
- const mise_1 = require("./components/mise");
7
- const vitest_1 = require("./components/vitest");
8
6
  const utils_1 = require("./utils");
9
7
  const versions = require("./versions.json");
10
8
  exports.defaults = {
@@ -16,8 +14,7 @@ exports.defaults = {
16
14
  return `~${this.typescriptVersion}`;
17
15
  },
18
16
  };
19
- function applyDefaultConfig(project, vitest = true, vitestOptions, mise = true) {
20
- const nodeVersion = project.minNodeVersion ?? exports.defaults.minNodeVersion;
17
+ function configureProject(project) {
21
18
  if ((project instanceof projen_1.awscdk.AwsCdkTypeScriptApp || project instanceof projen_1.typescript.TypeScriptProject) &&
22
19
  !(project instanceof projen_1.cdk.JsiiProject) &&
23
20
  !(project instanceof projen_1.awscdk.AwsCdkConstructLibrary)) {
@@ -37,9 +34,6 @@ function applyDefaultConfig(project, vitest = true, vitestOptions, mise = true)
37
34
  "editor.formatOnSave": true,
38
35
  "editor.tabSize": 4,
39
36
  });
40
- if (mise ?? true) {
41
- new mise_1.Mise(project, { nodeVersion });
42
- }
43
37
  if (project instanceof projen_1.cdk.JsiiProject || project instanceof projen_1.awscdk.AwsCdkConstructLibrary) {
44
38
  // use node.js 24.x to get new enough npm to satisfy: trusted publishing requires npm CLI version 11.5.1 or later.
45
39
  project.github
@@ -49,10 +43,18 @@ function applyDefaultConfig(project, vitest = true, vitestOptions, mise = true)
49
43
  }
50
44
  // remove once configured correctly to biome, mise and vitest components
51
45
  project.npmignore?.addPatterns("biome.jsonc", "mise.toml", "vitest.config.ts");
52
- if (vitest ?? true) {
53
- new vitest_1.Vitest(project, vitestOptions);
46
+ }
47
+ function injectComponents(project, components) {
48
+ for (const { component, enabled, options } of components) {
49
+ if (enabled ?? true) {
50
+ new component(project, options);
51
+ }
54
52
  }
55
53
  }
54
+ function applyDefaults(project, components) {
55
+ configureProject(project);
56
+ injectComponents(project, components);
57
+ }
56
58
  exports.projectDefaultOptions = {
57
59
  defaultReleaseBranch: "main",
58
60
  minNodeVersion: exports.defaults.minNodeVersion,
@@ -136,8 +138,18 @@ const cdkDefaultVersionOptions = {
136
138
  cdkVersion: exports.defaults.cdkVersion,
137
139
  constructsVersion: exports.defaults.constructsVersion,
138
140
  };
139
- exports.typescriptProjectDefaultOptions = (0, utils_1.mergeAll)(exports.projectDefaultOptions, esModuleTsconfigOptions);
140
- exports.jsiiProjectDefaultOptions = (0, utils_1.mergeAll)(exports.projectDefaultOptions, publishableProjectDefaultOptions, { jsiiVersion: exports.defaults.jsiiVersion });
141
- exports.cdkAppDefaultOptions = (0, utils_1.mergeAll)(exports.projectDefaultOptions, esModuleTsconfigOptions, cdkDefaultVersionOptions);
142
- exports.cdkConstructDefaultOptions = (0, utils_1.mergeAll)(exports.projectDefaultOptions, publishableProjectDefaultOptions, cdkDefaultVersionOptions);
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFpQkEsZ0RBd0RDO0FBekVELG1DQUF3RTtBQUV4RSw0Q0FBeUM7QUFDekMsZ0RBQWlFO0FBQ2pFLG1DQUFtQztBQUNuQyw0Q0FBNEM7QUFFL0IsUUFBQSxRQUFRLEdBQUc7SUFDcEIsTUFBTSxFQUFFLGNBQWM7SUFDdEIsYUFBYSxFQUFFLHNCQUFzQjtJQUNyQyxpQkFBaUIsRUFBRSxRQUFRO0lBQzNCLEdBQUcsUUFBUTtJQUNYLElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0NBQ0ssQ0FBQztBQUVYLFNBQWdCLGtCQUFrQixDQUM5QixPQUlxQixFQUNyQixTQUFrQixJQUFJLEVBQ3RCLGFBQTZCLEVBQzdCLE9BQWdCLElBQUk7SUFFcEIsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGNBQWMsSUFBSSxnQkFBUSxDQUFDLGNBQWMsQ0FBQztJQUV0RSxJQUNJLENBQUMsT0FBTyxZQUFZLGVBQU0sQ0FBQyxtQkFBbUIsSUFBSSxPQUFPLFlBQVksbUJBQVUsQ0FBQyxpQkFBaUIsQ0FBQztRQUNsRyxDQUFDLENBQUMsT0FBTyxZQUFZLFlBQUcsQ0FBQyxXQUFXLENBQUM7UUFDckMsQ0FBQyxDQUFDLE9BQU8sWUFBWSxlQUFNLENBQUMsc0JBQXNCLENBQUMsRUFDckQsQ0FBQztRQUNDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6QyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDN0Is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QUU3QyxRQUFBLCtCQUErQixHQUFHLElBQUEsZ0JBQVEsRUFDbkQsNkJBQXFCLEVBQ3JCLHVCQUF1QixDQUMxQixDQUFDO0FBRVcsUUFBQSx5QkFBeUIsR0FBRyxJQUFBLGdCQUFRLEVBQzdDLDZCQUFxQixFQUNyQixnQ0FBZ0MsRUFDaEMsRUFBRSxXQUFXLEVBQUUsZ0JBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FDeEMsQ0FBQztBQUVXLFFBQUEsb0JBQW9CLEdBQUcsSUFBQSxnQkFBUSxFQUN4Qyw2QkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixDQUMzQixDQUFDO0FBRVcsUUFBQSwwQkFBMEIsR0FBRyxJQUFBLGdCQUFRLEVBQzlDLDZCQUFxQixFQUNyQixnQ0FBZ0MsRUFDaEMsd0JBQXdCLENBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhd3NjZGssIGNkaywgSnNvblBhdGNoLCBqYXZhc2NyaXB0LCB0eXBlc2NyaXB0IH0gZnJvbSBcInByb2plblwiO1xuaW1wb3J0IHR5cGUgeyBUeXBlU2NyaXB0UHJvamVjdE9wdGlvbnMgfSBmcm9tIFwicHJvamVuL2xpYi90eXBlc2NyaXB0XCI7XG5pbXBvcnQgeyBNaXNlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9taXNlXCI7XG5pbXBvcnQgeyBWaXRlc3QsIHR5cGUgVml0ZXN0T3B0aW9ucyB9IGZyb20gXCIuL2NvbXBvbmVudHMvdml0ZXN0XCI7XG5pbXBvcnQgeyBtZXJnZUFsbCB9IGZyb20gXCIuL3V0aWxzXCI7XG5pbXBvcnQgKiBhcyB2ZXJzaW9ucyBmcm9tIFwiLi92ZXJzaW9ucy5qc29uXCI7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICBhdXRob3I6IFwiTmlrbyBWaXJ0YWxhXCIsXG4gICAgYXV0aG9yQWRkcmVzczogXCJuaWtvLnZpcnRhbGFAaGV5LmNvbVwiLFxuICAgIGNvbnN0cnVjdHNWZXJzaW9uOiBcIjEwLjQuM1wiLFxuICAgIC4uLnZlcnNpb25zLFxuICAgIGdldCBqc2lpVmVyc2lvbigpIHtcbiAgICAgICAgcmV0dXJuIGB+JHt0aGlzLnR5cGVzY3JpcHRWZXJzaW9ufWA7XG4gICAgfSxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseURlZmF1bHRDb25maWcoXG4gICAgcHJvamVjdDpcbiAgICAgICAgfCBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcFxuICAgICAgICB8IGF3c2Nkay5Bd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5XG4gICAgICAgIHwgdHlwZXNjcmlwdC5UeXBlU2NyaXB0UHJvamVjdFxuICAgICAgICB8IGNkay5Kc2lpUHJvamVjdCxcbiAgICB2aXRlc3Q6IGJvb2xlYW4gPSB0cnVlLFxuICAgIHZpdGVzdE9wdGlvbnM/OiBWaXRlc3RPcHRpb25zLFxuICAgIG1pc2U6IGJvb2xlYW4gPSB0cnVlLFxuKSB7XG4gICAgY29uc3Qgbm9kZVZlcnNpb24gPSBwcm9qZWN0Lm1pbk5vZGVWZXJzaW9uID8/IGRlZmF1bHRzLm1pbk5vZGVWZXJzaW9uO1xuXG4gICAgaWYgKFxuICAgICAgICAocHJvamVjdCBpbnN0YW5jZW9mIGF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwIHx8IHByb2plY3QgaW5zdGFuY2VvZiB0eXBlc2NyaXB0LlR5cGVTY3JpcHRQcm9qZWN0KSAmJlxuICAgICAgICAhKHByb2plY3QgaW5zdGFuY2VvZiBjZGsuSnNpaVByb2plY3QpICYmXG4gICAgICAgICEocHJvamVjdCBpbnN0YW5jZW9mIGF3c2Nkay5Bd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5KVxuICAgICkge1xuICAgICAgICBwcm9qZWN0LnBhY2thZ2UuYWRkRmllbGQoXCJ0eXBlXCIsIFwibW9kdWxlXCIpO1xuICAgIH1cblxuICAgIHByb2plY3QuZGVwcy5yZW1vdmVEZXBlbmRlbmN5KFwidHMtbm9kZVwiKTtcbiAgICBwcm9qZWN0LmFkZERldkRlcHMoXCJ0c3hcIik7XG4gICAgcHJvamVjdC5kZWZhdWx0VGFzaz8ucmVzZXQoKTtcbiAgICBwcm9qZWN0LmRlZmF1bHRUYXNrPy5leGVjKGB0c3ggLS10c2NvbmZpZyAke3Byb2plY3QudHNjb25maWdEZXYuZmlsZS5wYXRofSAucHJvamVucmMudHNgKTtcblxuICAgIHByb2plY3QubnBtcmMuYWRkQ29uZmlnKFwibm9kZS1saW5rZXJcIiwgXCJob2lzdGVkXCIpO1xuXG4gICAgcHJvamVjdC52c2NvZGU/LmV4dGVuc2lvbnMuYWRkUmVjb21tZW5kYXRpb25zKFwiYmlvbWVqcy5iaW9tZVwiKTtcbiAgICBwcm9qZWN0LnZzY29kZT8uc2V0dGluZ3MuYWRkU2V0dGluZ3Moe1xuICAgICAgICBcImVkaXRvci5jb2RlQWN0aW9uc09uU2F2ZVwiOiB7XG4gICAgICAgICAgICBcInNvdXJjZS5vcmdhbml6ZUltcG9ydHMuYmlvbWVcIjogXCJhbHdheXNcIixcbiAgICAgICAgfSxcbiAgICAgICAgXCJlZGl0b3IuZGVmYXVsdEZvcm1hdHRlclwiOiBcImJpb21lanMuYmlvbWVcIixcbiAgICAgICAgXCJlZGl0b3IuZm9ybWF0T25TYXZlXCI6IHRydWUsXG4gICAgICAgIFwiZWRpdG9yLnRhYlNpemVcIjogNCxcbiAgICB9KTtcblxuICAgIGlmIChtaXNlID8/IHRydWUpIHtcbiAgICAgICAgbmV3IE1pc2UocHJvamVjdCwgeyBub2RlVmVyc2lvbiB9KTtcbiAgICB9XG5cbiAgICBpZiAocHJvamVjdCBpbnN0YW5jZW9mIGNkay5Kc2lpUHJvamVjdCB8fCBwcm9qZWN0IGluc3RhbmNlb2YgYXdzY2RrLkF3c0Nka0NvbnN0cnVjdExpYnJhcnkpIHtcbiAgICAgICAgLy8gdXNlIG5vZGUuanMgMjQueCB0byBnZXQgbmV3IGVub3VnaCBucG0gdG8gc2F0aXNmeTogdHJ1c3RlZCBwdWJsaXNoaW5nIHJlcXVpcmVzIG5wbSBDTEkgdmVyc2lvbiAxMS41LjEgb3IgbGF0ZXIuXG4gICAgICAgIHByb2plY3QuZ2l0aHViXG4gICAgICAgICAgICA/LnRyeUZpbmRXb3JrZmxvdyhcInJlbGVhc2VcIilcbiAgICAgICAgICAgID8uZmlsZT8ucGF0Y2goSnNvblBhdGNoLnJlcGxhY2UoXCIvam9icy9yZWxlYXNlX25wbS9zdGVwcy8wL3dpdGgvbm9kZS12ZXJzaW9uXCIsIFwiMjQueFwiKSk7XG5cbiAgICAgICAgcHJvamVjdC5wYWNrYWdlLmFkZEZpZWxkKFwicHVibGlzaENvbmZpZ1wiLCB7IGFjY2VzczogXCJwdWJsaWNcIiB9KTtcbiAgICB9XG5cbiAgICAvLyByZW1vdmUgb25jZSBjb25maWd1cmVkIGNvcnJlY3RseSB0byBiaW9tZSwgbWlzZSBhbmQgdml0ZXN0IGNvbXBvbmVudHNcbiAgICBwcm9qZWN0Lm5wbWlnbm9yZT8uYWRkUGF0dGVybnMoXCJiaW9tZS5qc29uY1wiLCBcIm1pc2UudG9tbFwiLCBcInZpdGVzdC5jb25maWcudHNcIik7XG5cbiAgICBpZiAodml0ZXN0ID8/IHRydWUpIHtcbiAgICAgICAgbmV3IFZpdGVzdChwcm9qZWN0LCB2aXRlc3RPcHRpb25zKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBwcm9qZWN0RGVmYXVsdE9wdGlvbnMgPSB7XG4gICAgZGVmYXVsdFJlbGVhc2VCcmFuY2g6IFwibWFpblwiLFxuICAgIG1pbk5vZGVWZXJzaW9uOiBkZWZhdWx0cy5taW5Ob2RlVmVyc2lvbixcbiAgICBhdXRvQXBwcm92ZU9wdGlvbnM6IHtcbiAgICAgICAgc2VjcmV0OiBcIkdJVEhVQl9UT0tFTlwiLFxuICAgICAgICBhbGxvd2VkVXNlcm5hbWVzOiBbXCJuaWtvdmlydGFsYVwiXSxcbiAgICB9LFxuICAgIGRlcGVuZGFib3Q6IGZhbHNlLFxuICAgIGRlcHNVcGdyYWRlT3B0aW9uczoge1xuICAgICAgICB3b3JrZmxvd09wdGlvbnM6IHtcbiAgICAgICAgICAgIGxhYmVsczogW1wiYXV0by1hcHByb3ZlXCIsIFwiYXV0by1tZXJnZVwiXSxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIGdpdGh1YjogdHJ1ZSxcbiAgICBtZXJnaWZ5OiB0cnVlLFxuICAgIGF1dG9NZXJnZTogdHJ1ZSxcbiAgICBqZXN0OiBmYWxzZSxcbiAgICBlc2xpbnQ6IGZhbHNlLFxuICAgIHByZXR0aWVyOiBmYWxzZSxcbiAgICBiaW9tZTogdHJ1ZSxcbiAgICBiaW9tZU9wdGlvbnM6IHtcbiAgICAgICAgYmlvbWVDb25maWc6IHtcbiAgICAgICAgICAgIGZvcm1hdHRlcjoge1xuICAgICAgICAgICAgICAgIGluZGVudFN0eWxlOiBqYXZhc2NyaXB0LmJpb21lX2NvbmZpZy5JbmRlbnRTdHlsZS5TUEFDRSxcbiAgICAgICAgICAgICAgICBpbmRlbnRXaWR0aDogNCxcbiAgICAgICAgICAgICAgICBsaW5lV2lkdGg6IDEyMCxcbiAgICAgICAgICAgICAgICB1c2VFZGl0b3Jjb25maWc6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgZm9ybWF0dGVyOiB0cnVlLFxuICAgICAgICBsaW50ZXI6IHRydWUsXG4gICAgfSxcbiAgICBwYWNrYWdlTWFuYWdlcjogamF2YXNjcmlwdC5Ob2RlUGFja2FnZU1hbmFnZXIuUE5QTSxcbiAgICBwbnBtVmVyc2lvbjogXCIxMFwiLFxuICAgIHByb2plbnJjVHM6IHRydWUsXG4gICAgdHlwZXNjcmlwdFZlcnNpb246IGRlZmF1bHRzLnR5cGVzY3JpcHRWZXJzaW9uLFxuICAgIHRzY29uZmlnOiB7XG4gICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgICAgYWxsb3dTeW50aGV0aWNEZWZhdWx0SW1wb3J0czogdHJ1ZSxcbiAgICAgICAgICAgIGFsd2F5c1N0cmljdDogdHJ1ZSxcbiAgICAgICAgICAgIGRlY2xhcmF0aW9uOiB0cnVlLFxuICAgICAgICAgICAgZXNNb2R1bGVJbnRlcm9wOiB0cnVlLFxuICAgICAgICAgICAgZXhwZXJpbWVudGFsRGVjb3JhdG9yczogdHJ1ZSxcbiAgICAgICAgICAgIGlubGluZVNvdXJjZU1hcDogdHJ1ZSxcbiAgICAgICAgICAgIGlubGluZVNvdXJjZXM6IHRydWUsXG4gICAgICAgICAgICBpc29sYXRlZE1vZHVsZXM6IHRydWUsXG4gICAgICAgICAgICBub0VtaXQ6IHRydWUsXG4gICAgICAgICAgICBub0VtaXRPbkVycm9yOiBmYWxzZSxcbiAgICAgICAgICAgIG5vRmFsbHRocm91Z2hDYXNlc0luU3dpdGNoOiB0cnVlLFxuICAgICAgICAgICAgbm9JbXBsaWNpdEFueTogdHJ1ZSxcbiAgICAgICAgICAgIG5vSW1wbGljaXRPdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgICAgIG5vSW1wbGljaXRSZXR1cm5zOiB0cnVlLFxuICAgICAgICAgICAgbm9JbXBsaWNpdFRoaXM6IHRydWUsXG4gICAgICAgICAgICBub1VudXNlZExvY2FsczogdHJ1ZSxcbiAgICAgICAgICAgIG5vVW51c2VkUGFyYW1ldGVyczogdHJ1ZSxcbiAgICAgICAgICAgIHJlc29sdmVKc29uTW9kdWxlOiB0cnVlLFxuICAgICAgICAgICAgc3RyaWN0OiB0cnVlLFxuICAgICAgICAgICAgc3RyaWN0TnVsbENoZWNrczogdHJ1ZSxcbiAgICAgICAgICAgIHN0cmljdFByb3BlcnR5SW5pdGlhbGl6YXRpb246IHRydWUsXG4gICAgICAgICAgICBzdHJpcEludGVybmFsOiB0cnVlLFxuICAgICAgICB9LFxuICAgIH0sXG59IHNhdGlzZmllcyBQYXJ0aWFsPFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucz47XG5cbmNvbnN0IGVzTW9kdWxlVHNjb25maWdPcHRpb25zID0ge1xuICAgIHRzY29uZmlnOiB7XG4gICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgICAgYWxsb3dJbXBvcnRpbmdUc0V4dGVuc2lvbnM6IHRydWUsXG4gICAgICAgICAgICBsaWI6IFtcImVzbmV4dFwiXSxcbiAgICAgICAgICAgIG1vZHVsZTogXCJub2RlbmV4dFwiLFxuICAgICAgICAgICAgbW9kdWxlUmVzb2x1dGlvbjogamF2YXNjcmlwdC5UeXBlU2NyaXB0TW9kdWxlUmVzb2x1dGlvbi5OT0RFX05FWFQsXG4gICAgICAgICAgICB0YXJnZXQ6IFwiZXNuZXh0XCIsXG4gICAgICAgIH0sXG4gICAgfSxcbn0gc2F0aXNmaWVzIFBhcnRpYWw8VHlwZVNjcmlwdFByb2plY3RPcHRpb25zPjtcblxuY29uc3QgcHVibGlzaGFibGVQcm9qZWN0RGVmYXVsdE9wdGlvbnMgPSB7XG4gICAgYXV0aG9yOiBkZWZhdWx0cy5hdXRob3IsXG4gICAgYXV0aG9yQWRkcmVzczogZGVmYXVsdHMuYXV0aG9yQWRkcmVzcyxcbiAgICBucG1UcnVzdGVkUHVibGlzaGluZzogdHJ1ZSxcbn0gc2F0aXNmaWVzIFBhcnRpYWw8Y2RrLkpzaWlQcm9qZWN0T3B0aW9ucz47XG5cbmNvbnN0IGNka0RlZmF1bHRWZXJzaW9uT3B0aW9ucyA9IHtcbiAgICBjZGtWZXJzaW9uOiBkZWZhdWx0cy5jZGtWZXJzaW9uLFxuICAgIGNvbnN0cnVjdHNWZXJzaW9uOiBkZWZhdWx0cy5jb25zdHJ1Y3RzVmVyc2lvbixcbn0gc2F0aXNmaWVzIFBhcnRpYWw8YXdzY2RrLkF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zPjtcblxuZXhwb3J0IGNvbnN0IHR5cGVzY3JpcHRQcm9qZWN0RGVmYXVsdE9wdGlvbnMgPSBtZXJnZUFsbDx0eXBlc2NyaXB0LlR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucz4oXG4gICAgcHJvamVjdERlZmF1bHRPcHRpb25zLFxuICAgIGVzTW9kdWxlVHNjb25maWdPcHRpb25zLFxuKTtcblxuZXhwb3J0IGNvbnN0IGpzaWlQcm9qZWN0RGVmYXVsdE9wdGlvbnMgPSBtZXJnZUFsbDxjZGsuSnNpaVByb2plY3RPcHRpb25zPihcbiAgICBwcm9qZWN0RGVmYXVsdE9wdGlvbnMsXG4gICAgcHVibGlzaGFibGVQcm9qZWN0RGVmYXVsdE9wdGlvbnMsXG4gICAgeyBqc2lpVmVyc2lvbjogZGVmYXVsdHMuanNpaVZlcnNpb24gfSxcbik7XG5cbmV4cG9ydCBjb25zdCBjZGtBcHBEZWZhdWx0T3B0aW9ucyA9IG1lcmdlQWxsPGF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwT3B0aW9ucz4oXG4gICAgcHJvamVjdERlZmF1bHRPcHRpb25zLFxuICAgIGVzTW9kdWxlVHNjb25maWdPcHRpb25zLFxuICAgIGNka0RlZmF1bHRWZXJzaW9uT3B0aW9ucyxcbik7XG5cbmV4cG9ydCBjb25zdCBjZGtDb25zdHJ1Y3REZWZhdWx0T3B0aW9ucyA9IG1lcmdlQWxsPGF3c2Nkay5Bd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucz4oXG4gICAgcHJvamVjdERlZmF1bHRPcHRpb25zLFxuICAgIHB1Ymxpc2hhYmxlUHJvamVjdERlZmF1bHRPcHRpb25zLFxuICAgIGNka0RlZmF1bHRWZXJzaW9uT3B0aW9ucyxcbik7XG4iXX0=
141
+ exports.defaultOptions = {
142
+ typescript: {
143
+ TypeScriptProject: (0, utils_1.mergeAll)(exports.projectDefaultOptions, esModuleTsconfigOptions),
144
+ },
145
+ cdk: {
146
+ JsiiProject: (0, utils_1.mergeAll)(exports.projectDefaultOptions, publishableProjectDefaultOptions, {
147
+ jsiiVersion: exports.defaults.jsiiVersion,
148
+ }),
149
+ },
150
+ awscdk: {
151
+ AwsCdkTypeScriptApp: (0, utils_1.mergeAll)(exports.projectDefaultOptions, esModuleTsconfigOptions, cdkDefaultVersionOptions),
152
+ AwsCdkConstructLibrary: (0, utils_1.mergeAll)(exports.projectDefaultOptions, publishableProjectDefaultOptions, cdkDefaultVersionOptions),
153
+ },
154
+ };
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFpRkEsc0NBVUM7QUEzRkQsbUNBQXdGO0FBRXhGLG1DQUFtQztBQUNuQyw0Q0FBNEM7QUFFL0IsUUFBQSxRQUFRLEdBQUc7SUFDcEIsTUFBTSxFQUFFLGNBQWM7SUFDdEIsYUFBYSxFQUFFLHNCQUFzQjtJQUNyQyxpQkFBaUIsRUFBRSxRQUFRO0lBQzNCLEdBQUcsUUFBUTtJQUNYLElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0NBQ0ssQ0FBQztBQVFYLFNBQVMsZ0JBQWdCLENBQ3JCLE9BSXFCO0lBRXJCLElBQ0ksQ0FBQyxPQUFPLFlBQVksZUFBTSxDQUFDLG1CQUFtQixJQUFJLE9BQU8sWUFBWSxtQkFBVSxDQUFDLGlCQUFpQixDQUFDO1FBQ2xHLENBQUMsQ0FBQyxPQUFPLFlBQVksWUFBRyxDQUFDLFdBQVcsQ0FBQztRQUNyQyxDQUFDLENBQUMsT0FBTyxZQUFZLGVBQU0sQ0FBQyxzQkFBc0IsQ0FBQyxFQUNyRCxDQUFDO1FBQ0MsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUM3QixPQUFPLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxlQUFlLENBQUMsQ0FBQztJQUUxRixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFbEQsT0FBTyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDL0QsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDO1FBQ2pDLDBCQUEwQixFQUFFO1lBQ3hCLDhCQUE4QixFQUFFLFFBQVE7U0FDM0M7UUFDRCx5QkFBeUIsRUFBRSxlQUFlO1FBQzFDLHFCQUFxQixFQUFFLElBQUk7UUFDM0IsZ0JBQWdCLEVBQUUsQ0FBQztLQUN0QixDQUFDLENBQUM7SUFFSCxJQUFJLE9BQU8sWUFBWSxZQUFHLENBQUMsV0FBVyxJQUFJLE9BQU8sWUFBWSxlQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN6RixrSEFBa0g7UUFDbEgsT0FBTyxDQUFDLE1BQU07WUFDVixFQUFFLGVBQWUsQ0FBQyxTQUFTLENBQUM7WUFDNUIsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLGtCQUFTLENBQUMsT0FBTyxDQUFDLDZDQUE2QyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFFNUYsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELHdFQUF3RTtJQUN4RSxPQUFPLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFDbkYsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQ3JCLE9BSXFCLEVBQ3JCLFVBQTZCO0lBRTdCLEtBQUssTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksVUFBVSxFQUFFLENBQUM7UUFDdkQsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7WUFDbEIsSUFBSSxTQUFTLENBQUMsT0FBZ0IsRUFBRSxPQUFnQixDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNMLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBZ0IsYUFBYSxDQUN6QixPQUlxQixFQUNyQixVQUE2QjtJQUU3QixnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVZLFFBQUEscUJBQXFCLEdBQUc7SUFDakMsb0JBQW9CLEVBQUUsTUFBTTtJQUM1QixjQUFjLEVBQUUsZ0JBQVEsQ0FBQyxjQUFjO0lBQ3ZDLGtCQUFrQixFQUFFO1FBQ2hCLE1BQU0sRUFBRSxjQUFjO1FBQ3RCLGdCQUFnQixFQUFFLENBQUMsYUFBYSxDQUFDO0tBQ3BDO0lBQ0QsVUFBVSxFQUFFLEtBQUs7SUFDakIsa0JBQWtCLEVBQUU7UUFDaEIsZUFBZSxFQUFFO1lBQ2IsTUFBTSxFQUFFLENBQUMsY0FBYyxFQUFFLFlBQVksQ0FBQztTQUN6QztLQUNKO0lBQ0QsTUFBTSxFQUFFLElBQUk7SUFDWixPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxJQUFJO0lBQ2YsSUFBSSxFQUFFLEtBQUs7SUFDWCxNQUFNLEVBQUUsS0FBSztJQUNiLFFBQVEsRUFBRSxLQUFLO0lBQ2YsS0FBSyxFQUFFLElBQUk7SUFDWCxZQUFZLEVBQUU7UUFDVixXQUFXLEVBQUU7WUFDVCxTQUFTLEVBQUU7Z0JBQ1AsV0FBVyxFQUFFLG1CQUFVLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxLQUFLO2dCQUN0RCxXQUFXLEVBQUUsQ0FBQztnQkFDZCxTQUFTLEVBQUUsR0FBRztnQkFDZCxlQUFlLEVBQUUsS0FBSzthQUN6QjtTQUNKO1FBQ0QsU0FBUyxFQUFFLElBQUk7UUFDZixNQUFNLEVBQUUsSUFBSTtLQUNmO0lBQ0QsY0FBYyxFQUFFLG1CQUFVLENBQUMsa0JBQWtCLENBQUMsSUFBSTtJQUNsRCxXQUFXLEVBQUUsSUFBSTtJQUNqQixVQUFVLEVBQUUsSUFBSTtJQUNoQixpQkFBaUIsRUFBRSxnQkFBUSxDQUFDLGlCQUFpQjtJQUM3QyxRQUFRLEVBQUU7UUFDTixlQUFlLEVBQUU7WUFDYiw0QkFBNEIsRUFBRSxJQUFJO1lBQ2xDLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLHNCQUFzQixFQUFFLElBQUk7WUFDNUIsZUFBZSxFQUFFLElBQUk7WUFDckIsYUFBYSxFQUFFLElBQUk7WUFDbkIsZUFBZSxFQUFFLElBQUk7WUFDckIsTUFBTSxFQUFFLElBQUk7WUFDWixhQUFhLEVBQUUsS0FBSztZQUNwQiwwQkFBMEIsRUFBRSxJQUFJO1lBQ2hDLGFBQWEsRUFBRSxJQUFJO1lBQ25CLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixjQUFjLEVBQUUsSUFBSTtZQUNwQixjQUFjLEVBQUUsSUFBSTtZQUNwQixrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsTUFBTSxFQUFFLElBQUk7WUFDWixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLDRCQUE0QixFQUFFLElBQUk7WUFDbEMsYUFBYSxFQUFFLElBQUk7U0FDdEI7S0FDSjtDQUN3QyxDQUFDO0FBRTlDLE1BQU0sdUJBQXVCLEdBQUc7SUFDNUIsUUFBUSxFQUFFO1FBQ04sZUFBZSxFQUFFO1lBQ2IsMEJBQTBCLEVBQUUsSUFBSTtZQUNoQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFDZixNQUFNLEVBQUUsVUFBVTtZQUNsQixnQkFBZ0IsRUFBRSxtQkFBVSxDQUFDLDBCQUEwQixDQUFDLFNBQVM7WUFDakUsTUFBTSxFQUFFLFFBQVE7U0FDbkI7S0FDSjtDQUN3QyxDQUFDO0FBRTlDLE1BQU0sZ0NBQWdDLEdBQUc7SUFDckMsTUFBTSxFQUFFLGdCQUFRLENBQUMsTUFBTTtJQUN2QixhQUFhLEVBQUUsZ0JBQVEsQ0FBQyxhQUFhO0lBQ3JDLG9CQUFvQixFQUFFLElBQUk7Q0FDYSxDQUFDO0FBRTVDLE1BQU0sd0JBQXdCLEdBQUc7SUFDN0IsVUFBVSxFQUFFLGdCQUFRLENBQUMsVUFBVTtJQUMvQixpQkFBaUIsRUFBRSxnQkFBUSxDQUFDLGlCQUFpQjtDQUNRLENBQUM7QUFFN0MsUUFBQSxjQUFjLEdBQUc7SUFDMUIsVUFBVSxFQUFFO1FBQ1IsaUJBQWlCLEVBQUUsSUFBQSxnQkFBUSxFQUN2Qiw2QkFBcUIsRUFDckIsdUJBQXVCLENBQzFCO0tBQ0o7SUFDRCxHQUFHLEVBQUU7UUFDRCxXQUFXLEVBQUUsSUFBQSxnQkFBUSxFQUF5Qiw2QkFBcUIsRUFBRSxnQ0FBZ0MsRUFBRTtZQUNuRyxXQUFXLEVBQUUsZ0JBQVEsQ0FBQyxXQUFXO1NBQ3BDLENBQUM7S0FDTDtJQUNELE1BQU0sRUFBRTtRQUNKLG1CQUFtQixFQUFFLElBQUEsZ0JBQVEsRUFDekIsNkJBQXFCLEVBQ3JCLHVCQUF1QixFQUN2Qix3QkFBd0IsQ0FDM0I7UUFDRCxzQkFBc0IsRUFBRSxJQUFBLGdCQUFRLEVBQzVCLDZCQUFxQixFQUNyQixnQ0FBZ0MsRUFDaEMsd0JBQXdCLENBQzNCO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzY2RrLCB0eXBlIENvbXBvbmVudCwgY2RrLCBKc29uUGF0Y2gsIGphdmFzY3JpcHQsIHR5cGVzY3JpcHQgfSBmcm9tIFwicHJvamVuXCI7XG5pbXBvcnQgdHlwZSB7IFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyB9IGZyb20gXCJwcm9qZW4vbGliL3R5cGVzY3JpcHRcIjtcbmltcG9ydCB7IG1lcmdlQWxsIH0gZnJvbSBcIi4vdXRpbHNcIjtcbmltcG9ydCAqIGFzIHZlcnNpb25zIGZyb20gXCIuL3ZlcnNpb25zLmpzb25cIjtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRzID0ge1xuICAgIGF1dGhvcjogXCJOaWtvIFZpcnRhbGFcIixcbiAgICBhdXRob3JBZGRyZXNzOiBcIm5pa28udmlydGFsYUBoZXkuY29tXCIsXG4gICAgY29uc3RydWN0c1ZlcnNpb246IFwiMTAuNC4zXCIsXG4gICAgLi4udmVyc2lvbnMsXG4gICAgZ2V0IGpzaWlWZXJzaW9uKCkge1xuICAgICAgICByZXR1cm4gYH4ke3RoaXMudHlwZXNjcmlwdFZlcnNpb259YDtcbiAgICB9LFxufSBhcyBjb25zdDtcblxuaW50ZXJmYWNlIENvbXBvbmVudENvbmZpZyB7XG4gICAgY29tcG9uZW50OiBuZXcgKHByb2plY3Q6IG5ldmVyLCBvcHRpb25zPzogbmV2ZXIpID0+IENvbXBvbmVudDtcbiAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICBvcHRpb25zPzogdW5rbm93bjtcbn1cblxuZnVuY3Rpb24gY29uZmlndXJlUHJvamVjdChcbiAgICBwcm9qZWN0OlxuICAgICAgICB8IGF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwXG4gICAgICAgIHwgYXdzY2RrLkF3c0Nka0NvbnN0cnVjdExpYnJhcnlcbiAgICAgICAgfCB0eXBlc2NyaXB0LlR5cGVTY3JpcHRQcm9qZWN0XG4gICAgICAgIHwgY2RrLkpzaWlQcm9qZWN0LFxuKSB7XG4gICAgaWYgKFxuICAgICAgICAocHJvamVjdCBpbnN0YW5jZW9mIGF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwIHx8IHByb2plY3QgaW5zdGFuY2VvZiB0eXBlc2NyaXB0LlR5cGVTY3JpcHRQcm9qZWN0KSAmJlxuICAgICAgICAhKHByb2plY3QgaW5zdGFuY2VvZiBjZGsuSnNpaVByb2plY3QpICYmXG4gICAgICAgICEocHJvamVjdCBpbnN0YW5jZW9mIGF3c2Nkay5Bd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5KVxuICAgICkge1xuICAgICAgICBwcm9qZWN0LnBhY2thZ2UuYWRkRmllbGQoXCJ0eXBlXCIsIFwibW9kdWxlXCIpO1xuICAgIH1cblxuICAgIHByb2plY3QuZGVwcy5yZW1vdmVEZXBlbmRlbmN5KFwidHMtbm9kZVwiKTtcbiAgICBwcm9qZWN0LmFkZERldkRlcHMoXCJ0c3hcIik7XG4gICAgcHJvamVjdC5kZWZhdWx0VGFzaz8ucmVzZXQoKTtcbiAgICBwcm9qZWN0LmRlZmF1bHRUYXNrPy5leGVjKGB0c3ggLS10c2NvbmZpZyAke3Byb2plY3QudHNjb25maWdEZXYuZmlsZS5wYXRofSAucHJvamVucmMudHNgKTtcblxuICAgIHByb2plY3QubnBtcmMuYWRkQ29uZmlnKFwibm9kZS1saW5rZXJcIiwgXCJob2lzdGVkXCIpO1xuXG4gICAgcHJvamVjdC52c2NvZGU/LmV4dGVuc2lvbnMuYWRkUmVjb21tZW5kYXRpb25zKFwiYmlvbWVqcy5iaW9tZVwiKTtcbiAgICBwcm9qZWN0LnZzY29kZT8uc2V0dGluZ3MuYWRkU2V0dGluZ3Moe1xuICAgICAgICBcImVkaXRvci5jb2RlQWN0aW9uc09uU2F2ZVwiOiB7XG4gICAgICAgICAgICBcInNvdXJjZS5vcmdhbml6ZUltcG9ydHMuYmlvbWVcIjogXCJhbHdheXNcIixcbiAgICAgICAgfSxcbiAgICAgICAgXCJlZGl0b3IuZGVmYXVsdEZvcm1hdHRlclwiOiBcImJpb21lanMuYmlvbWVcIixcbiAgICAgICAgXCJlZGl0b3IuZm9ybWF0T25TYXZlXCI6IHRydWUsXG4gICAgICAgIFwiZWRpdG9yLnRhYlNpemVcIjogNCxcbiAgICB9KTtcblxuICAgIGlmIChwcm9qZWN0IGluc3RhbmNlb2YgY2RrLkpzaWlQcm9qZWN0IHx8IHByb2plY3QgaW5zdGFuY2VvZiBhd3NjZGsuQXdzQ2RrQ29uc3RydWN0TGlicmFyeSkge1xuICAgICAgICAvLyB1c2Ugbm9kZS5qcyAyNC54IHRvIGdldCBuZXcgZW5vdWdoIG5wbSB0byBzYXRpc2Z5OiB0cnVzdGVkIHB1Ymxpc2hpbmcgcmVxdWlyZXMgbnBtIENMSSB2ZXJzaW9uIDExLjUuMSBvciBsYXRlci5cbiAgICAgICAgcHJvamVjdC5naXRodWJcbiAgICAgICAgICAgID8udHJ5RmluZFdvcmtmbG93KFwicmVsZWFzZVwiKVxuICAgICAgICAgICAgPy5maWxlPy5wYXRjaChKc29uUGF0Y2gucmVwbGFjZShcIi9qb2JzL3JlbGVhc2VfbnBtL3N0ZXBzLzAvd2l0aC9ub2RlLXZlcnNpb25cIiwgXCIyNC54XCIpKTtcblxuICAgICAgICBwcm9qZWN0LnBhY2thZ2UuYWRkRmllbGQoXCJwdWJsaXNoQ29uZmlnXCIsIHsgYWNjZXNzOiBcInB1YmxpY1wiIH0pO1xuICAgIH1cblxuICAgIC8vIHJlbW92ZSBvbmNlIGNvbmZpZ3VyZWQgY29ycmVjdGx5IHRvIGJpb21lLCBtaXNlIGFuZCB2aXRlc3QgY29tcG9uZW50c1xuICAgIHByb2plY3QubnBtaWdub3JlPy5hZGRQYXR0ZXJucyhcImJpb21lLmpzb25jXCIsIFwibWlzZS50b21sXCIsIFwidml0ZXN0LmNvbmZpZy50c1wiKTtcbn1cblxuZnVuY3Rpb24gaW5qZWN0Q29tcG9uZW50cyhcbiAgICBwcm9qZWN0OlxuICAgICAgICB8IGF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwXG4gICAgICAgIHwgYXdzY2RrLkF3c0Nka0NvbnN0cnVjdExpYnJhcnlcbiAgICAgICAgfCB0eXBlc2NyaXB0LlR5cGVTY3JpcHRQcm9qZWN0XG4gICAgICAgIHwgY2RrLkpzaWlQcm9qZWN0LFxuICAgIGNvbXBvbmVudHM6IENvbXBvbmVudENvbmZpZ1tdLFxuKSB7XG4gICAgZm9yIChjb25zdCB7IGNvbXBvbmVudCwgZW5hYmxlZCwgb3B0aW9ucyB9IG9mIGNvbXBvbmVudHMpIHtcbiAgICAgICAgaWYgKGVuYWJsZWQgPz8gdHJ1ZSkge1xuICAgICAgICAgICAgbmV3IGNvbXBvbmVudChwcm9qZWN0IGFzIG5ldmVyLCBvcHRpb25zIGFzIG5ldmVyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5RGVmYXVsdHMoXG4gICAgcHJvamVjdDpcbiAgICAgICAgfCBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcFxuICAgICAgICB8IGF3c2Nkay5Bd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5XG4gICAgICAgIHwgdHlwZXNjcmlwdC5UeXBlU2NyaXB0UHJvamVjdFxuICAgICAgICB8IGNkay5Kc2lpUHJvamVjdCxcbiAgICBjb21wb25lbnRzOiBDb21wb25lbnRDb25maWdbXSxcbikge1xuICAgIGNvbmZpZ3VyZVByb2plY3QocHJvamVjdCk7XG4gICAgaW5qZWN0Q29tcG9uZW50cyhwcm9qZWN0LCBjb21wb25lbnRzKTtcbn1cblxuZXhwb3J0IGNvbnN0IHByb2plY3REZWZhdWx0T3B0aW9ucyA9IHtcbiAgICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogXCJtYWluXCIsXG4gICAgbWluTm9kZVZlcnNpb246IGRlZmF1bHRzLm1pbk5vZGVWZXJzaW9uLFxuICAgIGF1dG9BcHByb3ZlT3B0aW9uczoge1xuICAgICAgICBzZWNyZXQ6IFwiR0lUSFVCX1RPS0VOXCIsXG4gICAgICAgIGFsbG93ZWRVc2VybmFtZXM6IFtcIm5pa292aXJ0YWxhXCJdLFxuICAgIH0sXG4gICAgZGVwZW5kYWJvdDogZmFsc2UsXG4gICAgZGVwc1VwZ3JhZGVPcHRpb25zOiB7XG4gICAgICAgIHdvcmtmbG93T3B0aW9uczoge1xuICAgICAgICAgICAgbGFiZWxzOiBbXCJhdXRvLWFwcHJvdmVcIiwgXCJhdXRvLW1lcmdlXCJdLFxuICAgICAgICB9LFxuICAgIH0sXG4gICAgZ2l0aHViOiB0cnVlLFxuICAgIG1lcmdpZnk6IHRydWUsXG4gICAgYXV0b01lcmdlOiB0cnVlLFxuICAgIGplc3Q6IGZhbHNlLFxuICAgIGVzbGludDogZmFsc2UsXG4gICAgcHJldHRpZXI6IGZhbHNlLFxuICAgIGJpb21lOiB0cnVlLFxuICAgIGJpb21lT3B0aW9uczoge1xuICAgICAgICBiaW9tZUNvbmZpZzoge1xuICAgICAgICAgICAgZm9ybWF0dGVyOiB7XG4gICAgICAgICAgICAgICAgaW5kZW50U3R5bGU6IGphdmFzY3JpcHQuYmlvbWVfY29uZmlnLkluZGVudFN0eWxlLlNQQUNFLFxuICAgICAgICAgICAgICAgIGluZGVudFdpZHRoOiA0LFxuICAgICAgICAgICAgICAgIGxpbmVXaWR0aDogMTIwLFxuICAgICAgICAgICAgICAgIHVzZUVkaXRvcmNvbmZpZzogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBmb3JtYXR0ZXI6IHRydWUsXG4gICAgICAgIGxpbnRlcjogdHJ1ZSxcbiAgICB9LFxuICAgIHBhY2thZ2VNYW5hZ2VyOiBqYXZhc2NyaXB0Lk5vZGVQYWNrYWdlTWFuYWdlci5QTlBNLFxuICAgIHBucG1WZXJzaW9uOiBcIjEwXCIsXG4gICAgcHJvamVucmNUczogdHJ1ZSxcbiAgICB0eXBlc2NyaXB0VmVyc2lvbjogZGVmYXVsdHMudHlwZXNjcmlwdFZlcnNpb24sXG4gICAgdHNjb25maWc6IHtcbiAgICAgICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAgICAgICBhbGxvd1N5bnRoZXRpY0RlZmF1bHRJbXBvcnRzOiB0cnVlLFxuICAgICAgICAgICAgYWx3YXlzU3RyaWN0OiB0cnVlLFxuICAgICAgICAgICAgZGVjbGFyYXRpb246IHRydWUsXG4gICAgICAgICAgICBlc01vZHVsZUludGVyb3A6IHRydWUsXG4gICAgICAgICAgICBleHBlcmltZW50YWxEZWNvcmF0b3JzOiB0cnVlLFxuICAgICAgICAgICAgaW5saW5lU291cmNlTWFwOiB0cnVlLFxuICAgICAgICAgICAgaW5saW5lU291cmNlczogdHJ1ZSxcbiAgICAgICAgICAgIGlzb2xhdGVkTW9kdWxlczogdHJ1ZSxcbiAgICAgICAgICAgIG5vRW1pdDogdHJ1ZSxcbiAgICAgICAgICAgIG5vRW1pdE9uRXJyb3I6IGZhbHNlLFxuICAgICAgICAgICAgbm9GYWxsdGhyb3VnaENhc2VzSW5Td2l0Y2g6IHRydWUsXG4gICAgICAgICAgICBub0ltcGxpY2l0QW55OiB0cnVlLFxuICAgICAgICAgICAgbm9JbXBsaWNpdE92ZXJyaWRlOiB0cnVlLFxuICAgICAgICAgICAgbm9JbXBsaWNpdFJldHVybnM6IHRydWUsXG4gICAgICAgICAgICBub0ltcGxpY2l0VGhpczogdHJ1ZSxcbiAgICAgICAgICAgIG5vVW51c2VkTG9jYWxzOiB0cnVlLFxuICAgICAgICAgICAgbm9VbnVzZWRQYXJhbWV0ZXJzOiB0cnVlLFxuICAgICAgICAgICAgcmVzb2x2ZUpzb25Nb2R1bGU6IHRydWUsXG4gICAgICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgICAgICBzdHJpY3ROdWxsQ2hlY2tzOiB0cnVlLFxuICAgICAgICAgICAgc3RyaWN0UHJvcGVydHlJbml0aWFsaXphdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIHN0cmlwSW50ZXJuYWw6IHRydWUsXG4gICAgICAgIH0sXG4gICAgfSxcbn0gc2F0aXNmaWVzIFBhcnRpYWw8VHlwZVNjcmlwdFByb2plY3RPcHRpb25zPjtcblxuY29uc3QgZXNNb2R1bGVUc2NvbmZpZ09wdGlvbnMgPSB7XG4gICAgdHNjb25maWc6IHtcbiAgICAgICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAgICAgICBhbGxvd0ltcG9ydGluZ1RzRXh0ZW5zaW9uczogdHJ1ZSxcbiAgICAgICAgICAgIGxpYjogW1wiZXNuZXh0XCJdLFxuICAgICAgICAgICAgbW9kdWxlOiBcIm5vZGVuZXh0XCIsXG4gICAgICAgICAgICBtb2R1bGVSZXNvbHV0aW9uOiBqYXZhc2NyaXB0LlR5cGVTY3JpcHRNb2R1bGVSZXNvbHV0aW9uLk5PREVfTkVYVCxcbiAgICAgICAgICAgIHRhcmdldDogXCJlc25leHRcIixcbiAgICAgICAgfSxcbiAgICB9LFxufSBzYXRpc2ZpZXMgUGFydGlhbDxUeXBlU2NyaXB0UHJvamVjdE9wdGlvbnM+O1xuXG5jb25zdCBwdWJsaXNoYWJsZVByb2plY3REZWZhdWx0T3B0aW9ucyA9IHtcbiAgICBhdXRob3I6IGRlZmF1bHRzLmF1dGhvcixcbiAgICBhdXRob3JBZGRyZXNzOiBkZWZhdWx0cy5hdXRob3JBZGRyZXNzLFxuICAgIG5wbVRydXN0ZWRQdWJsaXNoaW5nOiB0cnVlLFxufSBzYXRpc2ZpZXMgUGFydGlhbDxjZGsuSnNpaVByb2plY3RPcHRpb25zPjtcblxuY29uc3QgY2RrRGVmYXVsdFZlcnNpb25PcHRpb25zID0ge1xuICAgIGNka1ZlcnNpb246IGRlZmF1bHRzLmNka1ZlcnNpb24sXG4gICAgY29uc3RydWN0c1ZlcnNpb246IGRlZmF1bHRzLmNvbnN0cnVjdHNWZXJzaW9uLFxufSBzYXRpc2ZpZXMgUGFydGlhbDxhd3NjZGsuQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnM+O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdE9wdGlvbnMgPSB7XG4gICAgdHlwZXNjcmlwdDoge1xuICAgICAgICBUeXBlU2NyaXB0UHJvamVjdDogbWVyZ2VBbGw8dHlwZXNjcmlwdC5UeXBlU2NyaXB0UHJvamVjdE9wdGlvbnM+KFxuICAgICAgICAgICAgcHJvamVjdERlZmF1bHRPcHRpb25zLFxuICAgICAgICAgICAgZXNNb2R1bGVUc2NvbmZpZ09wdGlvbnMsXG4gICAgICAgICksXG4gICAgfSxcbiAgICBjZGs6IHtcbiAgICAgICAgSnNpaVByb2plY3Q6IG1lcmdlQWxsPGNkay5Kc2lpUHJvamVjdE9wdGlvbnM+KHByb2plY3REZWZhdWx0T3B0aW9ucywgcHVibGlzaGFibGVQcm9qZWN0RGVmYXVsdE9wdGlvbnMsIHtcbiAgICAgICAgICAgIGpzaWlWZXJzaW9uOiBkZWZhdWx0cy5qc2lpVmVyc2lvbixcbiAgICAgICAgfSksXG4gICAgfSxcbiAgICBhd3NjZGs6IHtcbiAgICAgICAgQXdzQ2RrVHlwZVNjcmlwdEFwcDogbWVyZ2VBbGw8YXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zPihcbiAgICAgICAgICAgIHByb2plY3REZWZhdWx0T3B0aW9ucyxcbiAgICAgICAgICAgIGVzTW9kdWxlVHNjb25maWdPcHRpb25zLFxuICAgICAgICAgICAgY2RrRGVmYXVsdFZlcnNpb25PcHRpb25zLFxuICAgICAgICApLFxuICAgICAgICBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5OiBtZXJnZUFsbDxhd3NjZGsuQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnM+KFxuICAgICAgICAgICAgcHJvamVjdERlZmF1bHRPcHRpb25zLFxuICAgICAgICAgICAgcHVibGlzaGFibGVQcm9qZWN0RGVmYXVsdE9wdGlvbnMsXG4gICAgICAgICAgICBjZGtEZWZhdWx0VmVyc2lvbk9wdGlvbnMsXG4gICAgICAgICksXG4gICAgfSxcbn07XG4iXX0=
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Error thrown when attempting to decrease indent level below zero in CodeBuffer
3
+ */
4
+ export declare class InvalidIndentLevelError extends Error {
5
+ constructor();
6
+ }
7
+ /**
8
+ * Error thrown when base class format is invalid
9
+ */
10
+ export declare class InvalidBaseClassFormatError extends Error {
11
+ readonly baseClass: string;
12
+ constructor(baseClass: string);
13
+ }
14
+ /**
15
+ * Error thrown when file path is invalid or missing directory separator
16
+ */
17
+ export declare class InvalidFilePathError extends Error {
18
+ readonly filePath: string;
19
+ constructor(filePath: string);
20
+ }