projen-cdktf-hybrid-construct 0.8.7 → 0.9.1

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 CHANGED
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "constructs": "^10.4.2",
15
- "projen": ">= 0.85.0"
15
+ "projen": ">= 0.88.0"
16
16
  },
17
17
  "dependencyClosure": {
18
18
  "constructs": {
@@ -97,7 +97,7 @@
97
97
  },
98
98
  "name": "projen-cdktf-hybrid-construct",
99
99
  "readme": {
100
- "markdown": "# Projen-CDKTF-Hybrid-Construct\n\n![Status: Tech Preview](https://img.shields.io/badge/status-experimental-EAAA32) [![Releases](https://img.shields.io/github/release/cdktf/projen-cdktf-hybrid-construct.svg)](https://github.com/cdktf/projen-cdktf-hybrid-construct/releases)\n[![LICENSE](https://img.shields.io/github/license/cdktf/projen-cdktf-hybrid-construct.svg)](https://github.com/cdktf/projen-cdktf-hybrid-construct/blob/main/LICENSE)\n[![build](https://github.com/cdktf/projen-cdktf-hybrid-construct/actions/workflows/build.yml/badge.svg)](https://github.com/cdktf/projen-cdktf-hybrid-construct/actions/workflows/build.yml)\n\nProjen template for CDKTF Constructs that should also be used as Terraform Modules and for republishing Terraform Modules as Constructs.\n\n_projen-cdktf-hybrid-construct_ is in technical preview, which means it's a community supported project. It still requires extensive testing and polishing to mature into a HashiCorp officially supported project. Please [file issues](https://github.com/cdktf/projen-cdktf-hybrid-construct/issues/new/choose) generously and detail your experience while using the library. We welcome your feedback.\n\nBy using the software in this repository, you acknowledge that:\n* _projen-cdktf-hybrid-construct_ is still in development, may change, and has not been released as a commercial product by HashiCorp and is not currently supported in any way by HashiCorp.\n* _projen-cdktf-hybrid-construct_ is provided on an \"as-is\" basis, and may include bugs, errors, or other issues.\n* _projen-cdktf-hybrid-construct_ is NOT INTENDED FOR PRODUCTION USE, use of the Software may result in unexpected results, loss of data, or other unexpected results, and HashiCorp disclaims any and all liability resulting from use of _projen-cdktf-hybrid-construct_.\n* HashiCorp reserves all rights to make all decisions about the features, functionality and commercial release (or non-release) of _projen-cdktf-hybrid-construct_, at any time and without any obligation or liability whatsoever.\n\n## Compatibility\n\n- `cdktf` >= 0.20.0\n- `constructs` >= 10.4.2\n- `projen` >= 0.85.0\n\n## Usage\n\n### `HybridModule`\n\nIf you want to write a CDKTF construct and also publish it as a Terraform Module you can use the `HybridModule` template.\n\nYou can initialize such a project using `npx projen new --from projen-cdktf-hybrid-construct hybrid-module`.\n\nA configuration might look like this:\n\n```js\nconst { HybridModule } = require(\"projen-cdktf-hybrid-construct\");\n\nconst project = new HybridModule({\n // The name of the module & repository need to start with terraform-cdk-\n name: \"terraform-cdk-my-new-hybrid-construct\",\n repositoryUrl:\n \"github.com/DanielMSchmidt/terraform-cdk-my-new-hybrid-construct\",\n\n author: \"Daniel Schmidt\",\n authorAddress: \"danielmschmidt92@gmail.com\",\n\n // If enabled an example folder with terraform code will be created\n terraformExamples: {\n enabled: true,\n folder: \"terraform\",\n // The configuration to add to the example terraform file\n providerConfig: `\n terraform {\n required_providers {\n aws = {\n source = \"hashicorp/aws\"\n version = \"~> 3.74\"\n }\n }\n # Terraform binary version constraint\n required_version = \">= 1.2.0\"\n }\n\n\n provider \"aws\" {\n region = \"eu-central-1\"\n }\n `,\n },\n\n // If enabled a constructs example folder will be created\n constructExamples: {\n enabled: true,\n folder: \"construct-examples\",\n },\n});\nproject.synth();\n```\n\n### `TerraformModule`\n\nIf you want to republish an existing Terraform module as a CDKTF construct or if you want to repackage them with an easier to use API you can use the `TerraformModule` template.\n\nYou can initialize such a project using `npx projen new --from projen-cdktf-hybrid-construct terraform-module`.\n\nA configutation might look like this:\n\n```js\nconst { TerraformModule } = require(\"projen-cdktf-hybrid-construct\");\n\nconst project = new TerraformModule({\n name: \"my-module\",\n author: \"Daniel Schmidt\",\n authorAddress: \"danielmschmidt92@gmail.com\",\n repositoryUrl: \"github.com/DanielMSchmidt/my-module\",\n\n terraformModules: [\n {\n name: \"eks\",\n source: \"terraform-aws-modules/eks/aws\",\n version: \"~> 18.0\",\n },\n {\n name: \"eks-managed-nodegroup\",\n source: \"terraform-aws-modules/eks/aws//modules/eks-managed-node-group\",\n version: \"~> 18.0\",\n },\n ],\n});\n\nproject.synth();\n```\n\n## Publishing\n\n### Open Source\n\nWe have a helper method for easy configuration, but there are still some manual steps required.\n\n```js\nconst {\n HybridModule,\n publishToRegistries,\n} = require(\"projen-cdktf-hybrid-construct\");\n\nconst project = new HybridModule({\n // ... all the other options\n ...publishToRegistries({\n name: \"my-new-hybrid-construct\",\n namespace: \"my-org\",\n registries: [\"npm\", \"pypi\", \"nuget\", \"maven\"],\n }),\n});\n```\n\n#### Terraform\n\n1. [Sign in at the registry](https://registry.terraform.io/sign-in)\n2. [Select your repository](https://registry.terraform.io/github/create) and create the module\n\nPlease make sure your repository name starts with `terraform-cdk-`.\n\n#### npm (Typescript)\n\n1. Create an account at [npmjs.com](https://npmjs.com/)\n2. Create an [automation token](https://docs.npmjs.com/creating-and-viewing-access-tokens) on npm\n3. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `NPM_TOKEN` and the value of the token\n\n#### pypi (Python)\n\n1. Create an account at [pypi.org](https://pypi.org/)\n2. Create an [API token](https://pypi.org/help/#apitoken) on pypi\n3. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `TWINE_USERNAME` and the value `__token__` and a second one with the name `TWINE_PASSWORD` and the value of the token\n4. Set the `publishToPypi` section in the options of `HybridModule` or `TerraformModule` (or use the helper mentioned above)\n\n```js\nconst name = \"name-of-my-hybrid-construct\";\nnew HybridModule({\n name,\n // ... other options\n publishToPypi: {\n distName: name,\n module: name.replace(/-/g, \"_\"),\n },\n});\n```\n\n#### Maven (Java)\n\n1. [Create a Sonatype account and repository](https://central.sonatype.org/publish/publish-guide/#introduction)\n2. Create [GitHub Action Secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) to configure maven:\n - `MAVEN_USERNAME`\n - `MAVEN_PASSWORD`\n - `MAVEN_STAGING_PROFILE_ID`\n - `MAVEN_GPG_PRIVATE_KEY_PASSPHRASE`\n - `MAVEN_GPG_PRIVATE_KEY_PASSPHRASE`\n3. Setup the `publishToMaven` section in the options of `HybridModule` or `TerraformModule` (or use the helper mentioned above)\n\n```js\nconst githubNamespace = \"my-org\";\nconst name = \"name-of-my-hybrid-construct\";\nnew HybridModule({\n name,\n // ... other options\n publishToMaven: {\n javaPackage: name.replace(/-/g, \"_\"),\n mavenGroupId: `com.${githubNamespace}`,\n mavenArtifactId: name,\n },\n});\n```\n\n#### NuGet (C#)\n\n1. [Create a NuGet account](https://www.nuget.org/users/account/LogOn) (you might need to create a Microsoft Account if you don't have one)\n2. [Create API keys](https://docs.microsoft.com/en-us/nuget/nuget-org/publish-a-package#create-api-keys)\n3. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `NUGET_API_KEY` and the value of the token\n4. Setup the `publishToNuget` section in the options of `HybridModule` or `TerraformModule` (or use the helper mentioned above)\n\n```js\nconst githubNamespace = \"my-org\";\nconst name = \"name-of-my-hybrid-construct\";\n\nnew HybridModule({\n name,\n // ... other options\n publishToNuget: {\n dotNetNamespace: `MyOrg.NameOfMyHybridConstruct`,\n packageId: `MyOrg.NameOfMyHybridConstruct`,\n },\n});\n```\n\n### Github Packages\n\nWe have a helper method for easy configuration, no extra steps needed:\n\n```js\nconst {\n HybridModule,\n publishToGithubPackages,\n} = require(\"projen-cdktf-hybrid-construct\");\n\nconst project = new HybridModule({\n // ... all the other options\n ...publishToGithubPackages({\n name: \"my-new-hybrid-construct\",\n namespace: \"my-org\",\n registries: [\"npm\", \"maven\"], // pypi and nuget are not yet supported\n }),\n});\n```\n\n### Artifactory\n\nWe have a helper method for easy configuration, but there are also some manual steps required.\n\n```js\nconst {\n HybridModule,\n publishToGithubPackages,\n} = require(\"projen-cdktf-hybrid-construct\");\n\nconst project = new HybridModule({\n // ... all the other options\n ...publishToGithubPackages({\n name: \"my-new-hybrid-construct\",\n namespace: \"my-org\",\n registries: [\"npm\", \"pypi\", \"nuget\"], // maven is currently not supported, PRs welcome\n artifactoryApiUrl: \"https://artifactory.my-org.com/api/\",\n artifactoryRepository: \"my-repo\", // needs to be the same across all registries, defaults to namespace so \"my-org\" in this case\n }),\n});\n```\n\n#### Terraform\n\nYou can find more information about publishing Terraform Modules to Artifactory [here](https://www.jfrog.com/confluence/display/JFROG/Terraform+Registry#TerraformRegistry-SettingupaLocalModule/ProviderRegistry).\n\n#### npm (Typescript)\n\n1. [Create a virtual npm registry](https://www.jfrog.com/confluence/display/JFROG/npm+Registry#npmRegistry-VirtualnpmRegistry)\n2. [Authenticate against artifactory to get a token](https://www.jfrog.com/confluence/display/JFROG/npm+Registry#npmRegistry-AuthenticatingthenpmClient)\n3. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `NPM_TOKEN` and the value of the token\n\n#### pypi (Python)\n\n1. Create a [local repository](https://www.jfrog.com/confluence/display/JFROG/PyPI+Repositories#PyPIRepositories-LocalRepositories)\n2. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `TWINE_USERNAME` and the artifactory user name and a second one with the name `TWINE_PASSWORD` and the artifactory password\n"
100
+ "markdown": "# Projen-CDKTF-Hybrid-Construct\n\n![Status: Tech Preview](https://img.shields.io/badge/status-experimental-EAAA32) [![Releases](https://img.shields.io/github/release/cdktf/projen-cdktf-hybrid-construct.svg)](https://github.com/cdktf/projen-cdktf-hybrid-construct/releases)\n[![LICENSE](https://img.shields.io/github/license/cdktf/projen-cdktf-hybrid-construct.svg)](https://github.com/cdktf/projen-cdktf-hybrid-construct/blob/main/LICENSE)\n[![build](https://github.com/cdktf/projen-cdktf-hybrid-construct/actions/workflows/build.yml/badge.svg)](https://github.com/cdktf/projen-cdktf-hybrid-construct/actions/workflows/build.yml)\n\nProjen template for CDKTF Constructs that should also be used as Terraform Modules and for republishing Terraform Modules as Constructs.\n\n_projen-cdktf-hybrid-construct_ is in technical preview, which means it's a community supported project. It still requires extensive testing and polishing to mature into a HashiCorp officially supported project. Please [file issues](https://github.com/cdktf/projen-cdktf-hybrid-construct/issues/new/choose) generously and detail your experience while using the library. We welcome your feedback.\n\nBy using the software in this repository, you acknowledge that:\n* _projen-cdktf-hybrid-construct_ is still in development, may change, and has not been released as a commercial product by HashiCorp and is not currently supported in any way by HashiCorp.\n* _projen-cdktf-hybrid-construct_ is provided on an \"as-is\" basis, and may include bugs, errors, or other issues.\n* _projen-cdktf-hybrid-construct_ is NOT INTENDED FOR PRODUCTION USE, use of the Software may result in unexpected results, loss of data, or other unexpected results, and HashiCorp disclaims any and all liability resulting from use of _projen-cdktf-hybrid-construct_.\n* HashiCorp reserves all rights to make all decisions about the features, functionality and commercial release (or non-release) of _projen-cdktf-hybrid-construct_, at any time and without any obligation or liability whatsoever.\n\n## Compatibility\n\n- `cdktf` >= 0.20.0\n- `constructs` >= 10.4.2\n- `projen` >= 0.88.0\n\n## Usage\n\n### `HybridModule`\n\nIf you want to write a CDKTF construct and also publish it as a Terraform Module you can use the `HybridModule` template.\n\nYou can initialize such a project using `npx projen new --from projen-cdktf-hybrid-construct hybrid-module`.\n\nA configuration might look like this:\n\n```js\nconst { HybridModule } = require(\"projen-cdktf-hybrid-construct\");\n\nconst project = new HybridModule({\n // The name of the module & repository need to start with terraform-cdk-\n name: \"terraform-cdk-my-new-hybrid-construct\",\n repositoryUrl:\n \"github.com/DanielMSchmidt/terraform-cdk-my-new-hybrid-construct\",\n\n author: \"Daniel Schmidt\",\n authorAddress: \"danielmschmidt92@gmail.com\",\n\n // If enabled an example folder with terraform code will be created\n terraformExamples: {\n enabled: true,\n folder: \"terraform\",\n // The configuration to add to the example terraform file\n providerConfig: `\n terraform {\n required_providers {\n aws = {\n source = \"hashicorp/aws\"\n version = \"~> 3.74\"\n }\n }\n # Terraform binary version constraint\n required_version = \">= 1.2.0\"\n }\n\n\n provider \"aws\" {\n region = \"eu-central-1\"\n }\n `,\n },\n\n // If enabled a constructs example folder will be created\n constructExamples: {\n enabled: true,\n folder: \"construct-examples\",\n },\n});\nproject.synth();\n```\n\n### `TerraformModule`\n\nIf you want to republish an existing Terraform module as a CDKTF construct or if you want to repackage them with an easier to use API you can use the `TerraformModule` template.\n\nYou can initialize such a project using `npx projen new --from projen-cdktf-hybrid-construct terraform-module`.\n\nA configutation might look like this:\n\n```js\nconst { TerraformModule } = require(\"projen-cdktf-hybrid-construct\");\n\nconst project = new TerraformModule({\n name: \"my-module\",\n author: \"Daniel Schmidt\",\n authorAddress: \"danielmschmidt92@gmail.com\",\n repositoryUrl: \"github.com/DanielMSchmidt/my-module\",\n\n terraformModules: [\n {\n name: \"eks\",\n source: \"terraform-aws-modules/eks/aws\",\n version: \"~> 18.0\",\n },\n {\n name: \"eks-managed-nodegroup\",\n source: \"terraform-aws-modules/eks/aws//modules/eks-managed-node-group\",\n version: \"~> 18.0\",\n },\n ],\n});\n\nproject.synth();\n```\n\n## Publishing\n\n### Open Source\n\nWe have a helper method for easy configuration, but there are still some manual steps required.\n\n```js\nconst {\n HybridModule,\n publishToRegistries,\n} = require(\"projen-cdktf-hybrid-construct\");\n\nconst project = new HybridModule({\n // ... all the other options\n ...publishToRegistries({\n name: \"my-new-hybrid-construct\",\n namespace: \"my-org\",\n registries: [\"npm\", \"pypi\", \"nuget\", \"maven\"],\n }),\n});\n```\n\n#### Terraform\n\n1. [Sign in at the registry](https://registry.terraform.io/sign-in)\n2. [Select your repository](https://registry.terraform.io/github/create) and create the module\n\nPlease make sure your repository name starts with `terraform-cdk-`.\n\n#### npm (Typescript)\n\n1. Create an account at [npmjs.com](https://npmjs.com/)\n2. Create an [automation token](https://docs.npmjs.com/creating-and-viewing-access-tokens) on npm\n3. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `NPM_TOKEN` and the value of the token\n\n#### pypi (Python)\n\n1. Create an account at [pypi.org](https://pypi.org/)\n2. Create an [API token](https://pypi.org/help/#apitoken) on pypi\n3. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `TWINE_USERNAME` and the value `__token__` and a second one with the name `TWINE_PASSWORD` and the value of the token\n4. Set the `publishToPypi` section in the options of `HybridModule` or `TerraformModule` (or use the helper mentioned above)\n\n```js\nconst name = \"name-of-my-hybrid-construct\";\nnew HybridModule({\n name,\n // ... other options\n publishToPypi: {\n distName: name,\n module: name.replace(/-/g, \"_\"),\n },\n});\n```\n\n#### Maven (Java)\n\n1. [Create a Sonatype account and repository](https://central.sonatype.org/publish/publish-guide/#introduction)\n2. Create [GitHub Action Secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) to configure maven:\n - `MAVEN_USERNAME`\n - `MAVEN_PASSWORD`\n - `MAVEN_STAGING_PROFILE_ID`\n - `MAVEN_GPG_PRIVATE_KEY_PASSPHRASE`\n - `MAVEN_GPG_PRIVATE_KEY_PASSPHRASE`\n3. Setup the `publishToMaven` section in the options of `HybridModule` or `TerraformModule` (or use the helper mentioned above)\n\n```js\nconst githubNamespace = \"my-org\";\nconst name = \"name-of-my-hybrid-construct\";\nnew HybridModule({\n name,\n // ... other options\n publishToMaven: {\n javaPackage: name.replace(/-/g, \"_\"),\n mavenGroupId: `com.${githubNamespace}`,\n mavenArtifactId: name,\n },\n});\n```\n\n#### NuGet (C#)\n\n1. [Create a NuGet account](https://www.nuget.org/users/account/LogOn) (you might need to create a Microsoft Account if you don't have one)\n2. [Create API keys](https://docs.microsoft.com/en-us/nuget/nuget-org/publish-a-package#create-api-keys)\n3. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `NUGET_API_KEY` and the value of the token\n4. Setup the `publishToNuget` section in the options of `HybridModule` or `TerraformModule` (or use the helper mentioned above)\n\n```js\nconst githubNamespace = \"my-org\";\nconst name = \"name-of-my-hybrid-construct\";\n\nnew HybridModule({\n name,\n // ... other options\n publishToNuget: {\n dotNetNamespace: `MyOrg.NameOfMyHybridConstruct`,\n packageId: `MyOrg.NameOfMyHybridConstruct`,\n },\n});\n```\n\n### Github Packages\n\nWe have a helper method for easy configuration, no extra steps needed:\n\n```js\nconst {\n HybridModule,\n publishToGithubPackages,\n} = require(\"projen-cdktf-hybrid-construct\");\n\nconst project = new HybridModule({\n // ... all the other options\n ...publishToGithubPackages({\n name: \"my-new-hybrid-construct\",\n namespace: \"my-org\",\n registries: [\"npm\", \"maven\"], // pypi and nuget are not yet supported\n }),\n});\n```\n\n### Artifactory\n\nWe have a helper method for easy configuration, but there are also some manual steps required.\n\n```js\nconst {\n HybridModule,\n publishToGithubPackages,\n} = require(\"projen-cdktf-hybrid-construct\");\n\nconst project = new HybridModule({\n // ... all the other options\n ...publishToGithubPackages({\n name: \"my-new-hybrid-construct\",\n namespace: \"my-org\",\n registries: [\"npm\", \"pypi\", \"nuget\"], // maven is currently not supported, PRs welcome\n artifactoryApiUrl: \"https://artifactory.my-org.com/api/\",\n artifactoryRepository: \"my-repo\", // needs to be the same across all registries, defaults to namespace so \"my-org\" in this case\n }),\n});\n```\n\n#### Terraform\n\nYou can find more information about publishing Terraform Modules to Artifactory [here](https://www.jfrog.com/confluence/display/JFROG/Terraform+Registry#TerraformRegistry-SettingupaLocalModule/ProviderRegistry).\n\n#### npm (Typescript)\n\n1. [Create a virtual npm registry](https://www.jfrog.com/confluence/display/JFROG/npm+Registry#npmRegistry-VirtualnpmRegistry)\n2. [Authenticate against artifactory to get a token](https://www.jfrog.com/confluence/display/JFROG/npm+Registry#npmRegistry-AuthenticatingthenpmClient)\n3. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `NPM_TOKEN` and the value of the token\n\n#### pypi (Python)\n\n1. Create a [local repository](https://www.jfrog.com/confluence/display/JFROG/PyPI+Repositories#PyPIRepositories-LocalRepositories)\n2. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `TWINE_USERNAME` and the artifactory user name and a second one with the name `TWINE_PASSWORD` and the artifactory password\n"
101
101
  },
102
102
  "repository": {
103
103
  "type": "git",
@@ -629,6 +629,6 @@
629
629
  "symbolId": "src/terraform-module:TerraformVersionConstraint"
630
630
  }
631
631
  },
632
- "version": "0.8.7",
633
- "fingerprint": "sagKDDocqLPv1lqzQDragcfmOty3RHBdT7f708n+m5w="
632
+ "version": "0.9.1",
633
+ "fingerprint": "qbarAG5jNnRgnn72GuU6fmMF6FFAJ5x5rAUuuu1TNGA="
634
634
  }
package/API.md CHANGED
@@ -705,8 +705,8 @@ When given a project, this it the project itself.
705
705
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModule.property.buildWorkflow">buildWorkflow</a></code> | <code>projen.build.BuildWorkflow</code> | The PR build GitHub workflow. |
706
706
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModule.property.buildWorkflowJobId">buildWorkflowJobId</a></code> | <code>string</code> | The job ID of the build workflow. |
707
707
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModule.property.jest">jest</a></code> | <code>projen.javascript.Jest</code> | The Jest configuration (if enabled). |
708
- | <code><a href="#projen-cdktf-hybrid-construct.HybridModule.property.maxNodeVersion">maxNodeVersion</a></code> | <code>string</code> | Maximum node version required by this package. |
709
- | <code><a href="#projen-cdktf-hybrid-construct.HybridModule.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | Minimum node.js version required by this package. |
708
+ | <code><a href="#projen-cdktf-hybrid-construct.HybridModule.property.maxNodeVersion">maxNodeVersion</a></code> | <code>string</code> | Maximum node version supported by this package. |
709
+ | <code><a href="#projen-cdktf-hybrid-construct.HybridModule.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. |
710
710
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModule.property.npmignore">npmignore</a></code> | <code>projen.IgnoreFile</code> | The .npmignore file. |
711
711
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModule.property.prettier">prettier</a></code> | <code>projen.javascript.Prettier</code> | *No description.* |
712
712
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModule.property.publisher">publisher</a></code> | <code>projen.release.Publisher</code> | Package publisher. |
@@ -1282,7 +1282,9 @@ public readonly maxNodeVersion: string;
1282
1282
 
1283
1283
  - *Type:* string
1284
1284
 
1285
- Maximum node version required by this package.
1285
+ Maximum node version supported by this package.
1286
+
1287
+ The value indicates the package is incompatible with newer versions.
1286
1288
 
1287
1289
  ---
1288
1290
 
@@ -1294,7 +1296,9 @@ public readonly minNodeVersion: string;
1294
1296
 
1295
1297
  - *Type:* string
1296
1298
 
1297
- Minimum node.js version required by this package.
1299
+ The minimum node version required by this package to function.
1300
+
1301
+ This value indicates the package is incompatible with older versions.
1298
1302
 
1299
1303
  ---
1300
1304
 
@@ -2208,8 +2212,8 @@ When given a project, this it the project itself.
2208
2212
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModule.property.buildWorkflow">buildWorkflow</a></code> | <code>projen.build.BuildWorkflow</code> | The PR build GitHub workflow. |
2209
2213
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModule.property.buildWorkflowJobId">buildWorkflowJobId</a></code> | <code>string</code> | The job ID of the build workflow. |
2210
2214
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModule.property.jest">jest</a></code> | <code>projen.javascript.Jest</code> | The Jest configuration (if enabled). |
2211
- | <code><a href="#projen-cdktf-hybrid-construct.TerraformModule.property.maxNodeVersion">maxNodeVersion</a></code> | <code>string</code> | Maximum node version required by this package. |
2212
- | <code><a href="#projen-cdktf-hybrid-construct.TerraformModule.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | Minimum node.js version required by this package. |
2215
+ | <code><a href="#projen-cdktf-hybrid-construct.TerraformModule.property.maxNodeVersion">maxNodeVersion</a></code> | <code>string</code> | Maximum node version supported by this package. |
2216
+ | <code><a href="#projen-cdktf-hybrid-construct.TerraformModule.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. |
2213
2217
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModule.property.npmignore">npmignore</a></code> | <code>projen.IgnoreFile</code> | The .npmignore file. |
2214
2218
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModule.property.prettier">prettier</a></code> | <code>projen.javascript.Prettier</code> | *No description.* |
2215
2219
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModule.property.publisher">publisher</a></code> | <code>projen.release.Publisher</code> | Package publisher. |
@@ -2785,7 +2789,9 @@ public readonly maxNodeVersion: string;
2785
2789
 
2786
2790
  - *Type:* string
2787
2791
 
2788
- Maximum node version required by this package.
2792
+ Maximum node version supported by this package.
2793
+
2794
+ The value indicates the package is incompatible with newer versions.
2789
2795
 
2790
2796
  ---
2791
2797
 
@@ -2797,7 +2803,9 @@ public readonly minNodeVersion: string;
2797
2803
 
2798
2804
  - *Type:* string
2799
2805
 
2800
- Minimum node.js version required by this package.
2806
+ The minimum node version required by this package to function.
2807
+
2808
+ This value indicates the package is incompatible with older versions.
2801
2809
 
2802
2810
  ---
2803
2811
 
@@ -3111,8 +3119,8 @@ const hybridModuleOptions: HybridModuleOptions = { ... }
3111
3119
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.keywords">keywords</a></code> | <code>string[]</code> | Keywords to include in `package.json`. |
3112
3120
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.license">license</a></code> | <code>string</code> | License's SPDX identifier. |
3113
3121
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.licensed">licensed</a></code> | <code>boolean</code> | Indicates if a license should be added. |
3114
- | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.maxNodeVersion">maxNodeVersion</a></code> | <code>string</code> | Minimum node.js version to require via `engines` (inclusive). |
3115
- | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | Minimum Node.js version to require via package.json `engines` (inclusive). |
3122
+ | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.maxNodeVersion">maxNodeVersion</a></code> | <code>string</code> | The maximum node version supported by this package. Most projects should not use this option. |
3123
+ | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. Most projects should not use this option. |
3116
3124
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.npmAccess">npmAccess</a></code> | <code>projen.javascript.NpmAccess</code> | Access level of the npm package. |
3117
3125
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.npmProvenance">npmProvenance</a></code> | <code>boolean</code> | Should provenance statements be generated when the package is published. |
3118
3126
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.npmRegistry">npmRegistry</a></code> | <code>string</code> | The host name of the npm registry to publish to. |
@@ -3147,7 +3155,7 @@ const hybridModuleOptions: HybridModuleOptions = { ... }
3147
3155
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.releaseTrigger">releaseTrigger</a></code> | <code>projen.release.ReleaseTrigger</code> | The release trigger to use. |
3148
3156
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.releaseWorkflowName">releaseWorkflowName</a></code> | <code>string</code> | The name of the default release workflow. |
3149
3157
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.releaseWorkflowSetupSteps">releaseWorkflowSetupSteps</a></code> | <code>projen.github.workflows.JobStep[]</code> | A set of workflow steps to execute in order to setup the workflow container. |
3150
- | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.versionrcOptions">versionrcOptions</a></code> | <code>{[ key: string ]: any}</code> | Custom configuration used when creating changelog with standard-version package. |
3158
+ | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.versionrcOptions">versionrcOptions</a></code> | <code>{[ key: string ]: any}</code> | Custom configuration used when creating changelog with commit-and-tag-version package. |
3151
3159
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.workflowContainerImage">workflowContainerImage</a></code> | <code>string</code> | Container image to use for GitHub workflows. |
3152
3160
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.workflowRunsOn">workflowRunsOn</a></code> | <code>string[]</code> | Github Runner selection labels. |
3153
3161
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.workflowRunsOnGroup">workflowRunsOnGroup</a></code> | <code>projen.GroupRunnerOptions</code> | Github Runner Group selection options. |
@@ -3188,7 +3196,7 @@ const hybridModuleOptions: HybridModuleOptions = { ... }
3188
3196
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.releaseWorkflow">releaseWorkflow</a></code> | <code>boolean</code> | DEPRECATED: renamed to `release`. |
3189
3197
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.workflowBootstrapSteps">workflowBootstrapSteps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Workflow steps to use in order to bootstrap this repo. |
3190
3198
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.workflowGitIdentity">workflowGitIdentity</a></code> | <code>projen.github.GitIdentity</code> | The git identity to use in workflows. |
3191
- | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.workflowNodeVersion">workflowNodeVersion</a></code> | <code>string</code> | The node version to use in GitHub workflows. |
3199
+ | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.workflowNodeVersion">workflowNodeVersion</a></code> | <code>string</code> | The node version used in GitHub Actions workflows. |
3192
3200
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.workflowPackageCache">workflowPackageCache</a></code> | <code>boolean</code> | Enable Node.js package cache in GitHub workflows. |
3193
3201
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.disableTsconfig">disableTsconfig</a></code> | <code>boolean</code> | Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). |
3194
3202
  | <code><a href="#projen-cdktf-hybrid-construct.HybridModuleOptions.property.disableTsconfigDev">disableTsconfigDev</a></code> | <code>boolean</code> | Do not generate a `tsconfig.dev.json` file. |
@@ -3951,9 +3959,15 @@ public readonly maxNodeVersion: string;
3951
3959
  ```
3952
3960
 
3953
3961
  - *Type:* string
3954
- - *Default:* no max
3962
+ - *Default:* no maximum version is enforced
3955
3963
 
3956
- Minimum node.js version to require via `engines` (inclusive).
3964
+ The maximum node version supported by this package. Most projects should not use this option.
3965
+
3966
+ The value indicates that the package is incompatible with any newer versions of node.
3967
+ This requirement is enforced via the engines field.
3968
+
3969
+ You will normally not need to set this option.
3970
+ Consider this option only if your package is known to not function with newer versions of node.
3957
3971
 
3958
3972
  ---
3959
3973
 
@@ -3964,9 +3978,19 @@ public readonly minNodeVersion: string;
3964
3978
  ```
3965
3979
 
3966
3980
  - *Type:* string
3967
- - *Default:* no "engines" specified
3981
+ - *Default:* no minimum version is enforced
3982
+
3983
+ The minimum node version required by this package to function. Most projects should not use this option.
3984
+
3985
+ The value indicates that the package is incompatible with any older versions of node.
3986
+ This requirement is enforced via the engines field.
3968
3987
 
3969
- Minimum Node.js version to require via package.json `engines` (inclusive).
3988
+ You will normally not need to set this option, even if your package is incompatible with EOL versions of node.
3989
+ Consider this option only if your package depends on a specific feature, that is not available in other LTS versions.
3990
+ Setting this option has very high impact on the consumers of your package,
3991
+ as package managers will actively prevent usage with node versions you have marked as incompatible.
3992
+
3993
+ To change the node version of your CI/CD workflows, use `workflowNodeVersion`.
3970
3994
 
3971
3995
  ---
3972
3996
 
@@ -4483,7 +4507,7 @@ public readonly versionrcOptions: {[ key: string ]: any};
4483
4507
  - *Type:* {[ key: string ]: any}
4484
4508
  - *Default:* standard configuration applicable for GitHub repositories
4485
4509
 
4486
- Custom configuration used when creating changelog with standard-version package.
4510
+ Custom configuration used when creating changelog with commit-and-tag-version package.
4487
4511
 
4488
4512
  Given values either append to default configuration or overwrite values in it.
4489
4513
 
@@ -5032,9 +5056,11 @@ public readonly workflowNodeVersion: string;
5032
5056
  ```
5033
5057
 
5034
5058
  - *Type:* string
5035
- - *Default:* same as `minNodeVersion`
5059
+ - *Default:* `minNodeVersion` if set, otherwise `lts/*`.
5060
+
5061
+ The node version used in GitHub Actions workflows.
5036
5062
 
5037
- The node version to use in GitHub workflows.
5063
+ Always use this option if your GitHub Actions workflows require a specific to run.
5038
5064
 
5039
5065
  ---
5040
5066
 
@@ -5733,8 +5759,8 @@ const terraformModuleOptions: TerraformModuleOptions = { ... }
5733
5759
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.keywords">keywords</a></code> | <code>string[]</code> | Keywords to include in `package.json`. |
5734
5760
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.license">license</a></code> | <code>string</code> | License's SPDX identifier. |
5735
5761
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.licensed">licensed</a></code> | <code>boolean</code> | Indicates if a license should be added. |
5736
- | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.maxNodeVersion">maxNodeVersion</a></code> | <code>string</code> | Minimum node.js version to require via `engines` (inclusive). |
5737
- | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | Minimum Node.js version to require via package.json `engines` (inclusive). |
5762
+ | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.maxNodeVersion">maxNodeVersion</a></code> | <code>string</code> | The maximum node version supported by this package. Most projects should not use this option. |
5763
+ | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. Most projects should not use this option. |
5738
5764
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.npmAccess">npmAccess</a></code> | <code>projen.javascript.NpmAccess</code> | Access level of the npm package. |
5739
5765
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.npmProvenance">npmProvenance</a></code> | <code>boolean</code> | Should provenance statements be generated when the package is published. |
5740
5766
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.npmRegistry">npmRegistry</a></code> | <code>string</code> | The host name of the npm registry to publish to. |
@@ -5769,7 +5795,7 @@ const terraformModuleOptions: TerraformModuleOptions = { ... }
5769
5795
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.releaseTrigger">releaseTrigger</a></code> | <code>projen.release.ReleaseTrigger</code> | The release trigger to use. |
5770
5796
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.releaseWorkflowName">releaseWorkflowName</a></code> | <code>string</code> | The name of the default release workflow. |
5771
5797
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.releaseWorkflowSetupSteps">releaseWorkflowSetupSteps</a></code> | <code>projen.github.workflows.JobStep[]</code> | A set of workflow steps to execute in order to setup the workflow container. |
5772
- | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.versionrcOptions">versionrcOptions</a></code> | <code>{[ key: string ]: any}</code> | Custom configuration used when creating changelog with standard-version package. |
5798
+ | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.versionrcOptions">versionrcOptions</a></code> | <code>{[ key: string ]: any}</code> | Custom configuration used when creating changelog with commit-and-tag-version package. |
5773
5799
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.workflowContainerImage">workflowContainerImage</a></code> | <code>string</code> | Container image to use for GitHub workflows. |
5774
5800
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.workflowRunsOn">workflowRunsOn</a></code> | <code>string[]</code> | Github Runner selection labels. |
5775
5801
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.workflowRunsOnGroup">workflowRunsOnGroup</a></code> | <code>projen.GroupRunnerOptions</code> | Github Runner Group selection options. |
@@ -5810,7 +5836,7 @@ const terraformModuleOptions: TerraformModuleOptions = { ... }
5810
5836
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.releaseWorkflow">releaseWorkflow</a></code> | <code>boolean</code> | DEPRECATED: renamed to `release`. |
5811
5837
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.workflowBootstrapSteps">workflowBootstrapSteps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Workflow steps to use in order to bootstrap this repo. |
5812
5838
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.workflowGitIdentity">workflowGitIdentity</a></code> | <code>projen.github.GitIdentity</code> | The git identity to use in workflows. |
5813
- | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.workflowNodeVersion">workflowNodeVersion</a></code> | <code>string</code> | The node version to use in GitHub workflows. |
5839
+ | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.workflowNodeVersion">workflowNodeVersion</a></code> | <code>string</code> | The node version used in GitHub Actions workflows. |
5814
5840
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.workflowPackageCache">workflowPackageCache</a></code> | <code>boolean</code> | Enable Node.js package cache in GitHub workflows. |
5815
5841
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.disableTsconfig">disableTsconfig</a></code> | <code>boolean</code> | Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). |
5816
5842
  | <code><a href="#projen-cdktf-hybrid-construct.TerraformModuleOptions.property.disableTsconfigDev">disableTsconfigDev</a></code> | <code>boolean</code> | Do not generate a `tsconfig.dev.json` file. |
@@ -6572,9 +6598,15 @@ public readonly maxNodeVersion: string;
6572
6598
  ```
6573
6599
 
6574
6600
  - *Type:* string
6575
- - *Default:* no max
6601
+ - *Default:* no maximum version is enforced
6602
+
6603
+ The maximum node version supported by this package. Most projects should not use this option.
6604
+
6605
+ The value indicates that the package is incompatible with any newer versions of node.
6606
+ This requirement is enforced via the engines field.
6576
6607
 
6577
- Minimum node.js version to require via `engines` (inclusive).
6608
+ You will normally not need to set this option.
6609
+ Consider this option only if your package is known to not function with newer versions of node.
6578
6610
 
6579
6611
  ---
6580
6612
 
@@ -6585,9 +6617,19 @@ public readonly minNodeVersion: string;
6585
6617
  ```
6586
6618
 
6587
6619
  - *Type:* string
6588
- - *Default:* no "engines" specified
6620
+ - *Default:* no minimum version is enforced
6589
6621
 
6590
- Minimum Node.js version to require via package.json `engines` (inclusive).
6622
+ The minimum node version required by this package to function. Most projects should not use this option.
6623
+
6624
+ The value indicates that the package is incompatible with any older versions of node.
6625
+ This requirement is enforced via the engines field.
6626
+
6627
+ You will normally not need to set this option, even if your package is incompatible with EOL versions of node.
6628
+ Consider this option only if your package depends on a specific feature, that is not available in other LTS versions.
6629
+ Setting this option has very high impact on the consumers of your package,
6630
+ as package managers will actively prevent usage with node versions you have marked as incompatible.
6631
+
6632
+ To change the node version of your CI/CD workflows, use `workflowNodeVersion`.
6591
6633
 
6592
6634
  ---
6593
6635
 
@@ -7104,7 +7146,7 @@ public readonly versionrcOptions: {[ key: string ]: any};
7104
7146
  - *Type:* {[ key: string ]: any}
7105
7147
  - *Default:* standard configuration applicable for GitHub repositories
7106
7148
 
7107
- Custom configuration used when creating changelog with standard-version package.
7149
+ Custom configuration used when creating changelog with commit-and-tag-version package.
7108
7150
 
7109
7151
  Given values either append to default configuration or overwrite values in it.
7110
7152
 
@@ -7653,9 +7695,11 @@ public readonly workflowNodeVersion: string;
7653
7695
  ```
7654
7696
 
7655
7697
  - *Type:* string
7656
- - *Default:* same as `minNodeVersion`
7698
+ - *Default:* `minNodeVersion` if set, otherwise `lts/*`.
7699
+
7700
+ The node version used in GitHub Actions workflows.
7657
7701
 
7658
- The node version to use in GitHub workflows.
7702
+ Always use this option if your GitHub Actions workflows require a specific to run.
7659
7703
 
7660
7704
  ---
7661
7705
 
package/README.md CHANGED
@@ -18,7 +18,7 @@ By using the software in this repository, you acknowledge that:
18
18
 
19
19
  - `cdktf` >= 0.20.0
20
20
  - `constructs` >= 10.4.2
21
- - `projen` >= 0.85.0
21
+ - `projen` >= 0.88.0
22
22
 
23
23
  ## Usage
24
24
 
@@ -339,5 +339,5 @@ done
339
339
  }
340
340
  exports.HybridModule = HybridModule;
341
341
  _a = JSII_RTTI_SYMBOL_1;
342
- HybridModule[_a] = { fqn: "projen-cdktf-hybrid-construct.HybridModule", version: "0.8.7" };
342
+ HybridModule[_a] = { fqn: "projen-cdktf-hybrid-construct.HybridModule", version: "0.9.1" };
343
343
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHlicmlkLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oeWJyaWQtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7OztHQUdHO0FBRUgsNkJBQTZCO0FBQzdCLG1DQUFpRTtBQUNqRSx3Q0FBc0U7QUFFdEUseUNBQXNDO0FBNkR0QyxNQUFNLGdCQUFnQixHQUFHOzs7Ozs7Ozs7Ozs7Q0FZeEIsQ0FBQztBQUVGLE1BQU0saUJBQWlCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBaUJ6QixDQUFDO0FBRUYsTUFBTSxhQUFhLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FzQnJCLENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUFHOzs7Ozs7Ozs7S0FTdkIsQ0FBQztBQUVOLE1BQU0sVUFBVyxTQUFRLGlCQUFRO0lBQy9CLFlBQVksT0FBZ0IsRUFBRSxRQUFnQixFQUFVLE9BQWU7UUFDckUsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUU7WUFDdkIsVUFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO1FBSG1ELFlBQU8sR0FBUCxPQUFPLENBQVE7SUFJdkUsQ0FBQztJQUVTLGlCQUFpQixDQUFDLENBQVk7UUFDdEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBUSxTQUFRLGlCQUFRO0lBQzVCLFlBQVksT0FBZ0IsRUFBRSxRQUFnQixFQUFVLE9BQWU7UUFDckUsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUU7WUFDdkIsVUFBVSxFQUFFLEtBQUs7WUFDakIsU0FBUyxFQUFFLElBQUk7WUFDZixRQUFRLEVBQUUsS0FBSyxFQUFFLDJDQUEyQztTQUM3RCxDQUFDLENBQUM7UUFMbUQsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQU12RSxDQUFDO0lBRVMsaUJBQWlCLENBQUMsQ0FBWTtRQUN0QyxPQUFPO0VBQ1QsSUFBSSxDQUFDLE9BQU8sRUFB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LENBQUMsSUFBSTthQUNuRSxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2pCLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNwQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUU5QyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRTtZQUM1QyxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDakIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ25DLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNoQixJQUFJLEVBQUUsdUJBQXVCO1NBQzlCLENBQUMsQ0FBQztRQUVILElBQUksVUFBVSxDQUNaLElBQUksRUFDSix5QkFBeUIsRUFDekI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FpREwsQ0FBQyxJQUFJLEVBQUUsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUU7WUFDakQsSUFBSSxFQUFFLGtCQUFrQjtTQUN6QixDQUFDLENBQUM7UUFFSCx1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDOztBQWpTSCxvQ0FrU0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmMuXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IEZpbGVCYXNlLCBJUmVzb2x2ZXIsIFByb2plY3QsIFNhbXBsZURpciB9IGZyb20gXCJwcm9qZW5cIjtcbmltcG9ydCB7IEpzaWlQcm9qZWN0LCBDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB9IGZyb20gXCJwcm9qZW4vbGliL2Nka1wiO1xuaW1wb3J0IHsgSm9iU3RlcCB9IGZyb20gXCJwcm9qZW4vbGliL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWxcIjtcbmltcG9ydCB7IGRlZmF1bHRzIH0gZnJvbSBcIi4vZGVmYXVsdHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb25zdHJ1Y3RFeGFtcGxlc09wdGlvbiB7XG4gIC8vIElmIHNldCBjb25zdHJ1Y3QgZXhhbXBsZXMgd2lsbCBiZSByZW5kZXJlZFxuICByZWFkb25seSBlbmFibGVkOiBib29sZWFuO1xuICAvLyBQYXRoIGZvciB0aGUgY29uc3RydWN0IGV4YW1wbGVzXG4gIHJlYWRvbmx5IGZvbGRlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1FeGFtcGxlc09wdGlvbiB7XG4gIC8vIElmIHNldCB0ZXJyYWZvcm0gZXhhbXBsZXMgd2lsbCBiZSByZW5kZXJlZFxuICByZWFkb25seSBlbmFibGVkOiBib29sZWFuO1xuICAvLyBQYXRoIGZvciB0aGUgdGVycmFmb3JtIGV4YW1wbGVzXG4gIHJlYWRvbmx5IGZvbGRlcj86IHN0cmluZztcbiAgLy8gVGhlIEhDTCBjb25maWcgZmlsZSB0byB1c2UgZm9yIHRoZSB0ZXJyYWZvcm0gcHJvdmlkZXJcbiAgcmVhZG9ubHkgcHJvdmlkZXJDb25maWc/OiBzdHJpbmc7XG4gIC8vIEhDTCBleGFtcGxlIGNvbmZpZ1xuICByZWFkb25seSBleGFtcGxlQ29kZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIeWJyaWRNb2R1bGVPcHRpb25zIGV4dGVuZHMgQ29uc3RydWN0TGlicmFyeU9wdGlvbnMge1xuICAvKipcbiAgICogTWluaW11bSB0YXJnZXQgdmVyc2lvbiBvZiB0aGlzIGxpYnJhcnkuXG4gICAqIEBkZWZhdWx0IFwiMC4yMC4wXCJcbiAgICogQGZlYXR1cmVkXG4gICAqL1xuICByZWFkb25seSBjZGt0ZlZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdCB2ZXJzaW9uIHRvIHVzZVxuICAgKiBAZGVmYXVsdCBcIl4xMC4wLjEwN1wiXG4gICAqL1xuICByZWFkb25seSBjb25zdHJ1Y3RWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZiBzZXQgYSB0ZXJyYWZvcm0gZXhhbXBsZXMgZm9sZGVyIHdpbGwgYmUgY3JlYXRlZFxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICogQGZlYXR1cmVkXG4gICAqL1xuICByZWFkb25seSB0ZXJyYWZvcm1FeGFtcGxlcz86IFRlcnJhZm9ybUV4YW1wbGVzT3B0aW9uO1xuXG4gIC8qKlxuICAgKiBJZiBzZXQgYSBjb25zdHJ1Y3QgZXhhbXBsZXMgZm9sZGVyIHdpbGwgYmUgY3JlYXRlZFxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICogQGZlYXR1cmVkXG4gICAqL1xuICByZWFkb25seSBjb25zdHJ1Y3RFeGFtcGxlcz86IENvbnN0cnVjdEV4YW1wbGVzT3B0aW9uO1xuXG4gIC8qKlxuICAgKiBJZiBzZXQgYSB0ZXJyYWZvcm0gZXhhbXBsZXMgZm9sZGVyIHdpbGwgYmUgY3JlYXRlZFxuICAgKkRlZmF1bHRzIHRvIGEgdXVpZCBzdHJpbmcgYXMgY2RrdGYgd291bGRcbiAgICogTW9zdGx5IHVzZWQgZm9yIHRlc3RpbmcgdG8gaGF2ZSBhIHByZWRpY3RhYmxlIHJlc3VsdFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVjdElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZiBzZXQgYSB0ZXJyYWZvcm0gcGxhbiBpcyBiZWluZyBydW4gYXMgcGFydCBvZiB0aGUgdGVzdHNcbiAgICovXG4gIHJlYWRvbmx5IHJ1blBsYW4/OiBib29sZWFuO1xufVxuXG5jb25zdCBjb25zdHJ1Y3RTcmNDb2RlID0gYFxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBNeUNvbnN0cnVjdE9wdGlvbnMge1xuICByZWFkb25seSBwcm9wZXJ0eUE6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIE15Q29uc3RydWN0IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHVibGljIGNvbmZpZzogTXlDb25zdHJ1Y3RPcHRpb25zKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgfVxufVxuYDtcblxuY29uc3QgY29uc3RydWN0VGVzdENvZGUgPSBgXG5pbXBvcnQgeyBUZXN0aW5nIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgXCJjZGt0Zi9saWIvdGVzdGluZy9hZGFwdGVycy9qZXN0XCI7XG5pbXBvcnQgeyBNeUNvbnN0cnVjdCB9IGZyb20gXCIuLi9cIjtcblxuLy8gVG8gbGVhcm4gbW9yZSBhYm91dCB0ZXN0aW5nIHNlZSBjZGsudGYvdGVzdGluZ1xuZGVzY3JpYmUoXCJNeUNvbnN0cnVjdFwiLCAoKSA9PiB7XG4gIGl0KFwic2hvdWxkIHN5bnRoZXNpemVcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChcbiAgICAgIFRlc3Rpbmcuc3ludGhTY29wZSgoc2NvcGUpID0+IHtcbiAgICAgICAgbmV3IE15Q29uc3RydWN0KHNjb3BlLCBcIm15LWNvbnN0cnVjdFwiLCB7XG4gICAgICAgICAgcHJvcGVydHlBOiBcInZhbHVlQVwiLFxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSk7XG59KTtcbmA7XG5cbmNvbnN0IG1vZHVsZVNyY0NvZGUgPSBgXG5pbXBvcnQgeyBBcHAgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBURk1vZHVsZVN0YWNrIH0gZnJvbSBcIkBjZGt0Zi90Zi1tb2R1bGUtc3RhY2tcIjtcbmltcG9ydCB7IE15Q29uc3RydWN0IH0gZnJvbSBcIi4vaW5kZXhcIjtcblxuY2xhc3MgTXlBd2Vzb21lTW9kdWxlIGV4dGVuZHMgVEZNb2R1bGVTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgbmV3IE15Q29uc3RydWN0KHRoaXMsIFwibXktY29uc3RydWN0XCIsIHtcbiAgICAgIHByb3BlcnR5QTogXCJ2YWx1ZUFcIixcbiAgICB9KTtcbiAgfVxufVxuXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG4vLyBUaGlzIGlzIHRoZSBuYW1lIHRoZSBtb2R1bGUgY2FuIGJlIGZvdW5kIHVuZGVyLiBcbi8vIFdlIGV4cGVjdCBhIFwibXktYXdlc29tZS1tb2R1bGUubWRcIiBmaWxlIGluIHRoaXMgZGlyZWN0b3J5LlxuLy8gVGhlIFJFQURNRS5tZCBmaWxlIHdpbGwgYmUgZ2VuZXJhdGVkIGZyb20gdGhpcyBmaWxlLlxubmV3IE15QXdlc29tZU1vZHVsZShhcHAsIFwibXktYXdlc29tZS1tb2R1bGVcIik7XG5hcHAuc3ludGgoKTtcbmA7XG5cbmNvbnN0IHRlcnJhZm9ybVJlYWRtZURvY3MgPSBgXG4jIFBsZWFzZSBhZGQgaGVyZSBzb21lIHB1cmUgSENMIHRlc3RzIGZvciB5b3VyIG1vZHVsZXMgaW4gb3JkZXIgdG8gdGVzdCBIQ0wgSW50ZXJvcGVyYWJpbGl0eVxuXG5FeGFtcGxlczpcblxubW9kdWxlIFwibXlfYXdlc29tZV90ZXN0XCIge1xuICBzb3VyY2UgPSBcIi4uL21vZHVsZXMvbXktYXdlc29tZS1tb2R1bGVzXCJcbiAgLi4udmFyaWFibGVzLi4uXG59XG4gICAgYDtcblxuY2xhc3MgU2NyaXB0RmlsZSBleHRlbmRzIEZpbGVCYXNlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgZmlsZVBhdGg6IHN0cmluZywgcHJpdmF0ZSBjb250ZW50OiBzdHJpbmcpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBmaWxlUGF0aCwge1xuICAgICAgZXhlY3V0YWJsZTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQ29udGVudChfOiBJUmVzb2x2ZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnQ7XG4gIH1cbn1cblxuY2xhc3MgSENMRmlsZSBleHRlbmRzIEZpbGVCYXNlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgZmlsZVBhdGg6IHN0cmluZywgcHJpdmF0ZSBjb250ZW50OiBzdHJpbmcpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBmaWxlUGF0aCwge1xuICAgICAgZXhlY3V0YWJsZTogZmFsc2UsXG4gICAgICBjb21taXR0ZWQ6IHRydWUsXG4gICAgICByZWFkb25seTogZmFsc2UsIC8vIHRlcnJhZm9ybSBmbXQgbWlnaHQgd2FudCB0byBvdmVyd3JpdGUgaXRcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQ29udGVudChfOiBJUmVzb2x2ZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBgIyBUaGlzIGZpbGUgaXMgbWFuYWdlZCBieSBwcm9qZW4uIERvIG5vdCBlZGl0LCBjaGFuZ2UgdGhlIC5wcm9qZW5yYyBmaWxlIGluc3RlYWQuXG4ke3RoaXMuY29udGVudH1gO1xuICB9XG59XG5cbi8qKlxuICogSHlicmlkIENES1RGIENvbnN0cnVjdCAvIFRlcnJhZm9ybSBNb2R1bGVcbiAqXG4gKiBAcGppZCBoeWJyaWQtbW9kdWxlXG4gKi9cbmV4cG9ydCBjbGFzcyBIeWJyaWRNb2R1bGUgZXh0ZW5kcyBKc2lpUHJvamVjdCB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEh5YnJpZE1vZHVsZU9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICAuLi5kZWZhdWx0cyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBlc2xpbnRPcHRpb25zOiBPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zLmVzbGludE9wdGlvbnMsIHtcbiAgICAgICAgbGludFByb2plblJjOiBmYWxzZSxcbiAgICAgIH0pLFxuICAgICAgcG9zdEJ1aWxkU3RlcHM6IFtdLFxuICAgICAganNpaVZlcnNpb246IFwifjUuNC4wXCIsXG4gICAgICB0eXBlc2NyaXB0VmVyc2lvbjogXCJ+NS40LjBcIiwgLy8gc2hvdWxkIGFsd2F5cyBiZSB0aGUgc2FtZSBtYWpvci9taW5vciBhcyBKU0lJXG4gICAgfSk7XG4gICAgY29uc3QgY29uc3RydWN0VmVyc2lvbiA9IG9wdGlvbnMuY29uc3RydWN0VmVyc2lvbiB8fCBcIjEwLjQuMlwiO1xuICAgIGNvbnN0IGNka3RmVmVyc2lvbiA9IG9wdGlvbnMuY2RrdGZWZXJzaW9uIHx8IFwiMC4yMC4wXCI7XG5cbiAgICBjb25zb2xlLmxvZyh7IGNka3RmVmVyc2lvbiwgY29uc3RydWN0VmVyc2lvbiB9KTtcbiAgICB0aGlzLmFkZFBlZXJEZXBzKFxuICAgICAgYGNvbnN0cnVjdHNAPj0ke2NvbnN0cnVjdFZlcnNpb259YCxcbiAgICAgIGBjZGt0ZkA+PSR7Y2RrdGZWZXJzaW9ufWBcbiAgICApO1xuICAgIHRoaXMuYWRkRGV2RGVwcyhcbiAgICAgIGBjZGt0ZkB+JHtjZGt0ZlZlcnNpb259YCxcbiAgICAgIGBjZGt0Zi1jbGlAfiR7Y2RrdGZWZXJzaW9ufWAsXG4gICAgICBcInRzLW5vZGVAPj0xMC45LjFcIixcbiAgICAgIFwianNpaS1kb2NnZW5AXjEwLjAuMFwiXG4gICAgKTtcbiAgICB0aGlzLmFkZEtleXdvcmRzKFwiY2RrXCIsIFwiY2RrdGZcIiwgXCJjZGt0Zi1oeWJyaWRcIiwgXCJ0ZXJyYWZvcm1cIik7XG4gICAgdGhpcy5zZXRTY3JpcHQoXCJ0ZXJyYWZvcm06dGVzdFwiLCBcIi4vc2NyaXB0cy90Zi1tb2R1bGUtdGVzdC5zaFwiKTtcblxuICAgIC8vIE1vZHVsZSBFbnRyeXBvaW50XG4gICAgdGhpcy5hZGREZXBzKFwiQGNka3RmL3RmLW1vZHVsZS1zdGFja0A+PTUuMC4wXCIpO1xuICAgIGNvbnN0IG1vZHVsZURvY3MgPSBgXG4jIE15IEF3ZXNvbWUgTW9kdWxlXG5cbiMjIFVzYWdlXG5cblxcYFxcYFxcYGhjbFxubW9kdWxlIFwiZWtzX21hbmFnZWRfbm9kZV9ncm91cFwiIHtcbiAgc291cmNlID0gXCIke1xuICAgIG9wdGlvbnMucmVwb3NpdG9yeVVybFxuICAgICAgPy5yZXBsYWNlKFwiaHR0cHM6Ly9naXRodWIuY29tL1wiLCBcIlwiKVxuICAgICAgLnJlcGxhY2UoXCJodHRwOi8vZ2l0aHViLmNvbS9cIiwgXCJcIilcbiAgICAgIC5yZXBsYWNlKFwiZ2l0aHViLmNvbS9cIiwgXCJcIikgfHwgXCJteS1naXRodWItcmVwb1wiXG4gIH0vL21vZHVsZXMvbXktYXdlc29tZS1tb2R1bGVcIlxuXG59XG5cXGBcXGBcXGBcbiAgICBgO1xuXG4gICAgbmV3IFNhbXBsZURpcih0aGlzLCB0aGlzLnNyY2Rpciwge1xuICAgICAgZmlsZXM6IHtcbiAgICAgICAgXCJpbmRleC50c1wiOiBjb25zdHJ1Y3RTcmNDb2RlLnRyaW0oKSxcbiAgICAgICAgXCJ0Zk1vZHVsZXMudHNcIjogbW9kdWxlU3JjQ29kZS50cmltKCksXG4gICAgICAgIFwibXktYXdlc29tZS1tb2R1bGUubWRcIjogbW9kdWxlRG9jcy50cmltKCksXG4gICAgICAgIFwiY2RrdGYuanNvblwiOiBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYW5ndWFnZTogXCJ0eXBlc2NyaXB0XCIsXG4gICAgICAgICAgICBhcHA6IFwibnB4IHRzLW5vZGUgdGZNb2R1bGVzLnRzXCIsXG4gICAgICAgICAgICB0ZXJyYWZvcm1Qcm92aWRlcnM6IFtcImhhc2hpY29ycC9udWxsQDMuMS4xXCJdLCAvLyBXZSBuZWVkIGF0IGxlYXN0IGEgcHJvdmlkZXIgZm9yIGdldCB0byBzdWNjZWVkXG4gICAgICAgICAgICB0ZXJyYWZvcm1Nb2R1bGVzOiBbXSxcbiAgICAgICAgICAgIG91dHB1dDogXCJtb2R1bGVzXCIsXG4gICAgICAgICAgICBwcm9qZWN0SWQ6XG4gICAgICAgICAgICAgIG9wdGlvbnMucHJvamVjdElkIHx8XG4gICAgICAgICAgICAgIFwiaHlicmlkLW1vZHVsZS1mYjczNGRiYS1lYWM5LTQ2NmMtOTZiYi03ZWI5YzQwNmMyOGFcIixcbiAgICAgICAgICB9LFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgMlxuICAgICAgICApLFxuICAgICAgICBcIl9fdGVzdHNfXy9pbmRleC10ZXN0LnRzXCI6IGNvbnN0cnVjdFRlc3RDb2RlLnRyaW0oKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAob3B0aW9ucy50ZXJyYWZvcm1FeGFtcGxlcyAmJiBvcHRpb25zLnRlcnJhZm9ybUV4YW1wbGVzLmVuYWJsZWQpIHtcbiAgICAgIGNvbnN0IHByb3ZpZGVyQ29uZmlnID1cbiAgICAgICAgb3B0aW9ucy50ZXJyYWZvcm1FeGFtcGxlcy5wcm92aWRlckNvbmZpZyB8fFxuICAgICAgICBgXG50ZXJyYWZvcm0ge1xuICAjIFRlcnJhZm9ybSBiaW5hcnkgdmVyc2lvbiBjb25zdHJhaW50XG4gIHJlcXVpcmVkX3ZlcnNpb24gPSBcIj49IDEuMi4wXCJcblxuICAjIERlZmluZSBhbGwgbmVlZGVkIHByb3ZpZGVycyBoZXJlLCB5b3UgY2FuIGZpbmQgYWxsIGF2YWlsYWJsZSBwcm92aWRlcnMgaGVyZTpcbiAgIyBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9cbiAgcmVxdWlyZWRfcHJvdmlkZXJzIHt9XG59XG5cbiMgSW5pdGlhbGl6ZSB5b3VyIHByb3ZpZGVyIGhlcmVcblxuYC50cmltKCk7XG4gICAgICBjb25zdCBleGFtcGxlc0ZvbGRlciA9XG4gICAgICAgIG9wdGlvbnMudGVycmFmb3JtRXhhbXBsZXMuZm9sZGVyIHx8IFwidGVycmFmb3JtLWV4YW1wbGVzXCI7XG5cbiAgICAgIG5ldyBTYW1wbGVEaXIodGhpcywgZXhhbXBsZXNGb2xkZXIsIHtcbiAgICAgICAgZmlsZXM6IHtcbiAgICAgICAgICBcIm1haW4udGZcIjpcbiAgICAgICAgICAgIG9wdGlvbnMudGVycmFmb3JtRXhhbXBsZXMuZXhhbXBsZUNvZGUgfHxcbiAgICAgICAgICAgIGAjIENvbmZpZ3VyZSB5b3UgbW9kdWxlIGhlcmVgLFxuICAgICAgICAgIFwiUkVBRE1FLm1kXCI6IHRlcnJhZm9ybVJlYWRtZURvY3MudHJpbSgpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIG5ldyBIQ0xGaWxlKFxuICAgICAgICB0aGlzLFxuICAgICAgICBwYXRoLmpvaW4oZXhhbXBsZXNGb2xkZXIsIFwicHJvdmlkZXIudGZcIiksXG4gICAgICAgIHByb3ZpZGVyQ29uZmlnXG4gICAgICApO1xuXG4gICAgICB0aGlzLmdpdGlnbm9yZS5hZGRQYXR0ZXJucyhcbiAgICAgICAgYCR7ZXhhbXBsZXNGb2xkZXJ9Ly50ZXJyYWZvcm1gLFxuICAgICAgICBgJHtleGFtcGxlc0ZvbGRlcn0vLnRlcnJhZm9ybS5sb2NrLmhjbGBcbiAgICAgICk7XG5cbiAgICAgIG5ldyBTY3JpcHRGaWxlKFxuICAgICAgICB0aGlzLFxuICAgICAgICBcIi4vc2NyaXB0cy90Zi1tb2R1bGUtdGVzdC5zaFwiLFxuICAgICAgICBgIyEvYmluL2Jhc2hcbiMgVGhpcyBzY3JpcHQgaXMgY3JlYXRlZCBieSBwcm9qZW4sIGRvIG5vdCBlZGl0IGl0IGRpcmVjdGx5Llxuc2V0IC1lXG5cbnRlcnJhZm9ybSAtY2hkaXI9JHtleGFtcGxlc0ZvbGRlcn0gaW5pdCAtLXVwZ3JhZGVcbnRlcnJhZm9ybSAtY2hkaXI9JHtleGFtcGxlc0ZvbGRlcn0gZm10XG50ZXJyYWZvcm0gLWNoZGlyPSR7ZXhhbXBsZXNGb2xkZXJ9IHZhbGlkYXRlXG4ke29wdGlvbnMucnVuUGxhbiA/IGB0ZXJyYWZvcm0gLWNoZGlyPSR7ZXhhbXBsZXNGb2xkZXJ9IHBsYW5gIDogXCJcIn1cbiAgICAgICAgICBgXG4gICAgICApO1xuXG4gICAgICB0aGlzLnRlc3RUYXNrLmV4ZWMoXCIuL3NjcmlwdHMvdGYtbW9kdWxlLXRlc3Quc2hcIik7XG4gICAgICB0aGlzLmplc3Q/LmFkZElnbm9yZVBhdHRlcm4oYDxyb290RGlyPi8ke2V4YW1wbGVzRm9sZGVyfWApO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmNvbnN0cnVjdEV4YW1wbGVzICYmIG9wdGlvbnMuY29uc3RydWN0RXhhbXBsZXMuZW5hYmxlZCkge1xuICAgICAgY29uc3QgY29uc3RydWN0RXhhbXBsZUZvbGRlciA9XG4gICAgICAgIG9wdGlvbnMuY29uc3RydWN0RXhhbXBsZXMuZm9sZGVyIHx8IFwiY29uc3RydWN0LWV4YW1wbGVzXCI7XG5cbiAgICAgIGNvbnN0IGxldmVscyA9IGNvbnN0cnVjdEV4YW1wbGVGb2xkZXJcbiAgICAgICAgLnNwbGl0KFwiL1wiKVxuICAgICAgICAuc3BsaWNlKDAsIDEpXG4gICAgICAgIC5tYXAoKCkgPT4gXCIuLlwiKVxuICAgICAgICAuam9pbihcIi9cIik7XG5cbiAgICAgIGNvbnN0IGNvbnN0cnVjdFJlYWRtZURvY3MgPSBgXG4jIENvbnN0cnVjdCBFeGFtcGxlc1xuXG5FeGFtcGxlIHVzZS1jYXNlcyBmb3IgdGhlIENvbnN0cnVjdCBsaWJyYXJ5LlxuXG4tIFtCYXNpYyBVc2FnZV0oLi9iYXNpYy50cylcblxuVG8gZW5zdXJlIGFsbCBleGFtcGxlcyBhcmUgd29ya2luZywgcGxlYXNlIG1ha2Ugc3VyZSB0aGUgW2luZGV4LnRzXSguL2luZGV4LnRzKSBmaWxlIGlzIGltcG9ydGluZyBhbGwgb2YgdGhlbS5cbmA7XG5cbiAgICAgIGNvbnN0IGNvbnN0cnVjdEV4YW1wbGVDb2RlID0gYFxuaW1wb3J0IHsgVGVycmFmb3JtU3RhY2sgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmltcG9ydCB7IE15Q29uc3RydWN0IH0gZnJvbSBcIiR7bGV2ZWxzfS9zcmMvXCI7XG5cbmV4cG9ydCBjbGFzcyBCYXNpY0V4YW1wbGUgZXh0ZW5kcyBUZXJyYWZvcm1TdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIG5hbWU6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBuYW1lKTtcblxuICAgIG5ldyBNeUNvbnN0cnVjdCh0aGlzLCBcIm15LWNvbnN0cnVjdFwiLCB7XG4gICAgICBwcm9wZXJ0eUE6IFwidmFsdWVBXCIsXG4gICAgfSk7XG4gIH1cbn1cblxuXG5gO1xuXG4gICAgICBjb25zdCBleGFtcGxlQ29sbGVjdGlvbkNvZGUgPSBgXG4vLyBUaGlzIGZpbGUgd2lsbCBiZSBzeW50aGVzaXplZCB0byBjaGVjayBpZiBhbGwgZXhhbXBsZXMgYXJlIHdvcmtpbmdcblxuaW1wb3J0IHsgQXBwIH0gZnJvbSBcImNka3RmXCI7XG4vLyBBbGwgZXhhbXBsZXMgbmVlZCB0byBiZSBpbXBvcnRlZCBoZXJlXG5pbXBvcnQgeyBCYXNpY0V4YW1wbGUgfSBmcm9tIFwiLi9iYXNpY1wiO1xuXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5cbi8vIEFsbCBleGFtcGxlcyBuZWVkIHRvIGJlIGluaXRpYWxpemVkIGhlcmVcbm5ldyBCYXNpY0V4YW1wbGUoYXBwLCBcImJhc2ljLWV4YW1wbGVcIik7XG5hcHAuc3ludGgoKTtcbmA7XG5cbiAgICAgIG5ldyBTYW1wbGVEaXIodGhpcywgY29uc3RydWN0RXhhbXBsZUZvbGRlciwge1xuICAgICAgICBmaWxlczoge1xuICAgICAgICAgIFwiaW5kZXgudHNcIjogZXhhbXBsZUNvbGxlY3Rpb25Db2RlLnRyaW0oKSxcbiAgICAgICAgICBcImJhc2ljLnRzXCI6IGNvbnN0cnVjdEV4YW1wbGVDb2RlLnRyaW0oKSxcbiAgICAgICAgICBcImNka3RmLmpzb25cIjogSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGxhbmd1YWdlOiBcInR5cGVzY3JpcHRcIixcbiAgICAgICAgICAgICAgYXBwOiBgbnB4IHRzLW5vZGUgLS1wcm9qZWN0ICR7bGV2ZWxzfS90c2NvbmZpZy5kZXYuanNvbiBpbmRleC50c2AsXG4gICAgICAgICAgICAgIHByb2plY3RJZDpcbiAgICAgICAgICAgICAgICBvcHRpb25zLnByb2plY3RJZCB8fFxuICAgICAgICAgICAgICAgIFwiaHlicmlkLW1vZHVsZS1mYjczNGRiYS1lYWM5LTQ2NmMtOTZiYi03ZWI5YzQwNmMyOGFcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgMlxuICAgICAgICAgICksXG4gICAgICAgICAgXCJSRUFETUUubWRcIjogY29uc3RydWN0UmVhZG1lRG9jcy50cmltKCksXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgdGhpcy50ZXN0VGFzay5leGVjKGBjZGt0ZiBzeW50aGAsIHtcbiAgICAgICAgY3dkOiBjb25zdHJ1Y3RFeGFtcGxlRm9sZGVyLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmdpdGlnbm9yZS5hZGRQYXR0ZXJucyhgJHtjb25zdHJ1Y3RFeGFtcGxlRm9sZGVyfS9jZGt0Zi5vdXRgKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZXR1cFRlcnJhZm9ybVN0ZXAgPSB7XG4gICAgICBuYW1lOiBcIlNldHVwIFRlcnJhZm9ybVwiLFxuICAgICAgdXNlczogXCJoYXNoaWNvcnAvc2V0dXAtdGVycmFmb3JtXCIsXG4gICAgICB3aXRoOiB7XG4gICAgICAgIHRlcnJhZm9ybV93cmFwcGVyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBjb25zdCBidWlsZFN0ZXBzID0gKHRoaXMuYnVpbGRXb3JrZmxvdyBhcyBhbnkpLnByZUJ1aWxkU3RlcHMgYXMgSm9iU3RlcFtdO1xuICAgIGNvbnN0IHJlbGVhc2VTdGVwcyA9ICh0aGlzLnJlbGVhc2UgYXMgYW55KS5kZWZhdWx0QnJhbmNoLndvcmtmbG93LmpvYnNcbiAgICAgIC5yZWxlYXNlLnN0ZXBzO1xuICAgIGJ1aWxkU3RlcHMucHVzaChzZXR1cFRlcnJhZm9ybVN0ZXApO1xuICAgIHJlbGVhc2VTdGVwcy5zcGxpY2UoMSwgMCwgc2V0dXBUZXJyYWZvcm1TdGVwKTtcblxuICAgIHRoaXMuZ2l0aWdub3JlLmFkZFBhdHRlcm5zKFwic3JjLy5nZW5cIiwgXCJzcmMvY2RrdGYub3V0XCIsIFwic3JjL21vZHVsZXNcIik7XG4gICAgdGhpcy5jb21waWxlVGFzay5wcmVwZW5kRXhlYyhcIm5weCBjZGt0ZiBnZXRcIiwge1xuICAgICAgY3dkOiB0aGlzLnNyY2RpcixcbiAgICB9KTtcbiAgICB0aGlzLmNvbXBpbGVUYXNrLmV4ZWMoXCJjZGt0ZiBzeW50aFwiLCB7XG4gICAgICBjd2Q6IHRoaXMuc3JjZGlyLFxuICAgICAgbmFtZTogXCJTeW50aGVzaXplIG1vZHVsZSBIQ0xcIixcbiAgICB9KTtcblxuICAgIG5ldyBTY3JpcHRGaWxlKFxuICAgICAgdGhpcyxcbiAgICAgIFwic2NyaXB0cy9jb3B5LW1vZHVsZXMuc2hcIixcbiAgICAgIGBcbiMhL2Jpbi9iYXNoXG4jIFRoaXMgc2NyaXB0IGlzIGNyZWF0ZWQgYnkgcHJvamVuLCBkbyBub3QgZWRpdCBpdCBkaXJlY3RseS5cbnNldCAtZVxuXG5TQ1JJUFRQQVRIPVwiJCggY2QgLS0gXCIkKGRpcm5hbWUgXCIkMFwiKVwiID4vZGV2L251bGwgMj4mMSA7IHB3ZCAtUCApXCJcblxuIyBjaGVjayBpZiB0aGUgbW9kdWxlIGZvbGRlciBoYXMgYmVlbiBnZW5lcmF0ZWQgYXMgZXhwZWN0ZWRcbk1PRFVMRVNfRk9MREVSPSQoIGNkIC0tIFwiJFNDUklQVFBBVEgvLi4vc3JjL21vZHVsZXMvc3RhY2tzXCIgPi9kZXYvbnVsbCAyPiYxIDsgcHdkIC1QIClcblNSQ19GT0xERVI9JCggY2QgLS0gXCIkU0NSSVBUUEFUSC8uLi9zcmMvXCIgPi9kZXYvbnVsbCAyPiYxIDsgcHdkIC1QIClcblRBUkdFVF9GT0xERVI9XCIkU0NSSVBUUEFUSC8uLi9tb2R1bGVzXCJcblxuaWYgWyAhIC1kIFwiJE1PRFVMRVNfRk9MREVSXCIgXTsgdGhlblxuICBlY2hvIFwiRXhwZWN0ZWQgbW9kdWxlIGZvbGRlciB0byBleGlzdCBhdCAkTU9EVUxFU19GT0xERVJcIlxuICBleGl0IDFcbmZpXG5cbmNkIFwiJE1PRFVMRVNfRk9MREVSXCJcbmZvciBkIGluICovIDsgZG9cbiAgICBbIC1MIFwiXFwke2QlL31cIiBdICYmIGNvbnRpbnVlXG5cbiAgICBkaXJuYW1lPVwiXFwke2QlL31cIlxuXG5cbiAgICAjIENoZWNrIGlmIGV2ZXJ5dGhpbmcgaXMgaW4gcGxhY2VcbiAgICBpZiBbICEgLWYgXCIkTU9EVUxFU19GT0xERVIvJGRpcm5hbWUvY2RrLnRmLmpzb25cIiBdOyB0aGVuXG4gICAgICBlY2hvIFwiRXhwZWN0ZWQgY29kZSBmb3IgJGRpcm5hbWUgYXQgY2RrLnRmLmpzb24gdG8gZXhpc3QgYXQgJE1PRFVMRVNfRk9MREVSLyRkaXJuYW1lXCJcbiAgICAgIGV4aXQgMVxuICAgIGZpXG5cbiAgICBpZiBbICEgLWYgXCIkU1JDX0ZPTERFUi8kZGlybmFtZS5tZFwiIF07IHRoZW5cbiAgICAgIGVjaG8gXCJFeHBlY3RlZCBEb2N1bWVudGF0aW9uIGZvciAkZGlybmFtZSBhdCAkZGlybmFtZS5tZCB0byBleGlzdCBhdCAkU1JDX0ZPTERFUi8kZGlybmFtZS5tZFwiXG4gICAgICBleGl0IDFcbiAgICBmaVxuXG4gICAgIyBDb3B5IG1vZHVsZSBhbmQgcmVhZG1lIHRvZ2V0aGVyXG4gICAgZWNobyBcIkNvcHlpbmcgQ29kZSBhbmQgUkVBRE1FIGZvciBtb2R1bGUgJGRpcm5hbWVcIlxuICAgIG1rZGlyIC1wIFwiJFRBUkdFVF9GT0xERVJcIlxuICAgIG1rZGlyIC1wIFwiJFRBUkdFVF9GT0xERVIvJGRpcm5hbWVcIlxuICAgIGNwIFwiJE1PRFVMRVNfRk9MREVSLyRkaXJuYW1lL2Nkay50Zi5qc29uXCIgXCIkVEFSR0VUX0ZPTERFUi8kZGlybmFtZS9jZGsudGYuanNvblwiXG4gICAgY3AgXCIkU1JDX0ZPTERFUi8kZGlybmFtZS5tZFwiIFwiJFRBUkdFVF9GT0xERVIvJGRpcm5hbWUvUkVBRE1FLm1kXCJcblxuICAgICMgQWRkIFJFQURNRSBoY2wgZG9jc1xuICAgIGlmIHdoaWNoIHRlcnJhZm9ybS1kb2NzID4vZGV2L251bGw7IHRoZW5cbiAgICAgIHRlcnJhZm9ybS1kb2NzIG1hcmtkb3duIHRhYmxlIC0tb3V0cHV0LWZpbGUgXCIkVEFSR0VUX0ZPTERFUi8kZGlybmFtZS9SRUFETUUubWRcIiBcIiRUQVJHRVRfRk9MREVSLyRkaXJuYW1lXCIgXG4gICAgZWxzZVxuICAgICAgZG9ja2VyIHJ1biAtLXJtIC0tdm9sdW1lIFwiJFNDUklQVFBBVEgvLi4vbW9kdWxlczovdGVycmFmb3JtLWRvY3NcIiAtdSAkKGlkIC11KSBxdWF5LmlvL3RlcnJhZm9ybS1kb2NzL3RlcnJhZm9ybS1kb2NzOjAuMTYuMCBtYXJrZG93biB0YWJsZSAtLW91dHB1dC1maWxlIFwiL3RlcnJhZm9ybS1kb2NzLyRkaXJuYW1lL1JFQURNRS5tZFwiIC90ZXJyYWZvcm0tZG9jcy8kZGlybmFtZVxuICAgIGZpXG5kb25lXG5gLnRyaW0oKVxuICAgICk7XG4gICAgdGhpcy5jb21waWxlVGFzay5leGVjKFwiLi9zY3JpcHRzL2NvcHktbW9kdWxlcy5zaFwiLCB7XG4gICAgICBuYW1lOiBcIkNvcHkgSENMIE1vZHVsZXNcIixcbiAgICB9KTtcblxuICAgIC8vIGlnbm9yZSBkaXN0IGluIHRlc3RzXG4gICAgdGhpcy5qZXN0Py5hZGRJZ25vcmVQYXR0ZXJuKFwiZGlzdFwiKTtcbiAgfVxufVxuIl19
@@ -89,5 +89,5 @@ describe("MyModule", () => {
89
89
  }
90
90
  exports.TerraformModule = TerraformModule;
91
91
  _a = JSII_RTTI_SYMBOL_1;
92
- TerraformModule[_a] = { fqn: "projen-cdktf-hybrid-construct.TerraformModule", version: "0.8.7" };
92
+ TerraformModule[_a] = { fqn: "projen-cdktf-hybrid-construct.TerraformModule", version: "0.9.1" };
93
93
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7OztHQUdHO0FBRUgsbUNBQXVEO0FBQ3ZELHdDQUEyRTtBQUczRSx5Q0FBc0M7QUF3Q3RDOzs7O0dBSUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEsc0JBQWdCO0lBQ25ELFlBQVksT0FBK0I7UUFDekMsS0FBSyxDQUFDO1lBQ0osR0FBRyxtQkFBUTtZQUNYLEdBQUcsT0FBTztZQUNWLGFBQWEsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsYUFBYSxFQUFFO2dCQUN0RCxZQUFZLEVBQUUsS0FBSzthQUNwQixDQUFDO1lBQ0YsY0FBYyxFQUFFLEVBQUU7WUFDbEIsV0FBVyxFQUFFLFFBQVE7WUFDckIsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGdEQUFnRDtTQUM5RSxDQUFDLENBQUM7UUFDSCxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUM7UUFDOUQsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksSUFBSSxRQUFRLENBQUM7UUFFdEQsTUFBTSxnQkFBZ0IsR0FBRzs7Ozs7Q0FLNUIsQ0FBQztRQUVFLE1BQU0saUJBQWlCLEdBQUc7Ozs7Ozs7O0NBUTdCLENBQUM7UUFFRSxJQUFJLENBQUMsV0FBVyxDQUNkLGdCQUFnQixnQkFBZ0IsRUFBRSxFQUNsQyxXQUFXLFlBQVksRUFBRSxDQUMxQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FDYixVQUFVLFlBQVksRUFBRSxFQUN4QixjQUFjLFlBQVksRUFBRSxFQUM1QixrQkFBa0IsRUFDbEIscUJBQXFCLENBQ3RCLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUUxQyxJQUFJLGtCQUFTLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDL0IsS0FBSyxFQUFFO2dCQUNMLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7Z0JBQ25DLHlCQUF5QixFQUFFLGlCQUFpQixDQUFDLElBQUksRUFBRTthQUNwRDtTQUNGLENBQUMsQ0FBQztRQUNILElBQUksaUJBQVEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxzQkFBc0IsRUFBRTtZQUN2RCxTQUFTLEVBQUUsSUFBSTtZQUNmLE1BQU0sRUFBRSxJQUFJO1lBQ1osS0FBSyxFQUFFO2dCQUNMLEdBQUcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUNyQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsaUNBQWlDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FDakU7Z0JBQ0QsRUFBRTthQUNIO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxpQkFBUSxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLGFBQWEsRUFBRTtZQUM5QyxTQUFTLEVBQUUsSUFBSTtZQUNmLEdBQUcsRUFBRTtnQkFDSCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsR0FBRyxFQUFFLHNCQUFzQjtnQkFDM0Isa0JBQWtCLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixJQUFJLEVBQUU7Z0JBQ3BELGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0I7Z0JBQzFDLFNBQVMsRUFDUCxPQUFPLENBQUMsU0FBUztvQkFDakIsdURBQXVEO2FBQzFEO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLE1BQU0sa0JBQWtCLEdBQUc7WUFDekIsSUFBSSxFQUFFLGlCQUFpQjtZQUN2QixJQUFJLEVBQUUsMkJBQTJCO1lBQ2pDLElBQUksRUFBRTtnQkFDSixpQkFBaUIsRUFBRSxLQUFLO2FBQ3pCO1NBQ0YsQ0FBQztRQUNGLE1BQU0sVUFBVSxHQUFJLElBQUksQ0FBQyxhQUFxQixDQUFDLGFBQTBCLENBQUM7UUFDMUUsTUFBTSxZQUFZLEdBQUksSUFBSSxDQUFDLE9BQWUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUk7YUFDbkUsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNqQixVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDcEMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDaEQsQ0FBQzs7QUF4RkgsMENBeUZDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jLlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbiAqL1xuXG5pbXBvcnQgeyBKc29uRmlsZSwgU2FtcGxlRGlyLCBUZXh0RmlsZSB9IGZyb20gXCJwcm9qZW5cIjtcbmltcG9ydCB7IENvbnN0cnVjdExpYnJhcnksIENvbnN0cnVjdExpYnJhcnlPcHRpb25zIH0gZnJvbSBcInByb2plbi9saWIvY2RrXCI7XG5pbXBvcnQgeyBKb2JTdGVwIH0gZnJvbSBcInByb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbFwiO1xuXG5pbXBvcnQgeyBkZWZhdWx0cyB9IGZyb20gXCIuL2RlZmF1bHRzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVycmFmb3JtVmVyc2lvbkNvbnN0cmFpbnQge1xuICAvLyBuYW1lIG9mIHRoZSBtb2R1bGVcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICAvLyBwYXRoIC8gdXJsIC8gcmVnaXN0cnkgaWRlbnRpZmllciBmb3IgdGhlIG1vZHVsZVxuICByZWFkb25seSBzb3VyY2U6IHN0cmluZztcbiAgLy8gdmVyc2lvbiBjb25zdHJhaW50IChodHRwczovL3d3dy50ZXJyYWZvcm0uaW8vZG9jcy9sYW5ndWFnZS9wcm92aWRlcnMvcmVxdWlyZW1lbnRzLmh0bWwjdmVyc2lvbi1jb25zdHJhaW50cylcbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybU1vZHVsZU9wdGlvbnMgZXh0ZW5kcyBDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBNaW5pbXVtIHRhcmdldCB2ZXJzaW9uIG9mIHRoaXMgbGlicmFyeS5cbiAgICogQGRlZmF1bHQgXCIwLjIwLjBcIlxuICAgKiBAZmVhdHVyZWRcbiAgICovXG4gIHJlYWRvbmx5IGNka3RmVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQ29uc3RydWN0IHZlcnNpb24gdG8gdXNlXG4gICAqIEBkZWZhdWx0IFwiXjEwLjAuMTA3XCJcbiAgICovXG4gIHJlYWRvbmx5IGNvbnN0cnVjdFZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqICBMaXN0IG9mIHByb3ZpZGVyIGJpbmRpbmdzIHRvIGdlbmVyYXRlIGluIGFkZGl0aW9uIHRvIHRoZSBtb2R1bGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgdGVycmFmb3JtUHJvdmlkZXJzPzogVGVycmFmb3JtVmVyc2lvbkNvbnN0cmFpbnRbXTtcblxuICAvKipcbiAgICogTGlzdCBvZiBtb2R1bGVzIHRvIGdlbmVyYXRlIGJpbmRpbmdzIGZvci5cbiAgICogQGZlYXR1cmVkXG4gICAqL1xuICByZWFkb25seSB0ZXJyYWZvcm1Nb2R1bGVzOiBUZXJyYWZvcm1WZXJzaW9uQ29uc3RyYWludFtdO1xuXG4gIC8vIERlZmF1bHRlZCB0byBhIHV1aWQgc3RyaW5nIGFzIGNka3RmIHdvdWxkXG4gIHJlYWRvbmx5IHByb2plY3RJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBUZXJyYWZvcm0gTW9kdWxlcyByZXB1Ymxpc2hlZCBhcyBDREtURiBDb25zdHJ1Y3RzXG4gKlxuICogQHBqaWQgdGVycmFmb3JtLW1vZHVsZVxuICovXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtTW9kdWxlIGV4dGVuZHMgQ29uc3RydWN0TGlicmFyeSB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFRlcnJhZm9ybU1vZHVsZU9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICAuLi5kZWZhdWx0cyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBlc2xpbnRPcHRpb25zOiBPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zLmVzbGludE9wdGlvbnMsIHtcbiAgICAgICAgbGludFByb2plblJjOiBmYWxzZSxcbiAgICAgIH0pLFxuICAgICAgcG9zdEJ1aWxkU3RlcHM6IFtdLFxuICAgICAganNpaVZlcnNpb246IFwifjUuNC4wXCIsXG4gICAgICB0eXBlc2NyaXB0VmVyc2lvbjogXCJ+NS40LjBcIiwgLy8gc2hvdWxkIGFsd2F5cyBiZSB0aGUgc2FtZSBtYWpvci9taW5vciBhcyBKU0lJXG4gICAgfSk7XG4gICAgY29uc3QgY29uc3RydWN0VmVyc2lvbiA9IG9wdGlvbnMuY29uc3RydWN0VmVyc2lvbiB8fCBcIjEwLjQuMlwiO1xuICAgIGNvbnN0IGNka3RmVmVyc2lvbiA9IG9wdGlvbnMuY2RrdGZWZXJzaW9uIHx8IFwiMC4yMC4wXCI7XG5cbiAgICBjb25zdCBjb25zdHJ1Y3RTcmNDb2RlID0gYFxuLy8gUmUtRXhwb3J0IG1vZHVsZSBiaW5kaW5nc1xuZXhwb3J0ICogZnJvbSBcIi4vdGVycmFmb3JtTW9kdWxlc1wiO1xuXG4vLyBBZGQgeW91ciBjdXN0b20gY29uc3RydWN0cyBoZXJlXG5gO1xuXG4gICAgY29uc3QgY29uc3RydWN0VGVzdENvZGUgPSBgXG4vLyBpbXBvcnQgeyBUZXN0aW5nIH0gZnJvbSBcImNka3RmXCI7XG4vLyBpbXBvcnQgXCJjZGt0Zi9saWIvdGVzdGluZy9hZGFwdGVycy9qZXN0XCI7XG5cbi8vIFRvIGxlYXJuIG1vcmUgYWJvdXQgdGVzdGluZyBzZWUgY2RrLnRmL3Rlc3RpbmdcbmRlc2NyaWJlKFwiTXlNb2R1bGVcIiwgKCkgPT4ge1xuICBpdC50b2RvKFwic2hvdWxkIGJlIHRlc3RlZFwiKVxufSk7XG5gO1xuXG4gICAgdGhpcy5hZGRQZWVyRGVwcyhcbiAgICAgIGBjb25zdHJ1Y3RzQD49JHtjb25zdHJ1Y3RWZXJzaW9ufWAsXG4gICAgICBgY2RrdGZAPj0ke2Nka3RmVmVyc2lvbn1gXG4gICAgKTtcbiAgICB0aGlzLmFkZERldkRlcHMoXG4gICAgICBgY2RrdGZAfiR7Y2RrdGZWZXJzaW9ufWAsXG4gICAgICBgY2RrdGYtY2xpQH4ke2Nka3RmVmVyc2lvbn1gLFxuICAgICAgXCJ0cy1ub2RlQD49MTAuOS4xXCIsXG4gICAgICBcImpzaWktZG9jZ2VuQF4xMC4wLjBcIlxuICAgICk7XG4gICAgdGhpcy5hZGRLZXl3b3JkcyhcImNka3RmXCIsIFwiY2RrdGYtaHlicmlkXCIpO1xuXG4gICAgbmV3IFNhbXBsZURpcih0aGlzLCB0aGlzLnNyY2Rpciwge1xuICAgICAgZmlsZXM6IHtcbiAgICAgICAgXCJpbmRleC50c1wiOiBjb25zdHJ1Y3RTcmNDb2RlLnRyaW0oKSxcbiAgICAgICAgXCJfX3Rlc3RzX18vaW5kZXgtdGVzdC50c1wiOiBjb25zdHJ1Y3RUZXN0Q29kZS50cmltKCksXG4gICAgICB9LFxuICAgIH0pO1xuICAgIG5ldyBUZXh0RmlsZSh0aGlzLCBgJHt0aGlzLnNyY2Rpcn0vdGVycmFmb3JtTW9kdWxlcy50c2AsIHtcbiAgICAgIGNvbW1pdHRlZDogdHJ1ZSxcbiAgICAgIG1hcmtlcjogdHJ1ZSxcbiAgICAgIGxpbmVzOiBbXG4gICAgICAgIC4uLihvcHRpb25zLnRlcnJhZm9ybU1vZHVsZXMgfHwgW10pLm1hcChcbiAgICAgICAgICAodGZNb2R1bGUpID0+IGBleHBvcnQgKiBmcm9tIFwiLi8uZ2VuL21vZHVsZXMvJHt0Zk1vZHVsZS5uYW1lfVwiO2BcbiAgICAgICAgKSxcbiAgICAgICAgXCJcIixcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBuZXcgSnNvbkZpbGUodGhpcywgYCR7dGhpcy5zcmNkaXJ9L2Nka3RmLmpzb25gLCB7XG4gICAgICBjb21taXR0ZWQ6IHRydWUsXG4gICAgICBvYmo6IHtcbiAgICAgICAgbGFuZ3VhZ2U6IFwidHlwZXNjcmlwdFwiLFxuICAgICAgICBhcHA6IFwibnB4IHRzLW5vZGUgaW5kZXgudHNcIixcbiAgICAgICAgdGVycmFmb3JtUHJvdmlkZXJzOiBvcHRpb25zLnRlcnJhZm9ybVByb3ZpZGVycyB8fCBbXSxcbiAgICAgICAgdGVycmFmb3JtTW9kdWxlczogb3B0aW9ucy50ZXJyYWZvcm1Nb2R1bGVzLFxuICAgICAgICBwcm9qZWN0SWQ6XG4gICAgICAgICAgb3B0aW9ucy5wcm9qZWN0SWQgfHxcbiAgICAgICAgICBcInRlcnJhZm9ybS1tb2R1bGUtOTlhNzcwYTctM2VjNS00MGY3LThjZDMtZGJjNzJmNzVhMDBhXCIsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5wcmVDb21waWxlVGFzay5leGVjKGBucHggY2RrdGYgZ2V0YCwgeyBjd2Q6IHRoaXMuc3JjZGlyIH0pO1xuXG4gICAgY29uc3Qgc2V0dXBUZXJyYWZvcm1TdGVwID0ge1xuICAgICAgbmFtZTogXCJTZXR1cCBUZXJyYWZvcm1cIixcbiAgICAgIHVzZXM6IFwiaGFzaGljb3JwL3NldHVwLXRlcnJhZm9ybVwiLFxuICAgICAgd2l0aDoge1xuICAgICAgICB0ZXJyYWZvcm1fd3JhcHBlcjogZmFsc2UsXG4gICAgICB9LFxuICAgIH07XG4gICAgY29uc3QgYnVpbGRTdGVwcyA9ICh0aGlzLmJ1aWxkV29ya2Zsb3cgYXMgYW55KS5wcmVCdWlsZFN0ZXBzIGFzIEpvYlN0ZXBbXTtcbiAgICBjb25zdCByZWxlYXNlU3RlcHMgPSAodGhpcy5yZWxlYXNlIGFzIGFueSkuZGVmYXVsdEJyYW5jaC53b3JrZmxvdy5qb2JzXG4gICAgICAucmVsZWFzZS5zdGVwcztcbiAgICBidWlsZFN0ZXBzLnB1c2goc2V0dXBUZXJyYWZvcm1TdGVwKTtcbiAgICByZWxlYXNlU3RlcHMuc3BsaWNlKDEsIDAsIHNldHVwVGVycmFmb3JtU3RlcCk7XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -44,11 +44,12 @@
44
44
  "@types/fs-extra": "^9.0.13",
45
45
  "@types/glob": "^7.2.0",
46
46
  "@types/jest": "^29",
47
- "@types/node": "^18",
47
+ "@types/node": "ts5.4",
48
48
  "@types/semver": "^7.5.8",
49
49
  "@typescript-eslint/eslint-plugin": "^7",
50
50
  "@typescript-eslint/parser": "^7",
51
51
  "comment-json": "^4.2.5",
52
+ "commit-and-tag-version": "^12",
52
53
  "constructs": "10.4.2",
53
54
  "eslint": "^8",
54
55
  "eslint-config-prettier": "^8.10.0",
@@ -61,20 +62,19 @@
61
62
  "jest-junit": "^15",
62
63
  "jsii": "~5.4.0",
63
64
  "jsii-diff": "^1.106.0",
64
- "jsii-docgen": "^10.6.2",
65
+ "jsii-docgen": "^10.5.0",
65
66
  "jsii-pacmak": "^1.106.0",
66
67
  "jsii-rosetta": "~5.4.0",
67
68
  "prettier": "^2.8.8",
68
- "projen": "0.85.0",
69
+ "projen": "0.88.0",
69
70
  "semver": "^7.6.3",
70
- "standard-version": "^9",
71
71
  "ts-jest": "^29",
72
72
  "ts-node": "10.9.1",
73
73
  "typescript": "~5.4.0"
74
74
  },
75
75
  "peerDependencies": {
76
76
  "constructs": "^10.4.2",
77
- "projen": ">= 0.85.0"
77
+ "projen": ">= 0.88.0"
78
78
  },
79
79
  "dependencies": {
80
80
  "change-case": "^4.1.2"
@@ -87,7 +87,7 @@
87
87
  "publishConfig": {
88
88
  "access": "public"
89
89
  },
90
- "version": "0.8.7",
90
+ "version": "0.9.1",
91
91
  "jest": {
92
92
  "coverageProvider": "v8",
93
93
  "testMatch": [