ultracite@7.12.1
Patch Changes
-
00dd547: Agent hooks now fix only the file the agent edited. The generated hook command passes a new
--hookflag, andultracite fix --hookreads the agent’s payload from stdin: Claude Code and CodeBuddy (tool_input.file_path), Cursor (file_path) and Windsurf (tool_info.file_path). A file outside the project, one that no longer exists, or one the project’s linters do not handle is skipped. A payload with no readable file path keeps the previous whole-project run. Re-runningultracite initrewrites a hook from an earlier init to the new command, including one generated before this change or for a different package manager or linter. -
300a814: Update
@biomejs/biometo 2.5.14. Releases 2.5.13 and 2.5.14 add only nursery rules (14 of them, includingnoReturnInFinally,noSvelteAtHtmlTagsanduseValidTestTitle), with no stable-group additions, removals or promotions. The Biome presets deliberately leave nursery rules off, so they are unchanged. -
b8b183b: Update dependencies (
@clack/prompts1.8,empathic2.1,magicast,nypm,string-width8.3,yamlandzod4.6). -
b59b8aa: Update oxfmt to 0.70.0 and re-target the markdown
:::fence patch. Releases 0.68 through 0.70 change no options; they fix suppression-comment handling, comment placement around operators andas/satisfies, and several YAML and CSS edge cases. oxfmt 0.69 also ships a native markdown formatter, but.mdfiles still go through the Prettier-based path, so the fence patch still applies. -
548c8b0: Update oxlint to 1.85.0. Releases 1.83 through 1.85 add and remove no rules and change no options, so the presets are unchanged. Note that
jest/prefer-strict-equal,vitest/prefer-strict-equal,vitest/prefer-to-be-truthyandvitest/prefer-to-be-falsynow offer suggestions instead of fixes, soultracite fixreports them rather than rewriting them.unicorn/consistent-function-scopingalso now catches functions that only capture variables from an outer ancestor scope. -
0bc6cd6: Update the ESLint family:
eslint10.11,eslint-plugin-unicorn76,@typescript-eslint/*8.70.1,eslint-plugin-jsdoc64.5,eslint-plugin-astro3.2,eslint-plugin-n18.4,eslint-plugin-vue10.11.1,@tanstack/eslint-plugin-query5.104,@next/eslint-plugin-next16.3.6,@darraghor/eslint-plugin-nestjs-typed7.5.6,eslint-plugin-qwik1.20.1,eslint-plugin-html8.2.1 andeslint-plugin-react-doctor/oxlint-plugin-react-doctor0.9.14.The ESLint core preset picks up unicorn’s ten new JavaScript rules automatically:
no-async-iterator-callback,no-unused-builtin-method-return(which replaces the now-deprecatedno-unused-array-method-return),no-unused-iterator-helper,no-useless-set-construction,no-using-resource-escape,prefer-combined-guards,prefer-iterator-zip,prefer-json-import,prefer-temporal-conversionandprefer-uint8array-hex. The CSS-only unicorn rules added in v75 stay off for JavaScript files. unicorn 76 makesno-immediate-mutationskip conditional mutations andno-break-in-nested-loopskipcontinueby default; the preset keeps those defaults because oxlint’sno-immediate-mutationbehaves the same way and checkingcontinuewould contradictprefer-continue. -
0bcb2c6: Update
prettier-plugin-astroto 1.1.0 (the versionultracite initinstalls for Astro projects with Prettier) and refresh the transitive Prettier lock to 3.9.9. Prettier 3.9.7 through 3.9.9 are formatting fixes with no option changes, so the Prettier preset is unchanged. prettier-plugin-astro 1.1 makesastroAllowShorthandtri-state. When it is unset, which is how Ultracite’s generated config leaves it, attributes now stay as written instead of{value}being expanded tovalue={value}. SetastroAllowShorthand: falsein your Prettier config to keep the 1.0 behaviour. -
8b39375: Update
@shadcn/lintto 0.2.0 (the versionultracite initinstalls for the opt-inultracite/oxlint/shadcnpreset). The release adds Vue and Svelte support and fixes theme, barrel and class-site discovery; the rules and their options are unchanged, so the preset is too. Under Oxlint the plugin reads only the<script>blocks of.vueand.sveltefiles, not their templates. -
0bc6cd6: Update
eslint-plugin-sonarjsto 4.2.1. The ESLint preset adopts its 16 new rules automatically (Vue, Cypress, Playwright, Testing Library, Vitest, Lodash, jQuery and Axios checks). Theultracite/oxlint/js-pluginspreset now enables every sonarjs rule that does not need type information, adding 35 rules. These include the 15 new non-type-aware rules and nine test rules that older versions of oxlint’s JS plugin bridge could not load. sonarjs 4.2.1 also raised theno-nested-functionsdefault threshold from 4 to 5; both presets pinthreshold: 4to keep the previous strictness.