From 6cd7f0484069012fb3d568edc7d97cec036fe9f5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 31 Oct 2026 23:44:55 +0000 Subject: [PATCH 1/2] chore(deps-dev): bump @biomejs/biome from 2.5.14 to 2.6.3 Bumps [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome) from 2.5.14 to 2.6.3. - [Release notes](https://github.com/biomejs/biome/releases) - [Changelog](https://github.com/biomejs/biome/blob/main/CHANGELOG_v1.md) - [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.6.3/packages/@biomejs/biome) --- updated-dependencies: - dependency-name: "@biomejs/biome" dependency-version: 2.6.3 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 108 ++++++++++++++++++++++++++++++---------------- package.json | 2 +- 2 files changed, 73 insertions(+), 37 deletions(-) diff --git a/package-lock.json b/package-lock.json index eb71d01..24a9879 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "semver": "^7.8.5" }, "devDependencies": { - "@biomejs/biome": "2.5.14", + "@biomejs/biome": "2.6.3", "@types/node": "^26.6.6", "@types/semver": "^7.8.0", "@vitest/coverage-v8": "^5.0.5", @@ -383,9 +383,9 @@ } }, "node_modules/@biomejs/biome": { - "version": "2.5.14", - "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.14.tgz", - "integrity": "sha512-0FabLIjd4M/dm8VFI86RMaLLdgepzbdfiAL2R8cr7V81OYYrP1w7Z73KfAwPK5h9SrEBXTzNG2y+mBwPo9xRnw==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.6.3.tgz", + "integrity": "sha512-va/0xPku7wnfzv+D8Zpdm5uKiGJWiV8neqoEPnRjvNQQwhl4tVXS4fETs4H0CCB2rGeqJ4cu9y4iOZOnOYKAUA==", "dev": true, "license": "MIT OR Apache-2.0", "bin": { @@ -399,20 +399,56 @@ "url": "https://opencollective.com/biome" }, "optionalDependencies": { - "@biomejs/cli-darwin-arm64": "2.5.14", - "@biomejs/cli-darwin-x64": "2.5.14", - "@biomejs/cli-linux-arm64": "2.5.14", - "@biomejs/cli-linux-arm64-musl": "2.5.14", - "@biomejs/cli-linux-x64": "2.5.14", - "@biomejs/cli-linux-x64-musl": "2.5.14", - "@biomejs/cli-win32-arm64": "2.5.14", - "@biomejs/cli-win32-x64": "2.5.14" + "@biomejs/cli-android-arm64": "2.6.3", + "@biomejs/cli-android-x64": "2.6.3", + "@biomejs/cli-darwin-arm64": "2.6.3", + "@biomejs/cli-darwin-x64": "2.6.3", + "@biomejs/cli-linux-arm64": "2.6.3", + "@biomejs/cli-linux-arm64-musl": "2.6.3", + "@biomejs/cli-linux-x64": "2.6.3", + "@biomejs/cli-linux-x64-musl": "2.6.3", + "@biomejs/cli-win32-arm64": "2.6.3", + "@biomejs/cli-win32-x64": "2.6.3" + } + }, + "node_modules/@biomejs/cli-android-arm64": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-android-arm64/-/cli-android-arm64-2.6.3.tgz", + "integrity": "sha512-5JD7QQDEHxdeEb4sftEHG+lsuUyu8Cob/hVLqRELbgGlFl68Rldv/PPi2k4dRjERZ/EItJ3O6Xmv8lqsEtUBiw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-android-x64": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-android-x64/-/cli-android-x64-2.6.3.tgz", + "integrity": "sha512-70WOGKCgpT+Uqg6LFdTLqefV54/DypdZg+LnBQDO6AWvkgXO+9xhVClajQyDsIHYjnXMtI1pRO5sP+zMXlS/bw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.21.3" } }, "node_modules/@biomejs/cli-darwin-arm64": { - "version": "2.5.14", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.14.tgz", - "integrity": "sha512-UnzaXO65L4tsZimFITFP2M121GyhDcWFrT3pL5ZJ5U4XcS/0L5VHYytVohdCf/gnDUFHgl2I9xnt5bV/J1kxHQ==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.6.3.tgz", + "integrity": "sha512-ezf+XEKeyJ2yYlBhrzyEEHLvfRYrhtNKc6maLzR/WcAcBccb4RVDeFxsymjBve2LO0bpIMRUAiS90D4bUBRT0A==", "cpu": [ "arm64" ], @@ -427,9 +463,9 @@ } }, "node_modules/@biomejs/cli-darwin-x64": { - "version": "2.5.14", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.14.tgz", - "integrity": "sha512-kiy8qA16K93J7uvFfWi4LgjqDpnRKyePAna6A0Y4jxyUga35SYpIZ2cNWlhy0lsfgqRenCpfymnJWEZ6mgpRgA==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.6.3.tgz", + "integrity": "sha512-Lg2tFdg4elJo+7i707PpLMs6N1hATVt4kqDo6MD/q/VnPs8rsKReKXsz1TA5GNdfRVAQNJ5GRiyK2EwNptK+MA==", "cpu": [ "x64" ], @@ -444,9 +480,9 @@ } }, "node_modules/@biomejs/cli-linux-arm64": { - "version": "2.5.14", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.14.tgz", - "integrity": "sha512-vO/9BaU1n30CiFNLx49gMTMtbCAAqlo/EqFoG0BU3deQInTbJrmXSmTQ9e3FoDZIKQnvSLDVNL4lx1ci7y1T1Q==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.6.3.tgz", + "integrity": "sha512-8Stcvq98n1gs9VyLKuaWrnsd8kbXE2nKDAHtuLHGSYdGyNWN5JIIm5a28xdnmgdKzKHmiDgYyATetkEv7+zGow==", "cpu": [ "arm64" ], @@ -464,9 +500,9 @@ } }, "node_modules/@biomejs/cli-linux-arm64-musl": { - "version": "2.5.14", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.14.tgz", - "integrity": "sha512-SJ9PrZkBnnH9dHJDnxk34vKs0GB2dbsioaft6/hPhWJ7AHpwYH83Isnhj0FSRpFkGgpVfJ1lds23ApB2czUDLQ==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.6.3.tgz", + "integrity": "sha512-dYU70A89OFHzakQPE9VOPbE60JNcQt4mtxvUGQl+EgTkGtqCFxLD2RUn1SbiMu8Mu5xFscS1bfYDpoasaUrqNA==", "cpu": [ "arm64" ], @@ -484,9 +520,9 @@ } }, "node_modules/@biomejs/cli-linux-x64": { - "version": "2.5.14", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.14.tgz", - "integrity": "sha512-VHZRa7CCQBUWKxNwUvHJeuW03WFRgN5NWO//SDGOitc9QIeNyfA42V9zlKm+x82xFSG9Bzi5fi+hbhm9anO8yA==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.6.3.tgz", + "integrity": "sha512-CShmx0bO6BngywT3minv8K1xsQX1ig1vsBqYTLnmDY3mBiDYHlaLRIsdHoM1pEU9dV3BN5a0uiH0IGDtYh9TWA==", "cpu": [ "x64" ], @@ -504,9 +540,9 @@ } }, "node_modules/@biomejs/cli-linux-x64-musl": { - "version": "2.5.14", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.14.tgz", - "integrity": "sha512-2kI5PrMgW5dcEZYrstLPmUmCwkUwZY39rP4BN93Vxbwcs2O57LDQOktUZZYPvvspN5i0mhGr3TJtF5sU26NUWg==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.6.3.tgz", + "integrity": "sha512-j6eFjUcWSphmgVTbrobEMA0wdbfNHKrGi8hRsFkc17jeS1n7nHwFACxp6jWqe9sxQqyFAeyOgt2/1bOGVcbATA==", "cpu": [ "x64" ], @@ -524,9 +560,9 @@ } }, "node_modules/@biomejs/cli-win32-arm64": { - "version": "2.5.14", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.14.tgz", - "integrity": "sha512-pHgAFffmZtaYoxavEsWEYNvcA7NwOIjLyqw2HXyLbt16xYryX0L4fMV2u0G9ag6LNYPIoqWaWqzUcnc6rLGGXg==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.6.3.tgz", + "integrity": "sha512-00SthDxBPwNiT7IL/mOneif6fiEU1PXK875zhr+InpeZjovY1mF5tCuDhXo1Hh0GYyiKHKzLbItzn58SAyLhJQ==", "cpu": [ "arm64" ], @@ -541,9 +577,9 @@ } }, "node_modules/@biomejs/cli-win32-x64": { - "version": "2.5.14", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.14.tgz", - "integrity": "sha512-oJWmBhoHsnhUKIke+0gXDX0mltJrWHA1UyHsrTlXwX0TL64ilVZAo+TYZm97baecV0esBdpzy3k96q+09JaZUQ==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.6.3.tgz", + "integrity": "sha512-GhtOPphBWlnCepqpNk/w5eGN5oGRCzL20EbAkL1XCIpyboeVC9R642noyT43l8LSenGS4qz9IL8sKPfwY37V/Q==", "cpu": [ "x64" ], diff --git a/package.json b/package.json index f3e5ac3..9d2a3e3 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "semver": "^7.8.5" }, "devDependencies": { - "@biomejs/biome": "2.5.14", + "@biomejs/biome": "2.6.3", "@types/node": "^26.6.6", "@types/semver": "^7.8.0", "@vitest/coverage-v8": "^5.0.5", From b8f4c30352ae271b58bb889bf53a6a7e0e425ca1 Mon Sep 17 00:00:00 2001 From: Koji Wakamiya Date: Sun, 1 Nov 2026 09:02:42 +0900 Subject: [PATCH 2/2] chore(deps-dev): bump @biomejs/biome to 2.6.4 and update config - Bump @biomejs/biome from 2.6.3 to 2.6.4 and migrate the schema - Keep single quotes for YAML, which Biome 2.6 now formats - Exclude YAML test fixtures, whose layout the tests depend on - Apply the new Markdown and YAML formatting Co-Authored-By: Claude Opus 5.5 --- .github/dependabot.yml | 14 +++---- AGENTS.md | 20 +++++----- README.md | 18 ++++----- biome.json | 11 +++++- package-lock.json | 88 +++++++++++++++++++++--------------------- package.json | 2 +- 6 files changed, 80 insertions(+), 73 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index e0d6ec9..655e044 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,33 +4,33 @@ updates: directory: / schedule: interval: monthly - time: "08:00" + time: '08:00' timezone: Asia/Tokyo cooldown: default-days: 3 semver-major-days: 7 ignore: - - dependency-name: "@types/node" + - dependency-name: '@types/node' update-types: - - "version-update:semver-major" + - 'version-update:semver-major' groups: actions-packages: patterns: - - "@actions/*" + - '@actions/*' dev-dependencies: dependency-type: development exclude-patterns: - - "@biomejs/biome" + - '@biomejs/biome' - package-ecosystem: github-actions directory: / schedule: interval: monthly - time: "08:00" + time: '08:00' timezone: Asia/Tokyo cooldown: default-days: 3 groups: github-actions-official: patterns: - - "actions/*" + - 'actions/*' diff --git a/AGENTS.md b/AGENTS.md index 06528f5..71278f7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,12 +1,12 @@ # AGENTS.md -* **`dist/` is committed**: GitHub Actions loads `dist/` directly from the tagged commit. Run `npm run package` and commit the result after any source change. -* **`action.yml` is the source of truth for node version**: `build.mjs` parses it to set the esbuild target. Do not hardcode node versions elsewhere. -* **SHA-256 single-pass**: Download and hash use one `pipeline()` pass. Do not split into separate steps. -* **Retry wraps download + verify**: `downloadAndVerify` retries the entire `downloadWithHash` + SHA-256 check as a unit. Do not retry at the HTTP layer alone — a corrupted transfer must re-download from scratch. -* **Timeouts use native mechanisms**: HTTP uses `HttpClient`'s `socketTimeout` (idle detection). Git uses `GIT_HTTP_LOW_SPEED_LIMIT`/`GIT_HTTP_LOW_SPEED_TIME` env vars (git-native idle detection) plus `execWithTimeout` (total command timeout). Do not replace with custom polling. -* **Cache keys include OS**: Both SDK and pub cache keys include the OS name for easier cache management in the GitHub Actions UI, even though `@actions/cache` internally scopes by runner OS. -* **ESM mocking**: Use `vi.mock()` + `Mocked`, not `vi.spyOn()` on module namespaces. A class passed to `mockImplementation()` must define its members as class fields (`get = vi.fn()...`); prototype methods on it are not reachable from the created instance. Automocked classes (bare `vi.mock()`) do expose prototype methods as mocks. -* **Test state is reset before every test**: `vitest.config.mts` sets `mockReset`, `restoreMocks` and `unstubEnvs`, so mock implementations, `vi.spyOn` spies and `vi.stubEnv` values never carry over; do not add manual cleanup for them. Give a `vi.mock` factory's default behaviour as `vi.fn(impl)`; a `vi.fn().mockResolvedValue(...)` chain does not survive the reset. Fake timers have no such option: wrap `vi.useFakeTimers()` in `try/finally` with `vi.useRealTimers()`. -* **Timeout tests require handler-first ordering**: When testing `execWithTimeout` with fake timers, set up the rejection handler (`expect(promise).rejects`) before advancing timers to avoid unhandled rejections. -* **Test coverage must stay at 100%**: Statements, branches, functions, and lines are all 100%. Run `npx vitest run --coverage` to verify after any change. +- **`dist/` is committed**: GitHub Actions loads `dist/` directly from the tagged commit. Run `npm run package` and commit the result after any source change. +- **`action.yml` is the source of truth for node version**: `build.mjs` parses it to set the esbuild target. Do not hardcode node versions elsewhere. +- **SHA-256 single-pass**: Download and hash use one `pipeline()` pass. Do not split into separate steps. +- **Retry wraps download + verify**: `downloadAndVerify` retries the entire `downloadWithHash` + SHA-256 check as a unit. Do not retry at the HTTP layer alone — a corrupted transfer must re-download from scratch. +- **Timeouts use native mechanisms**: HTTP uses `HttpClient`'s `socketTimeout` (idle detection). Git uses `GIT_HTTP_LOW_SPEED_LIMIT`/`GIT_HTTP_LOW_SPEED_TIME` env vars (git-native idle detection) plus `execWithTimeout` (total command timeout). Do not replace with custom polling. +- **Cache keys include OS**: Both SDK and pub cache keys include the OS name for easier cache management in the GitHub Actions UI, even though `@actions/cache` internally scopes by runner OS. +- **ESM mocking**: Use `vi.mock()` + `Mocked`, not `vi.spyOn()` on module namespaces. A class passed to `mockImplementation()` must define its members as class fields (`get = vi.fn()...`); prototype methods on it are not reachable from the created instance. Automocked classes (bare `vi.mock()`) do expose prototype methods as mocks. +- **Test state is reset before every test**: `vitest.config.mts` sets `mockReset`, `restoreMocks` and `unstubEnvs`, so mock implementations, `vi.spyOn` spies and `vi.stubEnv` values never carry over; do not add manual cleanup for them. Give a `vi.mock` factory's default behaviour as `vi.fn(impl)`; a `vi.fn().mockResolvedValue(...)` chain does not survive the reset. Fake timers have no such option: wrap `vi.useFakeTimers()` in `try/finally` with `vi.useRealTimers()`. +- **Timeout tests require handler-first ordering**: When testing `execWithTimeout` with fake timers, set up the rejection handler (`expect(promise).rejects`) before advancing timers to avoid unhandled rejections. +- **Test coverage must stay at 100%**: Statements, branches, functions, and lines are all 100%. Run `npx vitest run --coverage` to verify after any change. diff --git a/README.md b/README.md index 9c94ae8..0f1672a 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,10 @@ Set up Flutter SDK for GitHub Actions. -* **Pure TypeScript** — No external tools. Consistent behavior across Linux, macOS, and Windows. -* **SHA-256 verification** — Every downloaded archive is verified against the official manifest to detect tampering. -* **Reliable downloads** — Automatic retry (3 attempts with jitter) and socket/idle timeouts for both HTTP downloads and git operations. -* **Automated maintenance** — Dependencies are kept up to date via Dependabot with auto-merge enabled for patch and minor updates. +- **Pure TypeScript** — No external tools. Consistent behavior across Linux, macOS, and Windows. +- **SHA-256 verification** — Every downloaded archive is verified against the official manifest to detect tampering. +- **Reliable downloads** — Automatic retry (3 attempts with jitter) and socket/idle timeouts for both HTTP downloads and git operations. +- **Automated maintenance** — Dependencies are kept up to date via Dependabot with auto-merge enabled for patch and minor updates. ## Usage @@ -199,11 +199,11 @@ The action sets the following outputs: The intro bullets above are backed by a consistent design: every artifact this action installs is verified, and no input ever reaches a shell. -* **Archive verification** — Release archives are downloaded over HTTPS and verified against the SHA-256 checksum in the official release manifest before extraction. A mismatch fails the run. -* **Git mode verification** — Versions and refs are resolved to a commit hash first (via the release manifest or `git ls-remote`), and after cloning the checkout is verified to match that commit. SDK caches are keyed by the commit hash and the repository URL. -* **No shell interpolation** — Inputs and version-file contents are passed to subprocesses as argument arrays. Nothing is ever interpolated into a shell command. -* **Supply chain** — All runtime dependencies are bundled into `dist/`, and CI verifies the bundle is reproducible from source on every change. The repository's own workflows are SHA-pinned, run with minimal permissions, and use `npm ci --ignore-scripts` wherever a write token is present. -* **Cache integrity** — Caches are restored by exact key match only. There is no partial-match fallback that could restore unexpected content. +- **Archive verification** — Release archives are downloaded over HTTPS and verified against the SHA-256 checksum in the official release manifest before extraction. A mismatch fails the run. +- **Git mode verification** — Versions and refs are resolved to a commit hash first (via the release manifest or `git ls-remote`), and after cloning the checkout is verified to match that commit. SDK caches are keyed by the commit hash and the repository URL. +- **No shell interpolation** — Inputs and version-file contents are passed to subprocesses as argument arrays. Nothing is ever interpolated into a shell command. +- **Supply chain** — All runtime dependencies are bundled into `dist/`, and CI verifies the bundle is reproducible from source on every change. The repository's own workflows are SHA-pinned, run with minimal permissions, and use `npm ci --ignore-scripts` wherever a write token is present. +- **Cache integrity** — Caches are restored by exact key match only. There is no partial-match fallback that could restore unexpected content. ## Blog Post diff --git a/biome.json b/biome.json index 2c8a137..24414f7 100644 --- a/biome.json +++ b/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/2.5.14/schema.json", + "$schema": "https://biomejs.dev/schemas/2.6.4/schema.json", "vcs": { "enabled": true, "clientKind": "git", @@ -10,7 +10,9 @@ "**", "!!**/dist", "!.claude", - "!__tests__/fixtures/*-invalid.*" + "!__tests__/fixtures/*-invalid.*", + "!__tests__/fixtures/**/*.yaml", + "!__tests__/fixtures/**/*.yml" ] }, "formatter": { @@ -28,6 +30,11 @@ "quoteStyle": "double" } }, + "yaml": { + "formatter": { + "quoteStyle": "single" + } + }, "assist": { "enabled": true, "actions": { diff --git a/package-lock.json b/package-lock.json index 24a9879..39b2cdc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "semver": "^7.8.5" }, "devDependencies": { - "@biomejs/biome": "2.6.3", + "@biomejs/biome": "2.6.4", "@types/node": "^26.6.6", "@types/semver": "^7.8.0", "@vitest/coverage-v8": "^5.0.5", @@ -383,9 +383,9 @@ } }, "node_modules/@biomejs/biome": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.6.3.tgz", - "integrity": "sha512-va/0xPku7wnfzv+D8Zpdm5uKiGJWiV8neqoEPnRjvNQQwhl4tVXS4fETs4H0CCB2rGeqJ4cu9y4iOZOnOYKAUA==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.6.4.tgz", + "integrity": "sha512-8sKKwaNW4ot22awZ3lBjwWLHnUFXgXnrBPYS2gNlBAXRbDC++7kqjK2H7dR/FgCDtPvO1xfKpgEhJkGxAKYkxA==", "dev": true, "license": "MIT OR Apache-2.0", "bin": { @@ -399,22 +399,22 @@ "url": "https://opencollective.com/biome" }, "optionalDependencies": { - "@biomejs/cli-android-arm64": "2.6.3", - "@biomejs/cli-android-x64": "2.6.3", - "@biomejs/cli-darwin-arm64": "2.6.3", - "@biomejs/cli-darwin-x64": "2.6.3", - "@biomejs/cli-linux-arm64": "2.6.3", - "@biomejs/cli-linux-arm64-musl": "2.6.3", - "@biomejs/cli-linux-x64": "2.6.3", - "@biomejs/cli-linux-x64-musl": "2.6.3", - "@biomejs/cli-win32-arm64": "2.6.3", - "@biomejs/cli-win32-x64": "2.6.3" + "@biomejs/cli-android-arm64": "2.6.4", + "@biomejs/cli-android-x64": "2.6.4", + "@biomejs/cli-darwin-arm64": "2.6.4", + "@biomejs/cli-darwin-x64": "2.6.4", + "@biomejs/cli-linux-arm64": "2.6.4", + "@biomejs/cli-linux-arm64-musl": "2.6.4", + "@biomejs/cli-linux-x64": "2.6.4", + "@biomejs/cli-linux-x64-musl": "2.6.4", + "@biomejs/cli-win32-arm64": "2.6.4", + "@biomejs/cli-win32-x64": "2.6.4" } }, "node_modules/@biomejs/cli-android-arm64": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-android-arm64/-/cli-android-arm64-2.6.3.tgz", - "integrity": "sha512-5JD7QQDEHxdeEb4sftEHG+lsuUyu8Cob/hVLqRELbgGlFl68Rldv/PPi2k4dRjERZ/EItJ3O6Xmv8lqsEtUBiw==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-android-arm64/-/cli-android-arm64-2.6.4.tgz", + "integrity": "sha512-jwrwigP4tBcHxzuV8izioX/BOUhJL/4e2rNSOE5nCjBkVC018LQAQUGiH+CNkFYvLtQ1dcZo5/xXERmaAGc7JQ==", "cpu": [ "arm64" ], @@ -429,9 +429,9 @@ } }, "node_modules/@biomejs/cli-android-x64": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-android-x64/-/cli-android-x64-2.6.3.tgz", - "integrity": "sha512-70WOGKCgpT+Uqg6LFdTLqefV54/DypdZg+LnBQDO6AWvkgXO+9xhVClajQyDsIHYjnXMtI1pRO5sP+zMXlS/bw==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-android-x64/-/cli-android-x64-2.6.4.tgz", + "integrity": "sha512-HdGInPJ4nZFwHxzvEtcp2nmSBtUyJrurmtIK43upFckuS3+ZqVM05HtsxQWnqGsuy/pxckIAjyKWlEKRlBXUyA==", "cpu": [ "x64" ], @@ -446,9 +446,9 @@ } }, "node_modules/@biomejs/cli-darwin-arm64": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.6.3.tgz", - "integrity": "sha512-ezf+XEKeyJ2yYlBhrzyEEHLvfRYrhtNKc6maLzR/WcAcBccb4RVDeFxsymjBve2LO0bpIMRUAiS90D4bUBRT0A==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.6.4.tgz", + "integrity": "sha512-0VvcUz46wbg59Q4TZ59KkIjDJrxEyu4Eoe79+F4SChxoWe+W7AEyIp6F5r72C9+p6MsB6dIovnZt1D30lGM3XA==", "cpu": [ "arm64" ], @@ -463,9 +463,9 @@ } }, "node_modules/@biomejs/cli-darwin-x64": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.6.3.tgz", - "integrity": "sha512-Lg2tFdg4elJo+7i707PpLMs6N1hATVt4kqDo6MD/q/VnPs8rsKReKXsz1TA5GNdfRVAQNJ5GRiyK2EwNptK+MA==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.6.4.tgz", + "integrity": "sha512-fxmvkF81srlS3DiMyfm+aG3J0eG+6/BjaxRyjy57KbLSafnq0PO+hHfVWmtH2ty0S7nm6yDXBRwySfFeaRJKRQ==", "cpu": [ "x64" ], @@ -480,9 +480,9 @@ } }, "node_modules/@biomejs/cli-linux-arm64": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.6.3.tgz", - "integrity": "sha512-8Stcvq98n1gs9VyLKuaWrnsd8kbXE2nKDAHtuLHGSYdGyNWN5JIIm5a28xdnmgdKzKHmiDgYyATetkEv7+zGow==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.6.4.tgz", + "integrity": "sha512-6+bK1Y/evmIUiJr7auertuMbiaYVicJhqA1bZyL47lCMWugv8l0gFQCqvR/gN1vZMHYm+HwoTKgeMxdNFCoQTg==", "cpu": [ "arm64" ], @@ -500,9 +500,9 @@ } }, "node_modules/@biomejs/cli-linux-arm64-musl": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.6.3.tgz", - "integrity": "sha512-dYU70A89OFHzakQPE9VOPbE60JNcQt4mtxvUGQl+EgTkGtqCFxLD2RUn1SbiMu8Mu5xFscS1bfYDpoasaUrqNA==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.6.4.tgz", + "integrity": "sha512-31ZaH/MHqPX+O+evRwRrCHQ8W5/9adY+/eMytGGWZnRx1T41QsWIF09+/WujynLBhWZUxNGS5CtsWLwgOFTAyg==", "cpu": [ "arm64" ], @@ -520,9 +520,9 @@ } }, "node_modules/@biomejs/cli-linux-x64": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.6.3.tgz", - "integrity": "sha512-CShmx0bO6BngywT3minv8K1xsQX1ig1vsBqYTLnmDY3mBiDYHlaLRIsdHoM1pEU9dV3BN5a0uiH0IGDtYh9TWA==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.6.4.tgz", + "integrity": "sha512-tbFZMdL6dP/ws4edXxYG9WhvaVa1ZDzL4G5DzahnWW7Psib9H+VTdyU4XXVxpJk5j/nYZroSbvSNyYlpW3yCIw==", "cpu": [ "x64" ], @@ -540,9 +540,9 @@ } }, "node_modules/@biomejs/cli-linux-x64-musl": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.6.3.tgz", - "integrity": "sha512-j6eFjUcWSphmgVTbrobEMA0wdbfNHKrGi8hRsFkc17jeS1n7nHwFACxp6jWqe9sxQqyFAeyOgt2/1bOGVcbATA==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.6.4.tgz", + "integrity": "sha512-bomSa2XdQAGGj6Cwdm4M13qE+lN9+AOlW8KtI4hdyVyRRF/Z71qPAi95T4wtdZK0QpBbkTW8hgbZZCwPi4xzIw==", "cpu": [ "x64" ], @@ -560,9 +560,9 @@ } }, "node_modules/@biomejs/cli-win32-arm64": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.6.3.tgz", - "integrity": "sha512-00SthDxBPwNiT7IL/mOneif6fiEU1PXK875zhr+InpeZjovY1mF5tCuDhXo1Hh0GYyiKHKzLbItzn58SAyLhJQ==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.6.4.tgz", + "integrity": "sha512-eCsqt8Ma3eVap+oyJCDnJZH60SIU464B66n3y38EUTJdM1T/HfZol1FJC9vb+sHToX0ix8XzqPcwJnOzyAJz0g==", "cpu": [ "arm64" ], @@ -577,9 +577,9 @@ } }, "node_modules/@biomejs/cli-win32-x64": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.6.3.tgz", - "integrity": "sha512-GhtOPphBWlnCepqpNk/w5eGN5oGRCzL20EbAkL1XCIpyboeVC9R642noyT43l8LSenGS4qz9IL8sKPfwY37V/Q==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.6.4.tgz", + "integrity": "sha512-pYsMy5AThiHFOZAsngg8qN4PurM6nInKBhVX7sbj3eNpRQqo1Hb0MgCwPL7VqVMrmcEEMj9Ks3qbkallR65e8g==", "cpu": [ "x64" ], diff --git a/package.json b/package.json index 9d2a3e3..d834d01 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "semver": "^7.8.5" }, "devDependencies": { - "@biomejs/biome": "2.6.3", + "@biomejs/biome": "2.6.4", "@types/node": "^26.6.6", "@types/semver": "^7.8.0", "@vitest/coverage-v8": "^5.0.5",