{"_id":"@berenddeboer/nx-biome","_rev":"5-d49972d572ac3cb0f9fef76ca9b53817","name":"@berenddeboer/nx-biome","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.1":{"name":"@berenddeboer/nx-biome","version":"1.0.1","keywords":["nx","biome","linter","formatter","monorepo","Node"],"author":{"name":"Berend de Boer"},"license":"MIT","_id":"@berenddeboer/nx-biome@1.0.1","maintainers":[{"name":"berenddeboer","email":"berend@pobox.com"}],"homepage":"https://github.com/berenddeboer/nx-plugins","bugs":{"url":"https://github.com/berenddeboer/nx-plugins/issues"},"dist":{"shasum":"6cae877c5fd4c10eb8ddd34a7cd60066a655714e","tarball":"https://registry.npmjs.org/@berenddeboer/nx-biome/-/nx-biome-1.0.1.tgz","fileCount":20,"integrity":"sha512-kyV5AuDvCIJtlDVHcQZ3mDlaDjsnvJL1i0QZEoR0vqgiN/dbrytu1xSXYmo+ux6JDojCLXwujDxcRbq89DH23g==","signatures":[{"sig":"MEUCIE7Va4r7NpFIr3Ye7JpLTXwVssdlrHYVqY62RcPawK+0AiEApOXKcDJvccNpBAhsh4gM6PYg7ycZP3Vq437fvTjcyjY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@berenddeboer%2fnx-biome@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16753},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"814a7e0d3b80d727245e01bbd700b2ec86db14bb","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a35fc70c-afa3-4cfd-90ab-845550771136"}},"executors":"./executors.json","repository":{"url":"git+ssh://git@github.com/berenddeboer/nx-plugins.git","type":"git"},"_npmVersion":"11.7.0","description":"Nx self-inferring plugin for Biome linter and formatter with batch processing support","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@biomejs/biome":"^2.3.8"},"_hasShrinkwrap":false,"peerDependencies":{"@nx/devkit":"^20.6.4 || ^21.0.0 || ^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-biome_1.0.1_1765750513665_0.3670513507549582","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@berenddeboer/nx-biome","version":"1.0.2","keywords":["nx","biome","linter","formatter","monorepo","Node"],"author":{"name":"Berend de Boer"},"license":"MIT","_id":"@berenddeboer/nx-biome@1.0.2","maintainers":[{"name":"berenddeboer","email":"berend@pobox.com"}],"homepage":"https://github.com/berenddeboer/nx-plugins","bugs":{"url":"https://github.com/berenddeboer/nx-plugins/issues"},"dist":{"shasum":"dc92b7c83f989ba5036b3d480ed85419a8a8995d","tarball":"https://registry.npmjs.org/@berenddeboer/nx-biome/-/nx-biome-1.0.2.tgz","fileCount":20,"integrity":"sha512-4nvj3IL7YaIO8GU7zHk+JhZza+Gp+12FJwvXuQR+YPzT43/MmJ3gwN7h/S9wUDCa9pnDH8K8vz6uXDRQtLRqmA==","signatures":[{"sig":"MEUCIQDXcfHyIJ2N9ODao8PQ7WICKRw1K8VCuvBiqC54K2OqHAIgCxdje8qmgpH43Vd42W3NIJtaPpsatrPwLJBu//Qed3U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@berenddeboer%2fnx-biome@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16882},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"b47c1722391a8c3f1d4b26a077ab497a7a4b4be5","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a35fc70c-afa3-4cfd-90ab-845550771136"}},"executors":"./executors.json","repository":{"url":"git+ssh://git@github.com/berenddeboer/nx-plugins.git","type":"git"},"_npmVersion":"11.7.0","description":"Nx self-inferring plugin for Biome linter and formatter with batch processing support","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@biomejs/biome":"^2.3.8"},"_hasShrinkwrap":false,"peerDependencies":{"@nx/devkit":"^20.6.4 || ^21.0.0 || ^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-biome_1.0.2_1766437209281_0.7559895988037411","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@berenddeboer/nx-biome","version":"1.0.3","main":"src/index.js","executors":"./executors.json","keywords":["nx","biome","linter","formatter","monorepo","Node"],"author":{"name":"Berend de Boer"},"repository":{"type":"git","url":"git+ssh://git@github.com/berenddeboer/nx-plugins.git"},"homepage":"https://github.com/berenddeboer/nx-plugins","description":"Nx self-inferring plugin for Biome linter and formatter with batch processing support","license":"MIT","dependencies":{"@biomejs/biome":"^2.3.8"},"peerDependencies":{"@nx/devkit":"^20.6.4 || ^21.0.0 || ^22.0.0"},"types":"./src/index.d.ts","type":"commonjs","gitHead":"72a3b1902ffea710fb087f9cf37a06b3a74a021a","_id":"@berenddeboer/nx-biome@1.0.3","bugs":{"url":"https://github.com/berenddeboer/nx-plugins/issues"},"_nodeVersion":"24.14.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-UIq8Ii+ZTovlf4HVW15dt2PPZJsuphIFsGHONcPAErzvZE21Fl0W3IRRIjDyDVqFxxVH8fsb1Mt9d5iFxSphig==","shasum":"1ac87db3c5dfe442b6da2a02e27793fc2058cd19","tarball":"https://registry.npmjs.org/@berenddeboer/nx-biome/-/nx-biome-1.0.3.tgz","fileCount":20,"unpackedSize":17789,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@berenddeboer%2fnx-biome@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCIQR0LXqS3VzSn7cHYWq4BqdDEsucJwjcVX3Y5brmfbAIgNi67gTyWk4Ujbhj1ZTjMSpQ/cOXWNO74R0JiMvuiKhM="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a35fc70c-afa3-4cfd-90ab-845550771136"}},"directories":{},"maintainers":[{"name":"berenddeboer","email":"berend@pobox.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nx-biome_1.0.3_1775171589922_0.25425227610516554"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-14T21:52:07.179Z","modified":"2026-04-02T23:13:10.369Z","1.0.0":"2025-12-14T21:52:07.469Z","1.0.1":"2025-12-14T22:15:13.812Z","1.0.2":"2025-12-22T21:00:09.424Z","1.0.3":"2026-04-02T23:13:10.067Z"},"bugs":{"url":"https://github.com/berenddeboer/nx-plugins/issues"},"author":{"name":"Berend de Boer"},"license":"MIT","homepage":"https://github.com/berenddeboer/nx-plugins","keywords":["nx","biome","linter","formatter","monorepo","Node"],"repository":{"type":"git","url":"git+ssh://git@github.com/berenddeboer/nx-plugins.git"},"description":"Nx self-inferring plugin for Biome linter and formatter with batch processing support","maintainers":[{"name":"berenddeboer","email":"berend@pobox.com"}],"readme":"# @berenddeboer/nx-biome\n\nA self-inferring Nx plugin for [Biome](https://biomejs.dev/) - a fast linter and formatter for JavaScript, TypeScript, JSON, and CSS. This plugin includes support for batch processing, which dramatically speeds up linting in monorepos.\n\n## Table of Contents\n\n- [Features](#features)\n- [Install](#install)\n- [Usage](#usage)\n  - [Plugin Setup](#plugin-setup)\n  - [Basic Usage](#basic-usage)\n  - [Batch Mode](#batch-mode-recommended-for-ci)\n- [Configuration](#configuration)\n- [License](#license)\n\n## Features\n\n- Self-inferring plugin that automatically adds lint targets to all projects\n- Standard executor for single project linting\n- **Batch executor for running Biome once across all affected projects** - massive performance improvement for large monorepos\n- Caching support for faster subsequent runs\n\n## Install\n\n<details open>\n<summary>npm</summary>\n\n```sh\nnpm install --save-dev @berenddeboer/nx-biome\n```\n\n</details>\n\n<details>\n<summary>pnpm</summary>\n\n```sh\npnpm add --save-dev @berenddeboer/nx-biome\n```\n\n</details>\n\n<details>\n<summary>yarn</summary>\n\n```sh\nyarn add --dev @berenddeboer/nx-biome\n```\n\n</details>\n\n<details>\n<summary>bun</summary>\n\n```sh\nbun add -D @berenddeboer/nx-biome\n```\n\n</details>\n\n## Usage\n\n### Plugin Setup\n\nAdd the plugin to your `nx.json`:\n\n```json\n{\n  \"plugins\": [\n    {\n      \"plugin\": \"@berenddeboer/nx-biome\",\n      \"options\": {\n        \"targetName\": \"lint\"\n      }\n    }\n  ]\n}\n```\n\nThis will automatically add a `lint` target to all projects in your workspace.\n\n### Basic Usage\n\nRun linting for a single project:\n\n```bash\nnx lint my-project\n```\n\nRun linting for all affected projects:\n\n```bash\nnx affected -t lint\n```\n\n### Batch Mode (Recommended for CI)\n\nThe `--batch` flag enables batch processing, which runs Biome **once** for all affected projects instead of spawning separate processes for each project. This can provide **massive performance improvements** in monorepos with many projects.\n\n```bash\nnx affected -t lint --batch\n```\n\n#### Why use `--batch`?\n\nIn a typical Nx setup, running `nx affected -t lint` spawns a separate Biome process for each affected project. With the batch executor:\n\n- Biome is invoked **only once** with all project directories\n- No process spawning overhead per project\n- Biome can optimize its internal caching across all directories\n- Significantly faster execution, especially in CI environments\n\n**Example performance improvement:**\n\n| Projects | Without `--batch` | With `--batch` |\n| -------- | ----------------- | -------------- |\n| 10       | ~15s              | ~3s            |\n| 50       | ~60s              | ~8s            |\n| 100      | ~120s             | ~12s           |\n\n_Actual times depend on project size and machine specifications._\n\n### All Projects\n\nRun linting for all projects:\n\n```bash\nnx run-many -t lint\nnx run-many -t lint --batch\n```\n\n## Configuration\n\n### Plugin Options\n\n| Option       | Type   | Default | Description                                       |\n| ------------ | ------ | ------- | ------------------------------------------------- |\n| `targetName` | string | `lint`  | The name of the target to create for each project |\n\n### Executor Options\n\n| Option        | Type   | Default | Description                       |\n| ------------- | ------ | ------- | --------------------------------- |\n| `projectRoot` | string | `.`     | The root directory of the project |\n\n### Biome Configuration\n\nThis plugin expects a `biome.json` or `biome.jsonc` configuration file at the workspace root or in individual project directories. See the [Biome configuration documentation](https://biomejs.dev/reference/configuration/) for details.\n\n### Caching\n\nThe plugin configures Nx caching with appropriate inputs:\n\n- Project-level `biome.json` / `biome.jsonc`\n- Workspace-level `biome.json` / `biome.jsonc`\n- Source files: `*.ts`, `*.tsx`, `*.js`, `*.jsx`, `*.mjs`, `*.json`, `*.jsonc`, `*.css`, `*.md`\n\nThis ensures the cache is invalidated when relevant files change.\n\n## Contributing\n\nSee [the contributing file](../../CONTRIBUTING.md)!\n\nPRs accepted.\n\n## License\n\nThis project is MIT licensed.\n","readmeFilename":"README.md"}