Skip to content

chore: bump the npm group across 1 directory with 34 updates - #37

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/npm-ab40e37b11
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/npm-ab40e37b11

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 8, 2026 •

Copy link
Copy Markdown

Bumps the npm group with 34 updates in the / directory:

Package From To
@astryxdesign/core 0.2.0 0.7.10
@tailwindcss/vite 4.3.3 4.3.5
@tanstack/react-query 5.105.2 5.107.0
@tanstack/react-query-devtools 5.105.2 5.107.0
@xyflow/react 12.11.2 12.12.1
better-auth 1.7.15 1.7.18
client-zip 2.5.0 2.5.1
dotenv-cli 11.0.0 11.1.0
drizzle-kit 0.31.10 0.31.11
drizzle-orm 0.45.2 0.45.4
gsap 3.15.0 3.15.1
lucide-react 1.28.0 1.70.0
pg 8.22.0 8.23.1
@types/pg 8.20.3 8.23.1
posthog-js 1.444.4 1.447.3
react 19.2.8 19.3.1
@types/react 19.2.18 19.3.0
react-dom 19.2.8 19.3.1
@types/react-dom 19.2.4 19.3.0
tailwindcss 4.3.3 4.3.5
@astryxdesign/cli 0.2.0 0.7.10
@biomejs/biome 2.4.5 2.6.6
@commitlint/cli 21.2.1 21.2.4
@commitlint/config-conventional 21.2.0 21.2.4
@rolldown/plugin-babel 0.2.3 0.3.0
@types/pg 8.20.3 8.23.1
@types/react 19.2.18 19.3.0
@types/react-dom 19.2.4 19.3.0
@vitejs/plugin-react 6.0.5 6.2.1
@vitest/browser 5.0.1 5.1.0
@vitest/browser-playwright 5.0.1 5.1.0
@vitest/coverage-v8 5.0.1 5.1.0
lint-staged 17.3.0 17.6.0
playwright 1.63.0 1.65.0
tsx 4.23.4 4.23.15
vite 8.3.5 8.3.6
vitest 5.0.1 5.1.0

Updates @astryxdesign/core from 0.2.0 to 0.7.10

Release notes

Sourced from @​astryxdesign/core's releases.

Astryx v0.7.10

Astryx 0.7.10 — all @astryxdesign/* packages ship at this version.

OLD_VERSION=0.7.9  # replace with the Core version your project uses today
npm install @astryxdesign/core@0.7.10 @astryxdesign/cli@0.7.10  # plus every other @astryxdesign/* package you use, at 0.7.10
npx @astryxdesign/cli upgrade --from "$OLD_VERSION" --apply --path .

@​astryxdesign/core

New Features

  • Carousel's hasSnap also takes useSnapPaging(), from @astryxdesign/core/SnapPaging: iOS paging on native snap's stops, under a finger and on a trackpad swipe. A flick moves one view, or one item with useSnapPaging({pages: 'item'}). A mouse wheel keeps native snapping. Only a carousel given the hook's value loads the pager, and hasSnap alone is unchanged. (#8153)

  • Lightbox: a ctrl-wheel or a trackpad pinch now zooms a photo, and a trackpad's scroll pans a zoomed photo. (#8148)

  • Lightbox's zoom now works under a finger the way the iOS Photos viewer does, on a phone, a tablet or a touchscreen laptop. Pinch the photo to zoom around your fingers, and move them to pan while you zoom. Past the zoom limits the photo gives way, then springs back when you let go, at the speed your fingers had. Double-tap zooms until the photo fills the screen, at least 2×, and keeps the tapped point under your finger; double-tap again to go back. On a phone or a tablet, a zoomed photo pans with momentum, stretches past its edges and settles back. The keyboard keeps the zoom it had, 2× about the centre, and keyboard panning now stops at the photo's edges instead of carrying it out of view. Every zoom, a double tap's and a key's included, settles on the same spring. (#8148) The photo's stage fills the viewer. A pinch on the photo no longer zooms the page, and a pinch on the controls or caption still does. With hasZoom on, a tap on the dark area beside the photo closes the viewer after the double-tap wait instead of at once; a click still closes it at once. The zoom animations run on the compositor, so they stay smooth while the page is busy. With hasZoom off, nothing changes. With hasZoom, Close, Previous, Next and the counter sit on a dark translucent backing, so they stay readable over a zoomed photo.

  • createDragToSnapPoints and its hook useDragToSnapPoints let a drag move an element along one axis and settle it on snap points (px offsets from its resting position) at the release: the nearest one, the next one in its direction after a flick faster than flickThreshold (default 1008 px/s), or the one it started from when the release moves back. The settle continues the release velocity, settleTo(index) settles without a drag, and onSettle(index) reports where it landed. createDragToSnapPoints is exported from the package root and useDragToSnapPoints from @astryxdesign/core/hooks; the CLI's templates gain a playing-card example of each. (#8658)

    Also released in @astryxdesign/cli.

Fixes

  • Animated layout: the glide, the in-place swap and the edge reveal play the theme's move curve (--ease-move) over --duration-medium-min instead of a spring, so they follow the theme's character and tempo and land with the motion around them. Reduce Motion is unchanged: a cross-fade under a coarse pointer, an immediate change otherwise. The glides of AppShell's content area, Collapsible, Table's row expansion and TreeList change feel: 225 ms in the Neutral theme, 310 ms with no theme, instead of about 735 ms. A theme whose move easing is a linear() or steps() function glides on it, as the browser plays it. The segmented control's selection, which reads its timing the same way, now plays such an easing too instead of moving at once. (#10236)

  • Two AppShells on one page no longer share the main region's id. The first mounted shell keeps id="astryx-app-shell-main", so single-shell pages, skip links and selectors that name it keep working. Each other shell's main region gets its own generated id, which its skip link targets. (#10199)

  • BottomSheet: a sheet a touch drag closes leaves on its close spring, starting at the speed of the drag, and its scrim fades out with it on one clock, at the theme's tempo. A BottomSheetSwitcher flow's scrim does too. A mouse or pen drag is unchanged. (#8105)

  • A BottomSheet that opens, on its own or pushed over another sheet, modal or not, now focuses its data-autofocus field (a TextInput with hasAutoFocus) in every browser; for example, a pushed "Edit delivery note" sheet opens on its note field. A BottomSheetSwitcher step with such a field opens on it too. Before, Chromium left focus on the sheet's panel, so on Android a person had to tap the field before typing. A sheet with no such field still focuses where the browser's own dialog focusing puts it. (#10156)

  • Under a finger or a pen, holding the box of a CheckboxInput, a CheckboxList row, a RadioList option or a Switch no longer selects the text beside it, and lifting it activates the control as a tap does. On iOS such a hold selected the label's text and, except on a Switch, toggled nothing. A long press that opens a ContextMenu or runs a row's own long press no longer also toggles a box under it, and a row that opens its own menu from its contextmenu keeps its box unchanged. A long press on the label still selects its text, and a mouse is unchanged. (#10091)

  • Calendar and useCalendarNavigation keep moving the visible month when onFocusDateChange is given without focusDate. The focus date is controlled only when both props are present, as the imperative navigateTo handle already treated it; but the Previous/Next buttons and keyboard month crossing switched on the callback alone, so a listener-only calendar reported the new month and then stayed on the old one, with no way to move. The callback still fires in every mode. (#10180)

  • Inserting a token through ChatComposerInput's handle (insertToken) now reports the new value through onChange once, as typing does, and hides the placeholder. Before, a controlled host's Send button stayed disabled or sent a stale prompt. The ai-chat-landing page template drops the input-event workaround it used to sync the composer after an insert. (#10167)

    Also released in @astryxdesign/cli.

  • Code: the code theme target now reflects size as data-size, so a theme can restyle code that inherits the surrounding text size (size="inherit") differently from code at the default code size. When size is omitted, no data-size attribute is rendered. (#10186)

  • CodeBlock and Carousel: the code viewport (while the code overflows) and the carousel scroller draw the theme's focus ring instead of the browser's default, and a theme's --focus-outline-* tokens reach them. Both rings sit inside their component's clipped box, so they show whole. The Carousel ring is painted by the carousel itself rather than the scroller, so the scroller's edge-fade mask no longer fades it, at rest or mid-scroll. The Carousel ring is drawn by an internal shared overlay. (#8875)

  • DateInput, TimeInput, DateTimeInput: value now accepts an explicit undefined. In a project with exactOptionalPropertyTypes, value={state} failed to compile when state held what onChange gave, because onChange sends undefined for a cleared field and an optional property no longer took one. A controlled field no longer needs a cast there. (#10129, part of #8961)

  • Dialog: when the first data-autofocus request is hidden, inert, aria-hidden or cannot take focus, the next eligible request takes initial focus. This also holds for a Dialog rendered inside an inert region of the page or in an iframe or Picture-in-Picture window (#10105, part of #4182)

... (truncated)

Changelog

Sourced from @​astryxdesign/core's changelog.

0.7.10

New Features

  • Carousel's hasSnap also takes useSnapPaging(), from @astryxdesign/core/SnapPaging: iOS paging on native snap's stops, under a finger and on a trackpad swipe. A flick moves one view, or one item with useSnapPaging({pages: 'item'}). A mouse wheel keeps native snapping. Only a carousel given the hook's value loads the pager, and hasSnap alone is unchanged. (#8153)
  • Lightbox: a ctrl-wheel or a trackpad pinch now zooms a photo, and a trackpad's scroll pans a zoomed photo. (#8148)
  • Lightbox's zoom now works under a finger the way the iOS Photos viewer does, on a phone, a tablet or a touchscreen laptop. Pinch the photo to zoom around your fingers, and move them to pan while you zoom. Past the zoom limits the photo gives way, then springs back when you let go, at the speed your fingers had. Double-tap zooms until the photo fills the screen, at least 2×, and keeps the tapped point under your finger; double-tap again to go back. On a phone or a tablet, a zoomed photo pans with momentum, stretches past its edges and settles back. The keyboard keeps the zoom it had, 2× about the centre, and keyboard panning now stops at the photo's edges instead of carrying it out of view. Every zoom, a double tap's and a key's included, settles on the same spring. (#8148) The photo's stage fills the viewer. A pinch on the photo no longer zooms the page, and a pinch on the controls or caption still does. With hasZoom on, a tap on the dark area beside the photo closes the viewer after the double-tap wait instead of at once; a click still closes it at once. The zoom animations run on the compositor, so they stay smooth while the page is busy. With hasZoom off, nothing changes. With hasZoom, Close, Previous, Next and the counter sit on a dark translucent backing, so they stay readable over a zoomed photo.
  • createDragToSnapPoints and its hook useDragToSnapPoints let a drag move an element along one axis and settle it on snap points (px offsets from its resting position) at the release: the nearest one, the next one in its direction after a flick faster than flickThreshold (default 1008 px/s), or the one it started from when the release moves back. The settle continues the release velocity, settleTo(index) settles without a drag, and onSettle(index) reports where it landed. createDragToSnapPoints is exported from the package root and useDragToSnapPoints from @astryxdesign/core/hooks; the CLI's templates gain a playing-card example of each. (#8658)

Fixes

  • Animated layout: the glide, the in-place swap and the edge reveal play the theme's move curve (--ease-move) over --duration-medium-min instead of a spring, so they follow the theme's character and tempo and land with the motion around them. Reduce Motion is unchanged: a cross-fade under a coarse pointer, an immediate change otherwise. The glides of AppShell's content area, Collapsible, Table's row expansion and TreeList change feel: 225 ms in the Neutral theme, 310 ms with no theme, instead of about 735 ms. A theme whose move easing is a linear() or steps() function glides on it, as the browser plays it. The segmented control's selection, which reads its timing the same way, now plays such an easing too instead of moving at once. (#10236)
  • Two AppShells on one page no longer share the main region's id. The first mounted shell keeps id="astryx-app-shell-main", so single-shell pages, skip links and selectors that name it keep working. Each other shell's main region gets its own generated id, which its skip link targets. (#10199)
  • BottomSheet: a sheet a touch drag closes leaves on its close spring, starting at the speed of the drag, and its scrim fades out with it on one clock, at the theme's tempo. A BottomSheetSwitcher flow's scrim does too. A mouse or pen drag is unchanged. (#8105)
  • A BottomSheet that opens, on its own or pushed over another sheet, modal or not, now focuses its data-autofocus field (a TextInput with hasAutoFocus) in every browser; for example, a pushed "Edit delivery note" sheet opens on its note field. A BottomSheetSwitcher step with such a field opens on it too. Before, Chromium left focus on the sheet's panel, so on Android a person had to tap the field before typing. A sheet with no such field still focuses where the browser's own dialog focusing puts it. (#10156)
  • Under a finger or a pen, holding the box of a CheckboxInput, a CheckboxList row, a RadioList option or a Switch no longer selects the text beside it, and lifting it activates the control as a tap does. On iOS such a hold selected the label's text and, except on a Switch, toggled nothing. A long press that opens a ContextMenu or runs a row's own long press no longer also toggles a box under it, and a row that opens its own menu from its contextmenu keeps its box unchanged. A long press on the label still selects its text, and a mouse is unchanged. (#10091)
  • Calendar and useCalendarNavigation keep moving the visible month when onFocusDateChange is given without focusDate. The focus date is controlled only when both props are present, as the imperative navigateTo handle already treated it; but the Previous/Next buttons and keyboard month crossing switched on the callback alone, so a listener-only calendar reported the new month and then stayed on the old one, with no way to move. The callback still fires in every mode. (#10180)
  • Inserting a token through ChatComposerInput's handle (insertToken) now reports the new value through onChange once, as typing does, and hides the placeholder. Before, a controlled host's Send button stayed disabled or sent a stale prompt. The ai-chat-landing page template drops the input-event workaround it used to sync the composer after an insert. (#10167)
  • Code: the code theme target now reflects size as data-size, so a theme can restyle code that inherits the surrounding text size (size="inherit") differently from code at the default code size. When size is omitted, no data-size attribute is rendered. (#10186)
  • CodeBlock and Carousel: the code viewport (while the code overflows) and the carousel scroller draw the theme's focus ring instead of the browser's default, and a theme's --focus-outline-* tokens reach them. Both rings sit inside their component's clipped box, so they show whole. The Carousel ring is painted by the carousel itself rather than the scroller, so the scroller's edge-fade mask no longer fades it, at rest or mid-scroll. The Carousel ring is drawn by an internal shared overlay. (#8875)
  • DateInput, TimeInput, DateTimeInput: value now accepts an explicit undefined. In a project with exactOptionalPropertyTypes, value={state} failed to compile when state held what onChange gave, because onChange sends undefined for a cleared field and an optional property no longer took one. A controlled field no longer needs a cast there. (#10129, part of #8961)
  • Dialog: when the first data-autofocus request is hidden, inert, aria-hidden or cannot take focus, the next eligible request takes initial focus. This also holds for a Dialog rendered inside an inert region of the page or in an iframe or Picture-in-Picture window (#10105, part of #4182)
  • FieldLabel's labelTooltip is now an info button after the label, named "About {label}", so keyboard and screen-reader users can reach the help (WCAG 2.2 2.1.1, 4.1.2), and a click or key press on it opens the help without focusing or toggling the field. (#6414)
  • Gestures: a pan on its own scroller takes a trackpad's scroll on the axis its touch-action keeps, as it takes a finger's; a scroller inside it still takes the wheel first. A recognizer attached with manageStyle: false leaves the element's styles to its caller for that recognizer only. (#10212)
  • Touch gestures work on a component rendered into another window's document, such as a same-origin iframe or a Document Picture-in-Picture window. The gesture host checked nodes and touches against this window's classes, so it ignored that window's own. A finger's scroll, a layer's input hold, the press delay inside a scroll view and the iOS selection lock read that window's nodes too. (#10224)
  • Animated layout: on iOS Safari, an Astryx gesture on gliding content goes to what is drawn under the finger. Gestures here are gesture recognizers, long presses, and Switch, Slider and SegmentedControl presses. Before, such a touch went to the element that sat under the finger when the glide started. A plain tap that no Astryx gesture handles still goes to that element until the glide ends, at most the theme's move duration. (#10239)
  • Lightbox: a double-click now zooms 2× about the clicked point instead of about the centre, and the next goes back; the keyboard keeps its 2× zoom about the centre. (#8148)
  • Link: inside a <Text maxLines> the link now truncates with the text. There its root lays out inline, in the text's lines, so the clamp can cut through the link, and its keyboard focus ring is inset into each line, so the clamp keeps the ring's top and bottom edges visible. Elsewhere, and for a Link that sets its own display or maxLines or renders as a button, the root keeps its inline-flex box. A Link with block-level content, such as an HStack with an icon, is not supported inside a clamped Text, because it breaks the clamp; place that composition outside the clamp. (#6021, fixed in #6038)
  • MobileNav: the drawer's content region is now a navigation landmark (<nav>) named like the drawer's dialog, so someone moving by landmarks on a phone finds the drawer's links, as they find SideNav's on a wide screen. SideNav items and a TopNav's drawer content both sit inside that one landmark. (#10130)
  • Under a coarse primary pointer (a touch screen as the main input), a button's touch press release now runs on the compositor. It keeps fading while the page's script is busy, instead of freezing at full strength and snapping off, and it paints nothing per frame. The release keeps the theme's exit motion timing. With any other pointer, a finger on a touch screen beside a mouse included, nothing changes. Under a coarse primary pointer, while a press is on or fading, Button paints it on its own ::before and sets isolation: isolate. At rest it adds neither, so a ::before you style, through xstyle or a className rule, merges into that layer only during a press. Style a child element to keep it unchanged. (#9783)
  • Under a coarse pointer, a SegmentedControl segment's touch target grows toward 44 px through an invisible hit area, stopping halfway to a neighbor. No segment changes size, and nothing changes under a mouse. (#10137)
  • SideNav: during a collapse, the copy of the expanded rail now paints at the rail's own level, just below the rail, instead of at z-index: 1 with the rail raised to 2. Page content stacks against the leaving rail as it does against the nav: a positioned sibling with no z-index no longer sits under the copy, and content positioned above the nav also covers the copy. The motion's timing and curve are unchanged, and Reduce Motion stays instant. (#10145)
  • Slider's value tooltip stays on its thumb in every frame of a drag and of the coast after a finger lifts. It trailed the thumb by up to 14 px, because it was anchored to a box that moved only when the owner rendered the new value. The tooltip now moves with the thumb by the same translate, and its anchor box keeps its place until the drag ends. (#10228)
  • DropdownMenu, ContextMenu and BreadcrumbItem menus without a header or footer: Tab or Shift+Tab on a row inside an open sub-menu flyout now closes every open level and the menu, calls onOpenChange(false) once, and lets focus move on from the trigger, as Tab already did from a top-level row (WAI-ARIA Menu Button). Before, the menu stayed open. A menu or sub-menu with a header or footer keeps its Tab cycle. (#8870)
  • useTableSelectionState, useTableTreeState, useTableColumnSettingsState and useTableColumnResize read their latest values as last committed. A render that React discards, as a suspended transition does, no longer reaches their handlers. "Select all rows" now selects the rows on screen, not those of a page still loading. A row's expand toggle, a column toggle and a keyboard resize also start from what is on screen. (#10176)
  • Timestamp: every value in the hover card now has a name for screen readers (WCAG 2.2 1.3.1). A copy button sits inside its row's value, so the card passes the description-list check, and a row without a label is named by its time zone's long name, which is visually hidden. (#9041)
  • A bottom toast now keeps its 16 px gap above the bottom safe-area inset instead of sitting on the inset's edge. Under a coarse pointer it clears at least 34 px plus that gap, even on a page that reports no inset (Safari reports one only with viewport-fit=cover). (#8047)
  • An empty toast viewport now has no box, so iOS Safari's bottom toolbar returns to the page color once the last toast leaves. Before, a toast swiped out through the bottom edge left its color on the toolbar until the page reloaded. (#8047)
  • A touch on a toast is now decided by its first move. A first move toward the toast's edge belongs to the swipe and never scrolls the page; any other first move leaves the page its scroll. The shared gesture host makes that claim, so importing Toast now brings in the host: about 24 KB gzip on its own (Toast from about 74 KB to 99 KB), and nothing more on a page whose other touch components already load it. LayerProvider without a Toast import is unchanged. (#8047)
  • A quick flick toward a toast's edge now dismisses it whatever its height. Before, a flick also had to travel 48 px (the distance that already dismisses a one-line toast), so on any toast up to 120 px tall a flick could only snap back; and its speed was timed by when the browser handled the touches rather than when they happened, which in browsers that deliver moves on the next frame made a quick flick look up to twice as slow. (#8047)
  • useImageMode samples the image once for a region written inline. The effect depended on the region object's identity, so the documented call shape (a fresh object literal each render) re-fetched and re-decoded the image on every render, and each result re-rendered, without end. The effect now depends on the region's four numbers. (#10183)

Performance

  • On a touch screen, a control that grows its touch target toward 44 px (CheckboxInput, RadioList, Switch, List rows, InfoTip, action groups) measures its neighbours in a shared pass. Each pass used to match every element on the page against the list of interactive selectors. The pass now keeps that list until an element is added, removed or moved, an attribute the list reads changes, or a control starts or stops its watch. It still reads every neighbour's box in each pass, so the touch targets are the same. Measured in Chromium at 4× CPU slowdown on a page with 240 interactive elements, a pass during a scroll took about 70% less time. (#10242)
  • While a Tooltip is open, the observer that follows its trigger through a scroll no longer reads layout to re-arm. It used to read the trigger's box once or twice and the viewport's size on each frame of a scroll. It now takes them from its own report. The Tooltip still checks its placement once per move, on the same frames as before. (#10235)

Documentation

... (truncated)

Commits
  • 2b827d6 chore(release): version packages for 0.7.10 (#10309)
  • af701d2 lint: add no-prevent-default-in-passive-react-handler (#10248)
  • 79cc4ac fix(core): a gesture on a gliding element lands where it is drawn (#10239)
  • b4fc684 perf(core): a touch hit-area pass keeps the page's interactive elements until...
  • 0d7a251 perf(Layer): the observer that follows a Tooltip's trigger re-arms from its o...
  • 6750b66 chore(core): Lab's PageControl reaches the shared animator, the Reduce Motion...
  • 332cc3b chore(core): split two long comments in LayerProvider and ToastViewport (#10244)
  • 1bc28f3 fix(Slider): the value tooltip stays on its thumb through a drag (#10228)
  • b8ae86f fix(core): a BottomSheet touch drag's close keeps its speed, and its scrim fa...
  • 2151c88 fix(AppShell): a second shell on a page gets its own main id (#10199)
  • Additional commits viewable in compare view

Updates @tailwindcss/vite from 4.3.3 to 4.3.5

Release notes

Sourced from @​tailwindcss/vite's releases.

v4.3.5

Fixed

  • Canonicalization: improve performance in projects with many functional variant values (e.g. a matchVariant plugin with thousands of values) (#20663)
  • Don't crash or create a fallback with the wrong color for a color-mix(…) without a color interpolation method (e.g. color-mix(var(--color-red-500)) or color-mix(currentcolor 50%, transparent)) (#20658, #20666)
  • Ensure @tailwindcss/oxide-wasm32-wasi loads instead of hanging forever (e.g. with NAPI_RS_FORCE_WASI=error or in WebContainers) (#20667)
  • Remove as: '*.css' from the @tailwindcss/turbopack setup in its README, because it breaks CSS modules (#20660)
  • Ignore <!-- and --> between top-level rules in CSS instead of throwing or swallowing the next rule (e.g. a { color: red } --> b { color: blue }) (#20665)
  • Ensure @tailwindcss/oxide-wasm32-wasi detects changed and new source files after the first scan (e.g. in WebContainers) (#20487)
  • Prevent type errors with skipLibCheck: false caused by imports of unshipped modules in the @tailwindcss/node type declarations (#20632)

v4.3.4

Added

  • Add @tailwindcss/turbopack, a Turbopack loader for using Tailwind CSS with Next.js (#20367)

Fixed

  • Ensure watch mode detects changes to symlinked @source files whose real paths aren't otherwise scanned (#20356)
  • Ensure variants using @scope wrap generated utilities instead of nesting inside them (#20369)
  • Ensure nested @scope rules preserve their scoping semantics when flattened (#20369)
  • Preserve declarations directly inside @scope by wrapping them in :where(:scope) (#20369)
  • Ensure generated utilities include a space in empty var() fallbacks (e.g. var(--tw-blur,) → var(--tw-blur, )) (#20373)
  • Canonicalization: convert arbitrary breakpoint and container query variants to named equivalents (e.g. max-[64rem]:flex → max-lg:flex) (#20380)
  • Prevent @tailwindcss/vite from crashing on every edit under Vite's experimental bundledDev mode (#20379)
  • Ensure @tailwindcss/oxide falls back to WASM on platforms without native bindings (#20383)
  • Extract class candidates from Ruby %w and %W literals using angle brackets or custom delimiters (e.g. %w<flex>, %w|flex|), including in Slim and Haml templates (#20387)
  • Preserve whitespace in --default(…) values in functional @utility definitions (e.g. --default(box alphabetic) no longer becomes boxalphabetic) (#20392)
  • Ensure automatic source detection respects negation-based .gitignore files (e.g. /* followed by !/… patterns) (#20397)
  • Ensure root theme('…') namespace lookups in JavaScript plugins and config files return the full namespace object instead of the value of its DEFAULT key (#20399)
  • Skip ignored directories when generating watch globs instead of walking their contents on every rebuild (#20408)
  • Drop invalid UTF-8 candidates during class detection (#20389)
  • Prevent @tailwindcss/vite from forcing full-page reloads for scanned files that Vite does not handle as modules (e.g. .php files) (#20414)
  • Canonicalization: don't merge utilities that reference different theme variables set to CSS-wide keywords like unset (#20417)
  • Don't generate utilities when a modifier is used that would otherwise be silently ignored (e.g. rounded-sm/[5], shadow-sm/foo, stroke-2/50) (#20419)
  • Preserve and, or, and not inside selectors in supports-[…] variants (e.g. supports-[selector(a:not(.foo))]:flex) (#20420)
  • Don't warn about Angular's ::ng-deep and :host-context() when optimizing CSS (#20434)
  • Don't generate CSS for candidates containing an empty additional modifier (e.g. bg-red-500/50/ and group-hover/foo//bar:flex) (#20466)
  • Ensure min-*, max-*, and container query variants with decimal values are sorted numerically (e.g. min-[40.25rem] before min-[40.5rem]) (#20512)
  • Ensure CSS comments ending with \*/ are closed correctly instead of swallowing the CSS that follows (e.g. /* C:\temp\*/) (#20508)
  • Improve style invalidation performance of group-* and peer-* variants (#20513)
  • Ensure cached compilers release their loadModule and loadStylesheet callbacks after compilation (#20531)
  • Canonicalization: preserve & when moving a pseudo-element into * or ** (e.g. [&_::before]:flex → **:[&::before]:flex) (#20550)
  • Ensure the Set.prototype.intersection polyfill in canonicalizeCandidates(…) returns the intersection instead of the first set on Node.js < 22 (#20562)
  • Canonicalization: ensure inline theme(…) alphas with more than 2 decimals migrate to a percentage modifier with the same opacity (e.g. theme(colors.red.500/.12345) → text-red-500/[12.345%], not text-red-500/[12.345]) (#20563)
  • Canonicalization: preserve inline theme(…) alphas as an arbitrary percentage when a custom --opacity-* theme value would change the opacity (e.g. theme(colors.red.500/50%) → text-red-500/[50%] with --opacity-50: 10%) (#20563)
  • Ensure the @property fallback isn't applied in Safari versions that no longer support margin-trim: inline (#20569)
  • Treat viewport units like dvmin and svi and font-relative units like cap and rex as lengths in arbitrary values (e.g. text-[10dvmin] generates font-size instead of color) (#20516)
  • Write plugin logs to stderr in tailwindcss canonicalize so they don't end up in the results on stdout (#20561)
  • Extract class shorthands on later lines when Pug text, comments, or quoted attribute values contain unbalanced brackets, or a quote that doesn't start a string (e.g. input(pattern=/"/.source)) (#20547, #20572)

... (truncated)

Changelog

Sourced from @​tailwindcss/vite's changelog.

[4.3.5] - 2026-11-06

Fixed

  • Canonicalization: improve performance in projects with many functional variant values (e.g. a matchVariant plugin with thousands of values) (#20663)
  • Don't crash or create a fallback with the wrong color for a color-mix(…) without a color interpolation method (e.g. color-mix(var(--color-red-500)) or color-mix(currentcolor 50%, transparent)) (#20658, #20666)
  • Ensure @tailwindcss/oxide-wasm32-wasi loads instead of hanging forever (e.g. with NAPI_RS_FORCE_WASI=error or in WebContainers) (#20667)
  • Remove as: '*.css' from the @tailwindcss/turbopack setup in its README, because it breaks CSS modules (#20660)
  • Ignore <!-- and --> between top-level rules in CSS instead of throwing or swallowing the next rule (e.g. a { color: red } --> b { color: blue }) (#20665)
  • Ensure @tailwindcss/oxide-wasm32-wasi detects changed and new source files after the first scan (e.g. in WebContainers) (#20487)
  • Prevent type errors with skipLibCheck: false caused by imports of unshipped modules in the @tailwindcss/node type declarations (#20632)

[4.3.4] - 2026-11-02

Added

  • Add @tailwindcss/turbopack, a Turbopack loader for using Tailwind CSS with Next.js (#20367)

Fixed

  • Ensure watch mode detects changes to symlinked @source files whose real paths aren't otherwise scanned (#20356)
  • Ensure variants using @scope wrap generated utilities instead of nesting inside them (#20369)
  • Ensure nested @scope rules preserve their scoping semantics when flattened (#20369)
  • Preserve declarations directly inside @scope by wrapping them in :where(:scope) (#20369)
  • Ensure generated utilities include a space in empty var() fallbacks (e.g. var(--tw-blur,) → var(--tw-blur, )) (#20373)
  • Canonicalization: convert arbitrary breakpoint and container query variants to named equivalents (e.g. max-[64rem]:flex → max-lg:flex) (#20380)
  • Prevent @tailwindcss/vite from crashing on every edit under Vite's experimental bundledDev mode (#20379)
  • Ensure @tailwindcss/oxide falls back to WASM on platforms without native bindings (#20383)
  • Extract class candidates from Ruby %w and %W literals using angle brackets or custom delimiters (e.g. %w<flex>, %w|flex|), including in Slim and Haml templates (#20387)
  • Preserve whitespace in --default(…) values in functional @utility definitions (e.g. --default(box alphabetic) no longer becomes boxalphabetic) (#20392)
  • Ensure automatic source detection respects negation-based .gitignore files (e.g. /* followed by !/… patterns) (#20397)
  • Ensure root theme('…') namespace lookups in JavaScript plugins and config files return the full namespace object instead of the value of its DEFAULT key (#20399)
  • Skip ignored directories when generating watch globs instead of walking their contents on every rebuild (#20408)
  • Drop invalid UTF-8 candidates during class detection (#20389)
  • Prevent @tailwindcss/vite from forcing full-page reloads for scanned files that Vite does not handle as modules (e.g. .php files) (#20414)
  • Canonicalization: don't merge utilities that reference different theme variables set to CSS-wide keywords like unset (#20417)
  • Don't generate utilities when a modifier is used that would otherwise be silently ignored (e.g. rounded-sm/[5], shadow-sm/foo, stroke-2/50) (#20419)
  • Preserve and, or, and not inside selectors in supports-[…] variants (e.g. supports-[selector(a:not(.foo))]:flex) (#20420)
  • Don't warn about Angular's ::ng-deep and :host-context() when optimizing CSS (#20434)
  • Don't generate CSS for candidates containing an empty additional modifier (e.g. bg-red-500/50/ and group-hover/foo//bar:flex) (#20466)
  • Ensure min-*, max-*, and container query variants with decimal values are sorted numerically (e.g. min-[40.25rem] before min-[40.5rem]) (#20512)
  • Ensure CSS comments ending with \*/ are closed correctly instead of swallowing the CSS that follows (e.g. /* C:\temp\*/) (#20508)
  • Improve style invalidation performance of group-* and peer-* variants (#20513)
  • Ensure cached compilers release their loadModule and loadStylesheet callbacks after compilation (#20531)
  • Canonicalization: preserve & when moving a pseudo-element into * or ** (e.g. [&_::before]:flex → **:[&::before]:flex) (#20550)
  • Ensure the Set.prototype.intersection polyfill in canonicalizeCandidates(…) returns the intersection instead of the first set on Node.js < 22 (#20562)
  • Canonicalization: ensure inline theme(…) alphas with more than 2 decimals migrate to a percentage modifier with the same opacity (e.g. theme(colors.red.500/.12345) → text-red-500/[12.345%], not text-red-500/[12.345]) (#20563)
  • Canonicalization: preserve inline theme(…) alphas as an arbitrary percentage when a custom --opacity-* theme value would change the opacity (e.g. theme(colors.red.500/50%) → text-red-500/[50%] with --opacity-50: 10%) (#20563)
  • Ensure the @property fallback isn't applied in Safari versions that no longer support margin-trim: inline (#20569)
  • Treat viewport units like dvmin and svi and font-relative units like cap and rex as lengths in arbitrary values (e.g. text-[10dvmin] generates font-size instead of color) (#20516)

... (truncated)

Commits

Updates @tanstack/react-query from 5.105.2 to 5.107.0

Release notes

Sourced from @​tanstack/react-query's releases.

@​tanstack/react-query-devtools@​5.107.0

Patch Changes

  • Updated dependencies [a4d72f7]:
    • @​tanstack/query-devtools@​5.107.0
    • @​tanstack/react-query@​5.107.0

@​tanstack/react-query-next-experimental@​5.107.0

Patch Changes

  • Updated dependencies []:
    • @​tanstack/react-query@​5.107.0

@​tanstack/react-query-persist-client@​5.107.0

Patch Changes

  • Updated dependencies []:
    • @​tanstack/query-persist-client-core@​5.107.0
    • @​tanstack/react-query@​5.107.0

@​tanstack/react-query@​5.107.0

Patch Changes

  • Updated dependencies [b6add89]:
    • @​tanstack/query-core@​5.107.0

@​tanstack/react-query-devtools@​5.106.1

Patch Changes

  • #12528 c4ed956 - fix({query,react-query,preact-query}-devtools): always render the devtools left-to-right regardless of the page direction or browser language
  • Updated dependencies [c4ed956]:
    • @​tanstack/query-devtools@​5.106.1
    • @​tanstack/react-query@​5.106.1

@​tanstack/react-query-next-experimental@​5.106.1

Patch Changes

  • Updated dependencies []:
    • @​tanstack/react-query@​5.106.1

@​tanstack/react-query-persist-client@​5.106.1

Patch Changes

  • Updated dependencies []:
    • @​tanstack/query-persist-client-core@​5.106.1
    • @​tanstack/react-query@​5.106.1

@​tanstack/react-query@​5.106.1

Patch Changes

... (truncated)

Changelog

Sourced from @​tanstack/react-query's changelog.

5.107.0

Patch Changes

  • Updated dependencies [b6add89]:
    • @​tanstack/query-core@​5.107.0

5.106.1

Patch Changes

  • Updated dependencies []:
    • @​tanstack/query-core@​5.106.1

5.106.0

Patch Changes

  • Updated dependencies []:
    • @​tanstack/query-core@​5.106.0

5.105.3

Patch Changes

Commits

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Nov 8, 2026
Bumps the npm group with 34 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@astryxdesign/core](https://github.com/meta/astryx/tree/HEAD/packages/core) | `0.2.0` | `0.7.10` |
| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.3.3` | `4.3.5` |
| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.105.2` | `5.107.0` |
| [@tanstack/react-query-devtools](https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools) | `5.105.2` | `5.107.0` |
| [@xyflow/react](https://github.com/xyflow/xyflow/tree/HEAD/packages/react) | `12.11.2` | `12.12.1` |
| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.7.15` | `1.7.18` |
| [client-zip](https://github.com/Touffy/client-zip) | `2.5.0` | `2.5.1` |
| [dotenv-cli](https://github.com/entropitor/dotenv-cli) | `11.0.0` | `11.1.0` |
| [drizzle-kit](https://github.com/drizzle-team/drizzle-orm) | `0.31.10` | `0.31.11` |
| [drizzle-orm](https://github.com/drizzle-team/drizzle-orm) | `0.45.2` | `0.45.4` |
| [gsap](https://github.com/greensock/GSAP) | `3.15.0` | `3.15.1` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `1.28.0` | `1.70.0` |
| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.22.0` | `8.23.1` |
| [@types/pg](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pg) | `8.20.3` | `8.23.1` |
| [posthog-js](https://github.com/PostHog/posthog-js) | `1.444.4` | `1.447.3` |
| [react](https://github.com/react/react/tree/HEAD/packages/react) | `19.2.8` | `19.3.1` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.18` | `19.3.0` |
| [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom) | `19.2.8` | `19.3.1` |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.2.4` | `19.3.0` |
| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.3.3` | `4.3.5` |
| [@astryxdesign/cli](https://github.com/meta/astryx/tree/HEAD/packages/cli) | `0.2.0` | `0.7.10` |
| [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome) | `2.4.5` | `2.6.6` |
| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.2.1` | `21.2.4` |
| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.2.0` | `21.2.4` |
| [@rolldown/plugin-babel](https://github.com/rolldown/plugins/tree/HEAD/packages/babel) | `0.2.3` | `0.3.0` |
| [@types/pg](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pg) | `8.20.3` | `8.23.1` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.18` | `19.3.0` |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.2.4` | `19.3.0` |
| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.5` | `6.2.1` |
| [@vitest/browser](https://github.com/vitest-dev/vitest/tree/HEAD/packages/browser) | `5.0.1` | `5.1.0` |
| [@vitest/browser-playwright](https://github.com/vitest-dev/vitest/tree/HEAD/packages/browser-playwright) | `5.0.1` | `5.1.0` |
| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `5.0.1` | `5.1.0` |
| [lint-staged](https://github.com/lint-staged/lint-staged) | `17.3.0` | `17.6.0` |
| [playwright](https://github.com/microsoft/playwright) | `1.63.0` | `1.65.0` |
| [tsx](https://github.com/privatenumber/tsx) | `4.23.4` | `4.23.15` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.3.5` | `8.3.6` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.1` | `5.1.0` |



Updates `@astryxdesign/core` from 0.2.0 to 0.7.10
- [Release notes](https://github.com/meta/astryx/releases)
- [Changelog](https://github.com/meta/astryx/blob/main/packages/core/CHANGELOG.md)
- [Commits](https://github.com/meta/astryx/commits/v0.7.10/packages/core)

Updates `@tailwindcss/vite` from 4.3.3 to 4.3.5
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.5/packages/@tailwindcss-vite)

Updates `@tanstack/react-query` from 5.105.2 to 5.107.0
- [Release notes](https://github.com/TanStack/query/releases)
- [Changelog](https://github.com/TanStack/query/blob/main/packages/react-query/CHANGELOG.md)
- [Commits](https://github.com/TanStack/query/commits/@tanstack/react-query@5.107.0/packages/react-query)

Updates `@tanstack/react-query-devtools` from 5.105.2 to 5.107.0
- [Release notes](https://github.com/TanStack/query/releases)
- [Changelog](https://github.com/TanStack/query/blob/main/packages/react-query-devtools/CHANGELOG.md)
- [Commits](https://github.com/TanStack/query/commits/@tanstack/react-query-devtools@5.107.0/packages/react-query-devtools)

Updates `@xyflow/react` from 12.11.2 to 12.12.1
- [Release notes](https://github.com/xyflow/xyflow/releases)
- [Changelog](https://github.com/xyflow/xyflow/blob/main/packages/react/CHANGELOG.md)
- [Commits](https://github.com/xyflow/xyflow/commits/@xyflow/react@12.12.1/packages/react)

Updates `better-auth` from 1.7.15 to 1.7.18
- [Release notes](https://github.com/better-auth/better-auth/releases)
- [Changelog](https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md)
- [Commits](https://github.com/better-auth/better-auth/commits/v1.7.18/packages/better-auth)

Updates `client-zip` from 2.5.0 to 2.5.1
- [Release notes](https://github.com/Touffy/client-zip/releases)
- [Changelog](https://github.com/Touffy/client-zip/blob/master/CHANGES.md)
- [Commits](Touffy/client-zip@v2.5.0...v2.5.1)

Updates `dotenv-cli` from 11.0.0 to 11.1.0
- [Release notes](https://github.com/entropitor/dotenv-cli/releases)
- [Commits](entropitor/dotenv-cli@v11.0.0...v11.1.0)

Updates `drizzle-kit` from 0.31.10 to 0.31.11
- [Release notes](https://github.com/drizzle-team/drizzle-orm/releases)
- [Commits](https://github.com/drizzle-team/drizzle-orm/compare/drizzle-kit@0.31.10...drizzle-kit@0.31.11)

Updates `drizzle-orm` from 0.45.2 to 0.45.4
- [Release notes](https://github.com/drizzle-team/drizzle-orm/releases)
- [Commits](drizzle-team/drizzle-orm@0.45.2...0.45.4)

Updates `gsap` from 3.15.0 to 3.15.1
- [Commits](greensock/GSAP@3.15.0...3.15.1)

Updates `lucide-react` from 1.28.0 to 1.70.0
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/1.70.0/packages/lucide-react)

Updates `pg` from 8.22.0 to 8.23.1
- [Changelog](https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md)
- [Commits](https://github.com/brianc/node-postgres/commits/pg@8.23.1/packages/pg)

Updates `@types/pg` from 8.20.3 to 8.23.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/pg)

Updates `posthog-js` from 1.444.4 to 1.447.3
- [Release notes](https://github.com/PostHog/posthog-js/releases)
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/PostHog/posthog-js/compare/posthog-js@1.444.4...posthog-js@1.447.3)

Updates `react` from 19.2.8 to 19.3.1
- [Release notes](https://github.com/react/react/releases)
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/react/react/commits/v19.3.1/packages/react)

Updates `@types/react` from 19.2.18 to 19.3.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `react-dom` from 19.2.8 to 19.3.1
- [Release notes](https://github.com/react/react/releases)
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/react/react/commits/v19.3.1/packages/react-dom)

Updates `@types/react-dom` from 19.2.4 to 19.3.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

Updates `tailwindcss` from 4.3.3 to 4.3.5
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.5/packages/tailwindcss)

Updates `@astryxdesign/cli` from 0.2.0 to 0.7.10
- [Release notes](https://github.com/meta/astryx/releases)
- [Changelog](https://github.com/meta/astryx/blob/main/packages/cli/CHANGELOG.md)
- [Commits](https://github.com/meta/astryx/commits/v0.7.10/packages/cli)

Updates `@biomejs/biome` from 2.4.5 to 2.6.6
- [Release notes](https://github.com/biomejs/biome/releases)
- [Changelog](https://github.com/biomejs/biome/blob/main/CHANGELOG_v1.md)
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.6.6/packages/@biomejs/biome)

Updates `@commitlint/cli` from 21.2.1 to 21.2.4
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.2.4/@commitlint/cli)

Updates `@commitlint/config-conventional` from 21.2.0 to 21.2.4
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.2.4/@commitlint/config-conventional)

Updates `@rolldown/plugin-babel` from 0.2.3 to 0.3.0
- [Release notes](https://github.com/rolldown/plugins/releases)
- [Changelog](https://github.com/rolldown/plugins/blob/main/packages/babel/CHANGELOG.md)
- [Commits](https://github.com/rolldown/plugins/commits/plugin-babel@0.3.0/packages/babel)

Updates `@types/pg` from 8.20.3 to 8.23.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/pg)

Updates `@types/react` from 19.2.18 to 19.3.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `@types/react-dom` from 19.2.4 to 19.3.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

Updates `@vitejs/plugin-react` from 6.0.5 to 6.2.1
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.2.1/packages/plugin-react)

Updates `@vitest/browser` from 5.0.1 to 5.1.0
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v5.1.0/packages/browser)

Updates `@vitest/browser-playwright` from 5.0.1 to 5.1.0
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v5.1.0/packages/browser-playwright)

Updates `@vitest/coverage-v8` from 5.0.1 to 5.1.0
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v5.1.0/packages/coverage-v8)

Updates `lint-staged` from 17.3.0 to 17.6.0
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md)
- [Commits](lint-staged/lint-staged@v17.3.0...v17.6.0)

Updates `playwright` from 1.63.0 to 1.65.0
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](microsoft/playwright@v1.63.0...v1.65.0)

Updates `tsx` from 4.23.4 to 4.23.15
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](privatenumber/tsx@v4.23.4...v4.23.15)

Updates `vite` from 8.3.5 to 8.3.6
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.3.6/packages/vite)

Updates `vitest` from 5.0.1 to 5.1.0
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v5.1.0/packages/vitest)

---
updated-dependencies:
- dependency-name: "@astryxdesign/cli"
  dependency-version: 0.7.8
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: "@astryxdesign/core"
  dependency-version: 0.7.8
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: "@biomejs/biome"
  dependency-version: 2.6.5
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: "@commitlint/cli"
  dependency-version: 21.2.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm
- dependency-name: "@commitlint/config-conventional"
  dependency-version: 21.2.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm
- dependency-name: "@rolldown/plugin-babel"
  dependency-version: 0.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: "@tailwindcss/vite"
  dependency-version: 4.3.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm
- dependency-name: "@tanstack/react-query"
  dependency-version: 5.106.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: "@tanstack/react-query-devtools"
  dependency-version: 5.106.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: "@types/pg"
  dependency-version: 8.23.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: "@types/pg"
  dependency-version: 8.23.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: "@types/react"
  dependency-version: 19.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: "@types/react"
  dependency-version: 19.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: "@types/react-dom"
  dependency-version: 19.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: "@types/react-dom"
  dependency-version: 19.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: "@vitejs/plugin-react"
  dependency-version: 6.2.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: "@vitest/browser"
  dependency-version: 5.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: "@vitest/browser-playwright"
  dependency-version: 5.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 5.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: "@xyflow/react"
  dependency-version: 12.12.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: better-auth
  dependency-version: 1.7.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm
- dependency-name: client-zip
  dependency-version: 2.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm
- dependency-name: dotenv-cli
  dependency-version: 11.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: drizzle-kit
  dependency-version: 0.31.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm
- dependency-name: drizzle-orm
  dependency-version: 0.45.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm
- dependency-name: gsap
  dependency-version: 3.15.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm
- dependency-name: lint-staged
  dependency-version: 17.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: lucide-react
  dependency-version: 1.69.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: pg
  dependency-version: 8.23.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: playwright
  dependency-version: 1.65.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: posthog-js
  dependency-version: 1.447.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: react
  dependency-version: 19.3.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: react-dom
  dependency-version: 19.3.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: tailwindcss
  dependency-version: 4.3.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm
- dependency-name: tsx
  dependency-version: 4.23.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm
- dependency-name: vite
  dependency-version: 8.3.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm
- dependency-name: vitest
  dependency-version: 5.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/npm-ab40e37b11 branch from f190699 to c694c1d Compare November 9, 2026 22:14

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