diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index 1258a64dce..46da892ea7 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up Python uses: actions/setup-python@v5 with: @@ -54,12 +54,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: ref: gh-pages token: ${{ secrets.PROJEN_GITHUB_TOKEN }} - name: Download Artifact - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v5 with: name: doc-site path: ${{ runner.temp }}/site diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 866f5a0154..ab788d2d2b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -23,10 +23,10 @@ jobs: steps: # Check out the code - name: Check out - uses: actions/checkout@v4 + uses: actions/checkout@v5 # Set up all of our standard runtimes - name: Set up .NET 6 - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v5 with: dotnet-version: '6.0.x' - name: Set up Go 1.23 @@ -34,7 +34,7 @@ jobs: with: go-version: '1.23' - name: Set up Java 8 - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: 'zulu' java-version: '8' @@ -105,10 +105,10 @@ jobs: steps: # Check out the code - name: Check out - uses: actions/checkout@v4 + uses: actions/checkout@v5 # Set up all of our standard runtimes - name: Set up .NET 6 - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v5 with: dotnet-version: '6.0.x' - name: Set up Go 1.23 @@ -116,7 +116,7 @@ jobs: with: go-version: '1.23' - name: Set up Java 8 - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: 'zulu' java-version: '8' @@ -189,7 +189,7 @@ jobs: dotnet: ['6.0.x'] go: ['1.23'] java: ['8'] - node: ['18'] # EOL 2025-04-30 + node: ['20'] # EOS 2026-10-30 os: [ubuntu-latest] python: ['3.9'] # Add specific combinations to be tested against (to restrict cardinality) @@ -200,7 +200,7 @@ jobs: dotnet: '6.0.x' go: '1.23' java: '8' - node: '18' + node: '20' python: '3.9' # Test using macOS - title: 'macOS' @@ -208,14 +208,14 @@ jobs: dotnet: '6.0.x' go: '1.23' java: '8' - node: '18' + node: '20' python: '3.9' # Test alternate Nodes - title: 'Node 18' java: '8' dotnet: '6.0.x' go: '1.23' - node: '18' # EOL 2025-04-30 + node: '18' # EOS 2025-11-30 os: ubuntu-latest python: '3.9' - title: 'Node 20' @@ -244,7 +244,7 @@ jobs: java: '8' dotnet: '7.0.x' go: '1.23' - node: '18' + node: '20' os: ubuntu-latest python: '3.9' # Test alternate Gos @@ -252,7 +252,7 @@ jobs: java: '8' dotnet: '6.0.x' go: '1.24' - node: '18' + node: '20' os: ubuntu-latest python: '3.9' # Test alternate Javas @@ -260,7 +260,7 @@ jobs: java: '11' dotnet: '6.0.x' go: '1.23' - node: '18' + node: '20' os: ubuntu-latest python: '3.9' # Test alternate Pythons @@ -269,27 +269,27 @@ jobs: dotnet: '6.0.x' go: '1.23' java: '8' - node: '18' + node: '20' os: ubuntu-latest - title: 'Python 3.10' python: '3.10' dotnet: '6.0.x' go: '1.23' java: '8' - node: '18' + node: '20' os: ubuntu-latest - title: 'Python 3.11' python: '3.11' dotnet: '6.0.x' go: '1.23' java: '8' - node: '18' + node: '20' os: ubuntu-latest runs-on: ${{ matrix.os }} steps: # Check out the code - name: Download Artifact - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v5 with: name: built-tree - name: Extract Artifact @@ -301,7 +301,7 @@ jobs: rm built-tree.tgz # Set up all of our standard runtimes (this is matrix-based) - name: Set up .NET ${{ matrix.dotnet }} - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v5 with: dotnet-version: ${{ matrix.dotnet }} - name: Set up Go ${{ matrix.go }} @@ -309,7 +309,7 @@ jobs: with: go-version: ${{ matrix.go }} - name: Set up Java ${{ matrix.java }} - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: 'zulu' java-version: ${{ matrix.java }} @@ -378,20 +378,19 @@ jobs: matrix: rosetta: - latest - - 5.5.x - - 5.6.x - 5.7.x - 5.8.x + - 5.9.x steps: # Check out the code - name: Download Artifact - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v5 with: name: release-package path: ${{ runner.temp }}/release-package # Set up all of our standard runtimes - name: Set up .NET 7 - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v5 with: dotnet-version: '7.0.x' - name: Set up Go 1.23 @@ -399,7 +398,7 @@ jobs: with: go-version: '1.23' - name: Set up Java 20 - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: 'corretto' java-version: '20' diff --git a/.github/workflows/pull-request-lint.yml b/.github/workflows/pull-request-lint.yml index 791d17f9a4..3dee0d662d 100644 --- a/.github/workflows/pull-request-lint.yml +++ b/.github/workflows/pull-request-lint.yml @@ -16,7 +16,7 @@ jobs: permissions: pull-requests: write steps: - - uses: amannn/action-semantic-pull-request@v5 + - uses: amannn/action-semantic-pull-request@v6 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: diff --git a/.github/workflows/yarn-upgrade.yml b/.github/workflows/yarn-upgrade.yml index 8b8e29c8aa..8cb47dd6b1 100644 --- a/.github/workflows/yarn-upgrade.yml +++ b/.github/workflows/yarn-upgrade.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check Out - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up Node uses: actions/setup-node@v4 @@ -119,10 +119,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Check Out - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Download patch - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v5 with: name: upgrade.patch path: ${{ runner.temp }} diff --git a/CHANGELOG.md b/CHANGELOG.md index eb397d3a76..a20f669163 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ 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.114.0](https://github.com/aws/jsii/compare/v1.113.0...v1.114.0) (2025-09-04) + + +### Features + +* jsii and jsii-rosetta v5.9 ([#4885](https://github.com/aws/jsii/issues/4885)) ([fd4385a](https://github.com/aws/jsii/commit/fd4385aa6d15fba2112c673b83511466687603d4)) +* prepare support for intersection types ([#4898](https://github.com/aws/jsii/issues/4898)) ([d75658e](https://github.com/aws/jsii/commit/d75658e146a17c26e9cc6294cef00322af683672)) + ## [1.113.0](https://github.com/aws/jsii/compare/v1.112.0...v1.113.0) (2025-07-31) diff --git a/buildspec.yaml b/buildspec.yaml index 00fbd9c063..790bae8f6d 100644 --- a/buildspec.yaml +++ b/buildspec.yaml @@ -10,6 +10,10 @@ phases: commands: - yarn build && yarn test - yarn dist-clean + + # Do a candidate version bump, guaranteed to be distinct from published versions + - npx standard-version --release-as patch --skip.commit --skip.changelog + - /bin/bash ./scripts/align-version.sh - yarn build post_build: diff --git a/docs/updating-go-version.md b/docs/updating-go-version.md new file mode 100644 index 0000000000..d1e1dcb1d8 --- /dev/null +++ b/docs/updating-go-version.md @@ -0,0 +1,26 @@ +# Updating the Go version in jsii + +Each major Go release is supported until there are two newer major releases. When a Go release reaches it end of life, +we should remove support for it in jsii. To do this, you have to: + +## 1. Update jsii/superchain + +- Update the `GO_VERSION` in the [Dockerfile](https://github.com/aws/jsii-superchain/blob/main/superchain/Dockerfile#L87) + +## 2. Update `cdk init` template + +- Needs to be updated to the new version, so that new apps declare their minimum requirements correctly. +- See example [PR](https://github.com/aws/aws-cdk-cli/pull/768)s + +## 3. Update @jsii/go-runtime and jsii repo + +- Update the baseline version of Go in `.github/workflows/main.yml`. +- Update `packages/@jsii/go-runtime/jsii-runtime-go/go.mod` +- Update the value of the `GO_VERSION` constant in `packages/jsii-pacmak/lib/targets/go/package.ts`. Don't forget to + also update the `jsii-pacmak` jest snapshots. +- Update `packages/@jsii/go-runtime-test/project/go.mod`. + +## 4. Update jsii-pacmak in aws-cdk-lib (Automatic) + +Eventually the above updates will be released and the jsii-pacmak version in `aws-cdk-lib` will be updated automatically. +This should now pass the canaries and everything is completed. diff --git a/gh-pages/requirements-dev.txt b/gh-pages/requirements-dev.txt index 69dca21a2b..af767d8ffa 100644 --- a/gh-pages/requirements-dev.txt +++ b/gh-pages/requirements-dev.txt @@ -1,4 +1,4 @@ mkdocs~=1.6.1 mkdocs-awesome-pages-plugin~=2.10.1 -mkdocs-material~=9.6.15 +mkdocs-material~=9.6.18 mkdocs-git-revision-date-plugin~=0.3.2 diff --git a/lerna.json b/lerna.json index 486fa14f60..5ee5afff93 100644 --- a/lerna.json +++ b/lerna.json @@ -12,6 +12,6 @@ "rejectCycles": true } }, - "version": "1.113.0", + "version": "1.114.0", "$schema": "node_modules/lerna/schemas/lerna-schema.json" } diff --git a/package.json b/package.json index 8ec857b73d..4e8c7a3c84 100644 --- a/package.json +++ b/package.json @@ -19,15 +19,15 @@ "@jest/types": "^29.6.3", "@types/jest": "^30.0.0", "@types/node": "^18", - "@typescript-eslint/eslint-plugin": "^8.38.0", - "@typescript-eslint/parser": "^8.38.0", + "@typescript-eslint/eslint-plugin": "^8.40.0", + "@typescript-eslint/parser": "^8.40.0", "all-contributors-cli": "^6.26.1", - "eslint": "^9.31.0", + "eslint": "^9.33.0", "eslint-config-prettier": "^10.1.8", "eslint-import-resolver-node": "^0.3.9", "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-import": "2.31.0", - "eslint-plugin-prettier": "^5.5.3", + "eslint-plugin-prettier": "^5.5.4", "jest": "^30.0.5", "jest-circus": "^30.0.5", "jest-config": "^30.0.5", @@ -37,7 +37,7 @@ "prettier": "^3.6.2", "standard-version": "^9.5.0", "ts-node": "^10.9.2", - "typescript": "5.8.x" + "typescript": "5.9.x" }, "repository": { "type": "git", diff --git a/packages/@jsii/go-runtime-test/project/go.mod b/packages/@jsii/go-runtime-test/project/go.mod index c14a213b99..a9c34ac3d3 100644 --- a/packages/@jsii/go-runtime-test/project/go.mod +++ b/packages/@jsii/go-runtime-test/project/go.mod @@ -9,9 +9,9 @@ require ( github.com/aws/jsii/jsii-calc/go/jcb v0.0.0 github.com/aws/jsii/jsii-calc/go/jsiicalc/v3 v3.20.120 github.com/aws/jsii/jsii-calc/go/scopejsiicalclib v0.0.0-devpreview - github.com/stretchr/testify v1.10.0 + github.com/stretchr/testify v1.11.1 golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 - golang.org/x/tools v0.35.0 + golang.org/x/tools v0.36.0 ) require ( @@ -23,9 +23,9 @@ require ( github.com/mattn/go-isatty v0.0.20 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/yuin/goldmark v1.4.13 // indirect - golang.org/x/mod v0.26.0 // indirect + golang.org/x/mod v0.27.0 // indirect golang.org/x/sync v0.16.0 // indirect - golang.org/x/sys v0.34.0 // indirect + golang.org/x/sys v0.35.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/packages/@jsii/go-runtime-test/project/go.sum b/packages/@jsii/go-runtime-test/project/go.sum index 43691aa2f7..a12541a78e 100644 --- a/packages/@jsii/go-runtime-test/project/go.sum +++ b/packages/@jsii/go-runtime-test/project/go.sum @@ -17,6 +17,10 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.11.0 h1:ib4sjIrwZKxE5u/Japgo/7SJV3PvgjGiRNAvTVGqQl8= +github.com/stretchr/testify v1.11.0/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -28,6 +32,8 @@ golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg= golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ= +golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= +golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -43,12 +49,16 @@ golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc= golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI= golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0= golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw= +golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg= +golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/packages/@jsii/go-runtime/jsii-runtime-go/go.mod b/packages/@jsii/go-runtime/jsii-runtime-go/go.mod index 4d5d6cfe77..10c4fbeaf3 100644 --- a/packages/@jsii/go-runtime/jsii-runtime-go/go.mod +++ b/packages/@jsii/go-runtime/jsii-runtime-go/go.mod @@ -8,9 +8,9 @@ require ( github.com/Masterminds/semver/v3 v3.4.0 github.com/fatih/color v1.18.0 github.com/mattn/go-isatty v0.0.20 - github.com/stretchr/testify v1.10.0 + github.com/stretchr/testify v1.11.1 golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 - golang.org/x/tools v0.35.0 + golang.org/x/tools v0.36.0 ) require ( @@ -18,9 +18,9 @@ require ( github.com/mattn/go-colorable v0.1.13 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/yuin/goldmark v1.4.13 // indirect - golang.org/x/mod v0.26.0 // indirect + golang.org/x/mod v0.27.0 // indirect golang.org/x/sync v0.16.0 // indirect - golang.org/x/sys v0.34.0 // indirect + golang.org/x/sys v0.35.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/packages/@jsii/go-runtime/jsii-runtime-go/go.sum b/packages/@jsii/go-runtime/jsii-runtime-go/go.sum index 2364daac60..85fe3a2fae 100644 --- a/packages/@jsii/go-runtime/jsii-runtime-go/go.sum +++ b/packages/@jsii/go-runtime/jsii-runtime-go/go.sum @@ -13,8 +13,8 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -22,8 +22,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg= -golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ= +golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= +golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -33,12 +33,12 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= -golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0= -golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw= +golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg= +golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/packages/@jsii/kernel/package.json b/packages/@jsii/kernel/package.json index a6a88cf704..57ea8a55c8 100644 --- a/packages/@jsii/kernel/package.json +++ b/packages/@jsii/kernel/package.json @@ -31,7 +31,7 @@ "package": "package-js" }, "dependencies": { - "@jsii/spec": "^0.0.0", + "@jsii/spec": "0.0.0", "fs-extra": "^10.1.0", "lockfile": "^1.0.4", "tar": "^6.2.1" diff --git a/packages/@jsii/kernel/src/kernel.test.ts b/packages/@jsii/kernel/src/kernel.test.ts index 6f3cea57e4..ae16e072f4 100644 --- a/packages/@jsii/kernel/src/kernel.test.ts +++ b/packages/@jsii/kernel/src/kernel.test.ts @@ -1,4 +1,5 @@ /* eslint-disable @typescript-eslint/prefer-promise-reject-errors */ +import { Assembly, SchemaVersion } from '@jsii/spec'; import * as childProcess from 'child_process'; import * as fs from 'fs-extra'; import * as os from 'os'; @@ -1336,6 +1337,36 @@ defineTest('loading a module twice idepotently succeeds', async (sandbox) => { }); }); +defineTest.skipIf(!!recordingOutput)( + 'loading an assembly with unsupported features fails', + async (sandbox) => { + const testAssembly: Assembly = { + author: { + name: 'Me', + roles: ['owner'], + }, + description: 'Test', + fingerprint: 'asdf', + homepage: 'www.example.com', + jsiiVersion: '1.20.3', + license: 'MIT', + name: 'test', + repository: { type: 'other', url: 'www.example.com' }, + schema: SchemaVersion.LATEST, + version: '1.2.3', + usedFeatures: ['will-never-be-used' as any], + }; + + await expect(async () => + sandbox.load({ + tarball: await makeJsiiTarball(testAssembly), + name: testAssembly.name, + version: testAssembly.version, + }), + ).rejects.toThrow(/will-never-be-used/); + }, +); + defineTest( 'fails if trying to load two different versions of the same module', async (sandbox) => { @@ -2275,9 +2306,42 @@ async function preparePackage(module: string, useCache = true) { } const packageRoot = findPackageRoot(module); - await new Promise((ok, ko) => { - const child = childProcess.spawn('npm', ['pack', packageRoot], { - cwd: staging, + + await runNpm(['pack', packageRoot], staging); + + const dir = path.join(staging, (await fs.readdir(staging))[0]); + cache.set(module, dir); + return dir; +} + +async function makeJsiiTarball(assembly: Assembly) { + const staging = await fs.mkdtemp( + path.join(os.tmpdir(), 'jsii-kernel-tests-'), + ); + + // clean up only if we are not recording, so playback can refer to these + if (!recordingOutput) { + process.on('exit', () => fs.removeSync(staging)); // cleanup + } + + await fs.writeJson(path.join(staging, 'package.json'), { + name: assembly.name, + version: assembly.version, + }); + + await fs.writeJson(path.join(staging, '.jsii'), assembly); + + await runNpm(['pack'], staging); + + const tarballs = (await fs.readdir(staging)).filter((x) => x.endsWith('gz')); + + return path.join(staging, tarballs[0]); +} + +async function runNpm(args: string[], cwd: string): Promise { + return new Promise((ok, ko) => { + const child = childProcess.spawn('npm', args, { + cwd, shell: true, stdio: ['ignore', 'pipe', 'ignore'], }); @@ -2285,7 +2349,7 @@ async function preparePackage(module: string, useCache = true) { child.stdout.on('data', (chunk) => stdout.push(Buffer.from(chunk))); child.once('close', (code, signal) => { if (code === 0) { - return ok(); + return ok(Buffer.concat(stdout).toString()); } if (code != null) { return ko(`'npm pack' exited with code ${code}`); @@ -2293,9 +2357,6 @@ async function preparePackage(module: string, useCache = true) { return ko(`'npm pack' killed by signal ${signal}`); }); }); - const dir = path.join(staging, (await fs.readdir(staging))[0]); - cache.set(module, dir); - return dir; } function findPackageRoot(pkg: string) { diff --git a/packages/@jsii/kernel/src/kernel.ts b/packages/@jsii/kernel/src/kernel.ts index e83b2aa284..23f4fc877f 100644 --- a/packages/@jsii/kernel/src/kernel.ts +++ b/packages/@jsii/kernel/src/kernel.ts @@ -34,6 +34,7 @@ export class RuntimeError extends Error implements JsiiError { super(message); } } + export class Kernel { /** * Set to true for verbose debugging. diff --git a/packages/@jsii/kernel/src/serialization.ts b/packages/@jsii/kernel/src/serialization.ts index affc596629..8d1037b06d 100644 --- a/packages/@jsii/kernel/src/serialization.ts +++ b/packages/@jsii/kernel/src/serialization.ts @@ -941,6 +941,10 @@ export function serializationType( ); } + if (spec.isIntersectionTypeReference(typeRef.type)) { + throw new Error(`Intersection types cannot be serialized`); + } + // The next part of the conversion is lookup-dependent const type = lookup(typeRef.type.fqn); diff --git a/packages/@jsii/python-runtime/requirements.txt b/packages/@jsii/python-runtime/requirements.txt index fc017b6e0b..0cb424fed9 100644 --- a/packages/@jsii/python-runtime/requirements.txt +++ b/packages/@jsii/python-runtime/requirements.txt @@ -1,6 +1,6 @@ black~=25.1 -mypy==1.15.0 -pip~=25.1 +mypy==1.17.1 +pip~=25.2 pytest~=8.4 pytest-mypy~=1.0 setuptools~=80.3 diff --git a/packages/@jsii/python-runtime/setup.py b/packages/@jsii/python-runtime/setup.py index c3ef639651..c0776cb069 100644 --- a/packages/@jsii/python-runtime/setup.py +++ b/packages/@jsii/python-runtime/setup.py @@ -31,7 +31,7 @@ }, install_requires=[ "attrs>=21.2,<26.0", - "cattrs>=1.8,<25.2", + "cattrs>=1.8,<25.3", "importlib_resources>=5.2.0", "publication>=0.0.3", # This is used by all generated code. # 4.3.0 is incompatible with generated bindings, see https://github.com/aws/jsii/issues/4658 diff --git a/packages/@jsii/python-runtime/tests/test_compliance.py b/packages/@jsii/python-runtime/tests/test_compliance.py index 051fabb76f..589c33f9e4 100644 --- a/packages/@jsii/python-runtime/tests/test_compliance.py +++ b/packages/@jsii/python-runtime/tests/test_compliance.py @@ -884,11 +884,11 @@ def private_property(self): def test_doNotOverridePrivates_property_getter(): class TDoNotOverridePrivates(DoNotOverridePrivates): @property - def private_property(self): + def private_property(self) -> str: return "privateProperty-Override" @private_property.setter - def private_property(self): + def private_property(self, _: str): raise RuntimeError("Boom") obj = TDoNotOverridePrivates() diff --git a/packages/@jsii/python-runtime/tests/test_invoke_bin.py b/packages/@jsii/python-runtime/tests/test_invoke_bin.py index d9a17e52bd..fb11994fbe 100644 --- a/packages/@jsii/python-runtime/tests/test_invoke_bin.py +++ b/packages/@jsii/python-runtime/tests/test_invoke_bin.py @@ -94,9 +94,7 @@ def test_invoke_script_with_line_flush( buffered to the end """ script_path = f".env/bin/calc" - proc = subprocess.Popen( - [script_path, "arg1", "delay"], stdout=subprocess.PIPE, bufsize=1 - ) + proc = subprocess.Popen([script_path, "arg1", "delay"], stdout=subprocess.PIPE) timed_lines = [] last_dt = None diff --git a/packages/@jsii/runtime/package.json b/packages/@jsii/runtime/package.json index 1f856ab091..9bf838c5c1 100644 --- a/packages/@jsii/runtime/package.json +++ b/packages/@jsii/runtime/package.json @@ -36,7 +36,7 @@ "dependencies": { "@jsii/kernel": "^0.0.0", "@jsii/check-node": "0.0.0", - "@jsii/spec": "^0.0.0" + "@jsii/spec": "0.0.0" }, "devDependencies": { "@scope/jsii-calc-base": "^0.0.0", @@ -44,7 +44,7 @@ "jsii-build-tools": "^0.0.0", "jsii-calc": "^3.20.120", "source-map-loader": "^5.0.0", - "webpack": "^5.100.2", + "webpack": "^5.101.3", "webpack-cli": "^6.0.1" } } diff --git a/packages/@jsii/spec/src/assembly-utils.ts b/packages/@jsii/spec/src/assembly-utils.ts index 5f02704e63..ea13a3684a 100644 --- a/packages/@jsii/spec/src/assembly-utils.ts +++ b/packages/@jsii/spec/src/assembly-utils.ts @@ -3,6 +3,7 @@ import * as path from 'path'; import * as zlib from 'zlib'; import { + ALL_TYPESYSTEM_ENFORCED_FEATURES, Assembly, SPEC_FILE_NAME, SPEC_FILE_NAME_COMPRESSED, @@ -122,11 +123,13 @@ const failNoReadfileProvided = (filename: string) => { * @param assemblyBuffer buffer containing SPEC_FILE_NAME contents * @param readFile a callback to use for reading additional support files * @param validate whether or not to validate the assembly + * @param supportedFeatures the set of supported features (default: all features enforced by the type system) */ export function loadAssemblyFromBuffer( assemblyBuffer: Buffer, readFile: (filename: string) => Buffer = failNoReadfileProvided, validate = true, + supportedFeatures: string[] = ALL_TYPESYSTEM_ENFORCED_FEATURES, ): Assembly { let contents = JSON.parse(assemblyBuffer.toString('utf-8')); @@ -135,6 +138,20 @@ export function loadAssemblyFromBuffer( contents = followRedirect(contents, readFile); } + // Do feature checking *before* validating using JSONSchema, and do it always. + // - In case validation is enabled, feature checking will produce a + // more useful error message. + // - In case validation is disabled, feature checking is cheap and will catch + // common problems. + const unsupported = ((contents as Assembly).usedFeatures ?? []).filter( + (feat) => !supportedFeatures.includes(feat), + ); + if (unsupported.length > 0) { + throw new Error( + `This jsii tool cannot load the given assembly; using unsupported feature(s): ${unsupported.join(', ')}`, + ); + } + return validate ? validateAssembly(contents) : contents; } @@ -149,9 +166,10 @@ export function loadAssemblyFromBuffer( export function loadAssemblyFromPath( directory: string, validate = true, + supportedFeatures?: string[], ): Assembly { const assemblyFile = findAssemblyFile(directory); - return loadAssemblyFromFile(assemblyFile, validate); + return loadAssemblyFromFile(assemblyFile, validate, supportedFeatures); } /** @@ -165,6 +183,7 @@ export function loadAssemblyFromPath( export function loadAssemblyFromFile( pathToFile: string, validate = true, + supportedFeatures?: string[], ): Assembly { const data = fs.readFileSync(pathToFile); try { @@ -172,6 +191,7 @@ export function loadAssemblyFromFile( data, (filename) => fs.readFileSync(path.resolve(pathToFile, '..', filename)), validate, + supportedFeatures, ); } catch (e: any) { throw new Error(`Error loading assembly from file ${pathToFile}:\n${e}`); diff --git a/packages/@jsii/spec/src/assembly.ts b/packages/@jsii/spec/src/assembly.ts index 7d1bd4a1c9..4410d5dded 100644 --- a/packages/@jsii/spec/src/assembly.ts +++ b/packages/@jsii/spec/src/assembly.ts @@ -17,6 +17,16 @@ export interface Assembly ReadMeContainer { /** * The version of the spec schema + * + * NOTE: we cannot ever change this value anymore! If we do, new instances of + * assmblies that would have been backwards compatible with the old schema + * still cannot be loaded, because the schema versions don't match exactly (as + * validated by JSON Schema validators on loading). + * + * We *must* always emit this value as 'jsii/0.10.0'. + * + * Instead, see `usedFeatures` for a dynamic way to do feature validation + * without relying on a fixed schema version. */ schema: SchemaVersion.LATEST; @@ -154,6 +164,18 @@ export interface Assembly * @default none */ bin?: { readonly [script: string]: string }; + + /** + * List of features used in this assembly + * + * If a modern jsii feature is used in the assembly, a descriptive string + * should be added here. This field will be used to selectively reject the + * loading of assemblies that requires features not currently supported by the + * jsii kernel, or downstream jsii tools. + * + * @default - Only original jsii features. + */ + usedFeatures?: JsiiFeature[]; } /** @@ -545,7 +567,8 @@ export type TypeReference = | NamedTypeReference | PrimitiveTypeReference | CollectionTypeReference - | UnionTypeReference; + | UnionTypeReference + | IntersectionTypeReference; /** * The standard representation of the `any` type (includes optionality marker). @@ -626,12 +649,36 @@ export interface UnionTypeReference { types: TypeReference[]; }; } + export function isUnionTypeReference( ref: TypeReference | undefined, ): ref is UnionTypeReference { return !!(ref as UnionTypeReference)?.union; } +/** + * Reference to an intersection type. + */ +export interface IntersectionTypeReference { + /** + * Indicates that this is an intersection type, which means it must satisfy all of the given types. + */ + intersection: { + /** + * All the possible types (including the primary type). + * + * @minItems 2 + */ + types: TypeReference[]; + }; +} + +export function isIntersectionTypeReference( + ref: TypeReference | undefined, +): ref is IntersectionTypeReference { + return !!(ref as IntersectionTypeReference)?.intersection; +} + /** * Methods and properties can be overridden from parent classes or implemented * from interfaces. @@ -1028,6 +1075,39 @@ export function describeTypeReference(type?: TypeReference): string { throw new Error('Unrecognized type reference'); } +/** + * Predefined constants for a set of jsii extension features + */ +export type JsiiFeature = 'intersection-types'; + +/** + * For every feature, is it enforced by the type system? + * + * Effectively: if a jsii tools links against the most recent version of the + * spec, is the TypeScript type system going to ensure that they must have + * support for a given new feature, through exhaustiveness checking? + * + * (This map also forces completeness, so we are guaranteed to have a string + * value for every possible `JsiiFeature` type branch). + */ +const IS_FEATURE_TYPESYSTEM_ENFORCED: Record = { + 'intersection-types': true, +}; + +/** + * A list of all jsii extension features + */ +export const ALL_FEATURES = Object.keys(IS_FEATURE_TYPESYSTEM_ENFORCED); + +/** + * A list of all jsii extension features + */ +export const ALL_TYPESYSTEM_ENFORCED_FEATURES = Object.entries( + IS_FEATURE_TYPESYSTEM_ENFORCED, +) + .filter(([_, v]) => v) + .map(([k, _]) => k); + /** * Determines whether an entity is deprecated. * diff --git a/packages/@scope/jsii-calc-base-of-base/package.json b/packages/@scope/jsii-calc-base-of-base/package.json index 2e6689d38f..4935244074 100644 --- a/packages/@scope/jsii-calc-base-of-base/package.json +++ b/packages/@scope/jsii-calc-base-of-base/package.json @@ -30,9 +30,9 @@ "test:update": "yarn build && UPDATE_DIFF=1 yarn test" }, "devDependencies": { - "jsii": "5.8.0", + "jsii": "5.9.1", "jsii-build-tools": "^0.0.0", - "jsii-rosetta": "^5.8.0" + "jsii-rosetta": "^5.9.1" }, "jsii": { "outdir": "dist", diff --git a/packages/@scope/jsii-calc-base-of-base/test/assembly.jsii b/packages/@scope/jsii-calc-base-of-base/test/assembly.jsii index e6ed39f54f..c2c8bcdb73 100644 --- a/packages/@scope/jsii-calc-base-of-base/test/assembly.jsii +++ b/packages/@scope/jsii-calc-base-of-base/test/assembly.jsii @@ -9,7 +9,7 @@ }, "description": "An example transitive dependency for jsii-calc.", "homepage": "https://github.com/aws/jsii", - "jsiiVersion": "5.8.0", + "jsiiVersion": "5.9.1", "license": "Apache-2.0", "metadata": { "jsii": { @@ -169,5 +169,5 @@ } }, "version": "2.1.1", - "fingerprint": "V/8hSVOMC08S+++J/qHpdyl7coTRjY5QNqoSOqArr/0=" + "fingerprint": "aYxN6OFk7UbVs1sLXw8gQJwhedbyv9+wGNPYiMZsxsM=" } \ No newline at end of file diff --git a/packages/@scope/jsii-calc-base/package.json b/packages/@scope/jsii-calc-base/package.json index c467eea410..f4ef4f540d 100644 --- a/packages/@scope/jsii-calc-base/package.json +++ b/packages/@scope/jsii-calc-base/package.json @@ -35,9 +35,9 @@ "@scope/jsii-calc-base-of-base": "^2.1.1" }, "devDependencies": { - "jsii": "5.8.0", + "jsii": "5.9.1", "jsii-build-tools": "^0.0.0", - "jsii-rosetta": "^5.8.0" + "jsii-rosetta": "^5.9.1" }, "jsii": { "metadata": { diff --git a/packages/@scope/jsii-calc-base/test/assembly.jsii b/packages/@scope/jsii-calc-base/test/assembly.jsii index b69d1864e5..58ef333354 100644 --- a/packages/@scope/jsii-calc-base/test/assembly.jsii +++ b/packages/@scope/jsii-calc-base/test/assembly.jsii @@ -39,7 +39,7 @@ }, "description": "An example direct dependency for jsii-calc.", "homepage": "https://github.com/aws/jsii", - "jsiiVersion": "5.8.0", + "jsiiVersion": "5.9.1", "license": "Apache-2.0", "metadata": { "jsii": { @@ -210,5 +210,5 @@ } }, "version": "0.0.0", - "fingerprint": "b+2upCMi5QzwvvQ7hQ/b0rZC5L5wUo8s/QH2sAlDjWE=" + "fingerprint": "Tkv4XtmzLBHjpoCQIvmDQWCZzcfyvXQvT70VAeVAjx8=" } \ No newline at end of file diff --git a/packages/@scope/jsii-calc-lib/package.json b/packages/@scope/jsii-calc-lib/package.json index 006c058845..4eb3b1f69d 100644 --- a/packages/@scope/jsii-calc-lib/package.json +++ b/packages/@scope/jsii-calc-lib/package.json @@ -39,9 +39,9 @@ "@scope/jsii-calc-base-of-base": "^2.1.1" }, "devDependencies": { - "jsii": "5.8.0", + "jsii": "5.9.1", "jsii-build-tools": "^0.0.0", - "jsii-rosetta": "^5.8.0" + "jsii-rosetta": "^5.9.1" }, "jsii": { "outdir": "dist", diff --git a/packages/@scope/jsii-calc-lib/test/assembly.jsii b/packages/@scope/jsii-calc-lib/test/assembly.jsii index f10bff7e7f..51d9dede7c 100644 --- a/packages/@scope/jsii-calc-lib/test/assembly.jsii +++ b/packages/@scope/jsii-calc-lib/test/assembly.jsii @@ -71,7 +71,7 @@ "stability": "deprecated" }, "homepage": "https://github.com/aws/jsii", - "jsiiVersion": "5.8.0", + "jsiiVersion": "5.9.1", "license": "Apache-2.0", "metadata": { "jsii": { @@ -1164,5 +1164,5 @@ } }, "version": "0.0.0", - "fingerprint": "QRU99iUfl+h0vGHsaEXYYY3B2J2WSbZJfZbwW8dz18Q=" + "fingerprint": "H6wdtGhqwOcKK1OUW9voxYuUdStSr5JX3ikW5avTfrk=" } \ No newline at end of file diff --git a/packages/jsii-calc/package.json b/packages/jsii-calc/package.json index d69e4a61c7..cd4c095cb0 100644 --- a/packages/jsii-calc/package.json +++ b/packages/jsii-calc/package.json @@ -51,9 +51,9 @@ "@scope/jsii-calc-lib": "^0.0.0" }, "devDependencies": { - "jsii": "5.8.0", + "jsii": "5.9.1", "jsii-build-tools": "^0.0.0", - "jsii-rosetta": "^5.8.0" + "jsii-rosetta": "^5.9.1" }, "jsii": { "outdir": "dist", diff --git a/packages/jsii-calc/test/assembly.jsii b/packages/jsii-calc/test/assembly.jsii index b0e5dfcd15..22063a1546 100644 --- a/packages/jsii-calc/test/assembly.jsii +++ b/packages/jsii-calc/test/assembly.jsii @@ -146,7 +146,7 @@ "stability": "stable" }, "homepage": "https://github.com/aws/jsii", - "jsiiVersion": "5.8.0", + "jsiiVersion": "5.9.1", "keywords": [ "aws", "jsii", @@ -19131,5 +19131,5 @@ } }, "version": "3.20.120", - "fingerprint": "O9HJsUWsfrb1HrOQ1znKEfsWfa9DuDhrkIFb7nHuB2g=" + "fingerprint": "Tt3JL7khUypE5masj9ZV7jLcwRzpJ44EvWbxtNaO51E=" } \ No newline at end of file diff --git a/packages/jsii-config/package.json b/packages/jsii-config/package.json index 37ca28e192..2bcb2ccd30 100644 --- a/packages/jsii-config/package.json +++ b/packages/jsii-config/package.json @@ -21,12 +21,13 @@ }, "devDependencies": { "@types/inquirer": "^8.2.3", + "@types/yargs": "^17.0.33", "jest-expect-message": "^1.1.3" }, "dependencies": { "@jsii/check-node": "0.0.0", - "@jsii/spec": "^0.0.0", - "inquirer": "^8.2.6", - "yargs": "^16.2.0" + "@jsii/spec": "0.0.0", + "inquirer": "^8.2.7", + "yargs": "^17.7.2" } } diff --git a/packages/jsii-diff/package.json b/packages/jsii-diff/package.json index 57cb5017c4..41073f0950 100644 --- a/packages/jsii-diff/package.json +++ b/packages/jsii-diff/package.json @@ -34,17 +34,18 @@ }, "dependencies": { "@jsii/check-node": "0.0.0", - "@jsii/spec": "^0.0.0", + "@jsii/spec": "0.0.0", "fs-extra": "^10.1.0", "jsii-reflect": "^0.0.0", "log4js": "^6.9.1", - "yargs": "^16.2.0" + "yargs": "^17.7.2" }, "devDependencies": { "@types/fs-extra": "^9.0.13", "@types/tar-fs": "^2.0.4", + "@types/yargs": "^17.0.33", "jest-expect-message": "^1.1.3", - "jsii": "^5.8.0", + "jsii": "^5.9.1", "jsii-build-tools": "^0.0.0" } } diff --git a/packages/jsii-pacmak/bin/jsii-pacmak.ts b/packages/jsii-pacmak/bin/jsii-pacmak.ts index 4d4b76d954..64ab1ed6d7 100644 --- a/packages/jsii-pacmak/bin/jsii-pacmak.ts +++ b/packages/jsii-pacmak/bin/jsii-pacmak.ts @@ -195,7 +195,7 @@ import { VERSION_DESC } from '../lib/version'; force: argv.force, forceSubdirectory: argv['force-subdirectory'], forceTarget: argv['force-target'], - inputDirectories: argv.PROJECTS, + inputDirectories: argv.PROJECTS as any, // type cast due to bug https://github.com/yargs/yargs/issues/2292 outputDirectory: argv.outdir, parallel: argv.parallel, recurse: argv.recurse, diff --git a/packages/jsii-pacmak/lib/index.ts b/packages/jsii-pacmak/lib/index.ts index c0baf8b117..ef3438f6ba 100644 --- a/packages/jsii-pacmak/lib/index.ts +++ b/packages/jsii-pacmak/lib/index.ts @@ -6,6 +6,7 @@ import { cwd } from 'process'; import * as logging from './logging'; import { findJsiiModules, updateAllNpmIgnores } from './npm-modules'; import { JsiiModule } from './packaging'; +import { assertSpecIsRosettaCompatible } from './rosetta-assembly'; import { ALL_BUILDERS, TargetName } from './targets'; import { Timers } from './timer'; import { Toposorted } from './toposort'; @@ -84,6 +85,9 @@ export async function pacmak({ return Promise.all( modulesToPackageFlat.map(async (m) => { await m.load(system, validateAssemblies); + + assertSpecIsRosettaCompatible(m.assembly.spec); + return rosetta.addAssembly(m.assembly.spec, m.moduleDirectory); }), ); diff --git a/packages/jsii-pacmak/lib/rosetta-assembly.ts b/packages/jsii-pacmak/lib/rosetta-assembly.ts new file mode 100644 index 0000000000..7040947ebf --- /dev/null +++ b/packages/jsii-pacmak/lib/rosetta-assembly.ts @@ -0,0 +1,30 @@ +import * as spec from '@jsii/spec'; +import { JsiiFeature } from '@jsii/spec'; +import { RosettaTabletReader } from 'jsii-rosetta'; + +/** + * Assert that the given spec is safe to give to Rosetta + * + * We have to do it like this, because Rosetta has its own internal copy of the + * spec and new schema additions may make it technically illegal to assign our + * Assembly instance to Rosetta's Assembly type. + * + * We do runtime validation here to make sure that assignment is safe, + * and then assert it in the type system. + * + * The check should be cheap, this gets called quite a lot. + */ +export function assertSpecIsRosettaCompatible( + x: spec.Assembly, +): asserts x is Parameters[0] { + const rosettaSupportedFeatures: JsiiFeature[] = []; + + const unsupported = (x.usedFeatures ?? []).filter( + (f) => !rosettaSupportedFeatures.includes(f), + ); + if (unsupported.length > 0) { + throw new Error( + `This assembly uses features Rosetta doesn't support yet: ${unsupported.join(', ')}`, + ); + } +} diff --git a/packages/jsii-pacmak/lib/targets/dotnet/dotnetdocgenerator.ts b/packages/jsii-pacmak/lib/targets/dotnet/dotnetdocgenerator.ts index 1d7b88817e..4991aac7ad 100644 --- a/packages/jsii-pacmak/lib/targets/dotnet/dotnetdocgenerator.ts +++ b/packages/jsii-pacmak/lib/targets/dotnet/dotnetdocgenerator.ts @@ -11,6 +11,7 @@ import * as xmlbuilder from 'xmlbuilder'; import { renderSummary } from '../_utils'; import { DotNetNameUtils } from './nameutils'; +import { assertSpecIsRosettaCompatible } from '../../rosetta-assembly'; /** * Generates the Jsii attributes and calls for the .NET runtime @@ -160,6 +161,7 @@ export class DotNetDocGenerator { } private convertExample(example: string, apiLocation: ApiLocation): string { + assertSpecIsRosettaCompatible(this.assembly); const translated = this.rosetta.translateExample( apiLocation, example, @@ -170,6 +172,7 @@ export class DotNetDocGenerator { } private convertSamplesInMarkdown(markdown: string, api: ApiLocation): string { + assertSpecIsRosettaCompatible(this.assembly); return this.rosetta.translateSnippetsInMarkdown( api, markdown, diff --git a/packages/jsii-pacmak/lib/targets/dotnet/dotnettyperesolver.ts b/packages/jsii-pacmak/lib/targets/dotnet/dotnettyperesolver.ts index d7ddffed24..c7538dd452 100644 --- a/packages/jsii-pacmak/lib/targets/dotnet/dotnettyperesolver.ts +++ b/packages/jsii-pacmak/lib/targets/dotnet/dotnettyperesolver.ts @@ -134,7 +134,7 @@ export class DotNetTypeResolver { return this.toDotNetCollection(typeref); } else if (spec.isNamedTypeReference(typeref)) { return this.toNativeFqn(typeref.fqn); - } else if (typeref.union) { + } else if (spec.isUnionTypeReference(typeref)) { return 'object'; } throw new Error(`Invalid type reference: ${JSON.stringify(typeref)}`); @@ -150,7 +150,7 @@ export class DotNetTypeResolver { return this.toDotNetCollectionName(typeref); } else if (spec.isNamedTypeReference(typeref)) { return `typeof(${this.toNativeFqn(typeref.fqn)}).FullName`; - } else if (typeref.union) { + } else if (spec.isUnionTypeReference(typeref)) { return '"object"'; } throw new Error(`Invalid type reference: ${JSON.stringify(typeref)}`); diff --git a/packages/jsii-pacmak/lib/targets/java.ts b/packages/jsii-pacmak/lib/targets/java.ts index e77f370443..6b8ea12086 100644 --- a/packages/jsii-pacmak/lib/targets/java.ts +++ b/packages/jsii-pacmak/lib/targets/java.ts @@ -30,6 +30,7 @@ import { shell, Scratch, slugify, setExtend } from '../util'; import { VERSION, VERSION_DESC } from '../version'; import { stabilityPrefixFor, renderSummary } from './_utils'; import { toMavenVersionRange, toReleaseVersion } from './version-utils'; +import { assertSpecIsRosettaCompatible } from '../rosetta-assembly'; import { TargetName } from './index'; @@ -2920,7 +2921,7 @@ class JavaGenerator extends Generator { return [this.toJavaCollection(typeref, { forMarshalling, covariant })]; } else if (spec.isNamedTypeReference(typeref)) { return [this.toNativeFqn(typeref.fqn)]; - } else if (typeref.union) { + } else if (spec.isUnionTypeReference(typeref)) { const types = new Array(); for (const subtype of typeref.union.types) { for (const t of this.toJavaTypes(subtype, { @@ -3369,6 +3370,7 @@ class JavaGenerator extends Generator { } private convertExample(example: string, api: ApiLocation): string { + assertSpecIsRosettaCompatible(this.assembly); const translated = this.rosetta.translateExample( api, example, @@ -3379,6 +3381,7 @@ class JavaGenerator extends Generator { } private convertSamplesInMarkdown(markdown: string, api: ApiLocation): string { + assertSpecIsRosettaCompatible(this.assembly); return this.rosetta.translateSnippetsInMarkdown( api, markdown, diff --git a/packages/jsii-pacmak/lib/targets/python.ts b/packages/jsii-pacmak/lib/targets/python.ts index 424d532bfa..e44bec31d5 100644 --- a/packages/jsii-pacmak/lib/targets/python.ts +++ b/packages/jsii-pacmak/lib/targets/python.ts @@ -29,6 +29,7 @@ import { } from './python/type-name'; import { die, toPythonIdentifier } from './python/util'; import { toPythonVersionRange, toReleaseVersion } from './version-utils'; +import { assertSpecIsRosettaCompatible } from '../rosetta-assembly'; import { TargetName } from './index'; @@ -2589,6 +2590,7 @@ class PythonGenerator extends Generator { } public convertExample(example: string, apiLoc: ApiLocation): string { + assertSpecIsRosettaCompatible(this.assembly); const translated = this.rosetta.translateExample( apiLoc, example, @@ -2599,6 +2601,7 @@ class PythonGenerator extends Generator { } public convertMarkdown(markdown: string, apiLoc: ApiLocation): string { + assertSpecIsRosettaCompatible(this.assembly); return this.rosetta.translateSnippetsInMarkdown( apiLoc, markdown, diff --git a/packages/jsii-pacmak/lib/targets/python/requirements-dev.txt b/packages/jsii-pacmak/lib/targets/python/requirements-dev.txt index 3d8506a572..81c67e334c 100644 --- a/packages/jsii-pacmak/lib/targets/python/requirements-dev.txt +++ b/packages/jsii-pacmak/lib/targets/python/requirements-dev.txt @@ -4,7 +4,7 @@ # package (wheel, sdist), but not declared as build-system dependencies. setuptools~=75.3.2 # build-system -build~=1.2.2.post1 # build-system +build~=1.3.0 # build-system twine~=6.1.0 diff --git a/packages/jsii-pacmak/package.json b/packages/jsii-pacmak/package.json index 95ebcb1a34..20b87eb322 100644 --- a/packages/jsii-pacmak/package.json +++ b/packages/jsii-pacmak/package.json @@ -38,7 +38,7 @@ }, "dependencies": { "@jsii/check-node": "0.0.0", - "@jsii/spec": "^0.0.0", + "@jsii/spec": "0.0.0", "clone": "^2.1.2", "codemaker": "^0.0.0", "commonmark": "^0.31.2", @@ -48,7 +48,7 @@ "semver": "^7.7.2", "spdx-license-list": "^6.10.0", "xmlbuilder": "^15.1.1", - "yargs": "^16.2.0" + "yargs": "^17.7.2" }, "devDependencies": { "@jsii/dotnet-runtime": "^0.0.0", @@ -60,15 +60,16 @@ "@types/diff": "^5.2.3", "@types/fs-extra": "^9.0.13", "@types/semver": "^7.7.0", + "@types/yargs": "^17.0.33", "diff": "^5.2.0", - "jsii": "^5.8.0", + "jsii": "^5.9.1", "jsii-build-tools": "^0.0.0", "jsii-calc": "^3.20.120", - "jsii-rosetta": "~5.8.0", + "jsii-rosetta": "~5.9.1", "pyright": "^1.1.403" }, "peerDependencies": { - "jsii-rosetta": ">=5.5.0" + "jsii-rosetta": ">=5.7.0" }, "keywords": [ "jsii", diff --git a/packages/jsii-pacmak/test/generated-code/__snapshots__/examples.test.js.snap b/packages/jsii-pacmak/test/generated-code/__snapshots__/examples.test.js.snap index 2ed1f3ea77..eecea60d55 100644 --- a/packages/jsii-pacmak/test/generated-code/__snapshots__/examples.test.js.snap +++ b/packages/jsii-pacmak/test/generated-code/__snapshots__/examples.test.js.snap @@ -1,4 +1,4 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing exports[`diamond-struct-parameter.ts: / 1`] = ` @@ -1220,7 +1220,7 @@ testpkg.FooBar=example.test.demo.FooBar exports[`diamond-struct-parameter.ts: /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=75.3.2", "build~=1.2.2.post1"] +requires = ["setuptools~=75.3.2", "build~=1.3.0"] build-backend = "setuptools.build_meta" [tool.pyright] @@ -2676,7 +2676,7 @@ testpkg.Namespace2.Foo.Final=example.test.demo.Namespace2$Foo.Final exports[`nested-types.ts: /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=75.3.2", "build~=1.2.2.post1"] +requires = ["setuptools~=75.3.2", "build~=1.3.0"] build-backend = "setuptools.build_meta" [tool.pyright] diff --git a/packages/jsii-pacmak/test/generated-code/__snapshots__/prerelease-identifiers.test.js.snap b/packages/jsii-pacmak/test/generated-code/__snapshots__/prerelease-identifiers.test.js.snap index 27e0cb566e..341718d7eb 100644 --- a/packages/jsii-pacmak/test/generated-code/__snapshots__/prerelease-identifiers.test.js.snap +++ b/packages/jsii-pacmak/test/generated-code/__snapshots__/prerelease-identifiers.test.js.snap @@ -1,4 +1,4 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing exports[`foo@1.2.3 depends on bar@^2.0.0-rc.42: / 1`] = ` @@ -412,7 +412,7 @@ foo exports[`foo@1.2.3 depends on bar@^2.0.0-rc.42: /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=75.3.2", "build~=1.2.2.post1"] +requires = ["setuptools~=75.3.2", "build~=1.3.0"] build-backend = "setuptools.build_meta" [tool.pyright] @@ -943,7 +943,7 @@ foo exports[`foo@1.2.3 depends on bar@^4.5.6-pre.1337: /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=75.3.2", "build~=1.2.2.post1"] +requires = ["setuptools~=75.3.2", "build~=1.3.0"] build-backend = "setuptools.build_meta" [tool.pyright] @@ -1454,7 +1454,7 @@ foo exports[`foo@2.0.0-rc.42: /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=75.3.2", "build~=1.2.2.post1"] +requires = ["setuptools~=75.3.2", "build~=1.3.0"] build-backend = "setuptools.build_meta" [tool.pyright] @@ -1962,7 +1962,7 @@ foo exports[`foo@4.5.6-pre.1337: /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=75.3.2", "build~=1.2.2.post1"] +requires = ["setuptools~=75.3.2", "build~=1.3.0"] build-backend = "setuptools.build_meta" [tool.pyright] diff --git a/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.js.snap b/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.js.snap index 7159af068f..367f6af6c4 100644 --- a/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.js.snap +++ b/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.js.snap @@ -242,7 +242,7 @@ exports[`Generated code for "@scope/jsii-calc-base": /python/README.md 1 exports[`Generated code for "@scope/jsii-calc-base": /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=75.3.2", "build~=1.2.2.post1"] +requires = ["setuptools~=75.3.2", "build~=1.3.0"] build-backend = "setuptools.build_meta" [tool.pyright] @@ -833,7 +833,7 @@ exports[`Generated code for "@scope/jsii-calc-base-of-base": /python/REA exports[`Generated code for "@scope/jsii-calc-base-of-base": /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=75.3.2", "build~=1.2.2.post1"] +requires = ["setuptools~=75.3.2", "build~=1.3.0"] build-backend = "setuptools.build_meta" [tool.pyright] @@ -1397,7 +1397,7 @@ exports[`Generated code for "@scope/jsii-calc-lib": /python/README.md 1` exports[`Generated code for "@scope/jsii-calc-lib": /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=75.3.2", "build~=1.2.2.post1"] +requires = ["setuptools~=75.3.2", "build~=1.3.0"] build-backend = "setuptools.build_meta" [tool.pyright] @@ -3207,7 +3207,7 @@ foo = "bar" exports[`Generated code for "jsii-calc": /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=75.3.2", "build~=1.2.2.post1"] +requires = ["setuptools~=75.3.2", "build~=1.3.0"] build-backend = "setuptools.build_meta" [tool.pyright] diff --git a/packages/jsii-pacmak/test/generated-code/requirements-dev.txt b/packages/jsii-pacmak/test/generated-code/requirements-dev.txt index 71658376fd..d27ec63f8d 100644 --- a/packages/jsii-pacmak/test/generated-code/requirements-dev.txt +++ b/packages/jsii-pacmak/test/generated-code/requirements-dev.txt @@ -1,2 +1,2 @@ -mypy==1.17.0 -pip==25.1.1 # required to use --config-settings +mypy==1.17.1 +pip==25.2 # required to use --config-settings diff --git a/packages/jsii-reflect/lib/type-ref.ts b/packages/jsii-reflect/lib/type-ref.ts index 3f474212c1..9cd6da64f7 100644 --- a/packages/jsii-reflect/lib/type-ref.ts +++ b/packages/jsii-reflect/lib/type-ref.ts @@ -31,6 +31,11 @@ export class TypeReference { union.sort(); return union.join(' | '); } + if (this.intersectionOfTypes) { + const inter = this.intersectionOfTypes.map((x) => x.toString()); + inter.sort(); + return inter.join(' & '); + } throw new Error('Invalid type reference'); } @@ -94,4 +99,14 @@ export class TypeReference { return this.spec.union.types.map((t) => new TypeReference(this.system, t)); } + + public get intersectionOfTypes(): TypeReference[] | undefined { + if (!jsii.isIntersectionTypeReference(this.spec)) { + return undefined; + } + + return this.spec.intersection.types.map( + (t) => new TypeReference(this.system, t), + ); + } } diff --git a/packages/jsii-reflect/package.json b/packages/jsii-reflect/package.json index 36c70840e3..81ea1f4885 100644 --- a/packages/jsii-reflect/package.json +++ b/packages/jsii-reflect/package.json @@ -35,16 +35,17 @@ }, "dependencies": { "@jsii/check-node": "0.0.0", - "@jsii/spec": "^0.0.0", + "@jsii/spec": "0.0.0", "chalk": "^4", "fs-extra": "^10.1.0", "oo-ascii-tree": "^0.0.0", - "yargs": "^16.2.0" + "yargs": "^17.7.2" }, "devDependencies": { "@scope/jsii-calc-lib": "^0.0.0", "@types/fs-extra": "^9.0.13", - "jsii": "^5.8.0", + "@types/yargs": "^17.0.33", + "jsii": "^5.9.1", "jsii-build-tools": "^0.0.0", "jsii-calc": "^3.20.120" } diff --git a/scripts/upgrade-jsii.sh b/scripts/upgrade-jsii.sh index 241d23ffbe..59600b65d7 100755 --- a/scripts/upgrade-jsii.sh +++ b/scripts/upgrade-jsii.sh @@ -3,6 +3,7 @@ # updates all package.json files to the latest jsii # and jsii-rosetta versions # updates the jsii-pacmak peer dep to the latest supported version +# updates the TypeScript version to the equivalent jsii version # updates the build matrix in the .github/workflows/main.yml file #------------------------------------------------------------------------ set -euo pipefail @@ -27,6 +28,11 @@ echo "Updating jsii-pacmak peerDependency to >=$oldest.0" echo "" npm --prefix packages/jsii-pacmak pkg set peerDependencies.jsii-rosetta=">=$oldest.0" +# Update TypeScript version +echo "Updating TypeScript version to latest" +echo "" +npm pkg set devDependencies.typescript=">=$latest.x" + # GitHub Actions matrix=$(echo $supported | jq -rs '["latest"] + map(. + ".x") | @csv') echo "Updating GitHub Actions workflow to run jsii-pacmak integration tests for $matrix" diff --git a/yarn.lock b/yarn.lock index 620d2242a0..2477590955 100644 --- a/yarn.lock +++ b/yarn.lock @@ -25,33 +25,33 @@ integrity sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw== "@babel/core@^7.23.9", "@babel/core@^7.27.4": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.0.tgz#55dad808d5bf3445a108eefc88ea3fdf034749a4" - integrity sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ== + version "7.28.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.3.tgz#aceddde69c5d1def69b839d09efa3e3ff59c97cb" + integrity sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.0" + "@babel/generator" "^7.28.3" "@babel/helper-compilation-targets" "^7.27.2" - "@babel/helper-module-transforms" "^7.27.3" - "@babel/helpers" "^7.27.6" - "@babel/parser" "^7.28.0" + "@babel/helper-module-transforms" "^7.28.3" + "@babel/helpers" "^7.28.3" + "@babel/parser" "^7.28.3" "@babel/template" "^7.27.2" - "@babel/traverse" "^7.28.0" - "@babel/types" "^7.28.0" + "@babel/traverse" "^7.28.3" + "@babel/types" "^7.28.2" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.27.5", "@babel/generator@^7.28.0": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.0.tgz#9cc2f7bd6eb054d77dc66c2664148a0c5118acd2" - integrity sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg== +"@babel/generator@^7.27.5", "@babel/generator@^7.28.3": + version "7.28.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.3.tgz#9626c1741c650cbac39121694a0f2d7451b8ef3e" + integrity sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw== dependencies: - "@babel/parser" "^7.28.0" - "@babel/types" "^7.28.0" + "@babel/parser" "^7.28.3" + "@babel/types" "^7.28.2" "@jridgewell/gen-mapping" "^0.3.12" "@jridgewell/trace-mapping" "^0.3.28" jsesc "^3.0.2" @@ -80,14 +80,14 @@ "@babel/traverse" "^7.27.1" "@babel/types" "^7.27.1" -"@babel/helper-module-transforms@^7.27.3": - version "7.27.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz#db0bbcfba5802f9ef7870705a7ef8788508ede02" - integrity sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg== +"@babel/helper-module-transforms@^7.28.3": + version "7.28.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz#a2b37d3da3b2344fe085dab234426f2b9a2fa5f6" + integrity sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw== dependencies: "@babel/helper-module-imports" "^7.27.1" "@babel/helper-validator-identifier" "^7.27.1" - "@babel/traverse" "^7.27.3" + "@babel/traverse" "^7.28.3" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.8.0": version "7.27.1" @@ -109,20 +109,20 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== -"@babel/helpers@^7.27.6": - version "7.27.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.6.tgz#6456fed15b2cb669d2d1fabe84b66b34991d812c" - integrity sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug== +"@babel/helpers@^7.28.3": + version "7.28.3" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.3.tgz#b83156c0a2232c133d1b535dd5d3452119c7e441" + integrity sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw== dependencies: "@babel/template" "^7.27.2" - "@babel/types" "^7.27.6" + "@babel/types" "^7.28.2" -"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.27.2", "@babel/parser@^7.28.0": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.0.tgz#979829fbab51a29e13901e5a80713dbcb840825e" - integrity sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g== +"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.27.2", "@babel/parser@^7.28.3": + version "7.28.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.3.tgz#d2d25b814621bca5fe9d172bc93792547e7a2a71" + integrity sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA== dependencies: - "@babel/types" "^7.28.0" + "@babel/types" "^7.28.2" "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -244,9 +244,9 @@ "@babel/helper-plugin-utils" "^7.27.1" "@babel/runtime@^7.18.9", "@babel/runtime@^7.7.6": - version "7.27.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.6.tgz#ec4070a04d76bae8ddbb10770ba55714a417b7c6" - integrity sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q== + version "7.28.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.28.3.tgz#75c5034b55ba868121668be5d5bb31cc64e6e61a" + integrity sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA== "@babel/template@^7.27.2": version "7.27.2" @@ -257,23 +257,23 @@ "@babel/parser" "^7.27.2" "@babel/types" "^7.27.1" -"@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3", "@babel/traverse@^7.28.0": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.0.tgz#518aa113359b062042379e333db18380b537e34b" - integrity sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg== +"@babel/traverse@^7.27.1", "@babel/traverse@^7.28.3": + version "7.28.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.3.tgz#6911a10795d2cce43ec6a28cffc440cca2593434" + integrity sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ== dependencies: "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.0" + "@babel/generator" "^7.28.3" "@babel/helper-globals" "^7.28.0" - "@babel/parser" "^7.28.0" + "@babel/parser" "^7.28.3" "@babel/template" "^7.27.2" - "@babel/types" "^7.28.0" + "@babel/types" "^7.28.2" debug "^4.3.1" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.27.6", "@babel/types@^7.28.0": - version "7.28.1" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.1.tgz#2aaf3c10b31ba03a77ac84f52b3912a0edef4cf9" - integrity sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.2": + version "7.28.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.2.tgz#da9db0856a9a88e0a13b019881d7513588cf712b" + integrity sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ== dependencies: "@babel/helper-string-parser" "^7.27.1" "@babel/helper-validator-identifier" "^7.27.1" @@ -338,15 +338,15 @@ debug "^4.3.1" minimatch "^3.1.2" -"@eslint/config-helpers@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.3.0.tgz#3e09a90dfb87e0005c7694791e58e97077271286" - integrity sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw== +"@eslint/config-helpers@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.3.1.tgz#d316e47905bd0a1a931fa50e669b9af4104d1617" + integrity sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA== -"@eslint/core@^0.15.0", "@eslint/core@^0.15.1": - version "0.15.1" - resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.15.1.tgz#d530d44209cbfe2f82ef86d6ba08760196dd3b60" - integrity sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA== +"@eslint/core@^0.15.2": + version "0.15.2" + resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.15.2.tgz#59386327d7862cc3603ebc7c78159d2dcc4a868f" + integrity sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg== dependencies: "@types/json-schema" "^7.0.15" @@ -365,22 +365,22 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.31.0": - version "9.31.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.31.0.tgz#adb1f39953d8c475c4384b67b67541b0d7206ed8" - integrity sha512-LOm5OVt7D4qiKCqoiPbA7LWmI+tbw1VbTUowBcUMgQSuM6poJufkFkYDcQpo5KfgD39TnNySV26QjOh7VFpSyw== +"@eslint/js@9.33.0": + version "9.33.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.33.0.tgz#475c92fdddab59b8b8cab960e3de2564a44bf368" + integrity sha512-5K1/mKhWaMfreBGJTwval43JJmkip0RmM+3+IuqupeSKNC/Th2Kc7ucaq5ovTSra/OOKB9c58CGSz3QMVbWt0A== "@eslint/object-schema@^2.1.6": version "2.1.6" resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.6.tgz#58369ab5b5b3ca117880c0f6c0b0f32f6950f24f" integrity sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA== -"@eslint/plugin-kit@^0.3.1": - version "0.3.4" - resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.3.4.tgz#c6b9f165e94bf4d9fdd493f1c028a94aaf5fc1cc" - integrity sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw== +"@eslint/plugin-kit@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz#fd8764f0ee79c8ddab4da65460c641cefee017c5" + integrity sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w== dependencies: - "@eslint/core" "^0.15.1" + "@eslint/core" "^0.15.2" levn "^0.4.1" "@fixtures/jsii-calc-bundled@file:packages/@fixtures/jsii-calc-bundled": @@ -419,6 +419,14 @@ resolved "https://registry.yarnpkg.com/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== +"@inquirer/external-editor@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@inquirer/external-editor/-/external-editor-1.0.1.tgz#ab0a82c5719a963fb469021cde5cd2b74fea30f8" + integrity sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q== + dependencies: + chardet "^2.1.0" + iconv-lite "^0.6.3" + "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" @@ -692,9 +700,9 @@ chalk "^4.0.0" "@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5": - version "0.3.12" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz#2234ce26c62889f03db3d7fea43c1932ab3e927b" - integrity sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg== + version "0.3.13" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f" + integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== dependencies: "@jridgewell/sourcemap-codec" "^1.5.0" "@jridgewell/trace-mapping" "^0.3.24" @@ -705,17 +713,17 @@ integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== "@jridgewell/source-map@^0.3.3": - version "0.3.10" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.10.tgz#a35714446a2e84503ff9bfe66f1d1d4846f2075b" - integrity sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q== + version "0.3.11" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.11.tgz#b21835cbd36db656b857c2ad02ebd413cc13a9ba" + integrity sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA== dependencies: "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": - version "1.5.4" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz#7358043433b2e5da569aa02cbc4c121da3af27d7" - integrity sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw== + version "1.5.5" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" + integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== "@jridgewell/trace-mapping@0.3.9": version "0.3.9" @@ -726,33 +734,25 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.23", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.28": - version "0.3.29" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz#a58d31eaadaf92c6695680b2e1d464a9b8fbf7fc" - integrity sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ== + version "0.3.30" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz#4a76c4daeee5df09f5d3940e087442fb36ce2b99" + integrity sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q== dependencies: "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@jsii/check-node@1.109.0": - version "1.109.0" - resolved "https://registry.yarnpkg.com/@jsii/check-node/-/check-node-1.109.0.tgz#d6d988f50f0d11591f6ac7476e6fa1ed9ff43c2e" - integrity sha512-KUdmXNeCpOgjwK3QtEnxwMjIbGsPG4YkSwYsU1dmYftOz8x/oTC/D4Bz9uS7f4ARBBVkCWJWtS01l8nQgAZ2jQ== - dependencies: - chalk "^4.1.2" - semver "^7.7.1" - -"@jsii/check-node@1.112.0": - version "1.112.0" - resolved "https://registry.yarnpkg.com/@jsii/check-node/-/check-node-1.112.0.tgz#da8b4282206636aa09813da577f4c77a145a9f85" - integrity sha512-ySf6hMcWvWrMtMLKEiBN6QN46oWqKfJtOHCdy13iQXTI38SuI9Lp2PaYMLcsN10fTOvLjhbYm3jAu48xwrsKAQ== +"@jsii/check-node@1.113.0": + version "1.113.0" + resolved "https://registry.yarnpkg.com/@jsii/check-node/-/check-node-1.113.0.tgz#13075880ea626ba8738ee3a220fa6d83fe710091" + integrity sha512-6iPLiQiSVn8/D89ycIpj78cMfmxOIU/F9RUTVYwLqKPw4cxpR+BCC4N83WKyGkZxhOxULLa9f5q+rkWq/vAMpA== dependencies: chalk "^4.1.2" - semver "^7.7.1" + semver "^7.7.2" -"@jsii/spec@^1.109.0", "@jsii/spec@^1.112.0": - version "1.112.0" - resolved "https://registry.yarnpkg.com/@jsii/spec/-/spec-1.112.0.tgz#9a70db6bbe3c78ede1095686a7cacda8b2d91f26" - integrity sha512-O6peIhjjGkIQpbKUMHTNJHMuyqd6EXqWlxnBKpoBoUwDz18HXxt/SwUvnovYCELjgxOUMCdO5Y4/YjeABvatUw== +"@jsii/spec@^1.113.0": + version "1.113.0" + resolved "https://registry.yarnpkg.com/@jsii/spec/-/spec-1.113.0.tgz#cc9960a69c285466088c370f8e47d07c5ae73fb4" + integrity sha512-OAQNfJHzMmE42ySJpelOFFKCgnh6hxcKLnmgtaYEzsFW9UxH9gc945FFOXff52GbhUcigGElCqJ3MclrbgXoGw== dependencies: ajv "^8.17.1" @@ -1272,9 +1272,9 @@ integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== "@sinclair/typebox@^0.34.0": - version "0.34.38" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.34.38.tgz#2365df7c23406a4d79413a766567bfbca708b49d" - integrity sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA== + version "0.34.40" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.34.40.tgz#740056ea8d8aaada2ac1ce414c2f074798283b92" + integrity sha512-gwBNIP8ZAYev/ORDWW0QvxdwPXwxBtLsdsJgSc7eDIRt8ubP+rxUBzPsrwnu16fgEF8Bx4lh/+mvQvJzcTM6Kw== "@sinonjs/commons@^3.0.1": version "3.0.1" @@ -1364,11 +1364,11 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.7.tgz#968cdc2366ec3da159f61166428ee40f370e56c2" - integrity sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng== + version "7.28.0" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.28.0.tgz#07d713d6cce0d265c9849db0cbe62d3f61f36f74" + integrity sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q== dependencies: - "@babel/types" "^7.20.7" + "@babel/types" "^7.28.2" "@types/clone@^2.1.4": version "2.1.4" @@ -1414,9 +1414,9 @@ "@types/node" "*" "@types/inquirer@^8.2.3": - version "8.2.11" - resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-8.2.11.tgz#5f741050c696acf1926f136450d8d98ca65d9557" - integrity sha512-15UboTvxb9SOaPG7CcXZ9dkv8lNqfiAwuh/5WxJDLjmElBt9tbx1/FDsEnJddUBKvN4mlPKvr8FyO1rAmBanzg== + version "8.2.12" + resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-8.2.12.tgz#c26da8d8fe5baff78382a1035059ef4967cee7a0" + integrity sha512-YxURZF2ZsSjU5TAe06tW0M3sL4UI9AMPA6dd8I72uOtppzNafcY38xkYgCZ/vsVOAyNdzHmvtTpLWilOrbP0dQ== dependencies: "@types/through" "*" rxjs "^7.2.0" @@ -1474,16 +1474,16 @@ integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== "@types/node@*": - version "24.1.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-24.1.0.tgz#0993f7dc31ab5cc402d112315b463e383d68a49c" - integrity sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w== + version "24.3.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.3.0.tgz#89b09f45cb9a8ee69466f18ee5864e4c3eb84dec" + integrity sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow== dependencies: - undici-types "~7.8.0" + undici-types "~7.10.0" "@types/node@^18", "@types/node@^18.11.9": - version "18.19.120" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.120.tgz#07b3bd73875956d5281fa27e6d77a66415f7d455" - integrity sha512-WtCGHFXnVI8WHLxDAt5TbnCM4eSE+nI0QN2NJtwzcgMhht2eNz6V9evJrk+lwC8bCY8OWV5Ym8Jz7ZEyGnKnMA== + version "18.19.123" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.123.tgz#08a3e4f5e0c73b8840c677b7635ce59d5dc1f76d" + integrity sha512-K7DIaHnh0mzVxreCR9qwgNxp3MH9dltPNIEddW9MYUlcKAzm+3grKNSTe2vCJHI1FaLpvpL5JGJrz1UZDKYvDg== dependencies: undici-types "~5.26.4" @@ -1537,93 +1537,86 @@ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== -"@types/yargs@^17.0.33": +"@types/yargs@^17.0.33", "@types/yargs@^17.0.8": version "17.0.33" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== dependencies: "@types/yargs-parser" "*" -"@types/yargs@^17.0.8": - version "17.0.19" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.19.tgz#8dbecdc9ab48bee0cb74f6e3327de3fa0d0c98ae" - integrity sha512-cAx3qamwaYX9R0fzOIZAlFpo4A+1uBVCxqpKz9D26uTF4srRXaGTTsikQmaotCtNdbhzyUH7ft6p9ktz9s6UNQ== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^8.38.0": - version "8.38.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.38.0.tgz#6e5220d16f2691ab6d983c1737dd5b36e17641b7" - integrity sha512-CPoznzpuAnIOl4nhj4tRr4gIPj5AfKgkiJmGQDaq+fQnRJTYlcBjbX3wbciGmpoPf8DREufuPRe1tNMZnGdanA== +"@typescript-eslint/eslint-plugin@^8.40.0": + version "8.40.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.40.0.tgz#19f959f273b32f5082c891903645e6a85328db4e" + integrity sha512-w/EboPlBwnmOBtRbiOvzjD+wdiZdgFeo17lkltrtn7X37vagKKWJABvyfsJXTlHe6XBzugmYgd4A4nW+k8Mixw== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.38.0" - "@typescript-eslint/type-utils" "8.38.0" - "@typescript-eslint/utils" "8.38.0" - "@typescript-eslint/visitor-keys" "8.38.0" + "@typescript-eslint/scope-manager" "8.40.0" + "@typescript-eslint/type-utils" "8.40.0" + "@typescript-eslint/utils" "8.40.0" + "@typescript-eslint/visitor-keys" "8.40.0" graphemer "^1.4.0" ignore "^7.0.0" natural-compare "^1.4.0" ts-api-utils "^2.1.0" -"@typescript-eslint/parser@^8.38.0": - version "8.38.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.38.0.tgz#6723a5ea881e1777956b1045cba30be5ea838293" - integrity sha512-Zhy8HCvBUEfBECzIl1PKqF4p11+d0aUJS1GeUiuqK9WmOug8YCmC4h4bjyBvMyAMI9sbRczmrYL5lKg/YMbrcQ== +"@typescript-eslint/parser@^8.40.0": + version "8.40.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.40.0.tgz#1bc9f3701ced29540eb76ff2d95ce0d52ddc7e69" + integrity sha512-jCNyAuXx8dr5KJMkecGmZ8KI61KBUhkCob+SD+C+I5+Y1FWI2Y3QmY4/cxMCC5WAsZqoEtEETVhUiUMIGCf6Bw== dependencies: - "@typescript-eslint/scope-manager" "8.38.0" - "@typescript-eslint/types" "8.38.0" - "@typescript-eslint/typescript-estree" "8.38.0" - "@typescript-eslint/visitor-keys" "8.38.0" + "@typescript-eslint/scope-manager" "8.40.0" + "@typescript-eslint/types" "8.40.0" + "@typescript-eslint/typescript-estree" "8.40.0" + "@typescript-eslint/visitor-keys" "8.40.0" debug "^4.3.4" -"@typescript-eslint/project-service@8.38.0": - version "8.38.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.38.0.tgz#4900771f943163027fd7d2020a062892056b5e2f" - integrity sha512-dbK7Jvqcb8c9QfH01YB6pORpqX1mn5gDZc9n63Ak/+jD67oWXn3Gs0M6vddAN+eDXBCS5EmNWzbSxsn9SzFWWg== +"@typescript-eslint/project-service@8.40.0": + version "8.40.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.40.0.tgz#1b7ba6079ff580c3215882fe75a43e5d3ed166b9" + integrity sha512-/A89vz7Wf5DEXsGVvcGdYKbVM9F7DyFXj52lNYUDS1L9yJfqjW/fIp5PgMuEJL/KeqVTe2QSbXAGUZljDUpArw== dependencies: - "@typescript-eslint/tsconfig-utils" "^8.38.0" - "@typescript-eslint/types" "^8.38.0" + "@typescript-eslint/tsconfig-utils" "^8.40.0" + "@typescript-eslint/types" "^8.40.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.38.0": - version "8.38.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.38.0.tgz#5a0efcb5c9cf6e4121b58f87972f567c69529226" - integrity sha512-WJw3AVlFFcdT9Ri1xs/lg8LwDqgekWXWhH3iAF+1ZM+QPd7oxQ6jvtW/JPwzAScxitILUIFs0/AnQ/UWHzbATQ== +"@typescript-eslint/scope-manager@8.40.0": + version "8.40.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.40.0.tgz#2fbfcc8643340d8cd692267e61548b946190be8a" + integrity sha512-y9ObStCcdCiZKzwqsE8CcpyuVMwRouJbbSrNuThDpv16dFAj429IkM6LNb1dZ2m7hK5fHyzNcErZf7CEeKXR4w== dependencies: - "@typescript-eslint/types" "8.38.0" - "@typescript-eslint/visitor-keys" "8.38.0" + "@typescript-eslint/types" "8.40.0" + "@typescript-eslint/visitor-keys" "8.40.0" -"@typescript-eslint/tsconfig-utils@8.38.0", "@typescript-eslint/tsconfig-utils@^8.38.0": - version "8.38.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.38.0.tgz#6de4ce224a779601a8df667db56527255c42c4d0" - integrity sha512-Lum9RtSE3EroKk/bYns+sPOodqb2Fv50XOl/gMviMKNvanETUuUcC9ObRbzrJ4VSd2JalPqgSAavwrPiPvnAiQ== +"@typescript-eslint/tsconfig-utils@8.40.0", "@typescript-eslint/tsconfig-utils@^8.40.0": + version "8.40.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.40.0.tgz#8e8fdb9b988854aedd04abdde3239c4bdd2d26e4" + integrity sha512-jtMytmUaG9d/9kqSl/W3E3xaWESo4hFDxAIHGVW/WKKtQhesnRIJSAJO6XckluuJ6KDB5woD1EiqknriCtAmcw== -"@typescript-eslint/type-utils@8.38.0": - version "8.38.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.38.0.tgz#a56cd84765fa6ec135fe252b5db61e304403a85b" - integrity sha512-c7jAvGEZVf0ao2z+nnz8BUaHZD09Agbh+DY7qvBQqLiz8uJzRgVPj5YvOh8I8uEiH8oIUGIfHzMwUcGVco/SJg== +"@typescript-eslint/type-utils@8.40.0": + version "8.40.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.40.0.tgz#a7e4a1f0815dd0ba3e4eef945cc87193ca32c422" + integrity sha512-eE60cK4KzAc6ZrzlJnflXdrMqOBaugeukWICO2rB0KNvwdIMaEaYiywwHMzA1qFpTxrLhN9Lp4E/00EgWcD3Ow== dependencies: - "@typescript-eslint/types" "8.38.0" - "@typescript-eslint/typescript-estree" "8.38.0" - "@typescript-eslint/utils" "8.38.0" + "@typescript-eslint/types" "8.40.0" + "@typescript-eslint/typescript-estree" "8.40.0" + "@typescript-eslint/utils" "8.40.0" debug "^4.3.4" ts-api-utils "^2.1.0" -"@typescript-eslint/types@8.38.0", "@typescript-eslint/types@^8.38.0": - version "8.38.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.38.0.tgz#297351c994976b93c82ac0f0e206c8143aa82529" - integrity sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw== +"@typescript-eslint/types@8.40.0", "@typescript-eslint/types@^8.40.0": + version "8.40.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.40.0.tgz#0b580fdf643737aa5c01285314b5c6e9543846a9" + integrity sha512-ETdbFlgbAmXHyFPwqUIYrfc12ArvpBhEVgGAxVYSwli26dn8Ko+lIo4Su9vI9ykTZdJn+vJprs/0eZU0YMAEQg== -"@typescript-eslint/typescript-estree@8.38.0": - version "8.38.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.38.0.tgz#82262199eb6778bba28a319e25ad05b1158957df" - integrity sha512-fooELKcAKzxux6fA6pxOflpNS0jc+nOQEEOipXFNjSlBS6fqrJOVY/whSn70SScHrcJ2LDsxWrneFoWYSVfqhQ== +"@typescript-eslint/typescript-estree@8.40.0": + version "8.40.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.40.0.tgz#295149440ce7da81c790a4e14e327599a3a1e5c9" + integrity sha512-k1z9+GJReVVOkc1WfVKs1vBrR5MIKKbdAjDTPvIK3L8De6KbFfPFt6BKpdkdk7rZS2GtC/m6yI5MYX+UsuvVYQ== dependencies: - "@typescript-eslint/project-service" "8.38.0" - "@typescript-eslint/tsconfig-utils" "8.38.0" - "@typescript-eslint/types" "8.38.0" - "@typescript-eslint/visitor-keys" "8.38.0" + "@typescript-eslint/project-service" "8.40.0" + "@typescript-eslint/tsconfig-utils" "8.40.0" + "@typescript-eslint/types" "8.40.0" + "@typescript-eslint/visitor-keys" "8.40.0" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -1631,22 +1624,22 @@ semver "^7.6.0" ts-api-utils "^2.1.0" -"@typescript-eslint/utils@8.38.0": - version "8.38.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.38.0.tgz#5f10159899d30eb92ba70e642ca6f754bddbf15a" - integrity sha512-hHcMA86Hgt+ijJlrD8fX0j1j8w4C92zue/8LOPAFioIno+W0+L7KqE8QZKCcPGc/92Vs9x36w/4MPTJhqXdyvg== +"@typescript-eslint/utils@8.40.0": + version "8.40.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.40.0.tgz#8d0c6430ed2f5dc350784bb0d8be514da1e54054" + integrity sha512-Cgzi2MXSZyAUOY+BFwGs17s7ad/7L+gKt6Y8rAVVWS+7o6wrjeFN4nVfTpbE25MNcxyJ+iYUXflbs2xR9h4UBg== dependencies: "@eslint-community/eslint-utils" "^4.7.0" - "@typescript-eslint/scope-manager" "8.38.0" - "@typescript-eslint/types" "8.38.0" - "@typescript-eslint/typescript-estree" "8.38.0" + "@typescript-eslint/scope-manager" "8.40.0" + "@typescript-eslint/types" "8.40.0" + "@typescript-eslint/typescript-estree" "8.40.0" -"@typescript-eslint/visitor-keys@8.38.0": - version "8.38.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.38.0.tgz#a9765a527b082cb8fc60fd8a16e47c7ad5b60ea5" - integrity sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g== +"@typescript-eslint/visitor-keys@8.40.0": + version "8.40.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.40.0.tgz#c1b45196981311fed7256863be4bfb2d3eda332a" + integrity sha512-8CZ47QwalyRjsypfwnbI3hKy5gJDPmrkLjkgMxhi0+DZZ2QNx2naS6/hWoVYUHU7LU2zleF68V9miaVZvhFfTA== dependencies: - "@typescript-eslint/types" "8.38.0" + "@typescript-eslint/types" "8.40.0" eslint-visitor-keys "^4.2.1" "@ungap/structured-clone@^1.3.0": @@ -2045,9 +2038,9 @@ ansi-regex@^5.0.1: integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" - integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== + version "6.2.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.2.0.tgz#2f302e7550431b1b7762705fffb52cf1ffa20447" + integrity sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg== ansi-styles@^3.2.1: version "3.2.1" @@ -2201,7 +2194,7 @@ async-function@^1.0.0: resolved "https://registry.yarnpkg.com/async-function/-/async-function-1.0.0.tgz#509c9fca60eaf85034c6829838188e4e4c8ffb2b" integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA== -async@^3.1.0, async@^3.2.3: +async@^3.1.0, async@^3.2.6: version "3.2.6" resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== @@ -2261,9 +2254,9 @@ babel-plugin-jest-hoist@30.0.1: "@types/babel__core" "^7.20.5" babel-preset-current-node-syntax@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz#9a929eafece419612ef4ae4f60b1862ebad8ef30" - integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== + version "1.2.0" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz#20730d6cdc7dda5d89401cab10ac6a32067acde6" + integrity sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg== dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" @@ -2346,12 +2339,12 @@ braces@^3.0.3: fill-range "^7.1.1" browserslist@^4.24.0: - version "4.25.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.25.1.tgz#ba9e8e6f298a1d86f829c9b975e07948967bb111" - integrity sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw== + version "4.25.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.25.3.tgz#9167c9cbb40473f15f75f85189290678b99b16c5" + integrity sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ== dependencies: - caniuse-lite "^1.0.30001726" - electron-to-chromium "^1.5.173" + caniuse-lite "^1.0.30001735" + electron-to-chromium "^1.5.204" node-releases "^2.0.19" update-browserslist-db "^1.1.3" @@ -2448,10 +2441,10 @@ camelcase@^6.3.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001726: - version "1.0.30001727" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz#22e9706422ad37aa50556af8c10e40e2d93a8b85" - integrity sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q== +caniuse-lite@^1.0.30001735: + version "1.0.30001735" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001735.tgz#ba658fd3fd24a4106fd68d5ce472a2c251494dbe" + integrity sha512-EV/laoX7Wq2J9TQlyIXRxTJqIw4sxfXS4OYgudGxBYRuTv0q7AM6yMEpU/Vo1I94thg9U6EZ2NfZx9GJq83u7w== case@^1.6.3: version "1.6.3" @@ -2475,7 +2468,7 @@ chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4, chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: +chalk@^4, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -2493,6 +2486,11 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== +chardet@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-2.1.0.tgz#1007f441a1ae9f9199a4a67f6e978fb0aa9aa3fe" + integrity sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA== + chownr@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" @@ -3216,10 +3214,10 @@ ejs@^3.1.7: dependencies: jake "^10.8.5" -electron-to-chromium@^1.5.173: - version "1.5.190" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.190.tgz#f0ac8be182291a45e8154dbb12f18d2b2318e4ac" - integrity sha512-k4McmnB2091YIsdCgkS0fMVMPOJgxl93ltFzaryXqwip1AaxeDqKCGLxkXODDA5Ab/D+tV5EL5+aTx76RvLRxw== +electron-to-chromium@^1.5.204: + version "1.5.207" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.207.tgz#0fedde3eec615065ee95531c09a10578644c5552" + integrity sha512-mryFrrL/GXDTmAtIVMVf+eIXM09BBPlO5IQ7lUyKmK8d+A4VpRGG+M3ofoVef6qyF8s60rJei8ymlJxjUA8Faw== emittery@^0.13.1: version "0.13.1" @@ -3250,10 +3248,10 @@ end-of-stream@^1.4.1: dependencies: once "^1.4.0" -enhanced-resolve@^5.17.2: - version "5.18.2" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.2.tgz#7903c5b32ffd4b2143eeb4b92472bd68effd5464" - integrity sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ== +enhanced-resolve@^5.17.3: + version "5.18.3" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz#9b5f4c5c076b8787c78fe540392ce76a88855b44" + integrity sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -3492,10 +3490,10 @@ eslint-plugin-import@2.31.0: string.prototype.trimend "^1.0.8" tsconfig-paths "^3.15.0" -eslint-plugin-prettier@^5.5.3: - version "5.5.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.3.tgz#1f88e9220a72ac8be171eec5f9d4e4d529b5f4a0" - integrity sha512-NAdMYww51ehKfDyDhv59/eIItUVzU0Io9H2E8nHNGKEeeqlnci+1gCvrHib6EmZdf6GxF+LCV5K7UC65Ezvw7w== +eslint-plugin-prettier@^5.5.4: + version "5.5.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz#9d61c4ea11de5af704d4edf108c82ccfa7f2e61c" + integrity sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg== dependencies: prettier-linter-helpers "^1.0.0" synckit "^0.11.7" @@ -3526,19 +3524,19 @@ eslint-visitor-keys@^4.2.1: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#4cfea60fe7dd0ad8e816e1ed026c1d5251b512c1" integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ== -eslint@^9.31.0: - version "9.31.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.31.0.tgz#9a488e6da75bbe05785cd62e43c5ea99356d21ba" - integrity sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ== +eslint@^9.33.0: + version "9.33.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.33.0.tgz#cc186b3d9eb0e914539953d6a178a5b413997b73" + integrity sha512-TS9bTNIryDzStCpJN93aC5VRSW3uTx9sClUn4B87pwiCaJh220otoI0X8mJKr+VcPtniMdN8GKjlwgWGUv5ZKA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.12.1" "@eslint/config-array" "^0.21.0" - "@eslint/config-helpers" "^0.3.0" - "@eslint/core" "^0.15.0" + "@eslint/config-helpers" "^0.3.1" + "@eslint/core" "^0.15.2" "@eslint/eslintrc" "^3.3.1" - "@eslint/js" "9.31.0" - "@eslint/plugin-kit" "^0.3.1" + "@eslint/js" "9.33.0" + "@eslint/plugin-kit" "^0.3.5" "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" "@humanwhocodes/retry" "^0.4.2" @@ -3737,9 +3735,9 @@ fb-watchman@^2.0.2: bser "2.1.1" fdir@^6.4.3, fdir@^6.4.4: - version "6.4.6" - resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.6.tgz#2b268c0232697063111bbf3f64810a2a741ba281" - integrity sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w== + version "6.5.0" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" + integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== figures@3.2.0, figures@^3.0.0, figures@^3.1.0: version "3.2.0" @@ -3818,9 +3816,9 @@ flatted@^3.2.7, flatted@^3.2.9: integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== follow-redirects@^1.15.6: - version "1.15.9" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" - integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== + version "1.15.11" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.11.tgz#777d73d72a92f8ec4d2e410eb47352a56b8e8340" + integrity sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ== for-each@^0.3.3, for-each@^0.3.5: version "0.3.5" @@ -3870,9 +3868,9 @@ fs-extra@^10.1.0: universalify "^2.0.0" fs-extra@^11.2.0: - version "11.3.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.0.tgz#0daced136bbaf65a555a326719af931adc7a314d" - integrity sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew== + version "11.3.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.1.tgz#ba7a1f97a85f94c6db2e52ff69570db3671d5a74" + integrity sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -4410,16 +4408,16 @@ inquirer@^7.3.3: strip-ansi "^6.0.0" through "^2.3.6" -inquirer@^8.2.4, inquirer@^8.2.6: - version "8.2.6" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.6.tgz#733b74888195d8d400a67ac332011b5fae5ea562" - integrity sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg== +inquirer@^8.2.4, inquirer@^8.2.7: + version "8.2.7" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.7.tgz#62f6b931a9b7f8735dc42db927316d8fb6f71de8" + integrity sha512-UjOaSel/iddGZJ5xP/Eixh6dY1XghiBw4XK13rCCIJcJfyhhoul/7KhLLUGtebEj6GDYM6Vnx/mVsjx2L/mFIA== dependencies: + "@inquirer/external-editor" "^1.0.0" ansi-escapes "^4.2.1" chalk "^4.1.1" cli-cursor "^3.1.0" cli-width "^3.0.0" - external-editor "^3.0.3" figures "^3.0.0" lodash "^4.17.21" mute-stream "0.0.8" @@ -4445,13 +4443,10 @@ interpret@^3.1.1: resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== -ip-address@^9.0.5: - version "9.0.5" - resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a" - integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== - dependencies: - jsbn "1.1.0" - sprintf-js "^1.1.3" +ip-address@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-10.0.1.tgz#a8180b783ce7788777d796286d61bce4276818ed" + integrity sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA== is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: version "3.0.5" @@ -4792,9 +4787,9 @@ istanbul-lib-source-maps@^5.0.0: istanbul-lib-coverage "^3.0.0" istanbul-reports@^3.1.3: - version "3.1.7" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" - integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.2.0.tgz#cb4535162b5784aa623cee21a7252cf2c807ac93" + integrity sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" @@ -4809,14 +4804,13 @@ jackspeak@^3.1.2: "@pkgjs/parseargs" "^0.11.0" jake@^10.8.5: - version "10.9.2" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" - integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== + version "10.9.4" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.4.tgz#d626da108c63d5cfb00ab5c25fadc7e0084af8e6" + integrity sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA== dependencies: - async "^3.2.3" - chalk "^4.0.2" + async "^3.2.6" filelist "^1.0.4" - minimatch "^3.1.2" + picocolors "^1.1.1" jest-changed-files@30.0.5: version "30.0.5" @@ -5223,60 +5217,55 @@ js-yaml@^3.10.0, js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -jsbn@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" - integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== - jsesc@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== -jsii-rosetta@^5.8.0, jsii-rosetta@~5.8.0: - version "5.8.12" - resolved "https://registry.yarnpkg.com/jsii-rosetta/-/jsii-rosetta-5.8.12.tgz#5135c42ef6f1adf105178c0ef1cc5832ad9f1117" - integrity sha512-PZp2C/EdC9FV4bPsHIWFRG2+CTP+cF+A2/5+F7i0UoXH7XhjMc0Cs2R2fWnEmHZhLq1mUvYWu0dfsGa9GmM+iw== +jsii-rosetta@^5.9.1, jsii-rosetta@~5.9.1: + version "5.9.3" + resolved "https://registry.yarnpkg.com/jsii-rosetta/-/jsii-rosetta-5.9.3.tgz#b4a2cdec90e532cf9598b1189fdc4ef51dee4bd4" + integrity sha512-pAbN71TDhnIUNHDRDfdulOt5vbWeFrpDsNnfGUWVF926sJSSu4Elc2SIphtdFBM0lqvG6miBP/UpaAJTm/23cg== dependencies: - "@jsii/check-node" "1.112.0" - "@jsii/spec" "^1.112.0" + "@jsii/check-node" "1.113.0" + "@jsii/spec" "^1.113.0" "@xmldom/xmldom" "^0.9.8" chalk "^4" commonmark "^0.31.2" fast-glob "^3.3.3" - jsii "~5.8.0" + jsii "~5.9.1" semver "^7.7.2" semver-intersect "^1.5.0" stream-json "^1.9.1" - typescript "~5.8" + typescript "~5.9" workerpool "^6.5.1" yargs "^17.7.2" -jsii@5.8.0: - version "5.8.0" - resolved "https://registry.yarnpkg.com/jsii/-/jsii-5.8.0.tgz#8dcd83017064ea1c39c516952aa9b33532d5570e" - integrity sha512-aFcGir8GAQu5ZNzuvqLxLSvMeSSFsHeh1enoXt7Vp23lvQ7eBvUXMfxmsJ8exq7SuIAVhmx0dWjrJyekOCmAFA== +jsii@5.9.1: + version "5.9.1" + resolved "https://registry.yarnpkg.com/jsii/-/jsii-5.9.1.tgz#0b90ab43d82dbf025bfdd4077b892cbbe7c8d3c2" + integrity sha512-0fosDxjcd2DTslZ2Thsx8t+kmXYPRTcgPNVYxj3qPV+OGocjIRV8jdBAw5HoGXN/h8eq2eiQKaCs6zSjtFI3RQ== dependencies: - "@jsii/check-node" "1.109.0" - "@jsii/spec" "^1.109.0" + "@jsii/check-node" "1.113.0" + "@jsii/spec" "^1.113.0" case "^1.6.3" chalk "^4" fast-deep-equal "^3.1.3" log4js "^6.9.1" - semver "^7.7.1" + semver "^7.7.2" semver-intersect "^1.5.0" sort-json "^2.0.1" - spdx-license-list "^6.9.0" - typescript "~5.8" + spdx-license-list "^6.10.0" + typescript "~5.9" yargs "^17.7.2" -jsii@^5.8.0, jsii@~5.8.0: - version "5.8.16" - resolved "https://registry.yarnpkg.com/jsii/-/jsii-5.8.16.tgz#387a4c07a4d74bc3936ddda9f504d3719007d965" - integrity sha512-22Ax6rHg+EDiGfzIP7XtUbrD6Tszhe7o0ws3SfDROkCPKFOiSy73I3tQNP182e1C3zLXemja2WQ3DYIE+sCZew== +jsii@^5.9.1, jsii@~5.9.1: + version "5.9.3" + resolved "https://registry.yarnpkg.com/jsii/-/jsii-5.9.3.tgz#04b62f095ab45f357db2e619ce33b8456f84fd1a" + integrity sha512-Qrbg0xKa7nnyXklSZ26x0Vp2TqmtRFmh/Zpod6ho1pZhLjzR3KTpcfvG0Nd809vxJ5b1suKj+m3DRbin14ReQw== dependencies: - "@jsii/check-node" "1.112.0" - "@jsii/spec" "^1.112.0" + "@jsii/check-node" "1.113.0" + "@jsii/spec" "^1.113.0" case "^1.6.3" chalk "^4" fast-deep-equal "^3.1.3" @@ -5285,7 +5274,7 @@ jsii@^5.8.0, jsii@~5.8.0: semver-intersect "^1.5.0" sort-json "^2.0.1" spdx-license-list "^6.10.0" - typescript "~5.8" + typescript "~5.9" yargs "^17.7.2" json-buffer@3.0.1: @@ -5367,9 +5356,9 @@ jsonfile@^4.0.0: graceful-fs "^4.1.6" jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + version "6.2.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.2.0.tgz#7c265bd1b65de6977478300087c99f1c84383f62" + integrity sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg== dependencies: universalify "^2.0.0" optionalDependencies: @@ -5937,9 +5926,9 @@ mute-stream@^1.0.0: integrity sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== napi-postinstall@^0.3.0: - version "0.3.2" - resolved "https://registry.yarnpkg.com/napi-postinstall/-/napi-postinstall-0.3.2.tgz#03c62080e88b311c4d7423b0f15f0c920bbcc626" - integrity sha512-tWVJxJHmBWLy69PvO96TZMZDrzmw5KeiZBz3RHmiM2XZ9grBJ2WgMAFVVg25nqp3ZjTFUs2Ftw1JhscL3Teliw== + version "0.3.3" + resolved "https://registry.yarnpkg.com/napi-postinstall/-/napi-postinstall-0.3.3.tgz#93d045c6b576803ead126711d3093995198c6eb9" + integrity sha512-uTp172LLXSxuSYHv/kou+f6KW3SMppU9ivthaVTXian9sOt3XM/zHYHpRZiLgQoxeWfYUnslNWQHF1+G71xcow== natural-compare@^1.4.0: version "1.4.0" @@ -7202,11 +7191,11 @@ socks-proxy-agent@^8.0.3: socks "^2.8.3" socks@^2.8.3: - version "2.8.6" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.6.tgz#e335486a2552f34f932f0c27d8dbb93f2be867aa" - integrity sha512-pe4Y2yzru68lXCb38aAqRf5gvN8YdjP1lok5o0J7BOHljkyCGKVz7H3vpVIXKD27rj2giOJ7DwVyk/GWrPHDWA== + version "2.8.7" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.7.tgz#e2fb1d9a603add75050a2067db8c381a0b5669ea" + integrity sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A== dependencies: - ip-address "^9.0.5" + ip-address "^10.0.1" smart-buffer "^4.2.0" sort-json@^2.0.1: @@ -7281,11 +7270,11 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.21" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz#6d6e980c9df2b6fc905343a3b2d702a6239536c3" - integrity sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg== + version "3.0.22" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz#abf5a08a6f5d7279559b669f47f0a43e8f3464ef" + integrity sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ== -spdx-license-list@^6.10.0, spdx-license-list@^6.9.0: +spdx-license-list@^6.10.0: version "6.10.0" resolved "https://registry.yarnpkg.com/spdx-license-list/-/spdx-license-list-6.10.0.tgz#738249443db42f5fd6780c7c40daecefed7a3adf" integrity sha512-wF3RhDFoqdu14d1Prv6c8aNU0FSRuSFJpNjWeygIZcNZEwPxp7I5/Hwo8j6lSkBKWAIkSQrKefrC5N0lvOP0Gw== @@ -7312,11 +7301,6 @@ split@^1.0.0, split@^1.0.1: dependencies: through "2" -sprintf-js@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" - integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== - sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -7677,9 +7661,9 @@ tmp@^0.0.33: os-tmpdir "~1.0.2" tmp@~0.2.1: - version "0.2.3" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" - integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== + version "0.2.5" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.5.tgz#b06bcd23f0f3c8357b426891726d16015abfd8f8" + integrity sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow== tmpl@1.0.5: version "1.0.5" @@ -7871,10 +7855,10 @@ typescript-json-schema@^0.65.1: typescript "~5.5.0" yargs "^17.1.1" -typescript@5.8.x, "typescript@>=3 < 6", typescript@~5.8: - version "5.8.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e" - integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== +typescript@5.9.x, "typescript@>=3 < 6", typescript@~5.9: + version "5.9.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.2.tgz#d93450cddec5154a2d5cabe3b8102b83316fb2a6" + integrity sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A== typescript@~5.5.0: version "5.5.4" @@ -7901,10 +7885,10 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== -undici-types@~7.8.0: - version "7.8.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.8.0.tgz#de00b85b710c54122e44fbfd911f8d70174cd294" - integrity sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw== +undici-types@~7.10.0: + version "7.10.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.10.0.tgz#4ac2e058ce56b462b056e629cc6a02393d3ff350" + integrity sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag== unique-filename@^3.0.0: version "3.0.0" @@ -8096,10 +8080,10 @@ webpack-sources@^3.3.3: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.3.3.tgz#d4bf7f9909675d7a070ff14d0ef2a4f3c982c723" integrity sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg== -webpack@^5.100.2: - version "5.100.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.100.2.tgz#e2341facf9f7de1d702147c91bcb65b693adf9e8" - integrity sha512-QaNKAvGCDRh3wW1dsDjeMdDXwZm2vqq3zn6Pvq4rHOEOGSaUMgOOjG2Y9ZbIGzpfkJk9ZYTHpDqgDfeBDcnLaw== +webpack@^5.101.3: + version "5.101.3" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.101.3.tgz#3633b2375bb29ea4b06ffb1902734d977bc44346" + integrity sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A== dependencies: "@types/eslint-scope" "^3.7.7" "@types/estree" "^1.0.8" @@ -8111,7 +8095,7 @@ webpack@^5.100.2: acorn-import-phases "^1.0.3" browserslist "^4.24.0" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.17.2" + enhanced-resolve "^5.17.3" es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" @@ -8344,9 +8328,9 @@ yallist@^4.0.0: integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@^2.6.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.8.0.tgz#15f8c9866211bdc2d3781a0890e44d4fa1a5fff6" - integrity sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ== + version "2.8.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.8.1.tgz#1870aa02b631f7e8328b93f8bc574fac5d6c4d79" + integrity sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw== yargs-parser@21.1.1, yargs-parser@^21.1.1: version "21.1.1"