diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 80126ab2fc38..6fae66fb749a 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -24,10 +24,10 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Initialize CodeQL - uses: github/codeql-action/init@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6 + uses: github/codeql-action/init@c10b8064de6f491fea524254123dbe5e09572f13 # v4.35.1 with: languages: 'javascript' config-file: ./.github/codeql/codeql-config.yml - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6 + uses: github/codeql-action/analyze@c10b8064de6f491fea524254123dbe5e09572f13 # v4.35.1 diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 06d42af8cac3..911836c2be9d 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -33,7 +33,7 @@ jobs: with: fetch-depth: 0 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 + uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: ${{ matrix.node-version }} - name: Set up Python 3.11 (for node-gyp) @@ -79,9 +79,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 + - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: - node-version: 22.21.1 # LTS + node-version: 22.22.2 # LTS - name: Install dependencies run: npm ci - name: Build @@ -94,9 +94,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 + - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: - node-version: 22.21.1 # LTS + node-version: 22.22.2 # LTS - name: Install dependencies run: npm ci - name: Build @@ -116,9 +116,9 @@ jobs: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 + - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: - node-version: 22.21.1 # LTS + node-version: 22.22.2 # LTS - name: Install dependencies run: npm ci - name: Verify commit linting @@ -129,9 +129,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 + - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: - node-version: 22.21.1 # LTS + node-version: 22.22.2 # LTS - name: Install dependencies run: npm ci - name: Build diff --git a/.github/workflows/renovate-config-validator.yml b/.github/workflows/renovate-config-validator.yml index 27c5f7931a43..bc3bc05286f3 100644 --- a/.github/workflows/renovate-config-validator.yml +++ b/.github/workflows/renovate-config-validator.yml @@ -18,8 +18,8 @@ jobs: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 1 - - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 + - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: - node-version: 22.21.1 # LTS + node-version: 22.22.2 # LTS - name: Validate Renovate config run: npx -p renovate --yes renovate-config-validator diff --git a/acceptance/extension-logging-fluentd/CHANGELOG.md b/acceptance/extension-logging-fluentd/CHANGELOG.md index 0f4c8ffe6fa9..19f8d9b949f9 100644 --- a/acceptance/extension-logging-fluentd/CHANGELOG.md +++ b/acceptance/extension-logging-fluentd/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.13.12](https://github.com/loopbackio/loopback-next/compare/@loopback/test-extension-logging-fluentd@0.13.11...@loopback/test-extension-logging-fluentd@0.13.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/test-extension-logging-fluentd + + + + + ## [0.13.11](https://github.com/loopbackio/loopback-next/compare/@loopback/test-extension-logging-fluentd@0.13.10...@loopback/test-extension-logging-fluentd@0.13.11) (2026-03-11) **Note:** Version bump only for package @loopback/test-extension-logging-fluentd diff --git a/acceptance/extension-logging-fluentd/package.json b/acceptance/extension-logging-fluentd/package.json index f4b24c6838b0..5539975a57b0 100644 --- a/acceptance/extension-logging-fluentd/package.json +++ b/acceptance/extension-logging-fluentd/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/test-extension-logging-fluentd", "description": "Acceptance test for `@loopback/logging` with fluentd", - "version": "0.13.11", + "version": "0.13.12", "private": true, "license": "MIT", "main": "dist/index.js", @@ -31,13 +31,13 @@ "!*/__tests__" ], "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/logging": "^0.13.11", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126", - "testcontainers": "^11.11.0", + "@loopback/logging": "^0.13.12", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39", + "testcontainers": "^11.14.0", "tslib": "^2.8.1" } } diff --git a/acceptance/repository-cloudant/CHANGELOG.md b/acceptance/repository-cloudant/CHANGELOG.md index 38161c02ff49..2bc8676331c9 100644 --- a/acceptance/repository-cloudant/CHANGELOG.md +++ b/acceptance/repository-cloudant/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/test-repository-cloudant@7.0.11...@loopback/test-repository-cloudant@7.0.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/test-repository-cloudant + + + + + ## [7.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/test-repository-cloudant@7.0.10...@loopback/test-repository-cloudant@7.0.11) (2026-03-11) **Note:** Version bump only for package @loopback/test-repository-cloudant diff --git a/acceptance/repository-cloudant/package.json b/acceptance/repository-cloudant/package.json index cc7e74c76def..4f2ace211262 100644 --- a/acceptance/repository-cloudant/package.json +++ b/acceptance/repository-cloudant/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/test-repository-cloudant", "description": "Acceptance tests for `@loopback/repository` + `loopback-connector-cloudant`", - "version": "7.0.11", + "version": "7.0.12", "private": true, "license": "MIT", "main": "dist/index.js", @@ -32,16 +32,16 @@ "!*/__tests__" ], "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/repository": "^8.0.10", - "@loopback/repository-tests": "^0.25.11", - "@types/node": "^16.18.126", + "@loopback/repository": "^8.0.11", + "@loopback/repository-tests": "^0.25.12", + "@types/node": "^20.19.39", "async": "^3.2.6", "chalk": "^4.1.2", "debug": "^4.4.3", "dockerode": "^3.3.5", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "loopback-connector-cloudant": "2.5.0", "ms": "2.1.3", "tslib": "^2.8.1", diff --git a/acceptance/repository-mongodb/CHANGELOG.md b/acceptance/repository-mongodb/CHANGELOG.md index 36263d3f799e..40deb8f022cc 100644 --- a/acceptance/repository-mongodb/CHANGELOG.md +++ b/acceptance/repository-mongodb/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.16.12](https://github.com/loopbackio/loopback-next/compare/@loopback/test-repository-mongodb@0.16.11...@loopback/test-repository-mongodb@0.16.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/test-repository-mongodb + + + + + ## [0.16.11](https://github.com/loopbackio/loopback-next/compare/@loopback/test-repository-mongodb@0.16.10...@loopback/test-repository-mongodb@0.16.11) (2026-03-11) **Note:** Version bump only for package @loopback/test-repository-mongodb diff --git a/acceptance/repository-mongodb/package.json b/acceptance/repository-mongodb/package.json index ff2693db55fa..38ea44d6b03c 100644 --- a/acceptance/repository-mongodb/package.json +++ b/acceptance/repository-mongodb/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/test-repository-mongodb", "description": "Acceptance tests for `@loopback/repository` + `loopback-connector-mongodb`", - "version": "0.16.11", + "version": "0.16.12", "private": true, "license": "MIT", "main": "dist/index.js", @@ -31,13 +31,13 @@ "!*/__tests__" ], "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/repository": "^8.0.10", - "@loopback/repository-tests": "^0.25.11", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126", - "loopback-connector-mongodb": "^7.0.3", + "@loopback/repository": "^8.0.11", + "@loopback/repository-tests": "^0.25.12", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39", + "loopback-connector-mongodb": "^7.0.4", "tslib": "^2.8.1" } } diff --git a/acceptance/repository-mysql/CHANGELOG.md b/acceptance/repository-mysql/CHANGELOG.md index 93863369b387..46339a07e06b 100644 --- a/acceptance/repository-mysql/CHANGELOG.md +++ b/acceptance/repository-mysql/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.16.12](https://github.com/loopbackio/loopback-next/compare/@loopback/test-repository-mysql@0.16.11...@loopback/test-repository-mysql@0.16.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/test-repository-mysql + + + + + ## [0.16.11](https://github.com/loopbackio/loopback-next/compare/@loopback/test-repository-mysql@0.16.10...@loopback/test-repository-mysql@0.16.11) (2026-03-11) **Note:** Version bump only for package @loopback/test-repository-mysql diff --git a/acceptance/repository-mysql/package.json b/acceptance/repository-mysql/package.json index 222a892e8833..111b3cb04c3a 100644 --- a/acceptance/repository-mysql/package.json +++ b/acceptance/repository-mysql/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/test-repository-mysql", "description": "Acceptance tests for `@loopback/repository` + `loopback-connector-mysql`", - "version": "0.16.11", + "version": "0.16.12", "private": true, "license": "MIT", "main": "dist/index.js", @@ -31,13 +31,13 @@ "!*/__tests__" ], "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/repository": "^8.0.10", - "@loopback/repository-tests": "^0.25.11", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126", - "loopback-connector-mysql": "^8.0.7", + "@loopback/repository": "^8.0.11", + "@loopback/repository-tests": "^0.25.12", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39", + "loopback-connector-mysql": "^8.0.8", "tslib": "^2.8.1" } } diff --git a/acceptance/repository-postgresql/CHANGELOG.md b/acceptance/repository-postgresql/CHANGELOG.md index 9cf7b6d42647..ffc6b6456b16 100644 --- a/acceptance/repository-postgresql/CHANGELOG.md +++ b/acceptance/repository-postgresql/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/test-repository-postgresql@7.0.11...@loopback/test-repository-postgresql@7.0.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/test-repository-postgresql + + + + + ## [7.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/test-repository-postgresql@7.0.10...@loopback/test-repository-postgresql@7.0.11) (2026-03-11) **Note:** Version bump only for package @loopback/test-repository-postgresql diff --git a/acceptance/repository-postgresql/package.json b/acceptance/repository-postgresql/package.json index aeb2ac6cff7c..39cf693bdd95 100644 --- a/acceptance/repository-postgresql/package.json +++ b/acceptance/repository-postgresql/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/test-repository-postgresql", "description": "Acceptance tests for `@loopback/repository` + `loopback-connector-postgresql`", - "version": "7.0.11", + "version": "7.0.12", "private": true, "license": "MIT", "main": "dist/index.js", @@ -31,13 +31,13 @@ "!*/__tests__" ], "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/repository": "^8.0.10", - "@loopback/repository-tests": "^0.25.11", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126", - "loopback-connector-postgresql": "^8.0.7", + "@loopback/repository": "^8.0.11", + "@loopback/repository-tests": "^0.25.12", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39", + "loopback-connector-postgresql": "^8.0.8", "tslib": "^2.8.1" } } diff --git a/benchmark/CHANGELOG.md b/benchmark/CHANGELOG.md index e130cc06ab55..1b7cee07d74c 100644 --- a/benchmark/CHANGELOG.md +++ b/benchmark/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/benchmark@7.0.11...@loopback/benchmark@7.0.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/benchmark + + + + + ## [7.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/benchmark@7.0.10...@loopback/benchmark@7.0.11) (2026-03-11) **Note:** Version bump only for package @loopback/benchmark diff --git a/benchmark/package.json b/benchmark/package.json index b87308f95d5c..cc4a65709b9e 100644 --- a/benchmark/package.json +++ b/benchmark/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/benchmark", "description": "Benchmarks measuring performance of our framework.", - "version": "7.0.11", + "version": "7.0.12", "keywords": [ "loopback", "performance", @@ -38,15 +38,15 @@ "!*/__tests__" ], "dependencies": { - "@loopback/core": "^7.0.10", - "@loopback/example-todo": "^9.0.11", - "@loopback/openapi-spec-builder": "^8.0.10", - "@loopback/rest": "^15.0.11", + "@loopback/core": "^7.0.11", + "@loopback/example-todo": "^9.0.12", + "@loopback/openapi-spec-builder": "^8.0.11", + "@loopback/rest": "^15.0.12", "@types/byline": "^4.2.36", - "@types/debug": "^4.1.12", + "@types/debug": "^4.1.13", "@types/request-promise-native": "^1.0.21", "autocannon": "^8.0.0", - "axios": "^1.13.6", + "axios": "^1.15.0", "benchmark": "^2.1.4", "byline": "^5.0.0", "debug": "^4.4.3", @@ -54,12 +54,12 @@ "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/testlab": "^8.0.10", + "@loopback/build": "^12.0.11", + "@loopback/testlab": "^8.0.11", "@types/autocannon": "^7.12.7", "@types/benchmark": "^2.1.5", "@types/mocha": "^10.0.10", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "mocha": "^11.7.5", "source-map-support": "^0.5.21" } diff --git a/bodyparsers/rest-msgpack/CHANGELOG.md b/bodyparsers/rest-msgpack/CHANGELOG.md index 91ed333f3df5..6f87049fb6d0 100644 --- a/bodyparsers/rest-msgpack/CHANGELOG.md +++ b/bodyparsers/rest-msgpack/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.12.12](https://github.com/loopbackio/loopback-next/compare/@loopback/rest-msgpack@0.12.11...@loopback/rest-msgpack@0.12.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/rest-msgpack + + + + + ## [0.12.11](https://github.com/loopbackio/loopback-next/compare/@loopback/rest-msgpack@0.12.10...@loopback/rest-msgpack@0.12.11) (2026-03-11) **Note:** Version bump only for package @loopback/rest-msgpack diff --git a/bodyparsers/rest-msgpack/package.json b/bodyparsers/rest-msgpack/package.json index 5189b2fa4e48..05adbc987342 100644 --- a/bodyparsers/rest-msgpack/package.json +++ b/bodyparsers/rest-msgpack/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/rest-msgpack", "description": "Body parser to handle MessagePack requests in LoopBack 4.", - "version": "0.12.11", + "version": "0.12.12", "license": "MIT", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -41,12 +41,12 @@ "type-is": "^2.0.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/testlab": "^8.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/testlab": "^8.0.11", "@types/msgpack5": "^3.4.6", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "@types/type-is": "^1.6.7", "typescript": "~5.2.2" } diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index d93f0158a2e5..2acea5ed0d53 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.13](https://github.com/loopbackio/loopback-next/compare/@loopback/docs@8.0.12...@loopback/docs@8.0.13) (2026-04-14) + +**Note:** Version bump only for package @loopback/docs + + + + + ## [8.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/docs@8.0.11...@loopback/docs@8.0.12) (2026-03-11) **Note:** Version bump only for package @loopback/docs diff --git a/docs/package.json b/docs/package.json index 67c347737504..b68b0ea952e0 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/docs", "description": "Documentation files rendered at [https://loopback.io](https://loopback.io)", - "version": "8.0.12", + "version": "8.0.13", "keywords": [ "LoopBack", "docs" @@ -36,6 +36,6 @@ "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10" + "@loopback/build": "^12.0.11" } } diff --git a/examples/access-control-migration/CHANGELOG.md b/examples/access-control-migration/CHANGELOG.md index d600252ba5b1..0af9fffba222 100644 --- a/examples/access-control-migration/CHANGELOG.md +++ b/examples/access-control-migration/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.13](https://github.com/loopbackio/loopback-next/compare/@loopback/example-access-control-migration@8.0.12...@loopback/example-access-control-migration@8.0.13) (2026-04-14) + +**Note:** Version bump only for package @loopback/example-access-control-migration + + + + + ## [8.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/example-access-control-migration@8.0.11...@loopback/example-access-control-migration@8.0.12) (2026-03-11) **Note:** Version bump only for package @loopback/example-access-control-migration diff --git a/examples/access-control-migration/package.json b/examples/access-control-migration/package.json index 6e975bd2cdad..e47bd5269cb0 100644 --- a/examples/access-control-migration/package.json +++ b/examples/access-control-migration/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-access-control-migration", "description": "Tutorial example on how to migrate the access control example with LoopBack 4.", - "version": "8.0.12", + "version": "8.0.13", "keywords": [ "loopback", "LoopBack", @@ -51,30 +51,30 @@ "access": "public" }, "dependencies": { - "@loopback/authentication": "^12.0.12", - "@loopback/authentication-jwt": "^0.16.12", - "@loopback/authorization": "^0.16.11", - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", - "@loopback/security": "^0.12.11", - "@loopback/service-proxy": "^8.0.10", + "@loopback/authentication": "^12.0.13", + "@loopback/authentication-jwt": "^0.16.13", + "@loopback/authorization": "^0.16.12", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", + "@loopback/security": "^0.12.12", + "@loopback/service-proxy": "^8.0.11", "bcryptjs": "^3.0.3", - "casbin": "^5.48.0", + "casbin": "^5.49.0", "jsonwebtoken": "^9.0.3", - "loopback-connector-rest": "^6.0.5" + "loopback-connector-rest": "^6.0.6" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/http-caching-proxy": "^7.0.10", - "@loopback/testlab": "^8.0.10", + "@loopback/http-caching-proxy": "^7.0.11", + "@loopback/testlab": "^8.0.11", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "eslint": "^8.57.1", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "typescript": "~5.2.2" } } diff --git a/examples/binding-resolution/CHANGELOG.md b/examples/binding-resolution/CHANGELOG.md index 14eb0e625bda..1c0c7ab2d52c 100644 --- a/examples/binding-resolution/CHANGELOG.md +++ b/examples/binding-resolution/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.12.12](https://github.com/loopbackio/loopback-next/compare/@loopback/example-binding-resolution@0.12.11...@loopback/example-binding-resolution@0.12.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/example-binding-resolution + + + + + ## [0.12.11](https://github.com/loopbackio/loopback-next/compare/@loopback/example-binding-resolution@0.12.10...@loopback/example-binding-resolution@0.12.11) (2026-03-11) **Note:** Version bump only for package @loopback/example-binding-resolution diff --git a/examples/binding-resolution/package.json b/examples/binding-resolution/package.json index cd23d281f773..f86b53022aad 100644 --- a/examples/binding-resolution/package.json +++ b/examples/binding-resolution/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-binding-resolution", "description": "An example application to demonstrate binding resolution and dependency injection within a context hierarchy", - "version": "0.12.11", + "version": "0.12.12", "keywords": [ "loopback-application", "loopback", @@ -44,18 +44,18 @@ "!*/__tests__" ], "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", "debug": "^4.4.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126", + "@loopback/build": "^12.0.11", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "source-map-support": "^0.5.21", "typescript": "~5.2.2" diff --git a/examples/context/CHANGELOG.md b/examples/context/CHANGELOG.md index b19e528a89b7..94d17c4938da 100644 --- a/examples/context/CHANGELOG.md +++ b/examples/context/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/example-context@8.0.10...@loopback/example-context@8.0.11) (2026-04-14) + +**Note:** Version bump only for package @loopback/example-context + + + + + ## [8.0.10](https://github.com/loopbackio/loopback-next/compare/@loopback/example-context@8.0.9...@loopback/example-context@8.0.10) (2026-03-11) **Note:** Version bump only for package @loopback/example-context diff --git a/examples/context/package.json b/examples/context/package.json index 730e89e12c34..8501423a14aa 100644 --- a/examples/context/package.json +++ b/examples/context/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-context", "description": "Standalone examples to illustrate features provided by @loopback/context", - "version": "8.0.10", + "version": "8.0.11", "keywords": [ "loopback", "LoopBack", @@ -46,14 +46,14 @@ "access": "public" }, "dependencies": { - "@loopback/context": "^8.0.10", + "@loopback/context": "^8.0.11", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "typescript": "~5.2.2" } diff --git a/examples/express-composition/CHANGELOG.md b/examples/express-composition/CHANGELOG.md index 3fce3a60ec07..6f0c521e47d4 100644 --- a/examples/express-composition/CHANGELOG.md +++ b/examples/express-composition/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/example-express-composition@8.0.11...@loopback/example-express-composition@8.0.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/example-express-composition + + + + + ## [8.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/example-express-composition@8.0.10...@loopback/example-express-composition@8.0.11) (2026-03-11) **Note:** Version bump only for package @loopback/example-express-composition diff --git a/examples/express-composition/package.json b/examples/express-composition/package.json index c966eb7ff5f2..b635d9904f22 100644 --- a/examples/express-composition/package.json +++ b/examples/express-composition/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-express-composition", "description": "LoopBack 4 REST API on Express", - "version": "8.0.11", + "version": "8.0.12", "keywords": [ "loopback-application", "loopback", @@ -47,21 +47,21 @@ "access": "public" }, "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", - "@loopback/service-proxy": "^8.0.10", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", + "@loopback/service-proxy": "^8.0.11", "express": "^4.22.1", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", + "@loopback/testlab": "^8.0.11", "@types/express": "^4.17.25", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "typescript": "~5.2.2" } diff --git a/examples/file-transfer/CHANGELOG.md b/examples/file-transfer/CHANGELOG.md index a5e2e382cf8c..23f946fdd251 100644 --- a/examples/file-transfer/CHANGELOG.md +++ b/examples/file-transfer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/example-file-transfer@7.0.11...@loopback/example-file-transfer@7.0.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/example-file-transfer + + + + + ## [7.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/example-file-transfer@7.0.10...@loopback/example-file-transfer@7.0.11) (2026-03-11) **Note:** Version bump only for package @loopback/example-file-transfer diff --git a/examples/file-transfer/package.json b/examples/file-transfer/package.json index e1587b5cb220..c21c2ddd77a8 100644 --- a/examples/file-transfer/package.json +++ b/examples/file-transfer/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-file-transfer", "description": "Example application for file upload/download with LoopBack 4", - "version": "7.0.11", + "version": "7.0.12", "keywords": [ "loopback", "LoopBack", @@ -46,20 +46,20 @@ "access": "public" }, "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", "multer": "^2.1.1", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", + "@loopback/testlab": "^8.0.11", "@types/express-serve-static-core": "^4.19.8", - "@types/multer": "^2.0.0", - "@types/node": "^16.18.126", + "@types/multer": "^2.1.0", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "typescript": "~5.2.2" } diff --git a/examples/graphql/CHANGELOG.md b/examples/graphql/CHANGELOG.md index 67330465cb8c..42f0d34c3067 100644 --- a/examples/graphql/CHANGELOG.md +++ b/examples/graphql/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.13.2](https://github.com/loopbackio/loopback-next/compare/@loopback/example-graphql@0.13.1...@loopback/example-graphql@0.13.2) (2026-04-14) + +**Note:** Version bump only for package @loopback/example-graphql + + + + + ## [0.13.1](https://github.com/loopbackio/loopback-next/compare/@loopback/example-graphql@0.13.0...@loopback/example-graphql@0.13.1) (2026-03-11) **Note:** Version bump only for package @loopback/example-graphql diff --git a/examples/graphql/package.json b/examples/graphql/package.json index 5d2663077809..977ed0947458 100644 --- a/examples/graphql/package.json +++ b/examples/graphql/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-graphql", "description": "GraphQL Example Application", - "version": "0.13.1", + "version": "0.13.2", "keywords": [ "loopback-application", "loopback" @@ -50,20 +50,20 @@ ], "dependencies": { "@graphql-yoga/subscription": "^5.0.5", - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/graphql": "^0.13.1", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/graphql": "^0.13.2", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", "class-transformer": "^0.5.1", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/multer": "^2.0.0", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/multer": "^2.1.0", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "graphql-ws": "^5.16.2", "rimraf": "^5.0.10", diff --git a/examples/greeter-extension/CHANGELOG.md b/examples/greeter-extension/CHANGELOG.md index a732b277fef8..c69726929296 100644 --- a/examples/greeter-extension/CHANGELOG.md +++ b/examples/greeter-extension/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/example-greeter-extension@8.0.10...@loopback/example-greeter-extension@8.0.11) (2026-04-14) + +**Note:** Version bump only for package @loopback/example-greeter-extension + + + + + ## [8.0.10](https://github.com/loopbackio/loopback-next/compare/@loopback/example-greeter-extension@8.0.9...@loopback/example-greeter-extension@8.0.10) (2026-03-11) **Note:** Version bump only for package @loopback/example-greeter-extension diff --git a/examples/greeter-extension/package.json b/examples/greeter-extension/package.json index 25b5d17f581f..7c7d1cfe5165 100644 --- a/examples/greeter-extension/package.json +++ b/examples/greeter-extension/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-greeter-extension", "description": "An example showing how to implement the extension point/extension pattern using LoopBack 4", - "version": "8.0.10", + "version": "8.0.11", "keywords": [ "loopback", "loopback-extension" @@ -47,17 +47,17 @@ "access": "public" }, "dependencies": { - "@loopback/core": "^7.0.10", + "@loopback/core": "^7.0.11", "chalk": "^4.1.2", "debug": "^4.4.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/debug": "4.1.12", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/debug": "4.1.13", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "typescript": "~5.2.2" } diff --git a/examples/greeting-app/CHANGELOG.md b/examples/greeting-app/CHANGELOG.md index c173be859431..254a4210e00a 100644 --- a/examples/greeting-app/CHANGELOG.md +++ b/examples/greeting-app/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/example-greeting-app@8.0.11...@loopback/example-greeting-app@8.0.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/example-greeting-app + + + + + ## [8.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/example-greeting-app@8.0.10...@loopback/example-greeting-app@8.0.11) (2026-03-11) **Note:** Version bump only for package @loopback/example-greeting-app diff --git a/examples/greeting-app/package.json b/examples/greeting-app/package.json index 5414c2d7baff..14ef5019deac 100644 --- a/examples/greeting-app/package.json +++ b/examples/greeting-app/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-greeting-app", "description": "An example greeting application for LoopBack 4", - "version": "8.0.11", + "version": "8.0.12", "keywords": [ "loopback", "loopback-application" @@ -48,20 +48,20 @@ "access": "public" }, "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/example-greeter-extension": "^8.0.10", - "@loopback/rest": "^15.0.11", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/example-greeter-extension": "^8.0.11", + "@loopback/rest": "^15.0.12", "chalk": "^4.1.2", "debug": "^4.4.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/debug": "4.1.12", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/debug": "4.1.13", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "typescript": "~5.2.2" } diff --git a/examples/greeting-app/src/caching-service.ts b/examples/greeting-app/src/caching-service.ts index af4326d83368..4581292e9022 100644 --- a/examples/greeting-app/src/caching-service.ts +++ b/examples/greeting-app/src/caching-service.ts @@ -21,7 +21,7 @@ export interface CachingServiceOptions { */ @injectable({scope: BindingScope.SINGLETON}) export class CachingService { - private timer: NodeJS.Timer; + private timer: NodeJS.Timeout; private store: Map = new Map(); constructor( diff --git a/examples/greeting-app/src/observers/cache.observer.ts b/examples/greeting-app/src/observers/cache.observer.ts index 7c0f0fd2fa8c..ab875e87770e 100644 --- a/examples/greeting-app/src/observers/cache.observer.ts +++ b/examples/greeting-app/src/observers/cache.observer.ts @@ -13,7 +13,7 @@ import {CACHING_SERVICE} from '../keys'; */ @lifeCycleObserver('caching') export class CacheObserver implements LifeCycleObserver { - private timer: NodeJS.Timer; + private timer: NodeJS.Timeout; constructor( @inject(CACHING_SERVICE) private cachingService: CachingService, ) {} diff --git a/examples/hello-world/CHANGELOG.md b/examples/hello-world/CHANGELOG.md index e2e537c0c63c..6abfb28fc18e 100644 --- a/examples/hello-world/CHANGELOG.md +++ b/examples/hello-world/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/example-hello-world@8.0.11...@loopback/example-hello-world@8.0.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/example-hello-world + + + + + ## [8.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/example-hello-world@8.0.10...@loopback/example-hello-world@8.0.11) (2026-03-11) **Note:** Version bump only for package @loopback/example-hello-world diff --git a/examples/hello-world/package.json b/examples/hello-world/package.json index 00bb3615ae46..47de0bbebd59 100644 --- a/examples/hello-world/package.json +++ b/examples/hello-world/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-hello-world", "description": "A simple hello-world Application using LoopBack 4", - "version": "8.0.11", + "version": "8.0.12", "keywords": [ "loopback", "LoopBack", @@ -46,15 +46,15 @@ "access": "public" }, "dependencies": { - "@loopback/core": "^7.0.10", - "@loopback/rest": "^15.0.11", + "@loopback/core": "^7.0.11", + "@loopback/rest": "^15.0.12", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "typescript": "~5.2.2" } diff --git a/examples/lb3-application/CHANGELOG.md b/examples/lb3-application/CHANGELOG.md index 103ff253ec57..3ff368d813d4 100644 --- a/examples/lb3-application/CHANGELOG.md +++ b/examples/lb3-application/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/example-lb3-application@8.0.11...@loopback/example-lb3-application@8.0.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/example-lb3-application + + + + + ## [8.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/example-lb3-application@8.0.10...@loopback/example-lb3-application@8.0.11) (2026-03-11) **Note:** Version bump only for package @loopback/example-lb3-application diff --git a/examples/lb3-application/package.json b/examples/lb3-application/package.json index b2618854de35..a0704b4ccd21 100644 --- a/examples/lb3-application/package.json +++ b/examples/lb3-application/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-lb3-application", "description": "Tutorial example on how to add existing an LB3 application to a LB4 project", - "version": "8.0.11", + "version": "8.0.12", "keywords": [ "loopback", "LoopBack", @@ -47,12 +47,12 @@ "access": "public" }, "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/booter-lb3app": "^7.0.11", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", + "@loopback/boot": "^8.0.12", + "@loopback/booter-lb3app": "^7.0.12", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", "compression": "^1.8.1", "cors": "^2.8.6", "debug": "^4.4.3", @@ -63,13 +63,13 @@ "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", + "@loopback/testlab": "^8.0.11", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "eslint": "^8.57.1", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "should": "^13.2.3", "typescript": "~5.2.2" } diff --git a/examples/log-extension/CHANGELOG.md b/examples/log-extension/CHANGELOG.md index 3e18a30952d0..fa4f8776686f 100644 --- a/examples/log-extension/CHANGELOG.md +++ b/examples/log-extension/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/example-log-extension@8.0.11...@loopback/example-log-extension@8.0.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/example-log-extension + + + + + ## [8.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/example-log-extension@8.0.10...@loopback/example-log-extension@8.0.11) (2026-03-11) **Note:** Version bump only for package @loopback/example-log-extension diff --git a/examples/log-extension/package.json b/examples/log-extension/package.json index 5b6c72044780..a7c6c0ec35b5 100644 --- a/examples/log-extension/package.json +++ b/examples/log-extension/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-log-extension", "description": "An example showing how to write a complex log extension for LoopBack 4", - "version": "8.0.11", + "version": "8.0.12", "keywords": [ "loopback", "loopback-extension" @@ -45,18 +45,18 @@ "access": "public" }, "dependencies": { - "@loopback/core": "^7.0.10", - "@loopback/rest": "^15.0.11", + "@loopback/core": "^7.0.11", + "@loopback/rest": "^15.0.12", "chalk": "^4.1.2", "debug": "^4.4.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "typescript": "~5.2.2" } diff --git a/examples/metrics-prometheus/CHANGELOG.md b/examples/metrics-prometheus/CHANGELOG.md index feb7bebc01f4..131636dbe830 100644 --- a/examples/metrics-prometheus/CHANGELOG.md +++ b/examples/metrics-prometheus/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.15.12](https://github.com/loopbackio/loopback-next/compare/@loopback/example-metrics-prometheus@0.15.11...@loopback/example-metrics-prometheus@0.15.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/example-metrics-prometheus + + + + + ## [0.15.11](https://github.com/loopbackio/loopback-next/compare/@loopback/example-metrics-prometheus@0.15.10...@loopback/example-metrics-prometheus@0.15.11) (2026-03-11) **Note:** Version bump only for package @loopback/example-metrics-prometheus diff --git a/examples/metrics-prometheus/package.json b/examples/metrics-prometheus/package.json index 2b68ffb8902e..3d4116a8796f 100644 --- a/examples/metrics-prometheus/package.json +++ b/examples/metrics-prometheus/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-metrics-prometheus", "description": "An example to illustrate metrics provided by @loopback/metrics and Prometheus", - "version": "0.15.11", + "version": "0.15.12", "keywords": [ "loopback", "LoopBack", @@ -47,17 +47,17 @@ "access": "public" }, "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/metrics": "^0.15.11", - "@loopback/rest": "^15.0.11", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/metrics": "^0.15.12", + "@loopback/rest": "^15.0.12", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "typescript": "~5.2.2" } diff --git a/examples/multi-tenancy/CHANGELOG.md b/examples/multi-tenancy/CHANGELOG.md index faa4e2a45328..122dac3b09e5 100644 --- a/examples/multi-tenancy/CHANGELOG.md +++ b/examples/multi-tenancy/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.18.12](https://github.com/loopbackio/loopback-next/compare/@loopback/example-multi-tenancy@0.18.11...@loopback/example-multi-tenancy@0.18.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/example-multi-tenancy + + + + + ## [0.18.11](https://github.com/loopbackio/loopback-next/compare/@loopback/example-multi-tenancy@0.18.10...@loopback/example-multi-tenancy@0.18.11) (2026-03-11) **Note:** Version bump only for package @loopback/example-multi-tenancy diff --git a/examples/multi-tenancy/package.json b/examples/multi-tenancy/package.json index c85614abed25..5a20747714f7 100644 --- a/examples/multi-tenancy/package.json +++ b/examples/multi-tenancy/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-multi-tenancy", "description": "An example to illustrate how to enable multi-tenancy with LoopBack's IoC and DI container", - "version": "0.18.11", + "version": "0.18.12", "keywords": [ "loopback-application", "loopback", @@ -54,23 +54,23 @@ "!*/__tests__" ], "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", - "@loopback/service-proxy": "^8.0.10", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", + "@loopback/service-proxy": "^8.0.11", "debug": "^4.4.3", "jsonwebtoken": "^9.0.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", "@types/jsonwebtoken": "^9.0.10", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "source-map-support": "^0.5.21", "typescript": "~5.2.2" diff --git a/examples/passport-login/CHANGELOG.md b/examples/passport-login/CHANGELOG.md index f4c7c4ed18f5..1800b3c50abd 100644 --- a/examples/passport-login/CHANGELOG.md +++ b/examples/passport-login/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.13](https://github.com/loopbackio/loopback-next/compare/@loopback/example-passport-login@7.0.12...@loopback/example-passport-login@7.0.13) (2026-04-14) + + +### Bug Fixes + +* fix error after passport update ([62abc92](https://github.com/loopbackio/loopback-next/commit/62abc924d05c0ef5ae6e7a2122df4f76dc753ca5)) + + + + + ## [7.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/example-passport-login@7.0.11...@loopback/example-passport-login@7.0.12) (2026-03-11) **Note:** Version bump only for package @loopback/example-passport-login diff --git a/examples/passport-login/package.json b/examples/passport-login/package.json index afb4bbfd2e42..8b783c276b7f 100644 --- a/examples/passport-login/package.json +++ b/examples/passport-login/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-passport-login", "description": "An example to demonstrate authentication with passport strategies", - "version": "7.0.12", + "version": "7.0.13", "keywords": [ "loopback", "LoopBack", @@ -47,17 +47,17 @@ "access": "public" }, "dependencies": { - "@loopback/authentication": "^12.0.12", - "@loopback/authentication-passport": "^8.0.12", - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/mock-oauth2-provider": "^0.10.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-crud": "^0.19.11", - "@loopback/rest-explorer": "^8.0.11", - "@loopback/security": "^0.12.11", - "@loopback/service-proxy": "^8.0.10", + "@loopback/authentication": "^12.0.13", + "@loopback/authentication-passport": "^8.0.13", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/mock-oauth2-provider": "^0.10.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-crud": "^0.19.12", + "@loopback/rest-explorer": "^8.0.12", + "@loopback/security": "^0.12.12", + "@loopback/service-proxy": "^8.0.11", "@types/jsonwebtoken": "9.0.10", "@types/lodash": "^4.17.24", "@types/passport": "^1.0.17", @@ -73,8 +73,8 @@ "debug": "^4.4.3", "express": "^4.22.1", "express-session": "^1.19.0", - "lodash": "^4.17.23", - "passport": "^0.5.3", + "lodash": "^4.18.1", + "passport": "^0.7.0", "passport-facebook": "^3.0.0", "passport-google": "^0.3.0", "passport-google-oauth2": "^0.2.0", @@ -83,20 +83,20 @@ "passport-oauth2": "^1.8.0", "passport-twitter": "1.0.4", "path": "^0.12.7", - "pug": "^3.0.3", + "pug": "^3.0.4", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/http-caching-proxy": "^7.0.10", - "@loopback/testlab": "^8.0.10", + "@loopback/http-caching-proxy": "^7.0.11", + "@loopback/testlab": "^8.0.11", "@types/express": "^4.17.25", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126", - "axios": "^1.13.6", + "@types/node": "^20.19.39", + "axios": "^1.15.0", "eslint": "^8.57.1", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "typescript": "~5.2.2" } } diff --git a/examples/passport-login/src/authentication-strategy-providers/facebook.express-mw.ts b/examples/passport-login/src/authentication-strategy-providers/facebook.express-mw.ts index 40860bdabc06..00bf7c86a7d5 100644 --- a/examples/passport-login/src/authentication-strategy-providers/facebook.express-mw.ts +++ b/examples/passport-login/src/authentication-strategy-providers/facebook.express-mw.ts @@ -18,6 +18,6 @@ export class FacebookOauth2ExpressMiddleware implements Provider= 0.6" } }, + "bodyparsers/rest-msgpack/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, "docs": { "name": "@loopback/docs", - "version": "8.0.12", + "version": "8.0.13", "license": "MIT", "dependencies": { "fs-extra": "^11.3.4", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10" + "@loopback/build": "^12.0.11" }, "engines": { "node": "20 || 22 || 24" @@ -310,33 +382,33 @@ }, "examples/access-control-migration": { "name": "@loopback/example-access-control-migration", - "version": "8.0.12", - "license": "MIT", - "dependencies": { - "@loopback/authentication": "^12.0.12", - "@loopback/authentication-jwt": "^0.16.12", - "@loopback/authorization": "^0.16.11", - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", - "@loopback/security": "^0.12.11", - "@loopback/service-proxy": "^8.0.10", + "version": "8.0.13", + "license": "MIT", + "dependencies": { + "@loopback/authentication": "^12.0.13", + "@loopback/authentication-jwt": "^0.16.13", + "@loopback/authorization": "^0.16.12", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", + "@loopback/security": "^0.12.12", + "@loopback/service-proxy": "^8.0.11", "bcryptjs": "^3.0.3", - "casbin": "^5.48.0", + "casbin": "^5.49.0", "jsonwebtoken": "^9.0.3", - "loopback-connector-rest": "^6.0.5" + "loopback-connector-rest": "^6.0.6" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/http-caching-proxy": "^7.0.10", - "@loopback/testlab": "^8.0.10", + "@loopback/http-caching-proxy": "^7.0.11", + "@loopback/testlab": "^8.0.11", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "eslint": "^8.57.1", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "typescript": "~5.2.2" }, "engines": { @@ -344,35 +416,39 @@ } }, "examples/access-control-migration/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } }, - "examples/access-control-migration/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "examples/access-control-migration/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, "examples/binding-resolution": { "name": "@loopback/example-binding-resolution", - "version": "0.12.11", + "version": "0.12.12", "license": "MIT", "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", "debug": "^4.4.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126", + "@loopback/build": "^12.0.11", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "source-map-support": "^0.5.21", "typescript": "~5.2.2" @@ -382,24 +458,35 @@ } }, "examples/binding-resolution/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/binding-resolution/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "examples/context": { "name": "@loopback/example-context", - "version": "8.0.10", + "version": "8.0.11", "license": "MIT", "dependencies": { - "@loopback/context": "^8.0.10", + "@loopback/context": "^8.0.11", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "typescript": "~5.2.2" }, @@ -408,31 +495,42 @@ } }, "examples/context/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/context/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "examples/express-composition": { "name": "@loopback/example-express-composition", - "version": "8.0.11", + "version": "8.0.12", "license": "MIT", "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", - "@loopback/service-proxy": "^8.0.10", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", + "@loopback/service-proxy": "^8.0.11", "express": "^4.22.1", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", + "@loopback/testlab": "^8.0.11", "@types/express": "^4.17.25", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "typescript": "~5.2.2" }, @@ -441,30 +539,41 @@ } }, "examples/express-composition/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/express-composition/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "examples/file-transfer": { "name": "@loopback/example-file-transfer", - "version": "7.0.11", + "version": "7.0.12", "license": "MIT", "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", "multer": "^2.1.1", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", + "@loopback/testlab": "^8.0.11", "@types/express-serve-static-core": "^4.19.8", - "@types/multer": "^2.0.0", - "@types/node": "^16.18.126", + "@types/multer": "^2.1.0", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "typescript": "~5.2.2" }, @@ -473,31 +582,42 @@ } }, "examples/file-transfer/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/file-transfer/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "examples/graphql": { "name": "@loopback/example-graphql", - "version": "0.13.1", + "version": "0.13.2", "license": "MIT", "dependencies": { "@graphql-yoga/subscription": "^5.0.5", - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/graphql": "^0.13.1", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/graphql": "^0.13.2", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", "class-transformer": "^0.5.1", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/multer": "^2.0.0", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/multer": "^2.1.0", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "graphql-ws": "^5.16.2", "rimraf": "^5.0.10", @@ -509,27 +629,38 @@ } }, "examples/graphql/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/graphql/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "examples/greeter-extension": { "name": "@loopback/example-greeter-extension", - "version": "8.0.10", + "version": "8.0.11", "license": "MIT", "dependencies": { - "@loopback/core": "^7.0.10", + "@loopback/core": "^7.0.11", "chalk": "^4.1.2", "debug": "^4.4.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/debug": "4.1.12", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/debug": "4.1.13", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "typescript": "~5.2.2" }, @@ -538,30 +669,41 @@ } }, "examples/greeter-extension/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/greeter-extension/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "examples/greeting-app": { "name": "@loopback/example-greeting-app", - "version": "8.0.11", + "version": "8.0.12", "license": "MIT", "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/example-greeter-extension": "^8.0.10", - "@loopback/rest": "^15.0.11", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/example-greeter-extension": "^8.0.11", + "@loopback/rest": "^15.0.12", "chalk": "^4.1.2", "debug": "^4.4.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/debug": "4.1.12", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/debug": "4.1.13", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "typescript": "~5.2.2" }, @@ -570,25 +712,36 @@ } }, "examples/greeting-app/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/greeting-app/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "examples/hello-world": { "name": "@loopback/example-hello-world", - "version": "8.0.11", + "version": "8.0.12", "license": "MIT", "dependencies": { - "@loopback/core": "^7.0.10", - "@loopback/rest": "^15.0.11", + "@loopback/core": "^7.0.11", + "@loopback/rest": "^15.0.12", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "typescript": "~5.2.2" }, @@ -597,22 +750,33 @@ } }, "examples/hello-world/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/hello-world/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "examples/lb3-application": { "name": "@loopback/example-lb3-application", - "version": "8.0.11", + "version": "8.0.12", "license": "MIT", "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/booter-lb3app": "^7.0.11", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", + "@loopback/boot": "^8.0.12", + "@loopback/booter-lb3app": "^7.0.12", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", "compression": "^1.8.1", "cors": "^2.8.6", "debug": "^4.4.3", @@ -623,13 +787,13 @@ "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", + "@loopback/testlab": "^8.0.11", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "eslint": "^8.57.1", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "should": "^13.2.3", "typescript": "~5.2.2" }, @@ -638,35 +802,39 @@ } }, "examples/lb3-application/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } }, - "examples/lb3-application/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "examples/lb3-application/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, "examples/log-extension": { "name": "@loopback/example-log-extension", - "version": "8.0.11", + "version": "8.0.12", "license": "MIT", "dependencies": { - "@loopback/core": "^7.0.10", - "@loopback/rest": "^15.0.11", + "@loopback/core": "^7.0.11", + "@loopback/rest": "^15.0.12", "chalk": "^4.1.2", "debug": "^4.4.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "typescript": "~5.2.2" }, @@ -675,27 +843,38 @@ } }, "examples/log-extension/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/log-extension/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "examples/metrics-prometheus": { "name": "@loopback/example-metrics-prometheus", - "version": "0.15.11", + "version": "0.15.12", "license": "MIT", "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/metrics": "^0.15.11", - "@loopback/rest": "^15.0.11", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/metrics": "^0.15.12", + "@loopback/rest": "^15.0.12", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "typescript": "~5.2.2" }, @@ -704,33 +883,44 @@ } }, "examples/metrics-prometheus/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/metrics-prometheus/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "examples/multi-tenancy": { "name": "@loopback/example-multi-tenancy", - "version": "0.18.11", + "version": "0.18.12", "license": "MIT", "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", - "@loopback/service-proxy": "^8.0.10", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", + "@loopback/service-proxy": "^8.0.11", "debug": "^4.4.3", "jsonwebtoken": "^9.0.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", "@types/jsonwebtoken": "^9.0.10", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "source-map-support": "^0.5.21", "typescript": "~5.2.2" @@ -740,27 +930,38 @@ } }, "examples/multi-tenancy/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/multi-tenancy/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "examples/passport-login": { "name": "@loopback/example-passport-login", - "version": "7.0.12", - "license": "MIT", - "dependencies": { - "@loopback/authentication": "^12.0.12", - "@loopback/authentication-passport": "^8.0.12", - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/mock-oauth2-provider": "^0.10.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-crud": "^0.19.11", - "@loopback/rest-explorer": "^8.0.11", - "@loopback/security": "^0.12.11", - "@loopback/service-proxy": "^8.0.10", + "version": "7.0.13", + "license": "MIT", + "dependencies": { + "@loopback/authentication": "^12.0.13", + "@loopback/authentication-passport": "^8.0.13", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/mock-oauth2-provider": "^0.10.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-crud": "^0.19.12", + "@loopback/rest-explorer": "^8.0.12", + "@loopback/security": "^0.12.12", + "@loopback/service-proxy": "^8.0.11", "@types/jsonwebtoken": "9.0.10", "@types/lodash": "^4.17.24", "@types/passport": "^1.0.17", @@ -776,8 +977,8 @@ "debug": "^4.4.3", "express": "^4.22.1", "express-session": "^1.19.0", - "lodash": "^4.17.23", - "passport": "^0.5.3", + "lodash": "^4.18.1", + "passport": "^0.7.0", "passport-facebook": "^3.0.0", "passport-google": "^0.3.0", "passport-google-oauth2": "^0.2.0", @@ -786,20 +987,20 @@ "passport-oauth2": "^1.8.0", "passport-twitter": "1.0.4", "path": "^0.12.7", - "pug": "^3.0.3", + "pug": "^3.0.4", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/http-caching-proxy": "^7.0.10", - "@loopback/testlab": "^8.0.10", + "@loopback/http-caching-proxy": "^7.0.11", + "@loopback/testlab": "^8.0.11", "@types/express": "^4.17.25", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126", - "axios": "^1.13.6", + "@types/node": "^20.19.39", + "axios": "^1.15.0", "eslint": "^8.57.1", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "typescript": "~5.2.2" }, "engines": { @@ -807,41 +1008,45 @@ } }, "examples/passport-login/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } }, - "examples/passport-login/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "examples/passport-login/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, "examples/references-many": { "name": "@loopback/example-references-many", - "version": "9.0.11", + "version": "9.0.12", "license": "MIT", "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", - "@loopback/service-proxy": "^8.0.10", - "loopback-connector-rest": "^6.0.5", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", + "@loopback/service-proxy": "^8.0.11", + "loopback-connector-rest": "^6.0.6", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/http-caching-proxy": "^7.0.10", - "@loopback/testlab": "^8.0.10", + "@loopback/http-caching-proxy": "^7.0.11", + "@loopback/testlab": "^8.0.11", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "eslint": "^8.57.1", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "typescript": "~5.2.2" }, "engines": { @@ -849,41 +1054,45 @@ } }, "examples/references-many/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } }, - "examples/references-many/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "examples/references-many/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, "examples/rest-crud": { "name": "@loopback/example-rest-crud", - "version": "7.0.11", + "version": "7.0.12", "license": "MIT", "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-crud": "^0.19.11", - "@loopback/rest-explorer": "^8.0.11", - "loopback-connector-rest": "^6.0.5", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-crud": "^0.19.12", + "@loopback/rest-explorer": "^8.0.12", + "loopback-connector-rest": "^6.0.6", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/http-caching-proxy": "^7.0.10", - "@loopback/testlab": "^8.0.10", + "@loopback/http-caching-proxy": "^7.0.11", + "@loopback/testlab": "^8.0.11", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "eslint": "^8.57.1", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "typescript": "~5.2.2" }, "engines": { @@ -891,33 +1100,37 @@ } }, "examples/rest-crud/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } }, - "examples/rest-crud/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "examples/rest-crud/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, "examples/rpc-server": { "name": "@loopback/example-rpc-server", - "version": "8.0.10", + "version": "8.0.11", "license": "MIT", "dependencies": { - "@loopback/core": "^7.0.10", + "@loopback/core": "^7.0.11", "express": "^4.22.1", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", + "@loopback/testlab": "^8.0.11", "@types/express": "^4.17.25", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "typescript": "~5.2.2" }, @@ -926,31 +1139,42 @@ } }, "examples/rpc-server/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/rpc-server/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "examples/soap-calculator": { "name": "@loopback/example-soap-calculator", - "version": "8.0.11", + "version": "8.0.12", "license": "MIT", "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", - "@loopback/service-proxy": "^8.0.10", - "loopback-connector-soap": "^9.0.7", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", + "@loopback/service-proxy": "^8.0.11", + "loopback-connector-soap": "^9.0.8", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", + "@loopback/testlab": "^8.0.11", "@types/mocha": "^10.0.10", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "mocha": "^11.7.5", "source-map-support": "^0.5.21", @@ -961,31 +1185,42 @@ } }, "examples/soap-calculator/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/soap-calculator/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "examples/socketio": { "name": "@loopback/example-socketio", - "version": "0.11.11", + "version": "0.11.12", "license": "MIT", "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", - "@loopback/socketio": "^0.9.11", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", + "@loopback/socketio": "^0.9.12", "debug": "^4.4.3", "p-event": "^4.2.0", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "socket.io-client": "^4.8.3", "source-map-support": "^0.5.21", @@ -996,36 +1231,47 @@ } }, "examples/socketio/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/socketio/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "examples/todo": { "name": "@loopback/example-todo", - "version": "9.0.11", + "version": "9.0.12", "license": "MIT", "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", - "@loopback/service-proxy": "^8.0.10", - "loopback-connector-rest": "^6.0.5", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", + "@loopback/service-proxy": "^8.0.11", + "loopback-connector-rest": "^6.0.6", "morgan": "^1.10.1", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/http-caching-proxy": "^7.0.10", - "@loopback/testlab": "^8.0.10", + "@loopback/http-caching-proxy": "^7.0.11", + "@loopback/testlab": "^8.0.11", "@types/lodash": "^4.17.24", "@types/morgan": "^1.9.10", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "eslint": "^8.57.1", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "typescript": "~5.2.2" }, "engines": { @@ -1034,31 +1280,31 @@ }, "examples/todo-jwt": { "name": "@loopback/example-todo-jwt", - "version": "7.0.12", - "license": "MIT", - "dependencies": { - "@loopback/authentication": "^12.0.12", - "@loopback/authentication-jwt": "^0.16.12", - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", - "@loopback/security": "^0.12.11", - "@loopback/service-proxy": "^8.0.10", + "version": "7.0.13", + "license": "MIT", + "dependencies": { + "@loopback/authentication": "^12.0.13", + "@loopback/authentication-jwt": "^0.16.13", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", + "@loopback/security": "^0.12.12", + "@loopback/service-proxy": "^8.0.11", "bcryptjs": "^3.0.3", - "loopback-connector-rest": "^6.0.5", + "loopback-connector-rest": "^6.0.6", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/http-caching-proxy": "^7.0.10", - "@loopback/testlab": "^8.0.10", + "@loopback/http-caching-proxy": "^7.0.11", + "@loopback/testlab": "^8.0.11", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "eslint": "^8.57.1", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "typescript": "~5.2.2" }, "engines": { @@ -1066,41 +1312,45 @@ } }, "examples/todo-jwt/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } }, - "examples/todo-jwt/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "examples/todo-jwt/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, "examples/todo-list": { "name": "@loopback/example-todo-list", - "version": "9.0.11", + "version": "9.0.12", "license": "MIT", "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", - "@loopback/service-proxy": "^8.0.10", - "loopback-connector-rest": "^6.0.5", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", + "@loopback/service-proxy": "^8.0.11", + "loopback-connector-rest": "^6.0.6", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/http-caching-proxy": "^7.0.10", - "@loopback/testlab": "^8.0.10", + "@loopback/http-caching-proxy": "^7.0.11", + "@loopback/testlab": "^8.0.11", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "eslint": "^8.57.1", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "typescript": "~5.2.2" }, "engines": { @@ -1108,50 +1358,58 @@ } }, "examples/todo-list/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } }, - "examples/todo-list/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "examples/todo-list/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, "examples/todo/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } }, - "examples/todo/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "examples/todo/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, "examples/validation-app": { "name": "@loopback/example-validation-app", - "version": "7.0.11", + "version": "7.0.12", "license": "MIT", "dependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", - "@loopback/service-proxy": "^8.0.10", - "strong-error-handler": "^5.0.29", + "@loopback/boot": "^8.0.12", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", + "@loopback/service-proxy": "^8.0.11", + "strong-error-handler": "^5.0.30", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39", "eslint": "^8.57.1", "source-map-support": "^0.5.21", "typescript": "~5.2.2" @@ -1161,59 +1419,81 @@ } }, "examples/validation-app/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/validation-app/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "examples/webpack": { "name": "@loopback/example-webpack", - "version": "0.13.11", + "version": "0.13.12", "license": "MIT", "dependencies": { - "@loopback/core": "^7.0.10", + "@loopback/core": "^7.0.11", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39", "assert": "^2.1.0", "buffer": "^6.0.3", "eslint": "^8.57.1", "events": "^3.3.0", "process": "^0.11.10", - "puppeteer": "^24.39.0", + "puppeteer": "^24.40.0", "typescript": "~5.2.2", "util": "^0.12.5", - "webpack": "^5.105.4", - "webpack-cli": "^6.0.1" + "webpack": "^5.106.1", + "webpack-cli": "^7.0.2" }, "engines": { "node": "20 || 22 || 24" } }, "examples/webpack/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/webpack/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "extensions/apiconnect": { "name": "@loopback/apiconnect", - "version": "0.14.11", + "version": "0.14.12", "license": "MIT", "dependencies": { "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/rest": "^15.0.11", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126" + "@loopback/rest": "^15.0.12", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39" }, "engines": { "node": "20 || 22 || 24" @@ -1224,36 +1504,47 @@ } }, "extensions/apiconnect/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "extensions/apiconnect/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "extensions/authentication-jwt": { "name": "@loopback/authentication-jwt", - "version": "0.16.12", + "version": "0.16.13", "license": "MIT", "dependencies": { - "@loopback/security": "^0.12.11", + "@loopback/security": "^0.12.12", "bcryptjs": "^3.0.3", "debug": "^4.4.3", "jsonwebtoken": "^9.0.3" }, "devDependencies": { - "@loopback/authentication": "^12.0.12", - "@loopback/boot": "^8.0.11", - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/authentication": "^12.0.13", + "@loopback/boot": "^8.0.12", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/rest-explorer": "^8.0.11", - "@loopback/service-proxy": "^8.0.10", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/rest-explorer": "^8.0.12", + "@loopback/service-proxy": "^8.0.11", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126", - "lodash": "^4.17.23", + "@types/node": "^20.19.39", + "lodash": "^4.18.1", "typescript": "~5.2.2" }, "engines": { @@ -1266,53 +1557,57 @@ } }, "extensions/authentication-jwt/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } }, - "extensions/authentication-jwt/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "extensions/authentication-jwt/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, "extensions/authentication-passport": { "name": "@loopback/authentication-passport", - "version": "8.0.12", + "version": "8.0.13", "license": "MIT", "dependencies": { - "@loopback/security": "^0.12.11", + "@loopback/security": "^0.12.12", "passport": "^0.7.0", "tslib": "^2.8.1", "util-promisifyall": "^1.0.6" }, "devDependencies": { - "@loopback/authentication": "^12.0.12", - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/authentication": "^12.0.13", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/mock-oauth2-provider": "^0.10.10", - "@loopback/openapi-spec-builder": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/testlab": "^8.0.10", + "@loopback/mock-oauth2-provider": "^0.10.11", + "@loopback/openapi-spec-builder": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/testlab": "^8.0.11", "@types/jsonwebtoken": "^9.0.10", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "@types/passport": "^1.0.17", "@types/passport-http": "^0.3.11", "@types/passport-oauth2": "^1.8.0", "@types/qs": "^6.15.0", - "axios": "^1.13.6", + "axios": "^1.15.0", "body-parser": "^2.2.2", "express": "^4.22.1", "form-data": "^4.0.5", "jsonwebtoken": "^9.0.3", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "passport-http": "^0.3.0", "passport-oauth2": "^1.8.0", - "qs": "^6.15.0", + "qs": "^6.15.1", "supertest": "^7.2.2" }, "engines": { @@ -1325,51 +1620,37 @@ } }, "extensions/authentication-passport/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true - }, - "extensions/authentication-passport/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", "dev": true, - "license": "MIT" - }, - "extensions/authentication-passport/node_modules/passport": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/passport/-/passport-0.7.0.tgz", - "integrity": "sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ==", "license": "MIT", "dependencies": { - "passport-strategy": "1.x.x", - "pause": "0.0.1", - "utils-merge": "^1.0.1" - }, - "engines": { - "node": ">= 0.4.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/jaredhanson" + "undici-types": "~6.21.0" } }, + "extensions/authentication-passport/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, "extensions/context-explorer": { "name": "@loopback/context-explorer", - "version": "0.12.11", + "version": "0.12.12", "license": "MIT", "dependencies": { "ts-graphviz": "^0.16.0", "viz.js": "^2.1.2" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/rest": "^15.0.11", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126" + "@loopback/rest": "^15.0.12", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39" }, "engines": { "node": "20 || 22 || 24" @@ -1380,27 +1661,38 @@ } }, "extensions/context-explorer/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "extensions/context-explorer/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "extensions/cron": { "name": "@loopback/cron", - "version": "0.13.10", + "version": "0.13.11", "license": "MIT", "dependencies": { - "@types/debug": "^4.1.12", + "@types/debug": "^4.1.13", "cron": "^2.4.4", "debug": "^4.4.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126" + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39" }, "engines": { "node": "20 || 22 || 24" @@ -1410,40 +1702,51 @@ } }, "extensions/cron/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "extensions/cron/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "extensions/graphql": { "name": "@loopback/graphql", - "version": "0.13.1", + "version": "0.13.2", "license": "MIT", "dependencies": { "@apollo/server": "^4.13.0", - "@graphql-tools/utils": "^11.0.0", - "@loopback/http-server": "^7.0.10", + "@graphql-tools/utils": "^11.0.1", + "@loopback/http-server": "^7.0.11", "body-parser": "^2.2.2", "cors": "^2.8.6", "debug": "^4.4.3", "express": "^4.22.1", - "graphql": "^16.12.0", + "graphql": "^16.13.2", "graphql-ws": "^5.16.2", "type-graphql": "^2.0.0-rc.2", - "ws": "^8.19.0" + "ws": "^8.20.0" }, "devDependencies": { "@graphql-yoga/subscription": "^5.0.5", - "@loopback/boot": "^8.0.11", - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/boot": "^8.0.12", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/testlab": "^8.0.10", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/testlab": "^8.0.11", "@types/cors": "^2.8.19", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39", "@types/ws": "^8.18.1", "class-transformer": "^0.5.1" }, @@ -1457,26 +1760,37 @@ } }, "extensions/graphql/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "extensions/graphql/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "extensions/health": { "name": "@loopback/health", - "version": "0.15.11", + "version": "0.15.12", "license": "MIT", "dependencies": { "@cloudnative/health": "^2.1.2", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/rest": "^15.0.11", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126" + "@loopback/rest": "^15.0.12", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39" }, "engines": { "node": "20 || 22 || 24" @@ -1487,14 +1801,25 @@ } }, "extensions/health/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "extensions/health/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "extensions/logging": { "name": "@loopback/logging", - "version": "0.13.11", + "version": "0.13.12", "license": "MIT", "dependencies": { "fluent-logger": "^3.4.1", @@ -1504,13 +1829,13 @@ "winston-transport": "^4.9.0" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/rest": "^15.0.11", - "@loopback/testlab": "^8.0.10", + "@loopback/rest": "^15.0.12", + "@loopback/testlab": "^8.0.11", "@types/morgan": "^1.9.10", - "@types/node": "^16.18.126" + "@types/node": "^20.19.39" }, "engines": { "node": "20 || 22 || 24" @@ -1521,27 +1846,38 @@ } }, "extensions/logging/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "extensions/logging/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "extensions/metrics": { "name": "@loopback/metrics", - "version": "0.15.11", + "version": "0.15.12", "license": "MIT", "dependencies": { "prom-client": "^14.2.0", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/rest": "^15.0.11", - "@loopback/testlab": "^8.0.10", + "@loopback/rest": "^15.0.12", + "@loopback/testlab": "^8.0.11", "@types/express": "^4.17.25", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "express": "^4.22.1" }, "engines": { @@ -1553,14 +1889,25 @@ } }, "extensions/metrics/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "extensions/metrics/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "extensions/pooling": { "name": "@loopback/pooling", - "version": "0.12.10", + "version": "0.12.11", "license": "MIT", "dependencies": { "debug": "^4.4.3", @@ -1568,11 +1915,11 @@ "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39", "typescript": "~5.2.2" }, "engines": { @@ -1583,14 +1930,25 @@ } }, "extensions/pooling/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "extensions/pooling/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "extensions/sequelize": { "name": "@loopback/sequelize", - "version": "0.8.7", + "version": "0.8.8", "license": "MIT", "dependencies": { "debug": "^4.4.3", @@ -1598,15 +1956,15 @@ "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126", + "@loopback/boot": "^8.0.12", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39", "oracledb": "^6.10.0", - "pg": "^8.18.0", + "pg": "^8.20.0", "pg-hstore": "^2.3.4", "sqlite3": "5.1.7", "typescript": "~5.2.2" @@ -1620,31 +1978,42 @@ } }, "extensions/sequelize/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "extensions/sequelize/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "extensions/socketio": { "name": "@loopback/socketio", - "version": "0.9.11", + "version": "0.9.12", "license": "MIT", "dependencies": { - "@loopback/http-server": "^7.0.10", + "@loopback/http-server": "^7.0.11", "@types/cors": "^2.8.19", "@types/lodash": "^4.17.24", "cors": "^2.8.6", "debug": "^4.4.3", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "socket.io": "^4.8.3" }, "devDependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/boot": "^8.0.12", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", "p-event": "^4.2.0", "socket.io-client": "^4.8.3" }, @@ -1656,15 +2025,9 @@ "@loopback/core": "^7.0.0" } }, - "extensions/socketio/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", - "license": "MIT" - }, "extensions/typeorm": { "name": "@loopback/typeorm", - "version": "0.11.11", + "version": "0.11.12", "license": "MIT", "dependencies": { "debug": "^4.4.3", @@ -1672,16 +2035,16 @@ "typeorm": "^0.3.28" }, "devDependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/boot": "^8.0.12", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", "@types/json-schema": "^7.0.15", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "sqlite3": "^5.1.7" }, "engines": { @@ -1694,58 +2057,73 @@ } }, "extensions/typeorm/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "extensions/typeorm/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "fixtures/mock-oauth2-provider": { "name": "@loopback/mock-oauth2-provider", - "version": "0.10.10", + "version": "0.10.11", "license": "MIT", "dependencies": { "@types/body-parser": "^1.19.6", "@types/express": "^4.17.25", "@types/jsonwebtoken": "^9.0.10", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126", - "axios": "^1.13.6", + "@types/node": "^20.19.39", + "axios": "^1.15.0", "body-parser": "^2.2.2", "express": "^4.22.1", "form-data": "^4.0.5", "jsonwebtoken": "^9.0.3", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10" + "@loopback/testlab": "^8.0.11" }, "engines": { "node": "20 || 22 || 24" } }, "fixtures/mock-oauth2-provider/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==" - }, - "fixtures/mock-oauth2-provider/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "fixtures/mock-oauth2-provider/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "license": "MIT" }, "fixtures/tsdocs-monorepo": { "name": "@loopback/tsdocs-monorepo", - "version": "0.6.10", + "version": "0.6.11", "license": "MIT", "workspaces": [ "packages/*" ], "devDependencies": { - "@loopback/build": "^12.0.10" + "@loopback/build": "^12.0.11" }, "engines": { "node": "20 || 22 || 24", @@ -2936,9 +3314,9 @@ } }, "node_modules/@cypress/request": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.9.tgz", - "integrity": "sha512-I3l7FdGRXluAS44/0NguwWlO83J18p0vlr2FYHrJkWdNYhgVoiYo61IXPqaOsL+vNxU1ZqMACzItGK3/KKDsdw==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.10.tgz", + "integrity": "sha512-hauBrOdvu08vOsagkZ/Aju5XuiZx6ldsLfByg1htFeldhex+PeMrYauANzFsMJeAA0+dyPLbDoX2OYuvVoLDkQ==", "license": "Apache-2.0", "dependencies": { "aws-sign2": "~0.7.0", @@ -2954,7 +3332,7 @@ "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "performance-now": "^2.1.0", - "qs": "6.14.0", + "qs": "~6.14.1", "safe-buffer": "^5.1.2", "tough-cookie": "^5.0.0", "tunnel-agent": "^0.6.0", @@ -2994,9 +3372,9 @@ } }, "node_modules/@cypress/request/node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.1.0" @@ -3041,10 +3419,11 @@ } }, "node_modules/@discoveryjs/json-ext": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", - "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-1.0.0.tgz", + "integrity": "sha512-dDlz3W405VMFO4w5kIP9DOmELBcvFQGmLoKSdIRstBDubKFYwaNHV1NnlzMCQpXQFGWVALmeMORAuiLx18AvZQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.17.0" } @@ -3265,9 +3644,9 @@ } }, "node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.1.tgz", + "integrity": "sha512-pNyCOb95ab/z3zkkiPwIPYxigX7IcpyFVcgD1XACDEvg/7yGnKCESx3k/XHEeneKYx/aWKGzEh/uuf6M6Q8HOw==", "license": "MIT", "dependencies": { "@graphql-typed-document-node/core": "^3.1.1", @@ -3850,1813 +4229,318 @@ "peerDependenciesMeta": { "@types/node": { "optional": true - } - } - }, - "node_modules/@isaacs/balanced-match": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", - "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", - "license": "MIT", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@isaacs/brace-expansion": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.1.tgz", - "integrity": "sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==", - "license": "MIT", - "dependencies": { - "@isaacs/balanced-match": "^4.0.1" - }, - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/fs-minipass": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", - "license": "ISC", - "dependencies": { - "minipass": "^7.0.4" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@isaacs/string-locale-compare": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz", - "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==" - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/diff-sequences": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz", - "integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/get-type": { - "version": "30.1.0", - "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.1.0.tgz", - "integrity": "sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/schemas": { - "version": "30.0.5", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", - "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.34.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@js-sdsl/ordered-map": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz", - "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, - "node_modules/@jsdevtools/ono": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", - "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==" - }, - "node_modules/@lerna/create": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@lerna/create/-/create-9.0.5.tgz", - "integrity": "sha512-Gwd6ooSqXMdkdhiCGvHAfLRstj7W3ttr72WQB3Jf9HPP1A6mWtw0O80D0X+T/2hakqfe7lNLuKrEid4f7C0qbg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@npmcli/arborist": "9.1.6", - "@npmcli/package-json": "7.0.2", - "@npmcli/run-script": "10.0.3", - "@nx/devkit": ">=21.5.2 < 23.0.0", - "@octokit/plugin-enterprise-rest": "6.0.1", - "@octokit/rest": "20.1.2", - "aproba": "2.0.0", - "byte-size": "8.1.1", - "chalk": "4.1.0", - "cmd-shim": "6.0.3", - "color-support": "1.1.3", - "columnify": "1.6.0", - "console-control-strings": "^1.1.0", - "conventional-changelog-core": "5.0.1", - "conventional-recommended-bump": "7.0.1", - "cosmiconfig": "9.0.0", - "dedent": "1.5.3", - "execa": "5.0.0", - "fs-extra": "^11.2.0", - "get-stream": "6.0.0", - "git-url-parse": "14.0.0", - "glob-parent": "6.0.2", - "has-unicode": "2.0.1", - "ini": "^1.3.8", - "init-package-json": "8.2.2", - "inquirer": "12.9.6", - "is-ci": "3.0.1", - "is-stream": "2.0.0", - "js-yaml": "4.1.1", - "libnpmpublish": "11.1.2", - "load-json-file": "6.2.0", - "make-dir": "4.0.0", - "make-fetch-happen": "15.0.2", - "minimatch": "3.1.4", - "multimatch": "5.0.0", - "npm-package-arg": "13.0.1", - "npm-packlist": "10.0.3", - "npm-registry-fetch": "19.1.0", - "nx": ">=21.5.3 < 23.0.0", - "p-map": "4.0.0", - "p-map-series": "2.1.0", - "p-queue": "6.6.2", - "p-reduce": "^2.1.0", - "pacote": "21.0.1", - "pify": "5.0.0", - "read-cmd-shim": "4.0.0", - "resolve-from": "5.0.0", - "rimraf": "^6.1.2", - "semver": "7.7.2", - "set-blocking": "^2.0.0", - "signal-exit": "3.0.7", - "slash": "^3.0.0", - "ssri": "12.0.0", - "string-width": "^4.2.3", - "tar": "7.5.8", - "temp-dir": "1.0.0", - "through": "2.3.8", - "tinyglobby": "0.2.12", - "upath": "2.0.1", - "uuid": "^11.1.0", - "validate-npm-package-license": "3.0.4", - "validate-npm-package-name": "6.0.2", - "wide-align": "1.1.5", - "write-file-atomic": "5.0.1", - "write-pkg": "4.0.0", - "yargs": "17.7.2", - "yargs-parser": "21.1.1" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - } - }, - "node_modules/@lerna/create/node_modules/@isaacs/cliui": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-9.0.0.tgz", - "integrity": "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/arborist": { - "version": "9.1.6", - "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-9.1.6.tgz", - "integrity": "sha512-c5Pr3EG8UP5ollkJy2x+UdEQC5sEHe3H9whYn6hb2HJimAKS4zmoJkx5acCiR/g4P38RnCSMlsYQyyHnKYeLvQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/fs": "^4.0.0", - "@npmcli/installed-package-contents": "^3.0.0", - "@npmcli/map-workspaces": "^5.0.0", - "@npmcli/metavuln-calculator": "^9.0.2", - "@npmcli/name-from-folder": "^3.0.0", - "@npmcli/node-gyp": "^4.0.0", - "@npmcli/package-json": "^7.0.0", - "@npmcli/query": "^4.0.0", - "@npmcli/redact": "^3.0.0", - "@npmcli/run-script": "^10.0.0", - "bin-links": "^5.0.0", - "cacache": "^20.0.1", - "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^9.0.0", - "json-stringify-nice": "^1.1.4", - "lru-cache": "^11.2.1", - "minimatch": "^10.0.3", - "nopt": "^8.0.0", - "npm-install-checks": "^7.1.0", - "npm-package-arg": "^13.0.0", - "npm-pick-manifest": "^11.0.1", - "npm-registry-fetch": "^19.0.0", - "pacote": "^21.0.2", - "parse-conflict-json": "^4.0.0", - "proc-log": "^5.0.0", - "proggy": "^3.0.0", - "promise-all-reject-late": "^1.0.0", - "promise-call-limit": "^3.0.1", - "semver": "^7.3.7", - "ssri": "^12.0.0", - "treeverse": "^3.0.0", - "walk-up-path": "^4.0.0" - }, - "bin": { - "arborist": "bin/index.js" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/arborist/node_modules/minimatch": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", - "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/arborist/node_modules/npm-bundled": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-5.0.0.tgz", - "integrity": "sha512-JLSpbzh6UUXIEoqPsYBvVNVmyrjVZ1fzEFbqxKkTJQkWBO3xFzFT+KDnSKQWwOQNbuWRwt5LSD6HOTLGIWzfrw==", - "dev": true, - "license": "ISC", - "dependencies": { - "npm-normalize-package-bin": "^5.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/arborist/node_modules/npm-normalize-package-bin": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-5.0.0.tgz", - "integrity": "sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/arborist/node_modules/pacote": { - "version": "21.0.4", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.0.4.tgz", - "integrity": "sha512-RplP/pDW0NNNDh3pnaoIWYPvNenS7UqMbXyvMqJczosiFWTeGGwJC2NQBLqKf4rGLFfwCOnntw1aEp9Jiqm1MA==", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/git": "^7.0.0", - "@npmcli/installed-package-contents": "^4.0.0", - "@npmcli/package-json": "^7.0.0", - "@npmcli/promise-spawn": "^9.0.0", - "@npmcli/run-script": "^10.0.0", - "cacache": "^20.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^7.0.2", - "npm-package-arg": "^13.0.0", - "npm-packlist": "^10.0.1", - "npm-pick-manifest": "^11.0.1", - "npm-registry-fetch": "^19.0.0", - "proc-log": "^6.0.0", - "promise-retry": "^2.0.1", - "sigstore": "^4.0.0", - "ssri": "^13.0.0", - "tar": "^7.4.3" - }, - "bin": { - "pacote": "bin/index.js" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/arborist/node_modules/pacote/node_modules/@npmcli/installed-package-contents": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-4.0.0.tgz", - "integrity": "sha512-yNyAdkBxB72gtZ4GrwXCM0ZUedo9nIbOMKfGjt6Cu6DXf0p8y1PViZAKDC8q8kv/fufx0WTjRBdSlyrvnP7hmA==", - "dev": true, - "license": "ISC", - "dependencies": { - "npm-bundled": "^5.0.0", - "npm-normalize-package-bin": "^5.0.0" - }, - "bin": { - "installed-package-contents": "bin/index.js" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/arborist/node_modules/pacote/node_modules/proc-log": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.0.0.tgz", - "integrity": "sha512-KG/XsTDN901PNfPfAMmj6N/Ywg9tM+bHK8pAz+27fS4N4Pcr+4zoYBOcGSBu6ceXYNPxkLpa4ohtfxV1XcLAfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/arborist/node_modules/pacote/node_modules/ssri": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.0.tgz", - "integrity": "sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/fs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", - "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", - "dev": true, - "license": "ISC", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/git": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-7.0.1.tgz", - "integrity": "sha512-+XTFxK2jJF/EJJ5SoAzXk3qwIDfvFc5/g+bD274LZ7uY7LE8sTfG6Z8rOanPl2ZEvZWqNvmEdtXC25cE54VcoA==", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/promise-spawn": "^9.0.0", - "ini": "^6.0.0", - "lru-cache": "^11.2.1", - "npm-pick-manifest": "^11.0.1", - "proc-log": "^6.0.0", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^6.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/git/node_modules/ini": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-6.0.0.tgz", - "integrity": "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/git/node_modules/proc-log": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.0.0.tgz", - "integrity": "sha512-KG/XsTDN901PNfPfAMmj6N/Ywg9tM+bHK8pAz+27fS4N4Pcr+4zoYBOcGSBu6ceXYNPxkLpa4ohtfxV1XcLAfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/installed-package-contents": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-3.0.0.tgz", - "integrity": "sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==", - "dev": true, - "license": "ISC", - "dependencies": { - "npm-bundled": "^4.0.0", - "npm-normalize-package-bin": "^4.0.0" - }, - "bin": { - "installed-package-contents": "bin/index.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/metavuln-calculator": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-9.0.3.tgz", - "integrity": "sha512-94GLSYhLXF2t2LAC7pDwLaM4uCARzxShyAQKsirmlNcpidH89VA4/+K1LbJmRMgz5gy65E/QBBWQdUvGLe2Frg==", - "dev": true, - "license": "ISC", - "dependencies": { - "cacache": "^20.0.0", - "json-parse-even-better-errors": "^5.0.0", - "pacote": "^21.0.0", - "proc-log": "^6.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/metavuln-calculator/node_modules/proc-log": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.0.0.tgz", - "integrity": "sha512-KG/XsTDN901PNfPfAMmj6N/Ywg9tM+bHK8pAz+27fS4N4Pcr+4zoYBOcGSBu6ceXYNPxkLpa4ohtfxV1XcLAfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/node-gyp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-4.0.0.tgz", - "integrity": "sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/package-json": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-7.0.2.tgz", - "integrity": "sha512-0ylN3U5htO1SJTmy2YI78PZZjLkKUGg7EKgukb2CRi0kzyoDr0cfjHAzi7kozVhj2V3SxN1oyKqZ2NSo40z00g==", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/git": "^7.0.0", - "glob": "^11.0.3", - "hosted-git-info": "^9.0.0", - "json-parse-even-better-errors": "^5.0.0", - "proc-log": "^6.0.0", - "semver": "^7.5.3", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/package-json/node_modules/glob": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz", - "integrity": "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "foreground-child": "^3.3.1", - "jackspeak": "^4.1.1", - "minimatch": "^10.1.1", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^2.0.0" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/package-json/node_modules/minimatch": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", - "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/package-json/node_modules/proc-log": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", - "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/promise-spawn": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-9.0.1.tgz", - "integrity": "sha512-OLUaoqBuyxeTqUvjA3FZFiXUfYC1alp3Sa99gW3EUDz3tZ3CbXDdcZ7qWKBzicrJleIgucoWamWH1saAmH/l2Q==", - "dev": true, - "license": "ISC", - "dependencies": { - "which": "^6.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/run-script": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.3.tgz", - "integrity": "sha512-ER2N6itRkzWbbtVmZ9WKaWxVlKlOeBFF1/7xx+KA5J1xKa4JjUwBdb6tDpk0v1qA+d+VDwHI9qmLcXSWcmi+Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/node-gyp": "^5.0.0", - "@npmcli/package-json": "^7.0.0", - "@npmcli/promise-spawn": "^9.0.0", - "node-gyp": "^12.1.0", - "proc-log": "^6.0.0", - "which": "^6.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/run-script/node_modules/@npmcli/node-gyp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-5.0.0.tgz", - "integrity": "sha512-uuG5HZFXLfyFKqg8QypsmgLQW7smiRjVc45bqD/ofZZcR/uxEjgQU8qDPv0s9TEeMUiAAU/GC5bR6++UdTirIQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@npmcli/run-script/node_modules/proc-log": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.0.0.tgz", - "integrity": "sha512-KG/XsTDN901PNfPfAMmj6N/Ywg9tM+bHK8pAz+27fS4N4Pcr+4zoYBOcGSBu6ceXYNPxkLpa4ohtfxV1XcLAfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@sigstore/bundle": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-4.0.0.tgz", - "integrity": "sha512-NwCl5Y0V6Di0NexvkTqdoVfmjTaQwoLM236r89KEojGmq/jMls8S+zb7yOwAPdXvbwfKDlP+lmXgAL4vKSQT+A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/protobuf-specs": "^0.5.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@sigstore/protobuf-specs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.5.0.tgz", - "integrity": "sha512-MM8XIwUjN2bwvCg1QvrMtbBmpcSHrkhFSCu1D11NyPvDQ25HEc4oG5/OcQfd/Tlf/OxmKWERDj0zGE23jQaMwA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@lerna/create/node_modules/@sigstore/sign": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-4.0.1.tgz", - "integrity": "sha512-KFNGy01gx9Y3IBPG/CergxR9RZpN43N+lt3EozEfeoyqm8vEiLxwRl3ZO5sPx3Obv1ix/p7FWOlPc2Jgwfp9PA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/bundle": "^4.0.0", - "@sigstore/core": "^3.0.0", - "@sigstore/protobuf-specs": "^0.5.0", - "make-fetch-happen": "^15.0.2", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@sigstore/tuf": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-4.0.0.tgz", - "integrity": "sha512-0QFuWDHOQmz7t66gfpfNO6aEjoFrdhkJaej/AOqb4kqWZVbPWFZifXZzkxyQBB1OwTbkhdT3LNpMFxwkTvf+2w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/protobuf-specs": "^0.5.0", - "tuf-js": "^4.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@tufjs/canonical-json": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", - "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@lerna/create/node_modules/@tufjs/models": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-4.0.0.tgz", - "integrity": "sha512-h5x5ga/hh82COe+GoD4+gKUeV4T3iaYOxqLt41GRKApinPI7DMidhCmNVTjKfhCWFJIGXaFJee07XczdT4jdZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.5" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/@tufjs/models/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@lerna/create/node_modules/abbrev": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", - "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@lerna/create/node_modules/bin-links": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-5.0.0.tgz", - "integrity": "sha512-sdleLVfCjBtgO5cNjA2HVRvWBJAHs4zwenaCPMNJAJU0yNxpzj80IpjOIimkpkr+mhlA+how5poQtt53PygbHA==", - "dev": true, - "license": "ISC", - "dependencies": { - "cmd-shim": "^7.0.0", - "npm-normalize-package-bin": "^4.0.0", - "proc-log": "^5.0.0", - "read-cmd-shim": "^5.0.0", - "write-file-atomic": "^6.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@lerna/create/node_modules/bin-links/node_modules/cmd-shim": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-7.0.0.tgz", - "integrity": "sha512-rtpaCbr164TPPh+zFdkWpCyZuKkjpAzODfaZCf/SVJZzJN+4bHQb/LP3Jzq5/+84um3XXY8r548XiWKSborwVw==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@lerna/create/node_modules/bin-links/node_modules/read-cmd-shim": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-5.0.0.tgz", - "integrity": "sha512-SEbJV7tohp3DAAILbEMPXavBjAnMN0tVnh4+9G8ihV4Pq3HYF9h8QNez9zkJ1ILkv9G2BjdzwctznGZXgu/HGw==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@lerna/create/node_modules/bin-links/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@lerna/create/node_modules/bin-links/node_modules/write-file-atomic": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-6.0.0.tgz", - "integrity": "sha512-GmqrO8WJ1NuzJ2DrziEI2o57jKAVIQNf8a18W3nCYU3H7PNWqCCVTeH6/NQE93CIllIgQS98rrmVkYgTX9fFJQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@lerna/create/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@lerna/create/node_modules/chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/@lerna/create/node_modules/dedent": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", - "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", - "dev": true, - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" - }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/@lerna/create/node_modules/execa": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", - "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/@lerna/create/node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/@lerna/create/node_modules/get-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", - "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@lerna/create/node_modules/glob": { - "version": "13.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.3.tgz", - "integrity": "sha512-/g3B0mC+4x724v1TgtBlBtt2hPi/EWptsIAmXUx9Z2rvBYleQcsrmaOzd5LyL50jf/Soi83ZDJmw2+XqvH/EeA==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "minimatch": "^10.2.0", - "minipass": "^7.1.2", - "path-scurry": "^2.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@lerna/create/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@lerna/create/node_modules/glob/node_modules/balanced-match": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.2.tgz", - "integrity": "sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg==", - "dev": true, - "license": "MIT", - "dependencies": { - "jackspeak": "^4.2.3" - }, - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@lerna/create/node_modules/glob/node_modules/brace-expansion": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.2.tgz", - "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@lerna/create/node_modules/glob/node_modules/minimatch": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.0.tgz", - "integrity": "sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@lerna/create/node_modules/hosted-git-info": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.2.tgz", - "integrity": "sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^11.1.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/inquirer": { - "version": "12.9.6", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-12.9.6.tgz", - "integrity": "sha512-603xXOgyfxhuis4nfnWaZrMaotNT0Km9XwwBNWUKbIDqeCY89jGr2F9YPEMiNhU6XjIP4VoWISMBFfcc5NgrTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/ansi": "^1.0.0", - "@inquirer/core": "^10.2.2", - "@inquirer/prompts": "^7.8.6", - "@inquirer/type": "^3.0.8", - "mute-stream": "^2.0.0", - "run-async": "^4.0.5", - "rxjs": "^7.8.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@lerna/create/node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@lerna/create/node_modules/isexe": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", - "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=20" - } - }, - "node_modules/@lerna/create/node_modules/jackspeak": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.2.3.tgz", - "integrity": "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^9.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@lerna/create/node_modules/json-parse-even-better-errors": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-5.0.0.tgz", - "integrity": "sha512-ZF1nxZ28VhQouRWhUcVlUIN3qwSgPuswK05s/HIaoetAoE/9tngVmCHjSxmSQPav1nd+lPtTL0YZ/2AFdR/iYQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/just-diff": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-6.0.2.tgz", - "integrity": "sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@lerna/create/node_modules/lru-cache": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.2.tgz", - "integrity": "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@lerna/create/node_modules/make-fetch-happen": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.2.tgz", - "integrity": "sha512-sI1NY4lWlXBAfjmCtVWIIpBypbBdhHtcjnwnv+gtCnsaOffyFil3aidszGC8hgzJe+fT1qix05sWxmD/Bmf/oQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/agent": "^4.0.0", - "cacache": "^20.0.1", - "http-cache-semantics": "^4.1.1", - "minipass": "^7.0.2", - "minipass-fetch": "^4.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^1.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "ssri": "^12.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/minimatch": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.4.tgz", - "integrity": "sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@lerna/create/node_modules/minimatch/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@lerna/create/node_modules/minipass-fetch": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz", - "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^3.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/@lerna/create/node_modules/minizlib": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", - "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.1.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@lerna/create/node_modules/mute-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", - "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@lerna/create/node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/@lerna/create/node_modules/node-gyp": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.2.0.tgz", - "integrity": "sha512-q23WdzrQv48KozXlr0U1v9dwO/k59NHeSzn6loGcasyf0UnSrtzs8kRxM+mfwJSf0DkX0s43hcqgnSO4/VNthQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^15.0.0", - "nopt": "^9.0.0", - "proc-log": "^6.0.0", - "semver": "^7.3.5", - "tar": "^7.5.4", - "tinyglobby": "^0.2.12", - "which": "^6.0.0" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/node-gyp/node_modules/abbrev": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-4.0.0.tgz", - "integrity": "sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/node-gyp/node_modules/nopt": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-9.0.0.tgz", - "integrity": "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==", - "dev": true, - "license": "ISC", - "dependencies": { - "abbrev": "^4.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/node-gyp/node_modules/proc-log": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", - "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/nopt": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", - "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", - "dev": true, - "license": "ISC", - "dependencies": { - "abbrev": "^3.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@lerna/create/node_modules/npm-bundled": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz", - "integrity": "sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==", - "dev": true, - "license": "ISC", - "dependencies": { - "npm-normalize-package-bin": "^4.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@lerna/create/node_modules/npm-install-checks": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-7.1.2.tgz", - "integrity": "sha512-z9HJBCYw9Zr8BqXcllKIs5nI+QggAImbBdHphOzVYrz2CB4iQ6FzWyKmlqDZua+51nAu7FcemlbTc9VgQN5XDQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "semver": "^7.1.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@lerna/create/node_modules/npm-normalize-package-bin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", - "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@lerna/create/node_modules/npm-package-arg": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.1.tgz", - "integrity": "sha512-6zqls5xFvJbgFjB1B2U6yITtyGBjDBORB7suI4zA4T/sZ1OmkMFlaQSNB/4K0LtXNA1t4OprAFxPisadK5O2ag==", - "dev": true, - "license": "ISC", - "dependencies": { - "hosted-git-info": "^9.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^6.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/npm-pick-manifest": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-11.0.3.tgz", - "integrity": "sha512-buzyCfeoGY/PxKqmBqn1IUJrZnUi1VVJTdSSRPGI60tJdUhUoSQFhs0zycJokDdOznQentgrpf8LayEHyyYlqQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "npm-install-checks": "^8.0.0", - "npm-normalize-package-bin": "^5.0.0", - "npm-package-arg": "^13.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/npm-pick-manifest/node_modules/npm-install-checks": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-8.0.0.tgz", - "integrity": "sha512-ScAUdMpyzkbpxoNekQ3tNRdFI8SJ86wgKZSQZdUxT+bj0wVFpsEMWnkXP0twVe1gJyNF5apBWDJhhIbgrIViRA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "semver": "^7.1.1" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-5.0.0.tgz", - "integrity": "sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@lerna/create/node_modules/npm-registry-fetch": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-19.1.0.tgz", - "integrity": "sha512-xyZLfs7TxPu/WKjHUs0jZOPinzBAI32kEUel6za0vH+JUTnFZ5zbHI1ZoGZRDm6oMjADtrli6FxtMlk/5ABPNw==", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/redact": "^3.0.0", - "jsonparse": "^1.3.1", - "make-fetch-happen": "^15.0.0", - "minipass": "^7.0.2", - "minipass-fetch": "^4.0.0", - "minizlib": "^3.0.1", - "npm-package-arg": "^13.0.0", - "proc-log": "^5.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" + } } }, - "node_modules/@lerna/create/node_modules/parse-conflict-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-4.0.0.tgz", - "integrity": "sha512-37CN2VtcuvKgHUs8+0b1uJeEsbGn61GRHz469C94P5xiOoqpDYJYwjg4RY9Vmz39WyZAVkR5++nbJwLMIgOCnQ==", - "dev": true, - "license": "ISC", + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dependencies": { - "json-parse-even-better-errors": "^4.0.0", - "just-diff": "^6.0.0", - "just-diff-apply": "^5.2.0" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=12" } }, - "node_modules/@lerna/create/node_modules/parse-conflict-json/node_modules/json-parse-even-better-errors": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", - "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", - "dev": true, - "license": "MIT", + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@lerna/create/node_modules/path-scurry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", - "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", - "dev": true, - "license": "BlueOak-1.0.0", + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": "20 || >=22" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@lerna/create/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@lerna/create/node_modules/proc-log": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", - "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==", - "dev": true, - "license": "ISC", + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@lerna/create/node_modules/promise-call-limit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-3.0.2.tgz", - "integrity": "sha512-mRPQO2T1QQVw11E7+UdCJu7S61eJVWknzml9sC1heAdj1jxl0fWMBypIt9ZOcLFf8FkG995ZD7RnVk7HH72fZw==", - "dev": true, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", "license": "ISC", - "funding": { - "url": "https://github.com/sponsors/isaacs" + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@lerna/create/node_modules/rimraf": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.2.tgz", - "integrity": "sha512-cFCkPslJv7BAXJsYlK1dZsbP8/ZNLkCAQ0bi1hf5EKX2QHegmDFEFA6QhuYJlk7UDdc+02JjO80YSOrWPpw06g==", - "dev": true, - "license": "BlueOak-1.0.0", + "node_modules/@isaacs/string-locale-compare": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz", + "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==" + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dependencies": { - "glob": "^13.0.0", - "package-json-from-dist": "^1.0.1" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=8" } }, - "node_modules/@lerna/create/node_modules/run-async": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-4.0.6.tgz", - "integrity": "sha512-IoDlSLTs3Yq593mb3ZoKWKXMNu3UpObxhgA/Xuid5p4bbfi2jdY1Hj0m1K+0/tEuQTxIGMhQDqGjKb7RuxGpAQ==", - "dev": true, - "license": "MIT", + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "engines": { - "node": ">=0.12.0" + "node": ">=6" } }, - "node_modules/@lerna/create/node_modules/rxjs": { - "version": "7.8.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", - "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", - "dev": true, - "license": "Apache-2.0", + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dependencies": { - "tslib": "^2.1.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@lerna/create/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "engines": { - "node": ">=10" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@lerna/create/node_modules/sigstore": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-4.0.0.tgz", - "integrity": "sha512-Gw/FgHtrLM9WP8P5lLcSGh9OQcrTruWCELAiS48ik1QbL0cH+dfjomiRTUE9zzz+D1N6rOLkwXUvVmXZAsNE0Q==", - "dev": true, - "license": "Apache-2.0", + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dependencies": { - "@sigstore/bundle": "^4.0.0", - "@sigstore/core": "^3.0.0", - "@sigstore/protobuf-specs": "^0.5.0", - "@sigstore/sign": "^4.0.0", - "@sigstore/tuf": "^4.0.0", - "@sigstore/verify": "^3.0.0" + "p-locate": "^4.1.0" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=8" } }, - "node_modules/@lerna/create/node_modules/ssri": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", - "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", - "dev": true, - "license": "ISC", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dependencies": { - "minipass": "^7.0.3" + "p-try": "^2.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@lerna/create/node_modules/tar": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.8.tgz", - "integrity": "sha512-SYkBtK99u0yXa+IWL0JRzzcl7RxNpvX/U08Z+8DKnysfno7M+uExnTZH8K+VGgShf2qFPKtbNr9QBl8n7WBP6Q==", - "dev": true, - "license": "BlueOak-1.0.0", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.1.0", - "yallist": "^5.0.0" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=18" + "node": ">=8" } }, - "node_modules/@lerna/create/node_modules/tinyglobby": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz", - "integrity": "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/diff-sequences": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz", + "integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==", "dev": true, "license": "MIT", - "dependencies": { - "fdir": "^6.4.3", - "picomatch": "^4.0.2" - }, "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@lerna/create/node_modules/treeverse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-3.0.0.tgz", - "integrity": "sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==", + "node_modules/@jest/get-type": { + "version": "30.1.0", + "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.1.0.tgz", + "integrity": "sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@lerna/create/node_modules/tuf-js": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-4.0.0.tgz", - "integrity": "sha512-Lq7ieeGvXDXwpoSmOSgLWVdsGGV9J4a77oDTAPe/Ltrqnnm/ETaRlBAQTH5JatEh8KXuE6sddf9qAv1Q2282Hg==", + "node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", "dependencies": { - "@tufjs/models": "4.0.0", - "debug": "^4.4.1", - "make-fetch-happen": "^15.0.0" + "@sinclair/typebox": "^0.34.0" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@lerna/create/node_modules/uuid": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", - "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", - "dev": true, - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "license": "MIT", - "bin": { - "uuid": "dist/esm/bin/uuid" + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@lerna/create/node_modules/validate-npm-package-name": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.2.tgz", - "integrity": "sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ==", - "dev": true, - "license": "ISC", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=6.0.0" } }, - "node_modules/@lerna/create/node_modules/walk-up-path": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-4.0.0.tgz", - "integrity": "sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==", - "dev": true, - "license": "ISC", + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", "engines": { - "node": "20 || >=22" + "node": ">=6.0.0" } }, - "node_modules/@lerna/create/node_modules/which": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", - "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, - "license": "ISC", "dependencies": { - "isexe": "^4.0.0" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, - "node_modules/@lerna/create/node_modules/yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@js-sdsl/ordered-map": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz", + "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==", "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" } }, - "node_modules/@lerna/create/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==" + }, + "node_modules/@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", "dev": true, - "engines": { - "node": ">=12" + "license": "MIT", + "dependencies": { + "debug": "^4.1.1" } }, "node_modules/@lerna/package": { @@ -6061,16 +4945,16 @@ "link": true }, "node_modules/@microsoft/api-documenter": { - "version": "7.28.9", - "resolved": "https://registry.npmjs.org/@microsoft/api-documenter/-/api-documenter-7.28.9.tgz", - "integrity": "sha512-zyNSZ7bzlbv04LqJemVt8pdo5iPhcMOmdBnGVgAPewjq6uFv7oELuqSLF7ye3Ca+yJD60lmNmd4Wx+4796anxA==", + "version": "7.30.0", + "resolved": "https://registry.npmjs.org/@microsoft/api-documenter/-/api-documenter-7.30.0.tgz", + "integrity": "sha512-VjnsEe4UhOanW0ERdGbsegLU4eoPuYPEpFwW8nILWlzBXBLneATHvQEIQfDokOP0nmHfSXAygRBrIx1wp9e9/w==", "license": "MIT", "dependencies": { - "@microsoft/api-extractor-model": "7.32.2", + "@microsoft/api-extractor-model": "7.33.6", "@microsoft/tsdoc": "~0.16.0", - "@rushstack/node-core-library": "5.19.1", - "@rushstack/terminal": "0.21.0", - "@rushstack/ts-command-line": "5.2.0", + "@rushstack/node-core-library": "5.22.0", + "@rushstack/terminal": "0.22.5", + "@rushstack/ts-command-line": "5.3.5", "js-yaml": "~4.1.0", "resolve": "~1.22.1" }, @@ -6079,56 +4963,71 @@ } }, "node_modules/@microsoft/api-extractor": { - "version": "7.56.3", - "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.56.3.tgz", - "integrity": "sha512-fRqok4aRNq5GpgGBv2fKlSSKbirPKTJ75vQefthB5x9dwt4Zz+AezUzdc1p/AG4wUBIgmhjcEwn/Rj+N4Wh4Mw==", + "version": "7.58.2", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.58.2.tgz", + "integrity": "sha512-qmqWa0Fx1xn3irQy8MyuAKUs8e3CdwMJOujaPkM8gx5v/V7RcLhTjBU0/uL2kdhmROpW+5WG1FD98O441kkvQQ==", "license": "MIT", "dependencies": { - "@microsoft/api-extractor-model": "7.32.2", + "@microsoft/api-extractor-model": "7.33.6", "@microsoft/tsdoc": "~0.16.0", - "@microsoft/tsdoc-config": "~0.18.0", - "@rushstack/node-core-library": "5.19.1", - "@rushstack/rig-package": "0.6.0", - "@rushstack/terminal": "0.21.0", - "@rushstack/ts-command-line": "5.2.0", + "@microsoft/tsdoc-config": "~0.18.1", + "@rushstack/node-core-library": "5.22.0", + "@rushstack/rig-package": "0.7.2", + "@rushstack/terminal": "0.22.5", + "@rushstack/ts-command-line": "5.3.5", "diff": "~8.0.2", - "lodash": "~4.17.23", - "minimatch": "10.1.2", + "lodash": "~4.18.1", + "minimatch": "10.2.3", "resolve": "~1.22.1", "semver": "~7.5.4", "source-map": "~0.6.1", - "typescript": "5.8.2" + "typescript": "5.9.3" }, "bin": { "api-extractor": "bin/api-extractor" } }, "node_modules/@microsoft/api-extractor-model": { - "version": "7.32.2", - "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.32.2.tgz", - "integrity": "sha512-Ussc25rAalc+4JJs9HNQE7TuO9y6jpYQX9nWD1DhqUzYPBr3Lr7O9intf+ZY8kD5HnIqeIRJX7ccCT0QyBy2Ww==", + "version": "7.33.6", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.33.6.tgz", + "integrity": "sha512-E9iI4yGEVVusbTAqSLetVFxDuBVCVqCigcoQwdJuOjsLq5Hry3MkBgUQhSZNzLCu17pgjk58MI80GRDJLht/1A==", "license": "MIT", "dependencies": { "@microsoft/tsdoc": "~0.16.0", - "@microsoft/tsdoc-config": "~0.18.0", - "@rushstack/node-core-library": "5.19.1" + "@microsoft/tsdoc-config": "~0.18.1", + "@rushstack/node-core-library": "5.22.0" + } + }, + "node_modules/@microsoft/api-extractor/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@microsoft/api-extractor/node_modules/brace-expansion": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" } }, "node_modules/@microsoft/api-extractor/node_modules/diff": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.3.tgz", - "integrity": "sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz", + "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==", "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, - "node_modules/@microsoft/api-extractor/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", - "license": "MIT" - }, "node_modules/@microsoft/api-extractor/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -6142,15 +5041,15 @@ } }, "node_modules/@microsoft/api-extractor/node_modules/minimatch": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.2.tgz", - "integrity": "sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw==", + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.3.tgz", + "integrity": "sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==", "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/brace-expansion": "^5.0.1" + "brace-expansion": "^5.0.2" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -6172,9 +5071,9 @@ } }, "node_modules/@microsoft/api-extractor/node_modules/typescript": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", - "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -6191,33 +5090,17 @@ "license": "MIT" }, "node_modules/@microsoft/tsdoc-config": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.18.0.tgz", - "integrity": "sha512-8N/vClYyfOH+l4fLkkr9+myAoR6M7akc8ntBJ4DJdWH2b09uVfr71+LTMpNyG19fNqWDg8KEDZhx5wxuqHyGjw==", + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.18.1.tgz", + "integrity": "sha512-9brPoVdfN9k9g0dcWkFeA7IH9bbcttzDJlXvkf8b2OBzd5MueR1V2wkKBL0abn0otvmkHJC6aapBOTJDDeMCZg==", "license": "MIT", "dependencies": { "@microsoft/tsdoc": "0.16.0", - "ajv": "~8.12.0", + "ajv": "~8.18.0", "jju": "~1.4.0", "resolve": "~1.22.2" } }, - "node_modules/@microsoft/tsdoc-config/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, "node_modules/@minimistjs/subarg": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@minimistjs/subarg/-/subarg-1.0.0.tgz", @@ -9161,12 +8044,12 @@ "integrity": "sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==" }, "node_modules/@rushstack/node-core-library": { - "version": "5.19.1", - "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.19.1.tgz", - "integrity": "sha512-ESpb2Tajlatgbmzzukg6zyAhH+sICqJR2CNXNhXcEbz6UGCQfrKCtkxOpJTftWc8RGouroHG0Nud1SJAszvpmA==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.22.0.tgz", + "integrity": "sha512-S/Dm/N+8tkbasS6yM5cF6q4iDFt14mQQniiVIwk1fd0zpPwWESspO4qtPyIl8szEaN86XOYC1HRRzZrOowxjtw==", "license": "MIT", "dependencies": { - "ajv": "~8.13.0", + "ajv": "~8.18.0", "ajv-draft-04": "~1.0.0", "ajv-formats": "~3.0.1", "fs-extra": "~11.3.0", @@ -9184,22 +8067,6 @@ } } }, - "node_modules/@rushstack/node-core-library/node_modules/ajv": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", - "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.4.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, "node_modules/@rushstack/node-core-library/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -9228,9 +8095,9 @@ } }, "node_modules/@rushstack/problem-matcher": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@rushstack/problem-matcher/-/problem-matcher-0.1.1.tgz", - "integrity": "sha512-Fm5XtS7+G8HLcJHCWpES5VmeMyjAKaWeyZU5qPzZC+22mPlJzAsOxymHiWIfuirtPckX3aptWws+K2d0BzniJA==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@rushstack/problem-matcher/-/problem-matcher-0.2.1.tgz", + "integrity": "sha512-gulfhBs6n+I5b7DvjKRfhMGyUejtSgOHTclF/eONr8hcgF1APEDjhxIsfdUYYMzC3rvLwGluqLjbwCFZ8nxrog==", "license": "MIT", "peerDependencies": { "@types/node": "*" @@ -9242,9 +8109,9 @@ } }, "node_modules/@rushstack/rig-package": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.6.0.tgz", - "integrity": "sha512-ZQmfzsLE2+Y91GF15c65L/slMRVhF6Hycq04D4TwtdGaUAbIXXg9c5pKA5KFU7M4QMaihoobp9JJYpYcaY3zOw==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.7.2.tgz", + "integrity": "sha512-9XbFWuqMYcHUso4mnETfhGVUSaADBRj6HUAAEYk50nMPn8WRICmBuCphycQGNB3duIR6EEZX3Xj3SYc2XiP+9A==", "license": "MIT", "dependencies": { "resolve": "~1.22.1", @@ -9252,13 +8119,13 @@ } }, "node_modules/@rushstack/terminal": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.21.0.tgz", - "integrity": "sha512-cLaI4HwCNYmknM5ns4G+drqdEB6q3dCPV423+d3TZeBusYSSm09+nR7CnhzJMjJqeRcdMAaLnrA4M/3xDz4R3w==", + "version": "0.22.5", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.22.5.tgz", + "integrity": "sha512-umej8J6A+WRbfQV1G/uNfnz4bMa8CzFU9IJzQb/ZcH4j7Ybg3BQ8UBKOCF3o5U3/2yah1TDU/zE71ugg2JJv+Q==", "license": "MIT", "dependencies": { - "@rushstack/node-core-library": "5.19.1", - "@rushstack/problem-matcher": "0.1.1", + "@rushstack/node-core-library": "5.22.0", + "@rushstack/problem-matcher": "0.2.1", "supports-color": "~8.1.1" }, "peerDependencies": { @@ -9286,12 +8153,12 @@ } }, "node_modules/@rushstack/ts-command-line": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-5.2.0.tgz", - "integrity": "sha512-lYxCX0nDdkDtCkVpvF0m25ymf66SaMWuppbD6b7MdkIzvGXKBXNIVZlwBH/C0YfkanrupnICWf2n4z3AKSfaHw==", + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-5.3.5.tgz", + "integrity": "sha512-ToJQu3+o6aEdDoApGrwb/RsbwDi/NSC7jIEaAezzWM470TRrsXfSHoYAm1eWkhh34xJ+kZxU1ZzKSHiOMlOFPA==", "license": "MIT", "dependencies": { - "@rushstack/terminal": "0.21.0", + "@rushstack/terminal": "0.22.5", "@types/argparse": "1.0.38", "argparse": "~1.0.9", "string-argv": "~0.3.1" @@ -9316,9 +8183,9 @@ } }, "node_modules/@sigstore/core": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.1.0.tgz", - "integrity": "sha512-o5cw1QYhNQ9IroioJxpzexmPjfCe7gzafd2RY3qnMpxr4ZEja+Jad/U8sgFpaue6bOaF+z7RVkyKVV44FN+N8A==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.2.0.tgz", + "integrity": "sha512-kxHrDQ9YgfrWUSXU0cjsQGv8JykOFZQ9ErNKbFPWzk3Hgpwu8x2hHrQ9IdA8yl+j9RTLTC3sAF3Tdq1IQCP4oA==", "license": "Apache-2.0", "engines": { "node": "^20.17.0 || >=22.9.0" @@ -9429,18 +8296,18 @@ } }, "node_modules/@sinonjs/fake-timers": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-15.1.1.tgz", - "integrity": "sha512-cO5W33JgAPbOh07tvZjUOJ7oWhtaqGHiZw+11DPbyqh2kHTBc3eF/CjJDeQ4205RLQsX6rxCuYOroFQwl7JDRw==", + "version": "15.3.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-15.3.2.tgz", + "integrity": "sha512-mrn35Jl2pCpns+mE3HaZa1yPN5EYCRgiMI+135COjr2hr8Cls9DXqIZ57vZe2cz7y2XVSq92tcs6kGQcT1J8Rw==", "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.1" } }, "node_modules/@sinonjs/samsam": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-9.0.2.tgz", - "integrity": "sha512-H/JSxa4GNKZuuU41E3b8Y3tbSEx8y4uq4UH1C56ONQac16HblReJomIvv3Ud7ANQHQmkeSowY49Ij972e/pGxQ==", + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-10.0.2.tgz", + "integrity": "sha512-8lVwD1Df1BmzoaOLhMcGGcz/Jyr5QY2KSB75/YK1QgKzoabTeLdIVyhXNZK9ojfSKSdirbXqdbsXXqP9/Ve8+A==", "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.1", @@ -10042,9 +8909,10 @@ } }, "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "license": "MIT", "dependencies": { "@types/ms": "*" } @@ -10066,9 +8934,9 @@ } }, "node_modules/@types/dockerode": { - "version": "3.3.47", - "resolved": "https://registry.npmjs.org/@types/dockerode/-/dockerode-3.3.47.tgz", - "integrity": "sha512-ShM1mz7rCjdssXt7Xz0u1/R2BJC7piWa3SJpUBiVjCf2A3XNn4cP6pUVaD8bLanpPVVn4IKzJuw3dOvkJ8IbYw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/dockerode/-/dockerode-4.0.1.tgz", + "integrity": "sha512-cmUpB+dPN955PxBEuXE3f6lKO1hHiIGYJA46IVF3BJpNsZGvtBDcRnlrHYHtOH/B6vtDOyl2kZ2ShAu3mgc27Q==", "dev": true, "license": "MIT", "dependencies": { @@ -10312,9 +9180,9 @@ } }, "node_modules/@types/multer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/multer/-/multer-2.0.0.tgz", - "integrity": "sha512-C3Z9v9Evij2yST3RSBktxP9STm6OdMc5uR1xF1SGr98uv8dUlAL2hqwrZ3GVB3uyMyiegnscEK6PGtYvNrjTjw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/multer/-/multer-2.1.0.tgz", + "integrity": "sha512-zYZb0+nJhOHtPpGDb3vqPjwpdeGlGC157VpkqNQL+UU2qwoacoQ7MpsAmUptI/0Oa127X32JzWDqQVEXp2RcIA==", "dev": true, "license": "MIT", "dependencies": { @@ -10322,12 +9190,12 @@ } }, "node_modules/@types/node": { - "version": "22.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", - "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", + "version": "25.5.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", + "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", "license": "MIT", "dependencies": { - "undici-types": "~6.19.8" + "undici-types": "~7.18.0" } }, "node_modules/@types/node-fetch": { @@ -10339,6 +9207,12 @@ "form-data": "^4.0.0" } }, + "node_modules/@types/node/node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "license": "MIT" + }, "node_modules/@types/normalize-package-data": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", @@ -10537,6 +9411,13 @@ "@types/passport": "*" } }, + "node_modules/@types/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-qHHxQ+P9PysNEGbALT8f8YOSHW0KJu6l2xU8DYY0fu/EmGxXdVnuTLvFUvBgPJMSqXq29SYHveejeAha+4AYgA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/qs": { "version": "6.15.0", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.0.tgz", @@ -10632,9 +9513,9 @@ } }, "node_modules/@types/sinon": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-21.0.0.tgz", - "integrity": "sha512-+oHKZ0lTI+WVLxx1IbJDNmReQaIsQJjN2e7UUrJHEeByG7bFeKJYsv1E75JxTQ9QKJDp21bAa/0W2Xo4srsDnw==", + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-21.0.1.tgz", + "integrity": "sha512-5yoJSqLbjH8T9V2bksgRayuhpZy+723/z6wBOR+Soe4ZlXC0eW8Na71TeaZPUWDQvM7LYKa9UGFc6LRqxiR5fQ==", "license": "MIT", "dependencies": { "@types/sinonjs__fake-timers": "*" @@ -10764,9 +9645,10 @@ "integrity": "sha512-d/MUkJYdOeKycmm75Arql4M5+UuXmf4cHdHKsyw1GcvnNgL6s77UkgSgJ8TE/rI5PYsnwYq5jkcWBLuN/MpQ1A==" }, "node_modules/@types/vinyl": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.7.tgz", - "integrity": "sha512-4UqPv+2567NhMQuMLdKAyK4yzrfCqwaTt6bLhHEs8PFcxbHILsrxaY63n4wgE/BRLDWDQeI+WcTmkXKExh9hQg==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.12.tgz", + "integrity": "sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==", + "license": "MIT", "dependencies": { "@types/expect": "^1.20.4", "@types/node": "*" @@ -11193,50 +10075,6 @@ "@xtuc/long": "4.2.2" } }, - "node_modules/@webpack-cli/configtest": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-3.0.1.tgz", - "integrity": "sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==", - "dev": true, - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-3.0.1.tgz", - "integrity": "sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==", - "dev": true, - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-3.0.1.tgz", - "integrity": "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==", - "dev": true, - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, "node_modules/@whatwg-node/events": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/@whatwg-node/events/-/events-0.1.2.tgz", @@ -12007,14 +10845,23 @@ "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, "node_modules/axios": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.6.tgz", - "integrity": "sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.15.0.tgz", + "integrity": "sha512-wWyJDlAatxk30ZJer+GeCWS209sA42X+N5jU2jy6oHTp7ufw8uzUTVFBX9+wTfAlhiJXGS0Bq7X6efruWjuK9Q==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.11", "form-data": "^4.0.5", - "proxy-from-env": "^1.1.0" + "proxy-from-env": "^2.1.0" + } + }, + "node_modules/axios/node_modules/proxy-from-env": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", + "license": "MIT", + "engines": { + "node": ">=10" } }, "node_modules/b4a": { @@ -12797,9 +11644,9 @@ } }, "node_modules/cacache": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.3.tgz", - "integrity": "sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw==", + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.4.tgz", + "integrity": "sha512-M3Lab8NPYlZU2exsL3bMVvMrMqgwCnMWfdZbK28bn3pK6APT/Te/I8hjRPNu1uwORY9a1eEQoifXbKPQMfMTOA==", "license": "ISC", "dependencies": { "@npmcli/fs": "^5.0.0", @@ -12811,8 +11658,7 @@ "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "p-map": "^7.0.2", - "ssri": "^13.0.0", - "unique-filename": "^5.0.0" + "ssri": "^13.0.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" @@ -12831,27 +11677,27 @@ } }, "node_modules/cacache/node_modules/glob": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", - "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", "license": "BlueOak-1.0.0", "dependencies": { - "minimatch": "^10.1.1", - "minipass": "^7.1.2", - "path-scurry": "^2.0.0" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/cacache/node_modules/lru-cache": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.2.tgz", - "integrity": "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==", - "license": "ISC", + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", + "license": "BlueOak-1.0.0", "engines": { "node": "20 || >=22" } @@ -12881,25 +11727,25 @@ } }, "node_modules/cacache/node_modules/path-scurry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", - "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/cacache/node_modules/ssri": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.0.tgz", - "integrity": "sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==", + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.1.tgz", + "integrity": "sha512-QUiRf1+u9wPTL/76GTYlKttDEBWV1ga9ZXW8BG6kfdeyyM8LGPix9gROyg9V2+P0xNyF3X2Go526xKFdMZrHSQ==", "license": "ISC", "dependencies": { "minipass": "^7.0.3" @@ -12908,30 +11754,6 @@ "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/cacache/node_modules/unique-filename": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-5.0.0.tgz", - "integrity": "sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg==", - "license": "ISC", - "dependencies": { - "unique-slug": "^6.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/cacache/node_modules/unique-slug": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-6.0.0.tgz", - "integrity": "sha512-4Lup7Ezn8W3d52/xBhZBVdx323ckxa7DEvd9kPQHppTkLoJXw6ltrBCyj5pnrxj0qKDxYMJ56CoxNuFCscdTiw==", - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, "node_modules/cacheable-request": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", @@ -13154,31 +11976,16 @@ } }, "node_modules/casbin": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/casbin/-/casbin-5.48.0.tgz", - "integrity": "sha512-s5xGNHxb2sOXze7U6rewnkZPtIrTFQaHFKkjh73xYC9nEKwEoAiQ3nasGwpB55wWVRbHxSkjGLoMjocpZAy+iQ==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/casbin/-/casbin-5.49.0.tgz", + "integrity": "sha512-G+rAnuEjm4l50DLsbXGv9Q7J6uDLlqFu4W7obZh/4tzZyOHZTr7PDc+WQHNZLRcQGVopmzXdLhz4YmLsd34C/g==", "license": "Apache-2.0", "dependencies": { "@casbin/expression-eval": "^5.3.0", "await-lock": "^2.0.1", "buffer": "^6.0.3", "csv-parse": "^5.5.6", - "minimatch": "^7.4.2" - } - }, - "node_modules/casbin/node_modules/minimatch": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", - "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "minimatch": "^10.2.1" } }, "node_modules/caseless": { @@ -13504,6 +12311,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -13548,12 +12356,14 @@ "node_modules/clone-stats": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==" + "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==", + "license": "MIT" }, "node_modules/cloneable-readable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "process-nextick-args": "^2.0.0", @@ -13564,6 +12374,7 @@ "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -13578,6 +12389,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } @@ -13834,6 +12646,13 @@ "node": ">=12.0.0" } }, + "node_modules/commitizen/node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, "node_modules/commitizen/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -15978,9 +14797,9 @@ } }, "node_modules/docker-compose": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-1.3.0.tgz", - "integrity": "sha512-7Gevk/5eGD50+eMD+XDnFnOrruFkL0kSd7jEG4cjmqweDSUhB7i0g8is/nBdVpl+Bx338SqIB2GLKm32M+Vs6g==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-1.4.2.tgz", + "integrity": "sha512-rPHigTKGaEHpkUmfd69QgaOp+Os5vGJwG/Ry8lcr8W/382AmI+z/D7qoa9BybKIkqNppaIbs8RYeHSevdQjWww==", "dev": true, "license": "MIT", "dependencies": { @@ -16214,6 +15033,23 @@ "safe-buffer": "^5.0.1" } }, + "node_modules/editions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/editions/-/editions-6.22.0.tgz", + "integrity": "sha512-UgGlf8IW75je7HZjNDpJdCv4cGJWIi6yumFdZ0R7A8/CIhQiWUjyGLCxdHpd8bmyD1gnkfUNK0oeOXqUS2cpfQ==", + "dev": true, + "license": "Artistic-2.0", + "dependencies": { + "version-range": "^4.15.0" + }, + "engines": { + "ecmascript": ">= es5", + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -16223,6 +15059,7 @@ "version": "3.1.10", "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "license": "Apache-2.0", "dependencies": { "jake": "^10.8.5" }, @@ -17698,6 +16535,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", "integrity": "sha512-X8Z+b/0L4lToKYq+lwnKqi9X/Zek0NibLpsJgVsSxpoYq7JtiCtRb5HqKVEjEw/qAb/4AKKRLOwwKHlWNpm2Eg==", + "license": "MIT", "dependencies": { "readable-stream": "^2.0.2" }, @@ -17709,6 +16547,7 @@ "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -17723,6 +16562,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } @@ -18241,12 +17081,13 @@ } }, "node_modules/get-port": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", - "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-7.2.0.tgz", + "integrity": "sha512-afP4W205ONCuMoPBqcR6PSXnzX35KTcJygfJfcp+QY+uwm3p20p1YczWXhlICIzGMCxYBQcySEcOgsJcrkyobg==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -18368,15 +17209,6 @@ "node": ">=4" } }, - "node_modules/git-remote-origin-url/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/git-semver-tags": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-5.0.1.tgz", @@ -18797,6 +17629,8 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz", "integrity": "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "foreground-child": "^3.3.1", @@ -18833,13 +17667,24 @@ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, + "node_modules/glob/node_modules/@isaacs/cliui": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-9.0.0.tgz", + "integrity": "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, "node_modules/glob/node_modules/jackspeak": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz", - "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.2.3.tgz", + "integrity": "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==", + "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/cliui": "^8.0.2" + "@isaacs/cliui": "^9.0.0" }, "engines": { "node": "20 || >=22" @@ -18849,25 +17694,27 @@ } }, "node_modules/glob/node_modules/lru-cache": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.2.tgz", - "integrity": "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==", - "license": "ISC", + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", + "dev": true, + "license": "BlueOak-1.0.0", "engines": { "node": "20 || >=22" } }, "node_modules/glob/node_modules/path-scurry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", - "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -19075,9 +17922,9 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" }, "node_modules/graphql": { - "version": "16.12.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.12.0.tgz", - "integrity": "sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ==", + "version": "16.13.2", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.13.2.tgz", + "integrity": "sha512-5bJ+nf/UCpAjHM8i06fl7eLyVC9iuNAjm9qzkiu2ZGhM0VscSvS6WDPfAwkdkBuoXGM9FJSbKl6wylMwP9Ktig==", "license": "MIT", "engines": { "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" @@ -20582,11 +19429,12 @@ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "node_modules/isbinaryfile": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.0.tgz", - "integrity": "sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.7.tgz", + "integrity": "sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ==", + "license": "MIT", "engines": { - "node": ">= 14.0.0" + "node": ">= 18.0.0" }, "funding": { "url": "https://github.com/sponsors/gjtorikian/" @@ -20661,58 +19509,46 @@ } }, "node_modules/istanbul-lib-processinfo": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", - "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-3.0.0.tgz", + "integrity": "sha512-P7nLXRRlo7Sqinty6lNa7+4o9jBUYGpqtejqCOZKfgXlRoxY/QArflcB86YO500Ahj4pDJEG34JjMRbQgePLnQ==", + "license": "ISC", "dependencies": { "archy": "^1.0.0", "cross-spawn": "^7.0.3", "istanbul-lib-coverage": "^3.2.0", "p-map": "^3.0.0", - "rimraf": "^3.0.0", + "rimraf": "^6.1.3", "uuid": "^8.3.2" }, "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-processinfo/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node": "20 || >=22" } }, "node_modules/istanbul-lib-processinfo/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "license": "BlueOak-1.0.0", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, "engines": { - "node": "*" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/istanbul-lib-processinfo/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, + "node_modules/istanbul-lib-processinfo/node_modules/lru-cache": { + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", + "license": "BlueOak-1.0.0", "engines": { - "node": "*" + "node": "20 || >=22" } }, "node_modules/istanbul-lib-processinfo/node_modules/p-map": { @@ -20726,15 +19562,36 @@ "node": ">=8" } }, + "node_modules/istanbul-lib-processinfo/node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/istanbul-lib-processinfo/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.3.tgz", + "integrity": "sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==", + "license": "BlueOak-1.0.0", "dependencies": { - "glob": "^7.1.3" + "glob": "^13.0.3", + "package-json-from-dist": "^1.0.1" }, "bin": { - "rimraf": "bin.js" + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -20805,14 +19662,14 @@ } }, "node_modules/jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "license": "Apache-2.0", "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" }, "bin": { "jake": "bin/cli.js" @@ -20821,26 +19678,6 @@ "node": ">=10" } }, - "node_modules/jake/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/jake/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/jayson": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/jayson/-/jayson-2.1.2.tgz", @@ -21350,13 +20187,12 @@ } }, "node_modules/lerna": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/lerna/-/lerna-9.0.5.tgz", - "integrity": "sha512-LtwZu2wINHlKpjRCxrEdK3QopyeUpFuUS4v6uzLYdg/uxnAKqDHrGY/mDPxdxDR3YAXJzpWXBdz49AHNIKZaSg==", + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/lerna/-/lerna-9.0.7.tgz", + "integrity": "sha512-PMjbSWYfwL1yZ5c1D2PZuFyzmtYhLdn0f76uG8L25g6eYy34j+2jPb4Q6USx1UJvxVtxkdVEeAAWS/WxgJ8VZA==", "dev": true, "license": "MIT", "dependencies": { - "@lerna/create": "9.0.5", "@npmcli/arborist": "9.1.6", "@npmcli/package-json": "7.0.2", "@npmcli/run-script": "10.0.3", @@ -21366,6 +20202,7 @@ "aproba": "2.0.0", "byte-size": "8.1.1", "chalk": "4.1.0", + "ci-info": "4.3.1", "cmd-shim": "6.0.3", "color-support": "1.1.3", "columnify": "1.6.0", @@ -21378,7 +20215,6 @@ "envinfo": "7.13.0", "execa": "5.0.0", "fs-extra": "^11.2.0", - "get-port": "5.1.1", "get-stream": "6.0.0", "git-url-parse": "14.0.0", "glob-parent": "6.0.2", @@ -21388,16 +20224,13 @@ "init-package-json": "8.2.2", "inquirer": "12.9.6", "is-ci": "3.0.1", - "is-stream": "2.0.0", "jest-diff": ">=30.0.0 < 31", "js-yaml": "4.1.1", "libnpmaccess": "10.0.3", "libnpmpublish": "11.1.2", "load-json-file": "6.2.0", - "make-dir": "4.0.0", "make-fetch-happen": "15.0.2", "minimatch": "3.1.4", - "multimatch": "5.0.0", "npm-package-arg": "13.0.1", "npm-packlist": "10.0.3", "npm-registry-fetch": "19.1.0", @@ -21409,28 +20242,21 @@ "p-reduce": "2.1.0", "p-waterfall": "2.1.1", "pacote": "21.0.1", - "pify": "5.0.0", "read-cmd-shim": "4.0.0", - "resolve-from": "5.0.0", - "rimraf": "^6.1.2", "semver": "7.7.2", - "set-blocking": "^2.0.0", "signal-exit": "3.0.7", "slash": "3.0.0", "ssri": "12.0.0", "string-width": "^4.2.3", - "tar": "7.5.8", - "temp-dir": "1.0.0", + "tar": "7.5.11", "through": "2.3.8", "tinyglobby": "0.2.12", "typescript": ">=3 < 6", "upath": "2.0.1", - "uuid": "^11.1.0", "validate-npm-package-license": "3.0.4", "validate-npm-package-name": "6.0.2", "wide-align": "1.1.5", "write-file-atomic": "5.0.1", - "write-pkg": "4.0.0", "yargs": "17.7.2", "yargs-parser": "21.1.1" }, @@ -21834,32 +20660,43 @@ } }, "node_modules/lerna/node_modules/@sigstore/sign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-4.1.0.tgz", - "integrity": "sha512-Vx1RmLxLGnSUqx/o5/VsCjkuN5L7y+vxEEwawvc7u+6WtX2W4GNa7b9HEjmcRWohw/d6BpATXmvOwc78m+Swdg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-4.1.1.tgz", + "integrity": "sha512-Hf4xglukg0XXQ2RiD5vSoLjdPe8OBUPA8XeVjUObheuDcWdYWrnH/BNmxZCzkAy68MzmNCxXLeurJvs6hcP2OQ==", "dev": true, "license": "Apache-2.0", "dependencies": { + "@gar/promise-retry": "^1.0.2", "@sigstore/bundle": "^4.0.0", - "@sigstore/core": "^3.1.0", + "@sigstore/core": "^3.2.0", "@sigstore/protobuf-specs": "^0.5.0", - "make-fetch-happen": "^15.0.3", - "proc-log": "^6.1.0", - "promise-retry": "^2.0.1" + "make-fetch-happen": "^15.0.4", + "proc-log": "^6.1.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" } }, + "node_modules/lerna/node_modules/@sigstore/sign/node_modules/@npmcli/redact": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-4.0.0.tgz", + "integrity": "sha512-gOBg5YHMfZy+TfHArfVogwgfBeQnKbbGo3pSUyK/gSI0AVu+pEiDVcKlQb0D8Mg1LNRZILZ6XG8I5dJ4KuAd9Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "node_modules/lerna/node_modules/@sigstore/sign/node_modules/make-fetch-happen": { - "version": "15.0.4", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.4.tgz", - "integrity": "sha512-vM2sG+wbVeVGYcCm16mM3d5fuem9oC28n436HjsGO3LcxoTI8LNVa4rwZDn3f76+cWyT4GGJDxjTYU1I2nr6zw==", + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.5.tgz", + "integrity": "sha512-uCbIa8jWWmQZt4dSnEStkVC6gdakiinAm4PiGsywIkguF0eWMdcjDz0ECYhUolFU3pFLOev9VNPCEygydXnddg==", "dev": true, "license": "ISC", "dependencies": { "@gar/promise-retry": "^1.0.0", "@npmcli/agent": "^4.0.0", + "@npmcli/redact": "^4.0.0", "cacache": "^20.0.1", "http-cache-semantics": "^4.1.1", "minipass": "^7.0.2", @@ -21929,9 +20766,9 @@ } }, "node_modules/lerna/node_modules/@sigstore/tuf": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-4.0.1.tgz", - "integrity": "sha512-OPZBg8y5Vc9yZjmWCHrlWPMBqW5yd8+wFNl+thMdtcWz3vjVSoJQutF8YkrzI0SLGnkuFof4HSsWUhXrf219Lw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-4.0.2.tgz", + "integrity": "sha512-TCAzTy0xzdP79EnxSjq9KQ3eaR7+FmudLC6eRKknVKZbV7ZNlGLClAAQb/HMNJ5n2OBNk2GT1tEmU0xuPr+SLQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -22117,6 +20954,22 @@ "node": ">=18" } }, + "node_modules/lerna/node_modules/ci-info": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz", + "integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/lerna/node_modules/dedent": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", @@ -22258,16 +21111,6 @@ } } }, - "node_modules/lerna/node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/lerna/node_modules/isexe": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", @@ -22296,9 +21139,9 @@ "license": "MIT" }, "node_modules/lerna/node_modules/lru-cache": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", - "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -22605,23 +21448,6 @@ "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/lerna/node_modules/path-scurry": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", - "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/lerna/node_modules/picomatch": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", @@ -22655,83 +21481,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/lerna/node_modules/rimraf": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.3.tgz", - "integrity": "sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "glob": "^13.0.3", - "package-json-from-dist": "^1.0.1" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/lerna/node_modules/rimraf/node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/lerna/node_modules/rimraf/node_modules/brace-expansion": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", - "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/lerna/node_modules/rimraf/node_modules/glob": { - "version": "13.0.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", - "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "minimatch": "^10.2.2", - "minipass": "^7.1.3", - "path-scurry": "^2.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/lerna/node_modules/rimraf/node_modules/minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/lerna/node_modules/run-async": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/run-async/-/run-async-4.0.6.tgz", @@ -22797,9 +21546,9 @@ } }, "node_modules/lerna/node_modules/tar": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.8.tgz", - "integrity": "sha512-SYkBtK99u0yXa+IWL0JRzzcl7RxNpvX/U08Z+8DKnysfno7M+uExnTZH8K+VGgShf2qFPKtbNr9QBl8n7WBP6Q==", + "version": "7.5.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.11.tgz", + "integrity": "sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -22855,20 +21604,6 @@ "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/lerna/node_modules/uuid": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", - "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", - "dev": true, - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/esm/bin/uuid" - } - }, "node_modules/lerna/node_modules/validate-npm-package-name": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.2.tgz", @@ -23481,19 +22216,18 @@ } }, "node_modules/lint-staged": { - "version": "16.2.7", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.2.7.tgz", - "integrity": "sha512-lDIj4RnYmK7/kXMya+qJsmkRFkGolciXjrsZ6PC25GdTfWOAWetR0ZbsNXRAj1EHHImRSalc+whZFg56F5DVow==", + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.4.0.tgz", + "integrity": "sha512-lBWt8hujh/Cjysw5GYVmZpFHXDCgZzhrOm8vbcUdobADZNOK/bRshr2kM3DfgrrtR1DQhfupW9gnIXOfiFi+bw==", "dev": true, "license": "MIT", "dependencies": { - "commander": "^14.0.2", + "commander": "^14.0.3", "listr2": "^9.0.5", - "micromatch": "^4.0.8", - "nano-spawn": "^2.0.0", - "pidtree": "^0.6.0", + "picomatch": "^4.0.3", "string-argv": "^0.3.2", - "yaml": "^2.8.1" + "tinyexec": "^1.0.4", + "yaml": "^2.8.2" }, "bin": { "lint-staged": "bin/lint-staged.js" @@ -23506,15 +22240,28 @@ } }, "node_modules/lint-staged/node_modules/commander": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", - "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz", + "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==", "dev": true, "license": "MIT", "engines": { "node": ">=20" } }, + "node_modules/lint-staged/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/listr2": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz", @@ -23711,9 +22458,9 @@ "dev": true }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", "license": "MIT" }, "node_modules/lodash.camelcase": { @@ -24739,16 +23486,16 @@ } }, "node_modules/loopback-connector-mongodb": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/loopback-connector-mongodb/-/loopback-connector-mongodb-7.0.3.tgz", - "integrity": "sha512-TnW1HcJM3MXuoFyelSHC5xR9/24vqPaJXudjXveu/mc+zq05cs1fa+b8to3WxmcCeK3Y5M0fwuwS6IHJyb0PNQ==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/loopback-connector-mongodb/-/loopback-connector-mongodb-7.0.4.tgz", + "integrity": "sha512-hCN7OEmyifojg5uY1GYGozU3rhRn7w1V5gnKe3kORmrMAtXVW+yqrFAOksMXZtSZA7xcwY0rDGnkkitKCcVzfg==", "dev": true, "license": "MIT", "dependencies": { "async": "^3.2.6", "bson": "^7.2.0", "debug": "^4.4.3", - "loopback-connector": "^7.0.3", + "loopback-connector": "^7.0.5", "mongodb": "^5.9.2", "strong-globalize": "^6.0.6" }, @@ -24757,9 +23504,9 @@ } }, "node_modules/loopback-connector-mongodb/node_modules/loopback-connector": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/loopback-connector/-/loopback-connector-7.0.4.tgz", - "integrity": "sha512-Xa0CkuwTYrDI3cB/e5CVJimvUhtNLLmW7XH5U+PME8GaOx0kvyog97ti0cHEXsRqztuDN84cpZqTSCxyhjBHKw==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/loopback-connector/-/loopback-connector-7.0.5.tgz", + "integrity": "sha512-aCTJH6cAAhSTWH2CJiukLGuVrkiAtI8hm6r+pRkjJoGISxw8rCXqWLC3ux0ewq2cZT9VNDAMCmSZEN7G9Yb/wg==", "dev": true, "license": "MIT", "dependencies": { @@ -24775,34 +23522,27 @@ } }, "node_modules/loopback-connector-mysql": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/loopback-connector-mysql/-/loopback-connector-mysql-8.0.7.tgz", - "integrity": "sha512-84984O55tRGSgUtkQXD8MQ693LHh6s4brjs7INXls7RmhOvWpDlIRx3ypunMM0fFNOP4PJrH8sxR3lkX/DhWhA==", + "version": "8.0.8", + "resolved": "https://registry.npmjs.org/loopback-connector-mysql/-/loopback-connector-mysql-8.0.8.tgz", + "integrity": "sha512-LOre4j4FGPf2e4RohAKwvUU1d1+WYujDKHHDYiGXMuQY3w2buzLdh4WqI8yUD/2LCKT2FJEzfkDo6W7WnKwzaA==", "dev": true, "license": "MIT", "dependencies": { "async": "^3.2.6", "debug": "^4.4.3", - "lodash": "^4.17.23", - "loopback-connector": "^7.0.4", - "mysql2": "^3.19.0", + "lodash": "^4.18.1", + "loopback-connector": "^7.0.5", + "mysql2": "^3.22.0", "strong-globalize": "^6.0.6" }, "engines": { "node": ">=20" } }, - "node_modules/loopback-connector-mysql/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", - "dev": true, - "license": "MIT" - }, "node_modules/loopback-connector-mysql/node_modules/loopback-connector": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/loopback-connector/-/loopback-connector-7.0.4.tgz", - "integrity": "sha512-Xa0CkuwTYrDI3cB/e5CVJimvUhtNLLmW7XH5U+PME8GaOx0kvyog97ti0cHEXsRqztuDN84cpZqTSCxyhjBHKw==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/loopback-connector/-/loopback-connector-7.0.5.tgz", + "integrity": "sha512-aCTJH6cAAhSTWH2CJiukLGuVrkiAtI8hm6r+pRkjJoGISxw8rCXqWLC3ux0ewq2cZT9VNDAMCmSZEN7G9Yb/wg==", "dev": true, "license": "MIT", "dependencies": { @@ -24818,9 +23558,9 @@ } }, "node_modules/loopback-connector-postgresql": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/loopback-connector-postgresql/-/loopback-connector-postgresql-8.0.7.tgz", - "integrity": "sha512-lu4yf/3MBhHskns1OGrKujQEbEJuEw82WIxXPt606zbySKgZ8IPmzAAJzyCW9EG8+8Ln85jvb0MJJiVEVO9ECA==", + "version": "8.0.8", + "resolved": "https://registry.npmjs.org/loopback-connector-postgresql/-/loopback-connector-postgresql-8.0.8.tgz", + "integrity": "sha512-Q2u7DD7a4qyxosqws6uNPlfHxOoRaWj48jNGTtZMGqQG38EctRlz0EHU9hl0M/aVsJ4JPgLhCwv2lNCo40yQ4A==", "dev": true, "license": "Artistic-2.0", "dependencies": { @@ -24851,9 +23591,9 @@ } }, "node_modules/loopback-connector-postgresql/node_modules/loopback-connector": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/loopback-connector/-/loopback-connector-7.0.4.tgz", - "integrity": "sha512-Xa0CkuwTYrDI3cB/e5CVJimvUhtNLLmW7XH5U+PME8GaOx0kvyog97ti0cHEXsRqztuDN84cpZqTSCxyhjBHKw==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/loopback-connector/-/loopback-connector-7.0.5.tgz", + "integrity": "sha512-aCTJH6cAAhSTWH2CJiukLGuVrkiAtI8hm6r+pRkjJoGISxw8rCXqWLC3ux0ewq2cZT9VNDAMCmSZEN7G9Yb/wg==", "dev": true, "license": "MIT", "dependencies": { @@ -25165,9 +23905,9 @@ } }, "node_modules/loopback-connector-rest": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/loopback-connector-rest/-/loopback-connector-rest-6.0.5.tgz", - "integrity": "sha512-3r4IBG4kR3awOW0GfwrAGL2hsppNjEVRUbsN/uWYSAXZy0ktl98pDl8DdsSU9ZhnmWkxiPuj39umWyVVsslUGg==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/loopback-connector-rest/-/loopback-connector-rest-6.0.6.tgz", + "integrity": "sha512-BdUPEusOp0SDzqF6KenG7ZGCwuGtt7Ls5wL7rf3zNTGmg3xaRMwb5gS43cnKdvhwOfQTxgZw6TWe1LdPFwcMQQ==", "license": "MIT", "dependencies": { "debug": "^4.1.0", @@ -25185,15 +23925,15 @@ } }, "node_modules/loopback-connector-soap": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/loopback-connector-soap/-/loopback-connector-soap-9.0.7.tgz", - "integrity": "sha512-Y/66rgOjgRGGps4JqG9YzJ6171MOuTe/SyU0NlxT0rKcWMbNBi023uTsENPZar3Xjp2xNS6LzhE7FskUKgYang==", + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/loopback-connector-soap/-/loopback-connector-soap-9.0.8.tgz", + "integrity": "sha512-McrRzgJS0l8nlMYYxUICaY+hXpR2MzBuEw40BrSCGHR5BiSh7cmaO3LJiBWaqZMoSQjkHdekc+VDCa/LyfTdDg==", "license": "MIT", "dependencies": { "debug": "^4.0.1", "postman-request": "^2.88.1-postman.42", "strong-globalize": "^6.0.5", - "strong-soap": "^5.0.2" + "strong-soap": "^5.0.9" }, "engines": { "node": ">=20" @@ -25279,9 +24019,9 @@ } }, "node_modules/loopback-datasource-juggler": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/loopback-datasource-juggler/-/loopback-datasource-juggler-6.0.4.tgz", - "integrity": "sha512-SiyyOUgbEzbNGwY7iwAh9H5CITjbgZUJuuMHowfAbm1A9yb68DIy6Ynm2PQ5XkRov2+K9oD7hWry5FXcqoe81g==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/loopback-datasource-juggler/-/loopback-datasource-juggler-6.0.5.tgz", + "integrity": "sha512-x+LEi3/Se5uRuljA5kMPVLq0ypfqwOnulPmMGGsDr4Gl1t6lVN4q3BNH0X52eISxqAKXpVwxZkW6oyFHtBs7yg==", "license": "MIT", "dependencies": { "async": "^3.2.6", @@ -25289,12 +24029,12 @@ "debug": "^4.4.3", "depd": "^2.0.0", "inflection": "^3.0.2", - "lodash": "^4.17.23", - "loopback-connector": "^7.0.3", - "minimatch": "^10.2.4", + "lodash": "^4.18.1", + "loopback-connector": "^7.0.4", + "minimatch": "^10.2.5", "nanoid": "^3.3.11", "neotraverse": "^0.6.18", - "qs": "^6.15.0", + "qs": "^6.15.1", "strong-globalize": "^6.0.6", "uuid": "^13.0.0" }, @@ -25311,12 +24051,6 @@ "node": ">=18.0.0" } }, - "node_modules/loopback-datasource-juggler/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", - "license": "MIT" - }, "node_modules/loopback-datasource-juggler/node_modules/loopback-connector": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/loopback-connector/-/loopback-connector-7.0.4.tgz", @@ -26510,6 +25244,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-2.3.0.tgz", "integrity": "sha512-GftCCBs6EN8sz3BoWO1bCj8t7YBtT713d8bUgbhg9Iel5kFSqnSvCK06TYIDJAtJ51cSiWkM/YemlT0dfoFycw==", + "license": "MIT", "dependencies": { "@types/node": "^15.6.2", "@types/vinyl": "^2.0.4", @@ -26565,7 +25300,8 @@ "node_modules/mem-fs/node_modules/@types/node": { "version": "15.14.9", "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz", - "integrity": "sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==" + "integrity": "sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==", + "license": "MIT" }, "node_modules/memory-pager": { "version": "1.5.0", @@ -26721,12 +25457,12 @@ "license": "ISC" }, "node_modules/minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^5.0.2" + "brace-expansion": "^5.0.5" }, "engines": { "node": "18 || 20 || >=22" @@ -26745,9 +25481,9 @@ } }, "node_modules/minimatch/node_modules/brace-expansion": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", - "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", "license": "MIT", "dependencies": { "balanced-match": "^4.0.2" @@ -27479,9 +26215,9 @@ } }, "node_modules/mysql2": { - "version": "3.19.1", - "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.19.1.tgz", - "integrity": "sha512-yn4zh+Uxu5J3Zvi6Ao96lJ7BSBRkspHflWQAmOPND+htbpIKDQw99TTvPzgihKO/QyMickZopO4OsnixnpcUwA==", + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.22.0.tgz", + "integrity": "sha512-4jaJYBObj7FhD3lnZhqX1yDMuZN4mQNz+IolDySDXT7fbozMBpeGQNcuWXKUqo4ahkAEfkjUHPjnwuDI0/6VKw==", "devOptional": true, "license": "MIT", "dependencies": { @@ -27570,19 +26306,6 @@ "node": ">=10" } }, - "node_modules/nano-spawn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nano-spawn/-/nano-spawn-2.0.0.tgz", - "integrity": "sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=20.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/nano-spawn?sponsor=1" - } - }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", @@ -28442,9 +27165,9 @@ } }, "node_modules/nyc": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-17.1.0.tgz", - "integrity": "sha512-U42vQ4czpKa0QdI1hu950XuNhYqgoM+ZF1HT+VuUHL9hPfDPVvNQyltmMqdE9bUHMVa+8yNbc3QKTj8zQhlVxQ==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-18.0.0.tgz", + "integrity": "sha512-G5UyHinFkB1BxqGTrmZdB6uIYH0+v7ZnVssuflUDi+J+RhKWyAhRT1RCehBSI6jLFLuUUgFDyLt49mUtdO1XeQ==", "license": "ISC", "dependencies": { "@istanbuljs/load-nyc-config": "^1.0.0", @@ -28456,11 +27179,11 @@ "find-up": "^4.1.0", "foreground-child": "^3.3.0", "get-package-type": "^0.1.0", - "glob": "^7.1.6", + "glob": "^13.0.6", "istanbul-lib-coverage": "^3.0.0", "istanbul-lib-hook": "^3.0.0", "istanbul-lib-instrument": "^6.0.2", - "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-processinfo": "^3.0.0", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.0.2", @@ -28469,27 +27192,17 @@ "p-map": "^3.0.0", "process-on-spawn": "^1.0.0", "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", + "rimraf": "^6.1.3", "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", + "spawn-wrap": "^3.0.0", + "test-exclude": "^8.0.0", "yargs": "^15.0.2" }, "bin": { "nyc": "bin/nyc.js" }, "engines": { - "node": ">=18" - } - }, - "node_modules/nyc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node": "20 || >=22" } }, "node_modules/nyc/node_modules/camelcase": { @@ -28526,21 +27239,17 @@ } }, "node_modules/nyc/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "license": "BlueOak-1.0.0", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, "engines": { - "node": "*" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -28558,6 +27267,15 @@ "node": ">=8" } }, + "node_modules/nyc/node_modules/lru-cache": { + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, "node_modules/nyc/node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -28573,18 +27291,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nyc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/nyc/node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -28624,17 +27330,36 @@ "node": ">=8" } }, + "node_modules/nyc/node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/nyc/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "license": "ISC", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.3.tgz", + "integrity": "sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==", + "license": "BlueOak-1.0.0", "dependencies": { - "glob": "^7.1.3" + "glob": "^13.0.3", + "package-json-from-dist": "^1.0.1" }, "bin": { - "rimraf": "bin.js" + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -29725,9 +28450,9 @@ } }, "node_modules/pacote/node_modules/@npmcli/run-script": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.3.tgz", - "integrity": "sha512-ER2N6itRkzWbbtVmZ9WKaWxVlKlOeBFF1/7xx+KA5J1xKa4JjUwBdb6tDpk0v1qA+d+VDwHI9qmLcXSWcmi+Rw==", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.4.tgz", + "integrity": "sha512-mGUWr1uMnf0le2TwfOZY4SFxZGXGfm4Jtay/nwAa2FLNAKXUoUwaGwBMNH36UHPtinWfTSJ3nqFQr0091CxVGg==", "dev": true, "license": "ISC", "dependencies": { @@ -29735,8 +28460,7 @@ "@npmcli/package-json": "^7.0.0", "@npmcli/promise-spawn": "^9.0.0", "node-gyp": "^12.1.0", - "proc-log": "^6.0.0", - "which": "^6.0.0" + "proc-log": "^6.0.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" @@ -29887,6 +28611,24 @@ "node": "^20.17.0 || >=22.9.0" } }, + "node_modules/pacote/node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/pacote/node_modules/isexe": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", @@ -29898,9 +28640,9 @@ } }, "node_modules/pacote/node_modules/lru-cache": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", - "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -29908,12 +28650,13 @@ } }, "node_modules/pacote/node_modules/make-fetch-happen": { - "version": "15.0.3", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.3.tgz", - "integrity": "sha512-iyyEpDty1mwW3dGlYXAJqC/azFn5PPvgKVwXayOGBSmKLxhKZ9fg4qIan2ePpp1vJIwfFiO34LAPZgq9SZW9Aw==", + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.4.tgz", + "integrity": "sha512-vM2sG+wbVeVGYcCm16mM3d5fuem9oC28n436HjsGO3LcxoTI8LNVa4rwZDn3f76+cWyT4GGJDxjTYU1I2nr6zw==", "dev": true, "license": "ISC", "dependencies": { + "@gar/promise-retry": "^1.0.0", "@npmcli/agent": "^4.0.0", "cacache": "^20.0.1", "http-cache-semantics": "^4.1.1", @@ -29923,7 +28666,6 @@ "minipass-pipeline": "^1.2.4", "negotiator": "^1.0.0", "proc-log": "^6.0.0", - "promise-retry": "^2.0.1", "ssri": "^13.0.0" }, "engines": { @@ -29954,9 +28696,9 @@ } }, "node_modules/pacote/node_modules/minipass-fetch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-5.0.1.tgz", - "integrity": "sha512-yHK8pb0iCGat0lDrs/D6RZmCdaBT64tULXjdxjSMAqoDi18Q3qKEUTHypHQZQd9+FYpIS+lkvpq6C/R6SbUeRw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-5.0.2.tgz", + "integrity": "sha512-2d0q2a8eCi2IRg/IGubCNRJoYbA1+YPXAzQVRFmB45gdGZafyivnZ5YSEfo3JikbjGxOdntGFvBQGqaSMXlAFQ==", "dev": true, "license": "MIT", "dependencies": { @@ -29968,7 +28710,7 @@ "node": "^20.17.0 || >=22.9.0" }, "optionalDependencies": { - "encoding": "^0.1.13" + "iconv-lite": "^0.7.2" } }, "node_modules/pacote/node_modules/minipass-sized": { @@ -30179,9 +28921,9 @@ } }, "node_modules/pacote/node_modules/tar": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.7.tgz", - "integrity": "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==", + "version": "7.5.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.11.tgz", + "integrity": "sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -30351,13 +29093,14 @@ } }, "node_modules/passport": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/passport/-/passport-0.5.3.tgz", - "integrity": "sha512-gGc+70h4gGdBWNsR3FuV3byLDY6KBTJAIExGFXTpQaYfbbcHCBlRRKx7RBQSpqEqc5Hh2qVzRs7ssvSfOpkUEA==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.7.0.tgz", + "integrity": "sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ==", "license": "MIT", "dependencies": { "passport-strategy": "1.x.x", - "pause": "0.0.1" + "pause": "0.0.1", + "utils-merge": "^1.0.1" }, "engines": { "node": ">= 0.4.0" @@ -30630,15 +29373,15 @@ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" }, "node_modules/pg": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.18.0.tgz", - "integrity": "sha512-xqrUDL1b9MbkydY/s+VZ6v+xiMUmOUk7SS9d/1kpyQxoJ6U9AO1oIJyUWVZojbfe5Cc/oluutcgFG4L9RDP1iQ==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.20.0.tgz", + "integrity": "sha512-ldhMxz2r8fl/6QkXnBD3CR9/xg694oT6DZQ2s6c/RI28OjtSOpxnPrUCGOBJ46RCUxcWdx3p6kw/xnDHjKvaRA==", "devOptional": true, "license": "MIT", "dependencies": { - "pg-connection-string": "^2.11.0", - "pg-pool": "^3.11.0", - "pg-protocol": "^1.11.0", + "pg-connection-string": "^2.12.0", + "pg-pool": "^3.13.0", + "pg-protocol": "^1.13.0", "pg-types": "2.2.0", "pgpass": "1.0.5" }, @@ -30666,9 +29409,9 @@ "peer": true }, "node_modules/pg-connection-string": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.11.0.tgz", - "integrity": "sha512-kecgoJwhOpxYU21rZjULrmrBJ698U2RxXofKVzOn5UDj61BPj/qMb7diYUR1nLScCDbrztQFl1TaQZT0t1EtzQ==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.12.0.tgz", + "integrity": "sha512-U7qg+bpswf3Cs5xLzRqbXbQl85ng0mfSV/J0nnA31MCLgvEaAo7CIhmeyrmJpOr7o+zm0rXK+hNnT5l9RHkCkQ==", "license": "MIT" }, "node_modules/pg-hstore": { @@ -30693,9 +29436,9 @@ } }, "node_modules/pg-pool": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.11.0.tgz", - "integrity": "sha512-MJYfvHwtGp870aeusDh+hg9apvOe2zmpZJpyt+BMtzUWlVqbhFmMK6bOBXLBUPd7iRtIF9fZplDc7KrPN3PN7w==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.13.0.tgz", + "integrity": "sha512-gB+R+Xud1gLFuRD/QgOIgGOBE2KCQPaPwkzBBGC9oG69pHTkhQeIuejVIk3/cnDyX39av2AxomQiyPT13WKHQA==", "devOptional": true, "license": "MIT", "peerDependencies": { @@ -30703,9 +29446,9 @@ } }, "node_modules/pg-protocol": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.11.0.tgz", - "integrity": "sha512-pfsxk2M9M3BuGgDOfuy37VNRRX3jmKgMjcvAcWqNDpZSf4cUmv8HSOl5ViRQFsfARFn0KuUQTgLxVMbNq5NW3g==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.13.0.tgz", + "integrity": "sha512-zzdvXfS6v89r6v7OcFCHfHlyG/wvry1ALxZo4LqgUoy7W9xhBDMaqOuMiF3qEV45VqsN6rdlcehHrfDtlCPc8w==", "devOptional": true, "license": "MIT" }, @@ -30751,28 +29494,13 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pidtree": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", - "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", - "dev": true, - "bin": { - "pidtree": "bin/pidtree.js" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/pify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", - "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", - "dev": true, + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, "node_modules/pkg-dir": { @@ -31046,9 +29774,9 @@ } }, "node_modules/prettier": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", - "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.2.tgz", + "integrity": "sha512-8c3mgTe0ASwWAJK+78dpviD+A8EqhndQPUBpNUIPt6+xWlIigCwfN01lWr9MAede4uqXGTEKeQWTvzb3vjia0Q==", "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" @@ -31248,33 +29976,23 @@ } }, "node_modules/properties-reader": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/properties-reader/-/properties-reader-2.3.0.tgz", - "integrity": "sha512-z597WicA7nDZxK12kZqHr2TcvwNU1GCfA5UwfDY/HDp3hXPoPlb5rlEx9bwGTiJnc0OqbBTkU975jDToth8Gxw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/properties-reader/-/properties-reader-3.0.1.tgz", + "integrity": "sha512-WPn+h9RGEExOKdu4bsF4HksG/uzd3cFq3MFtq8PsFeExPse5Ha/VOjQNyHhjboBFwGXGev6muJYTSPAOkROq2g==", "dev": true, + "license": "MIT", "dependencies": { - "mkdirp": "^1.0.4" + "@kwsites/file-exists": "^1.1.1", + "mkdirp": "^3.0.1" }, "engines": { - "node": ">=14" + "node": ">=18" }, "funding": { "type": "github", "url": "https://github.com/steveukx/properties?sponsor=1" } }, - "node_modules/properties-reader/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/proto-list": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", @@ -31408,7 +30126,8 @@ "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true }, "node_modules/psl": { "version": "1.9.0", @@ -31416,12 +30135,12 @@ "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" }, "node_modules/pug": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.3.tgz", - "integrity": "sha512-uBi6kmc9f3SZ3PXxqcHiUZLmIXgfgWooKWXcwSGwQd2Zi5Rb0bT14+8CJjJgI8AB+nndLaNgHGrcc6bPIB665g==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.4.tgz", + "integrity": "sha512-kFfq5mMzrS7+wrl5pLJzZEzemx34OQ0w4SARfhy/3yxTlhbstsudDwJzhf1hP02yHzbjoVMSXUj/Sz6RNfMyXg==", "license": "MIT", "dependencies": { - "pug-code-gen": "^3.0.3", + "pug-code-gen": "^3.0.4", "pug-filters": "^4.0.0", "pug-lexer": "^5.0.1", "pug-linker": "^4.0.0", @@ -31453,9 +30172,9 @@ } }, "node_modules/pug-code-gen": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.3.tgz", - "integrity": "sha512-cYQg0JW0w32Ux+XTeZnBEeuWrAY7/HNE6TWnhiHGnnRYlCgyAUPoyh9KzCMa9WhcJlJ1AtQqpEYHc+vbCzA+Aw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.4.tgz", + "integrity": "sha512-6okWYIKdasTyXICyEtvobmTZAVX57JkzgzIi4iRJlin8kmhG+Xry2dsus+Mun/nGCn6F2U49haHI5mkELXB14g==", "license": "MIT", "dependencies": { "constantinople": "^4.0.1", @@ -31659,9 +30378,9 @@ } }, "node_modules/puppeteer": { - "version": "24.39.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.39.0.tgz", - "integrity": "sha512-uMpGyuPqz94YInmdHSbD9ssgwsddrwe8qXr08UaEwjzrEvOa8gGl8za0h+MWoEG+/6sIBsJwzRfwuGCYRbbcpg==", + "version": "24.40.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.40.0.tgz", + "integrity": "sha512-IxQbDq93XHVVLWHrAkFP7F7iHvb9o0mgfsSIMlhHb+JM+JjM1V4v4MNSQfcRWJopx9dsNOr9adYv0U5fm9BJBQ==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", @@ -31670,7 +30389,7 @@ "chromium-bidi": "14.0.0", "cosmiconfig": "^9.0.0", "devtools-protocol": "0.0.1581282", - "puppeteer-core": "24.39.0", + "puppeteer-core": "24.40.0", "typed-query-selector": "^2.12.1" }, "bin": { @@ -31681,9 +30400,9 @@ } }, "node_modules/puppeteer-core": { - "version": "24.39.0", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.39.0.tgz", - "integrity": "sha512-SzIxz76Kgu17HUIi57HOejPiN0JKa9VCd2GcPY1sAh6RA4BzGZarFQdOYIYrBdUVbtyH7CrDb9uhGEwVXK/YNA==", + "version": "24.40.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.40.0.tgz", + "integrity": "sha512-MWL3XbUCfVgGR0gRsidzT6oKJT2QydPLhMITU6HoVWiiv4gkb6gJi3pcdAa8q4HwjBTbqISOWVP4aJiiyUJvag==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -31700,9 +30419,9 @@ } }, "node_modules/qs": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz", - "integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==", + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==", "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.1.0" @@ -32392,6 +31111,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -32750,10 +31470,13 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sax": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", - "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", - "license": "ISC" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } }, "node_modules/schema-utils": { "version": "4.3.3", @@ -33460,16 +32183,15 @@ } }, "node_modules/sinon": { - "version": "21.0.2", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-21.0.2.tgz", - "integrity": "sha512-VHV4UaoxIe5jrMd89Y9duI76T5g3Lp+ET+ctLhLDaZtSznDPah1KKpRElbdBV4RwqWSw2vadFiVs9Del7MbVeQ==", + "version": "21.1.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-21.1.2.tgz", + "integrity": "sha512-FS6mN+/bx7e2ajpXkEmOcWB6xBzWiuNoAQT18/+a20SS4U7FSYl8Ms7N6VTUxN/1JAjkx7aXp+THMC8xdpp0gA==", "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.1", - "@sinonjs/fake-timers": "^15.1.1", - "@sinonjs/samsam": "^9.0.2", - "diff": "^8.0.3", - "supports-color": "^7.2.0" + "@sinonjs/fake-timers": "^15.3.2", + "@sinonjs/samsam": "^10.0.2", + "diff": "^8.0.4" }, "funding": { "type": "opencollective", @@ -33477,9 +32199,9 @@ } }, "node_modules/sinon/node_modules/diff": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.3.tgz", - "integrity": "sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz", + "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==", "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" @@ -33717,14 +32439,16 @@ } }, "node_modules/spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-3.0.0.tgz", + "integrity": "sha512-z+s5vv4KzFPJVddGab0xX2n7kQPGMdNUX5l9T8EJqsXdKTWpcxmAqWHpsgHEXoC1taGBCc7b79bi62M5kdbrxQ==", + "license": "BlueOak-1.0.0", "dependencies": { + "cross-spawn": "^7.0.6", "foreground-child": "^2.0.0", "is-windows": "^1.0.2", "make-dir": "^3.0.0", - "rimraf": "^3.0.0", + "rimraf": "^6.1.3", "signal-exit": "^3.0.2", "which": "^2.0.1" }, @@ -33732,15 +32456,6 @@ "node": ">=8" } }, - "node_modules/spawn-wrap/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/spawn-wrap/node_modules/foreground-child": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", @@ -33754,19 +32469,17 @@ } }, "node_modules/spawn-wrap/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "license": "BlueOak-1.0.0", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, "engines": { - "node": "*" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -33777,6 +32490,15 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, + "node_modules/spawn-wrap/node_modules/lru-cache": { + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, "node_modules/spawn-wrap/node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -33791,26 +32513,36 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/spawn-wrap/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/spawn-wrap/node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^1.1.7" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { - "node": "*" + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/spawn-wrap/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.3.tgz", + "integrity": "sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==", + "license": "BlueOak-1.0.0", "dependencies": { - "glob": "^7.1.3" + "glob": "^13.0.3", + "package-json-from-dist": "^1.0.1" }, "bin": { - "rimraf": "bin.js" + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -34720,6 +33452,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz", "integrity": "sha512-1sUIL1jck0T1mhOLP2c696BIznzT525Lkub+n4jjMHjhjhoAQA6Ye659DxdlZBr0aLDMQoTxKIpnlqxgtwjsuQ==", + "license": "MIT", "dependencies": { "is-utf8": "^0.2.1" }, @@ -34731,6 +33464,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz", "integrity": "sha512-yH0+mD8oahBZWnY43vxs4pSinn8SMKAdml/EOGBewoe1Y0Eitd0h2Mg3ZRiXruUW6L4P+lvZiEgbh0NgUGia1w==", + "license": "MIT", "dependencies": { "first-chunk-stream": "^2.0.0", "strip-bom": "^2.0.0" @@ -34743,6 +33477,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "license": "MIT", "dependencies": { "is-utf8": "^0.2.0" }, @@ -34790,9 +33525,9 @@ } }, "node_modules/strong-error-handler": { - "version": "5.0.29", - "resolved": "https://registry.npmjs.org/strong-error-handler/-/strong-error-handler-5.0.29.tgz", - "integrity": "sha512-qeG7I2Dh62h3ZG1nfARQEZEKwRJzBurLipqRk6OPw8ScoynsGK54ui4v7rnry7c1nsfGWURzl9eAyDG7avlKRg==", + "version": "5.0.30", + "resolved": "https://registry.npmjs.org/strong-error-handler/-/strong-error-handler-5.0.30.tgz", + "integrity": "sha512-W6Y4jTXt5Fa+jExgeglCht/0ZoJ9z89w/bIKvI7kFw5HQhoop1e+Gf7kttQ3f7LIMifUWenu9lZ6Yfrb3RJl9w==", "license": "MIT", "dependencies": { "accepts": "^1.3.8", @@ -35104,18 +33839,18 @@ "integrity": "sha512-Mbe56Dvj00onbnSo9J0qj/XlY5bfN9KidsOnpd5tRCsR3ekB3hyyNU9fGrTdqNT5ZNvv4BsA2TcQlignsZyVcw==" }, "node_modules/strong-soap": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/strong-soap/-/strong-soap-5.0.2.tgz", - "integrity": "sha512-Ot43KuzZNcSreOm5r3qYx709CX/4Agy1QsCdaecNuf8BQuxqSRI+Owber3vaYDNyUfYa5dB8QMv1Bm2CFvX9Bw==", + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/strong-soap/-/strong-soap-5.0.9.tgz", + "integrity": "sha512-atm2twxlZGjamCjNUn400b4l3OoHo7utAMyVJZwvjz6OrC86KxWZG8TtUX+hxbMSXqZ2eoaboqLfo9DCkBzU2Q==", "license": "MIT", "dependencies": { - "@cypress/request": "^3.0.9", + "@cypress/request": "^3.0.10", "compress": "^0.99.0", - "debug": "^4.4.1", + "debug": "^4.4.3", "httpntlm": "^1.8.13", - "lodash": "^4.17.21", + "lodash": "^4.18.1", "node-rsa": "^1.1.1", - "sax": "^1.4.1", + "sax": "^1.6.0", "selectn": "^1.3.0", "strong-globalize": "^6.0.6", "uuid": "^11.1.0", @@ -35303,9 +34038,9 @@ } }, "node_modules/swagger-ui-dist": { - "version": "5.31.0", - "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.31.0.tgz", - "integrity": "sha512-zSUTIck02fSga6rc0RZP3b7J7wgHXwLea8ZjgLA3Vgnb8QeOl3Wou2/j5QkzSGeoz6HusP/coYuJl33aQxQZpg==", + "version": "5.32.2", + "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.32.2.tgz", + "integrity": "sha512-t6Ns52nS8LU2hqi0+rezMjFO1ZrCsCrnommXrU7Nfrg2va2dWahdvM6TuSwzdHpG29v6BHJyU1c/UWFhgVZzVQ==", "license": "Apache-2.0", "dependencies": { "@scarf/scarf": "=1.4.0" @@ -35777,13 +34512,14 @@ "bintrees": "1.0.2" } }, - "node_modules/temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==", + "node_modules/teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", "dev": true, - "engines": { - "node": ">=4" + "license": "MIT", + "dependencies": { + "streamx": "^2.12.5" } }, "node_modules/tempy": { @@ -35911,79 +34647,83 @@ "dev": true }, "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-8.0.0.tgz", + "integrity": "sha512-ZOffsNrXYggvU1mDGHk54I96r26P8SyMjO5slMKSc7+IWmtB/MQKnEC2fP51imB3/pT6YK5cT5E8f+Dd9KdyOQ==", + "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "glob": "^13.0.6", + "minimatch": "^10.2.2" }, "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node": "20 || >=22" } }, "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "license": "BlueOak-1.0.0", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, "engines": { - "node": "*" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/test-exclude/node_modules/lru-cache": { + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/test-exclude/node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^1.1.7" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { - "node": "*" + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/testcontainers": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/testcontainers/-/testcontainers-11.11.0.tgz", - "integrity": "sha512-nKTJn3n/gkyGg/3SVkOwX+isPOGSHlfI+CWMobSmvQrsj7YW01aWvl2pYIfV4LMd+C8or783yYrzKSK2JlP+Qw==", + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/testcontainers/-/testcontainers-11.14.0.tgz", + "integrity": "sha512-r9pniwv/iwzyHaI7gwAvAm4Y+IvjJg3vBWdjrUCaDMc2AXIr4jKbq7jJO18Mw2ybs73pZy1Aj7p/4RVBGMRWjg==", "dev": true, "license": "MIT", "dependencies": { "@balena/dockerignore": "^1.0.2", - "@types/dockerode": "^3.3.47", + "@types/dockerode": "^4.0.1", "archiver": "^7.0.1", "async-lock": "^1.4.1", "byline": "^5.0.0", "debug": "^4.4.3", - "docker-compose": "^1.3.0", - "dockerode": "^4.0.9", - "get-port": "^7.1.0", + "docker-compose": "^1.4.2", + "dockerode": "^4.0.10", + "get-port": "^7.2.0", "proper-lockfile": "^4.1.2", - "properties-reader": "^2.3.0", + "properties-reader": "^3.0.1", "ssh-remote-port-forward": "^1.0.4", - "tar-fs": "^3.1.1", + "tar-fs": "^3.1.2", "tmp": "^0.2.5", - "undici": "^7.16.0" + "undici": "^7.24.5" } }, "node_modules/testcontainers/node_modules/chownr": { @@ -35994,9 +34734,9 @@ "license": "ISC" }, "node_modules/testcontainers/node_modules/docker-modem": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-5.0.6.tgz", - "integrity": "sha512-ens7BiayssQz/uAxGzH8zGXCtiV24rRWXdjNha5V4zSOcxmAZsfGVm/PPFbwQdqEkDnhG+SyR9E3zSHUbOKXBQ==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-5.0.7.tgz", + "integrity": "sha512-XJgGhoR/CLpqshm4d3L7rzH6t8NgDFUIIpztYlLHIApeJjMZKYJMz2zxPsYxnejq5h3ELYSw/RBsi3t5h7gNTA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -36010,16 +34750,16 @@ } }, "node_modules/testcontainers/node_modules/dockerode": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.9.tgz", - "integrity": "sha512-iND4mcOWhPaCNh54WmK/KoSb35AFqPAUWFMffTQcp52uQt36b5uNwEJTSXntJZBbeGad72Crbi/hvDIv6us/6Q==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.10.tgz", + "integrity": "sha512-8L/P9JynLBiG7/coiA4FlQXegHltRqS0a+KqI44P1zgQh8QLHTg7FKOwhkBgSJwZTeHsq30WRoVFLuwkfK0YFg==", "dev": true, "license": "Apache-2.0", "dependencies": { "@balena/dockerignore": "^1.0.2", "@grpc/grpc-js": "^1.11.1", "@grpc/proto-loader": "^0.7.13", - "docker-modem": "^5.0.6", + "docker-modem": "^5.0.7", "protobufjs": "^7.3.2", "tar-fs": "^2.1.4", "uuid": "^10.0.0" @@ -36041,19 +34781,6 @@ "tar-stream": "^2.1.4" } }, - "node_modules/testcontainers/node_modules/get-port": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-7.1.0.tgz", - "integrity": "sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/testcontainers/node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -36070,9 +34797,9 @@ } }, "node_modules/testcontainers/node_modules/tar-fs": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.1.tgz", - "integrity": "sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.2.tgz", + "integrity": "sha512-QGxxTxxyleAdyM3kpFs14ymbYmNFrfY+pHj7Z8FgtbZ7w2//VAgLMac7sT6nRpIHjppXO2AwwEOg0bPFVRcmXw==", "dev": true, "license": "MIT", "dependencies": { @@ -36085,13 +34812,14 @@ } }, "node_modules/testcontainers/node_modules/tar-fs/node_modules/tar-stream": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", - "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.8.tgz", + "integrity": "sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ==", "dev": true, "license": "MIT", "dependencies": { "b4a": "^1.6.4", + "bare-fs": "^4.5.5", "fast-fifo": "^1.2.0", "streamx": "^2.15.0" } @@ -36107,9 +34835,9 @@ } }, "node_modules/testcontainers/node_modules/undici": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.17.0.tgz", - "integrity": "sha512-JMcHKwIp6E5xjyHQr4mK5xcvo6YiMGkE2Pwo06GFLGVh/U22jjFIVG30KiZhD3/yNEgPJKL0iWkwBiG0GF0Ccw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.7.tgz", + "integrity": "sha512-H/nlJ/h0ggGC+uRL3ovD+G0i4bqhvsDOpbDv7At5eFLlj2b41L8QliGbnl2H7SnDiYhENphh1tQFJZf+MyfLsQ==", "dev": true, "license": "MIT", "engines": { @@ -36226,19 +34954,23 @@ } }, "node_modules/tinyexec": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.1.tgz", - "integrity": "sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==", - "dev": true + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.4.tgz", + "integrity": "sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } }, "node_modules/tinyglobby": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "license": "MIT", "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" + "fdir": "^6.5.0", + "picomatch": "^4.0.3" }, "engines": { "node": ">=12.0.0" @@ -37446,9 +36178,9 @@ } }, "node_modules/validator": { - "version": "13.15.26", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.26.tgz", - "integrity": "sha512-spH26xU080ydGggxRyR1Yhcbgx+j3y5jbNXk/8L+iRvdIEQ4uTRH2Sgf2dokud6Q4oAtsbNvJ1Ft+9xmm6IZcA==", + "version": "13.15.35", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.35.tgz", + "integrity": "sha512-TQ5pAGhd5whStmqWvYF4OjQROlmv9SMFVt37qoCBdqRffuuklWYQlCNnEs2ZaIBD1kZRNnikiZOS1eqgkar0iw==", "license": "MIT", "engines": { "node": ">= 0.10" @@ -37484,10 +36216,24 @@ "extsprintf": "^1.2.0" } }, + "node_modules/version-range": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/version-range/-/version-range-4.15.0.tgz", + "integrity": "sha512-Ck0EJbAGxHwprkzFO966t4/5QkRuzh+/I1RxhLgUKKwEn+Cd8NwM60mE3AqBZg5gYODoXW0EFsQvbZjRlvdqbg==", + "dev": true, + "license": "Artistic-2.0", + "engines": { + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, "node_modules/vinyl": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "license": "MIT", "dependencies": { "clone": "^2.1.1", "clone-buffer": "^1.0.0", @@ -37504,6 +36250,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-3.0.0.tgz", "integrity": "sha512-BoJDj+ca3D9xOuPEM6RWVtWQtvEPQiQYn82LvdxhLWplfQsBzBqtgK0yhCP0s1BNTi6dH9BO+dzybvyQIacifg==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "pify": "^2.3.0", @@ -37515,14 +36262,6 @@ "node": ">=4" } }, - "node_modules/vinyl-file/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/viz.js": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/viz.js/-/viz.js-2.1.2.tgz", @@ -37585,9 +36324,9 @@ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/webpack": { - "version": "5.105.4", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.4.tgz", - "integrity": "sha512-jTywjboN9aHxFlToqb0K0Zs9SbBoW4zRUlGzI2tYNxVYcEi/IPpn+Xi4ye5jTLvX2YeLuic/IvxNot+Q1jMoOw==", + "version": "5.106.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.106.1.tgz", + "integrity": "sha512-EW8af29ak8Oaf4T8k8YsajjrDBDYgnKZ5er6ljWFJsXABfTNowQfvHLftwcepVgdz+IoLSdEAbBiM9DFXoll9w==", "dev": true, "license": "MIT", "dependencies": { @@ -37634,18 +36373,15 @@ } }, "node_modules/webpack-cli": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-6.0.1.tgz", - "integrity": "sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-7.0.2.tgz", + "integrity": "sha512-dB0R4T+C/8YuvM+fabdvil6QE44/ChDXikV5lOOkrUeCkW5hTJv2pGLE3keh+D5hjYw8icBaJkZzpFoaHV4T+g==", "dev": true, + "license": "MIT", "dependencies": { - "@discoveryjs/json-ext": "^0.6.1", - "@webpack-cli/configtest": "^3.0.1", - "@webpack-cli/info": "^3.0.1", - "@webpack-cli/serve": "^3.0.1", - "colorette": "^2.0.14", - "commander": "^12.1.0", - "cross-spawn": "^7.0.3", + "@discoveryjs/json-ext": "^1.0.0", + "commander": "^14.0.3", + "cross-spawn": "^7.0.6", "envinfo": "^7.14.0", "fastest-levenshtein": "^1.0.12", "import-local": "^3.0.2", @@ -37657,14 +36393,16 @@ "webpack-cli": "bin/cli.js" }, "engines": { - "node": ">=18.12.0" + "node": ">=20.9.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^5.82.0" + "webpack": "^5.101.0", + "webpack-bundle-analyzer": "^4.0.0 || ^5.0.0", + "webpack-dev-server": "^5.0.0" }, "peerDependenciesMeta": { "webpack-bundle-analyzer": { @@ -37676,19 +36414,21 @@ } }, "node_modules/webpack-cli/node_modules/commander": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", - "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz", + "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==", "dev": true, + "license": "MIT", "engines": { - "node": ">=18" + "node": ">=20" } }, "node_modules/webpack-cli/node_modules/envinfo": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", - "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.21.0.tgz", + "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==", "dev": true, + "license": "MIT", "bin": { "envinfo": "dist/cli.js" }, @@ -38244,9 +36984,9 @@ } }, "node_modules/ws": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", - "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", + "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", "license": "MIT", "engines": { "node": ">=10.0.0" @@ -38382,9 +37122,9 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", - "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", "dev": true, "license": "ISC", "bin": { @@ -38392,6 +37132,9 @@ }, "engines": { "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" } }, "node_modules/yamljs": { @@ -40030,23 +38773,23 @@ }, "packages/authentication": { "name": "@loopback/authentication", - "version": "12.0.12", + "version": "12.0.13", "license": "MIT", "dependencies": { - "@loopback/security": "^0.12.11", + "@loopback/security": "^0.12.12", "@types/express": "^4.17.25", "@types/lodash": "^4.17.24", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/openapi-spec-builder": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126", + "@loopback/openapi-spec-builder": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39", "jsonwebtoken": "^9.0.3" }, "engines": { @@ -40058,33 +38801,38 @@ } }, "packages/authentication/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } }, - "packages/authentication/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "packages/authentication/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, "license": "MIT" }, "packages/authorization": { "name": "@loopback/authorization", - "version": "0.16.11", + "version": "0.16.12", "license": "MIT", "dependencies": { - "@loopback/security": "^0.12.11", + "@loopback/security": "^0.12.12", "debug": "^4.4.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126", - "casbin": "^5.48.0" + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39", + "casbin": "^5.49.0" }, "engines": { "node": "20 || 22 || 24" @@ -40094,32 +38842,43 @@ } }, "packages/authorization/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "packages/authorization/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "packages/boot": { "name": "@loopback/boot", - "version": "8.0.11", + "version": "8.0.12", "license": "MIT", "dependencies": { - "@loopback/model-api-builder": "^7.0.11", - "@loopback/repository": "^8.0.10", - "@loopback/service-proxy": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/model-api-builder": "^7.0.12", + "@loopback/repository": "^8.0.11", + "@loopback/service-proxy": "^8.0.11", + "@types/debug": "^4.1.13", "debug": "^4.4.3", - "glob": "^11.1.0", + "glob": "^13.0.6", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/rest": "^15.0.11", - "@loopback/rest-crud": "^0.19.11", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126" + "@loopback/rest": "^15.0.12", + "@loopback/rest-crud": "^0.19.12", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39" }, "engines": { "node": "20 || 22 || 24" @@ -40129,14 +38888,67 @@ } }, "packages/boot/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "packages/boot/node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/boot/node_modules/lru-cache": { + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "packages/boot/node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/boot/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "packages/booter-lb3app": { "name": "@loopback/booter-lb3app", - "version": "7.0.11", + "version": "7.0.12", "license": "MIT", "dependencies": { "@types/express": "^4.17.25", @@ -40147,16 +38959,16 @@ "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/boot": "^8.0.12", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "compression": "^1.8.1", "cors": "^2.8.6", "helmet": "^4.6.0", @@ -40172,28 +38984,39 @@ } }, "packages/booter-lb3app/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "packages/booter-lb3app/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "packages/build": { "name": "@loopback/build", - "version": "12.0.10", + "version": "12.0.11", "license": "MIT", "dependencies": { "@loopback/eslint-config": "^16.0.1", "@types/mocha": "^10.0.10", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "cross-spawn": "^7.0.6", "debug": "^4.4.3", "eslint": "^8.57.1", "fs-extra": "^11.3.4", - "glob": "^11.1.0", - "lodash": "^4.17.23", + "glob": "^13.0.6", + "lodash": "^4.18.1", "mocha": "^11.7.5", - "nyc": "^17.1.0", - "prettier": "^3.8.1", + "nyc": "^18.0.0", + "prettier": "^3.8.2", "rimraf": "^5.0.10", "source-map-support": "^0.5.21", "typescript": "~5.2.2" @@ -40212,19 +39035,65 @@ } }, "packages/build/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==" - }, - "packages/build/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "packages/build/node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/build/node_modules/lru-cache": { + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "packages/build/node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/build/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "license": "MIT" }, "packages/cli": { "name": "@loopback/cli", - "version": "7.0.12", + "version": "7.0.13", "license": "MIT", "dependencies": { "@npmcli/map-workspaces": "^5.0.3", @@ -40237,16 +39106,16 @@ "change-case": "^4.1.2", "debug": "^4.4.3", "fs-extra": "^11.3.4", - "glob": "^11.1.0", + "glob": "^13.0.6", "inquirer-autocomplete-prompt": "^2.0.1", "json5": "^2.2.3", "latest-version": "^5.1.0", - "lodash": "^4.17.23", - "minimatch": "^10.2.4", + "lodash": "^4.18.1", + "minimatch": "^10.2.5", "minimist": "^1.2.8", "mkdirp": "^3.0.1", "natural-compare": "^1.4.0", - "pacote": "^21.3.1", + "pacote": "^21.5.0", "pluralize": "^8.0.0", "regenerate": "^1.4.2", "semver": "^7.7.4", @@ -40274,21 +39143,21 @@ "lb4": "bin/cli-main.js" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", + "@loopback/testlab": "^8.0.11", "@types/ejs": "^3.1.5", "@types/fs-extra": "^11.0.4", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "@types/yeoman-environment": "^2.10.11", "@types/yeoman-generator": "^5.2.14", "loopback": "^3.28.0", - "loopback-datasource-juggler": "^6.0.4", - "mem-fs": "^2.3.0", - "mem-fs-editor": "^9.7.0", + "loopback-datasource-juggler": "^6.0.5", + "mem-fs": "^4.1.4", + "mem-fs-editor": "^12.0.3", "mock-stdin": "^1.0.0", "rimraf": "^5.0.10", - "sinon": "^21.0.2", + "sinon": "^21.1.2", "strong-globalize-cli": "7.1.1", "yeoman-assert": "^3.1.1", "yeoman-test": "^6.3.0" @@ -40487,10 +39356,14 @@ } }, "packages/cli/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } }, "packages/cli/node_modules/abbrev": { "version": "3.0.1", @@ -40510,6 +39383,48 @@ "node": ">= 14" } }, + "packages/cli/node_modules/array-differ": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-4.0.0.tgz", + "integrity": "sha512-Q6VPTLMsmXZ47ENG3V+wQyZS1ZxXMxFyYzA+Z/GMrJ6yIutAIEf9wTyroTzmGjNfox9/h3GdGBCVh43GVFx4Uw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/cli/node_modules/array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/cli/node_modules/binaryextensions": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-6.11.0.tgz", + "integrity": "sha512-sXnYK/Ij80TO3lcqZVV2YgfKN5QjUWIRk/XSm2J/4bd/lPko3lvk0O4ZppH6m+6hB2/GTu+ptNwVFe1xh+QLQw==", + "dev": true, + "license": "Artistic-2.0", + "dependencies": { + "editions": "^6.21.0" + }, + "engines": { + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, "packages/cli/node_modules/camelcase-keys": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", @@ -40537,6 +39452,77 @@ "node": ">=18" } }, + "packages/cli/node_modules/ejs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-4.0.1.tgz", + "integrity": "sha512-krvQtxc0btwSm/nvnt1UpnaFDFVJpJ0fdckmALpCgShsr/iGYHTnJiUliZTgmzq/UxTX33TtOQVKaNigMQp/6Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.9.1" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.12.18" + } + }, + "packages/cli/node_modules/first-chunk-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-5.0.0.tgz", + "integrity": "sha512-WdHo4ejd2cG2Dl+sLkW79SctU7mUQDfr4s1i26ffOZRs5mgv+BRttIM9gwcq0rDbemo0KlpVPaa3LBVLqPXzcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/cli/node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/cli/node_modules/glob/node_modules/lru-cache": { + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "packages/cli/node_modules/glob/node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "packages/cli/node_modules/http-proxy-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", @@ -40589,12 +39575,6 @@ "node": ">=0.10.0" } }, - "packages/cli/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", - "license": "MIT" - }, "packages/cli/node_modules/make-fetch-happen": { "version": "14.0.3", "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz", @@ -40690,6 +39670,60 @@ "url": "https://github.com/sponsors/isaacs" } }, + "packages/cli/node_modules/mem-fs": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-4.1.4.tgz", + "integrity": "sha512-NlRHmUiEcxDHI7FeDlrrTZP5YFvnoS74wEf5OrQ7NAg83B2Rv3oF+FWr961I0rVdxkKbZMjq2BcV7VFWGFPkog==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": ">=18", + "@types/vinyl": "^2.0.12", + "vinyl": "^3.0.1", + "vinyl-file": "^5.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "packages/cli/node_modules/mem-fs-editor": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-12.0.3.tgz", + "integrity": "sha512-RVfJmfthkI/2b8Woy0r1HXAq/vKbnIyvfn7y7JdKO9sngIwYKARvqf/XrdOr2eokn+shQi7TLwXHB0ZyMTnjog==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ejs": "^3.1.5", + "@types/picomatch": "^4.0.2", + "binaryextensions": "^6.11.0", + "commondir": "^1.0.1", + "debug": "^4.4.3", + "deep-extend": "^0.6.0", + "ejs": "^4.0.1", + "isbinaryfile": "5.0.7", + "minimatch": "^10.2.4", + "multimatch": "^8.0.0", + "normalize-path": "^3.0.0", + "textextensions": "^6.11.0", + "tinyglobby": "^0.2.15", + "vinyl": "^3.0.1" + }, + "acceptDependencies": { + "isbinaryfile": "^6.0.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@types/node": ">=20", + "mem-fs": "^4.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, "packages/cli/node_modules/minipass-collect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", @@ -40731,6 +39765,24 @@ "node": ">= 18" } }, + "packages/cli/node_modules/multimatch": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-8.0.0.tgz", + "integrity": "sha512-0D10M2/MnEyvoog7tmozlpSqL3HEU1evxUFa3v1dsKYmBDFSP1dLSX4CH2rNjpQ+4Fps8GKmUkCwiKryaKqd9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-differ": "^4.0.0", + "array-union": "^3.0.1", + "minimatch": "^10.2.2" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "packages/cli/node_modules/negotiator": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", @@ -40909,11 +39961,12 @@ } }, "packages/cli/node_modules/pacote": { - "version": "21.3.1", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.3.1.tgz", - "integrity": "sha512-O0EDXi85LF4AzdjG74GUwEArhdvawi/YOHcsW6IijKNj7wm8IvEWNF5GnfuxNpQ/ZpO3L37+v8hqdVh8GgWYhg==", + "version": "21.5.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.5.0.tgz", + "integrity": "sha512-VtZ0SB8mb5Tzw3dXDfVAIjhyVKUHZkS/ZH9/5mpKenwC9sFOXNI0JI7kEF7IMkwOnsWMFrvAZHzx1T5fmrp9FQ==", "license": "ISC", "dependencies": { + "@gar/promise-retry": "^1.0.0", "@npmcli/git": "^7.0.0", "@npmcli/installed-package-contents": "^4.0.0", "@npmcli/package-json": "^7.0.0", @@ -40927,7 +39980,6 @@ "npm-pick-manifest": "^11.0.1", "npm-registry-fetch": "^19.0.0", "proc-log": "^6.0.0", - "promise-retry": "^2.0.1", "sigstore": "^4.0.0", "ssri": "^13.0.0", "tar": "^7.4.3" @@ -41107,6 +40159,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "packages/cli/node_modules/replace-ext": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, "packages/cli/node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", @@ -41175,6 +40237,39 @@ "node": ">=4" } }, + "packages/cli/node_modules/strip-bom-buf": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-3.0.1.tgz", + "integrity": "sha512-iJaWw2WroigLHzQysdc5WWeUc99p7ea7AEgB6JkY8CMyiO1yTVAA1gIlJJgORElUIR+lcZJkNl1OGChMhvc2Cw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-utf8": "^0.2.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/cli/node_modules/strip-bom-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-5.0.0.tgz", + "integrity": "sha512-Yo472mU+3smhzqeKlIxClre4s4pwtYZEvDNQvY/sJpnChdaxmKuwU28UVx/v1ORKNMxkmj1GBuvxJQyBk6wYMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "first-chunk-stream": "^5.0.0", + "strip-bom-buf": "^3.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "packages/cli/node_modules/tar": { "version": "7.4.3", "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", @@ -41192,6 +40287,22 @@ "node": ">=18" } }, + "packages/cli/node_modules/textextensions": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-6.11.0.tgz", + "integrity": "sha512-tXJwSr9355kFJI3lbCkPpUH5cP8/M0GGy2xLO34aZCjMXBaK3SoPnZwr/oWmo1FdCnELcs4npdCIOFtq9W3ruQ==", + "dev": true, + "license": "Artistic-2.0", + "dependencies": { + "editions": "^6.21.0" + }, + "engines": { + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, "packages/cli/node_modules/tuf-js": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-4.0.0.tgz", @@ -41228,6 +40339,13 @@ "node": "^20.17.0 || >=22.9.0" } }, + "packages/cli/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, "packages/cli/node_modules/unique-filename": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", @@ -41261,6 +40379,41 @@ "node": "^18.17.0 || >=20.5.0" } }, + "packages/cli/node_modules/vinyl": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz", + "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^2.1.2", + "remove-trailing-separator": "^1.1.0", + "replace-ext": "^2.0.0", + "teex": "^1.0.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "packages/cli/node_modules/vinyl-file": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-5.0.0.tgz", + "integrity": "sha512-MvkPF/yA1EX7c6p+juVIvp9+Lxp70YUfNKzEWeHMKpUNVSnTZh2coaOqLxI0pmOe2V9nB+OkgFaMDkodaJUyGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/vinyl": "^2.0.7", + "strip-bom-buf": "^3.0.1", + "strip-bom-stream": "^5.0.0", + "vinyl": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "packages/cli/node_modules/write-file-atomic": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-7.0.1.tgz", @@ -41284,11 +40437,11 @@ }, "packages/context": { "name": "@loopback/context", - "version": "8.0.10", + "version": "8.0.11", "license": "MIT", "dependencies": { - "@loopback/metadata": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/metadata": "^8.0.11", + "@types/debug": "^4.1.13", "debug": "^4.4.3", "hyperid": "^3.3.0", "p-event": "^4.2.0", @@ -41296,11 +40449,11 @@ "uuid": "^13.0.0" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", + "@loopback/testlab": "^8.0.11", "@types/bluebird": "^3.5.42", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "@types/uuid": "^11.0.0", "bluebird": "^3.7.2" }, @@ -41309,36 +40462,58 @@ } }, "packages/context/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "packages/context/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "packages/core": { "name": "@loopback/core", - "version": "7.0.10", + "version": "7.0.11", "license": "MIT", "dependencies": { - "@loopback/context": "^8.0.10", + "@loopback/context": "^8.0.11", "debug": "^4.4.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126" + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39" }, "engines": { "node": "20 || 22 || 24" } }, "packages/core/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "packages/core/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "packages/eslint-config": { "name": "@loopback/eslint-config", @@ -41360,10 +40535,10 @@ }, "packages/express": { "name": "@loopback/express", - "version": "8.0.10", + "version": "8.0.11", "license": "MIT", "dependencies": { - "@loopback/http-server": "^7.0.10", + "@loopback/http-server": "^7.0.11", "@types/body-parser": "^1.19.6", "@types/express": "^4.17.25", "@types/express-serve-static-core": "^4.19.8", @@ -41377,11 +40552,11 @@ "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39", "@types/on-finished": "^2.3.5", "@types/toposort": "^2.0.7", "source-map-support": "^0.5.21", @@ -41395,22 +40570,33 @@ } }, "packages/express/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "packages/express/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "packages/filter": { "name": "@loopback/filter", - "version": "6.0.10", + "version": "6.0.11", "license": "MIT", "dependencies": { "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126", + "@loopback/build": "^12.0.11", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39", "typescript": "~5.2.2" }, "engines": { @@ -41418,28 +40604,39 @@ } }, "packages/filter/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "packages/filter/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "packages/http-caching-proxy": { "name": "@loopback/http-caching-proxy", - "version": "7.0.10", + "version": "7.0.11", "license": "MIT", "dependencies": { - "axios": "^1.13.6", - "cacache": "^20.0.3", + "axios": "^1.15.0", + "cacache": "^20.0.4", "debug": "^4.4.3", "rimraf": "^5.0.10", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39", "@types/tunnel": "0.0.7", "delay": "^7.0.0", "tunnel": "0.0.6" @@ -41449,14 +40646,25 @@ } }, "packages/http-caching-proxy/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "packages/http-caching-proxy/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "packages/http-server": { "name": "@loopback/http-server", - "version": "7.0.10", + "version": "7.0.11", "license": "MIT", "dependencies": { "debug": "^4.4.3", @@ -41464,12 +40672,12 @@ "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39", "@types/stoppable": "^1.1.3" }, "engines": { @@ -41477,57 +40685,73 @@ } }, "packages/http-server/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "packages/http-server/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "packages/metadata": { "name": "@loopback/metadata", - "version": "8.0.10", + "version": "8.0.11", "license": "MIT", "dependencies": { "debug": "^4.4.3", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "reflect-metadata": "^0.2.1", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126" + "@types/node": "^20.19.39" }, "engines": { "node": "20 || 22 || 24" } }, "packages/metadata/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } }, - "packages/metadata/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "packages/metadata/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, "license": "MIT" }, "packages/model-api-builder": { "name": "@loopback/model-api-builder", - "version": "7.0.11", + "version": "7.0.12", "license": "MIT", "dependencies": { "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@types/node": "^16.18.126" + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@types/node": "^20.19.39" }, "engines": { "node": "20 || 22 || 24" @@ -41538,59 +40762,81 @@ } }, "packages/model-api-builder/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "packages/model-api-builder/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "packages/openapi-spec-builder": { "name": "@loopback/openapi-spec-builder", - "version": "8.0.10", + "version": "8.0.11", "license": "MIT", "dependencies": { "openapi3-ts": "^2.0.2", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126" + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39" }, "engines": { "node": "20 || 22 || 24" } }, "packages/openapi-spec-builder/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "packages/openapi-spec-builder/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "packages/openapi-v3": { "name": "@loopback/openapi-v3", - "version": "11.0.11", + "version": "11.0.12", "license": "MIT", "dependencies": { - "@loopback/repository-json-schema": "^9.0.11", + "@loopback/repository-json-schema": "^9.0.12", "debug": "^4.4.3", "http-status": "^1.8.1", "json-merge-patch": "^1.0.2", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "openapi3-ts": "^2.0.2", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/openapi-spec-builder": "^8.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/openapi-spec-builder": "^8.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", "@types/json-merge-patch": "1.0.0", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126" + "@types/node": "^20.19.39" }, "engines": { "node": "20 || 22 || 24" @@ -41600,37 +40846,42 @@ } }, "packages/openapi-v3/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } }, - "packages/openapi-v3/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "packages/openapi-v3/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, "license": "MIT" }, "packages/repository": { "name": "@loopback/repository", - "version": "8.0.10", + "version": "8.0.11", "license": "MIT", "dependencies": { - "@loopback/filter": "^6.0.10", - "@types/debug": "^4.1.12", + "@loopback/filter": "^6.0.11", + "@types/debug": "^4.1.13", "debug": "^4.4.3", - "lodash": "^4.17.23", - "loopback-datasource-juggler": "^6.0.4", + "lodash": "^4.18.1", + "loopback-datasource-juggler": "^6.0.5", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", + "@loopback/testlab": "^8.0.11", "@types/json-schema": "^7.0.15", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "bson": "7.2.0" }, "engines": { @@ -41642,7 +40893,7 @@ }, "packages/repository-json-schema": { "name": "@loopback/repository-json-schema", - "version": "9.0.11", + "version": "9.0.12", "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.15", @@ -41650,13 +40901,13 @@ "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/repository": "^8.0.10", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126", + "@loopback/repository": "^8.0.11", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39", "ajv-formats": "^3.0.1" }, "engines": { @@ -41668,29 +40919,40 @@ } }, "packages/repository-json-schema/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "packages/repository-json-schema/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "packages/repository-tests": { "name": "@loopback/repository-tests", - "version": "0.25.11", + "version": "0.25.12", "license": "MIT", "dependencies": { - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", "debug": "^4.4.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@types/debug": "^4.1.13", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126", - "lodash": "^4.17.23" + "@types/node": "^20.19.39", + "lodash": "^4.18.1" }, "engines": { "node": "20 || 22 || 24" @@ -41701,38 +40963,47 @@ } }, "packages/repository-tests/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } }, - "packages/repository-tests/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "packages/repository-tests/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, "packages/repository/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } }, - "packages/repository/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "packages/repository/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, "license": "MIT" }, "packages/rest": { "name": "@loopback/rest", - "version": "15.0.11", + "version": "15.0.12", "license": "MIT", "dependencies": { - "@loopback/express": "^8.0.10", - "@loopback/http-server": "^7.0.10", - "@loopback/openapi-v3": "^11.0.11", + "@loopback/express": "^8.0.11", + "@loopback/http-server": "^7.0.11", + "@loopback/openapi-v3": "^11.0.12", "@openapi-contrib/openapi-schema-to-json-schema": "^5.1.0", "@types/body-parser": "^1.19.6", "@types/cors": "^2.8.19", @@ -41753,28 +41024,28 @@ "http-errors": "^2.0.1", "js-yaml": "^4.1.1", "json-schema-compare": "^0.2.2", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "on-finished": "^2.4.1", "path-to-regexp": "^6.3.0", - "qs": "^6.15.0", - "strong-error-handler": "^5.0.29", + "qs": "^6.15.1", + "strong-error-handler": "^5.0.30", "tslib": "^2.8.1", "type-is": "^2.0.1", - "validator": "^13.15.26" + "validator": "^13.15.35" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/openapi-spec-builder": "^8.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/openapi-spec-builder": "^8.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", "@types/js-yaml": "^4.0.9", "@types/json-schema-compare": "^0.2.4", "@types/lodash": "^4.17.24", - "@types/multer": "^2.0.0", - "@types/node": "^16.18.126", + "@types/multer": "^2.1.0", + "@types/node": "^20.19.39", "@types/on-finished": "^2.3.5", "@types/qs": "^6.15.0", "multer": "^2.1.1" @@ -41788,21 +41059,21 @@ }, "packages/rest-crud": { "name": "@loopback/rest-crud", - "version": "0.19.11", + "version": "0.19.12", "license": "MIT", "dependencies": { - "@loopback/model-api-builder": "^7.0.11", + "@loopback/model-api-builder": "^7.0.12", "debug": "^4.4.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126" + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39" }, "engines": { "node": "20 || 22 || 24" @@ -41814,29 +41085,40 @@ } }, "packages/rest-crud/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "packages/rest-crud/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "packages/rest-explorer": { "name": "@loopback/rest-explorer", - "version": "8.0.11", + "version": "8.0.12", "license": "MIT", "dependencies": { - "ejs": "^3.1.10", - "swagger-ui-dist": "5.31.0", + "ejs": "^5.0.2", + "swagger-ui-dist": "5.32.2", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/rest": "^15.0.11", - "@loopback/testlab": "^8.0.10", + "@loopback/rest": "^15.0.12", + "@loopback/testlab": "^8.0.11", "@types/ejs": "^3.1.5", "@types/express": "^4.17.25", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "express": "^4.22.1" }, "engines": { @@ -41848,23 +41130,44 @@ } }, "packages/rest-explorer/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } }, - "packages/rest/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "packages/rest-explorer/node_modules/ejs": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-5.0.2.tgz", + "integrity": "sha512-IpbUaI/CAW86l3f+T8zN0iggSc0LmMZLcIW5eRVStLVNCoTXkE0YlncbbH50fp8Cl6zHIky0sW2uUbhBqGw0Jw==", + "license": "Apache-2.0", + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.12.18" + } }, - "packages/rest/node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "packages/rest-explorer/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, "license": "MIT" }, + "packages/rest/node_modules/@types/node": { + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, "packages/rest/node_modules/media-typer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", @@ -41905,20 +41208,27 @@ "node": ">= 0.6" } }, + "packages/rest/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, "packages/security": { "name": "@loopback/security", - "version": "0.12.11", + "version": "0.12.12", "license": "MIT", "dependencies": { "debug": "^4.4.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126" + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39" }, "engines": { "node": "20 || 22 || 24" @@ -41928,25 +41238,36 @@ } }, "packages/security/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "packages/security/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "packages/service-proxy": { "name": "@loopback/service-proxy", - "version": "8.0.10", + "version": "8.0.11", "license": "MIT", "dependencies": { - "loopback-datasource-juggler": "^6.0.4", + "loopback-datasource-juggler": "^6.0.5", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126" + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39" }, "engines": { "node": "20 || 22 || 24" @@ -41956,53 +41277,75 @@ } }, "packages/service-proxy/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "packages/service-proxy/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "packages/testlab": { "name": "@loopback/testlab", - "version": "8.0.10", + "version": "8.0.11", "license": "MIT", "dependencies": { "@hapi/shot": "^6.0.2", "@types/express": "^4.17.25", "@types/fs-extra": "^11.0.4", "@types/shot": "^4.0.5", - "@types/sinon": "^21.0.0", + "@types/sinon": "^21.0.1", "@types/supertest": "^2.0.16", "express": "^4.22.1", "fs-extra": "^11.3.4", "oas-validator": "^5.0.8", "should": "^13.2.3", - "sinon": "^21.0.2", + "sinon": "^21.1.2", "supertest": "^7.2.2", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@types/node": "^16.18.126" + "@types/node": "^20.19.39" }, "engines": { "node": "20 || 22 || 24" } }, "packages/testlab/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "packages/testlab/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "packages/tsdocs": { "name": "@loopback/tsdocs", - "version": "7.0.10", + "version": "7.0.11", "license": "MIT", "dependencies": { "@lerna/project": "^6.4.1", - "@microsoft/api-documenter": "^7.28.9", - "@microsoft/api-extractor": "^7.56.3", + "@microsoft/api-documenter": "^7.30.0", + "@microsoft/api-extractor": "^7.58.2", "@npmcli/map-workspaces": "^5.0.3", "@npmcli/package-json": "^7.0.5", "debug": "^4.4.3", @@ -42015,13 +41358,13 @@ "lb-update-apidocs": "bin/update-apidocs.js" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@loopback/tsdocs-monorepo": "^0.6.10", - "@types/debug": "^4.1.12", + "@loopback/testlab": "^8.0.11", + "@loopback/tsdocs-monorepo": "^0.6.11", + "@types/debug": "^4.1.13", "@types/fs-extra": "^11.0.4", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "@types/npmcli__map-workspaces": "^3.0.4", "@types/npmcli__package-json": "^4.0.4" }, @@ -42030,10 +41373,21 @@ } }, "packages/tsdocs/node_modules/@types/node": { - "version": "16.18.126", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", - "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", - "dev": true + "version": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "packages/tsdocs/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "sandbox/example": { "name": "@loopback/sandbox-example", diff --git a/package.json b/package.json index c1e356c01efd..9cee2795e358 100644 --- a/package.json +++ b/package.json @@ -64,11 +64,13 @@ "eslint-plugin-prettier": "^5.5.5", "fs-extra": "^11.3.4", "husky": "^9.1.7", - "lerna": "^9.0.5", - "lint-staged": "^16.2.7", + "lerna": "^9.0.7", + "lint-staged": "^16.4.0", "markdown-table": "^3.0.4", + "mem-fs": "^2.3.0", + "mem-fs-editor": "^9.7.0", "open-cli": "^8.0.0", - "prettier": "^3.8.1", + "prettier": "^3.8.2", "typescript": "~5.2.2" }, "engineStrict": true, diff --git a/packages/authentication/CHANGELOG.md b/packages/authentication/CHANGELOG.md index a4ea3a83c9e0..4ac0c26c6b96 100644 --- a/packages/authentication/CHANGELOG.md +++ b/packages/authentication/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [12.0.13](https://github.com/loopbackio/loopback-next/compare/@loopback/authentication@12.0.12...@loopback/authentication@12.0.13) (2026-04-14) + +**Note:** Version bump only for package @loopback/authentication + + + + + ## [12.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/authentication@12.0.11...@loopback/authentication@12.0.12) (2026-03-11) **Note:** Version bump only for package @loopback/authentication diff --git a/packages/authentication/package.json b/packages/authentication/package.json index c887ad7504ec..d6822f45699a 100644 --- a/packages/authentication/package.json +++ b/packages/authentication/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/authentication", "description": "A LoopBack component for authentication support.", - "version": "12.0.12", + "version": "12.0.13", "keywords": [ "LoopBack", "Authentication" @@ -43,20 +43,20 @@ "@loopback/rest": "^15.0.0" }, "dependencies": { - "@loopback/security": "^0.12.11", + "@loopback/security": "^0.12.12", "@types/express": "^4.17.25", "@types/lodash": "^4.17.24", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/openapi-spec-builder": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126", + "@loopback/openapi-spec-builder": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39", "jsonwebtoken": "^9.0.3" } } diff --git a/packages/authorization/CHANGELOG.md b/packages/authorization/CHANGELOG.md index 9e4aa08a5dd9..34c108d655c4 100644 --- a/packages/authorization/CHANGELOG.md +++ b/packages/authorization/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.16.12](https://github.com/loopbackio/loopback-next/compare/@loopback/authorization@0.16.11...@loopback/authorization@0.16.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/authorization + + + + + ## [0.16.11](https://github.com/loopbackio/loopback-next/compare/@loopback/authorization@0.16.10...@loopback/authorization@0.16.11) (2026-03-11) **Note:** Version bump only for package @loopback/authorization diff --git a/packages/authorization/package.json b/packages/authorization/package.json index 5aafd96282f5..1cdb6ccc0da3 100644 --- a/packages/authorization/package.json +++ b/packages/authorization/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/authorization", "description": "A LoopBack component for authorization support.", - "version": "0.16.11", + "version": "0.16.12", "keywords": [ "LoopBack", "Authorization" @@ -43,16 +43,16 @@ "@loopback/core": "^7.0.0" }, "dependencies": { - "@loopback/security": "^0.12.11", + "@loopback/security": "^0.12.12", "debug": "^4.4.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126", - "casbin": "^5.48.0" + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39", + "casbin": "^5.49.0" } } diff --git a/packages/boot/CHANGELOG.md b/packages/boot/CHANGELOG.md index d3e0d9813e73..5d76ae92d0f9 100644 --- a/packages/boot/CHANGELOG.md +++ b/packages/boot/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/boot@8.0.11...@loopback/boot@8.0.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/boot + + + + + ## [8.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/boot@8.0.10...@loopback/boot@8.0.11) (2026-03-11) **Note:** Version bump only for package @loopback/boot diff --git a/packages/boot/package.json b/packages/boot/package.json index 924974ea587c..7b1b2353585c 100644 --- a/packages/boot/package.json +++ b/packages/boot/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/boot", "description": "A collection of Booters for LoopBack 4 Applications", - "version": "8.0.11", + "version": "8.0.12", "license": "MIT", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -38,21 +38,21 @@ "@loopback/core": "^7.0.0" }, "dependencies": { - "@loopback/model-api-builder": "^7.0.11", - "@loopback/repository": "^8.0.10", - "@loopback/service-proxy": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/model-api-builder": "^7.0.12", + "@loopback/repository": "^8.0.11", + "@loopback/service-proxy": "^8.0.11", + "@types/debug": "^4.1.13", "debug": "^4.4.3", - "glob": "^11.1.0", + "glob": "^13.0.6", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/rest": "^15.0.11", - "@loopback/rest-crud": "^0.19.11", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126" + "@loopback/rest": "^15.0.12", + "@loopback/rest-crud": "^0.19.12", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39" } } diff --git a/packages/booter-lb3app/CHANGELOG.md b/packages/booter-lb3app/CHANGELOG.md index a58b79c7c2db..6fd4d57007ef 100644 --- a/packages/booter-lb3app/CHANGELOG.md +++ b/packages/booter-lb3app/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/booter-lb3app@7.0.11...@loopback/booter-lb3app@7.0.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/booter-lb3app + + + + + ## [7.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/booter-lb3app@7.0.10...@loopback/booter-lb3app@7.0.11) (2026-03-11) **Note:** Version bump only for package @loopback/booter-lb3app diff --git a/packages/booter-lb3app/package.json b/packages/booter-lb3app/package.json index 0d9632c27afc..3f685b04cff3 100644 --- a/packages/booter-lb3app/package.json +++ b/packages/booter-lb3app/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/booter-lb3app", "description": "A booter component for LoopBack 3 applications to expose their REST API via LoopBack 4", - "version": "7.0.11", + "version": "7.0.12", "keywords": [ "LoopBack", "LB3", @@ -51,16 +51,16 @@ "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/boot": "^8.0.11", - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/boot": "^8.0.12", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "compression": "^1.8.1", "cors": "^2.8.6", "helmet": "^4.6.0", diff --git a/packages/build/CHANGELOG.md b/packages/build/CHANGELOG.md index b36f276c7d78..1d3206444f93 100644 --- a/packages/build/CHANGELOG.md +++ b/packages/build/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [12.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/build@12.0.10...@loopback/build@12.0.11) (2026-04-14) + +**Note:** Version bump only for package @loopback/build + + + + + ## [12.0.10](https://github.com/loopbackio/loopback-next/compare/@loopback/build@12.0.9...@loopback/build@12.0.10) (2026-03-11) **Note:** Version bump only for package @loopback/build diff --git a/packages/build/package.json b/packages/build/package.json index c36202eb5e3a..0e5a89e47505 100644 --- a/packages/build/package.json +++ b/packages/build/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/build", "description": "A set of common scripts and default configurations to build LoopBack 4 or other TypeScript modules", - "version": "12.0.10", + "version": "12.0.11", "license": "MIT", "bin": { "lb-tsc": "./bin/compile-package.js", @@ -33,16 +33,16 @@ "dependencies": { "@loopback/eslint-config": "^16.0.1", "@types/mocha": "^10.0.10", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "cross-spawn": "^7.0.6", "debug": "^4.4.3", "eslint": "^8.57.1", "fs-extra": "^11.3.4", - "glob": "^11.1.0", - "lodash": "^4.17.23", + "glob": "^13.0.6", + "lodash": "^4.18.1", "mocha": "^11.7.5", - "nyc": "^17.1.0", - "prettier": "^3.8.1", + "nyc": "^18.0.0", + "prettier": "^3.8.2", "rimraf": "^5.0.10", "source-map-support": "^0.5.21", "typescript": "~5.2.2" diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 75e00c9abe48..6e98fb0c78e6 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.13](https://github.com/loopbackio/loopback-next/compare/@loopback/cli@7.0.12...@loopback/cli@7.0.13) (2026-04-14) + +**Note:** Version bump only for package @loopback/cli + + + + + ## [7.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/cli@7.0.11...@loopback/cli@7.0.12) (2026-03-11) **Note:** Version bump only for package @loopback/cli diff --git a/packages/cli/package.json b/packages/cli/package.json index cd487c08bb08..8407a00d272f 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/cli", "description": "Yeoman generator for LoopBack 4", - "version": "7.0.12", + "version": "7.0.13", "keywords": [ "LoopBack", "CLI", @@ -50,16 +50,16 @@ "change-case": "^4.1.2", "debug": "^4.4.3", "fs-extra": "^11.3.4", - "glob": "^11.1.0", + "glob": "^13.0.6", "inquirer-autocomplete-prompt": "^2.0.1", "json5": "^2.2.3", "latest-version": "^5.1.0", - "lodash": "^4.17.23", - "minimatch": "^10.2.4", + "lodash": "^4.18.1", + "minimatch": "^10.2.5", "minimist": "^1.2.8", "mkdirp": "^3.0.1", "natural-compare": "^1.4.0", - "pacote": "^21.3.1", + "pacote": "^21.5.0", "pluralize": "^8.0.0", "regenerate": "^1.4.2", "semver": "^7.7.4", @@ -83,21 +83,21 @@ "yeoman-generator": "^5.10.0" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", + "@loopback/testlab": "^8.0.11", "@types/ejs": "^3.1.5", "@types/fs-extra": "^11.0.4", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "@types/yeoman-environment": "^2.10.11", "@types/yeoman-generator": "^5.2.14", "loopback": "^3.28.0", - "loopback-datasource-juggler": "^6.0.4", - "mem-fs": "^2.3.0", - "mem-fs-editor": "^9.7.0", + "loopback-datasource-juggler": "^6.0.5", + "mem-fs": "^4.1.4", + "mem-fs-editor": "^12.0.3", "mock-stdin": "^1.0.0", "rimraf": "^5.0.10", - "sinon": "^21.0.2", + "sinon": "^21.1.2", "strong-globalize-cli": "7.1.1", "yeoman-assert": "^3.1.1", "yeoman-test": "^6.3.0" @@ -106,96 +106,96 @@ "templateDependencies": { "tslib": "^2.0.0", "@types/mocha": "^10.0.10", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "cross-spawn": "^7.0.6", "debug": "^4.4.3", "fs-extra": "^11.3.4", "mocha": "^11.7.5", - "nyc": "^17.1.0", - "prettier": "^3.8.1", + "nyc": "^18.0.0", + "prettier": "^3.8.2", "rimraf": "^5.0.10", "source-map-support": "^0.5.21", "typescript": "~5.2.2", - "@loopback/authentication": "^12.0.12", - "@loopback/boot": "^8.0.11", - "@loopback/build": "^12.0.10", - "@loopback/cli": "^7.0.12", - "@loopback/context": "^8.0.10", - "@loopback/core": "^7.0.10", - "@loopback/metadata": "^8.0.10", - "@loopback/openapi-spec-builder": "^8.0.10", - "@loopback/openapi-v3": "^11.0.11", - "@loopback/repository-json-schema": "^9.0.11", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/testlab": "^8.0.10", - "@loopback/docs": "^8.0.12", - "glob": "^11.1.0", - "@loopback/example-hello-world": "^8.0.11", - "@loopback/example-log-extension": "^8.0.11", - "@loopback/example-rpc-server": "^8.0.10", - "@loopback/example-todo": "^9.0.11", - "@loopback/example-soap-calculator": "^8.0.11", - "@loopback/service-proxy": "^8.0.10", - "@loopback/http-caching-proxy": "^7.0.10", - "@loopback/http-server": "^7.0.10", - "@loopback/example-todo-list": "^9.0.11", + "@loopback/authentication": "^12.0.13", + "@loopback/boot": "^8.0.12", + "@loopback/build": "^12.0.11", + "@loopback/cli": "^7.0.13", + "@loopback/context": "^8.0.11", + "@loopback/core": "^7.0.11", + "@loopback/metadata": "^8.0.11", + "@loopback/openapi-spec-builder": "^8.0.11", + "@loopback/openapi-v3": "^11.0.12", + "@loopback/repository-json-schema": "^9.0.12", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/testlab": "^8.0.11", + "@loopback/docs": "^8.0.13", + "glob": "^13.0.6", + "@loopback/example-hello-world": "^8.0.12", + "@loopback/example-log-extension": "^8.0.12", + "@loopback/example-rpc-server": "^8.0.11", + "@loopback/example-todo": "^9.0.12", + "@loopback/example-soap-calculator": "^8.0.12", + "@loopback/service-proxy": "^8.0.11", + "@loopback/http-caching-proxy": "^7.0.11", + "@loopback/http-server": "^7.0.11", + "@loopback/example-todo-list": "^9.0.12", "@loopback/dist-util": "^0.4.0", - "@loopback/rest-explorer": "^8.0.11", + "@loopback/rest-explorer": "^8.0.12", "@loopback/eslint-config": "^16.0.1", "express-composition": "^1.1.0", - "@loopback/example-express-composition": "^8.0.11", - "@loopback/example-greeter-extension": "^8.0.10", - "@loopback/booter-lb3app": "^7.0.11", - "@loopback/example-lb3-application": "^8.0.11", + "@loopback/example-express-composition": "^8.0.12", + "@loopback/example-greeter-extension": "^8.0.11", + "@loopback/booter-lb3app": "^7.0.12", + "@loopback/example-lb3-application": "^8.0.12", "eslint": "^8.57.1", "eslint-plugin-mocha": "^10.5.0", - "@loopback/example-greeting-app": "^8.0.11", - "@loopback/example-context": "^8.0.10", + "@loopback/example-greeting-app": "^8.0.12", + "@loopback/example-context": "^8.0.11", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "eslint-plugin-eslint-plugin": "^5.5.1", "eslint-config-prettier": "^9.1.1", - "@loopback/repository-tests": "^0.25.11", - "@loopback/health": "^0.15.11", - "@loopback/authorization": "^0.16.11", - "@loopback/rest-crud": "^0.19.11", - "@loopback/security": "^0.12.11", - "@loopback/authentication-passport": "^8.0.12", - "@loopback/example-metrics-prometheus": "^0.15.11", - "@loopback/metrics": "^0.15.11", - "@loopback/model-api-builder": "^7.0.11", - "@loopback/logging": "^0.13.11", - "@loopback/example-access-control-migration": "^8.0.12", - "@loopback/example-file-transfer": "^7.0.11", - "@loopback/example-rest-crud": "^7.0.11", - "@loopback/apiconnect": "^0.14.11", - "@loopback/example-validation-app": "^7.0.11", - "@loopback/cron": "^0.13.10", - "@loopback/example-multi-tenancy": "^0.18.11", - "@loopback/example-passport-login": "^7.0.12", - "@loopback/authentication-jwt": "^0.16.12", - "@loopback/context-explorer": "^0.12.11", - "@loopback/express": "^8.0.10", + "@loopback/repository-tests": "^0.25.12", + "@loopback/health": "^0.15.12", + "@loopback/authorization": "^0.16.12", + "@loopback/rest-crud": "^0.19.12", + "@loopback/security": "^0.12.12", + "@loopback/authentication-passport": "^8.0.13", + "@loopback/example-metrics-prometheus": "^0.15.12", + "@loopback/metrics": "^0.15.12", + "@loopback/model-api-builder": "^7.0.12", + "@loopback/logging": "^0.13.12", + "@loopback/example-access-control-migration": "^8.0.13", + "@loopback/example-file-transfer": "^7.0.12", + "@loopback/example-rest-crud": "^7.0.12", + "@loopback/apiconnect": "^0.14.12", + "@loopback/example-validation-app": "^7.0.12", + "@loopback/cron": "^0.13.11", + "@loopback/example-multi-tenancy": "^0.18.12", + "@loopback/example-passport-login": "^7.0.13", + "@loopback/authentication-jwt": "^0.16.13", + "@loopback/context-explorer": "^0.12.12", + "@loopback/express": "^8.0.11", "@types/js-yaml": "^3.12.4", "js-yaml": "^3.13.1", - "@loopback/example-todo-jwt": "^7.0.12", - "@loopback/mock-oauth2-provider": "^0.10.10", - "lodash": "^4.17.23", - "@loopback/pooling": "^0.12.10", - "@loopback/typeorm": "^0.11.11", - "@loopback/example-graphql": "^0.13.1", - "@loopback/graphql": "^0.13.1", - "@loopback/filter": "^6.0.10", - "@loopback/rest-msgpack": "^0.12.11", - "@loopback/example-binding-resolution": "^0.12.11", - "@loopback/example-webpack": "^0.13.11", - "@loopback/example-socketio": "^0.11.11", - "@loopback/socketio": "^0.9.11", + "@loopback/example-todo-jwt": "^7.0.13", + "@loopback/mock-oauth2-provider": "^0.10.11", + "lodash": "^4.18.1", + "@loopback/pooling": "^0.12.11", + "@loopback/typeorm": "^0.11.12", + "@loopback/example-graphql": "^0.13.2", + "@loopback/graphql": "^0.13.2", + "@loopback/filter": "^6.0.11", + "@loopback/rest-msgpack": "^0.12.12", + "@loopback/example-binding-resolution": "^0.12.12", + "@loopback/example-webpack": "^0.13.12", + "@loopback/example-socketio": "^0.11.12", + "@loopback/socketio": "^0.9.12", "@loopback/monorepo": "^0.6.0", - "@loopback/tsdocs": "^7.0.10", - "@loopback/example-references-many": "^9.0.11", - "@loopback/sequelize": "^0.8.7" + "@loopback/tsdocs": "^7.0.11", + "@loopback/example-references-many": "^9.0.12", + "@loopback/sequelize": "^0.8.8" } } } diff --git a/packages/cli/test/fixtures/copyright/single-package/lib/no-header.js b/packages/cli/test/fixtures/copyright/single-package/lib/no-header.js index 4ed25f524c47..5069443cdc8a 100644 --- a/packages/cli/test/fixtures/copyright/single-package/lib/no-header.js +++ b/packages/cli/test/fixtures/copyright/single-package/lib/no-header.js @@ -1,2 +1,7 @@ +// Copyright ACME Inc. 2020,2026. All Rights Reserved. +// Node module: myapp +// This file is licensed under the ISC License. +// License text available at https://www.isc.org/licenses/ + // XYZ exports.xyz = {}; diff --git a/packages/context/CHANGELOG.md b/packages/context/CHANGELOG.md index 3ea0290ad0fc..f0a8139af82f 100644 --- a/packages/context/CHANGELOG.md +++ b/packages/context/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/context@8.0.10...@loopback/context@8.0.11) (2026-04-14) + +**Note:** Version bump only for package @loopback/context + + + + + ## [8.0.10](https://github.com/loopbackio/loopback-next/compare/@loopback/context@8.0.9...@loopback/context@8.0.10) (2026-03-11) **Note:** Version bump only for package @loopback/context diff --git a/packages/context/package.json b/packages/context/package.json index 292b98c93318..54560321b7a0 100644 --- a/packages/context/package.json +++ b/packages/context/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/context", "description": "Facilities to manage artifacts and their dependencies in your Node.js applications. The module exposes TypeScript/JavaScript APIs and decorators to register artifacts, declare dependencies, and resolve artifacts by keys. It also serves as an IoC container to support dependency injection", - "version": "8.0.10", + "version": "8.0.11", "keywords": [ "LoopBack", "IoC", @@ -43,8 +43,8 @@ "!*/__tests__" ], "dependencies": { - "@loopback/metadata": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/metadata": "^8.0.11", + "@types/debug": "^4.1.13", "debug": "^4.4.3", "hyperid": "^3.3.0", "p-event": "^4.2.0", @@ -52,11 +52,11 @@ "uuid": "^13.0.0" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", + "@loopback/testlab": "^8.0.11", "@types/bluebird": "^3.5.42", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "@types/uuid": "^11.0.0", "bluebird": "^3.7.2" } diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 5e798dc9b0e3..dbed4f5f3caf 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/core@7.0.10...@loopback/core@7.0.11) (2026-04-14) + +**Note:** Version bump only for package @loopback/core + + + + + ## [7.0.10](https://github.com/loopbackio/loopback-next/compare/@loopback/core@7.0.9...@loopback/core@7.0.10) (2026-03-11) **Note:** Version bump only for package @loopback/core diff --git a/packages/core/package.json b/packages/core/package.json index 505e2f9c4435..fcc25ffc2447 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/core", "description": "Define and implement core constructs such as Application and Component", - "version": "7.0.10", + "version": "7.0.11", "license": "MIT", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -35,15 +35,15 @@ "!*/__tests__" ], "dependencies": { - "@loopback/context": "^8.0.10", + "@loopback/context": "^8.0.11", "debug": "^4.4.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126" + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39" } } diff --git a/packages/core/src/__tests__/acceptance/application-with-shutdown.ts b/packages/core/src/__tests__/acceptance/application-with-shutdown.ts index 773239b5ddda..513aa282a015 100644 --- a/packages/core/src/__tests__/acceptance/application-with-shutdown.ts +++ b/packages/core/src/__tests__/acceptance/application-with-shutdown.ts @@ -12,7 +12,7 @@ function main() { const gracePeriod = Number.parseFloat(process.argv[2]); class MyTimer implements LifeCycleObserver { - timer: NodeJS.Timer; + timer: NodeJS.Timeout; start() { console.log('start'); diff --git a/packages/express/CHANGELOG.md b/packages/express/CHANGELOG.md index 08e0c7d88590..f72d64b72d97 100644 --- a/packages/express/CHANGELOG.md +++ b/packages/express/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/express@8.0.10...@loopback/express@8.0.11) (2026-04-14) + +**Note:** Version bump only for package @loopback/express + + + + + ## [8.0.10](https://github.com/loopbackio/loopback-next/compare/@loopback/express@8.0.9...@loopback/express@8.0.10) (2026-03-11) **Note:** Version bump only for package @loopback/express diff --git a/packages/express/package.json b/packages/express/package.json index 73fb53ff3fe1..99d8ba618253 100644 --- a/packages/express/package.json +++ b/packages/express/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/express", "description": "Integrate with Express and expose middleware infrastructure for sequence and interceptors", - "version": "8.0.10", + "version": "8.0.11", "keywords": [ "loopback-extension", "loopback" @@ -40,7 +40,7 @@ "@loopback/core": "^7.0.0" }, "dependencies": { - "@loopback/http-server": "^7.0.10", + "@loopback/http-server": "^7.0.11", "@types/body-parser": "^1.19.6", "@types/express": "^4.17.25", "@types/express-serve-static-core": "^4.19.8", @@ -54,11 +54,11 @@ "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39", "@types/on-finished": "^2.3.5", "@types/toposort": "^2.0.7", "source-map-support": "^0.5.21", diff --git a/packages/filter/CHANGELOG.md b/packages/filter/CHANGELOG.md index 8f5ff5ef5433..a087abc4f60e 100644 --- a/packages/filter/CHANGELOG.md +++ b/packages/filter/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/filter@6.0.10...@loopback/filter@6.0.11) (2026-04-14) + +**Note:** Version bump only for package @loopback/filter + + + + + ## [6.0.10](https://github.com/loopbackio/loopback-next/compare/@loopback/filter@6.0.9...@loopback/filter@6.0.10) (2026-03-11) **Note:** Version bump only for package @loopback/filter diff --git a/packages/filter/package.json b/packages/filter/package.json index 47202f27d54d..5f5a0e5325a9 100644 --- a/packages/filter/package.json +++ b/packages/filter/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/filter", "description": "Utility typings and filters for LoopBack filters.", - "version": "6.0.10", + "version": "6.0.11", "license": "MIT", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -35,9 +35,9 @@ "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126", + "@loopback/build": "^12.0.11", + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39", "typescript": "~5.2.2" } } diff --git a/packages/http-caching-proxy/CHANGELOG.md b/packages/http-caching-proxy/CHANGELOG.md index 0d1edd5443cf..b013d2c292d9 100644 --- a/packages/http-caching-proxy/CHANGELOG.md +++ b/packages/http-caching-proxy/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/http-caching-proxy@7.0.10...@loopback/http-caching-proxy@7.0.11) (2026-04-14) + +**Note:** Version bump only for package @loopback/http-caching-proxy + + + + + ## [7.0.10](https://github.com/loopbackio/loopback-next/compare/@loopback/http-caching-proxy@7.0.9...@loopback/http-caching-proxy@7.0.10) (2026-03-11) **Note:** Version bump only for package @loopback/http-caching-proxy diff --git a/packages/http-caching-proxy/package.json b/packages/http-caching-proxy/package.json index a63881027093..a5845d742870 100644 --- a/packages/http-caching-proxy/package.json +++ b/packages/http-caching-proxy/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/http-caching-proxy", "description": "A caching HTTP proxy for integration tests. NOT SUITABLE FOR PRODUCTION USE!", - "version": "7.0.10", + "version": "7.0.11", "keywords": [ "LoopBack", "HTTP", @@ -39,18 +39,18 @@ "!*/__tests__" ], "dependencies": { - "axios": "^1.13.6", - "cacache": "^20.0.3", + "axios": "^1.15.0", + "cacache": "^20.0.4", "debug": "^4.4.3", "rimraf": "^5.0.10", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39", "@types/tunnel": "0.0.7", "delay": "^7.0.0", "tunnel": "0.0.6" diff --git a/packages/http-server/CHANGELOG.md b/packages/http-server/CHANGELOG.md index 5dd68c56ee49..92a8cd36d4e5 100644 --- a/packages/http-server/CHANGELOG.md +++ b/packages/http-server/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/http-server@7.0.10...@loopback/http-server@7.0.11) (2026-04-14) + +**Note:** Version bump only for package @loopback/http-server + + + + + ## [7.0.10](https://github.com/loopbackio/loopback-next/compare/@loopback/http-server@7.0.9...@loopback/http-server@7.0.10) (2026-03-11) **Note:** Version bump only for package @loopback/http-server diff --git a/packages/http-server/package.json b/packages/http-server/package.json index 3dc3bb6963a6..89d1eef89c0e 100644 --- a/packages/http-server/package.json +++ b/packages/http-server/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/http-server", "description": "A wrapper for creating HTTP/HTTPS servers", - "version": "7.0.10", + "version": "7.0.11", "license": "MIT", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -37,12 +37,12 @@ "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39", "@types/stoppable": "^1.1.3" } } diff --git a/packages/metadata/CHANGELOG.md b/packages/metadata/CHANGELOG.md index 9abba1ac1f3d..347516ea1660 100644 --- a/packages/metadata/CHANGELOG.md +++ b/packages/metadata/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/metadata@8.0.10...@loopback/metadata@8.0.11) (2026-04-14) + +**Note:** Version bump only for package @loopback/metadata + + + + + ## [8.0.10](https://github.com/loopbackio/loopback-next/compare/@loopback/metadata@8.0.9...@loopback/metadata@8.0.10) (2026-03-11) **Note:** Version bump only for package @loopback/metadata diff --git a/packages/metadata/package.json b/packages/metadata/package.json index afaba228500f..a96453280f8e 100644 --- a/packages/metadata/package.json +++ b/packages/metadata/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/metadata", "description": "Utilities to help developers implement TypeScript decorators, define/merge metadata, and inspect metadata", - "version": "8.0.10", + "version": "8.0.11", "keywords": [ "LoopBack", "Decorators", @@ -40,16 +40,16 @@ ], "dependencies": { "debug": "^4.4.3", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "reflect-metadata": "^0.2.1", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126" + "@types/node": "^20.19.39" } } diff --git a/packages/model-api-builder/CHANGELOG.md b/packages/model-api-builder/CHANGELOG.md index 4c24100cebf3..e7bf5762823a 100644 --- a/packages/model-api-builder/CHANGELOG.md +++ b/packages/model-api-builder/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/model-api-builder@7.0.11...@loopback/model-api-builder@7.0.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/model-api-builder + + + + + ## [7.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/model-api-builder@7.0.10...@loopback/model-api-builder@7.0.11) (2026-03-11) **Note:** Version bump only for package @loopback/model-api-builder diff --git a/packages/model-api-builder/package.json b/packages/model-api-builder/package.json index d6351efc3039..9af15b36956b 100644 --- a/packages/model-api-builder/package.json +++ b/packages/model-api-builder/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/model-api-builder", "description": "Types and helpers for packages contributing Model API builders.", - "version": "7.0.11", + "version": "7.0.12", "license": "MIT", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -39,9 +39,9 @@ "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@types/node": "^16.18.126" + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@types/node": "^20.19.39" } } diff --git a/packages/openapi-spec-builder/CHANGELOG.md b/packages/openapi-spec-builder/CHANGELOG.md index a2af5d1c0718..f61e9a663c0d 100644 --- a/packages/openapi-spec-builder/CHANGELOG.md +++ b/packages/openapi-spec-builder/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/openapi-spec-builder@8.0.10...@loopback/openapi-spec-builder@8.0.11) (2026-04-14) + +**Note:** Version bump only for package @loopback/openapi-spec-builder + + + + + ## [8.0.10](https://github.com/loopbackio/loopback-next/compare/@loopback/openapi-spec-builder@8.0.9...@loopback/openapi-spec-builder@8.0.10) (2026-03-11) **Note:** Version bump only for package @loopback/openapi-spec-builder diff --git a/packages/openapi-spec-builder/package.json b/packages/openapi-spec-builder/package.json index d308c8266f23..d16f059a5bfb 100644 --- a/packages/openapi-spec-builder/package.json +++ b/packages/openapi-spec-builder/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/openapi-spec-builder", "description": "Make it easy to create OpenAPI (Swagger) specification documents in your tests using the builder pattern.", - "version": "8.0.10", + "version": "8.0.11", "keywords": [ "Swagger", "OpenAPI Spec", @@ -43,9 +43,9 @@ "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126" + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39" } } diff --git a/packages/openapi-v3/CHANGELOG.md b/packages/openapi-v3/CHANGELOG.md index 20d3ebf44162..797e8a762bf9 100644 --- a/packages/openapi-v3/CHANGELOG.md +++ b/packages/openapi-v3/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [11.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/openapi-v3@11.0.11...@loopback/openapi-v3@11.0.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/openapi-v3 + + + + + ## [11.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/openapi-v3@11.0.10...@loopback/openapi-v3@11.0.11) (2026-03-11) **Note:** Version bump only for package @loopback/openapi-v3 diff --git a/packages/openapi-v3/package.json b/packages/openapi-v3/package.json index 57b858acd185..cf9d9e1afa61 100644 --- a/packages/openapi-v3/package.json +++ b/packages/openapi-v3/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/openapi-v3", "description": "Decorators that annotate LoopBack artifacts with OpenAPI v3 metadata and utilities that transform LoopBack metadata to OpenAPI v3 specifications", - "version": "11.0.11", + "version": "11.0.12", "keywords": [ "Swagger", "OpenAPI Spec", @@ -42,24 +42,24 @@ "@loopback/core": "^7.0.0" }, "dependencies": { - "@loopback/repository-json-schema": "^9.0.11", + "@loopback/repository-json-schema": "^9.0.12", "debug": "^4.4.3", "http-status": "^1.8.1", "json-merge-patch": "^1.0.2", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "openapi3-ts": "^2.0.2", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/openapi-spec-builder": "^8.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/openapi-spec-builder": "^8.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", "@types/json-merge-patch": "1.0.0", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126" + "@types/node": "^20.19.39" } } diff --git a/packages/repository-json-schema/CHANGELOG.md b/packages/repository-json-schema/CHANGELOG.md index 6c3278422de7..a3d86b9dd669 100644 --- a/packages/repository-json-schema/CHANGELOG.md +++ b/packages/repository-json-schema/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [9.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/repository-json-schema@9.0.11...@loopback/repository-json-schema@9.0.12) (2026-04-14) + + +### Bug Fixes + +* **repository-json-schema:** fix circular chains when using 'includeRelations' ([3ecf708](https://github.com/loopbackio/loopback-next/commit/3ecf70865ebf20bbbd368af61876f1473cce286d)) + + + + + ## [9.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/repository-json-schema@9.0.10...@loopback/repository-json-schema@9.0.11) (2026-03-11) **Note:** Version bump only for package @loopback/repository-json-schema diff --git a/packages/repository-json-schema/package.json b/packages/repository-json-schema/package.json index 843283b52c25..8c026b39901c 100644 --- a/packages/repository-json-schema/package.json +++ b/packages/repository-json-schema/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/repository-json-schema", "description": "Converts TS classes into JSON Schemas using TypeScript's reflection API", - "version": "9.0.11", + "version": "9.0.12", "keywords": [ "LoopBack", "TypeScript", @@ -46,13 +46,13 @@ "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/repository": "^8.0.10", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126", + "@loopback/repository": "^8.0.11", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39", "ajv-formats": "^3.0.1" } } diff --git a/packages/repository-json-schema/src/__tests__/integration/build-schema.integration.ts b/packages/repository-json-schema/src/__tests__/integration/build-schema.integration.ts index 1fbac51d0107..422ba7420419 100644 --- a/packages/repository-json-schema/src/__tests__/integration/build-schema.integration.ts +++ b/packages/repository-json-schema/src/__tests__/integration/build-schema.integration.ts @@ -1142,19 +1142,12 @@ describe('build-schema', () => { const expectedSchema: JsonSchema = { definitions: { - ProductWithRelations: { - title: 'ProductWithRelations', + Product: { + title: 'Product', type: 'object', - description: - `(tsType: ProductWithRelations, ` + - `schemaOptions: { includeRelations: true })`, properties: { id: {type: 'number'}, categoryId: {type: 'number'}, - category: { - $ref: '#/definitions/CategoryWithRelations', - }, - foreignKey: 'categoryId' as JsonSchema, }, additionalProperties: false, }, @@ -1164,7 +1157,7 @@ describe('build-schema', () => { products: { type: 'array', items: { - $ref: '#/definitions/ProductWithRelations', + $ref: '#/definitions/Product', }, }, }, @@ -1196,19 +1189,12 @@ describe('build-schema', () => { } const expectedSchema: JsonSchema = { definitions: { - ProductWithRelations: { - title: 'ProductWithRelations', + Product: { + title: 'Product', type: 'object', - description: - `(tsType: ProductWithRelations, ` + - `schemaOptions: { includeRelations: true })`, properties: { id: {type: 'number'}, categoryId: {type: 'number'}, - category: { - $ref: '#/definitions/CategoryWithoutPropWithRelations', - }, - foreignKey: 'categoryId' as JsonSchema, }, additionalProperties: false, }, @@ -1216,7 +1202,7 @@ describe('build-schema', () => { properties: { products: { type: 'array', - items: {$ref: '#/definitions/ProductWithRelations'}, + items: {$ref: '#/definitions/Product'}, }, }, additionalProperties: false, @@ -1234,6 +1220,52 @@ describe('build-schema', () => { expect(jsonSchemaWithoutProp).to.deepEqual(expectedSchema); }); + it('does not produce circular $ref chains for bidirectional relations', () => { + @model() + class Order extends Entity { + @property({id: true}) + id: number; + + @belongsTo(() => Customer) + customerId: number; + } + + @model() + class Customer extends Entity { + @property({id: true}) + id: number; + + @hasMany(() => Order) + orders?: Order[]; + } + + const schema = getJsonSchema(Customer, {includeRelations: true}); + + // orders items should reference plain Order, not OrderWithRelations + expect(schema.properties).to.containDeep({ + orders: { + type: 'array', + items: {$ref: '#/definitions/Order'}, + }, + }); + + // The Order definition should be plain — no nested definitions, + // no customer navigational property + const orderDef = schema.definitions?.Order as JsonSchema; + expect(orderDef).to.be.ok(); + expect(orderDef.definitions).to.be.undefined(); + expect(orderDef.properties).to.not.have.property('customer'); + + // No WithRelations keys should appear in definitions + const defKeys = Object.keys(schema.definitions ?? {}); + for (const key of defKeys) { + expect(key).to.not.match( + /WithRelations/, + `definitions should not contain WithRelations keys, found: ${key}`, + ); + } + }); + it('gets cached JSON schema with relation links if one exists', () => { @model() class Product extends Entity { diff --git a/packages/repository-json-schema/src/__tests__/unit/build-schema.unit.ts b/packages/repository-json-schema/src/__tests__/unit/build-schema.unit.ts index 29493866baf2..2c5068c69e91 100644 --- a/packages/repository-json-schema/src/__tests__/unit/build-schema.unit.ts +++ b/packages/repository-json-schema/src/__tests__/unit/build-schema.unit.ts @@ -325,30 +325,27 @@ describe('build-schema', () => { expect(schema.properties).to.containEql({ children: { type: 'array', - // The reference here should be `ChildWithRelations`, - // instead of `ParentWithItsChildren` - items: {$ref: '#/definitions/ChildWithRelations'}, + // The reference here should be `Child` (not `ParentWithItsChildren`) + // because includeRelations is not cascaded to relation targets. + items: {$ref: '#/definitions/Child'}, }, benchmarkId: {type: 'string'}, color: {type: 'string'}, }); - // The recursive calls should NOT inherit - // `title` from the previous call's `options`. - // So the `title` here is `ChildWithRelations` - // instead of `ParentWithItsChildren`. + // The recursive calls should NOT inherit `title` from the previous + // call's `options`, and `includeRelations` is not propagated to + // relation targets. So the definition is plain `Child`. expect(schema.definitions).to.containEql({ - ChildWithRelations: { - title: 'ChildWithRelations', + Child: { + title: 'Child', type: 'object', - description: - '(tsType: ChildWithRelations, schemaOptions: { includeRelations: true })', properties: {name: {type: 'string'}}, additionalProperties: false, }, }); }); - it('includeRelations is not propagated to properties decorated with @property()', () => { + it('includeRelations is not propagated to nested properties or relation targets', () => { @model() class FooModel extends Entity { @property({ @@ -379,14 +376,14 @@ describe('build-schema', () => { name: { type: 'string', }, - // Decorated with @property() Model should NOT be 'WithRelations' + // Decorated with @property() — no includeRelations propagation foo: { $ref: '#/definitions/FooModel', }, - // Decorated with @hasMany() Model should be 'WithRelations' + // Decorated with @hasMany() — also no includeRelations propagation relatedFoo: { type: 'array', - items: {$ref: '#/definitions/FooModelWithRelations'}, + items: {$ref: '#/definitions/FooModel'}, }, }); }); diff --git a/packages/repository-json-schema/src/build-schema.ts b/packages/repository-json-schema/src/build-schema.ts index ce7e106e1f0b..74f143369ea2 100644 --- a/packages/repository-json-schema/src/build-schema.ts +++ b/packages/repository-json-schema/src/build-schema.ts @@ -607,6 +607,7 @@ export function modelToJsonSchema( // when generating the relation or property schemas const targetOptions = {...options}; delete targetOptions.title; + delete targetOptions.includeRelations; const targetSchema = getJsonSchema(targetType, targetOptions); const targetRef = {$ref: `#/definitions/${targetSchema.title}`}; diff --git a/packages/repository-tests/CHANGELOG.md b/packages/repository-tests/CHANGELOG.md index d93545085d99..7e0d114682dd 100644 --- a/packages/repository-tests/CHANGELOG.md +++ b/packages/repository-tests/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.25.12](https://github.com/loopbackio/loopback-next/compare/@loopback/repository-tests@0.25.11...@loopback/repository-tests@0.25.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/repository-tests + + + + + ## [0.25.11](https://github.com/loopbackio/loopback-next/compare/@loopback/repository-tests@0.25.10...@loopback/repository-tests@0.25.11) (2026-03-11) **Note:** Version bump only for package @loopback/repository-tests diff --git a/packages/repository-tests/package.json b/packages/repository-tests/package.json index 61817096a466..ba506e95a688 100644 --- a/packages/repository-tests/package.json +++ b/packages/repository-tests/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/repository-tests", "description": "A shared test suite to verify `@loopback/repository` functionality with a given compatible connector", - "version": "0.25.11", + "version": "0.25.12", "license": "MIT", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -36,18 +36,18 @@ "@loopback/repository": "^8.0.1" }, "dependencies": { - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", "debug": "^4.4.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@types/debug": "^4.1.13", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126", - "lodash": "^4.17.23" + "@types/node": "^20.19.39", + "lodash": "^4.18.1" } } diff --git a/packages/repository/CHANGELOG.md b/packages/repository/CHANGELOG.md index 104cb20f1483..51e3a5b61cb9 100644 --- a/packages/repository/CHANGELOG.md +++ b/packages/repository/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/repository@8.0.10...@loopback/repository@8.0.11) (2026-04-14) + +**Note:** Version bump only for package @loopback/repository + + + + + ## [8.0.10](https://github.com/loopbackio/loopback-next/compare/@loopback/repository@8.0.9...@loopback/repository@8.0.10) (2026-03-11) **Note:** Version bump only for package @loopback/repository diff --git a/packages/repository/package.json b/packages/repository/package.json index abc1f18474bb..18323d238f6f 100644 --- a/packages/repository/package.json +++ b/packages/repository/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/repository", "description": "Define and implement a common set of interfaces for interacting with databases", - "version": "8.0.10", + "version": "8.0.11", "license": "MIT", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -36,21 +36,21 @@ "@loopback/core": "^7.0.0" }, "dependencies": { - "@loopback/filter": "^6.0.10", - "@types/debug": "^4.1.12", + "@loopback/filter": "^6.0.11", + "@types/debug": "^4.1.13", "debug": "^4.4.3", - "lodash": "^4.17.23", - "loopback-datasource-juggler": "^6.0.4", + "lodash": "^4.18.1", + "loopback-datasource-juggler": "^6.0.5", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", + "@loopback/testlab": "^8.0.11", "@types/json-schema": "^7.0.15", "@types/lodash": "^4.17.24", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "bson": "7.2.0" } } diff --git a/packages/rest-crud/CHANGELOG.md b/packages/rest-crud/CHANGELOG.md index 48b4f520633c..437d1e33d429 100644 --- a/packages/rest-crud/CHANGELOG.md +++ b/packages/rest-crud/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.19.12](https://github.com/loopbackio/loopback-next/compare/@loopback/rest-crud@0.19.11...@loopback/rest-crud@0.19.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/rest-crud + + + + + ## [0.19.11](https://github.com/loopbackio/loopback-next/compare/@loopback/rest-crud@0.19.10...@loopback/rest-crud@0.19.11) (2026-03-11) **Note:** Version bump only for package @loopback/rest-crud diff --git a/packages/rest-crud/package.json b/packages/rest-crud/package.json index 070dbd31ae11..35f6407816dc 100644 --- a/packages/rest-crud/package.json +++ b/packages/rest-crud/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/rest-crud", "description": "REST API controller implementing default CRUD semantics", - "version": "0.19.11", + "version": "0.19.12", "license": "MIT", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -37,17 +37,17 @@ "@loopback/rest": "^15.0.1" }, "dependencies": { - "@loopback/model-api-builder": "^7.0.11", + "@loopback/model-api-builder": "^7.0.12", "debug": "^4.4.3", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/rest": "^15.0.11", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126" + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/rest": "^15.0.12", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39" } } diff --git a/packages/rest-explorer/CHANGELOG.md b/packages/rest-explorer/CHANGELOG.md index 781e4c61e9fe..94255ed677d3 100644 --- a/packages/rest-explorer/CHANGELOG.md +++ b/packages/rest-explorer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/rest-explorer@8.0.11...@loopback/rest-explorer@8.0.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/rest-explorer + + + + + ## [8.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/rest-explorer@8.0.10...@loopback/rest-explorer@8.0.11) (2026-03-11) **Note:** Version bump only for package @loopback/rest-explorer diff --git a/packages/rest-explorer/package.json b/packages/rest-explorer/package.json index 12866b447c1f..ed57bdf1b01e 100644 --- a/packages/rest-explorer/package.json +++ b/packages/rest-explorer/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/rest-explorer", "description": "LoopBack's API Explorer", - "version": "8.0.11", + "version": "8.0.12", "keywords": [ "LoopBack", "Explorer", @@ -42,19 +42,19 @@ "@loopback/rest": "^15.0.1" }, "dependencies": { - "ejs": "^3.1.10", - "swagger-ui-dist": "5.31.0", + "ejs": "^5.0.2", + "swagger-ui-dist": "5.32.2", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/rest": "^15.0.11", - "@loopback/testlab": "^8.0.10", + "@loopback/rest": "^15.0.12", + "@loopback/testlab": "^8.0.11", "@types/ejs": "^3.1.5", "@types/express": "^4.17.25", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "express": "^4.22.1" } } diff --git a/packages/rest/CHANGELOG.md b/packages/rest/CHANGELOG.md index 6d87fc21fad4..f7906b3b3279 100644 --- a/packages/rest/CHANGELOG.md +++ b/packages/rest/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [15.0.12](https://github.com/loopbackio/loopback-next/compare/@loopback/rest@15.0.11...@loopback/rest@15.0.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/rest + + + + + ## [15.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/rest@15.0.10...@loopback/rest@15.0.11) (2026-03-11) **Note:** Version bump only for package @loopback/rest diff --git a/packages/rest/package.json b/packages/rest/package.json index 1293acfb7f23..153d73616b8c 100644 --- a/packages/rest/package.json +++ b/packages/rest/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/rest", "description": "Expose controllers as REST endpoints and route REST API requests to controller methods", - "version": "15.0.11", + "version": "15.0.12", "license": "MIT", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -38,9 +38,9 @@ "@loopback/core": "^7.0.0" }, "dependencies": { - "@loopback/express": "^8.0.10", - "@loopback/http-server": "^7.0.10", - "@loopback/openapi-v3": "^11.0.11", + "@loopback/express": "^8.0.11", + "@loopback/http-server": "^7.0.11", + "@loopback/openapi-v3": "^11.0.12", "@openapi-contrib/openapi-schema-to-json-schema": "^5.1.0", "@types/body-parser": "^1.19.6", "@types/cors": "^2.8.19", @@ -61,28 +61,28 @@ "http-errors": "^2.0.1", "js-yaml": "^4.1.1", "json-schema-compare": "^0.2.2", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "on-finished": "^2.4.1", "path-to-regexp": "^6.3.0", - "qs": "^6.15.0", - "strong-error-handler": "^5.0.29", + "qs": "^6.15.1", + "strong-error-handler": "^5.0.30", "tslib": "^2.8.1", "type-is": "^2.0.1", - "validator": "^13.15.26" + "validator": "^13.15.35" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/openapi-spec-builder": "^8.0.10", - "@loopback/repository": "^8.0.10", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", + "@loopback/openapi-spec-builder": "^8.0.11", + "@loopback/repository": "^8.0.11", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", "@types/js-yaml": "^4.0.9", "@types/json-schema-compare": "^0.2.4", "@types/lodash": "^4.17.24", - "@types/multer": "^2.0.0", - "@types/node": "^16.18.126", + "@types/multer": "^2.1.0", + "@types/node": "^20.19.39", "@types/on-finished": "^2.3.5", "@types/qs": "^6.15.0", "multer": "^2.1.1" diff --git a/packages/security/CHANGELOG.md b/packages/security/CHANGELOG.md index f69aa2b9d246..3c227953a299 100644 --- a/packages/security/CHANGELOG.md +++ b/packages/security/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.12.12](https://github.com/loopbackio/loopback-next/compare/@loopback/security@0.12.11...@loopback/security@0.12.12) (2026-04-14) + +**Note:** Version bump only for package @loopback/security + + + + + ## [0.12.11](https://github.com/loopbackio/loopback-next/compare/@loopback/security@0.12.10...@loopback/security@0.12.11) (2026-03-11) **Note:** Version bump only for package @loopback/security diff --git a/packages/security/package.json b/packages/security/package.json index 603b4ecc3f33..f1188c15841b 100644 --- a/packages/security/package.json +++ b/packages/security/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/security", "description": "A LoopBack component for security support.", - "version": "0.12.11", + "version": "0.12.12", "keywords": [ "LoopBack", "Security" @@ -46,10 +46,10 @@ "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", - "@loopback/testlab": "^8.0.10", - "@types/debug": "^4.1.12", - "@types/node": "^16.18.126" + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", + "@loopback/testlab": "^8.0.11", + "@types/debug": "^4.1.13", + "@types/node": "^20.19.39" } } diff --git a/packages/service-proxy/CHANGELOG.md b/packages/service-proxy/CHANGELOG.md index 4ad3e9f4bf1e..d19c207b097c 100644 --- a/packages/service-proxy/CHANGELOG.md +++ b/packages/service-proxy/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/service-proxy@8.0.10...@loopback/service-proxy@8.0.11) (2026-04-14) + +**Note:** Version bump only for package @loopback/service-proxy + + + + + ## [8.0.10](https://github.com/loopbackio/loopback-next/compare/@loopback/service-proxy@8.0.9...@loopback/service-proxy@8.0.10) (2026-03-11) **Note:** Version bump only for package @loopback/service-proxy diff --git a/packages/service-proxy/package.json b/packages/service-proxy/package.json index e659718a459d..1bdf6bbb84dc 100644 --- a/packages/service-proxy/package.json +++ b/packages/service-proxy/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/service-proxy", "description": "A common set of interfaces for interacting with service oriented backends such as REST APIs, SOAP Web Services, and gRPC microservices", - "version": "8.0.10", + "version": "8.0.11", "license": "MIT", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -38,14 +38,14 @@ "@loopback/core": "^7.0.0" }, "dependencies": { - "loopback-datasource-juggler": "^6.0.4", + "loopback-datasource-juggler": "^6.0.5", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", - "@loopback/core": "^7.0.10", + "@loopback/build": "^12.0.11", + "@loopback/core": "^7.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@types/node": "^16.18.126" + "@loopback/testlab": "^8.0.11", + "@types/node": "^20.19.39" } } diff --git a/packages/testlab/CHANGELOG.md b/packages/testlab/CHANGELOG.md index 466f0fc11543..c9983f57d146 100644 --- a/packages/testlab/CHANGELOG.md +++ b/packages/testlab/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/testlab@8.0.10...@loopback/testlab@8.0.11) (2026-04-14) + +**Note:** Version bump only for package @loopback/testlab + + + + + ## [8.0.10](https://github.com/loopbackio/loopback-next/compare/@loopback/testlab@8.0.9...@loopback/testlab@8.0.10) (2026-03-11) **Note:** Version bump only for package @loopback/testlab diff --git a/packages/testlab/package.json b/packages/testlab/package.json index 6219d59f3f17..392c52f6ecde 100644 --- a/packages/testlab/package.json +++ b/packages/testlab/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/testlab", "description": "A collection of test utilities we use to write LoopBack tests.", - "version": "8.0.10", + "version": "8.0.11", "license": "MIT", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -38,19 +38,19 @@ "@types/express": "^4.17.25", "@types/fs-extra": "^11.0.4", "@types/shot": "^4.0.5", - "@types/sinon": "^21.0.0", + "@types/sinon": "^21.0.1", "@types/supertest": "^2.0.16", "express": "^4.22.1", "fs-extra": "^11.3.4", "oas-validator": "^5.0.8", "should": "^13.2.3", - "sinon": "^21.0.2", + "sinon": "^21.1.2", "supertest": "^7.2.2", "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@types/node": "^16.18.126" + "@types/node": "^20.19.39" } } diff --git a/packages/tsdocs/CHANGELOG.md b/packages/tsdocs/CHANGELOG.md index ad737043de0a..55c5d4899247 100644 --- a/packages/tsdocs/CHANGELOG.md +++ b/packages/tsdocs/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.11](https://github.com/loopbackio/loopback-next/compare/@loopback/tsdocs@7.0.10...@loopback/tsdocs@7.0.11) (2026-04-14) + +**Note:** Version bump only for package @loopback/tsdocs + + + + + ## [7.0.10](https://github.com/loopbackio/loopback-next/compare/@loopback/tsdocs@7.0.9...@loopback/tsdocs@7.0.10) (2026-03-11) **Note:** Version bump only for package @loopback/tsdocs diff --git a/packages/tsdocs/package.json b/packages/tsdocs/package.json index 413c3c18d12e..12c02e6d2ea9 100644 --- a/packages/tsdocs/package.json +++ b/packages/tsdocs/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/tsdocs", "description": "A package to generate api docs using Microsoft api-extractor and api-documenter", - "version": "7.0.10", + "version": "7.0.11", "keywords": [ "LoopBack", "Apidocs", @@ -49,8 +49,8 @@ ], "dependencies": { "@lerna/project": "^6.4.1", - "@microsoft/api-documenter": "^7.28.9", - "@microsoft/api-extractor": "^7.56.3", + "@microsoft/api-documenter": "^7.30.0", + "@microsoft/api-extractor": "^7.58.2", "@npmcli/map-workspaces": "^5.0.3", "@npmcli/package-json": "^7.0.5", "debug": "^4.4.3", @@ -58,13 +58,13 @@ "tslib": "^2.8.1" }, "devDependencies": { - "@loopback/build": "^12.0.10", + "@loopback/build": "^12.0.11", "@loopback/eslint-config": "^16.0.1", - "@loopback/testlab": "^8.0.10", - "@loopback/tsdocs-monorepo": "^0.6.10", - "@types/debug": "^4.1.12", + "@loopback/testlab": "^8.0.11", + "@loopback/tsdocs-monorepo": "^0.6.11", + "@types/debug": "^4.1.13", "@types/fs-extra": "^11.0.4", - "@types/node": "^16.18.126", + "@types/node": "^20.19.39", "@types/npmcli__map-workspaces": "^3.0.4", "@types/npmcli__package-json": "^4.0.4" } diff --git a/renovate.json b/renovate.json index 6ba4d108bd5c..329ed87fb35d 100644 --- a/renovate.json +++ b/renovate.json @@ -1,5 +1,6 @@ { "extends": [ "github>loopbackio/cicd//shared-configs/renovate/base" - ] + ], + "prConcurrentLimit": 30 } diff --git a/skills/loopback-core/SKILL.md b/skills/loopback-core/SKILL.md new file mode 100644 index 000000000000..caa0c3e6ee44 --- /dev/null +++ b/skills/loopback-core/SKILL.md @@ -0,0 +1,199 @@ +--- +name: loopback-core +description: + Build large-scale, extensible Node.js applications and frameworks using + LoopBack 4 core patterns. Use when building TypeScript/Node.js projects that + need IoC containers, dependency injection, extension point/extension patterns, + interceptors, life cycle observers, or component-based architecture. Triggers + on tasks involving @loopback/core, @loopback/context, Context, Binding, + @inject, @injectable, @extensionPoint, @extensions, LifeCycleObserver, + Interceptor, or Component patterns. Also use when the user asks about + structuring large-scale Node.js projects for extensibility and composability. +--- + +# Build Large-Scale Node.js Projects with LoopBack 4 Core + +LoopBack 4 core provides an IoC container and DI framework in TypeScript +designed for async-first, large-scale Node.js applications. Import from +`@loopback/core` (not `@loopback/context`). This skill covers only +`@loopback/core` — not REST, repositories, or other LoopBack modules. + +## Architecture Decision Tree + +1. **Need to manage artifacts and their dependencies?** -> Context & Bindings + ([context-and-bindings.md](references/context-and-bindings.md)) +2. **Need loose coupling between artifact construction and behavior?** -> + Dependency Injection + ([dependency-injection.md](references/dependency-injection.md)) +3. **Need a pluggable system where others can add capabilities?** -> Extension + Point/Extension ([extension-points.md](references/extension-points.md)) +4. **Need cross-cutting concerns (caching, logging, tracing)?** -> Interceptors + ([interceptors-and-observers.md](references/interceptors-and-observers.md)) +5. **Need to hook into app start/stop?** -> Life Cycle Observers + ([interceptors-and-observers.md](references/interceptors-and-observers.md)) +6. **Need runtime-configurable artifacts?** -> Configuration + ([configuration.md](references/configuration.md)) +7. **Need custom decorators, parameterized classes, or advanced patterns?** -> + Advanced Recipes ([advanced-recipes.md](references/advanced-recipes.md)) + +## Quick Start: Minimal Extensible Application + +```ts +import { + Application, + BindingKey, + Component, + Binding, + createBindingFromClass, + extensionPoint, + extensions, + BindingTemplate, + extensionFor, + injectable, + Getter, + config, +} from '@loopback/core'; + +// 1. Define the extension contract +export interface Greeter { + language: string; + greet(name: string): string; +} + +export const GREETER_EXTENSION_POINT_NAME = 'greeters'; + +export const asGreeter: BindingTemplate = binding => { + extensionFor(GREETER_EXTENSION_POINT_NAME)(binding); + binding.tag({namespace: 'greeters'}); +}; + +// 2. Define the extension point +@extensionPoint(GREETER_EXTENSION_POINT_NAME) +export class GreetingService { + constructor( + @extensions() private getGreeters: Getter, + @config() public readonly options?: {color: string}, + ) {} + async greet(language: string, name: string): Promise { + const greeters = await this.getGreeters(); + const greeter = greeters.find(g => g.language === language); + return greeter ? greeter.greet(name) : `Hello, ${name}!`; + } +} + +// 3. Implement extensions +@injectable(asGreeter) +export class EnglishGreeter implements Greeter { + language = 'en'; + greet(name: string) { + return `Hello, ${name}!`; + } +} + +@injectable(asGreeter) +export class ChineseGreeter implements Greeter { + language = 'zh'; + greet(name: string) { + return `${name},你好!`; + } +} + +// 4. Bundle into a component +export const GREETING_SERVICE = BindingKey.create( + 'services.GreetingService', +); + +export class GreetingComponent implements Component { + bindings: Binding[] = [ + createBindingFromClass(GreetingService, {key: GREETING_SERVICE}), + createBindingFromClass(EnglishGreeter), + createBindingFromClass(ChineseGreeter), + ]; +} + +// 5. Compose components via nesting +export class CoreComponent implements Component { + // services: auto-registered service/provider classes + services = [SomeUtilityService]; +} + +export class AppComponent implements Component { + // components: nested components (registered recursively) + components = [CoreComponent, GreetingComponent]; + // services: additional services for this layer + services = [AppSpecificService]; +} + +// 6. Wire up the application +export class MyApp extends Application { + constructor() { + super({shutdown: {signals: ['SIGINT']}}); + this.component(AppComponent); + } + async main() { + const svc = await this.get(GREETING_SERVICE); + console.log(await svc.greet('en', 'World')); + } +} +``` + +## Core Patterns Summary + +| Pattern | Key APIs | When to Use | +| ----------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------- | +| Context & Binding | `Context`, `bind()`, `toClass()`, `toDynamicValue()`, `toProvider()` | Managing artifacts and their dependencies | +| DI | `@inject()`, `@inject.getter()`, `@inject.view()` | Decoupling construction from behavior | +| Extension Point | `@extensionPoint()`, `@extensions()`, `@extensions.list()`, `extensionFor()`, `@injectable()` | Pluggable, open-ended feature sets | +| Interceptor | `@injectable(asGlobalInterceptor())`, `Provider` | Cross-cutting concerns | +| Observer | `@lifeCycleObserver('group')`, `LifeCycleObserver` | Startup/shutdown hooks (group controls order) | +| Configuration | `@config()`, `@config.view()`, `app.configure()` | Runtime-configurable behavior | +| Component | `Component`, `components[]`, `services[]`, `bindings[]` | Composable packaging of artifacts | + +## Key Rules + +- Always import from `@loopback/core`, not `@loopback/context` +- Use `BindingKey.create()` for strongly-typed keys +- Extension injection: `@extensions()` returns `Getter` (lazy, picks up + dynamic additions); `@extensions.list()` returns `T[]` (eager, simpler when + extensions are static at startup) +- Use `@config()` for artifact configuration, `app.configure(key).to(value)` to + set it +- Use `@injectable(bindingTemplate)` to decorate extension classes — can combine + scope and extension: + `@injectable({scope: BindingScope.SINGLETON}, extensionFor(POINT))` +- Use `createBindingFromClass()` to create bindings that respect `@injectable` + metadata +- Compose components hierarchically: `components[]` for nesting, `services[]` + for auto-registration, `bindings[]` for custom bindings +- Use `BindingScope.SINGLETON` for shared stateful services +- Use `CoreBindings.APPLICATION_INSTANCE` to inject the Application itself +- Use `ContextTags.KEY` to tag bindings with a stable key: + `tags: {[ContextTags.KEY]: MY_KEY}` +- Lifecycle observer groups are sorted alphabetically — use numbered prefixes + (e.g., `'03-setup'`, `'10-app'`) to control startup order + +## References + +- **Context & Bindings**: + [references/context-and-bindings.md](references/context-and-bindings.md) — + creating contexts, binding types, scopes, finding bindings, context hierarchy, + views, components +- **Dependency Injection**: + [references/dependency-injection.md](references/dependency-injection.md) — + constructor/property/method injection, getters, views, custom decorators, + custom injectors +- **Extension Points**: + [references/extension-points.md](references/extension-points.md) — defining + contracts, extension point classes, implementing/registering extensions, + configuration +- **Interceptors & Observers**: + [references/interceptors-and-observers.md](references/interceptors-and-observers.md) + — global interceptors, interceptor proxies, life cycle observers, dynamic + config via ContextView +- **Configuration**: [references/configuration.md](references/configuration.md) + — `@config()`, `@config.view()`, dynamic config, custom resolvers, sync vs + async +- **Advanced Recipes**: + [references/advanced-recipes.md](references/advanced-recipes.md) — custom + decorators, custom injectors, parameterized class factories, application + scaffolding diff --git a/skills/loopback-core/references/advanced-recipes.md b/skills/loopback-core/references/advanced-recipes.md new file mode 100644 index 000000000000..c8cbb785b4bd --- /dev/null +++ b/skills/loopback-core/references/advanced-recipes.md @@ -0,0 +1,189 @@ +# Advanced Recipes + +## Table of Contents + +- [TypeScript Decorator Configuration](#typescript-decorator-configuration) +- [Custom Decorators](#custom-decorators) +- [Custom Injectors](#custom-injectors) +- [Parameterized Class Factories](#parameterized-class-factories) +- [Explicit Context DI in Interceptors](#explicit-context-di-in-interceptors) +- [Sync vs Async Resolution](#sync-vs-async-resolution) +- [Application Scaffolding Pattern](#application-scaffolding-pattern) + +## TypeScript Decorator Configuration + +LoopBack 4 decorators (`@inject`, `@injectable`, `@lifeCycleObserver`, etc.) +require these tsconfig settings: + +```jsonc +{ + "compilerOptions": { + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + }, +} +``` + +- **`experimentalDecorators`** — enables `@decorator` syntax (required for all + LoopBack DI) +- **`emitDecoratorMetadata`** — emits type metadata at runtime so LoopBack can + resolve injection targets by type + +Without these, decorators either cause compile errors or silently fail at +runtime. + +## Custom Decorators + +Create a sugar decorator wrapping `@inject`: + +```ts +import {BindingKey, inject} from '@loopback/core'; + +const CURRENT_USER = BindingKey.create('currentUser'); + +function whoAmI() { + return inject(CURRENT_USER); +} + +class Greeter { + constructor(@whoAmI() private userName: string) {} + hello() { + return `Hello, ${this.userName}`; + } +} +``` + +Create a decorator using `DecoratorFactory`: + +See `@loopback/example-context/src/custom-inject-decorator.ts`. + +## Custom Injectors + +Inject with custom resolve logic: + +```ts +export function env(name: string) { + return inject('', {resolve: () => process.env[name]}); +} + +class MyService { + constructor(@env('DATABASE_URL') private dbUrl: string) {} +} +``` + +## Parameterized Class Factories + +When top-level decorators can't reference variables, use a class factory: + +```ts +import { + BindingAddress, + BindingTag, + Constructor, + Context, + createBindingFromClass, + inject, + injectable, +} from '@loopback/core'; + +interface Greeter { + hello(): string; +} + +function createClassWithDecoration( + bindingKeyForName: BindingAddress, + ...tags: BindingTag[] +): Constructor { + @injectable({tags}) + class GreeterTemplate implements Greeter { + constructor(@inject(bindingKeyForName) private userName: string) {} + hello() { + return `Hello, ${this.userName}`; + } + } + return GreeterTemplate; +} + +// Usage: +const ctx = new Context(); +ctx.bind('name1').to('John'); +const MyGreeter = createClassWithDecoration('name1', {tags: {prefix: '1'}}); +ctx.add(createBindingFromClass(MyGreeter, {key: 'greeter1'})); +const greeter = await ctx.get('greeter1'); +``` + +## Explicit Context DI in Interceptors + +Use `instantiateClass` to trigger DI within interceptors or any context where +you need to create a class instance with injection: + +```ts +import {inject, instantiateClass} from '@loopback/core'; + +class InjectionHelper { + constructor(@inject('services.Logger') public readonly logger: Logger) {} +} + +const interceptor: Interceptor = async (invocationCtx, next) => { + const helper = await instantiateClass(InjectionHelper, invocationCtx); + helper.logger.info('intercepting...'); + return next(); +}; +``` + +## Sync vs Async Resolution + +- `Context.getSync()` — resolves synchronously (throws if any dependency is + async) +- `Context.get()` — resolves asynchronously (returns Promise) + +When `ValueOrPromise` is used, the framework auto-detects: returns a plain value +if all deps are sync, otherwise returns a `Promise`. + +## Application Scaffolding Pattern + +Standalone application with shutdown handling: + +```ts +import {Application, ApplicationConfig} from '@loopback/core'; + +export class MyApplication extends Application { + constructor(config?: ApplicationConfig) { + super({shutdown: {signals: ['SIGINT']}, ...config}); + this.component(CoreComponent); + } + + async main() { + await this.start(); + const service = await this.get(GREETING_SERVICE); + console.log(await service.greet('en', 'World')); + } +} +``` + +Layered application with conditional components: + +```ts +export class BaseApplication extends Application { + constructor(config?: ApplicationConfig) { + super({shutdown: {signals: ['SIGINT']}, ...config}); + this.component(BaseComponent); + } +} + +export class MessagingApplication extends BaseApplication { + constructor() { + super(); + this.component(MessagingComponent); + } +} + +// Entry point +export async function main() { + const app = new MessagingApplication(); + app.component(PluginComponent); // add dynamically + app.configure(MY_SERVICE_KEY).to({port: 3000}); // configure before start + await app.start(); + return app; +} +``` diff --git a/skills/loopback-core/references/configuration.md b/skills/loopback-core/references/configuration.md new file mode 100644 index 000000000000..ae5c67398799 --- /dev/null +++ b/skills/loopback-core/references/configuration.md @@ -0,0 +1,123 @@ +# Configuration + +## Table of Contents + +- [Basic Configuration Injection](#basic-configuration-injection) +- [Configuring Bindings](#configuring-bindings) +- [Dynamic Configuration](#dynamic-configuration) +- [Configuration Views](#configuration-views) +- [Custom Configuration Resolver](#custom-configuration-resolver) +- [Sync vs Async Configuration](#sync-vs-async-configuration) + +## Basic Configuration Injection + +Use `@config()` to inject configuration for a bound class: + +```ts +import {config, Context} from '@loopback/core'; + +type GreeterConfig = { + prefix?: string; + includeDate?: boolean; +}; + +class Greeter { + constructor(@config() private settings: GreeterConfig = {}) {} + + greet(name: string) { + const prefix = this.settings.prefix ? `${this.settings.prefix}` : ''; + const date = this.settings.includeDate + ? `[${new Date().toISOString()}]` + : ''; + return `${date} ${prefix}: Hello, ${name}`; + } +} +``` + +## Configuring Bindings + +```ts +const ctx = new Context(); +ctx.configure('greeter').to({prefix: '>>>', includeDate: true}); +ctx.bind('greeter').toClass(Greeter); + +const greeter = await ctx.get('greeter'); +``` + +## Dynamic Configuration + +Supply configuration asynchronously: + +```ts +app + .configure('greeters.ChineseGreeter') + .toDynamicValue(async () => ({nameFirst: false})); +``` + +**Note:** When configuration is async, `getSync()` will throw. Use `get()` +instead. + +## Configuration Views + +Use `@config.view()` to get a live view that emits `refresh` events on changes: + +```ts +constructor( + @config.view() + private optionsView: ContextView, +) { + optionsView.on('refresh', () => { + this.restart(); + }); +} + +async getTTL() { + const options = await this.optionsView.singleValue(); + return options?.ttl ?? 5000; +} +``` + +## Custom Configuration Resolver + +Override how configuration is resolved (e.g., from environment variables): + +```ts +import { + ConfigurationResolver, + Context, + ContextBindings, + DefaultConfigurationResolver, + inject, +} from '@loopback/core'; + +class EnvConfigResolver + extends DefaultConfigurationResolver + implements ConfigurationResolver +{ + constructor(@inject.context() public readonly context: Context) { + super(context); + } + + getConfigAsValueOrPromise(key, configPath, resolutionOptions) { + const envVal = process.env[key.toString().toUpperCase()]; + if (envVal != null) { + try { + return JSON.parse(envVal); + } catch { + return envVal; + } + } + return super.getConfigAsValueOrPromise(key, configPath, resolutionOptions); + } +} + +// Register: +ctx.bind(ContextBindings.CONFIGURATION_RESOLVER).toClass(EnvConfigResolver); +``` + +## Sync vs Async Configuration + +- `@config()` with `.to()` — resolvable both sync and async +- `@config()` with `.toDynamicValue(async () => ...)` — async only (`getSync` + throws) +- Use `@config.view()` when you need to react to runtime config changes diff --git a/skills/loopback-core/references/context-and-bindings.md b/skills/loopback-core/references/context-and-bindings.md new file mode 100644 index 000000000000..e9a68457d69d --- /dev/null +++ b/skills/loopback-core/references/context-and-bindings.md @@ -0,0 +1,330 @@ +# Context and Bindings + +## Table of Contents + +- [Creating a Context](#creating-a-context) +- [Registering Artifacts](#registering-artifacts) +- [Binding Value Types](#binding-value-types) +- [Binding Scopes](#binding-scopes) +- [Finding and Resolving Bindings](#finding-and-resolving-bindings) +- [Context Hierarchy](#context-hierarchy) +- [Context Views and Observation](#context-views-and-observation) +- [Strongly-Typed Binding Keys](#strongly-typed-binding-keys) +- [Components](#components) + +## Creating a Context + +```ts +import {Context} from '@loopback/core'; +const ctx = new Context(); +``` + +## Registering Artifacts + +```ts +import {Context} from '@loopback/core'; +import {GreetingController} from './controllers'; +import {CACHING_SERVICE, GREETING_SERVICE} from './keys'; +import {CachingService} from './caching-service'; +import {GreetingService} from './greeting-service'; + +const ctx = new Context(); +ctx.bind('controllers.GreetingController').toClass(GreetingController); +ctx.bind(CACHING_SERVICE).toClass(CachingService); +ctx.bind(GREETING_SERVICE).toClass(GreetingService); +``` + +## Binding Value Types + +### 1. Constant value + +```ts +ctx.bind('currentUser').to('John'); +``` + +### 2. Factory function (dynamic value) + +```ts +ctx.bind('currentDate').toDynamicValue(() => new Date()); +``` + +### 3. Class instantiation + +```ts +ctx.bind('greeter').toClass(Greeter); +``` + +### 4. Provider class (factory with DI support) + +```ts +class RequestIdProvider implements Provider { + constructor(@inject('url') private url: string) {} + value() { + return `${this.url}#${Date.now()}`; + } +} +ctx.bind('requestId').toProvider(RequestIdProvider); +``` + +### 5. Alias + +```ts +ctx.bind('hello').toAlias(GREETER); +``` + +## Binding Scopes + +- **Transient** — new instance per resolution (default) +- **Singleton** — single shared instance +- **Context** — one instance per context in the hierarchy + +```ts +import {BindingScope, injectable} from '@loopback/core'; + +@injectable({scope: BindingScope.SINGLETON}) +export class CachingService { + /* ... */ +} + +// Or via binding API: +ctx + .bind('services.CachingService') + .toClass(CachingService) + .inScope(BindingScope.SINGLETON); +``` + +## Finding and Resolving Bindings + +```ts +// By key +const greeter = await ctx.get('greeter'); +const greeterSync = ctx.getSync('greeter'); + +// By binding key object +const greeter = await ctx.get(GREETING_SERVICE); + +// Find by pattern +const bindings = ctx.find('*.EnglishGreeter'); +const bindings = ctx.find(/\w+\.EnglishGreeter$/); + +// Find by tag +const greeters = ctx.findByTag('greeter'); + +// Find by filter function +import {filterByTag} from '@loopback/core'; +const greeters = ctx.find(filterByTag('greeter')); + +// Custom filter +const greeterFilter: BindingFilter = binding => + binding.tagMap['greeter'] != null; +const greeters = ctx.find(greeterFilter); +``` + +## Context Hierarchy + +Parent-child contexts enable scoped resolution. Child contexts inherit bindings +from parents but can override them. + +```ts +const appCtx = new Context('app'); +const requestCtx = new Context(appCtx, 'request'); + +// Binding in appCtx is visible from requestCtx +appCtx.bind('prefix').to('app'); + +// requestCtx can override +requestCtx.bind('prefix').to('request'); +``` + +### Custom Context Subclasses + +Extend `Context` to add domain-specific metadata and behavior: + +```ts +import {Context} from '@loopback/core'; + +export class UserContext extends Context { + readonly userId: string; + lastUsed: number; + readonly createdAt: number; + + constructor(parent: Context, userId: string) { + super(parent, `user:${userId}`); + this.userId = userId; + this.createdAt = Date.now(); + this.lastUsed = Date.now(); + } + + touch(): void { + this.lastUsed = Date.now(); + } + isInactive(timeoutMs: number): boolean { + return Date.now() - this.lastUsed > timeoutMs; + } +} +``` + +Use custom contexts for per-user or per-request isolation. Bindings in the +parent (e.g., Application) are inherited; bindings in the child can shadow them. + +### Injecting the Application + +Use `CoreBindings.APPLICATION_INSTANCE` to inject the Application context +itself: + +```ts +import {CoreBindings, inject} from '@loopback/core'; + +class MyRegistry { + constructor( + @inject(CoreBindings.APPLICATION_INSTANCE) + private app: Application, + ) {} +} +``` + +### Tag-Based Discovery + +Use `ContextTags.KEY` to tag bindings with a stable key for lookup: + +```ts +import {BindingScope, ContextTags, injectable} from '@loopback/core'; + +@injectable({ + scope: BindingScope.SINGLETON, + tags: {[ContextTags.KEY]: MY_SERVICE_KEY}, +}) +export class MyService { + /* ... */ +} +``` + +Discover bindings by custom tags: + +```ts +const MY_TAG = 'my:service'; + +// Tag a binding +ctx + .bind(key) + .to(value) + .tag(MY_TAG) + .tag({[MY_ID_TAG]: id}); + +// Discover by tag +const bindings = ctx.findByTag(MY_TAG); +``` + +## Context Views and Observation + +Watch for binding additions/removals dynamically: + +```ts +import {filterByTag, filterByKey} from '@loopback/core'; + +// Subscribe to events +appCtx.subscribe({ + filter: filterByTag('greeter'), + observe: (eventType, binding) => { + console.log('%s %s', eventType, binding.key); + }, +}); + +// Create a view (auto-refreshes) +const greetersView = ctx.createView(filterByKey(/^greeters\./)); +greetersView.on('refresh', () => { + console.log( + 'bindings changed:', + greetersView.bindings.map(b => b.key), + ); +}); +``` + +## Strongly-Typed Binding Keys + +```ts +import {BindingKey} from '@loopback/core'; +import {GreetingService} from './greeting-service'; + +export const GREETING_SERVICE = BindingKey.create( + 'services.GreetingService', +); +``` + +## Components + +A component bundles related artifacts. Register via `app.component()`. + +### Component Properties + +```ts +import { + Binding, + Component, + Class, + ServiceOrProviderClass, + createBindingFromClass, +} from '@loopback/core'; + +export class MyComponent implements Component { + // Nested components — registered recursively (order matters) + components?: Class[]; + // Service/provider classes — auto-registered by class name + services?: ServiceOrProviderClass[]; + // Custom bindings — for fine-grained control + bindings?: Binding[]; +} +``` + +### Hierarchical Composition + +Build layered applications by nesting components: + +```ts +// Layer 1: Core services +export class CoreComponent implements Component { + services = [LoggingService, ConfigService]; +} + +// Layer 2: Feature-specific +export class FeatureComponent implements Component { + services = [GreetingService]; + bindings = [ + createBindingFromClass(EnglishGreeter), + createBindingFromClass(ChineseGreeter), + ]; +} + +// Layer 3: Composed application component +export class AppComponent implements Component { + components = [CoreComponent, FeatureComponent]; + services = [AppSpecificService]; +} + +// Application wires up the top-level component +export class MyApp extends Application { + constructor() { + super(); + this.component(AppComponent); + } +} +``` + +When `app.component(AppComponent)` is called, LoopBack recursively registers all +nested `components`, then `services`, then `bindings`. + +### Conditional Composition + +Add components dynamically based on runtime conditions: + +```ts +export class MyApp extends Application { + constructor() { + super(); + this.component(CoreComponent); + if (process.env.ENABLE_MESSAGING) { + this.component(MessagingComponent); + } + } +} +``` diff --git a/skills/loopback-core/references/dependency-injection.md b/skills/loopback-core/references/dependency-injection.md new file mode 100644 index 000000000000..2c1a3f2885c9 --- /dev/null +++ b/skills/loopback-core/references/dependency-injection.md @@ -0,0 +1,147 @@ +# Dependency Injection + +## Table of Contents + +- [Three Types of DI](#three-types-of-di) +- [Constructor Injection](#constructor-injection) +- [Property Injection](#property-injection) +- [Method Parameter Injection](#method-parameter-injection) +- [Getter Injection](#getter-injection) +- [View Injection](#view-injection) +- [Optional Injection](#optional-injection) +- [Custom Decorators](#custom-decorators) +- [Custom Injectors](#custom-injectors) +- [Invoking Methods with Injection](#invoking-methods-with-injection) + +## Three Types of DI + +1. **Constructor injection** — `@inject()` on constructor parameters +2. **Property injection** — `@inject()` on class properties +3. **Method injection** — `@inject()` on method parameters (used with + `invokeMethod`) + +## Constructor Injection + +```ts +import {inject} from '@loopback/core'; + +export class CacheObserver implements LifeCycleObserver { + constructor( + @inject(CACHING_SERVICE) private cachingService: CachingService, + ) {} +} +``` + +## Property Injection + +```ts +class Greeter { + @inject('currentDate') + private created: Date; + + @inject('requestId') + private requestId: string; +} +``` + +## Method Parameter Injection + +```ts +class GreetingService { + async greet( + @inject('currentLanguage') language: string, + @inject('currentUser') userName: string, + ) { + // ... + } +} +// Call with injection: +const result = await invokeMethod(greetingService, 'greet', ctx); +``` + +## Getter Injection + +Inject a getter function instead of a value — always returns the latest value on +each call: + +```ts +import {Getter, inject} from '@loopback/core'; + +class GreetingService { + constructor( + @inject.getter('currentDate') + private now: Getter, + ) {} + + async doWork() { + const date = await this.now(); // always fresh + } +} +``` + +## View Injection + +Inject a live view of bindings matching a filter: + +```ts +import {ContextView, filterByTag, inject} from '@loopback/core'; + +class GreetingService { + constructor( + @inject.view(filterByTag('greeter')) + private greetersView: ContextView, + ) {} + + async listGreeters() { + return this.greetersView.values(); // always current + } +} +``` + +## Optional Injection + +```ts +@inject(CACHING_SERVICE, {optional: true}) +private cachingService?: CachingService; +``` + +## Custom Decorators + +Wrap `@inject` to create domain-specific decorators: + +```ts +import {BindingKey, inject} from '@loopback/core'; + +const CURRENT_USER = BindingKey.create('currentUser'); + +function whoAmI() { + return inject(CURRENT_USER); +} + +class Greeter { + constructor(@whoAmI() private userName: string) {} +} +``` + +## Custom Injectors + +Create injection decorators with custom resolve logic: + +```ts +export function env(name: string) { + return inject('', {resolve: () => process.env[name]}); +} + +class MyService { + constructor(@env('DATABASE_URL') private dbUrl: string) {} +} +``` + +## Invoking Methods with Injection + +```ts +import {invokeMethod} from '@loopback/core'; + +// Method parameters are resolved from context +const result = await invokeMethod(greetingService, 'greet', ctx); +``` diff --git a/skills/loopback-core/references/extension-points.md b/skills/loopback-core/references/extension-points.md new file mode 100644 index 000000000000..4cfae6eab1b5 --- /dev/null +++ b/skills/loopback-core/references/extension-points.md @@ -0,0 +1,223 @@ +# Extension Points and Extensions + +## Table of Contents + +- [Overview](#overview) +- [Define the Extension Contract](#define-the-extension-contract) +- [Define the Extension Point Class](#define-the-extension-point-class) +- [Implement Extensions](#implement-extensions) +- [Register Extension Points](#register-extension-points) +- [Register Extensions](#register-extensions) +- [Configure Extension Points](#configure-extension-points) +- [Configure Extensions](#configure-extensions) + +## Overview + +The Extension Point/Extension pattern enables loose coupling and extensibility. +An extension point declares a contract (interface); extensions implement that +contract. The extension point discovers extensions at runtime via DI. + +## Define the Extension Contract + +```ts +import {BindingTemplate, extensionFor} from '@loopback/core'; + +export interface Greeter { + language: string; + greet(name: string): string; +} + +export const GREETER_EXTENSION_POINT_NAME = 'greeters'; + +// Inline binding template +export const asGreeter: BindingTemplate = binding => { + extensionFor(GREETER_EXTENSION_POINT_NAME)(binding); + binding.tag({namespace: 'greeters'}); +}; +``` + +### Binding Template Factory Functions + +For reusable templates, wrap in a factory function: + +```ts +export function asGreeter(): BindingTemplate { + return binding => { + binding.apply(extensionFor(GREETER_EXTENSION_POINT_NAME)); + }; +} + +// Usage: +@injectable(asGreeter()) +export class EnglishGreeter implements Greeter { + /* ... */ +} +``` + +You can combine scope and extension registration in `@injectable`: + +```ts +@injectable({scope: BindingScope.SINGLETON}, extensionFor(MY_EXTENSION_POINT)) +export class MyExtension implements MyContract { + /* ... */ +} +``` + +## Define the Extension Point Class + +Two injection styles: + +### Lazy injection with `@extensions()` (Getter) + +Returns `Getter` — call it each time to get the latest extensions (picks up +dynamic additions): + +```ts +import {config, extensionPoint, extensions, Getter} from '@loopback/core'; + +@extensionPoint(GREETER_EXTENSION_POINT_NAME) +export class GreetingService { + constructor( + @extensions() + private getGreeters: Getter, + @config() + public readonly options?: GreetingServiceOptions, + ) {} + + async greet(language: string, name: string): Promise { + const greeters = await this.getGreeters(); + const greeter = greeters.find(g => g.language === language); + return greeter ? greeter.greet(name) : `Hello, ${name}!`; + } +} +``` + +### Eager injection with `@extensions.list()` (Array) + +Returns `T[]` directly — simpler when extensions are static at startup: + +```ts +import {extensions, injectable, BindingScope} from '@loopback/core'; + +@injectable({scope: BindingScope.SINGLETON}) +export class PluginHost { + constructor( + @extensions.list(PLUGIN_EXTENSIONS) + private plugins: Plugin[] = [], + ) {} + + setup() { + for (const plugin of this.plugins) { + plugin.register(this); + } + } +} +``` + +**When to use which:** + +- `@extensions()` with `Getter` — extensions may be added after + construction +- `@extensions.list()` with `T[]` — extensions are all registered before the + class is instantiated (most common in component-based apps) + +## Implement Extensions + +```ts +import {config, injectable} from '@loopback/core'; +import {asGreeter, Greeter} from '../types'; + +export interface ChineseGreeterOptions { + nameFirst: boolean; +} + +@injectable(asGreeter) +export class ChineseGreeter implements Greeter { + language = 'zh'; + constructor( + @config() + private options: ChineseGreeterOptions = {nameFirst: true}, + ) {} + greet(name: string) { + if (this.options?.nameFirst === false) { + return `你好,${name}!`; + } + return `${name},你好!`; + } +} + +@injectable(asGreeter) +export class EnglishGreeter implements Greeter { + language = 'en'; + greet(name: string) { + return `Hello, ${name}!`; + } +} +``` + +## Register Extension Points + +```ts +import {BindingKey, BindingScope} from '@loopback/core'; + +export const GREETING_SERVICE = BindingKey.create( + 'services.GreetingService', +); + +// Direct binding +app + .bind(GREETING_SERVICE) + .toClass(GreetingService) + .inScope(BindingScope.SINGLETON); + +// Or via component (preferred) +export class GreetingComponent implements Component { + bindings = [ + createBindingFromClass(GreetingService, {key: GREETING_SERVICE}), + createBindingFromClass(EnglishGreeter), + createBindingFromClass(ChineseGreeter), + ]; +} +``` + +## Register Extensions + +Four methods: + +```ts +// Method 1: addExtension helper +import {addExtension} from '@loopback/core'; +addExtension(app, 'greeters', FrenchGreeter); + +// Method 2: Bind with template +app.bind('greeters.FrenchGreeter').toClass(FrenchGreeter).apply(asGreeter); + +// Method 3: createBindingFromClass (auto-applies @injectable metadata) +app.add(createBindingFromClass(FrenchGreeter)); + +// Method 4: Via component +export class GreetingComponent implements Component { + bindings = [ + createBindingFromClass(EnglishGreeter), + createBindingFromClass(ChineseGreeter), + ]; +} +``` + +## Configure Extension Points + +```ts +// 1. Declare @config() in the extension point class (see GreetingService above) + +// 2. Set configuration +app.configure(GREETING_SERVICE).to({color: 'blue'}); +``` + +## Configure Extensions + +```ts +// 1. Declare @config() in the extension class (see ChineseGreeter above) + +// 2. Set configuration +app.configure('greeters.ChineseGreeter').to({nameFirst: false}); +``` diff --git a/skills/loopback-core/references/interceptors-and-observers.md b/skills/loopback-core/references/interceptors-and-observers.md new file mode 100644 index 000000000000..f5f927012100 --- /dev/null +++ b/skills/loopback-core/references/interceptors-and-observers.md @@ -0,0 +1,202 @@ +# Interceptors and Life Cycle Observers + +## Table of Contents + +- [Interceptors Overview](#interceptors-overview) +- [Global Interceptors](#global-interceptors) +- [Interceptor Proxy](#interceptor-proxy) +- [Life Cycle Observers](#life-cycle-observers) +- [Dynamic Configuration via ContextView](#dynamic-configuration-via-contextview) + +## Interceptors Overview + +Interceptors provide aspect-oriented logic around method invocations. They +follow a chain-of-responsibility pattern with pre- and post-invocation hooks. + +## Global Interceptors + +Register an interceptor that applies to all invocations: + +```ts +import { + asGlobalInterceptor, + inject, + injectable, + Interceptor, + InvocationContext, + InvocationResult, + Provider, + ValueOrPromise, +} from '@loopback/core'; +import {CachingService} from '../caching-service'; +import {CACHING_SERVICE} from '../keys'; + +@injectable(asGlobalInterceptor('caching')) +export class CachingInterceptor implements Provider { + constructor( + @inject(CACHING_SERVICE) private cachingService: CachingService, + ) {} + + value() { + return async ( + ctx: InvocationContext, + next: () => ValueOrPromise, + ) => { + const targetName = ctx.targetName; + const cachingKey = `${targetName}:${JSON.stringify(ctx.args)}`; + const cachedResult = await this.cachingService.get(cachingKey); + if (cachedResult) return cachedResult; + + const result = await next(); + await this.cachingService.set(cachingKey, result); + return result; + }; + } +} + +// Register: +app.add(createBindingFromClass(CachingInterceptor)); +``` + +## Interceptor Proxy + +Apply interceptors between service dependencies: + +```ts +import {AsyncProxy} from '@loopback/core'; + +class Greeter { + @inject(CONVERTER, {asProxyWithInterceptors: true}) + private converter: AsyncProxy; + + async greet(name: string) { + const msg = await this.converter.toUpperCase(name); + return `Hello, ${msg}`; + } +} + +// Or resolve with proxy: +const greeter = await ctx.get(GREETER, {asProxyWithInterceptors: true}); +``` + +## Life Cycle Observers + +Participate in application `start`/`stop` events: + +```ts +import {inject, lifeCycleObserver, LifeCycleObserver} from '@loopback/core'; +import {CachingService} from '../caching-service'; +import {CACHING_SERVICE} from '../keys'; + +@lifeCycleObserver('caching') +export class CacheObserver implements LifeCycleObserver { + constructor( + @inject(CACHING_SERVICE) private cachingService: CachingService, + ) {} + + async start(): Promise { + await this.cachingService.start(); + } + + async stop(): Promise { + await this.cachingService.stop(); + } +} +``` + +### Observer Group Ordering + +The group name (first argument to `@lifeCycleObserver`) controls execution +order. Groups are sorted **alphabetically** during `start()` and +reverse-alphabetically during `stop()`. Use numbered prefixes to enforce order: + +```ts +@lifeCycleObserver('02-config') // starts first +export class ConfigObserver implements LifeCycleObserver { + /* ... */ +} + +@lifeCycleObserver('05-services') // starts second +export class ServiceObserver implements LifeCycleObserver { + /* ... */ +} + +@lifeCycleObserver('10-app') // starts last +export class AppObserver implements LifeCycleObserver { + /* ... */ +} +``` + +### Inline Binding Metadata + +Combine `@lifeCycleObserver` with scope and tags in the second argument: + +```ts +import { + BindingScope, + ContextTags, + lifeCycleObserver, + LifeCycleObserver, +} from '@loopback/core'; + +@lifeCycleObserver('06-mcp', { + scope: BindingScope.SINGLETON, + tags: {[ContextTags.KEY]: MCP_HOST_FACTORY_KEY}, +}) +export class MCPHostFactory implements LifeCycleObserver { + async start(): Promise { + /* initialize */ + } + async stop(): Promise { + /* cleanup */ + } +} +``` + +This is equivalent to separately applying +`@injectable({scope: BindingScope.SINGLETON})` and tagging the binding. + +## Dynamic Configuration via ContextView + +React to configuration changes at runtime: + +```ts +import {BindingScope, config, ContextView, injectable} from '@loopback/core'; + +@injectable({scope: BindingScope.SINGLETON}) +export class CachingService { + private timer: NodeJS.Timer; + private store: Map = new Map(); + + constructor( + @config.view() + private optionsView: ContextView, + ) { + // React to configuration changes + optionsView.on('refresh', () => { + this.restart().catch(err => { + console.error('Cannot restart the caching service.', err); + process.exit(1); + }); + }); + } + + async getTTL() { + const options = await this.optionsView.singleValue(); + return options?.ttl ?? 5000; + } + + async start(): Promise { + await this.clear(); + const ttl = await this.getTTL(); + this.timer = setInterval(() => { + this.sweep().catch(console.warn); + }, ttl); + } + + async stop(): Promise { + if (this.timer) clearInterval(this.timer); + await this.clear(); + } +} +```