Skip to content

chore(deps-dev): bump ultracite from 7.12.4 to 8.1.1 in /web - #179

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/bun/web/ultracite-8.0.1
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/bun/web/ultracite-8.0.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Bumps ultracite from 7.12.4 to 8.1.1.

Release notes

Sourced from ultracite's releases.

ultracite@8.1.1

Patch Changes

  • 79d73d9: Update Biome to 2.6.4. The release adds 30 nursery rules, which the Biome presets leave off, and promotes or removes none, so the presets are unchanged and the @biomejs/biome peer range stays at ^2.6.2. The useSortedProperties assist that core turns on now follows stylelint-config-recess-order 7.9.0, so ultracite fix can reorder CSS properties it used to leave alone, such as scroll-behavior, anchor positioning and multi-column layout. It also no longer offers a sort that would change which of two overlapping declarations wins. noShorthandPropertyOverrides also recognises overrides of logical border, corner shape, position-try, text-box and transition-behavior properties. The Markdown formatter stays off in core: 2.6.4 fixes the dropped space before inline code, but it still rewrites a literal [ ] in prose to []. See the 2.6.4 release notes.

  • 3572b86: Update the ESLint packages init installs: typescript-eslint 8.72.1, eslint-plugin-vue 10.12, eslint-plugin-storybook 10.6.5, @tanstack/eslint-plugin-query 5.105.1, @react-native/eslint-plugin 0.88.1, globals 17.14 and eslint-plugin-react-doctor 0.9.21, plus the Oxlint JS plugin oxlint-plugin-react-doctor 0.9.21. The presets were checked against ESLint 10.14.

    The Vue preset turns on eslint-plugin-vue's three new rules automatically: vue/no-content-outside-block reports content outside the top-level blocks of a .vue file, which the compiler drops; vue/no-define-model-default reports a default in defineModel(); and vue/no-props-shadow reports <script setup> declarations that shadow a prop. The new block-lang required and require-explicit-emits ignoreMixins options stay at their defaults: the first would reject components without a given block, and the second skips components that use mixins.

    react-doctor 0.9.21 adds react-doctor/forwarded-set-state-in-effect, which reports a state setter passed from an effect to a helper that calls it synchronously, such as useEffect(() => syncFrom(id, setValue), [id]). It is on in the ESLint React preset and in ultracite/oxlint/js-plugins. Setters handed to subscriptions, timers and listeners aren't reported.

  • 6675a90: Update oxfmt to 0.75.0. The release changes no options. It fixes a run of formatting bugs, among them parentheses dropped around private in checks and instantiation expressions, a ; dropped before class members named in or instanceof, and its width heuristics now measure display width, so lines with wide characters (such as CJK text) can wrap differently after upgrading. Its prettier-plugin-astro integration now needs @astrojs/compiler-rs 0.5, which is the version ultracite init installs. See the 0.75.0 release notes for the full list.

  • 3e83844: Update oxlint to 1.90.0 and enable its new type-aware rule, typescript/no-unsafe-enum-assignment, in the core Oxlint preset. It reports a value assigned, returned or passed where an enum is expected when it doesn't share that enum's type, such as const fruit: Fruit = 1, matching the @typescript-eslint rule of the same name that the ESLint type-aware preset already enables. Like the other type-aware rules, it only runs with oxlint --type-aware and oxlint-tsgolint installed, and oxlint 1.90 needs oxlint-tsgolint 7.0.2005 or later. Older oxlint releases fail to parse a config that names the rule, so the oxlint peer range moves to ^1.90.0.

    The release also makes a few rules report cases they used to miss: array-callback-return checks callbacks passed with extra arguments, no-useless-concat sees through parentheses, and jest/no-conditional-expect checks function expression callbacks. See the 1.90.0 release notes.

    Requires oxlint >= 1.90.0

ultracite@8.1.0

Minor Changes

  • daf7b0f: Update Biome to 2.6.3. Biome 2.6 renamed useSortedClasses to useTailwindSortedClasses and moved its functions option to the top-level tailwind.mergeFunctions, so the 8.0 core preset failed to load with "Found an unknown key useSortedClasses". The core preset now uses the new name and lists the same functions under tailwind.mergeFunctions and, for cva and tv, tailwind.variantFunctions, which sorts the classes in their variant objects. The rule also switched to Tailwind CSS v4's class order, so ultracite fix re-sorts class lists whose order changed the first time it runs with Biome 2.6.

    Biome 2.6 also promoted 59 nursery rules to stable groups. The presets turn on the ones that match rules the Oxlint presets enable, or that have no Oxlint counterpart and fit the preset:

    • Core: noLoopFunc, noUnnecessaryTemplateExpression, useArraySome, useRegexpTest, useMathMinMax, noExcessiveNestedCallbacks (with a limit of 10, matching max-nested-callbacks), useDomNodeTextContent, useDomQuerySelector, useImportsFirst, useNamedCaptureGroup, useUnicodeRegex, useVarsOnTop, useThisInClassMethods, useReduceTypeParameter, useIframeSandbox, noDuplicateFieldDefinitionNames for GraphQL, noDuplicateSelectors and useBaseline for CSS, and noEmptyObjectKeys and noTopLevelLiterals for JSON.
    • React: noComponentHookFactories, noJsxNamespace, noJsxLeakedDollar, noReactStringRefs and useReactAsyncServerFunction.
    • Vue: noVueImportCompilerMacros, noVueRefAsOperand, noVueVOnNumberValues, useVueValidVFor, useScopedStyles, useVueConsistentDefinePropsDeclaration and useVueNextTickPromise.
    • Astro: useScopedStyles, which reports <style is:global>.
    • Svelte: noInlineStyles, matching ESLint's svelte/no-inline-styles.
    • Qwik: useQwikLoaderLocation.
    • Jest and Vitest: noConditionalExpect, noIdenticalTestTitle, useExpect, useTestHooksInOrder, useTestHooksOnTop, and useConsistentTestIt set to test() at the top level and it() inside describe, matching consistent-test-it's defaults.

    noInlineStyles stays off outside Svelte, noExcessiveSelectorClasses stays off because it has no default limit, and noUntrustedLicenses stays off because it reads node_modules, which the preset ignores.

    GraphQL files are now sorted. The core preset has always turned on useSortedSelectionSet, but Biome only runs assist actions on GraphQL files when graphql.assist.enabled is set, so it never ran. The preset now sets it and turns on Biome 2.6's useGraphqlSortedDefinitions, useGraphqlSortedVariables and useGraphqlSortedArguments, whose fixes ultracite fix applies. Biome marks the selection-set fix unsafe, because GraphQL returns fields in the order they're selected, so selection sets are reported by ultracite check and only sorted by ultracite fix --unsafe.

    Biome 2.6 formats and lints YAML, SCSS and Markdown. YAML and SCSS files are now formatted like the rest of the project. The core preset turns Biome's Markdown formatter off, because in 2.6.3 it drops the space before some inline code spans and changes the rendered text, so .md files are left as they were. It turns on Markdown frontmatter parsing, so the linter reads a leading --- block as frontmatter rather than a heading.

    Requires @​biomejs/biome >= 2.6.2

  • d8124d5: Ultracite now requires Node.js 22.22.2 or later on Node 22, or 24.15 or later; Bun is unchanged. eslint-plugin-jsdoc, which every ESLint setup installs, has declared that range since version 64, so on older Node versions npm and pnpm warned when installing it and Yarn 1 refused to install it. Two ESLint framework plugins declare more: @darraghor/eslint-plugin-nestjs-typed (the nestjs preset) asks for Node.js 24 and eslint-plugin-astro (the astro preset) for 22.22.3 or 24.16. Both run on older versions, but Yarn 1 enforces what they declare.

  • 9a1ce92: Format .astro files with Oxfmt. When the project or one of its workspaces uses Astro, ultracite init turns on Oxfmt's astro option in the root oxfmt.config.ts and installs @astrojs/compiler-rs, the compiler that Oxfmt's bundled prettier-plugin-astro loads. Until now, Oxfmt skipped .astro files. For Astro 6 and earlier, which keep line breaks between tags as spaces, it writes astro: { compressHTML: "html" } so formatting can't change what a page renders. An astro value already in the config is kept, so astro: false still opts out. ultracite upgrade keeps the compiler at the version this release was tested with, and switching from Oxlint to another linter removes it. Existing projects get it by re-running ultracite init, or by setting astro: true by hand as described in Formatting Astro files. Oxfmt formats .astro files from 0.73.0; older releases ignore the option.

  • e4be64a: Add playwright, react-native and drizzle framework presets. ultracite init offers them, and pre-selects them when the project depends on @playwright/test, react-native or drizzle-orm (React Native also pre-selects React). The ESLint presets use each library's ESLint plugin, the Biome presets use the rules Biome 2.6 made stable, and the Oxlint presets add no plugin rules, because Oxlint has no plugin for these libraries.

    • Playwright: ultracite/eslint/playwright turns on every rule in eslint-plugin-playwright in test files, except no-hooks, require-soft-assertions and require-tags, which would report ordinary tests. ultracite/biome/playwright turns on Biome's Playwright rules, such as noPlaywrightMissingAwait and noPlaywrightWaitForTimeout, and the test rules the Jest and Vitest presets use, such as noFocusedTests and useExpect. It leaves out useConsistentTestIt, because Playwright has no it(). On every linter, a hook that only needs testInfo, as in test.beforeEach(async ({}, testInfo) => ...), no longer trips core's empty-pattern rule.
    • React Native: ultracite/eslint/react-native turns on the rules in eslint-plugin-react-native and Meta's @react-native/eslint-plugin, such as no-raw-text, no-unused-styles and no-deep-imports. eslint-plugin-react-native hasn't been updated for ESLint 10, so the preset wraps it with @eslint/compat, which init installs too, and npm projects get a peer override for it. ultracite/biome/react-native turns on noReactNativeRawText, noReactNativeLiteralColors, noReactNativeDeepImports and useReactNativePlatformComponents. Both declare the __DEV__ global.
    • Drizzle: both presets turn on the rules that report a delete() or update() with no .where() (eslint-plugin-drizzle and Biome's noDrizzleDeleteWithoutWhere and noDrizzleUpdateWithoutWhere), for objects named db or tx. Without a name, the ESLint rules report every .delete() call, Map#delete included, and the Biome rules report nothing.

    These rules check their libraries' APIs, which is why they're in presets rather than in core. On Biome they would otherwise misfire: an explicit severity overrides Biome's dependency check, so noReactNativeRawText in core would report text inside any JSX element, including a <div>.

Patch Changes

... (truncated)

Commits
  • 9294814 Version Packages (#861)
  • d23f3c5 Re-measure the provider pages for the toolchain update
  • 3572b86 Update the ESLint plugins, Vue to 10.12 and react-doctor to 0.9.21
  • 79d73d9 Update Biome to 2.6.4
  • 6675a90 Update oxfmt to 0.75.0
  • 3e83844 Update oxlint to 1.90.0 and enable no-unsafe-enum-assignment
  • 62a10ca Bump actions/setup-node from 7.0.0 to 7.1.0 (#860)
  • 8e0d593 Add the function style research post
  • 7bf1b7b Version Packages (#857)
  • 9108be3 Add the length limits research post
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Oct 23, 2026
@coderabbitai

coderabbitai Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 09b7a6b4-f091-4467-9773-bce378138ecd

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@deepsource-io

deepsource-io Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

DeepSource Code Review

We reviewed changes in 1d3f861...96c9968 on this pull request. Below is the summary for the review, and you can see the individual issues we found as inline review comments.

See full review on DeepSource ↗

PR Report Card

Overall Grade   Security  

Reliability  

Complexity  

Hygiene  

Code Review Summary

Analyzer Status Updated (UTC) Details
JavaScript Nov 8, 2026 11:19p.m. Review ↗
Go Nov 8, 2026 11:19p.m. Review ↗

Important

AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.

@dependabot
dependabot Bot force-pushed the dependabot/bun/web/ultracite-8.0.1 branch 5 times, most recently from a5288f4 to 76570d3 Compare October 25, 2026 04:43
@dependabot dependabot Bot changed the title chore(deps-dev): bump ultracite from 7.12.4 to 8.0.1 in /web chore(deps-dev): bump ultracite from 7.12.4 to 8.0.2 in /web Nov 1, 2026
@dependabot
dependabot Bot force-pushed the dependabot/bun/web/ultracite-8.0.1 branch from 76570d3 to f26506d Compare November 1, 2026 03:41
@dependabot dependabot Bot changed the title chore(deps-dev): bump ultracite from 7.12.4 to 8.0.2 in /web chore(deps-dev): bump ultracite from 7.12.4 to 8.1.0 in /web Nov 4, 2026
@dependabot
dependabot Bot force-pushed the dependabot/bun/web/ultracite-8.0.1 branch 4 times, most recently from 6ed9581 to 48c483f Compare November 8, 2026 05:27
Bumps [ultracite](https://github.com/haydenbleasel/ultracite) from 7.12.4 to 8.1.1.
- [Release notes](https://github.com/haydenbleasel/ultracite/releases)
- [Commits](https://github.com/haydenbleasel/ultracite/compare/ultracite@7.12.4...ultracite@8.1.1)

---
updated-dependencies:
- dependency-name: ultracite
  dependency-version: 8.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title chore(deps-dev): bump ultracite from 7.12.4 to 8.1.0 in /web chore(deps-dev): bump ultracite from 7.12.4 to 8.1.1 in /web Nov 8, 2026
@dependabot
dependabot Bot force-pushed the dependabot/bun/web/ultracite-8.0.1 branch from 48c483f to 96c9968 Compare November 8, 2026 23:19

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants