From 7702017cc1f1a9ed7ce79740e6fefa02590dc877 Mon Sep 17 00:00:00 2001
From: Nicolas Hedger <649677+nhedger@users.noreply.github.com>
Date: Sat, 13 Jan 2024 18:32:23 +0100
Subject: [PATCH] feat: improve version detection (#41)
---
.github/workflows/test.yaml | 17 ++-
README.md | 15 +--
dist/index.mjs | 56 ++++++++-
src/index.ts | 10 +-
src/version.ts | 98 +++++++++++++++-
test/fixtures/bun/.gitignore | 175 ----------------------------
test/fixtures/bun/README.md | 15 ---
test/fixtures/bun/bun.lockb | Bin 3500 -> 7002 bytes
test/fixtures/bun/bunfig.toml | 2 -
test/fixtures/bun/index.ts | 1 -
test/fixtures/bun/package.json | 3 +
test/fixtures/bun/tsconfig.json | 22 ----
test/fixtures/bun/yarn.lock | 49 --------
test/fixtures/fallback/.gitignore | 0
test/fixtures/npm/package-lock.json | 72 ++++++------
test/fixtures/npm/package.json | 2 +-
test/fixtures/pnpm/package.json | 2 +-
test/fixtures/pnpm/pnpm-lock.yaml | 64 +++++-----
test/fixtures/yarn/package.json | 2 +-
test/fixtures/yarn/yarn.lock | 162 ++++++++++++++++---------
20 files changed, 350 insertions(+), 417 deletions(-)
delete mode 100644 test/fixtures/bun/.gitignore
delete mode 100644 test/fixtures/bun/README.md
delete mode 100644 test/fixtures/bun/bunfig.toml
delete mode 100644 test/fixtures/bun/index.ts
delete mode 100644 test/fixtures/bun/tsconfig.json
delete mode 100644 test/fixtures/bun/yarn.lock
create mode 100644 test/fixtures/fallback/.gitignore
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index 3f1cbd9..0a2853f 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -6,6 +6,13 @@ on:
pull_request:
workflow_dispatch:
+env:
+ # This version is used when running the tests to ensure that the correct version is installed.
+ # It is the version that the test expect to find during automatic version detection. It is important
+ # that this version is NOT the latest version of the CLI because some tests may still pass if the
+ # automatic version detection fails and falls back to the latest version.
+ BIOME_EXPECTED_VERSION: 1.5.0
+
jobs:
test-specific:
name: Specific version
@@ -56,7 +63,7 @@ jobs:
- name: Check equality
shell: bash
run: |
- if [ "Version: 1.5.1" == "${{ steps.version.outputs.version }}" ]; then
+ if [ "Version: ${{ env.BIOME_EXPECTED_VERSION }}" == "${{ steps.version.outputs.version }}" ]; then
exit 0
else
echo "Versions do not match"
@@ -84,7 +91,7 @@ jobs:
- name: Check equality
shell: bash
run: |
- if [ "Version: 1.5.1" == "${{ steps.version.outputs.version }}" ]; then
+ if [ "Version: ${{ env.BIOME_EXPECTED_VERSION }}" == "${{ steps.version.outputs.version }}" ]; then
exit 0
else
echo "Versions do not match"
@@ -112,7 +119,7 @@ jobs:
- name: Check equality
shell: bash
run: |
- if [ "Version: 1.5.1" == "${{ steps.version.outputs.version }}" ]; then
+ if [ "Version: ${{ env.BIOME_EXPECTED_VERSION }}" == "${{ steps.version.outputs.version }}" ]; then
exit 0
else
echo "Versions do not match"
@@ -140,7 +147,7 @@ jobs:
- name: Check equality
shell: bash
run: |
- if [ "Version: 1.5.1" == "${{ steps.version.outputs.version }}" ]; then
+ if [ "Version: ${{ env.BIOME_EXPECTED_VERSION }}" == "${{ steps.version.outputs.version }}" ]; then
exit 0
else
echo "Versions do not match"
@@ -159,6 +166,8 @@ jobs:
uses: actions/checkout@v4
- name: Setup Biome CLI
uses: ./
+ with:
+ working-dir: "test/fixtures/fallback"
- name: Retrieve the version
id: version
shell: bash
diff --git a/README.md b/README.md
index 73054e7..e7a6f52 100644
--- a/README.md
+++ b/README.md
@@ -41,16 +41,8 @@ The following inputs are supported.
To automatically determine the version of Biome to install based on the project's dependencies, you can simply omit the `version` input.
-The action will search for the version of the `@biomejs/biome` dependency in the lockfiles of popular package managers such as npm, yarn, pnpm, and bun. It will then install that specific version of the Biome CLI.
-
-> [!IMPORTANT]
-> [Bun](https://bun.sh) users must configure Bun to output a yarn lockfile because this action cannot yet read bun's binary lockfile format.
-> An easy way to do this is to add the following to your `bunfig.toml` file:
-> ```toml
-> [install.lockfile]
-> print = "yarn"
-
-If no version of the Biome CLI is found in the lockfiles, the action will install the latest version of the Biome CLI.
+The action will look for the version of the `@biomejs/biome` dependency in the lockfiles of popular package managers such as npm, yarn, pnpm, and bun. If the version cannot be found in the lockfiles, the action will attempt to retrieve the version from the `package.json` file, and as a last
+resort, it will install the latest version of the Biome CLI.
```yaml
- name: Setup Biome CLI
@@ -60,6 +52,9 @@ If no version of the Biome CLI is found in the lockfiles, the action will instal
run: biome ci .
```
+> [!IMPORTANT]
+> We recommend that you *pin* the version of `@biomejs/biome` in your project's dependencies. If you provide a semver range, and automatic version detection falls back to reading the `package.json file`, the highest version within the range will be used. See the [versioning documentation](https://biomejs.dev/internals/versioning/) for more information.
+
### Latest version
Setup the latest version of the Biome CLI.
diff --git a/dist/index.mjs b/dist/index.mjs
index 8dc5056..6df50e2 100644
--- a/dist/index.mjs
+++ b/dist/index.mjs
@@ -22447,7 +22447,7 @@ const getInput = (name) => {
return (0,core.getInput)(name) === "" ? void 0 : (0,core.getInput)(name);
};
-const getBiomeVersion = async () => {
+const getBiomeVersion = async (octokit) => {
let root = getInput("working-dir");
if (!root) {
root = process.cwd();
@@ -22461,7 +22461,7 @@ const getBiomeVersion = async () => {
"The specified working directory does not exist. Using the current working directory instead."
);
}
- return getInput("version") ?? await extractVersionFromNpmLockFile(root) ?? await extractVersionFromPnpmLockFile(root) ?? await extractVersionFromYarnLockFile(root) ?? "latest";
+ return getInput("version") ?? await extractVersionFromNpmLockFile(root) ?? await extractVersionFromPnpmLockFile(root) ?? await extractVersionFromYarnLockFile(root) ?? await extractVersionFromPackageManifest(root, octokit) ?? "latest";
};
const extractVersionFromNpmLockFile = async (root) => {
try {
@@ -22496,15 +22496,59 @@ const extractVersionFromYarnLockFile = async (root) => {
return void 0;
}
};
+const extractVersionFromPackageManifest = async (root, octokit) => {
+ try {
+ const manifest = JSON.parse(
+ await (0,promises_namespaceObject.readFile)((0,external_node_path_namespaceObject.join)(root, "package.json"), "utf8")
+ );
+ const versionSpecifier = manifest.devDependencies?.["@biomejs/biome"] ?? manifest.dependencies?.["@biomejs/biome"];
+ if (!versionSpecifier) {
+ return void 0;
+ }
+ if ((0,semver.valid)(versionSpecifier)) {
+ return versionSpecifier;
+ }
+ if ((0,semver.validRange)(versionSpecifier)) {
+ (0,core.warning)(
+ `Please consider pinning the version of @biomejs/biome in your package.json file.
+ See https://biomejs.dev/internals/versioning/ for more information.`,
+ { title: "Biome version range detected" }
+ );
+ const versions = await fetchBiomeVersions(octokit);
+ if (!versions) {
+ return void 0;
+ }
+ return (0,semver.maxSatisfying)(versions, versionSpecifier)?.version ?? void 0;
+ }
+ } catch {
+ return void 0;
+ }
+};
+const fetchBiomeVersions = async (octokit) => {
+ try {
+ const releases = await octokit.paginate(
+ "GET /repos/{owner}/{repo}/releases",
+ {
+ owner: "biomejs",
+ repo: "biome"
+ }
+ );
+ const versions = releases.filter((release) => release.tag_name.startsWith("cli/")).map((release) => (0,semver.coerce)(release.tag_name));
+ return (0,semver.rsort)(versions);
+ } catch {
+ return void 0;
+ }
+};
(async () => {
+ const octokit = new rest_dist_node.Octokit({
+ auth: (await (0,dist_node.createActionAuth)()()).token
+ });
await setup({
- version: await getBiomeVersion(),
+ version: await getBiomeVersion(octokit),
platform: process.platform,
architecture: process.arch,
- octokit: new rest_dist_node.Octokit({
- auth: (await (0,dist_node.createActionAuth)()()).token
- })
+ octokit
});
})();
diff --git a/src/index.ts b/src/index.ts
index ed0f425..13a54de 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -4,12 +4,14 @@ import { setup } from "./setup";
import { getBiomeVersion } from "./version";
(async () => {
+ const octokit = new Octokit({
+ auth: (await createActionAuth()()).token,
+ });
+
await setup({
- version: await getBiomeVersion(),
+ version: await getBiomeVersion(octokit),
platform: process.platform as "linux" | "darwin" | "win32",
architecture: process.arch as "x64" | "arm64",
- octokit: new Octokit({
- auth: (await createActionAuth()()).token,
- }),
+ octokit: octokit,
});
})();
diff --git a/src/version.ts b/src/version.ts
index 56a0f8e..3adbe96 100644
--- a/src/version.ts
+++ b/src/version.ts
@@ -1,7 +1,16 @@
import { existsSync } from "node:fs";
import { join } from "node:path";
import { info, warning } from "@actions/core";
+import { Octokit } from "@octokit/rest";
import { readFile } from "fs/promises";
+import {
+ SemVer,
+ coerce,
+ maxSatisfying,
+ rsort,
+ valid,
+ validRange,
+} from "semver";
import { parse } from "yaml";
import { getInput } from "./helpers";
@@ -16,7 +25,7 @@ import { getInput } from "./helpers";
*
* @param projectRoot The root directory of the project. Defaults to the current working directory.
*/
-export const getBiomeVersion = async (): Promise => {
+export const getBiomeVersion = async (octokit: Octokit): Promise => {
let root = getInput("working-dir");
// If the working directory is not specified, we fallback to the current
@@ -42,6 +51,7 @@ export const getBiomeVersion = async (): Promise => {
(await extractVersionFromNpmLockFile(root)) ??
(await extractVersionFromPnpmLockFile(root)) ??
(await extractVersionFromYarnLockFile(root)) ??
+ (await extractVersionFromPackageManifest(root, octokit)) ??
"latest"
);
};
@@ -102,3 +112,89 @@ const extractVersionFromYarnLockFile = async (
return undefined;
}
};
+
+/**
+ * Extracts the Biome CLI version from the project's package.json file.
+ *
+ * This function attempts to extract the version of the `@biomejs/biome`
+ * package from the `package.json` file. If the package is not installed,
+ * or the version cannot be extracted, this function will return undefined.
+ *
+ * If the version is specified as a range, this function will return the
+ * highest available version that satisfies the range, if it exists, or
+ * undefined otherwise.
+ */
+const extractVersionFromPackageManifest = async (
+ root: string,
+ octokit: Octokit,
+): Promise => {
+ try {
+ const manifest = JSON.parse(
+ await readFile(join(root, "package.json"), "utf8"),
+ );
+
+ // The package should be installed as a devDependency, but we'll check
+ // both dependencies and devDependencies just in case.
+ const versionSpecifier =
+ manifest.devDependencies?.["@biomejs/biome"] ??
+ manifest.dependencies?.["@biomejs/biome"];
+
+ // Biome is not a dependency of the project.
+ if (!versionSpecifier) {
+ return undefined;
+ }
+
+ // If the version is specific, we return it directly.
+ if (valid(versionSpecifier)) {
+ return versionSpecifier;
+ }
+
+ // If the version is a range, return the highest available version.
+ if (validRange(versionSpecifier)) {
+ warning(
+ `Please consider pinning the version of @biomejs/biome in your package.json file.
+ See https://biomejs.dev/internals/versioning/ for more information.`,
+ { title: "Biome version range detected" },
+ );
+
+ const versions = await fetchBiomeVersions(octokit);
+
+ if (!versions) {
+ return undefined;
+ }
+
+ return maxSatisfying(versions, versionSpecifier)?.version ?? undefined;
+ }
+ } catch {
+ return undefined;
+ }
+};
+
+/**
+ * Fetches the available versions of the Biome CLI from GitHub.
+ *
+ * This function will return the versions of the Biome CLI that are available
+ * on GitHub. This includes all versions that have been released, including
+ * pre-releases and draft releases.
+ */
+const fetchBiomeVersions = async (
+ octokit: Octokit,
+): Promise => {
+ try {
+ const releases = await octokit.paginate(
+ "GET /repos/{owner}/{repo}/releases",
+ {
+ owner: "biomejs",
+ repo: "biome",
+ },
+ );
+
+ const versions = releases
+ .filter((release) => release.tag_name.startsWith("cli/"))
+ .map((release) => coerce(release.tag_name));
+
+ return rsort(versions as SemVer[]);
+ } catch {
+ return undefined;
+ }
+};
diff --git a/test/fixtures/bun/.gitignore b/test/fixtures/bun/.gitignore
deleted file mode 100644
index 468f82a..0000000
--- a/test/fixtures/bun/.gitignore
+++ /dev/null
@@ -1,175 +0,0 @@
-# Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
-
-# Logs
-
-logs
-_.log
-npm-debug.log_
-yarn-debug.log*
-yarn-error.log*
-lerna-debug.log*
-.pnpm-debug.log*
-
-# Caches
-
-.cache
-
-# Diagnostic reports (https://nodejs.org/api/report.html)
-
-report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
-
-# Runtime data
-
-pids
-_.pid
-_.seed
-*.pid.lock
-
-# Directory for instrumented libs generated by jscoverage/JSCover
-
-lib-cov
-
-# Coverage directory used by tools like istanbul
-
-coverage
-*.lcov
-
-# nyc test coverage
-
-.nyc_output
-
-# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
-
-.grunt
-
-# Bower dependency directory (https://bower.io/)
-
-bower_components
-
-# node-waf configuration
-
-.lock-wscript
-
-# Compiled binary addons (https://nodejs.org/api/addons.html)
-
-build/Release
-
-# Dependency directories
-
-node_modules/
-jspm_packages/
-
-# Snowpack dependency directory (https://snowpack.dev/)
-
-web_modules/
-
-# TypeScript cache
-
-*.tsbuildinfo
-
-# Optional npm cache directory
-
-.npm
-
-# Optional eslint cache
-
-.eslintcache
-
-# Optional stylelint cache
-
-.stylelintcache
-
-# Microbundle cache
-
-.rpt2_cache/
-.rts2_cache_cjs/
-.rts2_cache_es/
-.rts2_cache_umd/
-
-# Optional REPL history
-
-.node_repl_history
-
-# Output of 'npm pack'
-
-*.tgz
-
-# Yarn Integrity file
-
-.yarn-integrity
-
-# dotenv environment variable files
-
-.env
-.env.development.local
-.env.test.local
-.env.production.local
-.env.local
-
-# parcel-bundler cache (https://parceljs.org/)
-
-.parcel-cache
-
-# Next.js build output
-
-.next
-out
-
-# Nuxt.js build / generate output
-
-.nuxt
-dist
-
-# Gatsby files
-
-# Comment in the public line in if your project uses Gatsby and not Next.js
-
-# https://nextjs.org/blog/next-9-1#public-directory-support
-
-# public
-
-# vuepress build output
-
-.vuepress/dist
-
-# vuepress v2.x temp and cache directory
-
-.temp
-
-# Docusaurus cache and generated files
-
-.docusaurus
-
-# Serverless directories
-
-.serverless/
-
-# FuseBox cache
-
-.fusebox/
-
-# DynamoDB Local files
-
-.dynamodb/
-
-# TernJS port file
-
-.tern-port
-
-# Stores VSCode versions used for testing VSCode extensions
-
-.vscode-test
-
-# yarn v2
-
-.yarn/cache
-.yarn/unplugged
-.yarn/build-state.yml
-.yarn/install-state.gz
-.pnp.*
-
-# IntelliJ based IDEs
-.idea
-
-# Finder (MacOS) folder config
-.DS_Store
diff --git a/test/fixtures/bun/README.md b/test/fixtures/bun/README.md
deleted file mode 100644
index 3a76ab1..0000000
--- a/test/fixtures/bun/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# bun
-
-To install dependencies:
-
-```bash
-bun install
-```
-
-To run:
-
-```bash
-bun run index.ts
-```
-
-This project was created using `bun init` in bun v1.0.21. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.
diff --git a/test/fixtures/bun/bun.lockb b/test/fixtures/bun/bun.lockb
index c246a31919332e5c4c53ca2e267ccf8cde4e2202..7378031b56b5db3c54ae11649dab5b71c5a769da 100755
GIT binary patch
literal 7002
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
diff --git a/test/fixtures/bun/bunfig.toml b/test/fixtures/bun/bunfig.toml
deleted file mode 100644
index 1fe9003..0000000
--- a/test/fixtures/bun/bunfig.toml
+++ /dev/null
@@ -1,2 +0,0 @@
-[install.lockfile]
-print = "yarn"
\ No newline at end of file
diff --git a/test/fixtures/bun/index.ts b/test/fixtures/bun/index.ts
deleted file mode 100644
index 2a5e4b8..0000000
--- a/test/fixtures/bun/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-console.log("Hello via Bun!");
diff --git a/test/fixtures/bun/package.json b/test/fixtures/bun/package.json
index 480af6b..f604c6c 100644
--- a/test/fixtures/bun/package.json
+++ b/test/fixtures/bun/package.json
@@ -7,5 +7,8 @@
},
"peerDependencies": {
"typescript": "^5.0.0"
+ },
+ "dependencies": {
+ "@biomejs/biome": "1.5.0"
}
}
\ No newline at end of file
diff --git a/test/fixtures/bun/tsconfig.json b/test/fixtures/bun/tsconfig.json
deleted file mode 100644
index dcd8fc5..0000000
--- a/test/fixtures/bun/tsconfig.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "compilerOptions": {
- "lib": ["ESNext"],
- "target": "ESNext",
- "module": "ESNext",
- "moduleDetection": "force",
- "jsx": "react-jsx",
- "allowJs": true,
-
- /* Bundler mode */
- "moduleResolution": "bundler",
- "allowImportingTsExtensions": true,
- "verbatimModuleSyntax": true,
- "noEmit": true,
-
- /* Linting */
- "skipLibCheck": true,
- "strict": true,
- "noFallthroughCasesInSwitch": true,
- "forceConsistentCasingInFileNames": true
- }
-}
diff --git a/test/fixtures/bun/yarn.lock b/test/fixtures/bun/yarn.lock
deleted file mode 100644
index a966e8d..0000000
--- a/test/fixtures/bun/yarn.lock
+++ /dev/null
@@ -1,49 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-# bun ./bun.lockb --hash: 45F33ACDF2CBD911-71f87f58c3e3fffe-6ABAF5F8A0E0C5ED-e59ce206252a1f34
-
-
-"@types/bun@latest":
- version "1.0.1"
- resolved "https://registry.npmjs.org/@types/bun/-/bun-1.0.1.tgz"
- integrity sha512-PPDvyihNJVW1I3Wt0C+nM/4HI5xvT2pFMmazIPHQV45yYIh0JW4G5V4KO3UZoqL9MT5RsU7nJ8KQgmixw72BfQ==
- dependencies:
- bun-types "1.0.21"
-
-"@types/node@*":
- version "20.10.8"
- resolved "https://registry.npmjs.org/@types/node/-/node-20.10.8.tgz"
- integrity sha512-f8nQs3cLxbAFc00vEU59yf9UyGUftkPaLGfvbVOIDdx2i1b8epBqj2aNGyP19fiyXWvlmZ7qC1XLjAzw/OKIeA==
- dependencies:
- undici-types "~5.26.4"
-
-"@types/ws@*":
- version "8.5.10"
- resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz"
- integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==
- dependencies:
- "@types/node" "*"
-
-bun-types@1.0.21:
- version "1.0.21"
- resolved "https://registry.npmjs.org/bun-types/-/bun-types-1.0.21.tgz"
- integrity sha512-Ugagjf+XZUXDvxDRa3EnhLeMzm2g8ZYFleBF55Ac3GZSzPqdMLAdK9kvZB6M1H4nAFvrEHdV2PHqkzIoNs+3wQ==
- dependencies:
- "@types/node" "*"
- "@types/ws" "*"
- undici-types "^5.26.4"
-
-typescript@^5.0.0:
- version "5.3.3"
- resolved "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz"
- integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==
-
-undici-types@~5.26.4:
- version "5.26.5"
- resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz"
- integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
-
-undici-types@^5.26.4:
- version "5.28.2"
- resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.28.2.tgz"
- integrity sha512-W71OLwDqzIO0d3k07qg1xc7d4cX8SsSwuCO4bQ4V7ITwduXXie/lcImofabP5VV+NvuvSe8ovKvHVJcizVc1JA==
diff --git a/test/fixtures/fallback/.gitignore b/test/fixtures/fallback/.gitignore
new file mode 100644
index 0000000..e69de29
diff --git a/test/fixtures/npm/package-lock.json b/test/fixtures/npm/package-lock.json
index 6fa6e47..315c800 100644
--- a/test/fixtures/npm/package-lock.json
+++ b/test/fixtures/npm/package-lock.json
@@ -9,13 +9,13 @@
"version": "1.0.0",
"license": "ISC",
"dependencies": {
- "@biomejs/biome": "^1.5.1"
+ "@biomejs/biome": "1.5.0"
}
},
"node_modules/@biomejs/biome": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.5.1.tgz",
- "integrity": "sha512-rdMA/N1Zc1nxUtbXMVr+50Sg/Pezz+9qGQa2uyRWFtrCoyr3dv0pVz+0ifGGue18ip50ZH8x2r5CV7zo8Q/0mA==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.5.0.tgz",
+ "integrity": "sha512-ln+o5jbs109qpeDoA+5n+vlAPai3DhlK0tHtZXzQvu4tswFgxNiJCeIXmlW1DYHziTmtBImV3Y0uhbm2iVSE3Q==",
"hasInstallScript": true,
"bin": {
"biome": "bin/biome"
@@ -28,20 +28,20 @@
"url": "https://opencollective.com/biome"
},
"optionalDependencies": {
- "@biomejs/cli-darwin-arm64": "1.5.1",
- "@biomejs/cli-darwin-x64": "1.5.1",
- "@biomejs/cli-linux-arm64": "1.5.1",
- "@biomejs/cli-linux-arm64-musl": "1.5.1",
- "@biomejs/cli-linux-x64": "1.5.1",
- "@biomejs/cli-linux-x64-musl": "1.5.1",
- "@biomejs/cli-win32-arm64": "1.5.1",
- "@biomejs/cli-win32-x64": "1.5.1"
+ "@biomejs/cli-darwin-arm64": "1.5.0",
+ "@biomejs/cli-darwin-x64": "1.5.0",
+ "@biomejs/cli-linux-arm64": "1.5.0",
+ "@biomejs/cli-linux-arm64-musl": "1.5.0",
+ "@biomejs/cli-linux-x64": "1.5.0",
+ "@biomejs/cli-linux-x64-musl": "1.5.0",
+ "@biomejs/cli-win32-arm64": "1.5.0",
+ "@biomejs/cli-win32-x64": "1.5.0"
}
},
"node_modules/@biomejs/cli-darwin-arm64": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.5.1.tgz",
- "integrity": "sha512-E9pLakmSVHP6UH2uqAghqEkr/IHAIDfDyCedqJVnyFc+uufNTHwB8id4XTiWy/eKIdgxHZsTSE+R+W0IqrTNVQ==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.5.0.tgz",
+ "integrity": "sha512-3+D7axf04dpadGMOaqb2q+zyQnhWW0o/Imt7TJBWsoE0N3/+28Wht8g3UEHHcUL5FPuGIfsE+NcYntBaaAsEIg==",
"cpu": [
"arm64"
],
@@ -54,9 +54,9 @@
}
},
"node_modules/@biomejs/cli-darwin-x64": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.5.1.tgz",
- "integrity": "sha512-8O1F+FcoCi02JlocyilB6R3y3kT9sRkBCRwYddaBIScQe2hCme/mA2rVzrhCCHhskrclJ51GEKjkEORj4/8c2A==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.5.0.tgz",
+ "integrity": "sha512-8k5aaLWE/B6ZAXLC+z/Vwh9ogyiSaiRIfvg+F9foxuneHl2R/D/2Iy7pvd3Yoi4Kf6/MBdowekPVezGP4/Kbcw==",
"cpu": [
"x64"
],
@@ -69,9 +69,9 @@
}
},
"node_modules/@biomejs/cli-linux-arm64": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.5.1.tgz",
- "integrity": "sha512-25gwY4FMzmi1Rl6N835raLq7nzTk+PyEQd88k9Em6dqtI4qpljqmZlMmVjOiwXKe3Ee80J/Vlh7BM36lsHUTEg==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.5.0.tgz",
+ "integrity": "sha512-RiecxG71E1jnqiJZ3FaikVBDRkk2ohIxBo0O4o68g87y6Hug//G0S83sj6Wqyn8DgKMCRWQg+XYMgk5CwLVowA==",
"cpu": [
"arm64"
],
@@ -84,9 +84,9 @@
}
},
"node_modules/@biomejs/cli-linux-arm64-musl": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.5.1.tgz",
- "integrity": "sha512-Lw9G3LUdhRMp8L8RMeVevnfQCa7luT6ubQ8GRjLju32glxWKefpDrzgfHixGyvTQPlhnYjQ+V8/QQ/I7WPzOoA==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.5.0.tgz",
+ "integrity": "sha512-+1B3J8tWLTOvP3+00Cap+XhEXMvxwCHvVfuywUsB7Sqd66NWic3wKJuGbGcS3PuCWtGuIFsiQMNAGqiOXG4uBQ==",
"cpu": [
"arm64"
],
@@ -99,9 +99,9 @@
}
},
"node_modules/@biomejs/cli-linux-x64": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.5.1.tgz",
- "integrity": "sha512-YDM0gZP4UbAuaBI3DVbUuj5X+Omm6uxzD1Qpc6hcduH1kzXzs9L0ee7cn/kJtNndoXR8MlmUS0O0/wWvZf2YaA==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.5.0.tgz",
+ "integrity": "sha512-TlTsG+ptSmnDTUsAAYsXyGOXMcFiF8SiwhPdj4YsNkJRgx9M2curEVcTVm66FINIPK6VJTUcEDahFlx3NPUOzA==",
"cpu": [
"x64"
],
@@ -114,9 +114,9 @@
}
},
"node_modules/@biomejs/cli-linux-x64-musl": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.5.1.tgz",
- "integrity": "sha512-5gapxc/VlwTgGRbTc9h8PMTpf8eNahIBauFUGSXncHgayi3VpezKSicgaQ1bb8FahVXf/5eNEVxVARq/or71Ag==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.5.0.tgz",
+ "integrity": "sha512-4S2rLluc0WT+XTbLTgcm9+5EEFwJmoGiUEzR6N0P2sIjZD8c5KNf9Ou46BP1Pdg5AgqV+IIClGPK1I80ApSh1Q==",
"cpu": [
"x64"
],
@@ -129,9 +129,9 @@
}
},
"node_modules/@biomejs/cli-win32-arm64": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.5.1.tgz",
- "integrity": "sha512-TVpLBOLUMLQmH2VRFBKFr3rgEkr7XvG4QZxHOxWB9Ivc/sQPvg4aHMd8qpgPKXABGUnultyc9t0+WvfIDxuALg==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.5.0.tgz",
+ "integrity": "sha512-sWOi1SR+YqJuXElBncGRnWBR7IN7ni6GQY4Zm/vTpP6nVA0dX5C301eQUW1N/VnFQb6fyrJTcBslDUKyemsN/g==",
"cpu": [
"arm64"
],
@@ -144,9 +144,9 @@
}
},
"node_modules/@biomejs/cli-win32-x64": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.5.1.tgz",
- "integrity": "sha512-qx8EKwScZmVYZjMPZ6GF3ZUmgg/N6zqh+d8vHA2E43opNCyqIPTl89sOqkc7zd1CyyABDWxsbqI9Ih6xTT6hnQ==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.5.0.tgz",
+ "integrity": "sha512-OoqgUXyzmRwX466bklOsWS7WdcvWtBuxF94DXATNe7bUiBa2tlW8QX7VVZvPnMKH57E5J619AkB3b5fhzyUhXA==",
"cpu": [
"x64"
],
diff --git a/test/fixtures/npm/package.json b/test/fixtures/npm/package.json
index 97849ff..dfe6ceb 100644
--- a/test/fixtures/npm/package.json
+++ b/test/fixtures/npm/package.json
@@ -9,6 +9,6 @@
"author": "",
"license": "ISC",
"dependencies": {
- "@biomejs/biome": "^1.5.1"
+ "@biomejs/biome": "1.5.0"
}
}
diff --git a/test/fixtures/pnpm/package.json b/test/fixtures/pnpm/package.json
index f58effe..8e6cc17 100644
--- a/test/fixtures/pnpm/package.json
+++ b/test/fixtures/pnpm/package.json
@@ -10,6 +10,6 @@
"author": "",
"license": "ISC",
"devDependencies": {
- "@biomejs/biome": "^1.5.1"
+ "@biomejs/biome": "1.5.0"
}
}
diff --git a/test/fixtures/pnpm/pnpm-lock.yaml b/test/fixtures/pnpm/pnpm-lock.yaml
index 0cf5e62..1206acf 100644
--- a/test/fixtures/pnpm/pnpm-lock.yaml
+++ b/test/fixtures/pnpm/pnpm-lock.yaml
@@ -1,34 +1,30 @@
lockfileVersion: '6.0'
-settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
-
devDependencies:
'@biomejs/biome':
- specifier: ^1.5.1
- version: 1.5.1
+ specifier: 1.5.0
+ version: 1.5.0
packages:
- /@biomejs/biome@1.5.1:
- resolution: {integrity: sha512-rdMA/N1Zc1nxUtbXMVr+50Sg/Pezz+9qGQa2uyRWFtrCoyr3dv0pVz+0ifGGue18ip50ZH8x2r5CV7zo8Q/0mA==}
+ /@biomejs/biome@1.5.0:
+ resolution: {integrity: sha512-ln+o5jbs109qpeDoA+5n+vlAPai3DhlK0tHtZXzQvu4tswFgxNiJCeIXmlW1DYHziTmtBImV3Y0uhbm2iVSE3Q==}
engines: {node: '>=14.*'}
hasBin: true
requiresBuild: true
optionalDependencies:
- '@biomejs/cli-darwin-arm64': 1.5.1
- '@biomejs/cli-darwin-x64': 1.5.1
- '@biomejs/cli-linux-arm64': 1.5.1
- '@biomejs/cli-linux-arm64-musl': 1.5.1
- '@biomejs/cli-linux-x64': 1.5.1
- '@biomejs/cli-linux-x64-musl': 1.5.1
- '@biomejs/cli-win32-arm64': 1.5.1
- '@biomejs/cli-win32-x64': 1.5.1
+ '@biomejs/cli-darwin-arm64': 1.5.0
+ '@biomejs/cli-darwin-x64': 1.5.0
+ '@biomejs/cli-linux-arm64': 1.5.0
+ '@biomejs/cli-linux-arm64-musl': 1.5.0
+ '@biomejs/cli-linux-x64': 1.5.0
+ '@biomejs/cli-linux-x64-musl': 1.5.0
+ '@biomejs/cli-win32-arm64': 1.5.0
+ '@biomejs/cli-win32-x64': 1.5.0
dev: true
- /@biomejs/cli-darwin-arm64@1.5.1:
- resolution: {integrity: sha512-E9pLakmSVHP6UH2uqAghqEkr/IHAIDfDyCedqJVnyFc+uufNTHwB8id4XTiWy/eKIdgxHZsTSE+R+W0IqrTNVQ==}
+ /@biomejs/cli-darwin-arm64@1.5.0:
+ resolution: {integrity: sha512-3+D7axf04dpadGMOaqb2q+zyQnhWW0o/Imt7TJBWsoE0N3/+28Wht8g3UEHHcUL5FPuGIfsE+NcYntBaaAsEIg==}
engines: {node: '>=14.*'}
cpu: [arm64]
os: [darwin]
@@ -36,8 +32,8 @@ packages:
dev: true
optional: true
- /@biomejs/cli-darwin-x64@1.5.1:
- resolution: {integrity: sha512-8O1F+FcoCi02JlocyilB6R3y3kT9sRkBCRwYddaBIScQe2hCme/mA2rVzrhCCHhskrclJ51GEKjkEORj4/8c2A==}
+ /@biomejs/cli-darwin-x64@1.5.0:
+ resolution: {integrity: sha512-8k5aaLWE/B6ZAXLC+z/Vwh9ogyiSaiRIfvg+F9foxuneHl2R/D/2Iy7pvd3Yoi4Kf6/MBdowekPVezGP4/Kbcw==}
engines: {node: '>=14.*'}
cpu: [x64]
os: [darwin]
@@ -45,8 +41,8 @@ packages:
dev: true
optional: true
- /@biomejs/cli-linux-arm64-musl@1.5.1:
- resolution: {integrity: sha512-Lw9G3LUdhRMp8L8RMeVevnfQCa7luT6ubQ8GRjLju32glxWKefpDrzgfHixGyvTQPlhnYjQ+V8/QQ/I7WPzOoA==}
+ /@biomejs/cli-linux-arm64-musl@1.5.0:
+ resolution: {integrity: sha512-+1B3J8tWLTOvP3+00Cap+XhEXMvxwCHvVfuywUsB7Sqd66NWic3wKJuGbGcS3PuCWtGuIFsiQMNAGqiOXG4uBQ==}
engines: {node: '>=14.*'}
cpu: [arm64]
os: [linux]
@@ -54,8 +50,8 @@ packages:
dev: true
optional: true
- /@biomejs/cli-linux-arm64@1.5.1:
- resolution: {integrity: sha512-25gwY4FMzmi1Rl6N835raLq7nzTk+PyEQd88k9Em6dqtI4qpljqmZlMmVjOiwXKe3Ee80J/Vlh7BM36lsHUTEg==}
+ /@biomejs/cli-linux-arm64@1.5.0:
+ resolution: {integrity: sha512-RiecxG71E1jnqiJZ3FaikVBDRkk2ohIxBo0O4o68g87y6Hug//G0S83sj6Wqyn8DgKMCRWQg+XYMgk5CwLVowA==}
engines: {node: '>=14.*'}
cpu: [arm64]
os: [linux]
@@ -63,8 +59,8 @@ packages:
dev: true
optional: true
- /@biomejs/cli-linux-x64-musl@1.5.1:
- resolution: {integrity: sha512-5gapxc/VlwTgGRbTc9h8PMTpf8eNahIBauFUGSXncHgayi3VpezKSicgaQ1bb8FahVXf/5eNEVxVARq/or71Ag==}
+ /@biomejs/cli-linux-x64-musl@1.5.0:
+ resolution: {integrity: sha512-4S2rLluc0WT+XTbLTgcm9+5EEFwJmoGiUEzR6N0P2sIjZD8c5KNf9Ou46BP1Pdg5AgqV+IIClGPK1I80ApSh1Q==}
engines: {node: '>=14.*'}
cpu: [x64]
os: [linux]
@@ -72,8 +68,8 @@ packages:
dev: true
optional: true
- /@biomejs/cli-linux-x64@1.5.1:
- resolution: {integrity: sha512-YDM0gZP4UbAuaBI3DVbUuj5X+Omm6uxzD1Qpc6hcduH1kzXzs9L0ee7cn/kJtNndoXR8MlmUS0O0/wWvZf2YaA==}
+ /@biomejs/cli-linux-x64@1.5.0:
+ resolution: {integrity: sha512-TlTsG+ptSmnDTUsAAYsXyGOXMcFiF8SiwhPdj4YsNkJRgx9M2curEVcTVm66FINIPK6VJTUcEDahFlx3NPUOzA==}
engines: {node: '>=14.*'}
cpu: [x64]
os: [linux]
@@ -81,8 +77,8 @@ packages:
dev: true
optional: true
- /@biomejs/cli-win32-arm64@1.5.1:
- resolution: {integrity: sha512-TVpLBOLUMLQmH2VRFBKFr3rgEkr7XvG4QZxHOxWB9Ivc/sQPvg4aHMd8qpgPKXABGUnultyc9t0+WvfIDxuALg==}
+ /@biomejs/cli-win32-arm64@1.5.0:
+ resolution: {integrity: sha512-sWOi1SR+YqJuXElBncGRnWBR7IN7ni6GQY4Zm/vTpP6nVA0dX5C301eQUW1N/VnFQb6fyrJTcBslDUKyemsN/g==}
engines: {node: '>=14.*'}
cpu: [arm64]
os: [win32]
@@ -90,11 +86,15 @@ packages:
dev: true
optional: true
- /@biomejs/cli-win32-x64@1.5.1:
- resolution: {integrity: sha512-qx8EKwScZmVYZjMPZ6GF3ZUmgg/N6zqh+d8vHA2E43opNCyqIPTl89sOqkc7zd1CyyABDWxsbqI9Ih6xTT6hnQ==}
+ /@biomejs/cli-win32-x64@1.5.0:
+ resolution: {integrity: sha512-OoqgUXyzmRwX466bklOsWS7WdcvWtBuxF94DXATNe7bUiBa2tlW8QX7VVZvPnMKH57E5J619AkB3b5fhzyUhXA==}
engines: {node: '>=14.*'}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
diff --git a/test/fixtures/yarn/package.json b/test/fixtures/yarn/package.json
index ab48d68..ff998b3 100644
--- a/test/fixtures/yarn/package.json
+++ b/test/fixtures/yarn/package.json
@@ -4,6 +4,6 @@
"main": "index.js",
"license": "MIT",
"devDependencies": {
- "@biomejs/biome": "^1.5.1"
+ "@biomejs/biome": "1.5.0"
}
}
diff --git a/test/fixtures/yarn/yarn.lock b/test/fixtures/yarn/yarn.lock
index 6e7a619..71c11a2 100644
--- a/test/fixtures/yarn/yarn.lock
+++ b/test/fixtures/yarn/yarn.lock
@@ -1,57 +1,105 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@biomejs/biome@^1.5.1":
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-1.5.1.tgz#ed665a8693e3014bf8fa641ad58703c85dd575cc"
- integrity sha512-rdMA/N1Zc1nxUtbXMVr+50Sg/Pezz+9qGQa2uyRWFtrCoyr3dv0pVz+0ifGGue18ip50ZH8x2r5CV7zo8Q/0mA==
- optionalDependencies:
- "@biomejs/cli-darwin-arm64" "1.5.1"
- "@biomejs/cli-darwin-x64" "1.5.1"
- "@biomejs/cli-linux-arm64" "1.5.1"
- "@biomejs/cli-linux-arm64-musl" "1.5.1"
- "@biomejs/cli-linux-x64" "1.5.1"
- "@biomejs/cli-linux-x64-musl" "1.5.1"
- "@biomejs/cli-win32-arm64" "1.5.1"
- "@biomejs/cli-win32-x64" "1.5.1"
-
-"@biomejs/cli-darwin-arm64@1.5.1":
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.5.1.tgz#ea33f009aaa4bca3ce281e010a6cb108249cb973"
- integrity sha512-E9pLakmSVHP6UH2uqAghqEkr/IHAIDfDyCedqJVnyFc+uufNTHwB8id4XTiWy/eKIdgxHZsTSE+R+W0IqrTNVQ==
-
-"@biomejs/cli-darwin-x64@1.5.1":
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.5.1.tgz#c719a8615b380b25cd9a4bbdfc81d90dbec0996b"
- integrity sha512-8O1F+FcoCi02JlocyilB6R3y3kT9sRkBCRwYddaBIScQe2hCme/mA2rVzrhCCHhskrclJ51GEKjkEORj4/8c2A==
-
-"@biomejs/cli-linux-arm64-musl@1.5.1":
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.5.1.tgz#c5364e08faca4826654b191e696425d5449a6fe3"
- integrity sha512-Lw9G3LUdhRMp8L8RMeVevnfQCa7luT6ubQ8GRjLju32glxWKefpDrzgfHixGyvTQPlhnYjQ+V8/QQ/I7WPzOoA==
-
-"@biomejs/cli-linux-arm64@1.5.1":
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.5.1.tgz#1d9fe74cbc27aa784d8a3743ad1f77da883e2aef"
- integrity sha512-25gwY4FMzmi1Rl6N835raLq7nzTk+PyEQd88k9Em6dqtI4qpljqmZlMmVjOiwXKe3Ee80J/Vlh7BM36lsHUTEg==
-
-"@biomejs/cli-linux-x64-musl@1.5.1":
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.5.1.tgz#7e6ef6c1308907f30909374f91c380e2c85bf393"
- integrity sha512-5gapxc/VlwTgGRbTc9h8PMTpf8eNahIBauFUGSXncHgayi3VpezKSicgaQ1bb8FahVXf/5eNEVxVARq/or71Ag==
-
-"@biomejs/cli-linux-x64@1.5.1":
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-1.5.1.tgz#0f6afaf035c6a07fe757d58a315f3a75e49f8987"
- integrity sha512-YDM0gZP4UbAuaBI3DVbUuj5X+Omm6uxzD1Qpc6hcduH1kzXzs9L0ee7cn/kJtNndoXR8MlmUS0O0/wWvZf2YaA==
-
-"@biomejs/cli-win32-arm64@1.5.1":
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.5.1.tgz#196bdc1afd0945a0fad76719b601bf7f7a4aaf72"
- integrity sha512-TVpLBOLUMLQmH2VRFBKFr3rgEkr7XvG4QZxHOxWB9Ivc/sQPvg4aHMd8qpgPKXABGUnultyc9t0+WvfIDxuALg==
-
-"@biomejs/cli-win32-x64@1.5.1":
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-1.5.1.tgz#b1996fa2dc6580f39fb2e1b6d126e93baf8da58d"
- integrity sha512-qx8EKwScZmVYZjMPZ6GF3ZUmgg/N6zqh+d8vHA2E43opNCyqIPTl89sOqkc7zd1CyyABDWxsbqI9Ih6xTT6hnQ==
+# This file is generated by running "yarn install" inside your project.
+# Manual changes might be lost - proceed with caution!
+
+__metadata:
+ version: 6
+ cacheKey: 8
+
+"@biomejs/biome@npm:1.5.0":
+ version: 1.5.0
+ resolution: "@biomejs/biome@npm:1.5.0"
+ dependencies:
+ "@biomejs/cli-darwin-arm64": 1.5.0
+ "@biomejs/cli-darwin-x64": 1.5.0
+ "@biomejs/cli-linux-arm64": 1.5.0
+ "@biomejs/cli-linux-arm64-musl": 1.5.0
+ "@biomejs/cli-linux-x64": 1.5.0
+ "@biomejs/cli-linux-x64-musl": 1.5.0
+ "@biomejs/cli-win32-arm64": 1.5.0
+ "@biomejs/cli-win32-x64": 1.5.0
+ dependenciesMeta:
+ "@biomejs/cli-darwin-arm64":
+ optional: true
+ "@biomejs/cli-darwin-x64":
+ optional: true
+ "@biomejs/cli-linux-arm64":
+ optional: true
+ "@biomejs/cli-linux-arm64-musl":
+ optional: true
+ "@biomejs/cli-linux-x64":
+ optional: true
+ "@biomejs/cli-linux-x64-musl":
+ optional: true
+ "@biomejs/cli-win32-arm64":
+ optional: true
+ "@biomejs/cli-win32-x64":
+ optional: true
+ bin:
+ biome: bin/biome
+ checksum: 86f3a59fb1614a552a6fe47722140c06472a5e0f8d17e03d72991e69b8f1d565250b386aca695d920d7c7a8b5b3f3fff263171674892e0415698b64b319ec628
+ languageName: node
+ linkType: hard
+
+"@biomejs/cli-darwin-arm64@npm:1.5.0":
+ version: 1.5.0
+ resolution: "@biomejs/cli-darwin-arm64@npm:1.5.0"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@biomejs/cli-darwin-x64@npm:1.5.0":
+ version: 1.5.0
+ resolution: "@biomejs/cli-darwin-x64@npm:1.5.0"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@biomejs/cli-linux-arm64-musl@npm:1.5.0":
+ version: 1.5.0
+ resolution: "@biomejs/cli-linux-arm64-musl@npm:1.5.0"
+ conditions: os=linux & cpu=arm64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@biomejs/cli-linux-arm64@npm:1.5.0":
+ version: 1.5.0
+ resolution: "@biomejs/cli-linux-arm64@npm:1.5.0"
+ conditions: os=linux & cpu=arm64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@biomejs/cli-linux-x64-musl@npm:1.5.0":
+ version: 1.5.0
+ resolution: "@biomejs/cli-linux-x64-musl@npm:1.5.0"
+ conditions: os=linux & cpu=x64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@biomejs/cli-linux-x64@npm:1.5.0":
+ version: 1.5.0
+ resolution: "@biomejs/cli-linux-x64@npm:1.5.0"
+ conditions: os=linux & cpu=x64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@biomejs/cli-win32-arm64@npm:1.5.0":
+ version: 1.5.0
+ resolution: "@biomejs/cli-win32-arm64@npm:1.5.0"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@biomejs/cli-win32-x64@npm:1.5.0":
+ version: 1.5.0
+ resolution: "@biomejs/cli-win32-x64@npm:1.5.0"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
+"yarn@workspace:.":
+ version: 0.0.0-use.local
+ resolution: "yarn@workspace:."
+ dependencies:
+ "@biomejs/biome": 1.5.0
+ languageName: unknown
+ linkType: soft