Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/fluffy-lies-drum.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@biomejs/biome": patch
---

Fixed [#7160](https://github.com/biomejs/biome/issues/7160). Now Biome correctly computes ignored files when using `formatter.includes`, `linter.includes` and `assist.includes` inside nested configurations that use `"extends": "//"`.
43 changes: 43 additions & 0 deletions crates/biome_cli/tests/cases/monorepo.rs
Original file line number Diff line number Diff line change
Expand Up @@ -633,3 +633,46 @@ fn should_ignore_nested_configuration_in_ignored_directory() {
result,
));
}

#[test]
fn should_ignore_linter_nested_file() {
let mut fs = TemporaryFs::new("should_ignore_linter_nested_file");

fs.create_file(
"biome.jsonc",
r#"{
"files": {
"includes": ["**"],
}
}"#,
);

fs.create_file(
"package/biome.jsonc",
r#"{
"extends": "//",
"linter": {
"includes": ["**", "!**/*.test.js"]
}
}"#,
);

fs.create_file("file.js", "let a; debugger");

fs.create_file("package/file.test.js", "let a; debugger");

let mut console = BufferConsole::default();
let result = run_cli_with_dyn_fs(
Box::new(fs.create_os()),
&mut console,
Args::from(["lint"].as_slice()),
);

assert_cli_snapshot(SnapshotPayload::new(
module_path!(),
"should_ignore_linter_nested_file",
fs.create_mem(),
console,
result,
));
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
---
source: crates/biome_cli/tests/snap_test.rs
expression: redactor(content)
---
## `package/biome.jsonc`

```json
{
"extends": "//",
"linter": {
"includes": ["**", "!**/*.test.js"]
}
}
```

## `biome.jsonc`

```json
{
"files": {
"includes": ["**"]
}
}
```

## `file.js`

```js
let a; debugger
```

## `package/file.test.js`

```js
let a; debugger
```

# Termination Message

```block
lint ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

× Some errors were emitted while running checks.



```

# Emitted Messages

```block
file.js:1:5 lint/correctness/noUnusedVariables FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

! This variable a is unused.

> 1 │ let a; debugger
│ ^

i Unused variables are often the result of an incomplete refactoring, typos, or other sources of bugs.

i Unsafe fix: If this is intentional, prepend a with an underscore.

- let·a;·debugger
+ let·_a;·debugger


```

```block
file.js:1:8 lint/suspicious/noDebugger FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

× This is an unexpected use of the debugger statement.

> 1 │ let a; debugger
│ ^^^^^^^^

i Unsafe fix: Remove debugger statement

1 │ let·a;·debugger
│ --------

```

```block
Checked 3 files in <TIME>. No fixes applied.
Found 1 error.
Found 1 warning.
```
1 change: 1 addition & 0 deletions crates/biome_service/src/projects.rs
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@ impl Projects {
if project_data
.root_settings
.is_path_ignored_for_feature(path, feature)
|| settings.is_path_ignored_for_feature(path, feature)
{
file_features.set_ignored(feature);
}
Expand Down
Loading