diff --git a/.all-contributorsrc b/.all-contributorsrc
index ca64019365..44f3ee6556 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -1384,6 +1384,15 @@
"contributions": [
"bug"
]
+ },
+ {
+ "login": "3p3r",
+ "name": "Sepehr Laal",
+ "avatar_url": "https://avatars.githubusercontent.com/u/5657848?v=4",
+ "profile": "https://sepehrlaal.com/",
+ "contributions": [
+ "bug"
+ ]
}
],
"repoType": "github",
diff --git a/.github/workflows/docker-images.yml b/.github/workflows/docker-images.yml
index fa974bfb38..0786e26839 100644
--- a/.github/workflows/docker-images.yml
+++ b/.github/workflows/docker-images.yml
@@ -62,14 +62,14 @@ jobs:
shell: bash
- name: Set up QEMU
- uses: docker/setup-qemu-action@v1
+ uses: docker/setup-qemu-action@v2
with:
platforms: arm64
- name: Set up docker buildx
id: buildx
if: steps.should-run.outputs.result == 'true'
- uses: docker/setup-buildx-action@v1
+ uses: docker/setup-buildx-action@v2
# We only restore GH cache if we are not going to publish the result (i.e: PR validation)
- name: Set up layer cache
diff --git a/.github/workflows/yarn-upgrade.yml b/.github/workflows/yarn-upgrade.yml
index b48d39225c..4bf279c26f 100644
--- a/.github/workflows/yarn-upgrade.yml
+++ b/.github/workflows/yarn-upgrade.yml
@@ -70,13 +70,13 @@ jobs:
# We special-case typescript because it's not semantically versionned, and major.minor is the API contract
run: |-
# Upgrade devDependencies at repository root
- ncu --upgrade --target=minor --filter=@types/node
+ ncu --upgrade --target=minor --filter=@types/node,ts-jest,@jest/types,jest-config,jest-circus
ncu --upgrade --target=patch --filter=typescript
- ncu --upgrade --target=latest --reject=@types/node,typescript
+ ncu --upgrade --target=latest --reject=@types/node,typescript,ts-jest,@jest/types,jest-config,jest-circus
# Upgrade all production dependencies (and other always major-pinned dependencies)
lerna exec --parallel ncu -- --upgrade --target=minor \
- --filter='${{ steps.production-dependencies.outputs.list }}' \
+ --filter='ts-jest,${{ steps.production-dependencies.outputs.list }}' \
--reject='typescript,${{ steps.monorepo-packages.outputs.list }}'
# Upgrade all minor-pinned dependencies
@@ -85,7 +85,7 @@ jobs:
# Upgrade all other dependencies (devDependencies) to the latest
lerna exec --parallel ncu -- --upgrade --target=latest \
- --reject='@types/node,typescript,${{ steps.production-dependencies.outputs.list }},${{ steps.monorepo-packages.outputs.list }}'
+ --reject='@types/node,typescript,ts-jest,${{ steps.production-dependencies.outputs.list }},${{ steps.monorepo-packages.outputs.list }}'
# This will ensure the current lockfile is up-to-date with the dependency specifications (necessary for "yarn update" to run)
- name: Run "yarn install"
diff --git a/.gitignore b/.gitignore
index 85bbd6119b..81cf6295c9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,6 +7,7 @@ tsconfig.tsbuildinfo
.vs
dist/
.vscode
+*.map
*.tsbuildinfo
*.tabl.json
*.swp
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 73b87ba0d6..16581e5bae 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,19 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
+## [1.59.0](https://github.com/aws/jsii/compare/v1.58.0...v1.59.0) (2022-05-16)
+
+
+### Features
+
+* **jsii:** enable source maps for declaration files ([#3521](https://github.com/aws/jsii/issues/3521)) ([2751ca8](https://github.com/aws/jsii/commit/2751ca852ee751d3d7a49ee991004f3b5a6bde21))
+
+
+### Bug Fixes
+
+* **jsii:** deprecation warnings use this.constructor before calling super ([#3528](https://github.com/aws/jsii/issues/3528)) ([5d5f435](https://github.com/aws/jsii/commit/5d5f435c9ce32e6a1e76afe27b7ef810200bde58)), closes [#3527](https://github.com/aws/jsii/issues/3527)
+* **python:** cannot import nested submodules ([#3540](https://github.com/aws/jsii/issues/3540)) ([8ef8ef2](https://github.com/aws/jsii/commit/8ef8ef2fe1e5559ef77a5b7ba0dbb67f52329927)), closes [#3408](https://github.com/aws/jsii/issues/3408)
+
## [1.58.0](https://github.com/aws/jsii/compare/v1.57.0...v1.58.0) (2022-05-06)
diff --git a/README.md b/README.md
index 4d7272f5bf..5de4145a1d 100644
--- a/README.md
+++ b/README.md
@@ -192,46 +192,49 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Sam Goodwin 👀 |
Sebastian Korfmann 🐛 💻 🤔 |
+ Sepehr Laal 🐛 |
Shane Witbeck 🤔 |
Shiv Lakshminarayan 💻 🚧 👀 |
Somaya 💻 🤔 🚧 👀 |
The Gitter Badger 💻 🚧 |
- Thomas Poignant 🐛 |
+ Thomas Poignant 🐛 |
Thomas Steinbach 🐛 |
Thorsten Hoeger 💻 |
Tim Wagner 🐛 🤔 |
Tobias Lidskog 💻 |
Ty Coghlan 🐛 |
Tyler van Hensbergen 🤔 |
- Vlad Hrybok 🐛 |
+ Vlad Hrybok 🐛 |
Vladimir Shchur 🐛 |
Yan Zhulanow 💻 |
Yigong Liu 🐛 🤔 |
Zach Bienenfeld 🐛 |
ajnarang 🤔 |
aniljava 💻 |
- arnogeurts-sqills 🐛 💻 |
+ arnogeurts-sqills 🐛 💻 |
deccy-mcc 🐛 |
dependabot-preview[bot] 🐛 🚧 |
dependabot[bot] 🚧 |
dheffx 🐛 |
gregswdl 🐛 |
guyroberts21 📖 |
- mattBrzezinski 📖 |
+ mattBrzezinski 📖 |
mergify 🚧 |
mergify[bot] 🚧 |
nathannaveen 🚧 |
seiyashima42 🐛 💻 📖 |
sullis 💻 |
vaneek 🐛 |
+
+
wendysophie 🐛 |
diff --git a/gh-pages/requirements-dev.txt b/gh-pages/requirements-dev.txt
index bc96bb9cf9..e008e9a6fb 100644
--- a/gh-pages/requirements-dev.txt
+++ b/gh-pages/requirements-dev.txt
@@ -1,4 +1,4 @@
mkdocs~=1.3.0
mkdocs-awesome-pages-plugin~=2.7.0
-mkdocs-material~=8.2.13
+mkdocs-material~=8.2.14
mkdocs-git-revision-date-plugin~=0.3.2
diff --git a/lerna.json b/lerna.json
index e0d6e372c4..51cd50d537 100644
--- a/lerna.json
+++ b/lerna.json
@@ -10,5 +10,5 @@
"rejectCycles": true
}
},
- "version": "1.58.0"
+ "version": "1.59.0"
}
diff --git a/package.json b/package.json
index 73832efe3c..1a6a8fc938 100644
--- a/package.json
+++ b/package.json
@@ -16,10 +16,10 @@
},
"devDependencies": {
"@jest/types": "^27.5.1",
- "@typescript-eslint/eslint-plugin": "^5.20.0",
- "@typescript-eslint/parser": "^5.20.0",
+ "@typescript-eslint/eslint-plugin": "^5.23.0",
+ "@typescript-eslint/parser": "^5.23.0",
"all-contributors-cli": "^6.20.0",
- "eslint": "^8.13.0",
+ "eslint": "^8.15.0",
"eslint-config-prettier": "^8.5.0",
"eslint-import-resolver-node": "^0.3.6",
"eslint-import-resolver-typescript": "^2.7.1",
diff --git a/packages/@fixtures/jsii-calc-bundled/.gitignore b/packages/@fixtures/jsii-calc-bundled/.gitignore
index 108da0b619..cf062d954a 100644
--- a/packages/@fixtures/jsii-calc-bundled/.gitignore
+++ b/packages/@fixtures/jsii-calc-bundled/.gitignore
@@ -11,3 +11,4 @@ node_modules/
coverage/
!index.js
+*.d.ts.map
diff --git a/packages/@jsii/Directory.Build.targets b/packages/@jsii/Directory.Build.targets
index 44d2832570..531d7d9bcf 100644
--- a/packages/@jsii/Directory.Build.targets
+++ b/packages/@jsii/Directory.Build.targets
@@ -13,7 +13,7 @@
-
+
diff --git a/packages/@jsii/benchmarks/.gitignore b/packages/@jsii/benchmarks/.gitignore
index 6c6558b43c..58720b500e 100644
--- a/packages/@jsii/benchmarks/.gitignore
+++ b/packages/@jsii/benchmarks/.gitignore
@@ -1,3 +1,4 @@
output.txt
*.d.ts
*.js
+*.d.ts.map
diff --git a/packages/@jsii/benchmarks/bin/benchmark.ts b/packages/@jsii/benchmarks/bin/benchmark.ts
index 0d555540d7..dfc75114e7 100644
--- a/packages/@jsii/benchmarks/bin/benchmark.ts
+++ b/packages/@jsii/benchmarks/bin/benchmark.ts
@@ -37,7 +37,7 @@ interface ResultsJson {
(async () => {
/* eslint-disable-next-line @typescript-eslint/await-thenable */
- const argv = await yargs
+ const argv = yargs
.command('$0', 'Runs jsii benchmark tests and displays results', (argv) =>
argv.option('output', {
type: 'string',
diff --git a/packages/@jsii/benchmarks/package.json b/packages/@jsii/benchmarks/package.json
index 6f4ad3d3c3..e571f6639c 100644
--- a/packages/@jsii/benchmarks/package.json
+++ b/packages/@jsii/benchmarks/package.json
@@ -5,14 +5,14 @@
"description": "the jsii benchmark suite",
"main": "index.js",
"dependencies": {
- "fs-extra": "^10.0.1",
+ "fs-extra": "^10.1.0",
"jsii": "^0.0.0",
"tar": "^6.1.11",
"yargs": "^16.2.0"
},
"devDependencies": {
"@types/glob": "^7.2.0",
- "eslint": "^8.13.0",
+ "eslint": "^8.15.0",
"glob": "^8.0.1",
"jsii-calc": "^3.20.120",
"prettier": "^2.6.2",
diff --git a/packages/@jsii/check-node/.gitignore b/packages/@jsii/check-node/.gitignore
index 0a8075016e..c720dc66aa 100644
--- a/packages/@jsii/check-node/.gitignore
+++ b/packages/@jsii/check-node/.gitignore
@@ -5,3 +5,4 @@ dist
node_modules/
.nyc_output/
coverage/
+*.d.ts.map
diff --git a/packages/@jsii/check-node/package.json b/packages/@jsii/check-node/package.json
index b123296cb3..1d334ea64f 100644
--- a/packages/@jsii/check-node/package.json
+++ b/packages/@jsii/check-node/package.json
@@ -41,8 +41,8 @@
},
"devDependencies": {
"@types/chalk": "^2.2.0",
- "@types/jest": "^27.4.1",
- "@types/node": "^12.20.48",
+ "@types/jest": "^27.5.0",
+ "@types/node": "^12.20.50",
"jest": "^27.5.1"
}
}
diff --git a/packages/@jsii/dotnet-runtime-test/.gitignore b/packages/@jsii/dotnet-runtime-test/.gitignore
index 18ef3033c8..07f5a58800 100644
--- a/packages/@jsii/dotnet-runtime-test/.gitignore
+++ b/packages/@jsii/dotnet-runtime-test/.gitignore
@@ -22,3 +22,4 @@ node_modules/
.nyc_output/
coverage/
.nuget/
+*.d.ts.map
diff --git a/packages/@jsii/dotnet-runtime-test/package.json b/packages/@jsii/dotnet-runtime-test/package.json
index 6896ff44f4..226b9821ba 100644
--- a/packages/@jsii/dotnet-runtime-test/package.json
+++ b/packages/@jsii/dotnet-runtime-test/package.json
@@ -31,7 +31,7 @@
},
"devDependencies": {
"@jsii/dotnet-runtime": "^0.0.0",
- "@types/node": "^12.20.48",
+ "@types/node": "^12.20.50",
"jsii-calc": "^3.20.120",
"jsii-pacmak": "^0.0.0",
"typescript": "~3.9.10"
diff --git a/packages/@jsii/dotnet-runtime/.gitignore b/packages/@jsii/dotnet-runtime/.gitignore
index c9cb60dbb8..ceff263cb4 100644
--- a/packages/@jsii/dotnet-runtime/.gitignore
+++ b/packages/@jsii/dotnet-runtime/.gitignore
@@ -25,3 +25,4 @@ obj/
# consumed by generate.sh
!*.t.js
+*.d.ts.map
diff --git a/packages/@jsii/dotnet-runtime/package.json b/packages/@jsii/dotnet-runtime/package.json
index acf8792618..377672fc8c 100644
--- a/packages/@jsii/dotnet-runtime/package.json
+++ b/packages/@jsii/dotnet-runtime/package.json
@@ -39,7 +39,7 @@
},
"devDependencies": {
"@jsii/runtime": "^0.0.0",
- "@types/node": "^12.20.48",
+ "@types/node": "^12.20.50",
"@types/semver": "^7.3.9",
"jsii-build-tools": "^0.0.0",
"semver": "^7.3.7",
diff --git a/packages/@jsii/go-runtime-test/.gitignore b/packages/@jsii/go-runtime-test/.gitignore
index cfabfbd25d..811e292730 100644
--- a/packages/@jsii/go-runtime-test/.gitignore
+++ b/packages/@jsii/go-runtime-test/.gitignore
@@ -5,3 +5,4 @@
# Ignore our test files
project/compliance-report.json
+*.d.ts.map
diff --git a/packages/@jsii/go-runtime/.gitignore b/packages/@jsii/go-runtime/.gitignore
index bf1001874b..4b852cf163 100644
--- a/packages/@jsii/go-runtime/.gitignore
+++ b/packages/@jsii/go-runtime/.gitignore
@@ -7,3 +7,4 @@
*.d.ts
!jsii-runtime-go/internal/kernel/process/jsii-mock-runtime.js
+*.d.ts.map
diff --git a/packages/@jsii/go-runtime/package.json b/packages/@jsii/go-runtime/package.json
index a488578c1a..2b2a31bbec 100644
--- a/packages/@jsii/go-runtime/package.json
+++ b/packages/@jsii/go-runtime/package.json
@@ -24,9 +24,9 @@
},
"devDependencies": {
"@types/fs-extra": "^9.0.13",
- "@types/node": "^12.20.48",
+ "@types/node": "^12.20.50",
"codemaker": "^0.0.0",
- "eslint": "^8.13.0",
+ "eslint": "^8.15.0",
"fs-extra": "^9.1.0",
"jsii-build-tools": "^0.0.0",
"jsii-calc": "^3.20.120",
diff --git a/packages/@jsii/integ-test/.gitignore b/packages/@jsii/integ-test/.gitignore
index 4ec96f4e9d..101d91ca5a 100644
--- a/packages/@jsii/integ-test/.gitignore
+++ b/packages/@jsii/integ-test/.gitignore
@@ -1,2 +1,4 @@
.env
*.js
+*.d.ts
+*.d.ts.map
diff --git a/packages/@jsii/integ-test/package.json b/packages/@jsii/integ-test/package.json
index 98ca1cff0c..c934d666b2 100644
--- a/packages/@jsii/integ-test/package.json
+++ b/packages/@jsii/integ-test/package.json
@@ -5,7 +5,7 @@
"private": true,
"scripts": {
"build": "tsc --build && npm run lint",
- "lint": "eslint . --ext .ts --ignore-path=.gitignore",
+ "lint": "eslint . --ext .ts --ignore-pattern '*.d.ts' --ignore-path=.gitignore",
"lint:fix": "yarn lint --fix",
"test:integ": "jest",
"package": "package-private"
@@ -29,10 +29,10 @@
"devDependencies": {
"@types/dotenv": "^8.2.0",
"@types/fs-extra": "^9.0.13",
- "@types/jest": "^27.4.1",
- "@types/node": "^12.20.48",
+ "@types/jest": "^27.5.0",
+ "@types/node": "^12.20.50",
"@types/tar": "^6.1.1",
- "eslint": "^8.13.0",
+ "eslint": "^8.15.0",
"prettier": "^2.6.2",
"typescript": "~3.9.10"
}
diff --git a/packages/@jsii/integ-test/tsconfig.json b/packages/@jsii/integ-test/tsconfig.json
index 78bdd385b9..896dbdabe8 100644
--- a/packages/@jsii/integ-test/tsconfig.json
+++ b/packages/@jsii/integ-test/tsconfig.json
@@ -1,7 +1,7 @@
{
"compilerOptions": {
"composite": false,
- "declaration": false
+ "declaration": true
},
"extends": "../../../tsconfig-base",
"include": ["**/*.ts"],
diff --git a/packages/@jsii/java-runtime/.gitignore b/packages/@jsii/java-runtime/.gitignore
index ca6b4fe9f8..918272b9b6 100644
--- a/packages/@jsii/java-runtime/.gitignore
+++ b/packages/@jsii/java-runtime/.gitignore
@@ -4,3 +4,4 @@
*.d.ts
!*.t.js
maven-repo
+*.d.ts.map
diff --git a/packages/@jsii/java-runtime/package.json b/packages/@jsii/java-runtime/package.json
index 4dfb2a8b5b..3a3c46a1f0 100644
--- a/packages/@jsii/java-runtime/package.json
+++ b/packages/@jsii/java-runtime/package.json
@@ -33,7 +33,7 @@
},
"devDependencies": {
"@jsii/runtime": "^0.0.0",
- "@types/node": "^12.20.48",
+ "@types/node": "^12.20.50",
"jsii-build-tools": "^0.0.0",
"typescript": "~3.9.10"
}
diff --git a/packages/@jsii/kernel/.gitignore b/packages/@jsii/kernel/.gitignore
index 7cf6d2ef9c..39b2a4a784 100644
--- a/packages/@jsii/kernel/.gitignore
+++ b/packages/@jsii/kernel/.gitignore
@@ -1,5 +1,3 @@
-*.js
-*.d.ts
-node_modules/
-.nyc_output/
-coverage/
+/coverage/
+/lib/
+/node_modules/
diff --git a/packages/@jsii/kernel/.npmignore b/packages/@jsii/kernel/.npmignore
index 52e08aaf63..7653ff1370 100644
--- a/packages/@jsii/kernel/.npmignore
+++ b/packages/@jsii/kernel/.npmignore
@@ -1,9 +1,13 @@
-# Don't include original .ts files when doing `npm pack`
-*.ts
-!*.d.ts
+# Don't include the original source files
+/src/
-# Don't include various configuration & state information
-coverage
-.eslintrc.*
+# Don't include test files
+/coverage/
+/lib/**/*.test.*
+
+# No build tools & configuration
+/.eslintrc.yaml
+/jest.config.ts
tsconfig.json
+*.map
*.tsbuildinfo
diff --git a/packages/@jsii/kernel/package.json b/packages/@jsii/kernel/package.json
index 29ac834574..f8e675b729 100644
--- a/packages/@jsii/kernel/package.json
+++ b/packages/@jsii/kernel/package.json
@@ -39,10 +39,10 @@
"@scope/jsii-calc-base": "^0.0.0",
"@scope/jsii-calc-lib": "^0.0.0",
"@types/fs-extra": "^9.0.13",
- "@types/jest": "^27.4.1",
- "@types/node": "^12.20.48",
+ "@types/jest": "^27.5.0",
+ "@types/node": "^12.20.50",
"@types/tar": "^6.1.1",
- "eslint": "^8.13.0",
+ "eslint": "^8.15.0",
"jest": "^27.5.1",
"jest-expect-message": "^1.0.2",
"jsii-build-tools": "^0.0.0",
diff --git a/packages/@jsii/kernel/lib/api.ts b/packages/@jsii/kernel/src/api.ts
similarity index 100%
rename from packages/@jsii/kernel/lib/api.ts
rename to packages/@jsii/kernel/src/api.ts
diff --git a/packages/@jsii/kernel/lib/index.ts b/packages/@jsii/kernel/src/index.ts
similarity index 100%
rename from packages/@jsii/kernel/lib/index.ts
rename to packages/@jsii/kernel/src/index.ts
diff --git a/packages/@jsii/kernel/test/kernel.test.ts b/packages/@jsii/kernel/src/kernel.test.ts
similarity index 99%
rename from packages/@jsii/kernel/test/kernel.test.ts
rename to packages/@jsii/kernel/src/kernel.test.ts
index 68eb991bac..f4a7f72a52 100644
--- a/packages/@jsii/kernel/test/kernel.test.ts
+++ b/packages/@jsii/kernel/src/kernel.test.ts
@@ -5,7 +5,7 @@ import { join } from 'path';
import * as path from 'path';
import * as vm from 'vm';
-import { api, Kernel } from '../lib';
+import * as api from './api';
import {
Callback,
ObjRef,
@@ -14,7 +14,8 @@ import {
TOKEN_MAP,
WireStruct,
TOKEN_STRUCT,
-} from '../lib/api';
+} from './api';
+import { Kernel } from './kernel';
import { closeRecording, recordInteraction } from './recording';
/* eslint-disable require-atomic-updates */
diff --git a/packages/@jsii/kernel/lib/kernel.ts b/packages/@jsii/kernel/src/kernel.ts
similarity index 100%
rename from packages/@jsii/kernel/lib/kernel.ts
rename to packages/@jsii/kernel/src/kernel.ts
diff --git a/packages/@jsii/kernel/test/objects.test.ts b/packages/@jsii/kernel/src/objects.test.ts
similarity index 93%
rename from packages/@jsii/kernel/test/objects.test.ts
rename to packages/@jsii/kernel/src/objects.test.ts
index 2d11966e1c..53e0a610af 100644
--- a/packages/@jsii/kernel/test/objects.test.ts
+++ b/packages/@jsii/kernel/src/objects.test.ts
@@ -1,4 +1,4 @@
-import { ObjectTable } from '../lib/objects';
+import { ObjectTable } from './objects';
const mockResolve = jest.fn();
diff --git a/packages/@jsii/kernel/lib/objects.ts b/packages/@jsii/kernel/src/objects.ts
similarity index 100%
rename from packages/@jsii/kernel/lib/objects.ts
rename to packages/@jsii/kernel/src/objects.ts
diff --git a/packages/@jsii/kernel/lib/on-exit.ts b/packages/@jsii/kernel/src/on-exit.ts
similarity index 100%
rename from packages/@jsii/kernel/lib/on-exit.ts
rename to packages/@jsii/kernel/src/on-exit.ts
diff --git a/packages/@jsii/kernel/test/recording.ts b/packages/@jsii/kernel/src/recording.ts
similarity index 98%
rename from packages/@jsii/kernel/test/recording.ts
rename to packages/@jsii/kernel/src/recording.ts
index 0dd1f995c0..ba07c70541 100644
--- a/packages/@jsii/kernel/test/recording.ts
+++ b/packages/@jsii/kernel/src/recording.ts
@@ -1,6 +1,6 @@
import * as fs from 'fs-extra';
-import { Kernel } from '../lib';
+import { Kernel } from './kernel';
export async function closeRecording(kernel: Kernel): Promise {
const logfile: fs.WriteStream = (kernel as any).logfile;
diff --git a/packages/@jsii/kernel/test/serialization.test.ts b/packages/@jsii/kernel/src/serialization.test.ts
similarity index 97%
rename from packages/@jsii/kernel/test/serialization.test.ts
rename to packages/@jsii/kernel/src/serialization.test.ts
index 92b82388cb..b61ab42e9c 100644
--- a/packages/@jsii/kernel/test/serialization.test.ts
+++ b/packages/@jsii/kernel/src/serialization.test.ts
@@ -1,12 +1,12 @@
import { CANONICAL_ANY, OptionalValue, PrimitiveType } from '@jsii/spec';
-import { TOKEN_REF } from '../lib/api';
-import { ObjectTable } from '../lib/objects';
+import { TOKEN_REF } from './api';
+import { ObjectTable } from './objects';
import {
SerializationClass,
SerializerHost,
SERIALIZERS,
-} from '../lib/serialization';
+} from './serialization';
const TYPE_ANY: OptionalValue = { type: CANONICAL_ANY };
const TYPE_BOOLEAN: OptionalValue = {
diff --git a/packages/@jsii/kernel/lib/serialization.ts b/packages/@jsii/kernel/src/serialization.ts
similarity index 100%
rename from packages/@jsii/kernel/lib/serialization.ts
rename to packages/@jsii/kernel/src/serialization.ts
diff --git a/packages/@jsii/kernel/tsconfig.json b/packages/@jsii/kernel/tsconfig.json
index 27cdb8c0e7..636c8b11b5 100644
--- a/packages/@jsii/kernel/tsconfig.json
+++ b/packages/@jsii/kernel/tsconfig.json
@@ -1,8 +1,15 @@
{
"extends": "../../../tsconfig-base",
- "include": ["**/*.ts"],
- "exclude": ["jest.config.ts"],
+ "compilerOptions": {
+ "rootDir": "src",
+ "outDir": "lib",
+ },
+ "include": [
+ "src/**/*.ts"
+ ],
"references": [
- { "path": "../spec" },
+ {
+ "path": "../spec"
+ },
],
}
diff --git a/packages/@jsii/python-runtime/build-tools/deps.ts b/packages/@jsii/python-runtime/build-tools/deps.ts
index 637f71f9ed..ff84ded6ea 100644
--- a/packages/@jsii/python-runtime/build-tools/deps.ts
+++ b/packages/@jsii/python-runtime/build-tools/deps.ts
@@ -20,7 +20,7 @@ const env = {
runCommand(
python,
- ['-m', 'pip', 'install', '-r', resolve(__dirname, '..', 'requirements.txt')],
+ ['-m', 'pip', 'install', '--upgrade', '-r', resolve(__dirname, '..', 'requirements.txt')],
{ env },
);
diff --git a/packages/@jsii/python-runtime/pyproject.toml b/packages/@jsii/python-runtime/pyproject.toml
index bb3a114b3c..2660b27c0c 100644
--- a/packages/@jsii/python-runtime/pyproject.toml
+++ b/packages/@jsii/python-runtime/pyproject.toml
@@ -1,5 +1,5 @@
[build-system]
-requires = ["pip~=22.0", "setuptools~=62.1", "wheel~=0.37"]
+requires = ["setuptools~=62.2", "wheel~=0.37"]
build-backend = 'setuptools.build_meta'
[tool.black]
diff --git a/packages/@jsii/python-runtime/requirements.txt b/packages/@jsii/python-runtime/requirements.txt
index 35bb021571..099cf7aed2 100644
--- a/packages/@jsii/python-runtime/requirements.txt
+++ b/packages/@jsii/python-runtime/requirements.txt
@@ -1,9 +1,9 @@
black~=22.3
mypy==0.812
-pip~=22.0
+pip~=22.1
pytest~=7.1
pytest-mypy~=0.9
-setuptools~=62.1
+setuptools~=62.2
wheel~=0.37
-e .
diff --git a/packages/@jsii/runtime/.gitignore b/packages/@jsii/runtime/.gitignore
index cce840cc0f..f612ebeac8 100644
--- a/packages/@jsii/runtime/.gitignore
+++ b/packages/@jsii/runtime/.gitignore
@@ -9,3 +9,4 @@ node_modules/
coverage/
test/_tarballs/
+*.d.ts.map
diff --git a/packages/@jsii/runtime/package.json b/packages/@jsii/runtime/package.json
index 1709646078..1afa5a6a28 100644
--- a/packages/@jsii/runtime/package.json
+++ b/packages/@jsii/runtime/package.json
@@ -41,9 +41,9 @@
"devDependencies": {
"@scope/jsii-calc-base": "^0.0.0",
"@scope/jsii-calc-lib": "^0.0.0",
- "@types/jest": "^27.4.1",
- "@types/node": "^12.20.48",
- "eslint": "^8.13.0",
+ "@types/jest": "^27.5.0",
+ "@types/node": "^12.20.50",
+ "eslint": "^8.15.0",
"jest": "^27.5.1",
"jsii-build-tools": "^0.0.0",
"jsii-calc": "^3.20.120",
@@ -51,7 +51,7 @@
"source-map-loader": "^3.0.1",
"ts-jest": "^27.1.4",
"typescript": "~3.9.10",
- "webpack": "^5.72.0",
+ "webpack": "^5.72.1",
"webpack-cli": "^4.9.2"
}
}
diff --git a/packages/@jsii/runtime/test/playback.test.ts b/packages/@jsii/runtime/test/playback.test.ts
index b4bcdab792..4230b90a51 100644
--- a/packages/@jsii/runtime/test/playback.test.ts
+++ b/packages/@jsii/runtime/test/playback.test.ts
@@ -44,11 +44,11 @@ function createRecords(): string {
require.resolve('jest/bin/jest'),
'--no-coverage',
'--runInBand',
- 'test/kernel.test.ts',
+ 'src/kernel.test.ts',
],
{
cwd: path.resolve(
- require.resolve('@jsii/kernel/test/kernel.test.js'),
+ require.resolve('@jsii/kernel/lib/kernel.test.js'),
'..',
'..',
),
diff --git a/packages/@jsii/spec/.gitignore b/packages/@jsii/spec/.gitignore
index ab75aa27ca..ab6e4cf328 100644
--- a/packages/@jsii/spec/.gitignore
+++ b/packages/@jsii/spec/.gitignore
@@ -5,3 +5,4 @@ schema
node_modules/
.nyc_output/
coverage/
+*.d.ts.map
diff --git a/packages/@jsii/spec/lib/assembly.js.map b/packages/@jsii/spec/lib/assembly.js.map
new file mode 100644
index 0000000000..3dfd95c4c0
--- /dev/null
+++ b/packages/@jsii/spec/lib/assembly.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"assembly.js","sourceRoot":"","sources":["../src/assembly.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,OAAO,CAAC;AAmNtC;;GAEG;AACH,IAAY,aAEX;AAFD,WAAY,aAAa;IACvB,uCAAsB,CAAA;AACxB,CAAC,EAFW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAExB;AAsKD;;;;GAIG;AACH,IAAY,SA4BX;AA5BD,WAAY,SAAS;IACnB;;;;;OAKG;IACH,sCAAyB,CAAA;IAEzB;;;;;OAKG;IACH,0CAA6B,CAAA;IAE7B;;;OAGG;IACH,8BAAiB,CAAA;IAEjB;;;OAGG;IACH,kCAAqB,CAAA;AACvB,CAAC,EA5BW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QA4BpB;AAkDD;;GAEG;AACH,IAAY,cASX;AATD,WAAY,cAAc;IACxB;;OAEG;IACH,iCAAe,CAAA;IACf;;OAEG;IACH,6BAAW,CAAA;AACb,CAAC,EATW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QASzB;AAED;;GAEG;AACH,IAAY,aA+BX;AA/BD,WAAY,aAAa;IACvB;;OAEG;IACH,8BAAa,CAAA;IAEb;;OAEG;IACH,kCAAiB,CAAA;IAEjB;;OAEG;IACH,kCAAiB,CAAA;IAEjB;;OAEG;IACH,oCAAmB,CAAA;IAEnB;;OAEG;IACH,8BAAa,CAAA;IAEb;;;OAGG;IACH,4BAAW,CAAA;AACb,CAAC,EA/BW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QA+BxB;AA4BD;;GAEG;AACU,QAAA,aAAa,GAAqC;IAC7D,SAAS,EAAE,aAAa,CAAC,GAAG;CAC7B,CAAC;AAaF,SAAgB,oBAAoB,CAClC,GAA8B;;IAE9B,OAAO,CAAC,QAAE,GAA0B,0CAAE,GAAG,CAAA,CAAC;AAC5C,CAAC;AAJD,oDAIC;AAYD,SAAgB,wBAAwB,CACtC,GAA8B;;IAE9B,OAAO,CAAC,QAAE,GAA8B,0CAAE,SAAS,CAAA,CAAC;AACtD,CAAC;AAJD,4DAIC;AAkBD,SAAgB,yBAAyB,CACvC,GAA8B;;IAE9B,OAAO,CAAC,QAAE,GAA+B,0CAAE,UAAU,CAAA,CAAC;AACxD,CAAC;AAJD,8DAIC;AAmBD,SAAgB,oBAAoB,CAClC,GAA8B;;IAE9B,OAAO,CAAC,QAAE,GAA0B,0CAAE,KAAK,CAAA,CAAC;AAC9C,CAAC;AAJD,oDAIC;AAmKD;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,QAAkB;IACzC,OAAO,CAAC,CAAE,QAAmB,CAAC,IAAI,CAAC;AACrC,CAAC;AAFD,4BAEC;AA2DD;;GAEG;AACH,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,mCAAuB,CAAA;AACzB,CAAC,EAJW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAInB;AAoDD,SAAgB,WAAW,CAAC,IAAsB;IAChD,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,QAAQ,CAAC,KAAK,CAAC;AACvC,CAAC;AAFD,kCAEC;AAuCD,SAAgB,eAAe,CAAC,IAAsB;IACpD,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,QAAQ,CAAC,SAAS,CAAC;AAC3C,CAAC;AAFD,0CAEC;AAwBD,SAAgB,UAAU,CAAC,IAAsB;IAC/C,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,QAAQ,CAAC,IAAI,CAAC;AACtC,CAAC;AAFD,gCAEC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CACpC,IAAsB;IAEtB,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC;AAJD,wDAIC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,IAAoB;IACxD,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,OAAO,MAAM,CAAC;KACf;IAED,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC;KACjB;IAED,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IAED,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE;QACnC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,qBAAqB,CACrD,IAAI,CAAC,UAAU,CAAC,WAAW,CAC5B,GAAG,CAAC;KACN;IAED,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1E,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;AACjD,CAAC;AAzBD,sDAyBC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,MAAoB;;IAC/C,OAAO,OAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,0CAAE,SAAS,MAAK,SAAS,CAAC,UAAU,CAAC;AAC1D,CAAC;AAFD,oCAEC","sourcesContent":["export const SPEC_FILE_NAME = '.jsii';\n\n/**\n * A JSII assembly specification.\n */\nexport interface Assembly\n extends AssemblyConfiguration,\n Documentable,\n ReadMeContainer {\n /**\n * The version of the spec schema\n */\n schema: SchemaVersion.LATEST;\n\n /**\n * The name of the assembly\n *\n * @minLength 1\n */\n name: string;\n\n /**\n * Description of the assembly, maps to \"description\" from package.json\n * This is required since some package managers (like Maven) require it.\n */\n description: string;\n\n /**\n * The url to the project homepage. Maps to \"homepage\" from package.json.\n */\n homepage: string;\n\n /**\n * The module repository, maps to \"repository\" from package.json\n * This is required since some package managers (like Maven) require it.\n */\n repository: {\n /**\n * The type of the repository (``git``, ``svn``, ...)\n */\n type: string;\n\n /**\n * The URL of the repository.\n */\n url: string;\n\n /**\n * If the package is not in the root directory (for example, when part\n * of a monorepo), you should specify the directory in which it lives.\n *\n * @default the root of the repository\n */\n directory?: string;\n };\n\n /**\n * The main author of this package.\n */\n author: Person;\n\n /**\n * Additional contributors to this package.\n *\n * @default none\n */\n contributors?: Person[];\n\n /**\n * A fingerprint that can be used to determine if the specification has\n * changed.\n *\n * @minLength 1\n */\n fingerprint: string;\n\n /**\n * The version of the assembly\n * @minLength 1\n */\n version: string;\n\n /**\n * The version of the jsii compiler that was used to produce this Assembly.\n * @minLength 1\n */\n jsiiVersion: string;\n\n /**\n * The SPDX name of the license this assembly is distributed on.\n */\n license: string;\n\n /**\n * Arbitrary key-value pairs of metadata, which the maintainer chose to\n * document with the assembly. These entries do not carry normative\n * semantics and their interpretation is up to the assembly maintainer.\n *\n * @default none\n */\n metadata?: { [key: string]: any };\n\n /**\n * Keywords that help discover or identify this packages with respects to it's\n * intended usage, audience, etc... Where possible, this will be rendered in\n * the corresponding metadata section of idiomatic package manifests, for\n * example NuGet package tags.\n */\n keywords?: string[];\n\n /**\n * Direct dependencies on other assemblies (with semver), the key is the JSII\n * assembly name, and the value is a SemVer expression.\n *\n * @default none\n */\n dependencies?: { [assembly: string]: string };\n\n /**\n * Target configuration for all the assemblies that are direct or transitive\n * dependencies of this assembly. This is needed to generate correct native\n * type names for any transitively inherited member, in certain languages.\n *\n * @default none\n */\n dependencyClosure?: { [assembly: string]: DependencyConfiguration };\n\n /**\n * List if bundled dependencies (these are not expected to be jsii\n * assemblies).\n *\n * @default none\n */\n bundled?: { [module: string]: string };\n\n /**\n * All types in the assembly, keyed by their fully-qualified-name\n *\n * @default none\n */\n types?: { [fqn: string]: Type };\n\n /**\n * List of bin-scripts\n *\n * @default none\n */\n bin?: { readonly [script: string]: string };\n}\n\n/**\n * Shareable configuration of a jsii Assembly.\n */\nexport interface AssemblyConfiguration extends Targetable {\n /**\n * Submodules declared in this assembly.\n *\n * @default none\n */\n submodules?: { [fqn: string]: Submodule };\n}\n\nexport interface DependencyConfiguration extends Targetable {\n submodules?: { [fqn: string]: Targetable };\n}\n\n/**\n * A targetable module-like thing\n *\n * Has targets and a readme. Used for Assemblies and Submodules.\n */\nexport interface Targetable {\n /**\n * A map of target name to configuration, which is used when generating\n * packages for various languages.\n *\n * @default none\n */\n targets?: AssemblyTargets;\n}\n\n/**\n * Elements that can contain a `readme` property.\n */\nexport interface ReadMeContainer {\n /**\n * The readme document for this module (if any).\n *\n * @default none\n */\n readme?: ReadMe;\n}\n\n/**\n * README information\n */\nexport interface ReadMe {\n markdown: string;\n}\n\n/**\n * A submodule\n *\n * The difference between a top-level module (the assembly) and a submodule is\n * that the submodule is annotated with its location in the repository.\n */\nexport type Submodule = ReadMeContainer &\n SourceLocatable &\n Targetable &\n TypeScriptLocatable;\n\n/**\n * Versions of the JSII Assembly Specification.\n */\nexport enum SchemaVersion {\n LATEST = 'jsii/0.10.0',\n}\n\n/**\n * Fully Qualified Name\n */\nexport type FQN = string;\n\n/**\n * Metadata about people or organizations associated with the project that\n * resulted in the Assembly. Some of this metadata is required in order to\n * publish to certain package repositories (for example, Maven Central), but is\n * not normalized, and the meaning of fields (role, for example), is up to each\n * project maintainer.\n */\nexport interface Person {\n /**\n * The name of the person\n */\n name: string;\n\n /**\n * A list of roles this person has in the project, for example `maintainer`,\n * `contributor`, `owner`, ...\n */\n roles: string[];\n\n /**\n * The email of the person\n *\n * @default none\n */\n email?: string;\n\n /**\n * The URL for the person\n *\n * @default none\n */\n url?: string;\n\n /**\n * If true, this person is, in fact, an organization\n *\n * @default false\n */\n organization?: boolean;\n}\n\n/**\n * Configurable targets for an asembly.\n */\nexport interface AssemblyTargets {\n /**\n * Information about a particular language's targets\n */\n [language: string]: { [key: string]: any } | undefined;\n}\n\n/**\n * Where in the module source the definition for this API item was found\n */\nexport interface SourceLocation {\n /**\n * Relative filename\n */\n filename: string;\n\n /**\n * 1-based line number in the indicated file\n */\n line: number;\n}\n\n/**\n * Key value pairs of documentation nodes.\n * Based on TSDoc.\n */\nexport interface Docs {\n /**\n * Summary documentation for an API item.\n *\n * The first part of the documentation before hitting a `@remarks` tags, or\n * the first line of the doc comment block if there is no `@remarks` tag.\n *\n * @default none\n */\n summary?: string;\n\n /**\n * Detailed information about an API item.\n *\n * Either the explicitly tagged `@remarks` section, otherwise everything\n * past the first paragraph if there is no `@remarks` tag.\n *\n * @default none\n */\n remarks?: string;\n\n /**\n * If present, this block indicates that an API item is no longer supported\n * and may be removed in a future release. The `@deprecated` tag must be\n * followed by a sentence describing the recommended alternative.\n * Deprecation recursively applies to members of a container. For example,\n * if a class is deprecated, then so are all of its members.\n *\n * @default none\n */\n deprecated?: string;\n\n /**\n * The `@returns` block for this doc comment, or undefined if there is not\n * one.\n *\n * @default none\n */\n returns?: string;\n\n /**\n * Whether the API item is beta/experimental quality\n */\n stability?: Stability;\n\n /**\n * Example showing the usage of this API item\n *\n * Starts off in running text mode, may switch to code using fenced code\n * blocks.\n *\n * @default none\n */\n example?: string;\n\n /**\n * A `@see` link with more information\n *\n * @default none\n */\n see?: string;\n\n /**\n * Whether this class or interface was intended to be subclassed/implemented\n * by library users.\n *\n * Classes intended for subclassing, and interfaces intended to be\n * implemented by consumers, are held to stricter standards of API\n * compatibility.\n *\n * @default false\n */\n subclassable?: boolean;\n\n /**\n * Description of the default\n *\n * @default none\n */\n default?: string;\n\n /**\n * Custom tags that are not any of the default ones\n *\n * @default none\n */\n custom?: { [tag: string]: string };\n}\n\n/**\n * API Stability levels. These are modeled after the `node` stability index.\n *\n * @see https://nodejs.org/api/documentation.html#documentation_stability_index.\n */\nexport enum Stability {\n /**\n * The API may emit warnings. Backward compatibility is not guaranteed.\n *\n * More information about the deprecation can usually be found in the\n * `deprecated` field.\n */\n Deprecated = 'deprecated',\n\n /**\n * This API is still under active development and subject to non-backward\n * compatible changes or removal in any future version. Use of the API is\n * not recommended in production environments. Experimental APIs are not\n * subject to the Semantic Versioning model.\n */\n Experimental = 'experimental',\n\n /**\n * This API is subject to the Semantic Versioning model and may not change\n * in breaking ways in a subsequent minor or patch version.\n */\n Stable = 'stable',\n\n /**\n * This API is an representation of an API managed elsewhere and follows\n * the other API's versioning model.\n */\n External = 'external',\n}\n\n/**\n * Indicates that an entity is documentable.\n */\nexport interface Documentable {\n /**\n * Documentation for this entity.\n *\n * @default none\n */\n docs?: Docs;\n}\n\n/**\n * Indicates that an entity has a source location\n */\nexport interface SourceLocatable {\n /**\n * Where in the module this definition was found\n *\n * Why is this not `locationInAssembly`? Because the assembly is the JSII\n * file combining compiled code and its manifest, whereas this is referring\n * to the location of the source in the module the assembly was built from.\n *\n * @default none\n */\n locationInModule?: SourceLocation;\n}\n\n/**\n * Indicates that a jsii entity's origin can be traced to TypeScript code\n *\n * This is interface is not the same as `SourceLocatable`. SourceLocatable\n * identifies lines in source files in a source repository (in a `.ts` file,\n * with respect to a git root).\n *\n * On the other hand, `TypeScriptLocatable` identifies a symbol name inside a\n * potentially distributed TypeScript file (in either a `.d.ts` or `.ts`\n * file, with respect to the package root).\n */\nexport interface TypeScriptLocatable {\n /**\n * Unique string representation of the corresponding Typescript symbol\n *\n * Used to map from TypeScript code back into the assembly.\n */\n symbolId?: string;\n}\n\n/**\n * Kinds of collections.\n */\nexport enum CollectionKind {\n /**\n * An array, or a list of some element type.\n */\n Array = 'array',\n /**\n * A map of a string to some element type.\n */\n Map = 'map',\n}\n\n/**\n * Kinds of primitive types.\n */\nexport enum PrimitiveType {\n /**\n * A JSON date (represented as it's ISO-8601 string form).\n */\n Date = 'date',\n\n /**\n * A plain string.\n */\n String = 'string',\n\n /**\n * A number (integer or float).\n */\n Number = 'number',\n\n /**\n * A boolean value.\n */\n Boolean = 'boolean',\n\n /**\n * A JSON object\n */\n Json = 'json',\n\n /**\n * Value with \"any\" or \"unknown\" type (aka Object). Values typed `any` may\n * be `null` or `undefined`.\n */\n Any = 'any',\n}\n\n/**\n * A value that can possibly be optional.\n */\nexport interface OptionalValue {\n /**\n * Determines whether the value is, indeed, optional.\n *\n * @default false\n */\n optional?: boolean;\n\n /**\n * The declared type of the value, when it's present.\n */\n type: TypeReference;\n}\n\n/**\n * A reference to a type (primitive, collection or fqn).\n */\nexport type TypeReference =\n | NamedTypeReference\n | PrimitiveTypeReference\n | CollectionTypeReference\n | UnionTypeReference;\n\n/**\n * The standard representation of the `any` type (includes optionality marker).\n */\nexport const CANONICAL_ANY: Readonly = {\n primitive: PrimitiveType.Any,\n};\n\n/**\n * Reference to a named type, defined by this assembly or one of its\n * dependencies.\n */\nexport interface NamedTypeReference {\n /**\n * The fully-qualified-name of the type (can be located in the\n * ``spec.types[fqn]``` of the assembly that defines the type).\n */\n fqn: FQN;\n}\nexport function isNamedTypeReference(\n ref: TypeReference | undefined,\n): ref is NamedTypeReference {\n return !!(ref as NamedTypeReference)?.fqn;\n}\n\n/**\n * Reference to a primitive type.\n */\nexport interface PrimitiveTypeReference {\n /**\n * If this is a reference to a primitive type, this will include the\n * primitive type kind.\n */\n primitive: PrimitiveType;\n}\nexport function isPrimitiveTypeReference(\n ref: TypeReference | undefined,\n): ref is PrimitiveTypeReference {\n return !!(ref as PrimitiveTypeReference)?.primitive;\n}\n\n/**\n * Reference to a collection type.\n */\nexport interface CollectionTypeReference {\n collection: {\n /**\n * The kind of collection.\n */\n kind: CollectionKind;\n\n /**\n * The type of an element (map keys are always strings).\n */\n elementtype: TypeReference;\n };\n}\nexport function isCollectionTypeReference(\n ref: TypeReference | undefined,\n): ref is CollectionTypeReference {\n return !!(ref as CollectionTypeReference)?.collection;\n}\n\n/**\n * Reference to a union type.\n */\nexport interface UnionTypeReference {\n /**\n * Indicates that this is a union type, which means it can be one of a set\n * of types.\n */\n union: {\n /**\n * All the possible types (including the primary type).\n *\n * @minItems 2\n */\n types: TypeReference[];\n };\n}\nexport function isUnionTypeReference(\n ref: TypeReference | undefined,\n): ref is UnionTypeReference {\n return !!(ref as UnionTypeReference)?.union;\n}\n\n/**\n * Methods and properties can be overridden from parent classes or implemented\n * from interfaces.\n */\nexport interface Overridable {\n /**\n * The FQN of the parent type (class or interface) that this entity\n * overrides or implements. If undefined, then this entity is the first in\n * it's hierarchy to declare this entity.\n *\n * @default this member is not overriding anything\n */\n overrides?: FQN;\n}\n\n/**\n * A class property.\n */\nexport interface Property\n extends Documentable,\n OptionalValue,\n Overridable,\n SourceLocatable {\n /**\n * The name of the property.\n *\n * @minLength 1\n */\n name: string;\n\n /**\n * Indicates if this property only has a getter (immutable).\n *\n * @default false\n */\n immutable?: boolean;\n\n /**\n * Indicates if this property is protected (otherwise it is public)\n *\n * @default false\n */\n protected?: boolean;\n\n /**\n * Indicates if this property is abstract\n *\n * @default false\n */\n abstract?: boolean;\n\n /**\n * Indicates if this is a static property.\n *\n * @default false\n */\n static?: boolean;\n\n /**\n * A hint that indicates that this static, immutable property is initialized\n * during startup. This allows emitting \"const\" idioms in different target\n * languages. Implies `static` and `immutable`.\n *\n * @default false\n */\n const?: boolean;\n}\n\n/**\n * Represents a method parameter.\n */\nexport interface Parameter extends Documentable, OptionalValue {\n /**\n * The name of the parameter.\n *\n * @minLength 1\n */\n name: string;\n\n /**\n * Whether this is the last parameter of a variadic method. In such cases,\n * the `#type` attribute is the type of each individual item of the variadic\n * arguments list (as opposed to some array type, as for example TypeScript\n * would model it).\n *\n * @default false\n */\n variadic?: boolean;\n}\n\n/**\n * An Initializer or a Method.\n */\nexport interface Callable extends Documentable, Overridable, SourceLocatable {\n /**\n * The parameters of the Initializer or Method.\n *\n * @default none\n */\n parameters?: Parameter[];\n\n /**\n * Indicates if this Initializer or Method is protected (otherwise it is\n * public, since private members are not modeled).\n *\n * @default false\n */\n protected?: boolean;\n\n /**\n * Indicates whether this Initializer or Method is variadic or not. When\n * ``true``, the last element of ``#parameters`` will also be flagged\n * ``#variadic``.\n *\n * @default false\n */\n variadic?: boolean;\n}\n\n/**\n * An initializer.\n */\nexport type Initializer = Callable;\n\n/**\n * A method with a name (i.e: not an initializer).\n */\nexport interface Method extends Callable {\n /**\n * The name of the method. Undefined if this method is a initializer.\n */\n name: string;\n\n /**\n * The return type of the method (`undefined` if `void`)\n *\n * @default void\n */\n returns?: OptionalValue;\n\n /**\n * Is this method an abstract method (this means the class will also be an abstract class)\n *\n * @default false\n */\n abstract?: boolean;\n\n /**\n * Indicates if this is an asynchronous method (it will return a promise).\n *\n * @default false\n */\n async?: boolean;\n\n /**\n * Indicates if this is a static method.\n *\n * @default false\n */\n static?: boolean;\n}\n/**\n * Determines whether a Callable is a Method or not.\n *\n * @param callable the callable to be checked.\n */\nexport function isMethod(callable: Callable): callable is Method {\n return !!(callable as Method).name;\n}\n\n/**\n * Represents a type definition (not a type reference).\n */\nexport type Type = TypeBase & (ClassType | EnumType | InterfaceType);\n\n/**\n * Common attributes of a type definition.\n */\nexport interface TypeBase\n extends Documentable,\n SourceLocatable,\n TypeScriptLocatable {\n /**\n * The fully qualified name of the type (``..``)\n *\n * @minLength 3\n */\n fqn: FQN;\n\n /**\n * The name of the assembly the type belongs to.\n *\n * @minLength 1\n */\n assembly: string;\n\n /**\n * The namespace of the type (`foo.bar.baz`).\n *\n * When undefined, the type is located at the root of the assembly (its\n * `fqn` would be like `.`).\n *\n * For types inside other types or inside submodules, the `` corresponds to\n * the namespace-qualified name of the container (can contain multiple segments like:\n * `..`).\n *\n * In all cases:\n *\n * = [.].\n *\n * @default none\n */\n namespace?: string;\n\n /**\n * The simple name of the type (MyClass).\n *\n * @minLength 1\n */\n name: string;\n\n /**\n * The kind of the type.\n */\n kind: TypeKind;\n}\n\n/**\n * Kinds of types.\n */\nexport enum TypeKind {\n Class = 'class',\n Enum = 'enum',\n Interface = 'interface',\n}\n\n/**\n * Represents classes.\n */\nexport interface ClassType extends TypeBase {\n kind: TypeKind.Class;\n\n /**\n * The FQN of the base class of this class, if it has one.\n *\n * @default no base class\n */\n base?: FQN;\n\n /**\n * Initializer (constructor) method.\n *\n * @default no initializer\n */\n initializer?: Initializer;\n\n /**\n * List of properties.\n *\n * @default none\n */\n properties?: Property[];\n\n /**\n * List of methods.\n *\n * @default none\n */\n methods?: Method[];\n\n /**\n * Indicates if this class is an abstract class.\n *\n * @default false\n */\n abstract?: boolean;\n\n /**\n * The FQNs of the interfaces this class implements, if any.\n *\n * @default none\n * @uniqueItems true\n */\n interfaces?: FQN[];\n}\n\nexport function isClassType(type: Type | undefined): type is ClassType {\n return type?.kind === TypeKind.Class;\n}\n\nexport interface InterfaceType extends TypeBase {\n kind: TypeKind.Interface;\n\n /**\n * The FQNs of the interfaces this interface extends, if any.\n *\n * @default none\n * @uniqueItems true\n */\n interfaces?: FQN[];\n\n /**\n * List of methods.\n *\n * @default none\n */\n methods?: Method[];\n\n /**\n * List of properties.\n *\n * @default none\n */\n properties?: Property[];\n\n /**\n * True if this interface only contains properties. Different backends might\n * have idiomatic ways to allow defining concrete instances such interfaces.\n * For example, in Java, the generator will produce a PoJo and a builder\n * which will allow users to create a concrete object with data which\n * adheres to this interface.\n *\n * @default false\n */\n datatype?: boolean;\n}\n\nexport function isInterfaceType(type: Type | undefined): type is InterfaceType {\n return type?.kind === TypeKind.Interface;\n}\n\n/**\n * Represents a member of an enum.\n */\nexport interface EnumMember extends Documentable {\n /**\n * The name/symbol of the member.\n */\n name: string;\n}\n\n/**\n * Represents an enum type.\n */\nexport interface EnumType extends TypeBase {\n kind: TypeKind.Enum;\n\n /**\n * Members of the enum.\n */\n members: EnumMember[];\n}\n\nexport function isEnumType(type: Type | undefined): type is EnumType {\n return type?.kind === TypeKind.Enum;\n}\n\n/**\n * Return whether this type is a class or interface type\n */\nexport function isClassOrInterfaceType(\n type: Type | undefined,\n): type is InterfaceType | ClassType {\n return isClassType(type) || isInterfaceType(type);\n}\n\n/**\n * Return a string representation of the given type reference.\n */\nexport function describeTypeReference(type?: TypeReference): string {\n if (type === undefined) {\n return 'void';\n }\n\n if (isNamedTypeReference(type)) {\n return type.fqn;\n }\n\n if (isPrimitiveTypeReference(type)) {\n return type.primitive;\n }\n\n if (isCollectionTypeReference(type)) {\n return `${type.collection.kind}<${describeTypeReference(\n type.collection.elementtype,\n )}>`;\n }\n\n if (isUnionTypeReference(type)) {\n const unionType = type.union.types.map(describeTypeReference).join(' | ');\n return unionType;\n }\n\n throw new Error('Unrecognized type reference');\n}\n\n/**\n * Determines whether an entity is deprecated.\n *\n * @param entity the entity to be checked.\n *\n * @returns true if the entity is marked as deprecated.\n */\nexport function isDeprecated(entity: Documentable): boolean {\n return entity?.docs?.stability === Stability.Deprecated;\n}\n"]}
\ No newline at end of file
diff --git a/packages/@jsii/spec/lib/configuration.js.map b/packages/@jsii/spec/lib/configuration.js.map
new file mode 100644
index 0000000000..76f31c3110
--- /dev/null
+++ b/packages/@jsii/spec/lib/configuration.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../src/configuration.ts"],"names":[],"mappings":"","sourcesContent":["import { Stability } from './assembly';\n\n/**\n * Structure of jsii configuration in package.json\n */\nexport interface Config {\n /**\n * Output directory of typescript compiler\n */\n outdir?: string;\n\n /**\n * Determines the format of the jsii toolchain version string that will be\n * included in the .jsii assembly file's jsiiVersion attribute.\n *\n * full (the default) - a version number including a commit hash will be used\n * example: 0.14.3 (build 1b1062d)\n *\n * short - only the version number of jsii will be used\n * example: 0.14.3\n */\n versionFormat?: 'full' | 'short';\n\n /**\n * Defines which target languages the module supports.\n */\n targets?: {\n java?: {\n /*\n * generated maven package name\n */\n package: string;\n\n /**\n * groupId and artifactId for generated maven package.\n */\n maven: {\n groupId: string;\n artifactId: string;\n\n /**\n * optional version suffix for maven module version\n */\n versionSuffix?: string;\n };\n };\n python?: {\n /**\n * name of generated Python module, which will be used by users in import\n * directives\n */\n module: string;\n\n /**\n * the PyPI distribution name for the package.\n */\n distName: string;\n };\n dotnet?: {\n /**\n * the root namespace under which types will be declared\n */\n namespace: string;\n\n /**\n * identifier of the package in the NuGet registry\n */\n packageId: string;\n\n /**\n * url of the icon to be shown in the NuGet Gallery\n */\n iconUrl?: string;\n\n /**\n * optional suffix that will be appended at the end of the NuGet package's\n * version field\n */\n versionSuffix?: string;\n };\n };\n\n /**\n * used to record additional metadata as key-value pairs that will be recorded\n * as-is into the .jsii assembly file\n */\n metadata?: {\n [key: string]: any;\n };\n\n /**\n * TypeScript compiler options\n */\n tsc?: {\n outDir?: string;\n rootDir?: string;\n\n [key: string]: any;\n };\n}\n\n/**\n * Structure of jsii module package.json\n */\nexport interface PackageJson {\n /**\n * module name for typescript module published to npmjs\n */\n name: string;\n\n /**\n * module's current semantic version number\n */\n version: string;\n\n /**\n * module's source code repository information\n */\n repository:\n | string\n | {\n url: string;\n type?: string;\n directory?: string;\n };\n\n /**\n * main module entrypoint file\n */\n main: string;\n\n /**\n * module's primary author information\n */\n author:\n | string\n | {\n name: string;\n email?: string;\n url?: string;\n organization?: boolean;\n };\n\n /**\n * jsii compiler configuration\n */\n jsii: Config;\n\n /**\n * module's built typescript definitions file location\n */\n types: string;\n\n /**\n * module's api stability level\n */\n stability?: Stability;\n\n /**\n * Run-time dependencies that are private to this assembly\n */\n dependencies?: Record;\n\n /**\n * Run-time dependencies that will be shared with other assemblies\n */\n peerDependencies?: Record;\n\n /**\n * Build-time dependencies\n */\n devDependencies?: Record;\n\n bundleDependencies?: string[];\n\n bundledDependencies?: string[];\n\n [key: string]: unknown;\n}\n"]}
\ No newline at end of file
diff --git a/packages/@jsii/spec/lib/index.js.map b/packages/@jsii/spec/lib/index.js.map
new file mode 100644
index 0000000000..fafe33e036
--- /dev/null
+++ b/packages/@jsii/spec/lib/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA2B;AAC3B,kDAAgC;AAChC,8CAA4B;AAC5B,sDAAoC","sourcesContent":["export * from './assembly';\nexport * from './configuration';\nexport * from './name-tree';\nexport * from './validate-assembly';\n"]}
\ No newline at end of file
diff --git a/packages/@jsii/spec/lib/name-tree.js.map b/packages/@jsii/spec/lib/name-tree.js.map
new file mode 100644
index 0000000000..c2c4cc242b
--- /dev/null
+++ b/packages/@jsii/spec/lib/name-tree.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"name-tree.js","sourceRoot":"","sources":["../src/name-tree.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAa,QAAQ;IAYnB,2CAA2C;IAC3C;QAJQ,cAAS,GAAiC,EAAE,CAAC;IAI9B,CAAC;IAZjB,MAAM,CAAC,EAAE,CAAC,IAAmB;;QAClC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,OAAC,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC,EAAE;YAClD,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC7B;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAQD,0CAA0C;IAC1C,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,0EAA0E;IAC1E,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACK,QAAQ,CAAC,GAAW,EAAE,OAAiB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;QAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;SACjB;aAAM;YACL,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;aACvC;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SAC3C;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA3CD,4BA2CC","sourcesContent":["import * as spec from './assembly';\n\n/**\n * A tree of all names in a module. A node represent a type (terminal)\n * and may represent another node in the namespace (at the same time).\n * Therefore, a key of '_' represents a terminal and references the fqn\n * of the type.\n *\n * For example, say we have the following types:\n * - aws.ec2.Host\n * - aws.ec2.Instance\n * - aws.ec2.Instance.Subtype\n *\n * the the name tree will look like this:\n *\n * module: {\n * children: {\n * aws: {\n * children {\n * ec2: {\n * children: {\n * Host: {\n * fqn: 'aws.ec2.Host',\n * children: {}\n * },\n * Instance: {\n * fqn: 'aws.ec2.Host',\n * children: {\n * Subtype: {\n * fqn: 'aws.ec2.Host.Subtype',\n * children: {}\n * }\n * }\n * }\n * }\n * }\n * }\n * }\n * }\n * }\n */\nexport class NameTree {\n public static of(assm: spec.Assembly): NameTree {\n const nameTree = new NameTree();\n for (const type of Object.values(assm.types ?? {})) {\n nameTree.register(type.fqn);\n }\n return nameTree;\n }\n\n private _children: { [name: string]: NameTree } = {};\n private _fqn?: string;\n\n /* NameTree.of(assembly) should be used. */\n private constructor() {}\n\n /** The children of this node, by name. */\n public get children(): { readonly [name: string]: NameTree } {\n return this._children;\n }\n\n /** The fully qualified name of the type at this node, if there is one. */\n public get fqn(): string | undefined {\n return this._fqn;\n }\n\n /**\n * Adds a type to this ``NameTree``.\n *\n * @param type the type to be added.\n * @param path the path at which to add the node under this tree.\n */\n private register(fqn: string, path: string[] = fqn.split('.')): this {\n if (path.length === 0) {\n this._fqn = fqn;\n } else {\n const [head, ...rest] = path;\n if (!this._children[head]) {\n this._children[head] = new NameTree();\n }\n this._children[head]!.register(fqn, rest);\n }\n return this;\n }\n}\n"]}
\ No newline at end of file
diff --git a/packages/@jsii/spec/lib/name-tree.test.js.map b/packages/@jsii/spec/lib/name-tree.test.js.map
new file mode 100644
index 0000000000..8894ba4738
--- /dev/null
+++ b/packages/@jsii/spec/lib/name-tree.test.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"name-tree.test.js","sourceRoot":"","sources":["../src/name-tree.test.ts"],"names":[],"mappings":";;AAAA,mCAAmC;AACnC,2CAAuC;AAEvC,MAAM,YAAY,GAAG,UAAU,CAAC;AAEhC,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;IAChD,QAAQ;IACR,MAAM,IAAI,GAAkB;QAC1B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;QACjC,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,4BAA4B;QACtC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE;QAC7C,UAAU,EAAE;YACV,IAAI,EAAE,KAAK;YACX,GAAG,EAAE,4BAA4B;SAClC;QACD,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,EAAE;QACX,KAAK,EAAE;YACL,gBAAgB,EAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;YAC/C,2BAA2B,EAAE,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC;YACrE,sBAAsB,EAAE,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;SAC5D;KACF,CAAC;IAEF,OAAO;IACP,MAAM,QAAQ,GAAG,oBAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAEnC,OAAO;IACP,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,MAAM,CACJ,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CACnE,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,CACJ,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CACzE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,MAAM,CACJ,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CACzE,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IAE1B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CACjE,SAAS,CACV,CAAC;IAEF,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CACjE,gBAAgB,CACjB,CAAC;IACF,MAAM,CACJ,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAC3E,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACpC,MAAM,CACJ,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CACtE,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,SAAS,QAAQ,CAAC,EAAU,EAAE,IAAY;IACxC,MAAM,GAAG,GAAG,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;IAC5B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;AAC1E,CAAC","sourcesContent":["import * as spec from './assembly';\nimport { NameTree } from './name-tree';\n\nconst assemblyName = '@foo/bar';\n\ntest('correctly represents sample assembly', () => {\n // GIVEN\n const assm: spec.Assembly = {\n schema: spec.SchemaVersion.LATEST,\n name: assemblyName,\n description: 'bla',\n homepage: 'https://github.com/bla/bla',\n author: { name: 'Author', roles: ['author'] },\n repository: {\n type: 'scm',\n url: 'https://github.com/bla/bla',\n },\n version: '0.0.1',\n jsiiVersion: 'TEST',\n license: 'NONE',\n fingerprint: '',\n targets: {},\n types: {\n 'org.jsii.TypeA': makeType('org.jsii', 'TypeA'),\n 'org.jsii.TypeA.NestedType': makeType('org.jsii.TypeA', 'NestedType'),\n 'org.jsii.enums.TypeB': makeType('org.jsii.enums', 'TypeB'),\n },\n };\n\n // WHEN\n const nameTree = NameTree.of(assm);\n\n // THEN\n expect(Object.keys(nameTree.children)).toEqual(['org']);\n expect(Object.keys(nameTree.children.org.children)).toEqual(['jsii']);\n expect(\n new Set(Object.keys(nameTree.children.org.children.jsii.children)),\n ).toEqual(new Set(['enums', 'TypeA']));\n expect(\n Object.keys(nameTree.children.org.children.jsii.children.enums.children),\n ).toEqual(['TypeB']);\n expect(\n Object.keys(nameTree.children.org.children.jsii.children.TypeA.children),\n ).toEqual(['NestedType']);\n\n expect(nameTree.fqn).toBe(undefined);\n expect(nameTree.children.org.fqn).toBe(undefined);\n expect(nameTree.children.org.children.jsii.fqn).toBe(undefined);\n expect(nameTree.children.org.children.jsii.children.enums.fqn).toBe(\n undefined,\n );\n\n expect(nameTree.children.org.children.jsii.children.TypeA.fqn).toBe(\n 'org.jsii.TypeA',\n );\n expect(\n nameTree.children.org.children.jsii.children.TypeA.children.NestedType.fqn,\n ).toBe('org.jsii.TypeA.NestedType');\n expect(\n nameTree.children.org.children.jsii.children.enums.children.TypeB.fqn,\n ).toBe('org.jsii.enums.TypeB');\n});\n\nfunction makeType(ns: string, name: string): spec.Type {\n const fqn = `${ns}.${name}`;\n return { fqn, name, assembly: assemblyName, kind: spec.TypeKind.Class };\n}\n"]}
\ No newline at end of file
diff --git a/packages/@jsii/spec/lib/validate-assembly.js.map b/packages/@jsii/spec/lib/validate-assembly.js.map
new file mode 100644
index 0000000000..a39904ea63
--- /dev/null
+++ b/packages/@jsii/spec/lib/validate-assembly.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"validate-assembly.js","sourceRoot":"","sources":["../src/validate-assembly.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAI/C,qGAAqG;AACxF,QAAA,MAAM,GAAW,OAAO,CAAC,iCAAiC,CAAC,CAAC;AAEzE,SAAgB,gBAAgB,CAAC,GAAQ;IACvC,MAAM,SAAS,GAAG,IAAI,sBAAS,EAAE,CAAC;IAClC,SAAS,CAAC,SAAS,CAAC,cAAM,CAAC,CAAC,CAAC,kBAAkB;IAC/C,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,cAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,OAAO,GAAG,CAAC;KACZ;IACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7D,CAAC;AARD,4CAQC","sourcesContent":["import { Schema, Validator } from 'jsonschema';\n\nimport { Assembly } from './assembly';\n\n// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires\nexport const schema: Schema = require('../schema/jsii-spec.schema.json');\n\nexport function validateAssembly(obj: any): Assembly {\n const validator = new Validator();\n validator.addSchema(schema); // For definitions\n const result = validator.validate(obj, schema, { nestedErrors: true });\n if (result.valid) {\n return obj;\n }\n throw new Error(`Invalid assembly:\\n${result.toString()}`);\n}\n"]}
\ No newline at end of file
diff --git a/packages/@jsii/spec/lib/validate-assembly.test.js.map b/packages/@jsii/spec/lib/validate-assembly.test.js.map
new file mode 100644
index 0000000000..a474aa29c5
--- /dev/null
+++ b/packages/@jsii/spec/lib/validate-assembly.test.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"validate-assembly.test.js","sourceRoot":"","sources":["../src/validate-assembly.test.ts"],"names":[],"mappings":";;AAAA,2BAA+C;AAC/C,+BAA+B;AAE/B,2DAAuD;AAEvD,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE,CACpC,MAAM,CAAC,GAAG,EAAE,CAAC,oCAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAEnE,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,MAAM,UAAU,GAAG,cAAO,CACxB,SAAS,EACT,IAAI,EACJ,WAAW,EACX,qBAAqB,CACtB,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,gBAAW,CAAC,UAAU,CAAC,EAAE;QAC5C,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;YAChB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CACrB,iBAAY,CAAC,cAAO,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CACjE,CAAC;YACF,MAAM,CAAC,oCAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;KACJ;AACH,CAAC,CAAC,CAAC","sourcesContent":["import { readFileSync, readdirSync } from 'fs';\nimport { resolve } from 'path';\n\nimport { validateAssembly } from './validate-assembly';\n\ntest('rejects invalid assembly', () =>\n expect(() => validateAssembly({})).toThrow(/Invalid assembly:/));\n\ndescribe('can load older assemblies', () => {\n const samplesDir = resolve(\n __dirname,\n '..',\n 'test-data',\n 'previous-assemblies',\n );\n for (const sample of readdirSync(samplesDir)) {\n test(sample, () => {\n const data = JSON.parse(\n readFileSync(resolve(samplesDir, sample), { encoding: 'utf-8' }),\n );\n expect(validateAssembly(data)).toBe(data);\n });\n }\n});\n"]}
\ No newline at end of file
diff --git a/packages/@jsii/spec/package.json b/packages/@jsii/spec/package.json
index d953b5f687..0e3f4a36a6 100644
--- a/packages/@jsii/spec/package.json
+++ b/packages/@jsii/spec/package.json
@@ -34,9 +34,9 @@
"jsonschema": "^1.4.0"
},
"devDependencies": {
- "@types/jest": "^27.4.1",
- "@types/node": "^12.20.48",
- "eslint": "^8.13.0",
+ "@types/jest": "^27.5.0",
+ "@types/node": "^12.20.50",
+ "eslint": "^8.15.0",
"jest": "^27.5.1",
"jsii-build-tools": "^0.0.0",
"prettier": "^2.6.2",
diff --git a/packages/@scope/jsii-calc-base-of-base/.gitignore b/packages/@scope/jsii-calc-base-of-base/.gitignore
index 2b974c4d07..eec60ae567 100644
--- a/packages/@scope/jsii-calc-base-of-base/.gitignore
+++ b/packages/@scope/jsii-calc-base-of-base/.gitignore
@@ -9,3 +9,4 @@ dist
node_modules/
.nyc_output/
coverage/
+*.d.ts.map
diff --git a/packages/@scope/jsii-calc-base-of-base/package.json b/packages/@scope/jsii-calc-base-of-base/package.json
index 0f706a084c..9376225617 100644
--- a/packages/@scope/jsii-calc-base-of-base/package.json
+++ b/packages/@scope/jsii-calc-base-of-base/package.json
@@ -30,7 +30,7 @@
"test:update": "npm run build && UPDATE_DIFF=1 npm run test"
},
"devDependencies": {
- "@types/node": "^12.20.48",
+ "@types/node": "^12.20.50",
"jsii": "^0.0.0",
"jsii-build-tools": "^0.0.0",
"jsii-rosetta": "^0.0.0",
diff --git a/packages/@scope/jsii-calc-base/.gitignore b/packages/@scope/jsii-calc-base/.gitignore
index 7f5baf52ba..9ef735acbf 100644
--- a/packages/@scope/jsii-calc-base/.gitignore
+++ b/packages/@scope/jsii-calc-base/.gitignore
@@ -13,3 +13,4 @@ dist
node_modules/
.nyc_output/
coverage/
+*.d.ts.map
diff --git a/packages/@scope/jsii-calc-base/package.json b/packages/@scope/jsii-calc-base/package.json
index e696356aca..cf2020f68e 100644
--- a/packages/@scope/jsii-calc-base/package.json
+++ b/packages/@scope/jsii-calc-base/package.json
@@ -35,7 +35,7 @@
"@scope/jsii-calc-base-of-base": "^2.1.1"
},
"devDependencies": {
- "@types/node": "^12.20.48",
+ "@types/node": "^12.20.50",
"jsii": "^0.0.0",
"jsii-build-tools": "^0.0.0",
"jsii-rosetta": "^0.0.0",
diff --git a/packages/@scope/jsii-calc-lib/.gitignore b/packages/@scope/jsii-calc-lib/.gitignore
index 744bebe408..5838bdb405 100644
--- a/packages/@scope/jsii-calc-lib/.gitignore
+++ b/packages/@scope/jsii-calc-lib/.gitignore
@@ -10,3 +10,4 @@ dist/
node_modules/
.nyc_output/
coverage/
+*.d.ts.map
diff --git a/packages/@scope/jsii-calc-lib/package.json b/packages/@scope/jsii-calc-lib/package.json
index eb4be83ee7..88d81e6afd 100644
--- a/packages/@scope/jsii-calc-lib/package.json
+++ b/packages/@scope/jsii-calc-lib/package.json
@@ -39,7 +39,7 @@
"@scope/jsii-calc-base-of-base": "^2.1.1"
},
"devDependencies": {
- "@types/node": "^12.20.48",
+ "@types/node": "^12.20.50",
"jsii": "^0.0.0",
"jsii-build-tools": "^0.0.0",
"jsii-rosetta": "^0.0.0",
diff --git a/packages/codemaker/.gitignore b/packages/codemaker/.gitignore
index 1232a045d1..c1b03e1d21 100644
--- a/packages/codemaker/.gitignore
+++ b/packages/codemaker/.gitignore
@@ -84,3 +84,4 @@ typings/
# End of https://www.gitignore.io/api/node
+*.d.ts.map
diff --git a/packages/codemaker/package.json b/packages/codemaker/package.json
index 00b0dea6b2..9239b163d7 100644
--- a/packages/codemaker/package.json
+++ b/packages/codemaker/package.json
@@ -37,9 +37,9 @@
},
"devDependencies": {
"@types/fs-extra": "^9.0.13",
- "@types/jest": "^27.4.1",
- "@types/node": "^12.20.48",
- "eslint": "^8.13.0",
+ "@types/jest": "^27.5.0",
+ "@types/node": "^12.20.50",
+ "eslint": "^8.15.0",
"jest": "^27.5.1",
"prettier": "^2.6.2",
"typescript": "~3.9.10"
diff --git a/packages/jsii-calc/.gitignore b/packages/jsii-calc/.gitignore
index 2b974c4d07..eec60ae567 100644
--- a/packages/jsii-calc/.gitignore
+++ b/packages/jsii-calc/.gitignore
@@ -9,3 +9,4 @@ dist
node_modules/
.nyc_output/
coverage/
+*.d.ts.map
diff --git a/packages/jsii-calc/package.json b/packages/jsii-calc/package.json
index d0d11f9a5c..5587b5dd21 100644
--- a/packages/jsii-calc/package.json
+++ b/packages/jsii-calc/package.json
@@ -51,8 +51,8 @@
"@scope/jsii-calc-lib": "^0.0.0"
},
"devDependencies": {
- "@types/node": "^12.20.48",
- "eslint": "^8.13.0",
+ "@types/node": "^12.20.50",
+ "eslint": "^8.15.0",
"jsii": "^0.0.0",
"jsii-build-tools": "^0.0.0",
"jsii-rosetta": "^0.0.0",
diff --git a/packages/jsii-config/.gitignore b/packages/jsii-config/.gitignore
index 6ea4c5aebc..ae28b05e08 100644
--- a/packages/jsii-config/.gitignore
+++ b/packages/jsii-config/.gitignore
@@ -2,3 +2,4 @@
*.d.ts
node_modules/
coverage/
+*.d.ts.map
diff --git a/packages/jsii-config/package.json b/packages/jsii-config/package.json
index be7ddf7ad7..b8181723eb 100644
--- a/packages/jsii-config/package.json
+++ b/packages/jsii-config/package.json
@@ -20,10 +20,10 @@
},
"devDependencies": {
"@types/inquirer": "^8.2.1",
- "@types/jest": "^27.4.1",
- "@types/node": "^12.20.48",
+ "@types/jest": "^27.5.0",
+ "@types/node": "^12.20.50",
"@types/yargs": "^17.0.10",
- "eslint": "^8.13.0",
+ "eslint": "^8.15.0",
"jest": "^27.5.1",
"jest-expect-message": "^1.0.2",
"prettier": "^2.6.2",
diff --git a/packages/jsii-diff/.gitignore b/packages/jsii-diff/.gitignore
index cca1321d66..f011fea9b2 100644
--- a/packages/jsii-diff/.gitignore
+++ b/packages/jsii-diff/.gitignore
@@ -5,3 +5,4 @@ node_modules/
coverage/
lib/version.ts
+*.d.ts.map
diff --git a/packages/jsii-diff/package.json b/packages/jsii-diff/package.json
index ac76318c37..4e73612a65 100644
--- a/packages/jsii-diff/package.json
+++ b/packages/jsii-diff/package.json
@@ -37,16 +37,16 @@
"@jsii/spec": "^0.0.0",
"fs-extra": "^9.1.0",
"jsii-reflect": "^0.0.0",
- "log4js": "^6.4.5",
+ "log4js": "^6.4.6",
"typescript": "~3.9.10",
"yargs": "^16.2.0"
},
"devDependencies": {
"@types/fs-extra": "^9.0.13",
- "@types/jest": "^27.4.1",
- "@types/node": "^12.20.48",
+ "@types/jest": "^27.5.0",
+ "@types/node": "^12.20.50",
"@types/tar-fs": "^2.0.1",
- "eslint": "^8.13.0",
+ "eslint": "^8.15.0",
"jest": "^27.5.1",
"jest-expect-message": "^1.0.2",
"jsii": "^0.0.0",
diff --git a/packages/jsii-pacmak/.gitignore b/packages/jsii-pacmak/.gitignore
index a72e62b716..4c48a947f8 100644
--- a/packages/jsii-pacmak/.gitignore
+++ b/packages/jsii-pacmak/.gitignore
@@ -13,3 +13,4 @@ node_modules/
coverage/
test/expected.*/dotnet/**/obj/Debug
+*.d.ts.map
diff --git a/packages/jsii-pacmak/lib/targets/python.ts b/packages/jsii-pacmak/lib/targets/python.ts
index 8b560e27a5..399e07db7c 100644
--- a/packages/jsii-pacmak/lib/targets/python.ts
+++ b/packages/jsii-pacmak/lib/targets/python.ts
@@ -24,7 +24,6 @@ import {
PythonImports,
mergePythonImports,
toPackageName,
- toPythonFqn,
} from './python/type-name';
import { die, toPythonIdentifier } from './python/util';
import { toPythonVersionRange, toReleaseVersion } from './version-utils';
@@ -1568,7 +1567,30 @@ class PythonModule implements PythonType {
!this.loadAssembly,
'PythonModule.addPythonModule CANNOT be called on assembly-loading modules (it would cause a load cycle)!',
);
- this.modules.push(pyMod);
+
+ assert(
+ pyMod.pythonName.startsWith(`${this.pythonName}.`),
+ `Attempted to register ${pyMod.pythonName} as a child module of ${this.pythonName}, but the names don't match!`,
+ );
+
+ const [firstLevel, ...rest] = pyMod.pythonName
+ .substring(this.pythonName.length + 1)
+ .split('.');
+ if (rest.length === 0) {
+ // This is a direct child module...
+ this.modules.push(pyMod);
+ } else {
+ // This is a nested child module, so we delegate to the directly nested module...
+ const parent = this.modules.find(
+ (m) => m.pythonName === `${this.pythonName}.${firstLevel}`,
+ );
+ if (!parent) {
+ throw new Error(
+ `Attempted to register ${pyMod.pythonName} within ${this.pythonName}, but ${this.pythonName}.${firstLevel} wasn't registered yet!`,
+ );
+ }
+ parent.addPythonModule(pyMod);
+ }
}
public requiredImports(context: EmitContext): PythonImports {
@@ -1692,25 +1714,13 @@ class PythonModule implements PythonType {
l.pythonName.localeCompare(r.pythonName),
)) {
// Rather than generating an absolute import like
- // "import jsii_calc.submodule.nested_submodule.deeply_nested"
- // this builds a relative import like
- // "from .submodule.nested_submodule import deeply_nested"
- // This enables distributing python packages and using the
- // generated modules in the same codebase.
- const assemblyName = toPythonFqn(
- module.assembly.name,
- module.assembly,
- ).pythonFqn;
-
- const submodule = module.pythonName
- .replace(`${assemblyName}.`, '')
- .split('.');
-
- const submodulePath = submodule
- .slice(0, submodule.length - 1)
- .join('.');
- const submoduleName = submodule[submodule.length - 1];
- code.line(`from .${submodulePath} import ${submoduleName}`);
+ // "import jsii_calc.submodule" this builds a relative import like
+ // "from . import submodule". This enables distributing python packages
+ // and using the generated modules in the same codebase.
+ const submodule = module.pythonName.substring(
+ this.pythonName.length + 1,
+ );
+ code.line(`from . import ${submodule}`);
}
}
}
diff --git a/packages/jsii-pacmak/package.json b/packages/jsii-pacmak/package.json
index 6d386dbc04..d228c59d59 100644
--- a/packages/jsii-pacmak/package.json
+++ b/packages/jsii-pacmak/package.json
@@ -59,10 +59,10 @@
"@types/clone": "^2.1.1",
"@types/commonmark": "^0.27.5",
"@types/fs-extra": "^9.0.13",
- "@types/jest": "^27.4.1",
- "@types/node": "^12.20.48",
+ "@types/jest": "^27.5.0",
+ "@types/node": "^12.20.50",
"@types/semver": "^7.3.9",
- "eslint": "^8.13.0",
+ "eslint": "^8.15.0",
"jest": "^27.5.1",
"jsii": "^0.0.0",
"jsii-build-tools": "^0.0.0",
diff --git a/packages/jsii-pacmak/test/build-test.sh b/packages/jsii-pacmak/test/build-test.sh
index ab42ff1464..b9026cec3c 100755
--- a/packages/jsii-pacmak/test/build-test.sh
+++ b/packages/jsii-pacmak/test/build-test.sh
@@ -46,7 +46,7 @@ else
# Hello Windows!
. ${venv}/Scripts/activate
fi
-${PYTHON} -m pip install --upgrade pip~=22.0 twine~=4.0
+${PYTHON} -m pip install --upgrade pip~=22.1 twine~=4.0
# Provision a specific NuGet package cache
NUGET_CACHE=${outdir}/.nuget/packages
diff --git a/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.ts.snap b/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.ts.snap
index 9dc5df4093..815c9fcc93 100644
--- a/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.ts.snap
+++ b/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.ts.snap
@@ -10274,7 +10274,6 @@ publication.publish()
# Loading modules to ensure their types are registered with the jsii runtime library
from . import cdk16625
-from .cdk16625 import donotimport
from . import composition
from . import derived_class_has_no_properties
from . import interface_in_namespace_includes_classes
@@ -10283,28 +10282,13 @@ from . import module2530
from . import module2617
from . import module2647
from . import module2689
-from .module2689 import methods
-from .module2689 import props
-from .module2689 import retval
-from .module2689 import structs
from . import module2692
-from .module2692 import submodule1
-from .module2692 import submodule2
from . import module2700
from . import module2702
from . import nodirect
-from .nodirect import sub1
-from .nodirect import sub2
from . import onlystatic
from . import python_self
from . import submodule
-from .submodule import back_references
-from .submodule import child
-from .submodule import isolated
-from .submodule import nested_submodule
-from .submodule.nested_submodule import deeply_nested
-from .submodule import param
-from .submodule import returnsparam
`;
@@ -10403,10 +10387,14 @@ typing.cast(typing.Any, Cdk16625).__jsii_proxy_class__ = lambda : _Cdk16625Proxy
__all__ = [
"Cdk16625",
+ "donotimport",
]
publication.publish()
+# Loading modules to ensure their types are registered with the jsii runtime library
+from . import donotimport
+
`;
exports[`Generated code for "jsii-calc": /python/src/jsii_calc/cdk16625/donotimport/__init__.py 1`] = `
@@ -10905,10 +10893,21 @@ import typing_extensions
from .._jsii import *
-__all__: typing.List[typing.Any] = []
+__all__ = [
+ "methods",
+ "props",
+ "retval",
+ "structs",
+]
publication.publish()
+# Loading modules to ensure their types are registered with the jsii runtime library
+from . import methods
+from . import props
+from . import retval
+from . import structs
+
`;
exports[`Generated code for "jsii-calc": /python/src/jsii_calc/module2689/methods/__init__.py 1`] = `
@@ -11122,10 +11121,17 @@ import typing_extensions
from .._jsii import *
-__all__: typing.List[typing.Any] = []
+__all__ = [
+ "submodule1",
+ "submodule2",
+]
publication.publish()
+# Loading modules to ensure their types are registered with the jsii runtime library
+from . import submodule1
+from . import submodule2
+
`;
exports[`Generated code for "jsii-calc": /python/src/jsii_calc/module2692/submodule1/__init__.py 1`] = `
@@ -11614,10 +11620,17 @@ import typing_extensions
from .._jsii import *
-__all__: typing.List[typing.Any] = []
+__all__ = [
+ "sub1",
+ "sub2",
+]
publication.publish()
+# Loading modules to ensure their types are registered with the jsii runtime library
+from . import sub1
+from . import sub2
+
`;
exports[`Generated code for "jsii-calc": /python/src/jsii_calc/nodirect/sub1/__init__.py 1`] = `
@@ -11965,10 +11978,24 @@ class MyClass(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.submodule.MyClass"):
__all__ = [
"Default",
"MyClass",
+ "back_references",
+ "child",
+ "isolated",
+ "nested_submodule",
+ "param",
+ "returnsparam",
]
publication.publish()
+# Loading modules to ensure their types are registered with the jsii runtime library
+from . import back_references
+from . import child
+from . import isolated
+from . import nested_submodule
+from . import param
+from . import returnsparam
+
`;
exports[`Generated code for "jsii-calc": /python/src/jsii_calc/submodule/back_references/__init__.py 1`] = `
@@ -12314,10 +12341,14 @@ typing.cast(typing.Any, Namespaced).__jsii_proxy_class__ = lambda : _NamespacedP
__all__ = [
"Namespaced",
+ "deeply_nested",
]
publication.publish()
+# Loading modules to ensure their types are registered with the jsii runtime library
+from . import deeply_nested
+
`;
exports[`Generated code for "jsii-calc": /python/src/jsii_calc/submodule/nested_submodule/deeply_nested/__init__.py 1`] = `
diff --git a/packages/jsii-reflect/.gitignore b/packages/jsii-reflect/.gitignore
index 273dc78d15..28952847d5 100644
--- a/packages/jsii-reflect/.gitignore
+++ b/packages/jsii-reflect/.gitignore
@@ -17,3 +17,4 @@ coverage
node_modules
!jest.config.js
+*.d.ts.map
diff --git a/packages/jsii-reflect/package.json b/packages/jsii-reflect/package.json
index 19a6fe7949..082df38257 100644
--- a/packages/jsii-reflect/package.json
+++ b/packages/jsii-reflect/package.json
@@ -44,9 +44,9 @@
"devDependencies": {
"@scope/jsii-calc-lib": "^0.0.0",
"@types/fs-extra": "^9.0.13",
- "@types/jest": "^27.4.1",
- "@types/node": "^12.20.48",
- "eslint": "^8.13.0",
+ "@types/jest": "^27.5.0",
+ "@types/node": "^12.20.50",
+ "eslint": "^8.15.0",
"jest": "^27.5.1",
"jsii": "^0.0.0",
"jsii-build-tools": "^0.0.0",
diff --git a/packages/jsii-rosetta/.gitignore b/packages/jsii-rosetta/.gitignore
index cc84d43620..ca972da19b 100644
--- a/packages/jsii-rosetta/.gitignore
+++ b/packages/jsii-rosetta/.gitignore
@@ -4,3 +4,4 @@
node_modules
*.d.ts
coverage
+*.d.ts.map
diff --git a/packages/jsii-rosetta/lib/typescript/ts-compiler.ts b/packages/jsii-rosetta/lib/typescript/ts-compiler.ts
index 134c5adf3a..4a68c6485d 100644
--- a/packages/jsii-rosetta/lib/typescript/ts-compiler.ts
+++ b/packages/jsii-rosetta/lib/typescript/ts-compiler.ts
@@ -70,6 +70,7 @@ export const STANDARD_COMPILER_OPTIONS: ts.CompilerOptions = {
alwaysStrict: true,
charset: 'utf8',
declaration: true,
+ declarationMap: true,
experimentalDecorators: true,
inlineSourceMap: true,
inlineSources: true,
diff --git a/packages/jsii-rosetta/package.json b/packages/jsii-rosetta/package.json
index afe3446c0f..64c17c70c7 100644
--- a/packages/jsii-rosetta/package.json
+++ b/packages/jsii-rosetta/package.json
@@ -18,12 +18,12 @@
"devDependencies": {
"@types/commonmark": "^0.27.5",
"@types/fs-extra": "^9.0.13",
- "@types/jest": "^27.4.1",
+ "@types/jest": "^27.5.0",
"@types/mock-fs": "^4.13.1",
- "@types/node": "^12.20.48",
+ "@types/node": "^12.20.50",
"@types/workerpool": "^6.1.0",
"@types/semver": "^7.3.9",
- "eslint": "^8.13.0",
+ "eslint": "^8.15.0",
"jest": "^27.5.1",
"jsii-build-tools": "0.0.0",
"memory-streams": "^0.1.3",
diff --git a/packages/jsii/.gitignore b/packages/jsii/.gitignore
index 393c9b5052..79926bca58 100644
--- a/packages/jsii/.gitignore
+++ b/packages/jsii/.gitignore
@@ -8,3 +8,4 @@ coverage/
README.md
lib/version.ts
+*.d.ts.map
diff --git a/packages/jsii/lib/compiler.ts b/packages/jsii/lib/compiler.ts
index 8cf437e041..85a091941e 100644
--- a/packages/jsii/lib/compiler.ts
+++ b/packages/jsii/lib/compiler.ts
@@ -16,6 +16,7 @@ const BASE_COMPILER_OPTIONS: ts.CompilerOptions = {
alwaysStrict: true,
charset: 'utf8',
declaration: true,
+ declarationMap: true,
experimentalDecorators: true,
incremental: true,
inlineSourceMap: true,
diff --git a/packages/jsii/lib/transforms/deprecation-warnings.ts b/packages/jsii/lib/transforms/deprecation-warnings.ts
index 04775ddf91..a0a7b2f36a 100644
--- a/packages/jsii/lib/transforms/deprecation-warnings.ts
+++ b/packages/jsii/lib/transforms/deprecation-warnings.ts
@@ -530,10 +530,7 @@ class Transformer {
node.body,
insertStatements(
node.body,
- wrapWithRethrow(
- statements,
- ts.createPropertyAccess(ts.createThis(), 'constructor'),
- ),
+ wrapWithRethrow(statements, node.parent.name!),
),
),
) as any;
diff --git a/packages/jsii/lib/utils.ts b/packages/jsii/lib/utils.ts
index af3303172c..984c505a78 100644
--- a/packages/jsii/lib/utils.ts
+++ b/packages/jsii/lib/utils.ts
@@ -72,7 +72,7 @@ export function formatDiagnostic(
/**
* Formats a diagnostic message with color and context, if possible. Users
- * should use `formatDiagnostic` instead, as this implementation is inteded for
+ * should use `formatDiagnostic` instead, as this implementation is intended for
* internal usafe only.
*
* @param diagnostic the diagnostic message ot be formatted.
diff --git a/packages/jsii/package.json b/packages/jsii/package.json
index 2cd3116474..758e7d8f59 100644
--- a/packages/jsii/package.json
+++ b/packages/jsii/package.json
@@ -41,7 +41,7 @@
"chalk": "^4",
"deep-equal": "^2.0.5",
"fs-extra": "^9.1.0",
- "log4js": "^6.4.5",
+ "log4js": "^6.4.6",
"semver": "^7.3.7",
"semver-intersect": "^1.4.0",
"sort-json": "^2.0.1",
@@ -53,11 +53,11 @@
"@types/clone": "^2.1.1",
"@types/deep-equal": "^1.0.1",
"@types/fs-extra": "^9.0.13",
- "@types/jest": "^27.4.1",
- "@types/node": "^12.20.48",
+ "@types/jest": "^27.5.0",
+ "@types/node": "^12.20.50",
"@types/semver": "^7.3.9",
"clone": "^2.1.2",
- "eslint": "^8.13.0",
+ "eslint": "^8.15.0",
"jest": "^27.5.1",
"jest-expect-message": "^1.0.2",
"jsii-build-tools": "^0.0.0",
diff --git a/packages/jsii/test/compiler.test.ts b/packages/jsii/test/compiler.test.ts
index 91bf44b98b..ea01aee57f 100644
--- a/packages/jsii/test/compiler.test.ts
+++ b/packages/jsii/test/compiler.test.ts
@@ -148,6 +148,29 @@ describe(Compiler, () => {
removeSync(sourceDir);
}
});
+
+ test('emits declaration map', () => {
+ const sourceDir = mkdtempSync(join(tmpdir(), 'jsii-tmpdir'));
+
+ try {
+ writeFileSync(join(sourceDir, 'index.ts'), 'export class MarkerA {}');
+
+ const compiler = new Compiler({
+ projectInfo: {
+ ..._makeProjectInfo(sourceDir, 'index.d.ts'),
+ },
+ generateTypeScriptConfig: 'tsconfig.jsii.json',
+ });
+
+ compiler.emit();
+
+ expect(() => {
+ readFileSync(join(sourceDir, 'index.d.ts.map'), 'utf-8');
+ }).not.toThrow();
+ } finally {
+ removeSync(sourceDir);
+ }
+ });
});
function _makeProjectInfo(sourceDir: string, types: string): ProjectInfo {
@@ -180,6 +203,7 @@ function expectedTypeScriptConfig() {
charset: 'utf8',
composite: false,
declaration: true,
+ declarationMap: true,
experimentalDecorators: true,
incremental: true,
inlineSourceMap: true,
diff --git a/packages/jsii/test/deprecated-remover.test.ts b/packages/jsii/test/deprecated-remover.test.ts
index 920d228384..5c651f9cb7 100644
--- a/packages/jsii/test/deprecated-remover.test.ts
+++ b/packages/jsii/test/deprecated-remover.test.ts
@@ -113,12 +113,12 @@ test('produces correct output', () => {
export * from './retained';
export * from './enums';
export { GrandChild, Retained } from './mixed';
- //////////////////
+ //# sourceMappingURL=index.d.ts.map//////////////////
///////////////////////
/// deprecated.d.ts ///
- ///////////////////////
+ //# sourceMappingURL=deprecated.d.ts.map///////////////////////
/////////////////////
@@ -127,7 +127,7 @@ test('produces correct output', () => {
}
export declare class RetainedClass {
}
- /////////////////////
+ //# sourceMappingURL=retained.d.ts.map/////////////////////
//////////////////
@@ -135,7 +135,7 @@ test('produces correct output', () => {
export declare enum SomeEnum {
VALUE_RETAINED = 0
}
- //////////////////
+ //# sourceMappingURL=enums.d.ts.map//////////////////
//////////////////
@@ -148,7 +148,7 @@ test('produces correct output', () => {
export declare class GrandChild extends Retained implements retained_1.IRetainedInterface {
retainedMethod(): void;
}
- //////////////////
+ //# sourceMappingURL=mixed.d.ts.map//////////////////
"
`);
});
@@ -177,12 +177,12 @@ test('cross-file deprecated heritage', () => {
import './deprecated';
export interface INotDeprecated {
}
- //////////////////
+ //# sourceMappingURL=index.d.ts.map//////////////////
///////////////////////
/// deprecated.d.ts ///
- ///////////////////////
+ //# sourceMappingURL=deprecated.d.ts.map///////////////////////
"
`);
});
@@ -452,7 +452,7 @@ describe('stripDeprecatedAllowList', () => {
export * from './retained';
export * from './enums';
export { Deprecated, GrandChild, Retained } from './mixed';
- //////////////////
+ //# sourceMappingURL=index.d.ts.map//////////////////
///////////////////////
@@ -460,7 +460,7 @@ describe('stripDeprecatedAllowList', () => {
/** @deprecated stripped */
export declare class DeprecatedClass {
}
- ///////////////////////
+ //# sourceMappingURL=deprecated.d.ts.map///////////////////////
/////////////////////
@@ -469,7 +469,7 @@ describe('stripDeprecatedAllowList', () => {
}
export declare class RetainedClass {
}
- /////////////////////
+ //# sourceMappingURL=retained.d.ts.map/////////////////////
//////////////////
@@ -482,7 +482,7 @@ describe('stripDeprecatedAllowList', () => {
VALUE_ONE = 0,
VALUE_TWO = 1
}
- //////////////////
+ //# sourceMappingURL=enums.d.ts.map//////////////////
//////////////////
@@ -499,7 +499,7 @@ describe('stripDeprecatedAllowList', () => {
export declare class GrandChild extends Deprecated {
retainedMethod(): void;
}
- //////////////////
+ //# sourceMappingURL=mixed.d.ts.map//////////////////
"
`);
});
diff --git a/packages/jsii/test/deprecation-warnings.test.ts b/packages/jsii/test/deprecation-warnings.test.ts
index cd62370f31..2262b4458e 100644
--- a/packages/jsii/test/deprecation-warnings.test.ts
+++ b/packages/jsii/test/deprecation-warnings.test.ts
@@ -656,7 +656,7 @@ describe('Call injections', () => {
}
catch (error) {
if (process.env.JSII_DEBUG !== \\"1\\" && error.name === \\"DeprecationError\\") {
- Error.captureStackTrace(error, this.constructor);
+ Error.captureStackTrace(error, Foo);
}
throw error;
} }
@@ -664,7 +664,7 @@ describe('Call injections', () => {
exports.Foo = Foo;
_a = JSII_RTTI_SYMBOL_1;
Foo[_a] = { fqn: \\"testpkg.Foo\\", version: \\"0.0.1\\" };
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDSSxxQ0FBcUM7QUFDckMsTUFBYSxHQUFHO0lBQ2Q7Ozs7Ozs7O09BQWU7O0FBRGpCLGtCQUVDIiwic291cmNlc0NvbnRlbnQiOlsiXG4gICAgLyoqIEBkZXByZWNhdGVkIFVzZSBzb21ldGhpbmcgZWxzZSAqL1xuICAgIGV4cG9ydCBjbGFzcyBGb28ge1xuICAgICAgY29uc3RydWN0b3IoKXt9XG4gICAgfVxuICAiXX0="
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDSSxxQ0FBcUM7QUFDckMsTUFBYSxHQUFHO0lBQ2Q7Ozs7OzJDQURXLEdBQUc7OztPQUNDOztBQURqQixrQkFFQyIsInNvdXJjZXNDb250ZW50IjpbIlxuICAgIC8qKiBAZGVwcmVjYXRlZCBVc2Ugc29tZXRoaW5nIGVsc2UgKi9cbiAgICBleHBvcnQgY2xhc3MgRm9vIHtcbiAgICAgIGNvbnN0cnVjdG9yKCl7fVxuICAgIH1cbiAgIl19"
`);
});
});
diff --git a/packages/jsii/vendor/.gitignore b/packages/jsii/vendor/.gitignore
index f955bf36ab..59b4cfaf70 100644
--- a/packages/jsii/vendor/.gitignore
+++ b/packages/jsii/vendor/.gitignore
@@ -1 +1,2 @@
!*.d.ts
+*.d.ts.map
diff --git a/packages/oo-ascii-tree/.gitignore b/packages/oo-ascii-tree/.gitignore
index 273dc78d15..28952847d5 100644
--- a/packages/oo-ascii-tree/.gitignore
+++ b/packages/oo-ascii-tree/.gitignore
@@ -17,3 +17,4 @@ coverage
node_modules
!jest.config.js
+*.d.ts.map
diff --git a/packages/oo-ascii-tree/package.json b/packages/oo-ascii-tree/package.json
index 8b72c95e0e..d3200c6182 100644
--- a/packages/oo-ascii-tree/package.json
+++ b/packages/oo-ascii-tree/package.json
@@ -31,9 +31,9 @@
"package": "package-js"
},
"devDependencies": {
- "@types/jest": "^27.4.1",
- "@types/node": "^12.20.48",
- "eslint": "^8.13.0",
+ "@types/jest": "^27.5.0",
+ "@types/node": "^12.20.50",
+ "eslint": "^8.15.0",
"jest": "^27.5.1",
"jsii-build-tools": "^0.0.0",
"prettier": "^2.6.2",
diff --git a/tools/jsii-build-tools/.gitignore b/tools/jsii-build-tools/.gitignore
index 7cf6d2ef9c..91fffae7b8 100644
--- a/tools/jsii-build-tools/.gitignore
+++ b/tools/jsii-build-tools/.gitignore
@@ -3,3 +3,4 @@
node_modules/
.nyc_output/
coverage/
+*.d.ts.map
diff --git a/tools/jsii-compliance/package.json b/tools/jsii-compliance/package.json
index 159eeddce1..bb419665a2 100644
--- a/tools/jsii-compliance/package.json
+++ b/tools/jsii-compliance/package.json
@@ -16,8 +16,8 @@
"tablemark": "^2.0.0"
},
"devDependencies": {
- "@types/node": "^12.20.48",
- "eslint": "^8.13.0",
+ "@types/node": "^12.20.50",
+ "eslint": "^8.15.0",
"prettier": "^2.6.2",
"ts-node": "^10.7.0",
"typescript": "~3.9.10"
diff --git a/tsconfig-base.json b/tsconfig-base.json
index 8ad672d746..06a519c49c 100644
--- a/tsconfig-base.json
+++ b/tsconfig-base.json
@@ -7,6 +7,7 @@
"strictPropertyInitialization": true, /* Require all properties be initialized in the constructor. */
"alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
"declaration": true, /* Generates corresponding '.d.ts' file. */
+ "declarationMap": true, /* Generates declaration map '.d.ts.map' file. */
"esModuleInterop": false, /* Turn on babel and typesystem compatibility with ES modules */
"inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
"inlineSources": true, /* Emit the source alongside the sourcemaps within a single file. */
diff --git a/yarn.lock b/yarn.lock
index 55affa47be..30888bf33a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3,11 +3,12 @@
"@ampproject/remapping@^2.1.0":
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34"
- integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d"
+ integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==
dependencies:
- "@jridgewell/trace-mapping" "^0.3.0"
+ "@jridgewell/gen-mapping" "^0.1.0"
+ "@jridgewell/trace-mapping" "^0.3.9"
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7":
version "7.16.7"
@@ -16,49 +17,49 @@
dependencies:
"@babel/highlight" "^7.16.7"
-"@babel/compat-data@^7.17.7":
- version "7.17.7"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2"
- integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==
+"@babel/compat-data@^7.17.10":
+ version "7.17.10"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab"
+ integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==
"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0":
- version "7.17.9"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.9.tgz#6bae81a06d95f4d0dec5bb9d74bbc1f58babdcfe"
- integrity sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==
+ version "7.17.10"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.10.tgz#74ef0fbf56b7dfc3f198fc2d927f4f03e12f4b05"
+ integrity sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==
dependencies:
"@ampproject/remapping" "^2.1.0"
"@babel/code-frame" "^7.16.7"
- "@babel/generator" "^7.17.9"
- "@babel/helper-compilation-targets" "^7.17.7"
+ "@babel/generator" "^7.17.10"
+ "@babel/helper-compilation-targets" "^7.17.10"
"@babel/helper-module-transforms" "^7.17.7"
"@babel/helpers" "^7.17.9"
- "@babel/parser" "^7.17.9"
+ "@babel/parser" "^7.17.10"
"@babel/template" "^7.16.7"
- "@babel/traverse" "^7.17.9"
- "@babel/types" "^7.17.0"
+ "@babel/traverse" "^7.17.10"
+ "@babel/types" "^7.17.10"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
json5 "^2.2.1"
semver "^6.3.0"
-"@babel/generator@^7.17.9", "@babel/generator@^7.7.2":
- version "7.17.9"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.9.tgz#f4af9fd38fa8de143c29fce3f71852406fc1e2fc"
- integrity sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==
+"@babel/generator@^7.17.10", "@babel/generator@^7.7.2":
+ version "7.17.10"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.10.tgz#c281fa35b0c349bbe9d02916f4ae08fc85ed7189"
+ integrity sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==
dependencies:
- "@babel/types" "^7.17.0"
+ "@babel/types" "^7.17.10"
+ "@jridgewell/gen-mapping" "^0.1.0"
jsesc "^2.5.1"
- source-map "^0.5.0"
-"@babel/helper-compilation-targets@^7.17.7":
- version "7.17.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46"
- integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==
+"@babel/helper-compilation-targets@^7.17.10":
+ version "7.17.10"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz#09c63106d47af93cf31803db6bc49fef354e2ebe"
+ integrity sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==
dependencies:
- "@babel/compat-data" "^7.17.7"
+ "@babel/compat-data" "^7.17.10"
"@babel/helper-validator-option" "^7.16.7"
- browserslist "^4.17.5"
+ browserslist "^4.20.2"
semver "^6.3.0"
"@babel/helper-environment-visitor@^7.16.7":
@@ -151,10 +152,10 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.9":
- version "7.17.9"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.9.tgz#9c94189a6062f0291418ca021077983058e171ef"
- integrity sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.10":
+ version "7.17.10"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.10.tgz#873b16db82a8909e0fbd7f115772f4b739f6ce78"
+ integrity sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==
"@babel/plugin-syntax-async-generators@^7.8.4":
version "7.8.4"
@@ -241,9 +242,9 @@
"@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-typescript@^7.7.2":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz#39c9b55ee153151990fb038651d58d3fd03f98f8"
- integrity sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==
+ version "7.17.10"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.10.tgz#80031e6042cad6a95ed753f672ebd23c30933195"
+ integrity sha512-xJefea1DWXW09pW4Tm9bjwVlPDyYA2it3fWlmEjpYz6alPvTUjL0EOzNzI/FEOyI3r4/J7uVH5UqKgl1TQ5hqQ==
dependencies:
"@babel/helper-plugin-utils" "^7.16.7"
@@ -263,26 +264,26 @@
"@babel/parser" "^7.16.7"
"@babel/types" "^7.16.7"
-"@babel/traverse@^7.17.3", "@babel/traverse@^7.17.9", "@babel/traverse@^7.7.2":
- version "7.17.9"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.9.tgz#1f9b207435d9ae4a8ed6998b2b82300d83c37a0d"
- integrity sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==
+"@babel/traverse@^7.17.10", "@babel/traverse@^7.17.3", "@babel/traverse@^7.17.9", "@babel/traverse@^7.7.2":
+ version "7.17.10"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.10.tgz#1ee1a5ac39f4eac844e6cf855b35520e5eb6f8b5"
+ integrity sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==
dependencies:
"@babel/code-frame" "^7.16.7"
- "@babel/generator" "^7.17.9"
+ "@babel/generator" "^7.17.10"
"@babel/helper-environment-visitor" "^7.16.7"
"@babel/helper-function-name" "^7.17.9"
"@babel/helper-hoist-variables" "^7.16.7"
"@babel/helper-split-export-declaration" "^7.16.7"
- "@babel/parser" "^7.17.9"
- "@babel/types" "^7.17.0"
+ "@babel/parser" "^7.17.10"
+ "@babel/types" "^7.17.10"
debug "^4.1.0"
globals "^11.1.0"
-"@babel/types@^7.0.0", "@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3":
- version "7.17.0"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b"
- integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==
+"@babel/types@^7.0.0", "@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.3.0", "@babel/types@^7.3.3":
+ version "7.17.10"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.10.tgz#d35d7b4467e439fcf06d195f8100e0fea7fc82c4"
+ integrity sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==
dependencies:
"@babel/helper-validator-identifier" "^7.16.7"
to-fast-properties "^2.0.0"
@@ -309,19 +310,19 @@
resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70"
integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==
-"@eslint/eslintrc@^1.2.1":
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.1.tgz#8b5e1c49f4077235516bc9ec7d41378c0f69b8c6"
- integrity sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==
+"@eslint/eslintrc@^1.2.3":
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.3.tgz#fcaa2bcef39e13d6e9e7f6271f4cc7cae1174886"
+ integrity sha512-uGo44hIwoLGNyduRpjdEpovcbMdd+Nv7amtmJxnKmI8xj6yd5LncmSwDa5NgX/41lIFJtkjD6YdVfgEzPfJ5UA==
dependencies:
ajv "^6.12.4"
debug "^4.3.2"
- espree "^9.3.1"
+ espree "^9.3.2"
globals "^13.9.0"
ignore "^5.2.0"
import-fresh "^3.2.1"
js-yaml "^4.1.0"
- minimatch "^3.0.4"
+ minimatch "^3.1.2"
strip-json-comments "^3.1.1"
"@fixtures/jsii-calc-bundled@file:packages/@fixtures/jsii-calc-bundled":
@@ -536,20 +537,33 @@
"@types/yargs" "^16.0.0"
chalk "^4.0.0"
+"@jridgewell/gen-mapping@^0.1.0":
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996"
+ integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==
+ dependencies:
+ "@jridgewell/set-array" "^1.0.0"
+ "@jridgewell/sourcemap-codec" "^1.4.10"
+
"@jridgewell/resolve-uri@^3.0.3":
- version "3.0.5"
- resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c"
- integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==
+ version "3.0.7"
+ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe"
+ integrity sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==
+
+"@jridgewell/set-array@^1.0.0":
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea"
+ integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==
"@jridgewell/sourcemap-codec@^1.4.10":
- version "1.4.11"
- resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec"
- integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==
+ version "1.4.13"
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c"
+ integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==
-"@jridgewell/trace-mapping@^0.3.0":
- version "0.3.7"
- resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.7.tgz#941982134e9b7fad031c857ccfc4a0634fc6a471"
- integrity sha512-8XC0l0PwCbdg2Uc8zIIf6djNX3lYiz9GqQlC1LJ9WQvTYvcfP8IA9K2IKRnPm5tAX6X/+orF+WwKZ0doGcgJlg==
+"@jridgewell/trace-mapping@^0.3.9":
+ version "0.3.10"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.10.tgz#db436f0917d655393851bc258918c00226c9b183"
+ integrity sha512-Q0YbBd6OTsXm8Y21+YUSDXupHnodNC2M4O18jtd3iwJ3+vMZNdKGols0a9G6JOK0dcJ3IdUUHoh908ZI6qhk8Q==
dependencies:
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
@@ -1483,9 +1497,9 @@
"@babel/types" "^7.0.0"
"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6":
- version "7.17.0"
- resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.17.0.tgz#7a9b80f712fe2052bc20da153ff1e552404d8e4b"
- integrity sha512-r8aveDbd+rzGP+ykSdF3oPuTVRWRfbBiHl0rVDM2yNEmSMXfkObQLV46b4RnCv3Lra51OlfnZhkkFaDl2MIRaA==
+ version "7.17.1"
+ resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.17.1.tgz#1a0e73e8c28c7e832656db372b779bfd2ef37314"
+ integrity sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==
dependencies:
"@babel/types" "^7.3.0"
@@ -1527,9 +1541,9 @@
"@types/estree" "*"
"@types/eslint@*":
- version "8.4.1"
- resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.1.tgz#c48251553e8759db9e656de3efc846954ac32304"
- integrity sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==
+ version "8.4.2"
+ resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.2.tgz#48f2ac58ab9c631cb68845c3d956b28f79fad575"
+ integrity sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA==
dependencies:
"@types/estree" "*"
"@types/json-schema" "*"
@@ -1588,10 +1602,10 @@
dependencies:
"@types/istanbul-lib-report" "*"
-"@types/jest@^27.4.1":
- version "27.4.1"
- resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.4.1.tgz#185cbe2926eaaf9662d340cc02e548ce9e11ab6d"
- integrity sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==
+"@types/jest@^27.5.0":
+ version "27.5.0"
+ resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.5.0.tgz#e04ed1824ca6b1dd0438997ba60f99a7405d4c7b"
+ integrity sha512-9RBFx7r4k+msyj/arpfaa0WOOEcaAZNmN+j80KFbFCoSqCJGHTz7YMAMGQW9Xmqm5w6l5c25vbSjMwlikJi5+g==
dependencies:
jest-matcher-utils "^27.0.0"
pretty-format "^27.0.0"
@@ -1631,19 +1645,19 @@
"@types/node" "*"
"@types/node@*":
- version "17.0.25"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.25.tgz#527051f3c2f77aa52e5dc74e45a3da5fb2301448"
- integrity sha512-wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w==
+ version "17.0.31"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.31.tgz#a5bb84ecfa27eec5e1c802c6bbf8139bdb163a5d"
+ integrity sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==
-"@types/node@^12.20.48":
- version "12.20.48"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.48.tgz#55f70bd432b6515828c0298689776861b90ca4fa"
- integrity sha512-4kxzqkrpwYtn6okJUcb2lfUu9ilnb3yhUOH6qX3nug8D2DupZ2drIkff2yJzYcNJVl3begnlcaBJ7tqiTTzjnQ==
+"@types/node@^12.20.50":
+ version "12.20.50"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.50.tgz#14ba5198f1754ffd0472a2f84ab433b45ee0b65e"
+ integrity sha512-+9axpWx2b2JCVovr7Ilgt96uc6C1zBKOQMpGtRbWT9IoR/8ue32GGMfGA4woP8QyP2gBs6GQWEVM3tCybGCxDA==
"@types/node@^16.9.2":
- version "16.11.27"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.27.tgz#5da19383bdbeda99bc0d09cfbb88cab7297ebc51"
- integrity sha512-C1pD3kgLoZ56Uuy5lhfOxie4aZlA3UMGLX9rXteq4WitEZH6Rl80mwactt9QG0w0gLFlN/kLBTFnGXtDVWvWQw==
+ version "16.11.33"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.33.tgz#566713b1b626f781c5c58fe3531307283e00720c"
+ integrity sha512-0PJ0vg+JyU0MIan58IOIFRtSvsb7Ri+7Wltx2qAg94eMOrpg4+uuP3aUHCpxXc1i0jCXiC+zIamSZh3l9AbcQA==
"@types/normalize-package-data@^2.4.0":
version "2.4.1"
@@ -1726,14 +1740,14 @@
dependencies:
"@types/yargs-parser" "*"
-"@typescript-eslint/eslint-plugin@^5.20.0":
- version "5.20.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.20.0.tgz#022531a639640ff3faafaf251d1ce00a2ef000a1"
- integrity sha512-fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q==
+"@typescript-eslint/eslint-plugin@^5.23.0":
+ version "5.23.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.23.0.tgz#bc4cbcf91fbbcc2e47e534774781b82ae25cc3d8"
+ integrity sha512-hEcSmG4XodSLiAp1uxv/OQSGsDY6QN3TcRU32gANp+19wGE1QQZLRS8/GV58VRUoXhnkuJ3ZxNQ3T6Z6zM59DA==
dependencies:
- "@typescript-eslint/scope-manager" "5.20.0"
- "@typescript-eslint/type-utils" "5.20.0"
- "@typescript-eslint/utils" "5.20.0"
+ "@typescript-eslint/scope-manager" "5.23.0"
+ "@typescript-eslint/type-utils" "5.23.0"
+ "@typescript-eslint/utils" "5.23.0"
debug "^4.3.2"
functional-red-black-tree "^1.0.1"
ignore "^5.1.8"
@@ -1741,69 +1755,69 @@
semver "^7.3.5"
tsutils "^3.21.0"
-"@typescript-eslint/parser@^5.20.0":
- version "5.20.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.20.0.tgz#4991c4ee0344315c2afc2a62f156565f689c8d0b"
- integrity sha512-UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w==
+"@typescript-eslint/parser@^5.23.0":
+ version "5.23.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.23.0.tgz#443778e1afc9a8ff180f91b5e260ac3bec5e2de1"
+ integrity sha512-V06cYUkqcGqpFjb8ttVgzNF53tgbB/KoQT/iB++DOIExKmzI9vBJKjZKt/6FuV9c+zrDsvJKbJ2DOCYwX91cbw==
dependencies:
- "@typescript-eslint/scope-manager" "5.20.0"
- "@typescript-eslint/types" "5.20.0"
- "@typescript-eslint/typescript-estree" "5.20.0"
+ "@typescript-eslint/scope-manager" "5.23.0"
+ "@typescript-eslint/types" "5.23.0"
+ "@typescript-eslint/typescript-estree" "5.23.0"
debug "^4.3.2"
-"@typescript-eslint/scope-manager@5.20.0":
- version "5.20.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.20.0.tgz#79c7fb8598d2942e45b3c881ced95319818c7980"
- integrity sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==
+"@typescript-eslint/scope-manager@5.23.0":
+ version "5.23.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.23.0.tgz#4305e61c2c8e3cfa3787d30f54e79430cc17ce1b"
+ integrity sha512-EhjaFELQHCRb5wTwlGsNMvzK9b8Oco4aYNleeDlNuL6qXWDF47ch4EhVNPh8Rdhf9tmqbN4sWDk/8g+Z/J8JVw==
dependencies:
- "@typescript-eslint/types" "5.20.0"
- "@typescript-eslint/visitor-keys" "5.20.0"
+ "@typescript-eslint/types" "5.23.0"
+ "@typescript-eslint/visitor-keys" "5.23.0"
-"@typescript-eslint/type-utils@5.20.0":
- version "5.20.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.20.0.tgz#151c21cbe9a378a34685735036e5ddfc00223be3"
- integrity sha512-WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw==
+"@typescript-eslint/type-utils@5.23.0":
+ version "5.23.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.23.0.tgz#f852252f2fc27620d5bb279d8fed2a13d2e3685e"
+ integrity sha512-iuI05JsJl/SUnOTXA9f4oI+/4qS/Zcgk+s2ir+lRmXI+80D8GaGwoUqs4p+X+4AxDolPpEpVUdlEH4ADxFy4gw==
dependencies:
- "@typescript-eslint/utils" "5.20.0"
+ "@typescript-eslint/utils" "5.23.0"
debug "^4.3.2"
tsutils "^3.21.0"
-"@typescript-eslint/types@5.20.0":
- version "5.20.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.20.0.tgz#fa39c3c2aa786568302318f1cb51fcf64258c20c"
- integrity sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==
+"@typescript-eslint/types@5.23.0":
+ version "5.23.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.23.0.tgz#8733de0f58ae0ed318dbdd8f09868cdbf9f9ad09"
+ integrity sha512-NfBsV/h4dir/8mJwdZz7JFibaKC3E/QdeMEDJhiAE3/eMkoniZ7MjbEMCGXw6MZnZDMN3G9S0mH/6WUIj91dmw==
-"@typescript-eslint/typescript-estree@5.20.0":
- version "5.20.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.20.0.tgz#ab73686ab18c8781bbf249c9459a55dc9417d6b0"
- integrity sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==
+"@typescript-eslint/typescript-estree@5.23.0":
+ version "5.23.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.23.0.tgz#dca5f10a0a85226db0796e8ad86addc9aee52065"
+ integrity sha512-xE9e0lrHhI647SlGMl+m+3E3CKPF1wzvvOEWnuE3CCjjT7UiRnDGJxmAcVKJIlFgK6DY9RB98eLr1OPigPEOGg==
dependencies:
- "@typescript-eslint/types" "5.20.0"
- "@typescript-eslint/visitor-keys" "5.20.0"
+ "@typescript-eslint/types" "5.23.0"
+ "@typescript-eslint/visitor-keys" "5.23.0"
debug "^4.3.2"
globby "^11.0.4"
is-glob "^4.0.3"
semver "^7.3.5"
tsutils "^3.21.0"
-"@typescript-eslint/utils@5.20.0":
- version "5.20.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.20.0.tgz#b8e959ed11eca1b2d5414e12417fd94cae3517a5"
- integrity sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==
+"@typescript-eslint/utils@5.23.0":
+ version "5.23.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.23.0.tgz#4691c3d1b414da2c53d8943310df36ab1c50648a"
+ integrity sha512-dbgaKN21drqpkbbedGMNPCtRPZo1IOUr5EI9Jrrh99r5UW5Q0dz46RKXeSBoPV+56R6dFKpbrdhgUNSJsDDRZA==
dependencies:
"@types/json-schema" "^7.0.9"
- "@typescript-eslint/scope-manager" "5.20.0"
- "@typescript-eslint/types" "5.20.0"
- "@typescript-eslint/typescript-estree" "5.20.0"
+ "@typescript-eslint/scope-manager" "5.23.0"
+ "@typescript-eslint/types" "5.23.0"
+ "@typescript-eslint/typescript-estree" "5.23.0"
eslint-scope "^5.1.1"
eslint-utils "^3.0.0"
-"@typescript-eslint/visitor-keys@5.20.0":
- version "5.20.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.20.0.tgz#70236b5c6b67fbaf8b2f58bf3414b76c1e826c2a"
- integrity sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==
+"@typescript-eslint/visitor-keys@5.23.0":
+ version "5.23.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.23.0.tgz#057c60a7ca64667a39f991473059377a8067c87b"
+ integrity sha512-Vd4mFNchU62sJB8pX19ZSPog05B0Y0CE2UxAZPT5k4iqhRYjPnqyY3woMxCd0++t9OTqkgjST+1ydLBi7e2Fvg==
dependencies:
- "@typescript-eslint/types" "5.20.0"
+ "@typescript-eslint/types" "5.23.0"
eslint-visitor-keys "^3.0.0"
"@webassemblyjs/ast@1.11.1":
@@ -1990,7 +2004,7 @@ acorn-import-assertions@^1.7.6:
resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9"
integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==
-acorn-jsx@^5.3.1:
+acorn-jsx@^5.3.2:
version "5.3.2"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
@@ -2010,10 +2024,10 @@ acorn@^7.1.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
-acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0:
- version "8.7.0"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf"
- integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==
+acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1:
+ version "8.7.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
+ integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
add-stream@^1.0.0:
version "1.0.0"
@@ -2165,13 +2179,13 @@ array-ify@^1.0.0:
integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=
array-includes@^3.1.4:
- version "3.1.4"
- resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9"
- integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==
+ version "3.1.5"
+ resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb"
+ integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==
dependencies:
call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.19.1"
+ define-properties "^1.1.4"
+ es-abstract "^1.19.5"
get-intrinsic "^1.1.1"
is-string "^1.0.7"
@@ -2352,15 +2366,15 @@ browser-process-hrtime@^1.0.0:
resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626"
integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==
-browserslist@^4.14.5, browserslist@^4.17.5:
- version "4.20.2"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88"
- integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==
+browserslist@^4.14.5, browserslist@^4.20.2:
+ version "4.20.3"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.3.tgz#eb7572f49ec430e054f56d52ff0ebe9be915f8bf"
+ integrity sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==
dependencies:
- caniuse-lite "^1.0.30001317"
- electron-to-chromium "^1.4.84"
+ caniuse-lite "^1.0.30001332"
+ electron-to-chromium "^1.4.118"
escalade "^3.1.1"
- node-releases "^2.0.2"
+ node-releases "^2.0.3"
picocolors "^1.0.0"
bs-logger@0.x:
@@ -2453,10 +2467,10 @@ camelcase@^6.2.0, camelcase@^6.3.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
-caniuse-lite@^1.0.30001317:
- version "1.0.30001332"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz#39476d3aa8d83ea76359c70302eafdd4a1d727dd"
- integrity sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==
+caniuse-lite@^1.0.30001332:
+ version "1.0.30001339"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001339.tgz#f9aece4ea8156071613b27791547ba0b33f176cf"
+ integrity sha512-Es8PiVqCe+uXdms0Gu5xP5PF2bxLR7OBp3wUzUnuO7OHzhOfCyg3hdiGWVPVxhiuniOzng+hTc1u3fEQ0TlkSQ==
case@^1.6.3:
version "1.6.3"
@@ -2958,10 +2972,10 @@ data-urls@^2.0.0:
whatwg-mimetype "^2.3.0"
whatwg-url "^8.0.0"
-date-format@^4.0.7:
- version "4.0.7"
- resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.7.tgz#aa1cf4400badfe693c8462bbfcba43ab821d7d14"
- integrity sha512-k5xqlzDGIfv2N/DHR/BR8Kc4N9CRy9ReuDkmdxeX/jNfit94QXd36emWMm40ZOEDKNm/c91yV9EO3uGPkR7wWQ==
+date-format@^4.0.9:
+ version "4.0.9"
+ resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.9.tgz#4788015ac56dedebe83b03bc361f00c1ddcf1923"
+ integrity sha512-+8J+BOUpSrlKLQLeF8xJJVTxS8QfRSuJgwxSVvslzgO3E6khbI0F5mMEPf5mTYhCCm4h99knYP6H3W9n3BQFrg==
dateformat@^3.0.0:
version "3.0.3"
@@ -3065,7 +3079,7 @@ defaults@^1.0.3:
dependencies:
clone "^1.0.2"
-define-properties@^1.1.3:
+define-properties@^1.1.3, define-properties@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1"
integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==
@@ -3214,10 +3228,10 @@ ecc-jsbn@~0.1.1:
jsbn "~0.1.0"
safer-buffer "^2.1.0"
-electron-to-chromium@^1.4.84:
- version "1.4.114"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.114.tgz#d85ec0808dd50b0cf6e6b262480ffd385f71c873"
- integrity sha512-gRwLpVYWHGbERPU6o8pKfR168V6enWEXzZc6zQNNXbgJ7UJna+9qzAIHY94+9KOv71D/CH+QebLA9pChD2q8zA==
+electron-to-chromium@^1.4.118:
+ version "1.4.137"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz#186180a45617283f1c012284458510cd99d6787f"
+ integrity sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==
emittery@^0.8.1:
version "0.8.1"
@@ -3236,7 +3250,7 @@ encoding@^0.1.12:
dependencies:
iconv-lite "^0.6.2"
-enhanced-resolve@^5.9.2:
+enhanced-resolve@^5.9.3:
version "5.9.3"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz#44a342c012cbc473254af5cc6ae20ebd0aae5d88"
integrity sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==
@@ -3271,17 +3285,19 @@ error-ex@^1.3.1:
dependencies:
is-arrayish "^0.2.1"
-es-abstract@^1.18.5, es-abstract@^1.19.1, es-abstract@^1.19.2:
- version "1.19.5"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.5.tgz#a2cb01eb87f724e815b278b0dd0d00f36ca9a7f1"
- integrity sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==
+es-abstract@^1.18.5, es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5:
+ version "1.20.0"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.0.tgz#b2d526489cceca004588296334726329e0a6bfb6"
+ integrity sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA==
dependencies:
call-bind "^1.0.2"
es-to-primitive "^1.2.1"
function-bind "^1.1.1"
+ function.prototype.name "^1.1.5"
get-intrinsic "^1.1.1"
get-symbol-description "^1.0.0"
has "^1.0.3"
+ has-property-descriptors "^1.0.0"
has-symbols "^1.0.3"
internal-slot "^1.0.3"
is-callable "^1.2.4"
@@ -3293,9 +3309,10 @@ es-abstract@^1.18.5, es-abstract@^1.19.1, es-abstract@^1.19.2:
object-inspect "^1.12.0"
object-keys "^1.1.1"
object.assign "^4.1.2"
- string.prototype.trimend "^1.0.4"
- string.prototype.trimstart "^1.0.4"
- unbox-primitive "^1.0.1"
+ regexp.prototype.flags "^1.4.1"
+ string.prototype.trimend "^1.0.5"
+ string.prototype.trimstart "^1.0.5"
+ unbox-primitive "^1.0.2"
es-get-iterator@^1.1.1:
version "1.1.2"
@@ -3455,12 +3472,12 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
-eslint@^8.13.0:
- version "8.13.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.13.0.tgz#6fcea43b6811e655410f5626cfcf328016badcd7"
- integrity sha512-D+Xei61eInqauAyTJ6C0q6x9mx7kTUC1KZ0m0LSEexR0V+e94K12LmWX076ZIsldwfQ2RONdaJe0re0TRGQbRQ==
+eslint@^8.15.0:
+ version "8.15.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.15.0.tgz#fea1d55a7062da48d82600d2e0974c55612a11e9"
+ integrity sha512-GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA==
dependencies:
- "@eslint/eslintrc" "^1.2.1"
+ "@eslint/eslintrc" "^1.2.3"
"@humanwhocodes/config-array" "^0.9.2"
ajv "^6.10.0"
chalk "^4.0.0"
@@ -3471,7 +3488,7 @@ eslint@^8.13.0:
eslint-scope "^7.1.1"
eslint-utils "^3.0.0"
eslint-visitor-keys "^3.3.0"
- espree "^9.3.1"
+ espree "^9.3.2"
esquery "^1.4.0"
esutils "^2.0.2"
fast-deep-equal "^3.1.3"
@@ -3487,7 +3504,7 @@ eslint@^8.13.0:
json-stable-stringify-without-jsonify "^1.0.1"
levn "^0.4.1"
lodash.merge "^4.6.2"
- minimatch "^3.0.4"
+ minimatch "^3.1.2"
natural-compare "^1.4.0"
optionator "^0.9.1"
regexpp "^3.2.0"
@@ -3496,13 +3513,13 @@ eslint@^8.13.0:
text-table "^0.2.0"
v8-compile-cache "^2.0.3"
-espree@^9.3.1:
- version "9.3.1"
- resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.1.tgz#8793b4bc27ea4c778c19908e0719e7b8f4115bcd"
- integrity sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==
+espree@^9.3.2:
+ version "9.3.2"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.2.tgz#f58f77bd334731182801ced3380a8cc859091596"
+ integrity sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==
dependencies:
- acorn "^8.7.0"
- acorn-jsx "^5.3.1"
+ acorn "^8.7.1"
+ acorn-jsx "^5.3.2"
eslint-visitor-keys "^3.3.0"
esprima@^4.0.0, esprima@^4.0.1:
@@ -3757,7 +3774,7 @@ fs-access@^1.0.1:
dependencies:
null-check "^1.0.0"
-fs-extra@^10.0.1:
+fs-extra@^10.1.0:
version "10.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf"
integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==
@@ -3805,6 +3822,16 @@ function-bind@^1.1.1:
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+function.prototype.name@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621"
+ integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.0"
+ functions-have-names "^1.2.2"
+
functional-red-black-tree@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
@@ -3991,9 +4018,9 @@ globals@^11.1.0:
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
globals@^13.6.0, globals@^13.9.0:
- version "13.13.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-13.13.0.tgz#ac32261060d8070e2719dd6998406e27d2b5727b"
- integrity sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==
+ version "13.14.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-13.14.0.tgz#daf3ff9b4336527cf56e98330b6f64bea9aff9df"
+ integrity sha512-ERO68sOYwm5UuLvSJTY7w7NP2c8S4UcXs3X1GBX8cwOr+ShOcDBbCY5mH4zxz0jsYCdJ8ve8Mv9n2YGJMB1aeg==
dependencies:
type-fest "^0.20.2"
@@ -4044,7 +4071,7 @@ hard-rejection@^2.1.0:
resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883"
integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==
-has-bigints@^1.0.1:
+has-bigints@^1.0.1, has-bigints@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa"
integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==
@@ -4279,9 +4306,9 @@ interpret@^2.2.0:
integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==
ip@^1.1.5:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
- integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.6.tgz#5a651a37644586e18b6ba3b48ca122bf56495f67"
+ integrity sha512-/dAvCivFs/VexXAtiAoMIqyhkhStNC9CPD0h1noonimOgB1xrCkexF2c5CjlqQ72GgMPjN6tiV+oreoPv3Ft1g==
is-arguments@^1.0.4, is-arguments@^1.1.0:
version "1.1.1"
@@ -4550,9 +4577,9 @@ istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==
istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a"
- integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f"
+ integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==
dependencies:
"@babel/core" "^7.12.3"
"@babel/parser" "^7.14.7"
@@ -5068,12 +5095,12 @@ json-fixer@^1.5.1:
chalk "^4.1.2"
pegjs "^0.10.0"
-json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
+json-parse-better-errors@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
-json-parse-even-better-errors@^2.3.0:
+json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
@@ -5295,6 +5322,11 @@ lodash.merge@^4.6.2:
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
+lodash.sortby@^4.7.0:
+ version "4.7.0"
+ resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
+ integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
+
lodash.template@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab"
@@ -5315,16 +5347,16 @@ lodash@^4.11.2, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.7.0:
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
-log4js@^6.4.5:
- version "6.4.5"
- resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.5.tgz#5cca31b29ece65a625efbc3df6fcbd9cecb9ee7b"
- integrity sha512-43RJcYZ7nfUxpPO2woTl8CJ0t5+gucLJZ43mtp2PlInT+LygCp/bl6hNJtKulCJ+++fQsjIv4EO3Mp611PfeLQ==
+log4js@^6.4.6:
+ version "6.4.6"
+ resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.6.tgz#1878aa3f09973298ecb441345fe9dd714e355c15"
+ integrity sha512-1XMtRBZszmVZqPAOOWczH+Q94AI42mtNWjvjA5RduKTSWjEc56uOBbyM1CJnfN4Ym0wSd8cQ43zOojlSHgRDAw==
dependencies:
- date-format "^4.0.7"
+ date-format "^4.0.9"
debug "^4.3.4"
flatted "^3.2.5"
rfdc "^1.3.0"
- streamroller "^3.0.7"
+ streamroller "^3.0.8"
lower-case@^1.1.1:
version "1.1.4"
@@ -5721,10 +5753,10 @@ node-int64@^0.4.0:
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=
-node-releases@^2.0.2:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.3.tgz#225ee7488e4a5e636da8da52854844f9d716ca96"
- integrity sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==
+node-releases@^2.0.3:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.4.tgz#f38252370c43854dc48aa431c766c6c398f40476"
+ integrity sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==
nopt@^4.0.1:
version "4.0.3"
@@ -6565,7 +6597,7 @@ regenerator-runtime@^0.13.4:
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
-regexp.prototype.flags@^1.3.0:
+regexp.prototype.flags@^1.3.0, regexp.prototype.flags@^1.4.1:
version "1.4.3"
resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac"
integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==
@@ -6913,21 +6945,23 @@ source-map-support@^0.5.6, source-map-support@~0.5.20:
buffer-from "^1.0.0"
source-map "^0.6.0"
-source-map@^0.5.0:
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
- integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
-
source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-source-map@^0.7.3, source-map@~0.7.2:
+source-map@^0.7.3:
version "0.7.3"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
+source-map@~0.8.0-beta.0:
+ version "0.8.0-beta.0"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11"
+ integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==
+ dependencies:
+ whatwg-url "^7.0.0"
+
spdx-correct@^3.0.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
@@ -7041,14 +7075,14 @@ standard-version@^9.3.2:
stringify-package "^1.0.1"
yargs "^16.0.0"
-streamroller@^3.0.7:
- version "3.0.7"
- resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.7.tgz#d566353d3d8b5d2f3d813d2df557c08083b414cf"
- integrity sha512-kh68kwiDGuIPiPDWwRbEC5us+kfARP1e9AsQiaLaSqGrctOvMn0mtL8iNY3r4/o5nIoYi3gPI1jexguZsXDlxw==
+streamroller@^3.0.8:
+ version "3.0.8"
+ resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.8.tgz#84b190e4080ee311ca1ebe0444e30ac8eedd028d"
+ integrity sha512-VI+ni3czbFZrd1MrlybxykWZ8sMDCMtTU7YJyhgb9M5X6d1DDxLdJr+gSnmRpXPMnIWxWKMaAE8K0WumBp3lDg==
dependencies:
- date-format "^4.0.7"
+ date-format "^4.0.9"
debug "^4.3.4"
- fs-extra "^10.0.1"
+ fs-extra "^10.1.0"
strict-uri-encode@^2.0.0:
version "2.0.0"
@@ -7086,21 +7120,23 @@ string.prototype.repeat@^0.2.0:
resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz#aba36de08dcee6a5a337d49b2ea1da1b28fc0ecf"
integrity sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8=
-string.prototype.trimend@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80"
- integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==
+string.prototype.trimend@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0"
+ integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==
dependencies:
call-bind "^1.0.2"
- define-properties "^1.1.3"
+ define-properties "^1.1.4"
+ es-abstract "^1.19.5"
-string.prototype.trimstart@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed"
- integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==
+string.prototype.trimstart@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef"
+ integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==
dependencies:
call-bind "^1.0.2"
- define-properties "^1.1.3"
+ define-properties "^1.1.4"
+ es-abstract "^1.19.5"
string_decoder@^1.1.1:
version "1.3.0"
@@ -7289,13 +7325,13 @@ terser-webpack-plugin@^5.1.3:
terser "^5.7.2"
terser@^5.7.2:
- version "5.12.1"
- resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.1.tgz#4cf2ebed1f5bceef5c83b9f60104ac4a78b49e9c"
- integrity sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==
+ version "5.13.1"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.13.1.tgz#66332cdc5a01b04a224c9fad449fc1a18eaa1799"
+ integrity sha512-hn4WKOfwnwbYfe48NgrQjqNOH9jzLqRcIfbYytOXCOv46LBfWr9bDS17MQqOi+BWGD0sJK3Sj5NC/gJjiojaoA==
dependencies:
acorn "^8.5.0"
commander "^2.20.0"
- source-map "~0.7.2"
+ source-map "~0.8.0-beta.0"
source-map-support "~0.5.20"
test-exclude@^6.0.0:
@@ -7383,6 +7419,13 @@ tough-cookie@~2.5.0:
psl "^1.1.28"
punycode "^2.1.1"
+tr46@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
+ integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=
+ dependencies:
+ punycode "^2.1.0"
+
tr46@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240"
@@ -7449,9 +7492,9 @@ tslib@^1.8.1, tslib@^1.9.0:
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
tslib@^2.1.0:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
- integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
+ integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
tsutils@^3.21.0:
version "3.21.0"
@@ -7571,14 +7614,14 @@ umask@^1.1.0:
resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d"
integrity sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0=
-unbox-primitive@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471"
- integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==
+unbox-primitive@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e"
+ integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==
dependencies:
- function-bind "^1.1.1"
- has-bigints "^1.0.1"
- has-symbols "^1.0.2"
+ call-bind "^1.0.2"
+ has-bigints "^1.0.2"
+ has-symbols "^1.0.3"
which-boxed-primitive "^1.0.2"
unique-filename@^1.1.1:
@@ -7735,6 +7778,11 @@ webidl-conversions@^3.0.0:
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=
+webidl-conversions@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
+ integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
+
webidl-conversions@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
@@ -7776,10 +7824,10 @@ webpack-sources@^3.2.3:
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
-webpack@^5.72.0:
- version "5.72.0"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.72.0.tgz#f8bc40d9c6bb489a4b7a8a685101d6022b8b6e28"
- integrity sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==
+webpack@^5.72.1:
+ version "5.72.1"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.72.1.tgz#3500fc834b4e9ba573b9f430b2c0a61e1bb57d13"
+ integrity sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==
dependencies:
"@types/eslint-scope" "^3.7.3"
"@types/estree" "^0.0.51"
@@ -7790,13 +7838,13 @@ webpack@^5.72.0:
acorn-import-assertions "^1.7.6"
browserslist "^4.14.5"
chrome-trace-event "^1.0.2"
- enhanced-resolve "^5.9.2"
+ enhanced-resolve "^5.9.3"
es-module-lexer "^0.9.0"
eslint-scope "5.1.1"
events "^3.2.0"
glob-to-regexp "^0.4.1"
graceful-fs "^4.2.9"
- json-parse-better-errors "^1.0.2"
+ json-parse-even-better-errors "^2.3.1"
loader-runner "^4.2.0"
mime-types "^2.1.27"
neo-async "^2.6.2"
@@ -7826,6 +7874,15 @@ whatwg-url@^5.0.0:
tr46 "~0.0.3"
webidl-conversions "^3.0.0"
+whatwg-url@^7.0.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06"
+ integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==
+ dependencies:
+ lodash.sortby "^4.7.0"
+ tr46 "^1.0.1"
+ webidl-conversions "^4.0.2"
+
whatwg-url@^8.0.0, whatwg-url@^8.4.0, whatwg-url@^8.5.0:
version "8.7.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77"