Skip to content

feat(formatter_css): parse embedded CSS as a block's contents - #27284

Merged
graphite-app[bot] merged 1 commit into
mainfrom
10-02-feat_formatter_css_parse_embedded_css_as_a_block_s_contents
Oct 2, 2026
Merged

graphite-app[bot] merged 1 commit into
mainfrom
10-02-feat_formatter_css_parse_embedded_css_as_a_block_s_contents

Conversation

@leaysgur

@leaysgur leaysgur commented Oct 2, 2026 •

Copy link
Copy Markdown
Member

css-in-md supports selector-less block contents.

leaysgur commented Oct 2, 2026 •

Copy link
Copy Markdown
Member Author

How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • 0-merge - adds this PR to the back of the merge queue
  • hotfix - for urgent changes, fast-track this PR to the front of the merge queue

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@oxc-guard

oxc-guard Bot commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Oxfmt Ecosystem CI

suite oxfmt@latest main refs/pull/27284/head branch
formatjs/formatjs ✅ ✅ ✅
actualbudget/actual ❌ ✅ ✅
monkeytypegame/monkeytype ❌ ✅ ✅
huggingface/huggingface.js ❌ ✅ ✅
fastify/fastify-vite ❌ ✅ ✅
fuma-nama/fumadocs ✅ ✅ ✅
cnpm/cnpmcore ❌ ✅ ✅
Comfy-Org/ComfyUI_frontend ❌ ✅ ✅
eggjs/egg ✅ ✅ ✅
lichess-org/lila ✅ ✅ ✅
sveltejs/kit ✅ 🟨 ✅
vuejs/pinia ❌ ✅ ✅
AmanVarshney01/create-better-t-stack ✅ ✅ ✅
rolldown/rolldown ✅ ✅ ✅
cloudflare/agents ❌ ✅ ✅
tale/headplane ❌ ✅ ✅
cloudflare/kumo ✅ ✅ ✅
openclaw/openclaw ✅ 🟨 ✅
mantinedev/mantine ❌ ✅ ✅
aidenybai/react-grab ❌ ✅ ✅
mastodon/mastodon ✅ ✅ ✅
npmx-dev/npmx.dev ✅ ✅ ✅
dyad-sh/dyad ❌ ✅ ✅
cloudflare/workers-sdk ✅ ✅ ✅
vuejs/core ❌ ✅ ✅
getsentry/sentry-javascript ✅ ✅ ✅
vercel/turborepo ❌ ✅ ✅

💥 = panic, ⚠️ = error e.g. parse error (main/branch columns: only new errors), ❌ = diff or exit code mismatch, 🟨 = differs from oxfmt@latest (merged-but-unreleased changes)

@codspeed

codspeed Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Merging this PR will not alter performance

✅ 87 untouched benchmarks
⏩ 9 skipped benchmarks1


Comparing 10-02-feat_formatter_css_parse_embedded_css_as_a_block_s_contents (d2c5a6e) with main (cda8eb4)2

Open in CodSpeed

Footnotes

  1. 9 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

  2. No successful run was found on 10-02-fix_formatter_css_hug_a_spaced_ident_only_at_the_at-rule_prelude_head (d9bf9b1) during the generation of this report, so main (cda8eb4) was used instead as the comparison base. There might be some changes unrelated to this pull request in this report. ↩

@leaysgur leaysgur added the 0-merge Merge with Graphite Merge Queue label Oct 2, 2026

leaysgur commented Oct 2, 2026 •

Copy link
Copy Markdown
Member Author

Merge activity

css-in-md supports selector-less block contents.
@graphite-app
graphite-app Bot force-pushed the 10-02-fix_formatter_css_hug_a_spaced_ident_only_at_the_at-rule_prelude_head branch from d9bf9b1 to 1967302 Compare October 2, 2026 11:36
@graphite-app
graphite-app Bot force-pushed the 10-02-feat_formatter_css_parse_embedded_css_as_a_block_s_contents branch from d2c5a6e to b538e3c Compare October 2, 2026 11:36
Base automatically changed from 10-02-fix_formatter_css_hug_a_spaced_ident_only_at_the_at-rule_prelude_head to main October 2, 2026 11:40
@graphite-app graphite-app Bot removed the 0-merge Merge with Graphite Merge Queue label Oct 2, 2026
@graphite-app
graphite-app Bot merged commit b538e3c into main Oct 2, 2026
35 checks passed
@graphite-app
graphite-app Bot deleted the 10-02-feat_formatter_css_parse_embedded_css_as_a_block_s_contents branch October 2, 2026 11:41
graphite-app Bot pushed a commit that referenced this pull request Oct 5, 2026
# Oxlint
### 🚀 Features

- 42dcfd2 linter/react/no-unescaped-entities: Implement suggestion (#27292) (Mikhail Baev)
- cd4510d linter/unicorn/no-useless-switch-case: Implement suggestion (#27245) (Mikhail Baev)
- 1a7c902 linter/react/jsx-no-target-blank: Implement suggestion (#27181) (Mikhail Baev)

### 🐛 Bug Fixes

- 176b4b9 linter/jsx-a11y/label-has-associated-control: Validate label attribute values (#27302) (sama Pyb)
- 7d381c3 linter/jsx-a11y/mouse-events-have-key-events: Handle nullish event handlers (#27306) (sama Pyb)
- 4e09837 linter/jsx-a11y/lang: Validate lang expression strings (#27304) (sama Pyb)
- 7d28a66 linter/unicorn/numeric-separators-style: Report misgrouped BigInt literals (#27207) (breken)
- e928322 linter/unicorn/no-zero-fractions: Parenthesize separator and large integers in fixer (#27206) (breken)
- 3d61a59 parser: Validate TypeScript type member separators (#27222) (camc314)
- f08236b linter/eslint/prefer-exponentiation-operator: Preserve autofix precedence (#27150) (camc314)
- 7d60ae3 linter/valid-title: Continue checks after allowed words (#27146) (Cameron)
- ad5dd5d linter/eslint/no-unused-vars: Respect disabled argument checks for used ignore patterns (#26925) (camc314)
# Oxfmt
### 💥 BREAKING CHANGES

- e2c68b1 oxfmt: [**BREAKING**] Format `parser:markdown` files by `oxc_formatter_markdown` (#27256) (leaysgur)

### 🚀 Features

- b538e3c formatter_css: Parse embedded CSS as a block's contents (#27284) (leaysgur)

### 🐛 Bug Fixes

- 71e400b formatter_markdown: Fixed remaining issues found by fuzz (#27334) (leaysgur)
- 7d0e54d formatter_markdown: Preserve line breaks around Chinese/Japanese characters in all `proseWrap` (#27331) (leaysgur)
- e9ae2d8 formatter_css: Fix layouts found in mdn-content repo (css-in-md) (#27326) (leaysgur)
- df85b4c oxfmt: Keep blank lines after a line break in Prettier Doc to IR (#27325) (leaysgur)
- 7f65b75 formatter: Format assignment target property as assignment-like (#27289) (leaysgur)
- 6c08f2a formatter_css: Apply the `url()` import exception to a lone comma group (#27288) (leaysgur)
- 1967302 formatter_css: Hug a spaced `ident (` only at the at-rule prelude head (#27283) (leaysgur)
- 2445064 formatter_markdown: Keep a preserved line break before a delimiter row that opens no table (#27278) (leaysgur)
- dd72fbf formatter_markdown: Keep container columns as spaces under `useTabs` (#27277) (leaysgur)
- 1686018 oxfmt: Make one state `conditionalGroup` fit up to first `hardline` (#27275) (leaysgur)
- fd4ddce formatter_json: Flatten block comment only array|object (#27274) (leaysgur)
- 267557c formatter,oxfmt: Embed only original JSDoc plugin supported languages (#27241) (leaysgur)
- 2606c60 oxfmt: Do not re-include a file below an excluded directory with a negated pattern (#27237) (Nicolas Le Cam)
- c2de02b formatter: Decide embedded template layout from AST, not source shape (#27218) (leaysgur)
- c9e1224 formatter: Handle `quoteProps: consistent` for patterns and computed keys (#27216) (leaysgur)
- 36e14df formatter: Keep comments between callee and its opener on the callee side (#27172) (leaysgur)
- 6da7657 oxfmt: Render diagnostics with source in Stdin mode (#27130) (leaysgur)
- e9b2ec5 oxfmt/lsp: Reload `.prettierignore` on watched file change (#27129) (leaysgur)
- 30eb463 oxfmt: Check global ignores before resolving nested config in Stdin mode (#27128) (leaysgur)

### ⚡ Performance

- 72f42a3 formatter_markdown: Pre-allocate the IR buffer (#27333) (leaysgur)
- cea47e3 formatter_core: Avoid exponential `will_break` check on nested interned (#27211) (leaysgur)
- 0aba566 oxfmt: Do not resolve root js config from nested context (#27147) (leaysgur)

### 📚 Documentation

- 51506c6 formatter_css: Record divergences found in mdn-content (css-in-md) (#27327) (leaysgur)
- 656b81c formatter_markdown: Record unclosed fences closing at a directive's closer (#27279) (leaysgur)
- 66545bf formatter_markdown: Record setext heading wrap divergence (#27221) (leaysgur)
- af4b269 oxfmt: Document why `format()` API does not take cwd (#27131) (leaysgur)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-formatter Area - Formatter

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant