Skip to content

fix(html): parsing of directives in svelte#9021

Merged
ematipico merged 1 commit intonextfrom
fix/bind-directives-components
Feb 10, 2026
Merged

fix(html): parsing of directives in svelte#9021
ematipico merged 1 commit intonextfrom
fix/bind-directives-components

Conversation

@ematipico
Copy link
Member

Summary

Closes #8902

Test Plan

Added new test

Docs

@changeset-bot
Copy link

changeset-bot bot commented Feb 10, 2026

🦋 Changeset detected

Latest commit: 2d5ac08

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 14 packages
Name Type
@biomejs/biome Minor
@biomejs/cli-win32-x64 Minor
@biomejs/cli-win32-arm64 Minor
@biomejs/cli-darwin-x64 Minor
@biomejs/cli-darwin-arm64 Minor
@biomejs/cli-linux-x64 Minor
@biomejs/cli-linux-arm64 Minor
@biomejs/cli-linux-x64-musl Minor
@biomejs/cli-linux-arm64-musl Minor
@biomejs/wasm-web Minor
@biomejs/wasm-bundler Minor
@biomejs/wasm-nodejs Minor
@biomejs/backend-jsonrpc Patch
@biomejs/js-api Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@ematipico ematipico changed the base branch from main to next February 10, 2026 09:28
@github-actions github-actions bot added A-Parser Area: parser A-Formatter Area: formatter L-HTML Language: HTML and super languages labels Feb 10, 2026
|| text.starts_with("use:")
|| text.starts_with("style:")
|| text.starts_with("class:")
pub(crate) fn is_at_svelte_directive_start(p: &mut HtmlParser) -> bool {
Copy link
Member Author

Choose a reason for hiding this comment

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

It's ugly, but it was the only way to catch bind: and friends without possible false positives

@ematipico ematipico requested a review from dyc3 February 10, 2026 09:29
@ematipico ematipico changed the title feat(lsp): report progress while scanning the project (#7961) fix(html): parsing of directives in svelte Feb 10, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 10, 2026

Caution

Review failed

Failed to post review comments

Walkthrough

This pull request introduces substantial architectural improvements and feature additions to Biome. Key changes include: a new rule profiling system with per-rule timing metrics; a comprehensive CLI runner refactor introducing trait-based execution (Execution, CommandRunner, TraversalCommand, Crawler, Collector, Finalizer, Handler); JSX factory configuration support replacing CSS modules in the analyser; a new SARIF reporter for diagnostics; refactored reporter abstraction with ReporterWriter interface; new LogOptions and WatcherOptions for daemon/logging configuration; support for class deduplication across utilities; ARIA roles enhancements; and comprehensive new test coverage for various CLI and linting scenarios. Additionally, numerous changesets document new linter rules for HTML and other languages, extended rule domain support (including a new "types" domain), and updates to rule sources including e18e ESLint plugin references.

Possibly related PRs

Suggested labels

A-CLI, A-Linter, A-Parser, L-JavaScript, L-HTML

Suggested reviewers

  • dyc3
🚥 Pre-merge checks | ✅ 3 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The extensive changeset includes many unrelated features (HTML rules, CLI reporters, logging, runner infrastructure) that appear disconnected from fixing Svelte directive parsing for issue #8902. This PR appears to bundle numerous unrelated changes. Consider splitting feature additions (CLI reporters, logging, runner infrastructure) into separate PRs focused on the core Svelte directive parsing fix.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed Title clearly references the main change: fixing HTML parsing of directives in Svelte files, which directly addresses the core issue.
Description check ✅ Passed Description is related to the changeset; it references issue #8902 about Svelte parser not parsing bind: correctly and mentions a test was added.
Linked Issues check ✅ Passed The PR addresses issue #8902 by fixing Svelte parser directive parsing. The raw summary shows extensive changesets documenting Svelte directive parsing improvements and related HTML formatter changes that support correct bind: recognition.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/bind-directives-components

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

Choose a reason for hiding this comment

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

revert quick test

@ematipico ematipico merged commit 426de98 into next Feb 10, 2026
5 checks passed
@ematipico ematipico deleted the fix/bind-directives-components branch February 10, 2026 14:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-Formatter Area: formatter A-Parser Area: parser L-HTML Language: HTML and super languages

Projects

None yet

Development

Successfully merging this pull request may close these issues.

📝 Svelte parser doesn't parse bind:<identifier> correctly

2 participants