diff --git a/.changeset/pagination-solid2-migration.md b/.changeset/pagination-solid2-migration.md new file mode 100644 index 000000000..bcddff8d5 --- /dev/null +++ b/.changeset/pagination-solid2-migration.md @@ -0,0 +1,17 @@ +--- +"@solid-primitives/pagination": major +--- + +Migrate to Solid.js v2.0 (beta.10) + +## Breaking Changes + +**Peer dependencies**: `solid-js@^2.0.0-beta.10` and `@solidjs/web@^2.0.0-beta.10` are now required. + +### `@solid-primitives/pagination` + +- `isServer` now imported from `@solidjs/web` (not `solid-js/web`) +- `createPagination`: page clamping when pages count decreases is now implemented via a derived memo instead of `createComputed` (which was removed in Solid 2.0). The clamping is reactive and automatic. +- `createInfiniteScroll`: removed `createResource` dependency (removed in Solid 2.0). Fetching is now implemented with `createEffect` and a cancellation pattern. The `pages.loading` and `pages.error` resource properties are no longer available; use `end()` or wrap the fetcher to handle errors externally. +- `batch()` calls removed — Solid 2.0 batches updates automatically via microtasks. Tests require `flush()` after signal writes to observe committed values. +- All internal signals use `{ ownedWrite: true }` to allow setters to be called from reactive scopes and event handlers without triggering ownership warnings. diff --git a/packages/pagination/README.md b/packages/pagination/README.md index fb57512a4..3ebf92dbb 100644 --- a/packages/pagination/README.md +++ b/packages/pagination/README.md @@ -24,6 +24,8 @@ yarn add @solid-primitives/pagination pnpm add @solid-primitives/pagination ``` +> **Peer dependencies:** `solid-js@^2.0.0-beta.10` and `@solidjs/web@^2.0.0-beta.10` + ## `createPagination` Provides an array with the properties to fill your pagination with and a page setter/getter. @@ -133,7 +135,7 @@ https://primitives.solidjs.community/playground/pagination/ ## `createInfiniteScroll` -Combines [`createResource`](https://www.solidjs.com/docs/latest/api#createresource) with [`IntersectionObserver`](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API) to provide an easy way to implement infinite scrolling. +Combines [`IntersectionObserver`](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API) with a page-based fetcher to provide an easy way to implement infinite scrolling. Browser-only: the loader and fetching are skipped on the server. ### How to use it @@ -171,7 +173,7 @@ return ( ```ts function createInfiniteScroll(fetcher: (page: number) => Promise): [ pages: Accessor, - loader: Directive, + loader: (el: Element) => void, options: { page: Accessor; setPage: Setter; diff --git a/packages/pagination/package.json b/packages/pagination/package.json index c85d28cd9..81841bfe7 100644 --- a/packages/pagination/package.json +++ b/packages/pagination/package.json @@ -59,9 +59,11 @@ "@solid-primitives/utils": "workspace:^" }, "peerDependencies": { - "solid-js": "^1.6.12" + "@solidjs/web": "^2.0.0-beta.14", + "solid-js": "^2.0.0-beta.14" }, "devDependencies": { - "solid-js": "^1.9.7" + "@solidjs/web": "2.0.0-beta.14", + "solid-js": "2.0.0-beta.14" } } diff --git a/packages/pagination/src/index.ts b/packages/pagination/src/index.ts index bc5c9704f..9a97047f7 100644 --- a/packages/pagination/src/index.ts +++ b/packages/pagination/src/index.ts @@ -1,17 +1,14 @@ import { access, tryOnCleanup, noop, type MaybeAccessor } from "@solid-primitives/utils"; import { type Accessor, - batch, - type JSX, type Setter, - createComputed, + createEffect, createMemo, - createResource, createSignal, onCleanup, untrack, } from "solid-js"; -import { isServer } from "solid-js/web"; +import { isServer, type JSX } from "@solidjs/web"; /** * createSegment - create a reactive segment out of an array of items @@ -34,15 +31,15 @@ export const createSegment = ( ): Accessor => { let previousStart = NaN, previousEnd = NaN; - return createMemo(previous => { + return createMemo(prev => { const currentItems = access(items); const start = (page() - 1) * access(limit); const end = Math.min(start + access(limit), currentItems.length); if ( - previous && - ((previous.length === 0 && end <= start) || (start === previousStart && end === previousEnd)) + prev && + ((prev.length === 0 && end <= start) || (start === previousStart && end === previousEnd)) ) { - return previous; + return prev; } previousStart = start; previousEnd = end; @@ -137,28 +134,25 @@ export const createPagination = ( options?: MaybeAccessor, ): [props: Accessor, page: Accessor, setPage: Setter] => { const opts = createMemo(() => Object.assign({}, PAGINATION_DEFAULTS, access(options))); - const [page, _setPage] = createSignal(opts().initialPage || 1); + // ownedWrite allows setPage to be called from event handlers and reactive scopes + const [rawPage, setRawPage] = createSignal(opts().initialPage || 1, { ownedWrite: true }); - // do not allow pages beyond the number of pages in case the latter changes const setPage = (p: number | ((_p: number) => number)) => { if (typeof p === "function") { p = p(page()); } if (p < 1) { - return _setPage(1); + return setRawPage(1); } const pages = opts().pages; if (p > pages) { - return _setPage(pages); + return setRawPage(pages); } - return _setPage(p); + return setRawPage(p); }; - // normalize in case the number of pages changes, do not run the first time - createComputed(previous => { - opts().pages; - return previous ? setPage(untrack(page)) : true; - }); + // Clamp page to valid range reactively — handles page count decreasing below current page + const page = createMemo(() => Math.max(1, Math.min(rawPage(), opts().pages))); const goPage = (p: number | ((p: number) => number), ev: KeyboardEvent) => { setPage(p); @@ -182,31 +176,29 @@ export const createPagination = ( const maxPages = createMemo(() => Math.min(opts().maxPages, opts().pages)); - const pages = createMemo( - previous => - [...Array(opts().pages)].map( - (_, i) => - previous[i] || - ((pageNo: number) => - Object.defineProperties( - isServer - ? { children: pageNo.toString() } - : { - children: pageNo.toString(), - onClick: [setPage, pageNo] as const, - onKeyUp: [onKeyUp, pageNo] as const, - }, - { - "aria-current": { - get: () => (page() === pageNo ? "true" : undefined), - set: noop, - enumerable: true, + const pages = createMemo(prev => + [...Array(opts().pages)].map( + (_, i) => + (prev ?? [])[i] || + ((pageNo: number) => + Object.defineProperties( + isServer + ? { children: pageNo.toString() } + : { + children: pageNo.toString(), + onClick: [setPage, pageNo] as const, + onKeyUp: [onKeyUp, pageNo] as const, }, - page: { value: pageNo, enumerable: false }, + { + "aria-current": { + get: () => (page() === pageNo ? "true" : undefined), + set: noop, + enumerable: true, }, - ))(i + 1), - ), - [], + page: { value: pageNo, enumerable: false }, + }, + ))(i + 1), + ), ); const first = Object.defineProperties( isServer @@ -359,15 +351,15 @@ export type _E = JSX.Element; * const [pages, loader, { page, setPage, setPages, end, setEnd }] = createInfiniteScroll(fetcher); * ``` * @param fetcher `(page: number) => Promise` - * @return `pages()` is an accessor contains array of contents - * @property `pages.loading` is a boolean indicator for the loading state - * @property `pages.error` contains any error encountered - * @return `infiniteScrollLoader` is a directive used to set the loader element - * @method `page` is an accessor that contains page number + * @return `pages()` is an accessor that contains the accumulated array of all fetched items + * @return `loader` is a ref function to attach to the sentinel element that triggers loading + * @method `page` is an accessor that contains the current page number * @method `setPage` allows to manually change the page number - * @method `setPages` allows to manually change the contents of the page - * @method `end` is a boolean indicator for end of the page - * @method `setEnd` allows to manually change the end + * @method `setPages` allows to manually replace the accumulated items + * @method `end` is a boolean indicator for end of the content + * @method `setEnd` allows to manually change the end state + * @method `fetching` is true while a page fetch is in progress + * @method `error` contains the last fetch error, or undefined if the last fetch succeeded */ export function createInfiniteScroll(fetcher: (page: number) => Promise): [ pages: Accessor, @@ -378,16 +370,21 @@ export function createInfiniteScroll(fetcher: (page: number) => Promise) setPages: Setter; end: Accessor; setEnd: Setter; + fetching: Accessor; + error: Accessor; }, ] { - const [pages, setPages] = createSignal([]); - const [page, setPage] = createSignal(0); - const [end, setEnd] = createSignal(false); + // ownedWrite allows setters to be called from reactive scopes and event handlers + const [pages, setPages] = createSignal([], { ownedWrite: true }); + const [page, setPage] = createSignal(0, { ownedWrite: true }); + const [end, setEnd] = createSignal(false, { ownedWrite: true }); + const [fetching, setFetching] = createSignal(false, { ownedWrite: true }); + const [error, setError] = createSignal(undefined, { ownedWrite: true }); let add: (el: Element) => void = noop; if (!isServer) { const io = new IntersectionObserver(e => { - if (e.length > 0 && e[0]!.isIntersecting && !end() && !contents.loading) { + if (e.length > 0 && e[0]!.isIntersecting && !end() && !fetching()) { setPage(p => p + 1); } }); @@ -396,28 +393,44 @@ export function createInfiniteScroll(fetcher: (page: number) => Promise) io.observe(el); tryOnCleanup(() => io.unobserve(el)); }; - } - const [contents] = createResource(page, fetcher); - - createComputed(() => { - const content = contents.latest; - if (!content) return; - batch(() => { - if (content.length === 0) setEnd(true); - setPages(p => [...p, ...content]); - }); - }); + createEffect( + () => page(), + currentPage => { + let cancelled = false; + setFetching(true); + fetcher(currentPage) + .then(content => { + if (cancelled) return; + setError(undefined); + if (content.length === 0) setEnd(true); + setPages(p => [...p, ...content]); + setFetching(false); + }) + .catch(err => { + if (cancelled) return; + setError(err); + setEnd(true); + setFetching(false); + }); + return () => { + cancelled = true; + }; + }, + ); + } return [ pages, add, { - page: page, - setPage: setPage, - setPages: setPages, - end: end, - setEnd: setEnd, + page, + setPage, + setPages, + end, + setEnd, + fetching, + error, }, ]; } diff --git a/packages/pagination/test/index.test.ts b/packages/pagination/test/index.test.ts index 8d168f47d..a2c4fc91c 100644 --- a/packages/pagination/test/index.test.ts +++ b/packages/pagination/test/index.test.ts @@ -1,5 +1,5 @@ import { describe, test, expect } from "vitest"; -import { createMemo, createRoot, createSignal } from "solid-js"; +import { createMemo, createRoot, createSignal, flush } from "solid-js"; import { createInfiniteScroll, createPagination, @@ -8,39 +8,45 @@ import { } from "../src/index.js"; describe("createPagination", () => { - test("createPagination returns page getter and setter", () => - createRoot(dispose => { + test("createPagination returns page getter and setter", () => { + const { page, setPage, dispose } = createRoot(dispose => { const [, page, setPage] = createPagination({ pages: 100 }); - expect(page(), "initial value should be 1").toBe(1); - setPage(2); - expect(page(), "value after change should be 2").toBe(2); - dispose(); - })); + return { page, setPage, dispose }; + }); + expect(page(), "initial value should be 1").toBe(1); + setPage(2); + flush(); + expect(page(), "value after change should be 2").toBe(2); + dispose(); + }); - test("createPagination returns props", () => - createRoot(dispose => { + test("createPagination returns props", () => { + const { paginationProps, page, setPage, dispose } = createRoot(dispose => { const [paginationProps, page, setPage] = createPagination({ pages: 100 }); - expect(paginationProps().map(({ children }) => children)).toEqual([ - "|<", - "<", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - ">", - ">|", - ]); - expect(paginationProps().findIndex(({ ["aria-current"]: current }) => current)).toBe(2); - setPage(page() + 1); - expect(paginationProps().findIndex(({ ["aria-current"]: current }) => current)).toBe(3); - dispose(); - })); + return { paginationProps, page, setPage, dispose }; + }); + expect(paginationProps().map(({ children }) => children)).toEqual([ + "|<", + "<", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + ">", + ">|", + ]); + expect(paginationProps().findIndex(({ ["aria-current"]: current }) => current)).toBe(2); + setPage(page() + 1); + flush(); + expect(paginationProps().findIndex(({ ["aria-current"]: current }) => current)).toBe(3); + dispose(); + }); test("createPagination clamps start", () => createRoot(dispose => { @@ -53,40 +59,46 @@ describe("createPagination", () => { dispose(); })); - test("createPagination reacts to options update", () => - createRoot(dispose => { - const commonOptions = { - showFirst: false, - showPrev: false, - showNext: false, - showLast: false, - }; - const [options, setOptions] = createSignal({ ...commonOptions, pages: 10, maxPages: 20 }); - const [paginationProps, _page, _setPage] = createPagination(options); - expect(paginationProps().length, "initial pages").toBe(10); - setOptions({ ...commonOptions, pages: 5, maxPages: 10 }); - expect(paginationProps().length, "pages after change").toBe(5); - dispose(); - })); + test("createPagination reacts to options update", () => { + const commonOptions = { + showFirst: false, + showPrev: false, + showNext: false, + showLast: false, + }; + const [options, setOptions] = createSignal({ ...commonOptions, pages: 10, maxPages: 20 }); + const { paginationProps, dispose } = createRoot(dispose => { + const [paginationProps] = createPagination(options); + return { paginationProps, dispose }; + }); + expect(paginationProps().length, "initial pages").toBe(10); + setOptions({ ...commonOptions, pages: 5, maxPages: 10 }); + flush(); + expect(paginationProps().length, "pages after change").toBe(5); + dispose(); + }); - test("createPagination pages reused", () => - createRoot(dispose => { - const commonOptions = { - showFirst: false, - showPrev: false, - showNext: false, - showLast: false, - }; - const [options, setOptions] = createSignal({ ...commonOptions, pages: 3 }); - const [paginationProps, _page, _setPage] = createPagination(options); - const initialPages = paginationProps(); - setOptions({ ...commonOptions, pages: 2 }); - const updatedPages = paginationProps(); - expect(updatedPages.every((page, index) => Object.is(page, initialPages[index]))).toBe(true); - dispose(); - })); + test("createPagination pages reused", () => { + const commonOptions = { + showFirst: false, + showPrev: false, + showNext: false, + showLast: false, + }; + const [options, setOptions] = createSignal({ ...commonOptions, pages: 3 }); + const { paginationProps, dispose } = createRoot(dispose => { + const [paginationProps] = createPagination(options); + return { paginationProps, dispose }; + }); + const initialPages = paginationProps(); + setOptions({ ...commonOptions, pages: 2 }); + flush(); + const updatedPages = paginationProps(); + expect(updatedPages.every((page, index) => Object.is(page, initialPages[index]))).toBe(true); + dispose(); + }); - test("createPagination next back", () => { + test("createPagination next back", () => createRoot(dispose => { const [paginationProps, _page, _setPage] = createPagination({ pages: 100, @@ -101,116 +113,113 @@ describe("createPagination", () => { expect(next?.page, "next page should be 4").toStrictEqual(4); dispose(); - }); - }); + })); test("setting page below one will yield the first page", () => { - createRoot(dispose => { - const [_paginationProps, page, setPage] = createPagination({ - pages: 10, - maxPages: 5, - }); - - expect(page()).toBe(1); - setPage(0); - expect(page()).toBe(1); - setPage(-1); - expect(page()).toBe(1); - - dispose(); + const { page, setPage, dispose } = createRoot(dispose => { + const [, page, setPage] = createPagination({ pages: 10, maxPages: 5 }); + return { page, setPage, dispose }; }); + expect(page()).toBe(1); + setPage(0); + flush(); + expect(page()).toBe(1); + setPage(-1); + flush(); + expect(page()).toBe(1); + dispose(); }); test("setting page beyond the number pages will yield the last page", () => { - createRoot(dispose => { - const [_paginationProps, page, setPage] = createPagination({ - pages: 10, - maxPages: 5, - initialPage: 10, - }); - - expect(page()).toBe(10); - setPage(11); - expect(page()).toBe(10); - setPage(Infinity); - expect(page()).toBe(10); - - dispose(); + const { page, setPage, dispose } = createRoot(dispose => { + const [, page, setPage] = createPagination({ pages: 10, maxPages: 5, initialPage: 10 }); + return { page, setPage, dispose }; }); + expect(page()).toBe(10); + setPage(11); + flush(); + expect(page()).toBe(10); + setPage(Infinity); + flush(); + expect(page()).toBe(10); + dispose(); }); test("lowering the number of pages will not make the page go beyond it", () => { - createRoot(dispose => { - const [options, setOptions] = createSignal({ - pages: 10, - maxPages: 5, - initialPage: 10, - }); - const [_paginationProps, page, _setPage] = createPagination(options); - - expect(page()).toBe(10); - setOptions({ pages: 8, maxPages: 5 }); - expect(page()).toBe(8); - - dispose(); + const [options, setOptions] = createSignal({ + pages: 10, + maxPages: 5, + initialPage: 10, + }); + const { page, dispose } = createRoot(dispose => { + const [, page] = createPagination(options); + return { page, dispose }; }); + expect(page()).toBe(10); + setOptions({ pages: 8, maxPages: 5 }); + flush(); + expect(page()).toBe(8); + dispose(); }); }); describe("createSegment", () => { test("creates valid segments", () => { - createRoot(dispose => { + const [page, setPage] = createSignal(1); + const { segment, dispose } = createRoot(dispose => { const items = createMemo(() => Array.from({ length: 50 }, (_, i) => i + 1)); - const [page, setPage] = createSignal(1); - const segment = createSegment(items, 10, page); - - expect(segment()).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); - setPage(5); - expect(segment()).toEqual([41, 42, 43, 44, 45, 46, 47, 48, 49, 50]); - setPage(6); - expect(segment()).toEqual([]); - - dispose(); + return { segment: createSegment(items, 10, page), dispose }; }); + + expect(segment()).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); + setPage(5); + flush(); + expect(segment()).toEqual([41, 42, 43, 44, 45, 46, 47, 48, 49, 50]); + setPage(6); + flush(); + expect(segment()).toEqual([]); + dispose(); }); test("does not create the same segment twice", () => { - createRoot(dispose => { - const [length, setLength] = createSignal(50); + const [length, setLength] = createSignal(50); + const [page, setPage] = createSignal(1); + const { segment, dispose } = createRoot(dispose => { const items = createMemo(() => Array.from({ length: length() }, (_, i) => i + 1)); - const [page, setPage] = createSignal(1); - const segment = createSegment(items, 10, page); - - const seg1 = segment(); - setLength(10); - const seg2 = segment(); - expect(seg1).toBe(seg2); - setPage(2); - const seg3 = segment(); - setPage(3); - const seg4 = segment(); - expect(seg3).toBe(seg4); - - dispose(); + return { segment: createSegment(items, 10, page), dispose }; }); + + const seg1 = segment(); + setLength(10); + flush(); + const seg2 = segment(); + expect(seg1).toBe(seg2); + setPage(2); + flush(); + const seg3 = segment(); + setPage(3); + flush(); + const seg4 = segment(); + expect(seg3).toBe(seg4); + dispose(); }); test("creates a new segment if new items are added", () => { - createRoot(dispose => { - const [length, setLength] = createSignal(55); + const [length, setLength] = createSignal(55); + const [page] = createSignal(6); + const { segment, dispose } = createRoot(dispose => { const items = createMemo(() => Array.from({ length: length() }, (_, i) => i + 1)); - const [page, _setPage] = createSignal(6); - const segment = createSegment(items, 10, page); - - const seg1 = segment(); - expect(seg1).toEqual([51, 52, 53, 54, 55]); - setLength(57); - const seg2 = segment(); - expect(seg2).toEqual([51, 52, 53, 54, 55, 56, 57]); - expect(seg1).not.toBe(seg2); - - dispose(); + return { segment: createSegment(items, 10, page), dispose }; }); + + const seg1 = segment(); + expect(seg1).toEqual([51, 52, 53, 54, 55]); + setLength(57); + flush(); + const seg2 = segment(); + expect(seg2).toEqual([51, 52, 53, 54, 55, 56, 57]); + expect(seg1).not.toBe(seg2); + dispose(); }); }); @@ -222,14 +231,17 @@ global.IntersectionObserver = class { describe("createInfiniteScroll", () => { const fetcher = async (page: number) => Array.from({ length: page + 1 }, (_, i) => i); - test("createInfiniteScroll", () => - createRoot(dispose => { + test("createInfiniteScroll", () => { + const { pages, page, setPage, dispose } = createRoot(dispose => { const [pages, , { page, setPage }] = createInfiniteScroll(fetcher); - expect(pages(), "initial value should be []").toStrictEqual([]); + return { pages, page, setPage, dispose }; + }); + expect(pages(), "initial value should be []").toStrictEqual([]); - setPage(1); - expect(page(), "value should be 1").toStrictEqual(1); + setPage(1); + flush(); + expect(page(), "value should be 1").toStrictEqual(1); - dispose(); - })); + dispose(); + }); }); diff --git a/packages/pagination/test/server.test.ts b/packages/pagination/test/server.test.ts index dad2ca346..e06199796 100644 --- a/packages/pagination/test/server.test.ts +++ b/packages/pagination/test/server.test.ts @@ -1,21 +1,25 @@ import { describe, test, expect } from "vitest"; -import { createRoot, Suspense, createSignal } from "solid-js"; +import { createRoot, createSignal } from "solid-js"; import { createInfiniteScroll, createPagination } from "../src/index.js"; -import { renderToStringAsync } from "solid-js/web"; describe("createPagination", () => { - test("createPagination returns page getter and setter", () => + test("createPagination returns initial page", () => createRoot(dispose => { - const [, page, setPage] = createPagination({ pages: 100 }); + const [, page] = createPagination({ pages: 100 }); expect(page(), "initial value should be 1").toBe(1); - setPage(2); - expect(page(), "value after change should be 2").toBe(2); dispose(); })); - test("createPagination returns props", () => + test("createPagination respects initialPage", () => createRoot(dispose => { - const [paginationProps, page, setPage] = createPagination({ pages: 100 }); + const [, page] = createPagination({ pages: 100, initialPage: 5 }); + expect(page(), "initial value should be 5").toBe(5); + dispose(); + })); + + test("createPagination returns props on server", () => + createRoot(dispose => { + const [paginationProps] = createPagination({ pages: 100 }); expect(paginationProps().map(({ children }) => children)).toEqual([ "|<", "<", @@ -32,67 +36,42 @@ describe("createPagination", () => { ">", ">|", ]); - expect(paginationProps().findIndex(({ ["aria-current"]: current }) => current)).toBe(2); - setPage(page() + 1); - expect(paginationProps().findIndex(({ ["aria-current"]: current }) => current)).toBe(3); dispose(); })); test("createPagination clamps start", () => createRoot(dispose => { - const [paginationProps, _page, _setPage] = createPagination({ - pages: 10, - maxPages: 13, - }); + const [paginationProps] = createPagination({ pages: 10, maxPages: 13 }); const extraProps = 4; expect(paginationProps().length, "pages").toBe(10 + extraProps); dispose(); })); - test("createPagination pages reused", () => + test("createPagination pages reused with reactive options", () => { + const commonOptions = { + showFirst: false, + showPrev: false, + showNext: false, + showLast: false, + }; + const [options] = createSignal({ ...commonOptions, pages: 3 }); createRoot(dispose => { - const commonOptions = { - showFirst: false, - showPrev: false, - showNext: false, - showLast: false, - }; - const [options, setOptions] = createSignal({ ...commonOptions, pages: 3 }); - const [paginationProps, _page, _setPage] = createPagination(options); - const initialPages = paginationProps(); - setOptions({ ...commonOptions, pages: 2 }); - const updatedPages = paginationProps(); - expect(updatedPages.every((page, index) => Object.is(page, initialPages[index]))).toBe(true); + const [paginationProps] = createPagination(options); + expect(paginationProps().length, "initial pages").toBe(3); dispose(); - })); + }); + }); }); describe("createInfiniteScroll", () => { const fetcher = async (page: number) => Array.from({ length: page + 1 }, (_, i) => i); - test("createInfiniteScroll", async () => { - let run = 0; - - await new Promise(resolve => { - renderToStringAsync(() => { - Suspense({ - get children() { - const [pages] = createInfiniteScroll(fetcher); - - if (run === 0) { - expect(pages(), "initial run").toEqual([]); - } else { - expect(pages(), "after fetcher resolved").toEqual([0]); - resolve(); - } - - run++; - return ""; - }, - }); - }); - }); - - expect(run).toBe(2); - }); + test("createInfiniteScroll returns empty state on server", () => + createRoot(dispose => { + const [pages, , { page, end }] = createInfiniteScroll(fetcher); + expect(pages(), "initial pages should be empty").toEqual([]); + expect(page(), "initial page should be 0").toBe(0); + expect(end(), "initial end should be false").toBe(false); + dispose(); + })); }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ee1923c5f..c23a67407 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: devDependencies: '@babel/core': specifier: ^7.27.0 - version: 7.27.4 + version: 7.29.0 '@changesets/cli': specifier: ^2.29.4 version: 2.29.4 @@ -34,7 +34,7 @@ importers: version: 8.34.0(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3) babel-preset-solid: specifier: 2.0.0-beta.14 - version: 2.0.0-beta.14(@babel/core@7.27.4)(solid-js@2.0.0-beta.14) + version: 2.0.0-beta.14(@babel/core@7.29.0)(solid-js@2.0.0-beta.14) esbuild: specifier: ^0.25.5 version: 0.25.5 @@ -727,9 +727,12 @@ importers: specifier: workspace:^ version: link:../utils devDependencies: + '@solidjs/web': + specifier: 2.0.0-beta.14 + version: 2.0.0-beta.14(solid-js@2.0.0-beta.14) solid-js: - specifier: ^1.9.7 - version: 1.9.7 + specifier: 2.0.0-beta.14 + version: 2.0.0-beta.14 packages/permission: devDependencies: @@ -1110,13 +1113,13 @@ importers: devDependencies: '@babel/core': specifier: ^7.27.0 - version: 7.27.4 + version: 7.29.0 '@solidjs/web': specifier: 2.0.0-beta.14 version: 2.0.0-beta.14(solid-js@2.0.0-beta.14) babel-preset-solid: specifier: 2.0.0-beta.14 - version: 2.0.0-beta.14(@babel/core@7.27.4)(solid-js@2.0.0-beta.14) + version: 2.0.0-beta.14(@babel/core@7.29.0)(solid-js@2.0.0-beta.14) solid-js: specifier: 2.0.0-beta.14 version: 2.0.0-beta.14 @@ -1194,7 +1197,7 @@ importers: version: 2.0.0-beta.17(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14) '@tanstack/solid-start': specifier: ^2.0.0-beta.17 - version: 2.0.0-beta.18(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite-plugin-solid@3.0.0-next.5(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite@8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)))(vite@8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)) + version: 2.0.0-beta.18(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite-plugin-solid@3.0.0-next.5(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite@8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)))(vite@8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)) clsx: specifier: ^2.0.0 version: 2.1.1 @@ -1243,7 +1246,7 @@ importers: version: 8.5.5 react: specifier: ^19.2.5 - version: 19.2.6 + version: 19.2.5 tailwindcss: specifier: 3.3.3 version: 3.3.3 @@ -1252,10 +1255,10 @@ importers: version: 4.0.0 vite: specifier: ^8.0.8 - version: 8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0) + version: 8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0) vite-plugin-solid: specifier: 3.0.0-next.5 - version: 3.0.0-next.5(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite@8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)) + version: 3.0.0-next.5(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite@8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)) packages: @@ -1263,10 +1266,6 @@ packages: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - '@ardatan/relay-compiler@12.0.0': resolution: {integrity: sha512-9anThAaj1dQr6IGmzBMcfzOQKTa5artjuPmw8NYK/fiGEMjADbSguBY2FMDykt+QhilR3wc9VA/3yVju7JHg7Q==} hasBin: true @@ -1288,18 +1287,10 @@ packages: resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.27.5': - resolution: {integrity: sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==} - engines: {node: '>=6.9.0'} - '@babel/compat-data@7.29.3': resolution: {integrity: sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==} engines: {node: '>=6.9.0'} - '@babel/core@7.27.4': - resolution: {integrity: sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==} - engines: {node: '>=6.9.0'} - '@babel/core@7.29.0': resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} engines: {node: '>=6.9.0'} @@ -1316,10 +1307,6 @@ packages: resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.27.2': - resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.28.6': resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} engines: {node: '>=6.9.0'} @@ -1342,20 +1329,10 @@ packages: resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.27.1': - resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} - engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.28.6': resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.27.3': - resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-module-transforms@7.28.6': resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} engines: {node: '>=6.9.0'} @@ -1370,10 +1347,6 @@ packages: resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.28.6': - resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==} - engines: {node: '>=6.9.0'} - '@babel/helper-replace-supers@7.27.1': resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==} engines: {node: '>=6.9.0'} @@ -1400,19 +1373,10 @@ packages: resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.27.6': - resolution: {integrity: sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==} - engines: {node: '>=6.9.0'} - '@babel/helpers@7.29.2': resolution: {integrity: sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.27.5': - resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==} - engines: {node: '>=6.0.0'} - hasBin: true - '@babel/parser@7.29.3': resolution: {integrity: sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==} engines: {node: '>=6.0.0'} @@ -1455,12 +1419,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.28.6': - resolution: {integrity: sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-object-rest-spread@7.8.3': resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: @@ -1616,10 +1574,6 @@ packages: resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.27.4': - resolution: {integrity: sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==} - engines: {node: '>=6.9.0'} - '@babel/traverse@7.29.0': resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} engines: {node: '>=6.9.0'} @@ -2325,6 +2279,9 @@ packages: '@jridgewell/sourcemap-codec@1.5.0': resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} @@ -2381,8 +2338,8 @@ packages: resolution: {integrity: sha512-hAX0pT/73190NLqBPPWSdBVGtbY6VOhWYK3qqHqtXQ1gK7kS2yz4+ivsN07hpJ6I3aeMtKP6J6npsEKOAzuTLA==} engines: {node: '>=20.0'} - '@oxc-project/types@0.130.0': - resolution: {integrity: sha512-ibD2usx9JRu7f5pu2tMKMI4cpA4NgXJQoYRP4pQ7Pxmn1l6k/53qWtQWZayhYy3X4QZkt90Ot+mJEaeXouio6Q==} + '@oxc-project/types@0.127.0': + resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==} '@peculiar/asn1-schema@2.3.13': resolution: {integrity: sha512-3Xq3a01WkHRZL8X04Zsfg//mGaA21xlL4tlVn4v2xGT0JStiztATRkMwa5b+f/HXmY2smsiLXYK46Gwgzvfg3g==} @@ -2413,97 +2370,97 @@ packages: '@repeaterjs/repeater@3.0.6': resolution: {integrity: sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==} - '@rolldown/binding-android-arm64@1.0.1': - resolution: {integrity: sha512-fJI3I0r3C3Oj/zdBCpaCmBRZYf07xpaq4yCfDDoSFm+beWNzbIl26puW8RraUdugoJw/95zerNOn6jasAhzSmg==} + '@rolldown/binding-android-arm64@1.0.0-rc.17': + resolution: {integrity: sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.1': - resolution: {integrity: sha512-cKnAhWEsV7TPcA/5EAteDp6KcJZBQ2G+BqE7zayMMi7kMvwRsbv7WT9aOnn0WNl4SKEIf43vjS31iUPu80nzXg==} + '@rolldown/binding-darwin-arm64@1.0.0-rc.17': + resolution: {integrity: sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.1': - resolution: {integrity: sha512-YKrVwQjIRBPo+5G/u03wGjbdy4q7pyzCe93DK9VJ7zkVmeg8LJ7GbgsiHWdR4xSoe4CAXRD7Bcjgbtr64bkXNg==} + '@rolldown/binding-darwin-x64@1.0.0-rc.17': + resolution: {integrity: sha512-SUSDOI6WwUVNcWxd02QEBjLdY1VPHvlEkw6T/8nYG322iYWCTxRb1vzk4E+mWWYehTp7ERibq54LSJGjmouOsw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.1': - resolution: {integrity: sha512-z/oBsREo46SsFqBwYtFe0kpJeBijAT48O/WXLI4suiCLBkr03RTtTJMCzSdDd2znlh8VJizL09XVkQgk8IZonw==} + '@rolldown/binding-freebsd-x64@1.0.0-rc.17': + resolution: {integrity: sha512-hwnz3nw9dbJ05EDO/PvcjaaewqqDy7Y1rn1UO81l8iIK1GjenME75dl16ajbvSSMfv66WXSRCYKIqfgq2KCfxw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.1': - resolution: {integrity: sha512-ik8q7GM11zxvYxFc2PeDcT6TBvhCQMaUxfph/M5l9sKuTs/Sjg3L+Byw0F7w0ZVLBZmx30P+gG0ECzzN+MFcmQ==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.17': + resolution: {integrity: sha512-IS+W7epTcwANmFSQFrS1SivEXHtl1JtuQA9wlxrZTcNi6mx+FDOYrakGevvvTwgj2JvWiK8B29/qD9BELZPyXQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.1': - resolution: {integrity: sha512-QoSx2EkyrrdZ6kcyE8stqZ62t0Yra8Fs5ia9lOxJrh6TMQJK7gQKmscdTHf7pOXKREKrVwOtJcQG3qVSfc866A==} + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.17': + resolution: {integrity: sha512-e6usGaHKW5BMNZOymS1UcEYGowQMWcgZ71Z17Sl/h2+ZziNJ1a9n3Zvcz6LdRyIW5572wBCTH/Z+bKuZouGk9Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.0.1': - resolution: {integrity: sha512-uwNwFpwKeNiZawfAWBgg0VIztPTV3ihhh1vV334h9ivnNLorxnQMU6Fz8wG1Zb4Qh9LC1/MkcyT3YlDXG3Rsgg==} + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.17': + resolution: {integrity: sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.0.1': - resolution: {integrity: sha512-zY1bul7OWr7DFBiJ++wofXvnr8B45ce3QsQUhKrIhXsygAh7bTkwyeM1bi1a2g5C/yC/N8TZyGDEoMfm/l9mpg==} + '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17': + resolution: {integrity: sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.0.1': - resolution: {integrity: sha512-0frlsT/f4Ft6I7SMESTKnF3cZsdicQn1dCMkF/jT9wDLE+gGoiQfv1nmT9e+s7s/fekvvy6tZM2jHvI2tkbJDQ==} + '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17': + resolution: {integrity: sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.0.1': - resolution: {integrity: sha512-XABVmGp9Tg0WspTVvwduTc4fpqy6JnAUrSQe6OuyqD/03nI7r0O9OWUkMIwFrjKAIqolvqoA4ZrJppgwE0Gxmw==} + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.17': + resolution: {integrity: sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.0.1': - resolution: {integrity: sha512-bV4fzswuzVcKD90o/VM6QqKxnxlDq0g2BISDLNVmxrnhpv1DDbyPhCIjYfvzYLV+MvkKKnQt2Q6AO86SEBULUQ==} + '@rolldown/binding-linux-x64-musl@1.0.0-rc.17': + resolution: {integrity: sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.0.1': - resolution: {integrity: sha512-/Mh0Zhq3OP7fVs0kcQHZP6lZEthMGTaSf8UBQYSFEZDWGXXlEC+nJ6EqenaK2t4LBXMe3A+K/G2BVXXdtOr4PQ==} + '@rolldown/binding-openharmony-arm64@1.0.0-rc.17': + resolution: {integrity: sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.0.1': - resolution: {integrity: sha512-+1xc9X45l8ufsBAm6Gjvx2qDRIY9lTVt0cgWNcJ+1gdhXvkbxePA60yRTwSTuXL09CMhyJmjpV7E3NoyxbqFQQ==} + '@rolldown/binding-wasm32-wasi@1.0.0-rc.17': + resolution: {integrity: sha512-LEXei6vo0E5wTGwpkJ4KoT3OZJRnglwldt5ziLzOlc6qqb55z4tWNq2A+PFqCJuvWWdP53CVhG1Z9NtToDPJrA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.1': - resolution: {integrity: sha512-1D+UqZdfnuR+Jy1GgMJwi85bD40H21uNmOPRWQhw4oRSuolZ/B5rixZ45DK2KXOTCvmVCecauWgEhbw8bI7tOw==} + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17': + resolution: {integrity: sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.1': - resolution: {integrity: sha512-INAycaWuhlOK3wk4mRHGsdgwYWmd9cChdPdE9bwWmy6rn9VqVNYNFGhOdXrofXUxwHIncSiPNb8tNm8knDVIeQ==} + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.17': + resolution: {integrity: sha512-3hkiolcUAvPB9FLb3UZdfjVVNWherN1f/skkGWJP/fgSQhYUZpSIRr0/I8ZK9TkF3F7kxvJAk0+IcKvPHk9qQg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -2511,8 +2468,8 @@ packages: '@rolldown/pluginutils@1.0.0-beta.40': resolution: {integrity: sha512-s3GeJKSQOwBlzdUrj4ISjJj5SfSh+aqn0wjOar4Bx95iV1ETI7F6S/5hLcfAxZ9kXDcyrAkxPlqmd1ZITttf+w==} - '@rolldown/pluginutils@1.0.1': - resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} + '@rolldown/pluginutils@1.0.0-rc.17': + resolution: {integrity: sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==} '@rollup/rollup-android-arm-eabi@4.43.0': resolution: {integrity: sha512-Krjy9awJl6rKbruhQDgivNbD1WuLb8xAclM4IR4cN5pHGAs2oIMMQJEiC3IC/9TZJ+QZkmZhlMO/6MBGxPidpw==} @@ -2873,8 +2830,8 @@ packages: '@tauri-apps/plugin-store@2.0.0': resolution: {integrity: sha512-l4xsbxAXrKGdBdYNNswrLfcRv3v1kOatdycOcVPYW+jKwkznCr1HEOrPXkPhXsZLSLyYmNXpgfOmdSZNmcykDg==} - '@tybys/wasm-util@0.10.2': - resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} + '@tybys/wasm-util@0.10.1': + resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -3184,13 +3141,8 @@ packages: babel-dead-code-elimination@1.0.12: resolution: {integrity: sha512-GERT7L2TiYcYDtYk1IpD+ASAYXjKbLTDPhBtYj7X1NuRMDTMtAx9kyBenub1Ev41lo91OHCKdmP+egTDmfQ7Ig==} - babel-plugin-jsx-dom-expressions@0.40.7: - resolution: {integrity: sha512-/O6JWUmjv03OI9lL2ry9bUjpD5S3PclM55RRJEyCdcFZ5W2SEA/59d+l2hNsk3gI6kiWRdRPdOtqZmsQzFN1pQ==} - peerDependencies: - '@babel/core': ^7.20.12 - - babel-plugin-jsx-dom-expressions@0.50.0-next.11: - resolution: {integrity: sha512-J9Z9T3khj0LxYMtcg1jNA5sdrZia/uWVLVUI0fuBgrjWfKju4+6wlzJSFnrGjFbydOaviykhpPB5FqZoufg+Vw==} + babel-plugin-jsx-dom-expressions@0.39.8: + resolution: {integrity: sha512-/MVOIIjonylDXnrWmG23ZX82m9mtKATsVHB7zYlPfDR9Vdd/NBE48if+wv27bSkBtyO7EPMUlcUc4J63QwuACQ==} peerDependencies: '@babel/core': ^7.20.12 @@ -3207,23 +3159,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - babel-preset-solid@1.9.12: - resolution: {integrity: sha512-LLqnuKVDlKpyBlMPcH6qEvs/wmS9a+NczppxJ3ryS/c0O5IiSFOIBQi9GzyiGDSbcJpx4Gr87jyFTos1MyEuWg==} - peerDependencies: - '@babel/core': ^7.0.0 - solid-js: ^1.9.12 - peerDependenciesMeta: - solid-js: - optional: true - - babel-preset-solid@2.0.0-beta.13: - resolution: {integrity: sha512-VX5fa4b6Sn92v+vFw3ITEvDv0f5vZZZhGgGcqYaAzjP7RF45+VZcZBoG0pHwCGA7UfXdYLUQuqXb4tG1uV3cQA==} + babel-preset-solid@1.9.6: + resolution: {integrity: sha512-HXTK9f93QxoH8dYn1M2mJdOlWgMsR88Lg/ul6QCZGkNTktjTE5HAf93YxQumHoCudLEtZrU1cFCMFOVho6GqFg==} peerDependencies: '@babel/core': ^7.0.0 - solid-js: ^2.0.0-beta.13 - peerDependenciesMeta: - solid-js: - optional: true babel-preset-solid@2.0.0-beta.14: resolution: {integrity: sha512-l0eX4t+vYmANQqEbRWz0d7b9zt2SybxX7/PfA5cyWGphSGiMtGahFT6XHXktDd8x16o5t1DyPIl7yfa/HAho3A==} @@ -4226,8 +4165,8 @@ packages: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} - isbot@5.1.40: - resolution: {integrity: sha512-yNeeynhhtIVRBk12tBV4eHNxwB42HzR4Q3Ea7vCOiJhImGaAIdIMrbJtacQlBizGLjUPw+akkFI5Dn9T70XoVQ==} + isbot@5.1.39: + resolution: {integrity: sha512-obH0yYahGXdzNxo+djmHhBYThUKDkz565cxkIlt2L9hXfv1NlaLKoDBHo6KxXsYrIXx2RK3x5vY36CfZcobxEw==} engines: {node: '>=18'} isexe@2.0.0: @@ -4972,8 +4911,8 @@ packages: resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==} engines: {node: '>=6.0.0'} - postcss@8.5.14: - resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==} + postcss@8.5.13: + resolution: {integrity: sha512-qif0+jGGZoLWdHey3UFHHWP0H7Gbmsk8T5VEqyYFbWqPr1XqvLGBbk/sl8V5exGmcYJklJOhOQq1pV9IcsiFag==} engines: {node: ^10 || ^12 || >=14} postcss@8.5.5: @@ -5083,8 +5022,8 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - react@19.2.6: - resolution: {integrity: sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==} + react@19.2.5: + resolution: {integrity: sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==} engines: {node: '>=0.10.0'} read-cache@1.0.0: @@ -5197,8 +5136,8 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rolldown@1.0.1: - resolution: {integrity: sha512-X0KQHljNnEkWNqqiz9zJrGunh1B0HgOxLXvnFpCOcadzcy5qohZ3tqMEUg00vncoRovXuK3ZqCT9KnnKzoInFQ==} + rolldown@1.0.0-rc.17: + resolution: {integrity: sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -5268,12 +5207,6 @@ packages: peerDependencies: seroval: ^1.0 - seroval-plugins@1.5.4: - resolution: {integrity: sha512-S0xQPhUTefAhNvNWFg0c1J8qJArHt5KdtJ/cFAofo06KD1MVSeFWyl4iiu+ApDIuw0WhjpOfCdgConOfAnLgkw==} - engines: {node: '>=10'} - peerDependencies: - seroval: ^1.0 - seroval@1.3.2: resolution: {integrity: sha512-RbcPH1n5cfwKrru7v7+zrZvjLurgHhGyso3HTyGtRivGWgYjbOmGuivCQaORNELjNONoK35nj28EoWul9sb1zQ==} engines: {node: '>=10'} @@ -5282,10 +5215,6 @@ packages: resolution: {integrity: sha512-xcRN39BdsnO9Tf+VzsE7b3JyTJASItIV1FVFewJKCFcW4s4haIKS3e6vj8PGB9qBwC7tnuOywQMdv5N4qkzi7Q==} engines: {node: '>=10'} - seroval@1.5.4: - resolution: {integrity: sha512-46uFvgrXTVxZcUorgSSRZ4y+ieqLLQRMlG4bnCZKW3qI6BZm7Rg4ntMW4p1mILEEBZWrFlcpp0AyIIlM6jD9iw==} - engines: {node: '>=10'} - set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} @@ -5663,8 +5592,8 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - validate-html-nesting@1.2.4: - resolution: {integrity: sha512-doQi7e8EJ2OWneSG1aZpJluS6A49aZM0+EICXWKm1i6WvqTLmq0tpUcImc4KTWG50mORO0C4YDBtOCSYvElftw==} + validate-html-nesting@1.2.2: + resolution: {integrity: sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==} value-or-promise@1.0.12: resolution: {integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==} @@ -5763,13 +5692,13 @@ packages: yaml: optional: true - vite@8.0.13: - resolution: {integrity: sha512-MFtjBYgzmSxmgA4RAfjIyXWpGe1oALnjgUTzzV7QLx/TKxCzjtMH6Fd9/eVK+5Fg1qNoz5VAwsmMs/NofrmJvw==} + vite@8.0.10: + resolution: {integrity: sha512-rZuUu9j6J5uotLDs+cAA4O5H4K1SfPliUlQwqa6YEwSrWDZzP4rhm00oJR5snMewjxF5V/K3D4kctsUTsIU9Mw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.1.18 + '@vitejs/devtools': ^0.1.0 esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' less: ^4.0.0 @@ -5986,11 +5915,6 @@ snapshots: '@alloc/quick-lru@5.2.0': {} - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - '@ardatan/relay-compiler@12.0.0(graphql@16.9.0)': dependencies: '@babel/core': 7.29.0 @@ -6031,7 +5955,7 @@ snapshots: '@babel/code-frame@7.27.1': dependencies: - '@babel/helper-validator-identifier': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 js-tokens: 4.0.0 picocolors: 1.1.1 @@ -6041,30 +5965,8 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.27.5': {} - '@babel/compat-data@7.29.3': {} - '@babel/core@7.27.4': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.27.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) - '@babel/helpers': 7.27.6 - '@babel/parser': 7.27.5 - '@babel/template': 7.27.2 - '@babel/traverse': 7.27.4 - '@babel/types': 7.27.6 - convert-source-map: 2.0.0 - debug: 4.4.1 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - '@babel/core@7.29.0': dependencies: '@babel/code-frame': 7.29.0 @@ -6087,8 +5989,8 @@ snapshots: '@babel/generator@7.27.5': dependencies: - '@babel/parser': 7.27.5 - '@babel/types': 7.27.6 + '@babel/parser': 7.29.3 + '@babel/types': 7.29.0 '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 @@ -6105,14 +6007,6 @@ snapshots: dependencies: '@babel/types': 7.29.0 - '@babel/helper-compilation-targets@7.27.2': - dependencies: - '@babel/compat-data': 7.27.5 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.25.0 - lru-cache: 5.1.1 - semver: 6.3.1 - '@babel/helper-compilation-targets@7.28.6': dependencies: '@babel/compat-data': 7.29.3 @@ -6121,19 +6015,6 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-member-expression-to-functions': 7.27.1 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.27.4) - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.29.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 @@ -6160,13 +6041,6 @@ snapshots: dependencies: '@babel/types': 7.29.0 - '@babel/helper-module-imports@7.27.1': - dependencies: - '@babel/traverse': 7.27.4 - '@babel/types': 7.27.6 - transitivePeerDependencies: - - supports-color - '@babel/helper-module-imports@7.28.6': dependencies: '@babel/traverse': 7.29.0 @@ -6174,24 +6048,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.27.3(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.27.4 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.27.3(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.27.4 - transitivePeerDependencies: - - supports-color - '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 @@ -6207,17 +6063,6 @@ snapshots: '@babel/helper-plugin-utils@7.27.1': {} - '@babel/helper-plugin-utils@7.28.6': {} - - '@babel/helper-replace-supers@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-member-expression-to-functions': 7.27.1 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - '@babel/helper-replace-supers@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 @@ -6242,20 +6087,11 @@ snapshots: '@babel/helper-validator-option@7.27.1': {} - '@babel/helpers@7.27.6': - dependencies: - '@babel/template': 7.27.2 - '@babel/types': 7.27.6 - '@babel/helpers@7.29.2': dependencies: '@babel/template': 7.28.6 '@babel/types': 7.29.0 - '@babel/parser@7.27.5': - dependencies: - '@babel/types': 7.27.6 - '@babel/parser@7.29.3': dependencies: '@babel/types': 7.29.0 @@ -6264,7 +6100,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -6273,48 +6109,33 @@ snapshots: '@babel/compat-data': 7.29.3 '@babel/core': 7.29.0 '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.0) '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.29.0) '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-flow@7.24.7(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0)': + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.29.0)': @@ -6325,24 +6146,24 @@ snapshots: '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-classes@7.25.0(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-replace-supers': 7.27.1(@babel/core@7.29.0) '@babel/traverse': 7.29.0 globals: 11.12.0 @@ -6352,24 +6173,24 @@ snapshots: '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/template': 7.28.6 '@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-flow-strip-types@7.25.2(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.29.0) '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color @@ -6378,7 +6199,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -6386,25 +6207,17 @@ snapshots: '@babel/plugin-transform-literals@7.25.2(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.29.0) + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -6412,7 +6225,7 @@ snapshots: '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-replace-supers': 7.27.1(@babel/core@7.29.0) transitivePeerDependencies: - supports-color @@ -6420,25 +6233,25 @@ snapshots: '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-module-imports': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.29.0) '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color @@ -6446,12 +6259,12 @@ snapshots: '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-spread@7.24.7(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color @@ -6459,27 +6272,27 @@ snapshots: '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-typescript@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-typescript@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.29.0) transitivePeerDependencies: - supports-color - '@babel/preset-typescript@7.27.1(@babel/core@7.27.4)': + '@babel/preset-typescript@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.29.0) transitivePeerDependencies: - supports-color @@ -6487,9 +6300,9 @@ snapshots: '@babel/template@7.27.2': dependencies: - '@babel/code-frame': 7.27.1 - '@babel/parser': 7.27.5 - '@babel/types': 7.27.6 + '@babel/code-frame': 7.29.0 + '@babel/parser': 7.29.3 + '@babel/types': 7.29.0 '@babel/template@7.28.6': dependencies: @@ -6497,18 +6310,6 @@ snapshots: '@babel/parser': 7.29.3 '@babel/types': 7.29.0 - '@babel/traverse@7.27.4': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.27.5 - '@babel/parser': 7.27.5 - '@babel/template': 7.27.2 - '@babel/types': 7.27.6 - debug: 4.4.1 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - '@babel/traverse@7.29.0': dependencies: '@babel/code-frame': 7.29.0 @@ -6976,7 +6777,7 @@ snapshots: '@graphql-codegen/client-preset@4.3.3(graphql@16.9.0)': dependencies: '@babel/helper-plugin-utils': 7.27.1 - '@babel/template': 7.27.2 + '@babel/template': 7.28.6 '@graphql-codegen/add': 5.0.3(graphql@16.9.0) '@graphql-codegen/gql-tag-operations': 4.0.9(graphql@16.9.0) '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.9.0) @@ -7370,7 +7171,7 @@ snapshots: '@jridgewell/gen-mapping@0.3.13': dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/gen-mapping@0.3.8': @@ -7390,6 +7191,8 @@ snapshots: '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/sourcemap-codec@1.5.5': {} + '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 @@ -7398,7 +7201,7 @@ snapshots: '@jridgewell/trace-mapping@0.3.31': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 '@kamilkisiela/fast-url-parser@1.1.4': {} @@ -7422,7 +7225,7 @@ snapshots: dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 - '@tybys/wasm-util': 0.10.2 + '@tybys/wasm-util': 0.10.1 optional: true '@nodelib/fs.scandir@2.1.5': @@ -7458,7 +7261,7 @@ snapshots: '@oozcitak/util@10.0.0': {} - '@oxc-project/types@0.130.0': {} + '@oxc-project/types@0.127.0': {} '@peculiar/asn1-schema@2.3.13': dependencies: @@ -7490,58 +7293,58 @@ snapshots: '@repeaterjs/repeater@3.0.6': {} - '@rolldown/binding-android-arm64@1.0.1': + '@rolldown/binding-android-arm64@1.0.0-rc.17': optional: true - '@rolldown/binding-darwin-arm64@1.0.1': + '@rolldown/binding-darwin-arm64@1.0.0-rc.17': optional: true - '@rolldown/binding-darwin-x64@1.0.1': + '@rolldown/binding-darwin-x64@1.0.0-rc.17': optional: true - '@rolldown/binding-freebsd-x64@1.0.1': + '@rolldown/binding-freebsd-x64@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.1': + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.1': + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.1': + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.1': + '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.1': + '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.1': + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-x64-musl@1.0.1': + '@rolldown/binding-linux-x64-musl@1.0.0-rc.17': optional: true - '@rolldown/binding-openharmony-arm64@1.0.1': + '@rolldown/binding-openharmony-arm64@1.0.0-rc.17': optional: true - '@rolldown/binding-wasm32-wasi@1.0.1': + '@rolldown/binding-wasm32-wasi@1.0.0-rc.17': dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.1': + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.1': + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.17': optional: true '@rolldown/pluginutils@1.0.0-beta.40': {} - '@rolldown/pluginutils@1.0.1': {} + '@rolldown/pluginutils@1.0.0-rc.17': {} '@rollup/rollup-android-arm-eabi@4.43.0': optional: true @@ -7744,8 +7547,8 @@ snapshots: '@solidjs/web@2.0.0-beta.14(solid-js@2.0.0-beta.14)': dependencies: - seroval: 1.5.4 - seroval-plugins: 1.5.4(seroval@1.5.4) + seroval: 1.5.2 + seroval-plugins: 1.5.2(seroval@1.5.2) solid-js: 2.0.0-beta.14 '@supabase/auth-js@2.67.3': @@ -7808,8 +7611,8 @@ snapshots: dependencies: '@tanstack/history': 1.161.6 cookie-es: 2.0.0 - seroval: 1.5.4 - seroval-plugins: 1.5.4(seroval@1.5.4) + seroval: 1.5.2 + seroval-plugins: 1.5.2(seroval@1.5.2) '@tanstack/router-generator@1.166.24': dependencies: @@ -7824,10 +7627,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.167.12(vite-plugin-solid@3.0.0-next.5(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite@8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)))(vite@8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0))': + '@tanstack/router-plugin@1.167.12(vite-plugin-solid@3.0.0-next.5(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite@8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)))(vite@8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0))': dependencies: '@babel/core': 7.29.0 - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.29.0) '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.29.0) '@babel/template': 7.28.6 '@babel/traverse': 7.29.0 @@ -7840,8 +7643,8 @@ snapshots: unplugin: 2.3.5 zod: 3.25.63 optionalDependencies: - vite: 8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0) - vite-plugin-solid: 3.0.0-next.5(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite@8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)) + vite: 8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0) + vite-plugin-solid: 3.0.0-next.5(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite@8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)) transitivePeerDependencies: - supports-color @@ -7866,7 +7669,7 @@ snapshots: '@solidjs/web': 2.0.0-beta.13(solid-js@2.0.0-beta.14) '@tanstack/history': 1.161.6 '@tanstack/router-core': 1.168.9 - isbot: 5.1.40 + isbot: 5.1.39 solid-js: 2.0.0-beta.14 '@tanstack/solid-start-client@2.0.0-beta.17(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)': @@ -7890,18 +7693,18 @@ snapshots: transitivePeerDependencies: - crossws - '@tanstack/solid-start@2.0.0-beta.18(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite-plugin-solid@3.0.0-next.5(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite@8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)))(vite@8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0))': + '@tanstack/solid-start@2.0.0-beta.18(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite-plugin-solid@3.0.0-next.5(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite@8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)))(vite@8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0))': dependencies: '@solidjs/web': 2.0.0-beta.13(solid-js@2.0.0-beta.14) '@tanstack/solid-router': 2.0.0-beta.17(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14) '@tanstack/solid-start-client': 2.0.0-beta.17(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14) '@tanstack/solid-start-server': 2.0.0-beta.17(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14) '@tanstack/start-client-core': 1.167.9 - '@tanstack/start-plugin-core': 1.167.17(vite-plugin-solid@3.0.0-next.5(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite@8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)))(vite@8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)) + '@tanstack/start-plugin-core': 1.167.17(vite-plugin-solid@3.0.0-next.5(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite@8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)))(vite@8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)) '@tanstack/start-server-core': 1.167.9 pathe: 2.0.3 solid-js: 2.0.0-beta.14 - vite: 8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0) + vite: 8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0) transitivePeerDependencies: - '@rsbuild/core' - '@tanstack/react-router' @@ -7915,11 +7718,11 @@ snapshots: '@tanstack/router-core': 1.168.9 '@tanstack/start-fn-stubs': 1.161.6 '@tanstack/start-storage-context': 1.166.23 - seroval: 1.5.4 + seroval: 1.5.2 '@tanstack/start-fn-stubs@1.161.6': {} - '@tanstack/start-plugin-core@1.167.17(vite-plugin-solid@3.0.0-next.5(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite@8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)))(vite@8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0))': + '@tanstack/start-plugin-core@1.167.17(vite-plugin-solid@3.0.0-next.5(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite@8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)))(vite@8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0))': dependencies: '@babel/code-frame': 7.27.1 '@babel/core': 7.29.0 @@ -7927,7 +7730,7 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.40 '@tanstack/router-core': 1.168.9 '@tanstack/router-generator': 1.166.24 - '@tanstack/router-plugin': 1.167.12(vite-plugin-solid@3.0.0-next.5(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite@8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)))(vite@8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)) + '@tanstack/router-plugin': 1.167.12(vite-plugin-solid@3.0.0-next.5(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite@8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)))(vite@8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)) '@tanstack/router-utils': 1.161.6 '@tanstack/start-client-core': 1.167.9 '@tanstack/start-server-core': 1.167.9 @@ -7939,8 +7742,8 @@ snapshots: srvx: 0.11.15 tinyglobby: 0.2.16 ufo: 1.6.1 - vite: 8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0) - vitefu: 1.1.3(vite@8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)) + vite: 8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0) + vitefu: 1.1.3(vite@8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)) xmlbuilder2: 4.0.3 zod: 3.25.63 transitivePeerDependencies: @@ -7958,7 +7761,7 @@ snapshots: '@tanstack/start-client-core': 1.167.9 '@tanstack/start-storage-context': 1.166.23 h3-v2: h3@2.0.1-rc.16 - seroval: 1.5.4 + seroval: 1.5.2 transitivePeerDependencies: - crossws @@ -7976,7 +7779,7 @@ snapshots: dependencies: '@tauri-apps/api': 2.0.1 - '@tybys/wasm-util@0.10.2': + '@tybys/wasm-util@0.10.1': dependencies: tslib: 2.8.1 optional: true @@ -8346,34 +8149,25 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-jsx-dom-expressions@0.40.7(@babel/core@7.27.4): - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.27.4) - '@babel/types': 7.29.0 - html-entities: 2.3.3 - parse5: 7.3.0 - - babel-plugin-jsx-dom-expressions@0.50.0-next.11(@babel/core@7.29.0): + babel-plugin-jsx-dom-expressions@0.39.8(@babel/core@7.29.0): dependencies: '@babel/core': 7.29.0 '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.29.0) '@babel/types': 7.29.0 html-entities: 2.3.3 parse5: 7.3.0 - validate-html-nesting: 1.2.4 + validate-html-nesting: 1.2.2 - babel-plugin-jsx-dom-expressions@0.50.0-next.13(@babel/core@7.27.4): + babel-plugin-jsx-dom-expressions@0.50.0-next.13(@babel/core@7.29.0): dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.29.0 '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.27.4) + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.29.0) '@babel/types': 7.29.0 html-entities: 2.3.3 parse5: 7.3.0 - validate-html-nesting: 1.2.4 + validate-html-nesting: 1.2.2 babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: {} @@ -8384,7 +8178,7 @@ snapshots: '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.29.0) '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.0) '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.29.0) - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.29.0) '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.0) '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.29.0) '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.29.0) @@ -8410,24 +8204,15 @@ snapshots: transitivePeerDependencies: - supports-color - babel-preset-solid@1.9.12(@babel/core@7.27.4)(solid-js@2.0.0-beta.14): - dependencies: - '@babel/core': 7.27.4 - babel-plugin-jsx-dom-expressions: 0.40.7(@babel/core@7.27.4) - optionalDependencies: - solid-js: 2.0.0-beta.14 - - babel-preset-solid@2.0.0-beta.13(@babel/core@7.29.0)(solid-js@2.0.0-beta.14): + babel-preset-solid@1.9.6(@babel/core@7.29.0): dependencies: '@babel/core': 7.29.0 - babel-plugin-jsx-dom-expressions: 0.50.0-next.11(@babel/core@7.29.0) - optionalDependencies: - solid-js: 2.0.0-beta.14 + babel-plugin-jsx-dom-expressions: 0.39.8(@babel/core@7.29.0) - babel-preset-solid@2.0.0-beta.14(@babel/core@7.27.4)(solid-js@2.0.0-beta.14): + babel-preset-solid@2.0.0-beta.14(@babel/core@7.29.0)(solid-js@2.0.0-beta.14): dependencies: - '@babel/core': 7.27.4 - babel-plugin-jsx-dom-expressions: 0.50.0-next.13(@babel/core@7.27.4) + '@babel/core': 7.29.0 + babel-plugin-jsx-dom-expressions: 0.50.0-next.13(@babel/core@7.29.0) optionalDependencies: solid-js: 2.0.0-beta.14 @@ -8886,9 +8671,9 @@ snapshots: esbuild-plugin-solid@0.6.0(esbuild@0.25.5)(solid-js@2.0.0-beta.14): dependencies: - '@babel/core': 7.27.4 - '@babel/preset-typescript': 7.27.1(@babel/core@7.27.4) - babel-preset-solid: 1.9.12(@babel/core@7.27.4)(solid-js@2.0.0-beta.14) + '@babel/core': 7.29.0 + '@babel/preset-typescript': 7.27.1(@babel/core@7.29.0) + babel-preset-solid: 1.9.6(@babel/core@7.29.0) esbuild: 0.25.5 solid-js: 2.0.0-beta.14 transitivePeerDependencies: @@ -9517,7 +9302,7 @@ snapshots: is-windows@1.0.2: {} - isbot@5.1.40: {} + isbot@5.1.39: {} isexe@2.0.0: {} @@ -10397,7 +10182,7 @@ snapshots: picocolors: 0.2.1 source-map: 0.6.1 - postcss@8.5.14: + postcss@8.5.13: dependencies: nanoid: 3.3.11 picocolors: 1.1.1 @@ -10448,7 +10233,7 @@ snapshots: queue-microtask@1.2.3: {} - react@19.2.6: {} + react@19.2.5: {} read-cache@1.0.0: dependencies: @@ -10611,26 +10396,26 @@ snapshots: rfdc@1.4.1: {} - rolldown@1.0.1: + rolldown@1.0.0-rc.17: dependencies: - '@oxc-project/types': 0.130.0 - '@rolldown/pluginutils': 1.0.1 + '@oxc-project/types': 0.127.0 + '@rolldown/pluginutils': 1.0.0-rc.17 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.1 - '@rolldown/binding-darwin-arm64': 1.0.1 - '@rolldown/binding-darwin-x64': 1.0.1 - '@rolldown/binding-freebsd-x64': 1.0.1 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.1 - '@rolldown/binding-linux-arm64-gnu': 1.0.1 - '@rolldown/binding-linux-arm64-musl': 1.0.1 - '@rolldown/binding-linux-ppc64-gnu': 1.0.1 - '@rolldown/binding-linux-s390x-gnu': 1.0.1 - '@rolldown/binding-linux-x64-gnu': 1.0.1 - '@rolldown/binding-linux-x64-musl': 1.0.1 - '@rolldown/binding-openharmony-arm64': 1.0.1 - '@rolldown/binding-wasm32-wasi': 1.0.1 - '@rolldown/binding-win32-arm64-msvc': 1.0.1 - '@rolldown/binding-win32-x64-msvc': 1.0.1 + '@rolldown/binding-android-arm64': 1.0.0-rc.17 + '@rolldown/binding-darwin-arm64': 1.0.0-rc.17 + '@rolldown/binding-darwin-x64': 1.0.0-rc.17 + '@rolldown/binding-freebsd-x64': 1.0.0-rc.17 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.17 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.17 + '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.17 + '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.17 + '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.17 + '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.17 + '@rolldown/binding-linux-x64-musl': 1.0.0-rc.17 + '@rolldown/binding-openharmony-arm64': 1.0.0-rc.17 + '@rolldown/binding-wasm32-wasi': 1.0.0-rc.17 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.17 + '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.17 rollup@4.43.0: dependencies: @@ -10708,16 +10493,10 @@ snapshots: dependencies: seroval: 1.5.2 - seroval-plugins@1.5.4(seroval@1.5.4): - dependencies: - seroval: 1.5.4 - seroval@1.3.2: {} seroval@1.5.2: {} - seroval@1.5.4: {} - set-blocking@2.0.0: {} setimmediate@1.0.5: {} @@ -10775,8 +10554,8 @@ snapshots: dependencies: '@solidjs/signals': 2.0.0-beta.14 csstype: 3.1.3 - seroval: 1.5.4 - seroval-plugins: 1.5.4(seroval@1.5.4) + seroval: 1.5.2 + seroval-plugins: 1.5.2(seroval@1.5.2) solid-refresh@0.8.0-next.7(solid-js@2.0.0-beta.14): dependencies: @@ -11127,7 +10906,7 @@ snapshots: util-deprecate@1.0.2: {} - validate-html-nesting@1.2.4: {} + validate-html-nesting@1.2.2: {} value-or-promise@1.0.12: {} @@ -11159,17 +10938,17 @@ snapshots: - supports-color - terser - vite-plugin-solid@3.0.0-next.5(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite@8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)): + vite-plugin-solid@3.0.0-next.5(@solidjs/web@2.0.0-beta.13(solid-js@2.0.0-beta.14))(solid-js@2.0.0-beta.14)(vite@8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)): dependencies: '@babel/core': 7.29.0 '@solidjs/web': 2.0.0-beta.13(solid-js@2.0.0-beta.14) '@types/babel__core': 7.20.5 - babel-preset-solid: 2.0.0-beta.13(@babel/core@7.29.0)(solid-js@2.0.0-beta.14) + babel-preset-solid: 2.0.0-beta.14(@babel/core@7.29.0)(solid-js@2.0.0-beta.14) merge-anything: 5.1.7 solid-js: 2.0.0-beta.14 solid-refresh: 0.8.0-next.7(solid-js@2.0.0-beta.14) - vite: 8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0) - vitefu: 1.1.3(vite@8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)) + vite: 8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0) + vitefu: 1.1.3(vite@8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)) transitivePeerDependencies: - supports-color @@ -11178,7 +10957,7 @@ snapshots: '@babel/core': 7.29.0 '@solidjs/web': 2.0.0-beta.14(solid-js@2.0.0-beta.14) '@types/babel__core': 7.20.5 - babel-preset-solid: 2.0.0-beta.13(@babel/core@7.29.0)(solid-js@2.0.0-beta.14) + babel-preset-solid: 2.0.0-beta.14(@babel/core@7.29.0)(solid-js@2.0.0-beta.14) merge-anything: 5.1.7 solid-js: 2.0.0-beta.14 solid-refresh: 0.8.0-next.7(solid-js@2.0.0-beta.14) @@ -11215,12 +10994,12 @@ snapshots: tsx: 4.20.2 yaml: 2.5.0 - vite@8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0): + vite@8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 - postcss: 8.5.14 - rolldown: 1.0.1 + postcss: 8.5.13 + rolldown: 1.0.0-rc.17 tinyglobby: 0.2.16 optionalDependencies: '@types/node': 22.15.31 @@ -11235,9 +11014,9 @@ snapshots: optionalDependencies: vite: 6.3.5(@types/node@22.15.31)(jiti@1.21.7)(lightningcss@1.32.0)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0) - vitefu@1.1.3(vite@8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)): + vitefu@1.1.3(vite@8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0)): optionalDependencies: - vite: 8.0.13(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0) + vite: 8.0.10(@types/node@22.15.31)(esbuild@0.25.5)(jiti@1.21.7)(sass@1.77.8)(tsx@4.20.2)(yaml@2.5.0) vitest@2.1.9(@types/node@22.15.31)(jsdom@25.0.1)(lightningcss@1.32.0)(sass@1.77.8): dependencies: