diff --git a/.commitlintrc.json b/.commitlintrc.json new file mode 100644 index 0000000..c274d7c --- /dev/null +++ b/.commitlintrc.json @@ -0,0 +1,24 @@ +{ + "extends": ["@commitlint/config-conventional"], + "rules": { + "type-enum": [ + 2, + "always", + [ + "build", + "ci", + "docs", + "feat", + "fix", + "perf", + "refactor", + "revert", + "style", + "test", + "chore" + ] + ], + "subject-case": [2, "never", ["upper-case"]], + "header-max-length": [2, "always", 100] + } +} diff --git a/.deps/EXCLUDED/dev.md b/.deps/EXCLUDED/dev.md index 721a502..e0b0e69 100644 --- a/.deps/EXCLUDED/dev.md +++ b/.deps/EXCLUDED/dev.md @@ -3,40 +3,15 @@ This file contains a manual contribution to .deps/dev.md and it's needed because | Packages | Resolved CQs | | --- | --- | | `@eclipse-che/license-tool@2.0.1-next.7742774` | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@eclipse-che/license-tool/2.0.1-next.7742774) | -| `@rollup/rollup-android-arm-eabi@4.62.3` | transitive dependency | -| `@rollup/rollup-android-arm64@4.62.3` | transitive dependency | -| `@rollup/rollup-darwin-arm64@4.62.3` | transitive dependency | -| `@rollup/rollup-darwin-x64@4.62.3` | transitive dependency | -| `@rollup/rollup-freebsd-arm64@4.62.3` | transitive dependency | -| `@rollup/rollup-freebsd-x64@4.62.3` | transitive dependency | -| `@rollup/rollup-linux-arm-gnueabihf@4.62.3` | transitive dependency | -| `@rollup/rollup-linux-arm-musleabihf@4.62.3` | transitive dependency | -| `@rollup/rollup-linux-arm64-gnu@4.62.3` | transitive dependency | -| `@rollup/rollup-linux-arm64-musl@4.62.3` | transitive dependency | -| `@rollup/rollup-linux-loong64-gnu@4.62.3` | transitive dependency | -| `@rollup/rollup-linux-loong64-musl@4.62.3` | transitive dependency | -| `@rollup/rollup-linux-ppc64-gnu@4.62.3` | transitive dependency | -| `@rollup/rollup-linux-ppc64-musl@4.62.3` | transitive dependency | -| `@rollup/rollup-linux-riscv64-gnu@4.62.3` | transitive dependency | -| `@rollup/rollup-linux-riscv64-musl@4.62.3` | transitive dependency | -| `@rollup/rollup-linux-s390x-gnu@4.62.3` | transitive dependency | -| `@rollup/rollup-linux-x64-gnu@4.62.3` | transitive dependency | -| `@rollup/rollup-linux-x64-musl@4.62.3` | transitive dependency | -| `@rollup/rollup-openbsd-x64@4.62.3` | transitive dependency | -| `@rollup/rollup-openharmony-arm64@4.62.3` | transitive dependency | -| `@rollup/rollup-win32-arm64-msvc@4.62.3` | transitive dependency | -| `@rollup/rollup-win32-ia32-msvc@4.62.3` | transitive dependency | -| `@rollup/rollup-win32-x64-gnu@4.62.3` | transitive dependency | -| `@rollup/rollup-win32-x64-msvc@4.62.3` | transitive dependency | | `@sinclair/typebox@0.34.52` | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@sinclair/typebox/0.34.52) | +| `@types/lodash@4.17.25` | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@types/lodash/4.17.25) | +| `@types/node@26.5.1` | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@types/node/26.5.1) | | `@yarnpkg/parsers@3.1.0` | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@yarnpkg/parsers/3.1.0) | -| `baseline-browser-mapping@2.11.6` | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/baseline-browser-mapping/2.11.6) | -| `brace-expansion@1.1.17` | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/brace-expansion/1.1.17) | -| `brace-expansion@2.1.3` | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/brace-expansion/2.1.3) | +| `axios@1.20.0` | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/axios/1.20.0) | +| `eslint@10.10.0` | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/eslint/10.10.0) | +| `rollup@4.63.1` | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/rollup/4.63.1) | | `js-yaml@3.15.2` | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/js-yaml/3.15.2) | | `js-yaml@4.3.2` | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/js-yaml/4.3.2) | -| `node-gyp@13.0.1` | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/node-gyp/13.0.1) | -| `rollup@4.62.3` | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/rollup/4.62.3) | | `which@7.0.0` | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/which/7.0.0) | | `@jest/console@30.5.1` | transitive dependency | | `@jest/core@30.5.1` | transitive dependency | @@ -88,3 +63,44 @@ This file contains a manual contribution to .deps/dev.md and it's needed because | `jest-watcher@30.5.1` | transitive dependency | | `jest-worker@30.5.1` | transitive dependency | | `pretty-format@30.5.1` | transitive dependency | +| `@eslint/plugin-kit@0.7.3` | transitive dependency | +| `@jridgewell/sourcemap-codec@1.6.0` | transitive dependency | +| `@keyv/bigmap@1.3.1` | transitive dependency | +| `@napi-rs/wasm-runtime@1.2.4` | transitive dependency | +| `@rollup/rollup-android-arm-eabi@4.63.1` | transitive dependency | +| `@rollup/rollup-android-arm64@4.63.1` | transitive dependency | +| `@rollup/rollup-darwin-arm64@4.63.1` | transitive dependency | +| `@rollup/rollup-darwin-x64@4.63.1` | transitive dependency | +| `@rollup/rollup-freebsd-arm64@4.63.1` | transitive dependency | +| `@rollup/rollup-freebsd-x64@4.63.1` | transitive dependency | +| `@rollup/rollup-linux-arm-gnueabihf@4.63.1` | transitive dependency | +| `@rollup/rollup-linux-arm-musleabihf@4.63.1` | transitive dependency | +| `@rollup/rollup-linux-arm64-gnu@4.63.1` | transitive dependency | +| `@rollup/rollup-linux-arm64-musl@4.63.1` | transitive dependency | +| `@rollup/rollup-linux-loong64-gnu@4.63.1` | transitive dependency | +| `@rollup/rollup-linux-loong64-musl@4.63.1` | transitive dependency | +| `@rollup/rollup-linux-ppc64-gnu@4.63.1` | transitive dependency | +| `@rollup/rollup-linux-ppc64-musl@4.63.1` | transitive dependency | +| `@rollup/rollup-linux-riscv64-gnu@4.63.1` | transitive dependency | +| `@rollup/rollup-linux-riscv64-musl@4.63.1` | transitive dependency | +| `@rollup/rollup-linux-s390x-gnu@4.63.1` | transitive dependency | +| `@rollup/rollup-linux-x64-gnu@4.63.1` | transitive dependency | +| `@rollup/rollup-linux-x64-musl@4.63.1` | transitive dependency | +| `@rollup/rollup-openbsd-x64@4.63.1` | transitive dependency | +| `@rollup/rollup-openharmony-arm64@4.63.1` | transitive dependency | +| `@rollup/rollup-win32-arm64-msvc@4.63.1` | transitive dependency | +| `@rollup/rollup-win32-ia32-msvc@4.63.1` | transitive dependency | +| `@rollup/rollup-win32-x64-gnu@4.63.1` | transitive dependency | +| `@rollup/rollup-win32-x64-msvc@4.63.1` | transitive dependency | +| `@ungap/structured-clone@1.4.0` | transitive dependency | +| `baseline-browser-mapping@2.11.22` | transitive dependency | +| `browserslist@4.28.9` | transitive dependency | +| `electron-to-chromium@1.5.427` | transitive dependency | +| `node-gyp@13.0.2` | transitive dependency | +| `node-releases@2.0.55` | transitive dependency | +| `picomatch@4.0.7` | transitive dependency | +| `qified@0.10.1` | transitive dependency | +| `react-is@19.3.0` | transitive dependency | +| `undici-types@8.9.0` | transitive dependency | +| `undici@8.10.2` | transitive dependency | +| `update-browserslist-db@1.3.3` | transitive dependency | diff --git a/.deps/dev.md b/.deps/dev.md index d5f72c6..f0c6200 100644 --- a/.deps/dev.md +++ b/.deps/dev.md @@ -5,7 +5,7 @@ | `@babel/code-frame@7.29.7` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/code-frame/7.29.7) | | `@babel/compat-data@7.29.7` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/compat-data/7.29.7) | | `@babel/core@7.29.7` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/core/7.29.7) | -| `@babel/generator@7.29.7` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/generator/7.29.7) | +| `@babel/generator@7.29.8` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/generator/7.29.8) | | `@babel/helper-compilation-targets@7.29.7` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/helper-compilation-targets/7.29.7) | | `@babel/helper-globals@7.29.7` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/helper-globals/7.29.7) | | `@babel/helper-module-imports@7.29.7` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/helper-module-imports/7.29.7) | @@ -15,7 +15,7 @@ | `@babel/helper-validator-identifier@7.29.7` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/helper-validator-identifier/7.29.7) | | `@babel/helper-validator-option@7.29.7` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/helper-validator-option/7.29.7) | | `@babel/helpers@7.29.7` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/helpers/7.29.7) | -| `@babel/parser@7.29.7` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/parser/7.29.7) | +| `@babel/parser@7.29.8` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/parser/7.29.8) | | `@babel/plugin-syntax-async-generators@7.8.4` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/plugin-syntax-async-generators/7.8.4) | | `@babel/plugin-syntax-bigint@7.8.3` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/plugin-syntax-bigint/7.8.3) | | `@babel/plugin-syntax-class-properties@7.12.13` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/plugin-syntax-class-properties/7.12.13) | @@ -34,9 +34,11 @@ | `@babel/plugin-syntax-top-level-await@7.14.5` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/plugin-syntax-top-level-await/7.14.5) | | `@babel/plugin-syntax-typescript@7.29.7` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/plugin-syntax-typescript/7.29.7) | | `@babel/template@7.29.7` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/template/7.29.7) | -| `@babel/traverse@7.29.7` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/traverse/7.29.7) | -| `@babel/types@7.29.7` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/types/7.29.7) | +| `@babel/traverse@7.29.8` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/traverse/7.29.8) | +| `@babel/types@7.29.8` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@babel/types/7.29.8) | | `@bcoe/v8-coverage@0.2.3` | ISC AND MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@bcoe/v8-coverage/0.2.3) | +| `@cacheable/memory@2.2.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@cacheable/memory/2.2.0) | +| `@cacheable/utils@2.5.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@cacheable/utils/2.5.0) | | `@eclipse-che/license-tool@2.0.1-next.7742774` | EPL-2.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@eclipse-che/license-tool/2.0.1-next.7742774) | | `@emnapi/core@1.10.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@emnapi/core/1.10.0) | | `@emnapi/runtime@1.10.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@emnapi/runtime/1.10.0) | @@ -48,7 +50,7 @@ | `@eslint/core@1.2.1` | Apache-2.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@eslint/core/1.2.1) | | `@eslint/eslintrc@3.3.4` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@eslint/eslintrc/3.3.4) | | `@eslint/object-schema@3.0.5` | Apache-2.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@eslint/object-schema/3.0.5) | -| `@eslint/plugin-kit@0.7.2` | Apache-2.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@eslint/plugin-kit/0.7.2) | +| `@eslint/plugin-kit@0.7.3` | Apache-2.0 | transitive dependency | | `@humanfs/core@0.19.2` | Apache-2.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@humanfs/core/0.19.2) | | `@humanfs/node@0.16.8` | Apache-2.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@humanfs/node/0.16.8) | | `@humanfs/types@0.15.0` | Apache-2.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@humanfs/types/0.15.0) | @@ -60,34 +62,31 @@ | `@istanbuljs/schema@0.1.6` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@istanbuljs/schema/0.1.6) | | `@jest/console@30.5.1` | MIT | transitive dependency | | `@jest/core@30.5.1` | MIT | transitive dependency | -| `@jest/diff-sequences@30.4.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@jest/diff-sequences/30.4.0) | | `@jest/diff-sequences@30.5.0` | MIT | transitive dependency | | `@jest/environment@30.5.1` | MIT | transitive dependency | -| `@jest/expect-utils@30.4.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@jest/expect-utils/30.4.1) | | `@jest/expect-utils@30.5.1` | MIT | transitive dependency | | `@jest/expect@30.5.1` | MIT | transitive dependency | | `@jest/fake-timers@30.5.1` | MIT | transitive dependency | -| `@jest/get-type@30.1.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@jest/get-type/30.1.0) | | `@jest/get-type@30.5.0` | MIT | transitive dependency | | `@jest/globals@30.5.1` | MIT | transitive dependency | -| `@jest/pattern@30.4.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@jest/pattern/30.4.0) | | `@jest/pattern@30.5.0` | MIT | transitive dependency | | `@jest/reporters@30.5.1` | MIT | transitive dependency | -| `@jest/schemas@30.4.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@jest/schemas/30.4.1) | | `@jest/schemas@30.5.0` | MIT | transitive dependency | | `@jest/snapshot-utils@30.5.1` | MIT | transitive dependency | | `@jest/source-map@30.5.0` | MIT | transitive dependency | | `@jest/test-result@30.5.1` | MIT | transitive dependency | | `@jest/test-sequencer@30.5.1` | MIT | transitive dependency | | `@jest/transform@30.5.1` | MIT | transitive dependency | -| `@jest/types@30.4.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@jest/types/30.4.1) | | `@jest/types@30.5.1` | MIT | transitive dependency | | `@jridgewell/gen-mapping@0.3.13` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@jridgewell/gen-mapping/0.3.13) | | `@jridgewell/remapping@2.3.5` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@jridgewell/remapping/2.3.5) | | `@jridgewell/resolve-uri@3.1.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@jridgewell/resolve-uri/3.1.2) | -| `@jridgewell/sourcemap-codec@1.5.5` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@jridgewell/sourcemap-codec/1.5.5) | +| `@jridgewell/sourcemap-codec@1.6.0` | MIT | transitive dependency | | `@jridgewell/trace-mapping@0.3.31` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@jridgewell/trace-mapping/0.3.31) | -| `@napi-rs/wasm-runtime@1.2.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@napi-rs/wasm-runtime/1.2.0) | +| `@keyv/bigmap@1.3.1` | MIT | transitive dependency | +| `@keyv/serialize@1.1.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@keyv/serialize/1.1.1) | +| `@napi-rs/lzma-linux-x64-gnu@1.5.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@napi-rs/lzma-linux-x64-gnu/1.5.1) | +| `@napi-rs/wasm-runtime@1.2.4` | | transitive dependency | | `@parcel/watcher-android-arm64@2.6.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@parcel/watcher-android-arm64/2.6.0) | | `@parcel/watcher-darwin-arm64@2.6.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@parcel/watcher-darwin-arm64/2.6.0) | | `@parcel/watcher-darwin-x64@2.6.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@parcel/watcher-darwin-x64/2.6.0) | @@ -103,31 +102,31 @@ | `@parcel/watcher@2.6.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@parcel/watcher/2.6.0) | | `@pkgjs/parseargs@0.11.0` | Apache-2.0 AND MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@pkgjs/parseargs/0.11.0) | | `@pkgr/core@0.3.6` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@pkgr/core/0.3.6) | -| `@rollup/rollup-android-arm-eabi@4.62.3` | | transitive dependency | -| `@rollup/rollup-android-arm64@4.62.3` | | transitive dependency | -| `@rollup/rollup-darwin-arm64@4.62.3` | MIT | transitive dependency | -| `@rollup/rollup-darwin-x64@4.62.3` | | transitive dependency | -| `@rollup/rollup-freebsd-arm64@4.62.3` | | transitive dependency | -| `@rollup/rollup-freebsd-x64@4.62.3` | | transitive dependency | -| `@rollup/rollup-linux-arm-gnueabihf@4.62.3` | | transitive dependency | -| `@rollup/rollup-linux-arm-musleabihf@4.62.3` | | transitive dependency | -| `@rollup/rollup-linux-arm64-gnu@4.62.3` | | transitive dependency | -| `@rollup/rollup-linux-arm64-musl@4.62.3` | | transitive dependency | -| `@rollup/rollup-linux-loong64-gnu@4.62.3` | | transitive dependency | -| `@rollup/rollup-linux-loong64-musl@4.62.3` | | transitive dependency | -| `@rollup/rollup-linux-ppc64-gnu@4.62.3` | | transitive dependency | -| `@rollup/rollup-linux-ppc64-musl@4.62.3` | | transitive dependency | -| `@rollup/rollup-linux-riscv64-gnu@4.62.3` | | transitive dependency | -| `@rollup/rollup-linux-riscv64-musl@4.62.3` | | transitive dependency | -| `@rollup/rollup-linux-s390x-gnu@4.62.3` | | transitive dependency | -| `@rollup/rollup-linux-x64-gnu@4.62.3` | | transitive dependency | -| `@rollup/rollup-linux-x64-musl@4.62.3` | | transitive dependency | -| `@rollup/rollup-openbsd-x64@4.62.3` | | transitive dependency | -| `@rollup/rollup-openharmony-arm64@4.62.3` | | transitive dependency | -| `@rollup/rollup-win32-arm64-msvc@4.62.3` | | transitive dependency | -| `@rollup/rollup-win32-ia32-msvc@4.62.3` | | transitive dependency | -| `@rollup/rollup-win32-x64-gnu@4.62.3` | | transitive dependency | -| `@rollup/rollup-win32-x64-msvc@4.62.3` | | transitive dependency | +| `@rollup/rollup-android-arm-eabi@4.63.1` | | transitive dependency | +| `@rollup/rollup-android-arm64@4.63.1` | | transitive dependency | +| `@rollup/rollup-darwin-arm64@4.63.1` | MIT | transitive dependency | +| `@rollup/rollup-darwin-x64@4.63.1` | | transitive dependency | +| `@rollup/rollup-freebsd-arm64@4.63.1` | | transitive dependency | +| `@rollup/rollup-freebsd-x64@4.63.1` | | transitive dependency | +| `@rollup/rollup-linux-arm-gnueabihf@4.63.1` | | transitive dependency | +| `@rollup/rollup-linux-arm-musleabihf@4.63.1` | | transitive dependency | +| `@rollup/rollup-linux-arm64-gnu@4.63.1` | | transitive dependency | +| `@rollup/rollup-linux-arm64-musl@4.63.1` | | transitive dependency | +| `@rollup/rollup-linux-loong64-gnu@4.63.1` | | transitive dependency | +| `@rollup/rollup-linux-loong64-musl@4.63.1` | | transitive dependency | +| `@rollup/rollup-linux-ppc64-gnu@4.63.1` | | transitive dependency | +| `@rollup/rollup-linux-ppc64-musl@4.63.1` | | transitive dependency | +| `@rollup/rollup-linux-riscv64-gnu@4.63.1` | | transitive dependency | +| `@rollup/rollup-linux-riscv64-musl@4.63.1` | | transitive dependency | +| `@rollup/rollup-linux-s390x-gnu@4.63.1` | | transitive dependency | +| `@rollup/rollup-linux-x64-gnu@4.63.1` | | transitive dependency | +| `@rollup/rollup-linux-x64-musl@4.63.1` | | transitive dependency | +| `@rollup/rollup-openbsd-x64@4.63.1` | | transitive dependency | +| `@rollup/rollup-openharmony-arm64@4.63.1` | | transitive dependency | +| `@rollup/rollup-win32-arm64-msvc@4.63.1` | | transitive dependency | +| `@rollup/rollup-win32-ia32-msvc@4.63.1` | | transitive dependency | +| `@rollup/rollup-win32-x64-gnu@4.63.1` | | transitive dependency | +| `@rollup/rollup-win32-x64-msvc@4.63.1` | | transitive dependency | | `@sinclair/typebox@0.34.52` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@sinclair/typebox/0.34.52) | | `@sinonjs/commons@3.0.1` | BSD-3-Clause | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@sinonjs/commons/3.0.1) | | `@sinonjs/fake-timers@15.4.0` | BSD-3-Clause | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@sinonjs/fake-timers/15.4.0) | @@ -138,16 +137,20 @@ | `@types/babel__traverse@7.28.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@types/babel__traverse/7.28.0) | | `@types/esrecurse@4.3.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@types/esrecurse/4.3.1) | | `@types/estree@1.0.9` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@types/estree/1.0.9) | +| `@types/fs-extra@11.0.4` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@types/fs-extra/11.0.4) | | `@types/istanbul-lib-coverage@2.0.6` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@types/istanbul-lib-coverage/2.0.6) | | `@types/istanbul-lib-report@3.0.3` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@types/istanbul-lib-report/3.0.3) | | `@types/istanbul-reports@3.0.4` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@types/istanbul-reports/3.0.4) | | `@types/jest@30.0.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@types/jest/30.0.0) | +| `@types/js-yaml@4.0.9` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@types/js-yaml/4.0.9) | | `@types/json-schema@7.0.15` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@types/json-schema/7.0.15) | -| `@types/node@26.1.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@types/node/26.1.2) | +| `@types/jsonfile@6.1.4` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@types/jsonfile/6.1.4) | +| `@types/lodash@4.17.25` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@types/lodash/4.17.25) | +| `@types/node@26.5.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@types/node/26.5.1) | | `@types/stack-utils@2.0.3` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@types/stack-utils/2.0.3) | | `@types/yargs-parser@21.0.3` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@types/yargs-parser/21.0.3) | | `@types/yargs@17.0.35` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@types/yargs/17.0.35) | -| `@ungap/structured-clone@1.3.3` | ISC | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@ungap/structured-clone/1.3.3) | +| `@ungap/structured-clone@1.4.0` | ISC | transitive dependency | | `@unrs/resolver-binding-android-arm-eabi@1.12.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@unrs/resolver-binding-android-arm-eabi/1.12.2) | | `@unrs/resolver-binding-android-arm64@1.12.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@unrs/resolver-binding-android-arm64/1.12.2) | | `@unrs/resolver-binding-darwin-arm64@1.12.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/@unrs/resolver-binding-darwin-arm64/1.12.2) | @@ -178,7 +181,7 @@ | `ajv@6.15.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/ajv/6.15.0) | | `ansi-escapes@4.3.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/ansi-escapes/4.3.2) | | `ansi-regex@5.0.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/ansi-regex/5.0.1) | -| `ansi-regex@6.2.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/ansi-regex/6.2.2) | +| `ansi-regex@6.3.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/ansi-regex/6.3.0) | | `ansi-styles@4.3.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/ansi-styles/4.3.0) | | `ansi-styles@5.2.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/ansi-styles/5.2.0) | | `ansi-styles@6.2.3` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/ansi-styles/6.2.3) | @@ -188,7 +191,7 @@ | `async-function@1.0.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/async-function/1.0.0) | | `async-generator-function@1.0.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/async-generator-function/1.0.0) | | `asynckit@0.4.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/asynckit/0.4.0) | -| `axios@1.18.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/axios/1.18.1) | +| `axios@1.20.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/axios/1.20.0) | | `babel-jest@30.5.1` | MIT | transitive dependency | | `babel-plugin-istanbul@8.0.2` | BSD-3-Clause | transitive dependency | | `babel-plugin-jest-hoist@30.5.0` | MIT | transitive dependency | @@ -198,18 +201,19 @@ | `babel-runtime@6.26.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/babel-runtime/6.26.0) | | `balanced-match@1.0.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/balanced-match/1.0.2) | | `balanced-match@4.0.4` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/balanced-match/4.0.4) | -| `baseline-browser-mapping@2.11.6` | Apache-2.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/baseline-browser-mapping/2.11.6) | -| `brace-expansion@1.1.17` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/brace-expansion/1.1.17) | -| `brace-expansion@2.1.3` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/brace-expansion/2.1.3) | -| `brace-expansion@5.0.8` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/brace-expansion/5.0.8) | -| `browserslist@4.28.7` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/browserslist/4.28.7) | +| `baseline-browser-mapping@2.11.22` | Apache-2.0 | transitive dependency | +| `brace-expansion@1.1.18` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/brace-expansion/1.1.18) | +| `brace-expansion@2.1.4` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/brace-expansion/2.1.4) | +| `brace-expansion@5.0.9` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/brace-expansion/5.0.9) | +| `browserslist@4.28.9` | MIT | transitive dependency | | `bs-logger@0.2.6` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/bs-logger/0.2.6) | | `bser@2.1.1` | Apache-2.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/bser/2.1.1) | +| `cacheable@2.5.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/cacheable/2.5.0) | | `call-bind-apply-helpers@1.0.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/call-bind-apply-helpers/1.0.2) | | `callsites@3.1.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/callsites/3.1.0) | | `camelcase@5.3.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/camelcase/5.3.1) | | `camelcase@6.3.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/camelcase/6.3.0) | -| `caniuse-lite@1.0.30001806` | CC-BY-4.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/caniuse-lite/1.0.30001806) | +| `caniuse-lite@1.0.30001810` | CC-BY-4.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/caniuse-lite/1.0.30001810) | | `chalk@4.1.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/chalk/4.1.2) | | `char-regex@1.0.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/char-regex/1.0.2) | | `chownr@3.0.0` | BlueOak-1.0.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/chownr/3.0.0) | @@ -235,7 +239,7 @@ | `dunder-proto@1.0.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/dunder-proto/1.0.1) | | `duplexer@0.1.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/duplexer/0.1.2) | | `eastasianwidth@0.2.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/eastasianwidth/0.2.0) | -| `electron-to-chromium@1.5.398` | ISC | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/electron-to-chromium/1.5.398) | +| `electron-to-chromium@1.5.427` | ISC | transitive dependency | | `emittery@0.13.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/emittery/0.13.1) | | `emoji-regex@8.0.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/emoji-regex/8.0.0) | | `emoji-regex@9.2.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/emoji-regex/9.2.2) | @@ -253,7 +257,7 @@ | `eslint-visitor-keys@3.4.3` | Apache-2.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/eslint-visitor-keys/3.4.3) | | `eslint-visitor-keys@4.2.1` | Apache-2.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/eslint-visitor-keys/4.2.1) | | `eslint-visitor-keys@5.0.1` | Apache-2.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/eslint-visitor-keys/5.0.1) | -| `eslint@10.8.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/eslint/10.8.0) | +| `eslint@10.10.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/eslint/10.10.0) | | `espree@10.4.0` | BSD-2-Clause | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/espree/10.4.0) | | `espree@11.2.0` | BSD-2-Clause | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/espree/11.2.0) | | `esprima@4.0.1` | BSD-2-Clause AND BSD-3-Clause | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/esprima/4.0.1) | @@ -264,7 +268,6 @@ | `event-stream@3.3.4` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/event-stream/3.3.4) | | `execa@5.1.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/execa/5.1.1) | | `exit-x@0.2.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/exit-x/0.2.2) | -| `expect@30.4.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/expect/30.4.1) | | `expect@30.5.1` | MIT | transitive dependency | | `exponential-backoff@3.1.3` | Apache-2.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/exponential-backoff/3.1.3) | | `fast-deep-equal@3.1.3` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/fast-deep-equal/3.1.3) | @@ -272,11 +275,11 @@ | `fast-levenshtein@2.0.6` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/fast-levenshtein/2.0.6) | | `fb-watchman@2.0.2` | Apache-2.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/fb-watchman/2.0.2) | | `fdir@6.5.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/fdir/6.5.0) | -| `file-entry-cache@8.0.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/file-entry-cache/8.0.0) | +| `file-entry-cache@11.1.5` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/file-entry-cache/11.1.5) | | `find-up@4.1.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/find-up/4.1.0) | | `find-up@5.0.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/find-up/5.0.0) | -| `flat-cache@4.0.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/flat-cache/4.0.1) | -| `flatted@3.4.3` | Artistic-2.0 AND ISC | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/flatted/3.4.3) | +| `flat-cache@6.1.23` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/flat-cache/6.1.23) | +| `flatted@3.4.4` | ISC | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/flatted/3.4.4) | | `follow-redirects@1.16.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/follow-redirects/1.16.0) | | `foreground-child@3.3.1` | ISC | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/foreground-child/3.3.1) | | `form-data@4.0.6` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/form-data/4.0.6) | @@ -300,7 +303,10 @@ | `has-flag@4.0.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/has-flag/4.0.0) | | `has-symbols@1.1.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/has-symbols/1.1.0) | | `has-tostringtag@1.0.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/has-tostringtag/1.0.2) | +| `hashery@1.5.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/hashery/1.5.1) | | `hasown@2.0.4` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/hasown/2.0.4) | +| `hookified@1.15.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/hookified/1.15.1) | +| `hookified@2.2.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/hookified/2.2.0) | | `html-escaper@2.0.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/html-escaper/2.0.2) | | `https-proxy-agent@5.0.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/https-proxy-agent/5.0.1) | | `human-signals@2.1.0` | Apache-2.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/human-signals/2.1.0) | @@ -327,27 +333,21 @@ | `jest-circus@30.5.1` | MIT | transitive dependency | | `jest-cli@30.5.1` | MIT | transitive dependency | | `jest-config@30.5.1` | MIT | transitive dependency | -| `jest-diff@30.4.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/jest-diff/30.4.1) | | `jest-diff@30.5.1` | MIT | transitive dependency | | `jest-docblock@30.5.0` | MIT | transitive dependency | | `jest-each@30.5.1` | MIT | transitive dependency | | `jest-environment-node@30.5.1` | MIT | transitive dependency | | `jest-haste-map@30.5.1` | MIT | transitive dependency | | `jest-leak-detector@30.5.1` | MIT | transitive dependency | -| `jest-matcher-utils@30.4.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/jest-matcher-utils/30.4.1) | | `jest-matcher-utils@30.5.1` | MIT | transitive dependency | -| `jest-message-util@30.4.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/jest-message-util/30.4.1) | | `jest-message-util@30.5.1` | MIT | transitive dependency | -| `jest-mock@30.4.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/jest-mock/30.4.1) | | `jest-mock@30.5.1` | MIT | transitive dependency | -| `jest-regex-util@30.4.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/jest-regex-util/30.4.0) | | `jest-regex-util@30.5.0` | MIT | transitive dependency | | `jest-resolve-dependencies@30.5.1` | MIT | transitive dependency | | `jest-resolve@30.5.1` | MIT | transitive dependency | | `jest-runner@30.5.1` | MIT | transitive dependency | | `jest-runtime@30.5.1` | MIT | transitive dependency | | `jest-snapshot@30.5.1` | MIT | transitive dependency | -| `jest-util@30.4.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/jest-util/30.4.1) | | `jest-util@30.5.1` | MIT | transitive dependency | | `jest-validate@30.5.1` | MIT | transitive dependency | | `jest-watcher@30.5.1` | MIT | transitive dependency | @@ -357,12 +357,11 @@ | `js-yaml@3.15.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/js-yaml/3.15.2) | | `js-yaml@4.3.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/js-yaml/4.3.2) | | `jsesc@3.1.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/jsesc/3.1.0) | -| `json-buffer@3.0.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/json-buffer/3.0.1) | | `json-parse-even-better-errors@2.3.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/json-parse-even-better-errors/2.3.1) | | `json-schema-traverse@0.4.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/json-schema-traverse/0.4.1) | | `json-stable-stringify-without-jsonify@1.0.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/json-stable-stringify-without-jsonify/1.0.1) | | `json5@2.2.3` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/json5/2.2.3) | -| `keyv@4.5.4` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/keyv/4.5.4) | +| `keyv@5.6.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/keyv/5.6.0) | | `leven@3.1.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/leven/3.1.0) | | `levn@0.4.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/levn/0.4.1) | | `lines-and-columns@1.2.4` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/lines-and-columns/1.2.4) | @@ -392,9 +391,9 @@ | `natural-compare@1.4.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/natural-compare/1.4.0) | | `neo-async@2.6.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/neo-async/2.6.2) | | `node-addon-api@7.1.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/node-addon-api/7.1.1) | -| `node-gyp@13.0.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/node-gyp/13.0.1) | +| `node-gyp@13.0.2` | MIT | transitive dependency | | `node-int64@0.4.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/node-int64/0.4.0) | -| `node-releases@2.0.51` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/node-releases/2.0.51) | +| `node-releases@2.0.55` | MIT | transitive dependency | | `nopt@10.0.1` | ISC | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/nopt/10.0.1) | | `normalize-path@3.0.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/normalize-path/3.0.0) | | `npm-run-all@1.4.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/npm-run-all/1.4.0) | @@ -416,20 +415,20 @@ | `pause-stream@0.0.11` | MIT OR Apache-2.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/pause-stream/0.0.11) | | `picocolors@1.1.1` | ISC | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/picocolors/1.1.1) | | `picomatch@2.3.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/picomatch/2.3.2) | -| `picomatch@4.0.5` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/picomatch/4.0.5) | +| `picomatch@4.0.7` | MIT | transitive dependency | | `pirates@4.0.7` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/pirates/4.0.7) | | `pkg-dir@4.2.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/pkg-dir/4.2.0) | | `prelude-ls@1.2.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/prelude-ls/1.2.1) | | `prettier@3.9.6` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/prettier/3.9.6) | -| `pretty-format@30.4.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/pretty-format/30.4.1) | | `pretty-format@30.5.1` | MIT | transitive dependency | | `proc-log@7.0.0` | ISC | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/proc-log/7.0.0) | | `proxy-from-env@2.1.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/proxy-from-env/2.1.0) | | `ps-tree@1.2.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/ps-tree/1.2.0) | | `punycode@2.3.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/punycode/2.3.1) | | `pure-rand@7.0.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/pure-rand/7.0.1) | +| `qified@0.10.1` | MIT | transitive dependency | | `react-is@18.3.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/react-is/18.3.1) | -| `react-is@19.2.8` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/react-is/19.2.8) | +| `react-is@19.3.0` | | transitive dependency | | `regenerator-runtime@0.10.5` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/regenerator-runtime/0.10.5) | | `regenerator-runtime@0.11.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/regenerator-runtime/0.11.1) | | `require-directory@2.1.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/require-directory/2.1.1) | @@ -437,7 +436,7 @@ | `resolve-from@4.0.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/resolve-from/4.0.0) | | `resolve-from@5.0.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/resolve-from/5.0.0) | | `rimraf@6.1.3` | BlueOak-1.0.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/rimraf/6.1.3) | -| `rollup@4.62.3` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/rollup/4.62.3) | +| `rollup@4.63.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/rollup/4.63.1) | | `semver@6.3.1` | ISC | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/semver/6.3.1) | | `semver@7.8.5` | ISC | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/semver/7.8.5) | | `shebang-command@2.0.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/shebang-command/2.0.0) | @@ -474,10 +473,10 @@ | `type-fest@4.41.0` | CC0-1.0 AND MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/type-fest/4.41.0) | | `typescript@5.9.3` | Apache-2.0 | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/typescript/5.9.3) | | `uglify-js@3.19.3` | BSD-2-Clause AND BSD-3-Clause | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/uglify-js/3.19.3) | -| `undici-types@8.3.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/undici-types/8.3.0) | -| `undici@8.9.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/undici/8.9.0) | +| `undici-types@8.9.0` | MIT | transitive dependency | +| `undici@8.10.2` | MIT | transitive dependency | | `unrs-resolver@1.12.2` | Apache-2.0 AND MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/unrs-resolver/1.12.2) | -| `update-browserslist-db@1.2.3` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/update-browserslist-db/1.2.3) | +| `update-browserslist-db@1.3.3` | MIT | transitive dependency | | `uri-js@4.4.1` | BSD-2-Clause AND BSD-2-Clause-Views | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/uri-js/4.4.1) | | `v8-to-istanbul@9.3.0` | ISC | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/v8-to-istanbul/9.3.0) | | `which@1.3.1` | ISC | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/which/1.3.1) | diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml index 919a54a..6cfd421 100644 --- a/.github/workflows/pr-checks.yml +++ b/.github/workflows/pr-checks.yml @@ -44,6 +44,8 @@ jobs: node-version: 24 - name: Install yarn deps run: yarn install + - name: Run type-check + run: npx tsc --noEmit - name: Run eslint run: yarn lint - name: Run unit tests diff --git a/.gitignore b/.gitignore index 8620945..fd88a00 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,21 @@ node_modules/ coverage lib output +dist/ + +# TypeScript +*.tsbuildinfo + +# Editor files +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# Package managers +.npm/ +.pnpm-store/ # https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored # not zero-install mode diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..9ba31ce --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,113 @@ +# DevWorkspace Generator + +## Overview +This library generates DevWorkspace components and templates for Eclipse Che. It transforms devfile.yaml specifications and editor definitions into Kubernetes DevWorkspace custom resources. + +Published as [@eclipse-che/che-devworkspace-generator](https://www.npmjs.com/package/@eclipse-che/che-devworkspace-generator) on npm. + +## Architecture +- **TypeScript library** with InversifyJS dependency injection +- **Main entry**: `src/entrypoint.ts` - exports generator functions +- **Core generator**: `src/main.ts` - orchestrates devfile parsing and DevWorkspace generation +- **API models**: Uses `@devfile/api` for Kubernetes DevWorkspace resource types +- **YAML processing**: `js-yaml` for parsing and serialization + +## Development + +### Quick Start +```bash +# One-command setup for development +yarn setup + +# Or manually: +yarn install && yarn compile && yarn test +``` + +### Setup +```bash +yarn install # Install all dependencies +``` + +### Build +```bash +yarn build # Full build: format, compile, lint, test +yarn compile # TypeScript compilation only +``` + +### Testing +```bash +yarn test # Run Jest test suite with coverage +yarn lint # ESLint checks +yarn format # Prettier format check +yarn format:fix # Auto-format code +yarn lint:fix # Auto-fix lint issues +``` + +### Single-File Verification +Use these commands to verify individual files quickly (< 5 seconds): + +```bash +# Lint a single file +npx eslint + +# Type-check a single file +npx tsc --noEmit + +# Format check a single file +npx prettier --check +``` + +## Coding Standards +- **TypeScript strict mode** enabled in tsconfig.json +- **100% test coverage** required (branches, functions, lines, statements) +- **Prettier** for consistent formatting (120 char line width, single quotes) +- **ESLint** for code quality +- **No implicit any** types +- **Explicit type annotations** for function parameters and return types +- **Conventional commits** - Use format: `type(scope): subject` + - Types: feat, fix, docs, style, refactor, test, chore, ci, build, perf, revert + - Example: `feat: add gitlab resolver`, `fix: handle null in bitbucket url parser` + +## CI/CD +Pull requests must pass: +- License compliance checks +- ESLint validation +- TypeScript type checking +- Jest test suite with full coverage + +## Pattern References + +Common change patterns in this codebase: + +### Adding a New Git Provider Resolver +**Pattern**: `src/github/` or `src/bitbucket/` + +Each resolver follows a three-file structure: +- `{provider}-module.ts` - InversifyJS binding configuration +- `{provider}-resolver.ts` - Main resolver implementation with `resolve()` method +- `{provider}-url.ts` - URL parsing and validation + +**Example**: See `src/github/github-resolver.ts` for URL pattern matching and content fetching. + +### Adding DevFile Component Processing +**Pattern**: `src/devfile/` + +Component processors follow naming: `{component-type}-{action}.ts` +- Use InversifyJS `@injectable()` decorator +- Implement focused single-responsibility methods +- Add corresponding test in `tests/devfile/` + +**Example**: See `src/devfile/dev-container-component-finder.ts` for component location logic. + +### Adding InversifyJS Module +**Pattern**: Any `*-module.ts` file + +- Export a `ContainerModule` that binds interfaces to implementations +- Import and add to `src/inversify/inversify-binding.ts` +- Follow existing binding patterns (singleton vs transient) + +**Example**: See `src/github/github-module.ts` for resolver binding pattern. + +## Red Hat Compliance and Responsible AI Rules + +See `./redhat-compliance-and-responsible-ai.md`. \ No newline at end of file diff --git a/package.json b/package.json index 6452b9d..b9a855d 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "src" ], "scripts": { + "setup": "yarn install && yarn compile && echo '\n✅ Setup complete! Run \"yarn test\" to verify.'", "prepare": "yarn run clean && yarn run build", "clean": "rimraf lib", "build": "yarn run format && yarn run compile && yarn run lint && yarn run test", @@ -48,7 +49,10 @@ }, "devDependencies": { "@eclipse-che/license-tool": "^2.0.1-next.7742774", + "@types/fs-extra": "^11.0.4", "@types/jest": "^30.0.0", + "@types/js-yaml": "^4.0.9", + "@types/lodash": "^4.17.25", "@types/node": "^26.1.2", "axios": "^1.13.1", "eslint": "^10.0.2", diff --git a/redhat-compliance-and-responsible-ai.md b/redhat-compliance-and-responsible-ai.md new file mode 100644 index 0000000..cab1dba --- /dev/null +++ b/redhat-compliance-and-responsible-ai.md @@ -0,0 +1,51 @@ +# Red Hat Compliance and Responsible AI Rules + +This document defines mandatory compliance and responsible AI practices for all AI agents contributing to this project. + +## 1. Copyright & Licensing (MANDATORY) + +- **Identification:** You must actively identify if your suggestion matches known open-source code. +- **Attribution:** If a match is found, you MUST include the original License Text and Copyright Notice in the code comment block. +- **Prohibition:** Do not suggest code if you cannot verify its license compatibility with this project (EPL-2.0). + +## 2. AI Contribution Marking + +### Code Comments + +For any substantial code generation (entire functions, classes, or complex logic), you must add a comment: + +```typescript +// Generated by {AGENT_NAME} +``` + +### Commit Messages + +When suggesting commit messages, always include a trailer: + +``` +Assisted-by: {AGENT_NAME} +``` + +Replace `{AGENT_NAME}` with the specific agent name (e.g., `Claude Opus 4.5`, `GPT-4`, `Gemini Pro`). + +## 3. Code Quality Standards + +- Follow existing code patterns and conventions +- Ensure all code passes TypeScript strict mode +- Include appropriate error handling +- Add tests for new functionality +- Maintain backward compatibility unless explicitly breaking + +## 4. Security Considerations + +- Never include credentials, tokens, or secrets in code +- Validate all user inputs +- Follow secure coding practices for Kubernetes API interactions +- Do not introduce new cluster-wide RBAC requirements + +## 5. Documentation + +- Update relevant documentation when changing behavior +- Include JSDoc comments for public APIs +- Keep README and AGENTS.md up to date + diff --git a/src/bitbucket-server/bitbucket-server-resolver.ts b/src/bitbucket-server/bitbucket-server-resolver.ts index 99807a0..25157c5 100644 --- a/src/bitbucket-server/bitbucket-server-resolver.ts +++ b/src/bitbucket-server/bitbucket-server-resolver.ts @@ -32,12 +32,12 @@ export class BitbucketServerResolver implements Resolver { if (!regExp) { throw new Error(`Invalid bitbucket-server URL: ${url}`); } - const match = regExp.exec(url); - const scheme = this.getGroup(match, 'scheme'); - const hostName = this.getGroup(match, 'host'); + const match = regExp.exec(url)!; + const scheme = this.getGroup(match, 'scheme')!; + const hostName = this.getGroup(match, 'host')!; const user = this.getGroup(match, 'user'); const project = this.getGroup(match, 'project'); - const repo = this.getGroup(match, 'repo'); + const repo = this.getGroup(match, 'repo')!; let branch = this.getGroup(match, 'branch'); if (branch !== undefined && branch.startsWith('refs%2Fheads%2F')) { branch = branch.substring(15); diff --git a/src/bitbucket-server/bitbucket-server-url.ts b/src/bitbucket-server/bitbucket-server-url.ts index 5644da3..3ffe6ae 100644 --- a/src/bitbucket-server/bitbucket-server-url.ts +++ b/src/bitbucket-server/bitbucket-server-url.ts @@ -36,7 +36,7 @@ export class BitbucketServerUrl implements Url { getCloneUrl(): string { const isUser = this.user !== undefined; - return `${this.scheme}://${this.hostName}/scm/${isUser ? '~' + this.user : this.project.toLowerCase()}/${ + return `${this.scheme}://${this.hostName}/scm/${isUser ? '~' + this.user : (this.project ?? '').toLowerCase()}/${ this.repo }.git`; } @@ -46,6 +46,6 @@ export class BitbucketServerUrl implements Url { } getBranchName(): string { - return this.branch; + return this.branch || 'HEAD'; } } diff --git a/src/bitbucket/bitbucket-resolver.ts b/src/bitbucket/bitbucket-resolver.ts index 4ee05c1..ba94e12 100644 --- a/src/bitbucket/bitbucket-resolver.ts +++ b/src/bitbucket/bitbucket-resolver.ts @@ -28,8 +28,8 @@ export class BitbucketResolver implements Resolver { if (!match) { throw new Error(`Invalid bitbucket URL: ${url}`); } - const workspaceId = this.getGroup(match, 'workspaceId'); - let repoName = this.getGroup(match, 'repoName'); + const workspaceId = this.getGroup(match, 'workspaceId')!; + let repoName = this.getGroup(match, 'repoName')!; if (/^[\w-][\w.-]*?\.git$/.test(repoName)) { repoName = repoName.substring(0, repoName.length - 4); } @@ -37,7 +37,7 @@ export class BitbucketResolver implements Resolver { return new BitbucketUrl(workspaceId, repoName, branchName); } - private getGroup(match: RegExpExecArray, groupName: string, defaultValue?: string) { + private getGroup(match: RegExpExecArray, groupName: string, defaultValue: string = 'HEAD'): string { if (match.groups && match.groups[groupName]) { return match.groups[groupName]; } diff --git a/src/devfile/dev-container-component-finder.ts b/src/devfile/dev-container-component-finder.ts index a8e4ecd..e3cc2d2 100644 --- a/src/devfile/dev-container-component-finder.ts +++ b/src/devfile/dev-container-component-finder.ts @@ -19,7 +19,7 @@ import { DevContainerComponentInserter } from './dev-container-component-inserte @injectable() export class DevContainerComponentFinder { @inject(DevContainerComponentInserter) - private devContainerComponentInserter: DevContainerComponentInserter; + private devContainerComponentInserter!: DevContainerComponentInserter; async find( devfileContext: DevfileContext, @@ -45,9 +45,11 @@ export class DevContainerComponentFinder { } this.devContainerComponentInserter.insert(devfileContext, defaultComponentImage); - let devComponents = devfileContext.devWorkspace.spec.template.components.filter(component => component.container); + let devComponents = devfileContext.devWorkspace.spec?.template?.components?.filter( + component => component.container, + ); - return devComponents[0]; + return devComponents?.[0]; } else if (devComponents.length === 1) { return devComponents[0]; } else { diff --git a/src/editor/editor-resolver.ts b/src/editor/editor-resolver.ts index 1b61340..c779a09 100644 --- a/src/editor/editor-resolver.ts +++ b/src/editor/editor-resolver.ts @@ -20,7 +20,7 @@ import { UrlFetcher } from '../fetch/url-fetcher'; @injectable() export class EditorResolver { @inject(UrlFetcher) - private urlFetcher: UrlFetcher; + private urlFetcher!: UrlFetcher; // Editor URL (like https://raw.githubusercontent.com/eclipse-che/che-operator/refs/heads/main/editors-definitions/che-code-latest.yaml) // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/src/fetch/url-fetcher.ts b/src/fetch/url-fetcher.ts index 4c223e3..d27bede 100644 --- a/src/fetch/url-fetcher.ts +++ b/src/fetch/url-fetcher.ts @@ -19,7 +19,7 @@ import { AxiosInstance } from 'axios'; export class UrlFetcher { // Can't use AxiosInstance interface there @inject(Symbol.for('AxiosInstance')) - private axiosInstance: AxiosInstance; + private axiosInstance!: AxiosInstance; // fetch content optionally, if the URL is not found, we return undefined without throwing errors async fetchTextOptionalContent(url: string): Promise { diff --git a/src/generate.ts b/src/generate.ts index b5fcb59..e03c483 100644 --- a/src/generate.ts +++ b/src/generate.ts @@ -35,7 +35,7 @@ export const DEVWORKSPACE_METADATA_ANNOTATION = 'dw.metadata.annotations'; @injectable() export class Generate { @inject(DevContainerComponentFinder) - private devContainerComponentFinder: DevContainerComponentFinder; + private devContainerComponentFinder!: DevContainerComponentFinder; async generate( devfileContent: string, @@ -62,7 +62,7 @@ export class Generate { await fs.writeFile(outputFile, generatedContent, 'utf-8'); } - console.log(`DevWorkspace ${context.devWorkspaceTemplates[0].metadata.name} was generated`); + console.log(`DevWorkspace ${context.devWorkspaceTemplates[0].metadata?.name} was generated`); return context; } @@ -84,8 +84,8 @@ export class Generate { const metadata = this.createDevWorkspaceMetadata(editorDevfile); // add sufix metadata.name = `${metadata.name}-${suffix}`; - delete editorDevfile.metadata; - delete editorDevfile.schemaVersion; + delete (editorDevfile as Partial).metadata; + delete (editorDevfile as Partial).schemaVersion; const editorDevWorkspaceTemplate: V1alpha2DevWorkspaceTemplate = { apiVersion: 'workspace.devfile.io/v1alpha2', kind: 'DevWorkspaceTemplate', @@ -95,7 +95,7 @@ export class Generate { // transform it into a devWorkspace const devfileCopy: V230Devfile = cloneDeep(devfile); - if (devfileCopy.metadata.attributes) { + if (devfileCopy.metadata?.attributes) { if (devfileCopy.attributes) { devfileCopy.attributes = merge(devfileCopy.attributes, devfileCopy.metadata.attributes); } else { @@ -103,12 +103,12 @@ export class Generate { } } const devWorkspaceMetadata = this.createDevWorkspaceMetadata(devfileCopy as DevfileLike); - delete devfileCopy.schemaVersion; - delete devfileCopy.metadata; + delete (devfileCopy as Partial).schemaVersion; + delete (devfileCopy as Partial).metadata; const editorSpecContribution: V1alpha2DevWorkspaceSpecContributions = { name: 'editor', kubernetes: { - name: editorDevWorkspaceTemplate.metadata.name, + name: editorDevWorkspaceTemplate.metadata!.name!, }, }; const devWorkspace: V1alpha2DevWorkspace = { @@ -125,12 +125,12 @@ export class Generate { // if the devfile has a starter project, we use it for the devWorkspace if (devfileCopy.starterProjects && devfileCopy.starterProjects.length > 0) { - if (devWorkspace.spec.template.attributes === undefined) { - devWorkspace.spec.template.attributes = {}; + if (devWorkspace.spec?.template?.attributes === undefined) { + devWorkspace.spec!.template!.attributes = {}; } const starterProjectName = devfileCopy.starterProjects[0].name; // add starter projects to the devWorkspace - devWorkspace.spec.template.attributes['controller.devfile.io/use-starter-project'] = starterProjectName; + devWorkspace.spec!.template!.attributes!['controller.devfile.io/use-starter-project'] = starterProjectName; } // for now the list of devWorkspace templates is only the editor template diff --git a/src/inversify/inversify-binding.ts b/src/inversify/inversify-binding.ts index 5dd8e6b..a3c2d2b 100644 --- a/src/inversify/inversify-binding.ts +++ b/src/inversify/inversify-binding.ts @@ -24,7 +24,7 @@ import { bitbucketServerModule } from '../bitbucket-server/bitbucket-server-modu * Manage all bindings for inversify */ export class InversifyBinding { - private container: Container; + private container!: Container; public async initBindings(options: InversifyBindingOptions): Promise { this.container = new Container(); diff --git a/src/main.ts b/src/main.ts index 96caba4..1cdd086 100644 --- a/src/main.ts +++ b/src/main.ts @@ -101,11 +101,15 @@ export class Main { // get back the content devfileContent = jsYaml.dump(devfileParsed); } else if (params.devfilePath) { - devfileContent = await fs.readFile(params.devfilePath); + devfileContent = await fs.readFile(params.devfilePath, 'utf-8'); } else { devfileContent = params.devfileContent; } + if (!devfileContent) { + throw new Error('devfileContent is required'); + } + const jsYamlDevfileContent = jsYaml.load(devfileContent) as DevfileLike; const schemaVersion = jsYamlDevfileContent.schemaVersion; if (!schemaVersion) { @@ -134,7 +138,11 @@ export class Main { const editorDevfile = await container.get(EditorResolver).loadEditor(params.editorUrl); editorContent = jsYaml.dump(editorDevfile); } else { - editorContent = await fs.readFile(params.editorPath); + editorContent = await fs.readFile(params.editorPath!, 'utf-8'); + } + + if (!editorContent) { + throw new Error('editorContent is required'); } const generate = container.get(Generate); @@ -168,7 +176,11 @@ export class Main { delete project.git; project.zip = { location: userProjectConfiguration.location }; } else { - project.git.remotes.origin = userProjectConfiguration.location; + if (!project.git) { + project.git = { remotes: { origin: userProjectConfiguration.location } }; + } else { + project.git.remotes.origin = userProjectConfiguration.location; + } } } return project; @@ -243,7 +255,7 @@ export class Main { ); return true; } catch (error) { - console.error('stack=' + error.stack); + console.error('stack=' + (error as Error).stack); console.error('Unable to start', error); return false; } diff --git a/src/resolve/git-url-resolver.ts b/src/resolve/git-url-resolver.ts index 8f959c1..136834c 100644 --- a/src/resolve/git-url-resolver.ts +++ b/src/resolve/git-url-resolver.ts @@ -17,7 +17,7 @@ const { Resolver } = TYPES; @injectable() export class GitUrlResolver { @multiInject(Resolver) - private resolvers: Resolver[]; + private resolvers!: Resolver[]; resolve(link: string): Url { const resolver = this.resolvers.find(r => r.isValid(link)); diff --git a/src/resolve/url.ts b/src/resolve/url.ts index 2582aa6..84d95b0 100644 --- a/src/resolve/url.ts +++ b/src/resolve/url.ts @@ -16,7 +16,7 @@ export interface Url { * Provides RAW file content url * @param path file path */ - getContentUrl(path: string); + getContentUrl(path: string): string; /** * Provides repositories Url diff --git a/tests/bitbucket-server/bitbucket-server-resolver.spec.ts b/tests/bitbucket-server/bitbucket-server-resolver.spec.ts index a4723e2..1aaf188 100644 --- a/tests/bitbucket-server/bitbucket-server-resolver.spec.ts +++ b/tests/bitbucket-server/bitbucket-server-resolver.spec.ts @@ -12,6 +12,7 @@ import 'reflect-metadata'; import { Container } from 'inversify'; import { BitbucketServerResolver } from '../../src/bitbucket-server/bitbucket-server-resolver'; +import { BitbucketServerUrl } from '../../src/bitbucket-server/bitbucket-server-url'; describe('Test Bitbucket resolver', () => { let container: Container; @@ -103,6 +104,11 @@ describe('Test Bitbucket resolver', () => { expect( bitbucketResolver.resolve(BITBUCKET_SERVER_URL + 'projects/project/repos/repo/browse?at=branch').getBranchName(), ).toBe('branch'); + // Test default branch when not specified + expect(bitbucketResolver.resolve(BITBUCKET_SERVER_URL + 'scm/~user/repo.git').getBranchName()).toBe('HEAD'); + expect(bitbucketResolver.resolve(BITBUCKET_SERVER_URL + 'users/user/repos/repo/browse').getBranchName()).toBe( + 'HEAD', + ); }); test('test get repository', async () => { @@ -136,4 +142,18 @@ describe('Test Bitbucket resolver', () => { bitbucketResolver.resolve('http://unknown/che'); }).toThrow('Invalid bitbucket-server URL:'); }); + + test('getCloneUrl with undefined project (defensive fallback)', () => { + // This tests the defensive `?? ''` fallback in getCloneUrl + // In practice, this shouldn't happen due to regex validation, but we test for 100% branch coverage + const url = new BitbucketServerUrl( + 'https', + BITBUCKET_SERVER_URL.slice(8, -1), + undefined, + undefined, + 'repo', + undefined, + ); + expect(url.getCloneUrl()).toBe('https://' + BITBUCKET_SERVER_URL.slice(8, -1) + '/scm//repo.git'); + }); }); diff --git a/tests/devfile/dev-container-component-finder.spec.ts b/tests/devfile/dev-container-component-finder.spec.ts index fb87c24..4be2662 100644 --- a/tests/devfile/dev-container-component-finder.spec.ts +++ b/tests/devfile/dev-container-component-finder.spec.ts @@ -87,7 +87,7 @@ describe('Test DevContainerComponentFinder', () => { }, } as DevfileContext; const devWorkspaceSpecTemplateComponents = await devContainerComponentFinder.find(devfileContext); - expect(devWorkspaceSpecTemplateComponents.name).toBe('my-container'); + expect(devWorkspaceSpecTemplateComponents?.name).toBe('my-container'); }); test('missing dev container without devfile.parent', async () => { diff --git a/tests/generate.spec.ts b/tests/generate.spec.ts index 4202777..5a4f505 100644 --- a/tests/generate.spec.ts +++ b/tests/generate.spec.ts @@ -46,8 +46,7 @@ metadata: name: che-code `; - const fsWriteFileSpy = jest.spyOn(fs, 'writeFile'); - fsWriteFileSpy.mockReturnValue({}); + const fsWriteFileSpy = jest.spyOn(fs, 'writeFile').mockImplementation(() => Promise.resolve()); let context = await generate.generate(devfileContent, editorContent); // expect not to write the file @@ -113,8 +112,7 @@ metadata: name: che-code `; - const fsWriteFileSpy = jest.spyOn(fs, 'writeFile'); - fsWriteFileSpy.mockReturnValue({}); + const fsWriteFileSpy = jest.spyOn(fs, 'writeFile').mockImplementation(() => Promise.resolve()); let context = await generate.generate(devfileContent, editorContent); // expect not to write the file @@ -186,8 +184,7 @@ metadata: name: che-code `; - const fsWriteFileSpy = jest.spyOn(fs, 'writeFile'); - fsWriteFileSpy.mockReturnValue({}); + const fsWriteFileSpy = jest.spyOn(fs, 'writeFile').mockImplementation(() => Promise.resolve()); let context = await generate.generate(devfileContent, editorContent); // expect not to write the file @@ -254,8 +251,7 @@ metadata: name: che-code `; - const fsWriteFileSpy = jest.spyOn(fs, 'writeFile'); - fsWriteFileSpy.mockReturnValue({}); + const fsWriteFileSpy = jest.spyOn(fs, 'writeFile').mockImplementation(() => Promise.resolve()); let context = await generate.generate(devfileContent, editorContent); // expect not to write the file @@ -318,8 +314,7 @@ metadata: name: che-code `; - const fsWriteFileSpy = jest.spyOn(fs, 'writeFile'); - fsWriteFileSpy.mockReturnValue({}); + const fsWriteFileSpy = jest.spyOn(fs, 'writeFile').mockImplementation(() => Promise.resolve()); let context = await generate.generate(devfileContent, editorContent); // expect not to write the file @@ -383,8 +378,7 @@ metadata: name: che-code `; - const fsWriteFileSpy = jest.spyOn(fs, 'writeFile'); - fsWriteFileSpy.mockReturnValue({}); + const fsWriteFileSpy = jest.spyOn(fs, 'writeFile').mockImplementation(() => Promise.resolve()); let context = await generate.generate(devfileContent, editorContent, fakeoutputDir); // expect to write the file @@ -448,8 +442,7 @@ metadata: name: che-code `; - const fsWriteFileSpy = jest.spyOn(fs, 'writeFile'); - fsWriteFileSpy.mockReturnValue({}); + const fsWriteFileSpy = jest.spyOn(fs, 'writeFile').mockImplementation(() => Promise.resolve()); let context = await generate.generate(devfileContent, editorContent, fakeoutputDir, 'false'); // expect to write the file @@ -514,8 +507,7 @@ metadata: name: che-code `; - const fsWriteFileSpy = jest.spyOn(fs, 'writeFile'); - fsWriteFileSpy.mockReturnValue({}); + const fsWriteFileSpy = jest.spyOn(fs, 'writeFile').mockImplementation(() => Promise.resolve()); let context = await generate.generate(devfileContent, editorContent, fakeoutputDir, 'false'); // expect to write the file @@ -537,8 +529,7 @@ metadata: name: che-code `; - const fsWriteFileSpy = jest.spyOn(fs, 'writeFile'); - fsWriteFileSpy.mockReturnValue({}); + const fsWriteFileSpy = jest.spyOn(fs, 'writeFile').mockImplementation(() => Promise.resolve()); let context = await generate.generate(devfileContent, editorContent, fakeoutputDir, 'true'); @@ -562,8 +553,7 @@ metadata: name: che-code `; - const fsWriteFileSpy = jest.spyOn(fs, 'writeFile'); - fsWriteFileSpy.mockReturnValue({}); + const fsWriteFileSpy = jest.spyOn(fs, 'writeFile').mockImplementation(() => Promise.resolve()); let image = 'quay.io/my-image:latest'; let context = await generate.generate(devfileContent, editorContent, fakeoutputDir, 'true', image); diff --git a/tests/inversify/inversify-binding.spec.ts b/tests/inversify/inversify-binding.spec.ts index e5eae07..d3c908f 100644 --- a/tests/inversify/inversify-binding.spec.ts +++ b/tests/inversify/inversify-binding.spec.ts @@ -28,8 +28,7 @@ describe('Test InversifyBinding', () => { beforeEach(() => { mockedArgv.length = 2; process.argv = mockedArgv; - const fsMkdirsSpy = jest.spyOn(fs, 'mkdirs'); - fsMkdirsSpy.mockReturnValue({}); + const fsMkdirsSpy = jest.spyOn(fs, 'mkdirs').mockImplementation(() => Promise.resolve()); }); afterEach(() => (process.argv = originalProcessArgv)); diff --git a/tests/main.spec.ts b/tests/main.spec.ts index fd01226..dfb3621 100644 --- a/tests/main.spec.ts +++ b/tests/main.spec.ts @@ -98,7 +98,7 @@ describe('Test Main with stubs', () => { describe('start', () => { beforeEach(() => { initArgs(FAKE_DEVFILE_PATH, undefined, FAKE_EDITOR_PATH, undefined, FAKE_OUTPUT_FILE, undefined, undefined); - jest.spyOn(fs, 'readFile').mockResolvedValue(''); + jest.spyOn(fs, 'readFile').mockImplementation(() => Promise.resolve('')); spyInitBindings = jest.spyOn(InversifyBinding.prototype, 'initBindings'); spyInitBindings.mockImplementation(() => Promise.resolve(container)); @@ -458,7 +458,7 @@ describe('Test Main with stubs', () => { ); throw new Error('Dummy error'); } catch (e) { - message = e.message; + message = (e as Error).message; } expect(message).toEqual('missing editorPath or editorUrl or editorContent'); }); @@ -476,7 +476,7 @@ describe('Test Main with stubs', () => { ); throw new Error('Dummy error'); } catch (e) { - message = e.message; + message = (e as Error).message; } expect(message).toEqual('missing devfilePath or devfileUrl or devfileContent'); }); @@ -709,7 +709,7 @@ describe('Test Main with stubs', () => { }); const editorContent = 'editor content'; - jest.spyOn(fs, 'readFile').mockResolvedValue(editorContent); + jest.spyOn(fs, 'readFile').mockImplementation(() => Promise.resolve(editorContent)); await main.generateDevfileContext( { devfileContent, @@ -754,7 +754,7 @@ describe('Test Main with stubs', () => { }); const editorContent = 'editor content'; - jest.spyOn(fs, 'readFile').mockResolvedValue(editorContent); + jest.spyOn(fs, 'readFile').mockImplementation(() => Promise.resolve(editorContent)); await expect( main.generateDevfileContext( { @@ -769,12 +769,47 @@ describe('Test Main with stubs', () => { expect(validateDevfileMethod).toHaveBeenCalled(); }); + + test('failed with empty editorContent', async () => { + const main = new Main(); + containerGetMethod.mockReset(); + + const validateDevfileMethod = jest.fn(); + const devfileSchemaValidatorMock = { + validateDevfile: validateDevfileMethod as any, + }; + validateDevfileMethod.mockReturnValueOnce({ valid: true }); + containerGetMethod.mockReturnValueOnce(devfileSchemaValidatorMock); + + // last one is generate mock + containerGetMethod.mockReturnValueOnce(generateMock); + + const devfileContent = jsYaml.dump({ + schemaVersion: '2.1.0', + }); + + // Mock readFile to return empty string + jest.spyOn(fs, 'readFile').mockImplementation(() => Promise.resolve('')); + await expect( + main.generateDevfileContext( + { + devfileContent, + outputFile: FAKE_OUTPUT_FILE, + editorPath: FAKE_EDITOR_PATH, + projects: [], + }, + axios.default, + ), + ).rejects.toThrow('editorContent is required'); + + expect(validateDevfileMethod).toHaveBeenCalled(); + }); }); describe('replaceIfExistingProjects', () => { test('empty', async () => { const devfileContent = ''; - const projects = []; + const projects: { name: string; location: string }[] = []; const main = new Main(); const result = main.replaceIfExistingProjects(devfileContent, projects); expect(result).toBe(''); @@ -903,10 +938,43 @@ describe('Test Main with stubs', () => { const result = main.replaceIfExistingProjects(devfileContent, projects); const devfileResult = jsYaml.load(result) as { projects: { git: { remotes: { origin: string } } }[] }; - const expectedProjects = []; + const expectedProjects: typeof initialProjects = []; Object.assign(expectedProjects, initialProjects); expectedProjects[0].git.remotes.origin = 'http://my-another-location'; expect(devfileResult.projects).toStrictEqual(expectedProjects); }); + + test('existing project without git field matching location', async () => { + const initialProjects = [ + { + name: 'my-repo', + }, + ]; + + const devfileContent = jsYaml.dump({ + projects: initialProjects, + }); + const projects = [ + { + name: 'my-repo', + location: 'http://my-new-location', + }, + ]; + const main = new Main(); + const result = main.replaceIfExistingProjects(devfileContent, projects); + const devfileResult = jsYaml.load(result) as { projects: { git: { remotes: { origin: string } } }[] }; + + const expectedProjects = [ + { + name: 'my-repo', + git: { + remotes: { + origin: 'http://my-new-location', + }, + }, + }, + ]; + expect(devfileResult.projects).toStrictEqual(expectedProjects); + }); }); }); diff --git a/tsconfig.json b/tsconfig.json index 7d946a1..cd8b34e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,7 +5,7 @@ "esModuleInterop": true, "experimentalDecorators": true, "lib": [ - "ES2023", + "ES2023" ], "sourceMap": true, "rootDir": "src", @@ -15,11 +15,15 @@ ], "moduleResolution": "node", "resolveJsonModule": true, + "strict": true, + "noImplicitAny": true, + "noImplicitThis": true, + "alwaysStrict": true }, "include": [ "src" ], "exclude": [ - "node_modules", + "node_modules" ] } diff --git a/yarn.lock b/yarn.lock index d16af4c..7b4acfb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -46,16 +46,16 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.27.5, @babel/generator@npm:^7.29.7": - version: 7.29.7 - resolution: "@babel/generator@npm:7.29.7" +"@babel/generator@npm:^7.27.5, @babel/generator@npm:^7.29.7, @babel/generator@npm:^7.29.8": + version: 7.29.8 + resolution: "@babel/generator@npm:7.29.8" dependencies: - "@babel/parser": "npm:^7.29.7" - "@babel/types": "npm:^7.29.7" + "@babel/parser": "npm:^7.29.8" + "@babel/types": "npm:^7.29.8" "@jridgewell/gen-mapping": "npm:^0.3.12" "@jridgewell/trace-mapping": "npm:^0.3.28" jsesc: "npm:^3.0.2" - checksum: 10c0/9bf72b01b5bd0ea5b1288a0e37dbd360bff2f2b1ce73342c0d40fb3db2ec3dc004ada5ffa925c5e12939a416eed59e600d562b8ecd938ce0d27dfd0eb6c6c2b7 + checksum: 10c0/7b896696314a659652393b76d78276e236acd0f7fae40a9a1af7f01c76aeafc630dd0966aad6f9386d35d7c674a8e6e2d8e217c44d25fb11460e68afa9ba8441 languageName: node linkType: hard @@ -140,14 +140,14 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.29.7": - version: 7.29.7 - resolution: "@babel/parser@npm:7.29.7" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.29.7, @babel/parser@npm:^7.29.8": + version: 7.29.8 + resolution: "@babel/parser@npm:7.29.8" dependencies: - "@babel/types": "npm:^7.29.7" + "@babel/types": "npm:^7.29.8" bin: parser: ./bin/babel-parser.js - checksum: 10c0/65133038f80b54a714d6027cb77cee3f9a6b5c4c6842ce674301e13947cbcbfa8055e63acaf1b84c085d34226a14425b2c2b97b829e0e226d2e8f1299942a51d + checksum: 10c0/acc890c5e6a6dd40863a47b50bac111d7185ee6fbbe163ebe11d5214854ca2adb901462ad4d718a65090ef84bd2230e9e8ab45a2e0caccc685f1f57ab0bb1e28 languageName: node linkType: hard @@ -350,27 +350,27 @@ __metadata: linkType: hard "@babel/traverse@npm:^7.29.7": - version: 7.29.7 - resolution: "@babel/traverse@npm:7.29.7" + version: 7.29.8 + resolution: "@babel/traverse@npm:7.29.8" dependencies: "@babel/code-frame": "npm:^7.29.7" - "@babel/generator": "npm:^7.29.7" + "@babel/generator": "npm:^7.29.8" "@babel/helper-globals": "npm:^7.29.7" - "@babel/parser": "npm:^7.29.7" + "@babel/parser": "npm:^7.29.8" "@babel/template": "npm:^7.29.7" - "@babel/types": "npm:^7.29.7" + "@babel/types": "npm:^7.29.8" debug: "npm:^4.3.1" - checksum: 10c0/e256a1fbdb956555b76f3c285b1e453f6bedec8b3afb61751d99d933efd11c7d79caf5ddf2493570058a9f7deaa1b48324380d7c1aa1443fd9508becbf56331a + checksum: 10c0/87a28989c434add26d787776ac6d30f749b89cb030f2a605c89f671a516a6fa165ac0476f07e2b69feed70128b2734cae1cbbf41dfe95ccf22081bd8f8b91923 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.29.7": - version: 7.29.7 - resolution: "@babel/types@npm:7.29.7" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.29.7, @babel/types@npm:^7.29.8": + version: 7.29.8 + resolution: "@babel/types@npm:7.29.8" dependencies: "@babel/helper-string-parser": "npm:^7.29.7" "@babel/helper-validator-identifier": "npm:^7.29.7" - checksum: 10c0/b6623994c69717fa27294f5fa46d59140338e2d86c6c1c13085c84ef7d53086ee357fbf4fe9abe3dd3da75734dc77c4c0df2f90fb29e667558bb3b3fb705e88f + checksum: 10c0/be7c279f0abf2a086c633e21b49c7ca80275d05283cc5a268b67a708c9914bd0c944f1422b3eb3cb37682a2af5d560abf520ccf9b01b53ecbfe6b71fbc3fdde6 languageName: node linkType: hard @@ -381,6 +381,28 @@ __metadata: languageName: node linkType: hard +"@cacheable/memory@npm:^2.2.0": + version: 2.2.0 + resolution: "@cacheable/memory@npm:2.2.0" + dependencies: + "@cacheable/utils": "npm:^2.5.0" + "@keyv/bigmap": "npm:^1.3.1" + hookified: "npm:^1.15.1" + keyv: "npm:^5.6.0" + checksum: 10c0/c74889eb09871be0696065778fff013a498ddc73b538d113c2cb6ece361746f2959fbddfa4ce03ce53c9259998be05949e393212e72413dbd07616744eabd261 + languageName: node + linkType: hard + +"@cacheable/utils@npm:^2.5.0": + version: 2.5.0 + resolution: "@cacheable/utils@npm:2.5.0" + dependencies: + hashery: "npm:^1.5.1" + keyv: "npm:^5.6.0" + checksum: 10c0/99e901accd71eeb0bce91484d6c66d7ef2c731b541561eb5dc9ea7fed78bdc0b65e5dd2a80edde50191143bcfc5f238fc4742475b32e82d43b43eea224038e35 + languageName: node + linkType: hard + "@devfile/api@npm:2.3.0-1757407014": version: 2.3.0-1757407014 resolution: "@devfile/api@npm:2.3.0-1757407014" @@ -401,7 +423,10 @@ __metadata: dependencies: "@devfile/api": "npm:2.3.0-1757407014" "@eclipse-che/license-tool": "npm:^2.0.1-next.7742774" + "@types/fs-extra": "npm:^11.0.4" "@types/jest": "npm:^30.0.0" + "@types/js-yaml": "npm:^4.0.9" + "@types/lodash": "npm:^4.17.25" "@types/node": "npm:^26.1.2" axios: "npm:^1.13.1" eslint: "npm:^10.0.2" @@ -540,13 +565,13 @@ __metadata: languageName: node linkType: hard -"@eslint/plugin-kit@npm:^0.7.2": - version: 0.7.2 - resolution: "@eslint/plugin-kit@npm:0.7.2" +"@eslint/plugin-kit@npm:^0.7.3": + version: 0.7.3 + resolution: "@eslint/plugin-kit@npm:0.7.3" dependencies: "@eslint/core": "npm:^1.2.1" levn: "npm:^0.4.1" - checksum: 10c0/aafba08077bcd6d7dde6c2e21db18086046a88f914f29971a84cac9ad2d48952ded1b293e665e523805297eff756522dafa16f0062195e2c7143dcd1d47d11ed + checksum: 10c0/2daebaedcfbd261478e8b87dfb46d3118f48277c19eb298483ebc6f3b438e9688b86ddca13b3aeb08dfb06be00fb6073506852386aa124645c1170e7e33d140c languageName: node linkType: hard @@ -746,13 +771,6 @@ __metadata: languageName: node linkType: hard -"@jest/diff-sequences@npm:30.4.0": - version: 30.4.0 - resolution: "@jest/diff-sequences@npm:30.4.0" - checksum: 10c0/b4358b1b885098b905cb777f58788ddd45f90c4ebc3ce2c04fb1d4c9516f35ac2d9daef8263cd21c537bd7a52ab320f03e4ba9521677959ae20e3d405356b420 - languageName: node - linkType: hard - "@jest/diff-sequences@npm:30.5.0": version: 30.5.0 resolution: "@jest/diff-sequences@npm:30.5.0" @@ -772,15 +790,6 @@ __metadata: languageName: node linkType: hard -"@jest/expect-utils@npm:30.4.1": - version: 30.4.1 - resolution: "@jest/expect-utils@npm:30.4.1" - dependencies: - "@jest/get-type": "npm:30.1.0" - checksum: 10c0/6dea9e11ebcc7be68fea5950ae5a1b7ff9fd1490101ee8af0aede336b9934ab24a28bcafe2f1171dac0f95982406386c609ca2659b9132e1a9d419e8d69b9cd4 - languageName: node - linkType: hard - "@jest/expect-utils@npm:30.5.1": version: 30.5.1 resolution: "@jest/expect-utils@npm:30.5.1" @@ -814,13 +823,6 @@ __metadata: languageName: node linkType: hard -"@jest/get-type@npm:30.1.0": - version: 30.1.0 - resolution: "@jest/get-type@npm:30.1.0" - checksum: 10c0/3e65fd5015f551c51ec68fca31bbd25b466be0e8ee8075d9610fa1c686ea1e70a942a0effc7b10f4ea9a338c24337e1ad97ff69d3ebacc4681b7e3e80d1b24ac - languageName: node - linkType: hard - "@jest/get-type@npm:30.5.0": version: 30.5.0 resolution: "@jest/get-type@npm:30.5.0" @@ -840,16 +842,6 @@ __metadata: languageName: node linkType: hard -"@jest/pattern@npm:30.4.0": - version: 30.4.0 - resolution: "@jest/pattern@npm:30.4.0" - dependencies: - "@types/node": "npm:*" - jest-regex-util: "npm:30.4.0" - checksum: 10c0/05bc0799f84f3750bbbff0f9a546979efd0dbcee86c1be98b9e2811a68885809ec7b5cca39b8dda1497cb7cf17b7be936019fba8dfbcd9c53b181e03e67f4f82 - languageName: node - linkType: hard - "@jest/pattern@npm:30.5.0": version: 30.5.0 resolution: "@jest/pattern@npm:30.5.0" @@ -860,17 +852,17 @@ __metadata: languageName: node linkType: hard -"@jest/react-is-18@npm:react-is@^18.3.1, react-is-18@npm:react-is@^18.3.1": +"@jest/react-is-18@npm:react-is@^18.3.1": version: 18.3.1 resolution: "react-is@npm:18.3.1" checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 languageName: node linkType: hard -"@jest/react-is-19@npm:react-is@^19.2.5, react-is-19@npm:react-is@^19.2.5": - version: 19.2.8 - resolution: "react-is@npm:19.2.8" - checksum: 10c0/ed5322c84efe035c8fc814b1614ff5ca7fb8c2872a7c045197daf99f9b1bd68f32a2c79ffcbcfcff2fc5d93924ff9f9447400898f5b1534e6302bb0736a257f0 +"@jest/react-is-19@npm:react-is@^19.2.5": + version: 19.3.0 + resolution: "react-is@npm:19.3.0" + checksum: 10c0/99b16fc1009222ec0bbe05286566c865908430778ea6ba90dd418c7a11594c6cbb8db58432735b9203e3c6463e3eef5a399df1317ee2d75fd96b3a88cfaa662e languageName: node linkType: hard @@ -910,15 +902,6 @@ __metadata: languageName: node linkType: hard -"@jest/schemas@npm:30.4.1": - version: 30.4.1 - resolution: "@jest/schemas@npm:30.4.1" - dependencies: - "@sinclair/typebox": "npm:^0.34.0" - checksum: 10c0/96f388ebfc1974457fcbde2ad36c40a0b549cba3f624fe8d9d6e5903a152dc75e4043f4ac9ac7668622f2ecb0f9a4dcb9a38edf3bc0d52b82045b2bb2b69b72a - languageName: node - linkType: hard - "@jest/schemas@npm:30.5.0": version: 30.5.0 resolution: "@jest/schemas@npm:30.5.0" @@ -998,21 +981,6 @@ __metadata: languageName: node linkType: hard -"@jest/types@npm:30.4.1": - version: 30.4.1 - resolution: "@jest/types@npm:30.4.1" - dependencies: - "@jest/pattern": "npm:30.4.0" - "@jest/schemas": "npm:30.4.1" - "@types/istanbul-lib-coverage": "npm:^2.0.6" - "@types/istanbul-reports": "npm:^3.0.4" - "@types/node": "npm:*" - "@types/yargs": "npm:^17.0.33" - chalk: "npm:^4.1.2" - checksum: 10c0/4c79f6dbdb1c7eaab5da255fc696c7cae744759d4020e42da8aa63b37fe55ce594be73075fe1ee5407dd59d7e47975be9f674bfc81e91bae2c89c62d27ba55a1 - languageName: node - linkType: hard - "@jest/types@npm:30.5.1": version: 30.5.1 resolution: "@jest/types@npm:30.5.1" @@ -1056,9 +1024,9 @@ __metadata: linkType: hard "@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": - version: 1.5.5 - resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" - checksum: 10c0/f9e538f302b63c0ebc06eecb1dd9918dd4289ed36147a0ddce35d6ea4d7ebbda243cda7b2213b6a5e1d8087a298d5cf630fb2bd39329cdecb82017023f6081a0 + version: 1.6.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.6.0" + checksum: 10c0/b5be700e45a775f218589c3466c4ffea630582b4988657652da464e5ab8a7d18bf928ee4fd2363fb346ede4bea9c6ff0bae05a538358c4565ece6199531b5f72 languageName: node linkType: hard @@ -1072,15 +1040,41 @@ __metadata: languageName: node linkType: hard +"@keyv/bigmap@npm:^1.3.1": + version: 1.3.1 + resolution: "@keyv/bigmap@npm:1.3.1" + dependencies: + hashery: "npm:^1.4.0" + hookified: "npm:^1.15.0" + peerDependencies: + keyv: ^5.6.0 + checksum: 10c0/acc6a4a5edf462ce23e95672ab4bfaf7cd1941dff6bf3a2f671ce467961ace1fac9d3eb75a9ed9a8e92012e00a7d8b16ad1677bc539a52c3ad0cec31473e2349 + languageName: node + linkType: hard + +"@keyv/serialize@npm:^1.1.1": + version: 1.1.1 + resolution: "@keyv/serialize@npm:1.1.1" + checksum: 10c0/b0008cae4a54400c3abf587b8cc2474c6f528ee58969ce6cf9cb07a04006f80c73c85971d6be6544408318a2bc40108236a19a82aea0a6de95aae49533317374 + languageName: node + linkType: hard + +"@napi-rs/lzma-linux-x64-gnu@npm:1.5.1": + version: 1.5.1 + resolution: "@napi-rs/lzma-linux-x64-gnu@npm:1.5.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + "@napi-rs/wasm-runtime@npm:^1.1.4": - version: 1.2.0 - resolution: "@napi-rs/wasm-runtime@npm:1.2.0" + version: 1.2.4 + resolution: "@napi-rs/wasm-runtime@npm:1.2.4" dependencies: "@tybys/wasm-util": "npm:^0.10.3" peerDependencies: - "@emnapi/core": ^2.0.0-alpha.3 - "@emnapi/runtime": ^2.0.0-alpha.3 - checksum: 10c0/adee6b8007f538e6c6f30cabf075936597a0a0d9d49fea9aafd14f628e0e307e710071fc21116fbae189f6bb02d0af772de2fff7b021da4249b2a625fa4920c3 + "@emnapi/core": ^1.7.1 || ^2.0.0-alpha.4 + "@emnapi/runtime": ^1.7.1 || ^2.0.0-alpha.4 + checksum: 10c0/4bd7be975f7c806bf7c33255b53257cdcd603c573e453b2f6878550bcfd59722d0d34c97627ee6a0353d91274b738d29b32ba1f0fe552a5fca1c2da80aa17bdc languageName: node linkType: hard @@ -1232,177 +1226,177 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.62.3" +"@rollup/rollup-android-arm-eabi@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.63.1" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-android-arm64@npm:4.62.3" +"@rollup/rollup-android-arm64@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-android-arm64@npm:4.63.1" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-darwin-arm64@npm:4.62.3" +"@rollup/rollup-darwin-arm64@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-darwin-arm64@npm:4.63.1" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-darwin-x64@npm:4.62.3" +"@rollup/rollup-darwin-x64@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-darwin-x64@npm:4.63.1" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-freebsd-arm64@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-freebsd-arm64@npm:4.62.3" +"@rollup/rollup-freebsd-arm64@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.63.1" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-freebsd-x64@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-freebsd-x64@npm:4.62.3" +"@rollup/rollup-freebsd-x64@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-freebsd-x64@npm:4.63.1" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.62.3" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.63.1" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.62.3" +"@rollup/rollup-linux-arm-musleabihf@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.63.1" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.62.3" +"@rollup/rollup-linux-arm64-gnu@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.63.1" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.62.3" +"@rollup/rollup-linux-arm64-musl@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.63.1" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-loong64-gnu@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.62.3" +"@rollup/rollup-linux-loong64-gnu@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.63.1" conditions: os=linux & cpu=loong64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-loong64-musl@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-linux-loong64-musl@npm:4.62.3" +"@rollup/rollup-linux-loong64-musl@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-loong64-musl@npm:4.63.1" conditions: os=linux & cpu=loong64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-ppc64-gnu@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.62.3" +"@rollup/rollup-linux-ppc64-gnu@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.63.1" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-ppc64-musl@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-linux-ppc64-musl@npm:4.62.3" +"@rollup/rollup-linux-ppc64-musl@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-ppc64-musl@npm:4.63.1" conditions: os=linux & cpu=ppc64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.62.3" +"@rollup/rollup-linux-riscv64-gnu@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.63.1" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-musl@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.62.3" +"@rollup/rollup-linux-riscv64-musl@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.63.1" conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.62.3" +"@rollup/rollup-linux-s390x-gnu@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.63.1" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.62.3" +"@rollup/rollup-linux-x64-gnu@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.63.1" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.62.3" +"@rollup/rollup-linux-x64-musl@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.63.1" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-openbsd-x64@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-openbsd-x64@npm:4.62.3" +"@rollup/rollup-openbsd-x64@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-openbsd-x64@npm:4.63.1" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-openharmony-arm64@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-openharmony-arm64@npm:4.62.3" +"@rollup/rollup-openharmony-arm64@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-openharmony-arm64@npm:4.63.1" conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.62.3" +"@rollup/rollup-win32-arm64-msvc@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.63.1" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.62.3" +"@rollup/rollup-win32-ia32-msvc@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.63.1" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-gnu@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-win32-x64-gnu@npm:4.62.3" +"@rollup/rollup-win32-x64-gnu@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-win32-x64-gnu@npm:4.63.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.62.3": - version: 4.62.3 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.62.3" +"@rollup/rollup-win32-x64-msvc@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.63.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -1496,6 +1490,16 @@ __metadata: languageName: node linkType: hard +"@types/fs-extra@npm:^11.0.4": + version: 11.0.4 + resolution: "@types/fs-extra@npm:11.0.4" + dependencies: + "@types/jsonfile": "npm:*" + "@types/node": "npm:*" + checksum: 10c0/9e34f9b24ea464f3c0b18c3f8a82aefc36dc524cc720fc2b886e5465abc66486ff4e439ea3fb2c0acebf91f6d3f74e514f9983b1f02d4243706bdbb7511796ad + languageName: node + linkType: hard + "@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.1, @types/istanbul-lib-coverage@npm:^2.0.6": version: 2.0.6 resolution: "@types/istanbul-lib-coverage@npm:2.0.6" @@ -1531,6 +1535,13 @@ __metadata: languageName: node linkType: hard +"@types/js-yaml@npm:^4.0.9": + version: 4.0.9 + resolution: "@types/js-yaml@npm:4.0.9" + checksum: 10c0/24de857aa8d61526bbfbbaa383aa538283ad17363fcd5bb5148e2c7f604547db36646440e739d78241ed008702a8920665d1add5618687b6743858fae00da211 + languageName: node + linkType: hard + "@types/json-schema@npm:^7.0.15": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" @@ -1538,6 +1549,22 @@ __metadata: languageName: node linkType: hard +"@types/jsonfile@npm:*": + version: 6.1.4 + resolution: "@types/jsonfile@npm:6.1.4" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/b12d068b021e4078f6ac4441353965769be87acf15326173e2aea9f3bf8ead41bd0ad29421df5bbeb0123ec3fc02eb0a734481d52903704a1454a1845896b9eb + languageName: node + linkType: hard + +"@types/lodash@npm:^4.17.25": + version: 4.17.25 + resolution: "@types/lodash@npm:4.17.25" + checksum: 10c0/ca2049f16bf527e04d6e27702e3912a484faaff587de77a5c58e0d243b9292a655e1d7f7e5bdf2ffdf49a76da10673097f8dd4901990679058d47ccd99051877 + languageName: node + linkType: hard + "@types/node-fetch@npm:^2.5.7": version: 2.6.13 resolution: "@types/node-fetch@npm:2.6.13" @@ -1549,11 +1576,11 @@ __metadata: linkType: hard "@types/node@npm:*, @types/node@npm:^26.1.2": - version: 26.1.2 - resolution: "@types/node@npm:26.1.2" + version: 26.5.1 + resolution: "@types/node@npm:26.5.1" dependencies: - undici-types: "npm:~8.3.0" - checksum: 10c0/a45503222c7db8f374afd5c9381db63dd95b6b1f703abea0890dd3d4a09eeb41da489e08a1a45baf18fe89fb77fbf310ff2789f680c490b04dafc41a60800a86 + undici-types: "npm:~8.9.0" + checksum: 10c0/40aa7aa4c099c8a08bf39b5bcb15eaf2cc073666c2191b1d9ac8243ce6b68b23ace904a044c521f6d310b70e94514b531be5f4fc184f141a7ce7f0679ebc7bb3 languageName: node linkType: hard @@ -1581,9 +1608,9 @@ __metadata: linkType: hard "@ungap/structured-clone@npm:^1.3.0": - version: 1.3.3 - resolution: "@ungap/structured-clone@npm:1.3.3" - checksum: 10c0/b199e280ee06e9c447e0ccd38df60a65c2b2c13d3c77af50b1e6d77230aee1ea7da309d7b80c5a4850c8e22e4eee9e4b2813c6a33f8c360560d7f2e99a9f6e8f + version: 1.4.0 + resolution: "@ungap/structured-clone@npm:1.4.0" + checksum: 10c0/be74a389850d02901c836c07f10c1070d7604dab4070ba3c4b77c91665b90b4175d9f186189a02a399cf054fc051d3251418238564a4491d0164969e05c802a2 languageName: node linkType: hard @@ -1818,9 +1845,9 @@ __metadata: linkType: hard "ansi-regex@npm:^6.2.2": - version: 6.2.2 - resolution: "ansi-regex@npm:6.2.2" - checksum: 10c0/05d4acb1d2f59ab2cf4b794339c7b168890d44dda4bf0ce01152a8da0213aca207802f930442ce8cd22d7a92f44907664aac6508904e75e038fa944d2601b30f + version: 6.3.0 + resolution: "ansi-regex@npm:6.3.0" + checksum: 10c0/bc047786d0531f1f22d1e22e9863e8554488a399f1ee5270b753efa6de938a788d27456f2b256770f11fdd8b1e847483bc1b55ddc2b3ffe82ec45c875292c651 languageName: node linkType: hard @@ -1895,14 +1922,14 @@ __metadata: linkType: hard "axios@npm:^1.13.1, axios@npm:^1.15.0": - version: 1.18.1 - resolution: "axios@npm:1.18.1" + version: 1.20.0 + resolution: "axios@npm:1.20.0" dependencies: follow-redirects: "npm:^1.16.0" - form-data: "npm:^4.0.5" + form-data: "npm:^4.0.6" https-proxy-agent: "npm:^5.0.1" proxy-from-env: "npm:^2.1.0" - checksum: 10c0/9d9378a3af0d0ad730a52ad9d15ec7201f3926ad6e7e8bbffc5ae21ca2835ad11d1d9598698f5dd9718917486039f55ea1d7dc23d8e44fa827a55cc3262c02fc + checksum: 10c0/976088acf532286356f4c2e65df1ef47ba7da3936d83e928d0d64357bbf5370456abd3eb5826c15df322335fcb1fe200d4a84b4fcf20ffccdd63b40d80fa495c languageName: node linkType: hard @@ -2017,55 +2044,55 @@ __metadata: languageName: node linkType: hard -"baseline-browser-mapping@npm:^2.10.44": - version: 2.11.6 - resolution: "baseline-browser-mapping@npm:2.11.6" +"baseline-browser-mapping@npm:^2.11.20": + version: 2.11.22 + resolution: "baseline-browser-mapping@npm:2.11.22" bin: baseline-browser-mapping: dist/cli.cjs - checksum: 10c0/c289e5686e6b8c036e4dd4864a24224d30db2af2ae576a017fa929c83a949555d8bd5a25a27534ac6ef7aa2d5646427d1b187b96f93fefa9af81f673d7d67da1 + checksum: 10c0/455905743ccdad6aa50c6e87b99ae17c245ecd60c94c933d2b7ec4e7f9fbbcc5e72ef9985cb11fd7cde600f14803dc41b36d3c2229bcd3e0600b785d66098e99 languageName: node linkType: hard "brace-expansion@npm:^1.1.7": - version: 1.1.17 - resolution: "brace-expansion@npm:1.1.17" + version: 1.1.18 + resolution: "brace-expansion@npm:1.1.18" dependencies: balanced-match: "npm:^1.0.0" concat-map: "npm:0.0.1" - checksum: 10c0/0bc6fe7e757999d3a2a9f26b9d60087643c055de8cc81a69d52ab256c1695a9d719b61731e19892281c6cf865700238d6328ffb98b6e2628b997227530a5ca54 + checksum: 10c0/3432c18a9e2ebf94162d4effb62198bd0adea06a9f332b2c0188df5d5e30b1e51ea3c848b6608e47d0b857ebe1ea5b3888ed3326dd3c4f6f9645c94153cf9c14 languageName: node linkType: hard "brace-expansion@npm:^2.0.2": - version: 2.1.3 - resolution: "brace-expansion@npm:2.1.3" + version: 2.1.4 + resolution: "brace-expansion@npm:2.1.4" dependencies: balanced-match: "npm:^1.0.0" - checksum: 10c0/62bef43c5755b4978662d66d0844635cc171610644da7d0266db8c0180c21c6e8ff7b969a27d2f2ec7893b6efd9c33dc73383d84a467669832f2da1fd3771f99 + checksum: 10c0/6c0a0e2573eac1dc565b52b1e1bfbeba39bf1830d106ebbc61ff1eaefcf610e9111cd3baa091addd18e33292135c99e019d3184d966389d85dc958fdcdc1449f languageName: node linkType: hard "brace-expansion@npm:^5.0.8": - version: 5.0.8 - resolution: "brace-expansion@npm:5.0.8" + version: 5.0.9 + resolution: "brace-expansion@npm:5.0.9" dependencies: balanced-match: "npm:^4.0.2" - checksum: 10c0/73304caafd00fdc5b0168e693ac15bf25b6357dec76d1195fcd628fe2cf99c46f9c889a7ecfa3cfe236dbd2d5ce3e27a6ccc4370b46d475d0d19081e11f86019 + checksum: 10c0/3dea38884a1c3c8b1c9c44a7402a0c76fca460f70cffb3127242b0b4cbf4472019e022ade021eec44838ff19f1dac2625dfd11dd459d7e1e055b0698a8d52fec languageName: node linkType: hard "browserslist@npm:^4.24.0": - version: 4.28.7 - resolution: "browserslist@npm:4.28.7" - dependencies: - baseline-browser-mapping: "npm:^2.10.44" - caniuse-lite: "npm:^1.0.30001806" - electron-to-chromium: "npm:^1.5.393" - node-releases: "npm:^2.0.51" - update-browserslist-db: "npm:^1.2.3" + version: 4.28.9 + resolution: "browserslist@npm:4.28.9" + dependencies: + baseline-browser-mapping: "npm:^2.11.20" + caniuse-lite: "npm:^1.0.30001810" + electron-to-chromium: "npm:^1.5.420" + node-releases: "npm:^2.0.54" + update-browserslist-db: "npm:^1.3.2" bin: browserslist: cli.js - checksum: 10c0/dc41922a9ff0d81e5492498bdab2d932e3a3222f4277814ba38ee64f4e51f26e5244a7cce0777b4cac3ceff6eb196f5cadbb2a832620973a7f9c39611f6bc78e + checksum: 10c0/c4c7457cccb188bb904bb84566ff2d09e6f45ccf48619333111e5d60dfad456522a64e3e4af7c7608bc171371fc006f32bcc296877b0586bf80fb9f60841a110 languageName: node linkType: hard @@ -2087,6 +2114,19 @@ __metadata: languageName: node linkType: hard +"cacheable@npm:^2.5.0": + version: 2.5.0 + resolution: "cacheable@npm:2.5.0" + dependencies: + "@cacheable/memory": "npm:^2.2.0" + "@cacheable/utils": "npm:^2.5.0" + hookified: "npm:^1.15.0" + keyv: "npm:^5.6.0" + qified: "npm:^0.10.1" + checksum: 10c0/ad4086a60ed327196901c16360312705e35bfde5118457449cfabaf4ece0fecad046985ea8b66b3ece46dd469cb33798d87e1dac3ed2c00746578054bccbf74d + languageName: node + linkType: hard + "call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": version: 1.0.2 resolution: "call-bind-apply-helpers@npm:1.0.2" @@ -2118,10 +2158,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001806": - version: 1.0.30001806 - resolution: "caniuse-lite@npm:1.0.30001806" - checksum: 10c0/9442c8afff0968e9b2ce0104a7340c1ce4a5c09f469ccb9eef10d25712ea0afe542486e5318c697c70dd502f988cfc04eaa1c9438c92ac3bcf4d708a2a17bee1 +"caniuse-lite@npm:^1.0.30001810": + version: 1.0.30001810 + resolution: "caniuse-lite@npm:1.0.30001810" + checksum: 10c0/d29bc73f33c888025d54c7ff2984372d3b350b15a6a9e174884fb40976175e9177f202e2a72c2d428dddfc032784bc8ba635a31d168fcab9fac65756d7b3d6b4 languageName: node linkType: hard @@ -2329,10 +2369,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.5.393": - version: 1.5.398 - resolution: "electron-to-chromium@npm:1.5.398" - checksum: 10c0/5c489a3f8255a2146c2e30112365b091998439c620e8d654d8788954e16c4cd7ffa9977dfb268d7b043ef14818fcf6bb470a7666fe44ee011d2b18c42ab89939 +"electron-to-chromium@npm:^1.5.420": + version: 1.5.427 + resolution: "electron-to-chromium@npm:1.5.427" + checksum: 10c0/8ea673696c681be42e99c82e16221149f0eba9b1b9fecd7c7e4ebef153c87ebb0145a67f1305f530077313972ffa6ab6de6d2f13181c7954933e3e781e45d379 languageName: node linkType: hard @@ -2477,15 +2517,15 @@ __metadata: linkType: hard "eslint@npm:^10.0.2": - version: 10.8.0 - resolution: "eslint@npm:10.8.0" + version: 10.10.0 + resolution: "eslint@npm:10.10.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.8.0" "@eslint-community/regexpp": "npm:^4.12.2" "@eslint/config-array": "npm:^0.23.5" "@eslint/config-helpers": "npm:^0.7.0" "@eslint/core": "npm:^1.2.1" - "@eslint/plugin-kit": "npm:^0.7.2" + "@eslint/plugin-kit": "npm:^0.7.3" "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" "@humanwhocodes/retry": "npm:^0.4.2" @@ -2500,7 +2540,7 @@ __metadata: esquery: "npm:^1.7.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^8.0.0" + file-entry-cache: "npm:11.1.5 || >11.1.6 <12" find-up: "npm:^5.0.0" glob-parent: "npm:^6.0.2" ignore: "npm:^5.2.0" @@ -2517,7 +2557,7 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10c0/2dbc523578834088615f388e08418d2620b25655f7a398f6d415765fa2a3a25d6b8b43bd3293d40f977e12752323a841d52654a2648697a00c0102c9794bb3dc + checksum: 10c0/ba583145305f088585f91c5dab6825492ec657614558e4610cffc94174cf800f456e39ec3cafd3eed73e04bd9a05794067ae33b553f1323e3e7c1157242409d2 languageName: node linkType: hard @@ -2624,7 +2664,7 @@ __metadata: languageName: node linkType: hard -"expect@npm:30.5.1": +"expect@npm:30.5.1, expect@npm:^30.0.0": version: 30.5.1 resolution: "expect@npm:30.5.1" dependencies: @@ -2638,20 +2678,6 @@ __metadata: languageName: node linkType: hard -"expect@npm:^30.0.0": - version: 30.4.1 - resolution: "expect@npm:30.4.1" - dependencies: - "@jest/expect-utils": "npm:30.4.1" - "@jest/get-type": "npm:30.1.0" - jest-matcher-utils: "npm:30.4.1" - jest-message-util: "npm:30.4.1" - jest-mock: "npm:30.4.1" - jest-util: "npm:30.4.1" - checksum: 10c0/ad04fbdffac5a2bae186478938a60f737e3aac823db9a80c87f3f390f9f458bddcc454dc3a3997d715706747c6aff928923e6a71db3a221adb89a51cc1582e72 - languageName: node - linkType: hard - "exponential-backoff@npm:^3.1.1": version: 3.1.3 resolution: "exponential-backoff@npm:3.1.3" @@ -2701,12 +2727,12 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^8.0.0": - version: 8.0.0 - resolution: "file-entry-cache@npm:8.0.0" +"file-entry-cache@npm:11.1.5 || >11.1.6 <12": + version: 11.1.5 + resolution: "file-entry-cache@npm:11.1.5" dependencies: - flat-cache: "npm:^4.0.0" - checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638 + flat-cache: "npm:^6.1.23" + checksum: 10c0/d05eca8794b27824d79a0f1a0bc76b81ca7232b6c9634bc086f365a6d9ddac749c4826b2b2d36bb7ef9ed84fdf0097f34979527daeb9255b4f17673a4ae50fc5 languageName: node linkType: hard @@ -2730,20 +2756,21 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^4.0.0": - version: 4.0.1 - resolution: "flat-cache@npm:4.0.1" +"flat-cache@npm:^6.1.23": + version: 6.1.23 + resolution: "flat-cache@npm:6.1.23" dependencies: - flatted: "npm:^3.2.9" - keyv: "npm:^4.5.4" - checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc + cacheable: "npm:^2.5.0" + flatted: "npm:^3.4.2" + hookified: "npm:^1.15.0" + checksum: 10c0/c757c24f51334e1917958cd9d62d4ed3d520a3815d5a1ec50d993ac3a93fa81b6de7e28264231914bb0d990babd426e4d713d3e2f3d782dae65c42a2ded1e651 languageName: node linkType: hard -"flatted@npm:^3.2.9": - version: 3.4.3 - resolution: "flatted@npm:3.4.3" - checksum: 10c0/0b36eba483a68dda5a2c4dda9cab61dc1c57a3bd9bd6942d1c6fac9c94c86fb6295c7167f33f94f72b5a79ccf95bf5c2a0cf99f73888ef858252439e149bf24b +"flatted@npm:^3.4.2": + version: 3.4.4 + resolution: "flatted@npm:3.4.4" + checksum: 10c0/a3a52a88ea5a4c333e5a1f097dcd87a037fa31c236a77cf46222c2aa4036ef895ab9bc76138a66d9dc22bdb3652128f9598cd26e7439561bf19f67276e2bc37e languageName: node linkType: hard @@ -2781,7 +2808,7 @@ __metadata: languageName: node linkType: hard -"form-data@npm:^4.0.4, form-data@npm:^4.0.5": +"form-data@npm:^4.0.4, form-data@npm:^4.0.6": version: 4.0.6 resolution: "form-data@npm:4.0.6" dependencies: @@ -3002,6 +3029,15 @@ __metadata: languageName: node linkType: hard +"hashery@npm:^1.4.0, hashery@npm:^1.5.1": + version: 1.5.1 + resolution: "hashery@npm:1.5.1" + dependencies: + hookified: "npm:^1.15.0" + checksum: 10c0/ab4225b655a7b0d05df99b1a59d5b3a51fe433f82422ca25e6f3f4c4ddd30adb49ebd38e0047ef9bded93319c1e9fc857e16aa382e554929c871cb77d39fc463 + languageName: node + linkType: hard + "hasown@npm:^2.0.2, hasown@npm:^2.0.4": version: 2.0.4 resolution: "hasown@npm:2.0.4" @@ -3011,6 +3047,20 @@ __metadata: languageName: node linkType: hard +"hookified@npm:^1.15.0, hookified@npm:^1.15.1": + version: 1.15.1 + resolution: "hookified@npm:1.15.1" + checksum: 10c0/6b691374fa97ae57169fb29f90e723499fda5e85494654fbe55c4768b3ccbf3e14c0adc8d0f365f32c503b60d7c06f907781f5966c03d41c423575eb5e16860c + languageName: node + linkType: hard + +"hookified@npm:^2.1.1": + version: 2.2.0 + resolution: "hookified@npm:2.2.0" + checksum: 10c0/7017d2b66945490293a5aba239e7b39f39071dd940fa019348c7ffea92b91b8c267853c4c51680ed0f3687b33352582fa4d2cff6dd4c5a1c5c44b037276f07aa + languageName: node + linkType: hard + "html-escaper@npm:^2.0.0": version: 2.0.2 resolution: "html-escaper@npm:2.0.2" @@ -3322,18 +3372,6 @@ __metadata: languageName: node linkType: hard -"jest-diff@npm:30.4.1": - version: 30.4.1 - resolution: "jest-diff@npm:30.4.1" - dependencies: - "@jest/diff-sequences": "npm:30.4.0" - "@jest/get-type": "npm:30.1.0" - chalk: "npm:^4.1.2" - pretty-format: "npm:30.4.1" - checksum: 10c0/787e11f0ea27e94815479d6c5415e4173da1e74bede34c1515b8515fc9d1fe053e2ad25a3c31f9998a7292c186a0e4d395ed82e0e149d57d7708ee6759b442e9 - languageName: node - linkType: hard - "jest-diff@npm:30.5.1": version: 30.5.1 resolution: "jest-diff@npm:30.5.1" @@ -3412,18 +3450,6 @@ __metadata: languageName: node linkType: hard -"jest-matcher-utils@npm:30.4.1": - version: 30.4.1 - resolution: "jest-matcher-utils@npm:30.4.1" - dependencies: - "@jest/get-type": "npm:30.1.0" - chalk: "npm:^4.1.2" - jest-diff: "npm:30.4.1" - pretty-format: "npm:30.4.1" - checksum: 10c0/ddbb0c7075def27ba30160883c327cb3fd13f561f5789d00a1edca1b48b0651f8ea23a1c51bcfcb6413a68c47d658bcf47a34701b8a39ce135dd28d87a3117af - languageName: node - linkType: hard - "jest-matcher-utils@npm:30.5.1": version: 30.5.1 resolution: "jest-matcher-utils@npm:30.5.1" @@ -3436,24 +3462,6 @@ __metadata: languageName: node linkType: hard -"jest-message-util@npm:30.4.1": - version: 30.4.1 - resolution: "jest-message-util@npm:30.4.1" - dependencies: - "@babel/code-frame": "npm:^7.27.1" - "@jest/types": "npm:30.4.1" - "@types/stack-utils": "npm:^2.0.3" - chalk: "npm:^4.1.2" - graceful-fs: "npm:^4.2.11" - jest-util: "npm:30.4.1" - picomatch: "npm:^4.0.3" - pretty-format: "npm:30.4.1" - slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.6" - checksum: 10c0/ae7427544e042bc1c14abf3c0dbe8b83d0dbec22a9a5efefaca5b8ccb6b9bf391abe732e6f2117ca995c6889bfe1be35c78cec75e5ea0a50e28cffe1ba6f9fdf - languageName: node - linkType: hard - "jest-message-util@npm:30.5.1": version: 30.5.1 resolution: "jest-message-util@npm:30.5.1" @@ -3472,17 +3480,6 @@ __metadata: languageName: node linkType: hard -"jest-mock@npm:30.4.1": - version: 30.4.1 - resolution: "jest-mock@npm:30.4.1" - dependencies: - "@jest/types": "npm:30.4.1" - "@types/node": "npm:*" - jest-util: "npm:30.4.1" - checksum: 10c0/5185a41255285c1634c5d85dda037afaaadfc12793b3293c9e253a30bb67449f8df968447f830abb9cf7a52e63694e6734680130e8085ce119056280890bf6fc - languageName: node - linkType: hard - "jest-mock@npm:30.5.1": version: 30.5.1 resolution: "jest-mock@npm:30.5.1" @@ -3495,13 +3492,6 @@ __metadata: languageName: node linkType: hard -"jest-regex-util@npm:30.4.0": - version: 30.4.0 - resolution: "jest-regex-util@npm:30.4.0" - checksum: 10c0/fe7426f67b54d38bed8e9d6e6a099d63d72f41f5bf65b922d9d03fedcb55c614b45657207632f6ee22d0a59d8d11327891f258d23f68a58912fcdb0f7db48435 - languageName: node - linkType: hard - "jest-regex-util@npm:30.5.0": version: 30.5.0 resolution: "jest-regex-util@npm:30.5.0" @@ -3624,20 +3614,6 @@ __metadata: languageName: node linkType: hard -"jest-util@npm:30.4.1": - version: 30.4.1 - resolution: "jest-util@npm:30.4.1" - dependencies: - "@jest/types": "npm:30.4.1" - "@types/node": "npm:*" - chalk: "npm:^4.1.2" - ci-info: "npm:^4.2.0" - graceful-fs: "npm:^4.2.11" - picomatch: "npm:^4.0.3" - checksum: 10c0/3efe1f25e5a172d04c6af8612d82867ab603b7c1bd8cb89073ff834679b44eba178793cf3af162cf5e25be13aa736ebd23a7826683acc85bddc5873f305b1f6e - languageName: node - linkType: hard - "jest-util@npm:30.5.1": version: 30.5.1 resolution: "jest-util@npm:30.5.1" @@ -3764,13 +3740,6 @@ __metadata: languageName: node linkType: hard -"json-buffer@npm:3.0.1": - version: 3.0.1 - resolution: "json-buffer@npm:3.0.1" - checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 - languageName: node - linkType: hard - "json-parse-even-better-errors@npm:^2.3.0": version: 2.3.1 resolution: "json-parse-even-better-errors@npm:2.3.1" @@ -3828,12 +3797,12 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.5.4": - version: 4.5.4 - resolution: "keyv@npm:4.5.4" +"keyv@npm:^5.6.0": + version: 5.6.0 + resolution: "keyv@npm:5.6.0" dependencies: - json-buffer: "npm:3.0.1" - checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + "@keyv/serialize": "npm:^1.1.1" + checksum: 10c0/c3ea795b6e03593ca57c8f70928a69bad14c13389a7fb75649a115ff55615244b04d8902798d841c17f0bb4a8a8866c97133b543b93f151b440170bba09176db languageName: node linkType: hard @@ -4087,8 +4056,8 @@ __metadata: linkType: hard "node-gyp@npm:latest": - version: 13.0.1 - resolution: "node-gyp@npm:13.0.1" + version: 13.0.2 + resolution: "node-gyp@npm:13.0.2" dependencies: env-paths: "npm:^2.2.0" exponential-backoff: "npm:^3.1.1" @@ -4102,7 +4071,7 @@ __metadata: which: "npm:^7.0.0" bin: node-gyp: bin/node-gyp.js - checksum: 10c0/424077bc9e9bbe953a8e86db473ba818cbc6a121714008c977fd589e21e5f0c811fbf22faac730dc7182450b5e52df301811d01ae3373898658d999b7710f4e6 + checksum: 10c0/29d33ccf47ffeeb5e7af925550b416f698a26a72eb10975c7eb5775c1d0cecacd76d164a4aa45503d3ddcece209db65c712be00423c69381a4cd14e2e6540559 languageName: node linkType: hard @@ -4113,10 +4082,10 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.51": - version: 2.0.51 - resolution: "node-releases@npm:2.0.51" - checksum: 10c0/6cf3fe1f9eabe02ce6de67e9db77b73edc9f5625003791e1f8f239f8e2a851450a5aeb1eff2cc43cfb26312e19b26bfe07626bf428479e6a76f56553fc6148da +"node-releases@npm:^2.0.54": + version: 2.0.55 + resolution: "node-releases@npm:2.0.55" + checksum: 10c0/35a779a188b3c1801820b77ea3c429d0aacac346368016a92c357dfd781f2908540fc3782b25d41647c3334dec83c976890f40d254bfd788eb5e72c3730146d1 languageName: node linkType: hard @@ -4314,9 +4283,9 @@ __metadata: linkType: hard "picomatch@npm:^4.0.3, picomatch@npm:^4.0.4": - version: 4.0.5 - resolution: "picomatch@npm:4.0.5" - checksum: 10c0/947bc6b6e1ff1e6c5aaf95b107a0839d12802f4f7b867663f67d47accba939ca1cb582cf99dfc30438efa1c4648ac5990967e783e8929c36b03e8440704ef1bd + version: 4.0.7 + resolution: "picomatch@npm:4.0.7" + checksum: 10c0/beb6ae02c43ae44e84883b90830196d9046b1726ead292adcf7f57945e0bb0d992d68563d87e03b484b6f3c9a5c6defda7523477f047d7f0e663f126cc01787f languageName: node linkType: hard @@ -4352,19 +4321,7 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:30.4.1, pretty-format@npm:^30.0.0": - version: 30.4.1 - resolution: "pretty-format@npm:30.4.1" - dependencies: - "@jest/schemas": "npm:30.4.1" - ansi-styles: "npm:^5.2.0" - react-is-18: "npm:react-is@^18.3.1" - react-is-19: "npm:react-is@^19.2.5" - checksum: 10c0/c7e6633740cd2f6d382f188c00c8b4b3f2bee3cda16db6753471c6bb4b94f76531358d3a7793062a0fb00d72ebfb934e8ae1d4f5ced6bb34c8e7f60996f90076 - languageName: node - linkType: hard - -"pretty-format@npm:30.5.1": +"pretty-format@npm:30.5.1, pretty-format@npm:^30.0.0": version: 30.5.1 resolution: "pretty-format@npm:30.5.1" dependencies: @@ -4415,6 +4372,15 @@ __metadata: languageName: node linkType: hard +"qified@npm:^0.10.1": + version: 0.10.1 + resolution: "qified@npm:0.10.1" + dependencies: + hookified: "npm:^2.1.1" + checksum: 10c0/4a39d45492c65a4b9795381acede1bd566028ce9764ead5b41d776b391a898bf0855dd2b59d724a6711fe253ba3cacf7c9a8832887cf9dc6d48a2c5e4997c82d + languageName: node + linkType: hard + "querystringify@npm:^2.1.1": version: 2.2.0 resolution: "querystringify@npm:2.2.0" @@ -4493,37 +4459,40 @@ __metadata: linkType: hard "rollup@npm:^4.18.0": - version: 4.62.3 - resolution: "rollup@npm:4.62.3" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.62.3" - "@rollup/rollup-android-arm64": "npm:4.62.3" - "@rollup/rollup-darwin-arm64": "npm:4.62.3" - "@rollup/rollup-darwin-x64": "npm:4.62.3" - "@rollup/rollup-freebsd-arm64": "npm:4.62.3" - "@rollup/rollup-freebsd-x64": "npm:4.62.3" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.62.3" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.62.3" - "@rollup/rollup-linux-arm64-gnu": "npm:4.62.3" - "@rollup/rollup-linux-arm64-musl": "npm:4.62.3" - "@rollup/rollup-linux-loong64-gnu": "npm:4.62.3" - "@rollup/rollup-linux-loong64-musl": "npm:4.62.3" - "@rollup/rollup-linux-ppc64-gnu": "npm:4.62.3" - "@rollup/rollup-linux-ppc64-musl": "npm:4.62.3" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.62.3" - "@rollup/rollup-linux-riscv64-musl": "npm:4.62.3" - "@rollup/rollup-linux-s390x-gnu": "npm:4.62.3" - "@rollup/rollup-linux-x64-gnu": "npm:4.62.3" - "@rollup/rollup-linux-x64-musl": "npm:4.62.3" - "@rollup/rollup-openbsd-x64": "npm:4.62.3" - "@rollup/rollup-openharmony-arm64": "npm:4.62.3" - "@rollup/rollup-win32-arm64-msvc": "npm:4.62.3" - "@rollup/rollup-win32-ia32-msvc": "npm:4.62.3" - "@rollup/rollup-win32-x64-gnu": "npm:4.62.3" - "@rollup/rollup-win32-x64-msvc": "npm:4.62.3" + version: 4.63.1 + resolution: "rollup@npm:4.63.1" + dependencies: + "@napi-rs/lzma-linux-x64-gnu": "npm:1.5.1" + "@rollup/rollup-android-arm-eabi": "npm:4.63.1" + "@rollup/rollup-android-arm64": "npm:4.63.1" + "@rollup/rollup-darwin-arm64": "npm:4.63.1" + "@rollup/rollup-darwin-x64": "npm:4.63.1" + "@rollup/rollup-freebsd-arm64": "npm:4.63.1" + "@rollup/rollup-freebsd-x64": "npm:4.63.1" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.63.1" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.63.1" + "@rollup/rollup-linux-arm64-gnu": "npm:4.63.1" + "@rollup/rollup-linux-arm64-musl": "npm:4.63.1" + "@rollup/rollup-linux-loong64-gnu": "npm:4.63.1" + "@rollup/rollup-linux-loong64-musl": "npm:4.63.1" + "@rollup/rollup-linux-ppc64-gnu": "npm:4.63.1" + "@rollup/rollup-linux-ppc64-musl": "npm:4.63.1" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.63.1" + "@rollup/rollup-linux-riscv64-musl": "npm:4.63.1" + "@rollup/rollup-linux-s390x-gnu": "npm:4.63.1" + "@rollup/rollup-linux-x64-gnu": "npm:4.63.1" + "@rollup/rollup-linux-x64-musl": "npm:4.63.1" + "@rollup/rollup-openbsd-x64": "npm:4.63.1" + "@rollup/rollup-openharmony-arm64": "npm:4.63.1" + "@rollup/rollup-win32-arm64-msvc": "npm:4.63.1" + "@rollup/rollup-win32-ia32-msvc": "npm:4.63.1" + "@rollup/rollup-win32-x64-gnu": "npm:4.63.1" + "@rollup/rollup-win32-x64-msvc": "npm:4.63.1" "@types/estree": "npm:1.0.9" fsevents: "npm:~2.3.2" dependenciesMeta: + "@napi-rs/lzma-linux-x64-gnu": + optional: true "@rollup/rollup-android-arm-eabi": optional: true "@rollup/rollup-android-arm64": @@ -4578,7 +4547,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 10c0/efa9c2fdbfeaaf2fa36ba6c49e658b6b595ff6cc04149c29e628f69d50f8ce420f9b1d1ae32fabff07ffb1d495d6b191b6c9ed7422ad53b72ef5fa629726a160 + checksum: 10c0/90cac5c59bdeb7762483b502f1b547057b0a5e18d044a971b9fbd5629ee262518d00c526e92244726c91e11c4fd5005e9e48359787af034035f0668bb5949ab0 languageName: node linkType: hard @@ -4944,17 +4913,17 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~8.3.0": - version: 8.3.0 - resolution: "undici-types@npm:8.3.0" - checksum: 10c0/c8aa7e2fbebfce519654dafadc0ece59be888d2ccaf180fb4495da875e7b536d2456345c384069c7e6f3e9c9ab7435f074957da306f142343eee86ff8048855a +"undici-types@npm:~8.9.0": + version: 8.9.0 + resolution: "undici-types@npm:8.9.0" + checksum: 10c0/51c712c20c087368f62c6fc0f2bc49fa76bfe5dec28ff01584bb677ff29b0622569783c02d43e151143808c48c0503f804093bd2c491b10f2a830138034cb451 languageName: node linkType: hard "undici@npm:^8.4.1": - version: 8.9.0 - resolution: "undici@npm:8.9.0" - checksum: 10c0/e3d9fa35a9aa8360d9f56e66bd372f451ee053e25066a97fd9fab3816267035660f67870c6d709a58a5411551657af78c4475be5b31c113b04f70251309900d0 + version: 8.10.2 + resolution: "undici@npm:8.10.2" + checksum: 10c0/66d7fc69149207cab570d6abbc9e965b6afe1ae889a7d46945b431165c973d6a56f3dd8b70a856e7ae1e550b6366a1cde6f06e68640587f0dadca38de72995ee languageName: node linkType: hard @@ -5041,9 +5010,9 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.2.3": - version: 1.2.3 - resolution: "update-browserslist-db@npm:1.2.3" +"update-browserslist-db@npm:^1.3.2": + version: 1.3.3 + resolution: "update-browserslist-db@npm:1.3.3" dependencies: escalade: "npm:^3.2.0" picocolors: "npm:^1.1.1" @@ -5051,7 +5020,7 @@ __metadata: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 10c0/13a00355ea822388f68af57410ce3255941d5fb9b7c49342c4709a07c9f230bbef7f7499ae0ca7e0de532e79a82cc0c4edbd125f1a323a1845bf914efddf8bec + checksum: 10c0/07bab166c18f47ba51f3b755e42f109ef5069d0d7c7224887decbd523d5ccd404f63661ebd5a740099972ed47f41f0e28c04df8be31d76716a346f948ce2aa61 languageName: node linkType: hard