Environment information
CLI:
Version: 2.2.5
Color support: true
Platform:
CPU Architecture: aarch64
OS: macos
Environment:
BIOME_LOG_PATH: unset
BIOME_LOG_PREFIX_NAME: unset
BIOME_CONFIG_PATH: unset
BIOME_THREADS: unset
NO_COLOR: unset
TERM: xterm-256color
JS_RUNTIME_VERSION: v20.19.3
JS_RUNTIME_NAME: node
NODE_PACKAGE_MANAGER: pnpm/10.16.0
Biome Configuration:
Status: Loaded successfully
Path: /Users/jleupin/app-components/biome.json
Formatter enabled: true
Linter enabled: true
Assist enabled: true
VCS enabled: false
Workspace:
Open Documents: 0
What happened?
When using extends: "//" to extend from a parent biome.json, GritQL plugins defined in the child configuration don't execute against files in that package.
Environment
Biome version: 2.2.5
OS: macOS
Reproduction
Monorepo structure:
/
├── biome.json # root config
└── packages/
└── mobile/
├── biome.json # extends from root
└── biome-plugins/
└── my-plugin.grit
Root biome.json:
{
"$schema": "https://biomejs.dev/schemas/2.2.5/schema.json",
"linter": {
"enabled": true
}
}
Child packages/mobile/biome.json:
{
"$schema": "https://biomejs.dev/schemas/2.2.5/schema.json",
"extends": "//",
"plugins": ["./biome-plugins/my-plugin.grit"],
"linter": {
"enabled": true,
"rules": {
"recommended": true
}
}
}
Plugin packages/mobile/biome-plugins/my-plugin.grit
`$x as unknown as $y` where {
register_diagnostic(
span = $x,
message = "Found pattern",
severity = "warn"
)
}
Expected result
Expected Behavior
Running biome lint src/some-file.tsx from packages/mobile/ should execute the plugin and report diagnostics.
Actual Behavior
The plugin loads without error, but no diagnostics are reported. Running biome search with the same pattern finds matches, but biome lint doesn't trigger the plugin.
Additional Notes
- The plugin file is readable and the path resolves correctly (no "Cannot read file" error)
- biome search with the same GritQL pattern finds matches
- Files outside the workspace (e.g., /tmp/test.ts) work correctly with the plugin
- Only files within the package that uses extends are affected
Code of Conduct
Environment information
What happened?
When using extends: "//" to extend from a parent biome.json, GritQL plugins defined in the child configuration don't execute against files in that package.
Environment
Biome version: 2.2.5
OS: macOS
Reproduction
Monorepo structure:
Root
biome.json:{ "$schema": "https://biomejs.dev/schemas/2.2.5/schema.json", "linter": { "enabled": true } }Child
packages/mobile/biome.json:{ "$schema": "https://biomejs.dev/schemas/2.2.5/schema.json", "extends": "//", "plugins": ["./biome-plugins/my-plugin.grit"], "linter": { "enabled": true, "rules": { "recommended": true } } }Plugin
packages/mobile/biome-plugins/my-plugin.gritExpected result
Expected Behavior
Running biome lint src/some-file.tsx from packages/mobile/ should execute the plugin and report diagnostics.
Actual Behavior
The plugin loads without error, but no diagnostics are reported. Running biome search with the same pattern finds matches, but biome lint doesn't trigger the plugin.
Additional Notes
Code of Conduct