Skip to content
Closed
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
7 changes: 7 additions & 0 deletions .changeset/keep-jsxeverywhere-variant.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@biomejs/biome": patch
---

Fixed [#7286](https://github.com/biomejs/biome/issues/7286). Files are now formatted with JSX behavior when `javascript.parser.jsxEverywhere` is explicitly set.

Previously, this flag was only used for parsing, but not for formatting, which resulted in incorrect formatting of conditional expressions when JSX syntax is used in `.js` files.
18 changes: 18 additions & 0 deletions .changeset/use_readonly_class_properties_nested_assignment_fix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
"@biomejs/biome": patch
---

Fixed [#7310](https://github.com/biomejs/biome/issues/7310): [`useReadonlyClassProperties`](https://biomejs.dev/linter/rules/use-readonly-class-properties/) correctly handles nested assignments, avoiding false positives when a class property is assigned within another assignment expression.

Example of code that previously triggered a false positive but is now correctly ignored:

```ts
class test {
private thing: number = 0; // incorrectly flagged

public incrementThing(): void {
const temp = {x: 0};
temp.x = this.thing++;
}
}
```
2 changes: 1 addition & 1 deletion .github/workflows/beta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ jobs:
sudo apt-get install -y musl-tools

- name: Install cargo-audit
uses: taiki-e/install-action@ad95d4e02e061d4390c4b66ef5ed56c7fee3d2ce # v2.58.17
uses: taiki-e/install-action@f63c33fd96cc1e69a29bafd06541cf28588b43a4 # v2.58.21
if: matrix.code-target == 'linux-x64-musl'
with:
tool: cargo-audit
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Run tests on ${{ matrix.os }}
run: cargo test --workspace
run: cargo test --workspace --features=js_plugin

coverage:
name: Test262 Coverage
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ jobs:
sudo apt-get install -y musl-tools

- name: Install cargo-audit
uses: taiki-e/install-action@ad95d4e02e061d4390c4b66ef5ed56c7fee3d2ce # v2.58.17
uses: taiki-e/install-action@f63c33fd96cc1e69a29bafd06541cf28588b43a4 # v2.58.21
if: matrix.code-target == 'linux-x64-musl'
with:
tool: cargo-audit
Expand All @@ -73,7 +73,7 @@ jobs:

# Build the CLI binary
- name: Build binaries
run: cargo build -p biome_cli --release --target ${{ matrix.target }}
run: cargo build -p biome_cli --release --target=${{ matrix.target }} --features=js_plugin
env:
# Strip all debug symbols from the resulting binaries
RUSTFLAGS: "-C strip=symbols -C codegen-units=1"
Expand Down Expand Up @@ -129,7 +129,7 @@ jobs:

# Build the CLI binary
- name: Build binaries
run: cargo build -p biome_cli --release --target ${{ matrix.target }}
run: cargo build -p biome_cli --release --target=${{ matrix.target }} --features=js_plugin
env:
# Strip all debug symbols from the resulting binaries
RUSTFLAGS: "-C strip=symbols -C codegen-units=1"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Run tests
run: cargo test --workspace
run: cargo test --workspace --features=js_plugin
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

PR tests also force js_plugin — double-check feature presence.

Same note as main CI: ensure js_plugin is defined (or transitively activated) across all relevant crates, or narrow with -p to crates that need it.


🏁 Script executed:

#!/bin/bash
# Quick scan for js_plugin feature definitions and uses
rg -nP '^\s*\[features\]|\bjs_plugin\b' -g '*.toml' -C2

Length of output: 12332


🏁 Script executed:

#!/bin/bash
# Check for js_plugin feature definition in workspace root
rg -nP '^\[features\]' -C5 Cargo.toml || true

Length of output: 46


Narrow JS plugin feature in PR tests
CI currently runs cargo test --workspace --features=js_plugin, but only biome_service, biome_plugin_loader and biome_cli define that feature—other crates will error. Either scope the invocation with -p flags to those crates or add a workspace-level alias for js_plugin.

🤖 Prompt for AI Agents
.github/workflows/pull_request.yml around line 88: the workflow runs cargo test
--workspace --features=js_plugin which fails because only biome_service,
biome_plugin_loader and biome_cli define that feature; update the step to either
scope the test to those crates by adding -p flags (e.g. cargo test -p
biome_service -p biome_plugin_loader -p biome_cli --features=js_plugin) or
create a workspace-level cargo alias (in .cargo/config.toml under [alias]) that
includes the appropriate packages and features and call that alias from the
workflow.


e2e-tests:
name: End-to-end tests
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ jobs:
sudo apt-get install -y musl-tools

- name: Install cargo-audit
uses: taiki-e/install-action@ad95d4e02e061d4390c4b66ef5ed56c7fee3d2ce # v2.58.17
uses: taiki-e/install-action@f63c33fd96cc1e69a29bafd06541cf28588b43a4 # v2.58.21
if: matrix.code-target == 'linux-x64-musl'
with:
tool: cargo-audit
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release_cli.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
run: echo "nightly=true" >> $GITHUB_ENV

- name: Check version changes
uses: EndBug/version-check@36ff30f37c7deabe56a30caa043d127be658c425 # v2.1.5
uses: EndBug/version-check@5102328418c0130d66ca712d755c303e93368ce2 # v2.1.7
id: version
with:
diff-search: true
Expand Down Expand Up @@ -87,7 +87,7 @@ jobs:
sudo apt-get install -y musl-tools

- name: Install cargo-audit
uses: taiki-e/install-action@ad95d4e02e061d4390c4b66ef5ed56c7fee3d2ce # v2.58.17
uses: taiki-e/install-action@f63c33fd96cc1e69a29bafd06541cf28588b43a4 # v2.58.21
if: matrix.code-target == 'linux-x64-musl'
with:
tool: cargo-audit
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release_js_api.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
run: echo "nightly=true" >> $GITHUB_ENV

- name: Check version changes
uses: EndBug/version-check@36ff30f37c7deabe56a30caa043d127be658c425 # v2.1.5
uses: EndBug/version-check@5102328418c0130d66ca712d755c303e93368ce2 # v2.1.7
if: env.nightly != 'true'
id: version
with:
Expand Down
Loading