diff --git a/.projen/deps.json b/.projen/deps.json
index 5a89d32..b162b51 100644
--- a/.projen/deps.json
+++ b/.projen/deps.json
@@ -127,7 +127,7 @@
},
{
"name": "constructs",
- "version": "^10.0.25",
+ "version": "^10.3.0",
"type": "peer"
}
],
diff --git a/.projenrc.ts b/.projenrc.ts
index 8c84a5c..1fe47a0 100644
--- a/.projenrc.ts
+++ b/.projenrc.ts
@@ -28,7 +28,7 @@ const githubActionPinnedVersions = {
"peter-evans/create-pull-request": "67ccf781d68cd99b580ae25a5c18a1cc84ffff1f", // v7.0.6
};
-const constructsVersion = "10.0.25";
+const constructsVersion = "10.3.0";
/** JSII and TS should always use the same major/minor version range */
const typescriptVersion = "~5.5.0";
const project = new ConstructLibraryCdktf({
diff --git a/README.md b/README.md
index 3eeebd1..aaa34ef 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@ By using the software in this repository, you acknowledge that:
## Compatibility
* `cdktf` >= 0.20.0
-* `constructs` >= 10.0.25
+* `constructs` >= 10.3.0
## Available Packages
diff --git a/docs/csharp.md b/docs/csharp.md
index d1574c4..8668d7e 100644
--- a/docs/csharp.md
+++ b/docs/csharp.md
@@ -139,7 +139,7 @@ Adds this resource to the terraform JSON output.
---
-##### ~~`IsConstruct`~~
+##### `IsConstruct`
```csharp
using HashiCorp.Cdktf.TfModuleStack;
@@ -149,6 +149,20 @@ ProviderRequirement.IsConstruct(object X);
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `X`Required
- *Type:* object
@@ -378,7 +392,7 @@ Synthesizes all resources to the output directory.
---
-##### ~~`IsConstruct`~~
+##### `IsConstruct`
```csharp
using HashiCorp.Cdktf.TfModuleStack;
@@ -388,6 +402,20 @@ TFModuleApp.IsConstruct(object X);
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `X`Required
- *Type:* object
@@ -649,7 +677,7 @@ private object ToTerraform()
---
-##### ~~`IsConstruct`~~
+##### `IsConstruct`
```csharp
using HashiCorp.Cdktf.TfModuleStack;
@@ -659,6 +687,20 @@ TFModuleOutput.IsConstruct(object X);
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `X`Required
- *Type:* object
@@ -1005,7 +1047,7 @@ private object ToTerraform()
---
-##### ~~`IsConstruct`~~
+##### `IsConstruct`
```csharp
using HashiCorp.Cdktf.TfModuleStack;
@@ -1015,6 +1057,20 @@ TFModuleStack.IsConstruct(object X);
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `X`Required
- *Type:* object
@@ -1259,7 +1315,7 @@ private System.Collections.Generic.IDictionary SynthesizeHclAttr
---
-##### ~~`IsConstruct`~~
+##### `IsConstruct`
```csharp
using HashiCorp.Cdktf.TfModuleStack;
@@ -1269,6 +1325,20 @@ TFModuleVariable.IsConstruct(object X);
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `X`Required
- *Type:* object
diff --git a/docs/java.md b/docs/java.md
index 1816535..1033928 100644
--- a/docs/java.md
+++ b/docs/java.md
@@ -139,7 +139,7 @@ Adds this resource to the terraform JSON output.
---
-##### ~~`isConstruct`~~
+##### `isConstruct`
```java
import com.hashicorp.cdktf.tf_module_stack.ProviderRequirement;
@@ -149,6 +149,20 @@ ProviderRequirement.isConstruct(java.lang.Object x)
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `x`Required
- *Type:* java.lang.Object
@@ -436,7 +450,7 @@ Synthesizes all resources to the output directory.
---
-##### ~~`isConstruct`~~
+##### `isConstruct`
```java
import com.hashicorp.cdktf.tf_module_stack.TFModuleApp;
@@ -446,6 +460,20 @@ TFModuleApp.isConstruct(java.lang.Object x)
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `x`Required
- *Type:* java.lang.Object
@@ -752,7 +780,7 @@ public java.lang.Object toTerraform()
---
-##### ~~`isConstruct`~~
+##### `isConstruct`
```java
import com.hashicorp.cdktf.tf_module_stack.TFModuleOutput;
@@ -762,6 +790,20 @@ TFModuleOutput.isConstruct(java.lang.Object x)
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `x`Required
- *Type:* java.lang.Object
@@ -1108,7 +1150,7 @@ public java.lang.Object toTerraform()
---
-##### ~~`isConstruct`~~
+##### `isConstruct`
```java
import com.hashicorp.cdktf.tf_module_stack.TFModuleStack;
@@ -1118,6 +1160,20 @@ TFModuleStack.isConstruct(java.lang.Object x)
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `x`Required
- *Type:* java.lang.Object
@@ -1430,7 +1486,7 @@ public java.util.Map synthesizeHclAttributes
---
-##### ~~`isConstruct`~~
+##### `isConstruct`
```java
import com.hashicorp.cdktf.tf_module_stack.TFModuleVariable;
@@ -1440,6 +1496,20 @@ TFModuleVariable.isConstruct(java.lang.Object x)
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `x`Required
- *Type:* java.lang.Object
diff --git a/docs/python.md b/docs/python.md
index e381f24..a917206 100644
--- a/docs/python.md
+++ b/docs/python.md
@@ -149,7 +149,7 @@ Adds this resource to the terraform JSON output.
---
-##### ~~`is_construct`~~
+##### `is_construct`
```python
import cdktf_tf_module_stack
@@ -161,6 +161,20 @@ cdktf_tf_module_stack.ProviderRequirement.is_construct(
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `x`Required
- *Type:* typing.Any
@@ -456,7 +470,7 @@ Synthesizes all resources to the output directory.
---
-##### ~~`is_construct`~~
+##### `is_construct`
```python
import cdktf_tf_module_stack
@@ -468,6 +482,20 @@ cdktf_tf_module_stack.TFModuleApp.is_construct(
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `x`Required
- *Type:* typing.Any
@@ -785,7 +813,7 @@ def to_terraform() -> typing.Any
---
-##### ~~`is_construct`~~
+##### `is_construct`
```python
import cdktf_tf_module_stack
@@ -797,6 +825,20 @@ cdktf_tf_module_stack.TFModuleOutput.is_construct(
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `x`Required
- *Type:* typing.Any
@@ -1163,7 +1205,7 @@ def to_terraform() -> typing.Any
---
-##### ~~`is_construct`~~
+##### `is_construct`
```python
import cdktf_tf_module_stack
@@ -1175,6 +1217,20 @@ cdktf_tf_module_stack.TFModuleStack.is_construct(
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `x`Required
- *Type:* typing.Any
@@ -1511,7 +1567,7 @@ def synthesize_hcl_attributes() -> typing.Mapping[typing.Any]
---
-##### ~~`is_construct`~~
+##### `is_construct`
```python
import cdktf_tf_module_stack
@@ -1523,6 +1579,20 @@ cdktf_tf_module_stack.TFModuleVariable.is_construct(
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `x`Required
- *Type:* typing.Any
diff --git a/docs/typescript.md b/docs/typescript.md
index c104ea7..e7fe265 100644
--- a/docs/typescript.md
+++ b/docs/typescript.md
@@ -139,7 +139,7 @@ Adds this resource to the terraform JSON output.
---
-##### ~~`isConstruct`~~
+##### `isConstruct`
```typescript
import { ProviderRequirement } from '@cdktf/tf-module-stack'
@@ -149,6 +149,20 @@ ProviderRequirement.isConstruct(x: any)
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `x`Required
- *Type:* any
@@ -378,7 +392,7 @@ Synthesizes all resources to the output directory.
---
-##### ~~`isConstruct`~~
+##### `isConstruct`
```typescript
import { TFModuleApp } from '@cdktf/tf-module-stack'
@@ -388,6 +402,20 @@ TFModuleApp.isConstruct(x: any)
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `x`Required
- *Type:* any
@@ -649,7 +677,7 @@ public toTerraform(): any
---
-##### ~~`isConstruct`~~
+##### `isConstruct`
```typescript
import { TFModuleOutput } from '@cdktf/tf-module-stack'
@@ -659,6 +687,20 @@ TFModuleOutput.isConstruct(x: any)
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `x`Required
- *Type:* any
@@ -1005,7 +1047,7 @@ public toTerraform(): any
---
-##### ~~`isConstruct`~~
+##### `isConstruct`
```typescript
import { TFModuleStack } from '@cdktf/tf-module-stack'
@@ -1015,6 +1057,20 @@ TFModuleStack.isConstruct(x: any)
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `x`Required
- *Type:* any
@@ -1259,7 +1315,7 @@ public synthesizeHclAttributes(): {[ key: string ]: any}
---
-##### ~~`isConstruct`~~
+##### `isConstruct`
```typescript
import { TFModuleVariable } from '@cdktf/tf-module-stack'
@@ -1269,6 +1325,20 @@ TFModuleVariable.isConstruct(x: any)
Checks if `x` is a construct.
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
+
###### `x`Required
- *Type:* any
diff --git a/package.json b/package.json
index 9184c91..08209e0 100644
--- a/package.json
+++ b/package.json
@@ -51,7 +51,7 @@
"@typescript-eslint/parser": "^8",
"cdktf": "0.20.0",
"commit-and-tag-version": "^12",
- "constructs": "10.0.25",
+ "constructs": "10.3.0",
"eslint": "^9",
"eslint-config-prettier": "^8.10.0",
"eslint-import-resolver-typescript": "^2.7.1",
@@ -73,7 +73,7 @@
},
"peerDependencies": {
"cdktf": ">=0.20.0",
- "constructs": "^10.0.25"
+ "constructs": "^10.3.0"
},
"keywords": [
"cdk",
diff --git a/yarn.lock b/yarn.lock
index dd288a0..8b90590 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1600,10 +1600,10 @@ concat-stream@^2.0.0:
readable-stream "^3.0.2"
typedarray "^0.0.6"
-constructs@10.0.25:
- version "10.0.25"
- resolved "https://registry.yarnpkg.com/constructs/-/constructs-10.0.25.tgz#c2f03fb4da134105fdf5382f4c1557b89d90aeeb"
- integrity sha512-QxY4A7caIW1tI5ztbdZHKU/nWXiqluujmEVj5xCVhFhoBgOqU4ja3z3zXY4DUn2nf+PLxCjulf+viQ/h9RXB8A==
+constructs@10.3.0:
+ version "10.3.0"
+ resolved "https://registry.yarnpkg.com/constructs/-/constructs-10.3.0.tgz#4c246fce9cf8e77711ad45944e9fbd41f1501965"
+ integrity sha512-vbK8i3rIb/xwZxSpTjz3SagHn1qq9BChLEfy5Hf6fB3/2eFbrwt2n9kHwQcS0CPTRBesreeAcsJfMq2229FnbQ==
constructs@^10.0.0:
version "10.4.2"