From bd9fbc74ae95cbc5515eacf7d80d5fdfb02a8a73 Mon Sep 17 00:00:00 2001
From: Kalle <38327916+Sendouc@users.noreply.github.com>
Date: Fri, 30 Oct 2026 17:18:10 +0200
Subject: [PATCH] Update deps
---
app/entry.client.tsx | 4 +-
app/features/chat/routes/chat-routes.test.ts | 6 +-
app/features/events/events-client.ts | 3 +-
app/features/lfg/loaders/lfg.server.test.ts | 4 +-
.../map-list-generator/core/MapList.test.ts | 7 +-
.../core/detectors/objective/player-status.ts | 4 +-
.../scanner/tests/logic/montage-comps.test.ts | 8 +-
.../scrims/ScrimPostRepository.server.test.ts | 4 +-
.../SQMatchRepository.server.test.ts | 14 +-
.../sendouq/core/ready-check.server.test.ts | 4 +-
.../tournament-bracket/core/Bracket.test.ts | 4 +-
.../core/leaderboards.server.test.ts | 4 +-
.../TournamentRepository.permissions.test.ts | 22 +-
.../components/ResultsFiltersBar.tsx | 10 +-
.../voice/core/VoicePresence.server.ts | 4 +-
app/utils/oklch-gamut.ts | 2 +-
app/utils/random.test.ts | 4 +-
biome.json | 64 +-
e2e/helpers/playwright.ts | 2 +-
e2e/pages/comp-analyzer/comp-analyzer-page.ts | 5 +-
e2e/pages/sendouq/sendouq-match-page.ts | 2 +-
package.json | 30 +-
...r@8.4.0.patch => react-router@8.5.0.patch} | 212 ++--
pnpm-lock.yaml | 1085 +++++++++++------
pnpm-workspace.yaml | 2 +-
scripts/living-docs/env-vars.ts | 2 +-
scripts/living-docs/permissions.ts | 4 +-
scripts/living-docs/published-screenshots.ts | 4 +-
scripts/living-docs/repositories.ts | 2 +-
scripts/scanner/build-localized-entries.ts | 2 +-
30 files changed, 945 insertions(+), 579 deletions(-)
rename patches/{react-router@8.4.0.patch => react-router@8.5.0.patch} (92%)
diff --git a/app/entry.client.tsx b/app/entry.client.tsx
index ba922ab19..57ca0682f 100644
--- a/app/entry.client.tsx
+++ b/app/entry.client.tsx
@@ -43,7 +43,9 @@ window.fetch = (input, init) => {
}
const sessionId = getSessionId();
- const headers = new Headers(init?.headers);
+ const headers = new Headers(
+ init?.headers ?? (input instanceof Request ? input.headers : undefined),
+ );
headers.set("Sendou-Session-Id", sessionId);
return fetchWithRetry(input, { ...init, headers });
diff --git a/app/features/chat/routes/chat-routes.test.ts b/app/features/chat/routes/chat-routes.test.ts
index c741c54e6..1e49e6123 100644
--- a/app/features/chat/routes/chat-routes.test.ts
+++ b/app/features/chat/routes/chat-routes.test.ts
@@ -344,9 +344,9 @@ describe("chat rooms loader", () => {
const data = await loadRooms(alphaUserIds[0]);
const matchRoom = data.rooms.find((room) => room.id === match.chatRoomId);
- expect(matchRoom?.participants.map((user) => user.id).sort()).toEqual(
- [...alphaUserIds, ...bravoUserIds].sort(),
- );
+ expect(
+ matchRoom?.participants.map((user) => user.id).sort((a, b) => a - b),
+ ).toEqual([...alphaUserIds, ...bravoUserIds].sort((a, b) => a - b));
expect(matchRoom?.participants[0].username).toEqual(expect.any(String));
});
diff --git a/app/features/events/events-client.ts b/app/features/events/events-client.ts
index a5498c2cc..e1bce04bd 100644
--- a/app/features/events/events-client.ts
+++ b/app/features/events/events-client.ts
@@ -70,7 +70,8 @@ export function createEventsClient(deps: EventsClientDeps): EventsClient {
}
};
- const desiredTopics = () => [...topicSubscriberCounts.keys()].sort();
+ const desiredTopics = () =>
+ [...topicSubscriberCounts.keys()].sort((a, b) => a.localeCompare(b));
const syncTopics = async () => {
if (syncing) return;
diff --git a/app/features/lfg/loaders/lfg.server.test.ts b/app/features/lfg/loaders/lfg.server.test.ts
index 7b4fada2a..636c2468d 100644
--- a/app/features/lfg/loaders/lfg.server.test.ts
+++ b/app/features/lfg/loaders/lfg.server.test.ts
@@ -298,8 +298,8 @@ describe("lfg loader", () => {
}),
);
- expect(postIds(data).sort()).toEqual(
- [posts.kiritimati, posts.honolulu].sort(),
+ expect(postIds(data).sort((a, b) => a - b)).toEqual(
+ [posts.kiritimati, posts.honolulu].sort((a, b) => a - b),
);
});
});
diff --git a/app/features/map-list-generator/core/MapList.test.ts b/app/features/map-list-generator/core/MapList.test.ts
index 9aeabe3db..65763ae53 100644
--- a/app/features/map-list-generator/core/MapList.test.ts
+++ b/app/features/map-list-generator/core/MapList.test.ts
@@ -384,7 +384,12 @@ describe("MapList.generate()", () => {
}
}
- expect([...modesSeen].sort()).toEqual(["CB", "RM", "SZ", "TC"]);
+ expect([...modesSeen].sort((a, b) => a.localeCompare(b))).toEqual([
+ "CB",
+ "RM",
+ "SZ",
+ "TC",
+ ]);
});
test("advances the cycle by the ANY slots consumed when a positional pattern is set", () => {
diff --git a/app/features/scanner/core/detectors/objective/player-status.ts b/app/features/scanner/core/detectors/objective/player-status.ts
index b8c914a15..07d1d46d5 100644
--- a/app/features/scanner/core/detectors/objective/player-status.ts
+++ b/app/features/scanner/core/detectors/objective/player-status.ts
@@ -639,11 +639,11 @@ function isInk(red: number, green: number, blue: number): boolean {
}
function maxOf(red: number, green: number, blue: number): number {
- return red > green ? (red > blue ? red : blue) : green > blue ? green : blue;
+ return Math.max(red, green, blue);
}
function minOf(red: number, green: number, blue: number): number {
- return red < green ? (red < blue ? red : blue) : green < blue ? green : blue;
+ return Math.min(red, green, blue);
}
function hueOf(red: number, green: number, blue: number): number {
diff --git a/app/features/scanner/tests/logic/montage-comps.test.ts b/app/features/scanner/tests/logic/montage-comps.test.ts
index dc6bdcbf6..9638f1408 100644
--- a/app/features/scanner/tests/logic/montage-comps.test.ts
+++ b/app/features/scanner/tests/logic/montage-comps.test.ts
@@ -37,8 +37,12 @@ describe("scannedTeamComps", () => {
new Map([[vod.file, [game([40, 50, 2000, 3040], [10, 20, 30, 1000])]]]),
);
- expect(comps.get(10)?.toSorted()).toEqual([2000, 3040, 40, 50].toSorted());
- expect(comps.get(20)?.toSorted()).toEqual([10, 1000, 20, 30].toSorted());
+ expect(comps.get(10)?.toSorted((a, b) => a - b)).toEqual(
+ [2000, 3040, 40, 50].toSorted((a, b) => a - b),
+ );
+ expect(comps.get(20)?.toSorted((a, b) => a - b)).toEqual(
+ [10, 1000, 20, 30].toSorted((a, b) => a - b),
+ );
});
test("a team with fewer than four players seen has no comp", () => {
diff --git a/app/features/scrims/ScrimPostRepository.server.test.ts b/app/features/scrims/ScrimPostRepository.server.test.ts
index 2c5f476e4..d577b9e63 100644
--- a/app/features/scrims/ScrimPostRepository.server.test.ts
+++ b/app/features/scrims/ScrimPostRepository.server.test.ts
@@ -79,8 +79,8 @@ describe("findPendingOverlapsForUsers", () => {
expect(posts).toHaveLength(1);
expect(posts[0]!.id).toBe(postId);
- expect(posts[0]!.memberIds.sort()).toEqual(
- [users.id(1), users.id(2)].sort(),
+ expect(posts[0]!.memberIds.sort((a, b) => a - b)).toEqual(
+ [users.id(1), users.id(2)].sort((a, b) => a - b),
);
});
diff --git a/app/features/sendouq-match/SQMatchRepository.server.test.ts b/app/features/sendouq-match/SQMatchRepository.server.test.ts
index a1905061d..91340e83e 100644
--- a/app/features/sendouq-match/SQMatchRepository.server.test.ts
+++ b/app/features/sendouq-match/SQMatchRepository.server.test.ts
@@ -382,9 +382,9 @@ describe("requestCancelMatch", () => {
expect(reports[0].groupId).toBe(setup.alphaGroupId);
expect(reports[0].authorUserId).toBe(setup.alphaMembers[0].id);
expect(reports[0].reason).toBe("Disconnect on both sides");
- expect(reports[0].nominatedPlayers.map((p) => p.userId).sort()).toEqual(
- nominated.sort(),
- );
+ expect(
+ reports[0].nominatedPlayers.map((p) => p.userId).sort((a, b) => a - b),
+ ).toEqual(nominated.sort((a, b) => a - b));
});
test("second request does not duplicate the report", async () => {
@@ -459,8 +459,12 @@ describe("acceptCancelMatch", () => {
expect(reports[0].groupId).toBe(setup.alphaGroupId);
expect(reports[1].groupId).toBe(setup.bravoGroupId);
expect(reports[1].reason).toBe("Accepter reason");
- expect(reports[1].nominatedPlayers.map((p) => p.userId).sort()).toEqual(
- [setup.bravoMembers[0].id, setup.bravoMembers[1].id].sort(),
+ expect(
+ reports[1].nominatedPlayers.map((p) => p.userId).sort((a, b) => a - b),
+ ).toEqual(
+ [setup.bravoMembers[0].id, setup.bravoMembers[1].id].sort(
+ (a, b) => a - b,
+ ),
);
});
diff --git a/app/features/sendouq/core/ready-check.server.test.ts b/app/features/sendouq/core/ready-check.server.test.ts
index 1700a8834..ba861d162 100644
--- a/app/features/sendouq/core/ready-check.server.test.ts
+++ b/app/features/sendouq/core/ready-check.server.test.ts
@@ -299,8 +299,8 @@ describe("SendouQ ready check", () => {
groups.theirMembers[0].id,
);
- expect(abortedReadyCheckGroupIds.sort()).toEqual(
- [groups.ownGroup.id, groups.theirGroup.id].sort(),
+ expect(abortedReadyCheckGroupIds.sort((a, b) => a - b)).toEqual(
+ [groups.ownGroup.id, groups.theirGroup.id].sort((a, b) => a - b),
);
expect(await findReadyCheck(groups.ownGroup.id)).toBeUndefined();
expect(await findGroupStatus(groups.ownGroup.id)).toBe("ACTIVE");
diff --git a/app/features/tournament-bracket/core/Bracket.test.ts b/app/features/tournament-bracket/core/Bracket.test.ts
index fb35be4b5..bb401c72d 100644
--- a/app/features/tournament-bracket/core/Bracket.test.ts
+++ b/app/features/tournament-bracket/core/Bracket.test.ts
@@ -2070,7 +2070,9 @@ describe("grouped elimination - edge cases", () => {
}).bracketByIdx(1)!;
const pairKey = (match: MatchData) =>
- [match.opponent1?.id, match.opponent2?.id].sort().join("-");
+ [match.opponent1?.id ?? -1, match.opponent2?.id ?? -1]
+ .sort((a, b) => a - b)
+ .join("-");
const roundRobinPairs = new Set(roundRobin.match.map(pairKey));
const firstRoundIds = new Set(
final.data.round
diff --git a/app/features/tournament-organization/core/leaderboards.server.test.ts b/app/features/tournament-organization/core/leaderboards.server.test.ts
index c74d4300a..7e895d41f 100644
--- a/app/features/tournament-organization/core/leaderboards.server.test.ts
+++ b/app/features/tournament-organization/core/leaderboards.server.test.ts
@@ -162,8 +162,8 @@ describe("eventLeaderboards", () => {
result
.slice(0, twiceThirdIds.length)
.map((entry) => entry.user.id)
- .sort(),
- ).toEqual([...twiceThirdIds].sort());
+ .sort((a, b) => a - b),
+ ).toEqual([...twiceThirdIds].sort((a, b) => a - b));
});
test("scores the podium of a played tournament of the series", async () => {
diff --git a/app/features/tournament/TournamentRepository.permissions.test.ts b/app/features/tournament/TournamentRepository.permissions.test.ts
index 3cb5a4249..31f167639 100644
--- a/app/features/tournament/TournamentRepository.permissions.test.ts
+++ b/app/features/tournament/TournamentRepository.permissions.test.ts
@@ -88,11 +88,15 @@ describe("TournamentRepository.findById", () => {
],
});
- expect(permissions.ADMIN.sort()).toEqual([authorId(), orgAdminId()].sort());
- expect(permissions.ORGANIZE.sort()).toEqual(
- [authorId(), orgAdminId(), orgOrganizerId(), staffOrganizerId()].sort(),
+ expect(permissions.ADMIN.sort((a, b) => a - b)).toEqual(
+ [authorId(), orgAdminId()].sort((a, b) => a - b),
);
- expect(permissions.MANAGE_MATCHES.sort()).toEqual(
+ expect(permissions.ORGANIZE.sort((a, b) => a - b)).toEqual(
+ [authorId(), orgAdminId(), orgOrganizerId(), staffOrganizerId()].sort(
+ (a, b) => a - b,
+ ),
+ );
+ expect(permissions.MANAGE_MATCHES.sort((a, b) => a - b)).toEqual(
[
authorId(),
orgAdminId(),
@@ -100,7 +104,7 @@ describe("TournamentRepository.findById", () => {
staffOrganizerId(),
orgStreamerId(),
staffStreamerId(),
- ].sort(),
+ ].sort((a, b) => a - b),
);
expect(permissions.MANAGE_MATCHES).not.toContain(outsiderId());
});
@@ -128,8 +132,8 @@ describe("TournamentRepository.findById", () => {
const permissions = await permissionsOfTournament({ isEstablished });
- expect(permissions.EDIT_EVENT_INFO.sort()).toEqual(
- [authorId(), orgAdminId()].sort(),
+ expect(permissions.EDIT_EVENT_INFO.sort((a, b) => a - b)).toEqual(
+ [authorId(), orgAdminId()].sort((a, b) => a - b),
);
},
);
@@ -159,8 +163,8 @@ describe("TournamentRepository.findById", () => {
staff: [{ userId: staffOrganizerId(), role: "ORGANIZER" }],
});
- expect(permissions.EDIT_IN_GAME_NAMES.sort()).toEqual(
- [orgAdminId(), orgOrganizerId()].sort(),
+ expect(permissions.EDIT_IN_GAME_NAMES.sort((a, b) => a - b)).toEqual(
+ [orgAdminId(), orgOrganizerId()].sort((a, b) => a - b),
);
});
diff --git a/app/features/user-page/components/ResultsFiltersBar.tsx b/app/features/user-page/components/ResultsFiltersBar.tsx
index f49faa1aa..80a70714f 100644
--- a/app/features/user-page/components/ResultsFiltersBar.tsx
+++ b/app/features/user-page/components/ResultsFiltersBar.tsx
@@ -156,7 +156,10 @@ export function ResultsFiltersBar() {
const minTier = toTierNumber(key);
setFilters({
minTier,
- maxTier: minTier > filters.maxTier ? minTier : filters.maxTier,
+ maxTier: Math.max(
+ minTier,
+ filters.maxTier,
+ ) as TournamentTierNumber,
});
}}
>
@@ -174,7 +177,10 @@ export function ResultsFiltersBar() {
const maxTier = toTierNumber(key);
setFilters({
maxTier,
- minTier: maxTier < filters.minTier ? maxTier : filters.minTier,
+ minTier: Math.min(
+ maxTier,
+ filters.minTier,
+ ) as TournamentTierNumber,
});
}}
>
diff --git a/app/features/voice/core/VoicePresence.server.ts b/app/features/voice/core/VoicePresence.server.ts
index e1b3ee343..009551087 100644
--- a/app/features/voice/core/VoicePresence.server.ts
+++ b/app/features/voice/core/VoicePresence.server.ts
@@ -87,8 +87,8 @@ export async function reconciledUserIdsOf(room: PresenceRoom) {
]);
const changed = !R.isDeepEqual(
- [...current.userIds].sort(),
- [...userIds].sort(),
+ [...current.userIds].sort((a, b) => a - b),
+ [...userIds].sort((a, b) => a - b),
);
current.userIds = new Set(userIds);
diff --git a/app/utils/oklch-gamut.ts b/app/utils/oklch-gamut.ts
index 95a71f35f..43854dc21 100644
--- a/app/utils/oklch-gamut.ts
+++ b/app/utils/oklch-gamut.ts
@@ -212,7 +212,7 @@ function find_gamut_intersection(
}
function clamp(x: number, min: number, max: number): number {
- return x < min ? min : x > max ? max : x;
+ return Math.min(Math.max(x, min), max);
}
function maximum_chroma_for_lh(L: number, h: number): number {
diff --git a/app/utils/random.test.ts b/app/utils/random.test.ts
index 9ac3c53b4..2e74ad569 100644
--- a/app/utils/random.test.ts
+++ b/app/utils/random.test.ts
@@ -118,7 +118,9 @@ describe("seededRandom", () => {
const shuffled = rng.seededShuffle(array);
- expect(shuffled.sort()).toEqual(array.sort());
+ expect(shuffled.sort((a, b) => a - b)).toEqual(
+ array.sort((a, b) => a - b),
+ );
});
test("handles empty array", () => {
diff --git a/biome.json b/biome.json
index 2e7954b83..9d21499a1 100644
--- a/biome.json
+++ b/biome.json
@@ -43,9 +43,11 @@
"noReturnAssign": "error",
"noNestedPromises": "error",
"noUnusedExpressions": "error",
- "noShadow": "error"
+ "noShadow": "error",
+ "noJsxLeakedDollar": "error"
},
"correctness": {
+ "noInvalidGridAreas": "off",
"noUndeclaredVariables": "error",
"noUnusedInstantiation": "error",
"noNestedComponentDefinitions": "error",
@@ -55,7 +57,8 @@
"level": "error"
},
"useSingleJsDocAsterisk": "error",
- "noUndeclaredDependencies": "error"
+ "noUndeclaredDependencies": "error",
+ "noJsxNamespace": "error"
},
"style": {
"noNonNullAssertion": "off",
@@ -135,7 +138,9 @@
"strictCase": false,
"requireAscii": true
}
- }
+ },
+ "useImportsFirst": "error",
+ "useReduceTypeParameter": "error"
},
"a11y": {
"useKeyWithClickEvents": "off",
@@ -162,27 +167,23 @@
},
"noUselessCatchBinding": "error",
"noForEach": "error",
- "useIndexOf": "error"
+ "useIndexOf": "error",
+ "useArraySome": "error",
+ "noUnnecessaryTemplateExpression": {
+ "fix": "safe",
+ "level": "error"
+ }
},
"performance": {
"noSyncScripts": "error"
},
"security": {
- "noDangerouslySetInnerHtml": "error"
+ "noDangerouslySetInnerHtml": "error",
+ "useIframeSandbox": "error"
},
"nursery": {
- "useImportsFirst": "error",
"useReactFunctionComponentDefinition": "error",
"useControlLabel": "error",
- "useIframeSandbox": "error",
- "useArraySome": "error",
- "useReduceTypeParameter": "error",
- "noUnnecessaryTemplateExpression": {
- "fix": "safe",
- "level": "error"
- },
- "noJsxLeakedDollar": "error",
- "noJsxNamespace": "error",
"noNegationInEqualityCheck": "error",
"noExtendNative": "error"
}
@@ -202,6 +203,16 @@
"cssModules": true
}
},
+ "markdown": {
+ "formatter": {
+ "enabled": false
+ }
+ },
+ "yaml": {
+ "formatter": {
+ "enabled": false
+ }
+ },
"overrides": [
{
"includes": [
@@ -232,17 +243,26 @@
"includes": ["e2e/**"],
"linter": {
"rules": {
- "nursery": {
+ "suspicious": {
"noPlaywrightPagePause": "error",
"noPlaywrightWaitForTimeout": "error",
- "noPlaywrightMissingAwait": "error",
- "noPlaywrightUselessAwait": "error",
"noPlaywrightWaitForNavigation": "error",
+ "noPlaywrightNetworkidle": "error"
+ },
+ "correctness": {
+ "noPlaywrightMissingAwait": "error",
+ "usePlaywrightValidDescribeCallback": "error"
+ },
+ "complexity": {
+ "noPlaywrightUselessAwait": "error"
+ },
+ "style": {
"noPlaywrightElementHandle": "error",
"noPlaywrightEval": "error",
- "noPlaywrightNetworkidle": "error",
- "noPlaywrightWaitForSelector": "error",
- "usePlaywrightValidDescribeCallback": "error"
+ "noPlaywrightWaitForSelector": "error"
+ },
+ "performance": {
+ "useDomNodeTextContent": "off"
}
}
}
@@ -302,7 +322,7 @@
"includes": ["**/*.test.ts", "**/*.test.tsx"],
"linter": {
"rules": {
- "nursery": {
+ "style": {
"useConsistentTestIt": {
"level": "error",
"options": { "function": "test", "withinDescribe": "test" }
diff --git a/e2e/helpers/playwright.ts b/e2e/helpers/playwright.ts
index 9e89d74e2..9d835ce2e 100644
--- a/e2e/helpers/playwright.ts
+++ b/e2e/helpers/playwright.ts
@@ -670,7 +670,7 @@ const DND_KIT_CLICK_SUPPRESSION_MS = 50;
/** Waits out dnd-kit's post-drop click suppression, which nothing observable marks the end of. Call after the `mouse.up()` of a drag. */
export async function waitForDropToSettle(page: Page) {
- // biome-ignore lint/nursery/noPlaywrightWaitForTimeout: the suppression window has no observable end
+ // biome-ignore lint/suspicious/noPlaywrightWaitForTimeout: the suppression window has no observable end
await page.waitForTimeout(2 * DND_KIT_CLICK_SUPPRESSION_MS);
}
diff --git a/e2e/pages/comp-analyzer/comp-analyzer-page.ts b/e2e/pages/comp-analyzer/comp-analyzer-page.ts
index 61a6fb011..5e15d90dc 100644
--- a/e2e/pages/comp-analyzer/comp-analyzer-page.ts
+++ b/e2e/pages/comp-analyzer/comp-analyzer-page.ts
@@ -11,9 +11,10 @@ export class CompAnalyzerPage {
constructor(page: Page) {
this.page = page;
+ const selectedWeapons = page.getByTestId("selected-weapons");
this.locators = {
- selectedWeapons: page.getByTestId("selected-weapons"),
- emptyWeaponSlots: page.getByText("Pick a weapon"),
+ selectedWeapons,
+ emptyWeaponSlots: selectedWeapons.getByText("Pick a weapon"),
weaponGridToggle: page.getByTestId("weapon-grid-toggle"),
categorizationToggle: page.getByTestId("categorization-toggle"),
rangeVisualization: page.getByTestId("range-visualization"),
diff --git a/e2e/pages/sendouq/sendouq-match-page.ts b/e2e/pages/sendouq/sendouq-match-page.ts
index 4d40ef7a4..c0091830c 100644
--- a/e2e/pages/sendouq/sendouq-match-page.ts
+++ b/e2e/pages/sendouq/sendouq-match-page.ts
@@ -266,6 +266,6 @@ export class SendouQMatchPage {
/** Waits out the gap the loss confirm keeps between arming and accepting the second tap. */
async function waitOutLossConfirmMinGap(page: Page) {
- // biome-ignore lint/nursery/noPlaywrightWaitForTimeout: the min gap after arming has no observable end
+ // biome-ignore lint/suspicious/noPlaywrightWaitForTimeout: the min gap after arming has no observable end
await page.waitForTimeout(LOSS_CONFIRM_MIN_GAP_MS);
}
diff --git a/package.json b/package.json
index 38183f9cd..d9a908d4a 100644
--- a/package.json
+++ b/package.json
@@ -71,8 +71,8 @@
"knip": "knip"
},
"dependencies": {
- "@aws-sdk/client-s3": "3.1152.0",
- "@aws-sdk/lib-storage": "3.1152.0",
+ "@aws-sdk/client-s3": "3.1155.0",
+ "@aws-sdk/lib-storage": "3.1155.0",
"@daily-co/daily-js": "0.94.0",
"@daily-co/daily-react": "0.26.1",
"@date-fns/tz": "1.5.0",
@@ -81,11 +81,11 @@
"@dnd-kit/sortable": "10.0.0",
"@dnd-kit/utilities": "3.2.2",
"@epic-web/cachified": "5.6.3",
- "@react-router/node": "8.4.0",
+ "@react-router/node": "8.5.0",
"@react-router/serve": "8.1.0",
"@techstark/opencv-js": "5.0.0-release.1",
"@tldraw/tldraw": "3.12.1",
- "@zumer/snapdom": "3.3.5",
+ "@zumer/snapdom": "3.3.6",
"clsx": "2.1.1",
"compressorjs": "1.4.0",
"date-fns": "4.4.0",
@@ -96,9 +96,9 @@
"ics": "3.12.1",
"isbot": "5.2.2",
"kysely": "0.29.0",
- "lucide-react": "1.59.0",
+ "lucide-react": "1.61.0",
"markdown-to-jsx": "9.10.3",
- "mediabunny": "1.61.6",
+ "mediabunny": "1.62.0",
"nanoid": "6.0.2",
"node-cron": "4.6.0",
"nprogress": "0.2.0",
@@ -110,8 +110,8 @@
"react-dom": "19.3.1",
"react-error-boundary": "6.1.6",
"react-i18next": "17.0.11",
- "react-router": "8.4.0",
- "remeda": "2.52.0",
+ "react-router": "8.5.0",
+ "remeda": "2.53.0",
"remix-auth": "4.2.0",
"remix-auth-oauth2": "3.4.1",
"slugify": "1.6.9",
@@ -125,11 +125,11 @@
"@astrojs/react": "7.1.1",
"@astrojs/starlight": "0.42.6",
"@babel/preset-typescript": "7.29.7",
- "@biomejs/biome": "2.5.15",
+ "@biomejs/biome": "2.6.2",
"@faker-js/faker": "10.6.0",
- "@napi-rs/canvas": "1.0.11",
+ "@napi-rs/canvas": "1.0.13",
"@playwright/test": "1.64.1",
- "@react-router/dev": "8.4.0",
+ "@react-router/dev": "8.5.0",
"@types/node": "26.6.5",
"@types/nprogress": "0.2.3",
"@types/react": "19.3.0",
@@ -140,16 +140,16 @@
"astro": "7.4.2",
"babel-plugin-react-compiler": "19.1.0-rc.3",
"cross-env": "10.1.0",
- "knip": "6.42.0",
+ "knip": "6.42.1",
"magic-string": "1.4.3",
"mermaid": "12.2.0",
- "oxc-parser": "0.154.0",
- "oxc-transform-react": "0.154.0",
+ "oxc-parser": "0.155.0",
+ "oxc-transform-react": "0.155.0",
"postcss": "8.5.31",
"sharp": "^0.35.5",
"sql-formatter": "15.9.0",
"typescript": "7.0.2",
- "vite": "8.3.4",
+ "vite": "8.3.5",
"vite-node": "6.0.0",
"vite-plugin-babel": "1.7.3",
"vitest": "4.1.12",
diff --git a/patches/react-router@8.4.0.patch b/patches/react-router@8.5.0.patch
similarity index 92%
rename from patches/react-router@8.4.0.patch
rename to patches/react-router@8.5.0.patch
index daa8ac244..32a03c811 100644
--- a/patches/react-router@8.4.0.patch
+++ b/patches/react-router@8.5.0.patch
@@ -1,5 +1,36 @@
+diff --git a/dist/development/lib/dom-export/hydrated-router.js b/dist/development/lib/dom-export/hydrated-router.js
+index df767ab6665e9a90344275d717bc31de81ff7228..5140b826243bcc00794aad943290bf49b6f30a66 100644
+--- a/dist/development/lib/dom-export/hydrated-router.js
++++ b/dist/development/lib/dom-export/hydrated-router.js
+@@ -149,7 +149,8 @@ function HydratedRouter(props) {
+ let discoveryState;
+ if (discoveryRuntime) discoveryState = UNSAFE_useCustomRouteDiscovery(discoveryRuntime, props.onError);
+ else UNSAFE_useFogOFWarDiscovery(router, ssrInfo.manifest, ssrInfo.routeModules, ssr, ssrInfo.context.routeDiscovery, ssrInfo.context.isSpaMode, fetchImplementation, ssrInfo.context.unstable_apiServerOrigin, ssrInfo.context.unstable_apiOnly === true);
+- return /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, /* @__PURE__ */ React$1.createElement(UNSAFE_FrameworkContext.Provider, { value: {
++ // patched: a stable value so every doesn't re-render whenever the location changes
++ let frameworkContext = React$1.useMemo(() => ({
+ routeDiscoveryRuntime: discoveryRuntime,
+ routeDiscoveryState: discoveryState,
+ manifest: ssrInfo.manifest,
+@@ -161,7 +162,15 @@ function HydratedRouter(props) {
+ unstable_apiOnly: ssrInfo.context.unstable_apiOnly,
+ routeDiscovery: ssrInfo.context.routeDiscovery,
+ unstable_apiServerOrigin: ssrInfo.context.unstable_apiServerOrigin
+- } }, /* @__PURE__ */ React$1.createElement(UNSAFE_RemixErrorBoundary, { location }, /* @__PURE__ */ React$1.createElement(RouterProvider$1, {
++ }), [
++ discoveryRuntime,
++ discoveryState,
++ ssrInfo.manifest,
++ ssrInfo.routeModules,
++ ssrInfo.context,
++ criticalCss
++ ]);
++ return /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, /* @__PURE__ */ React$1.createElement(UNSAFE_FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React$1.createElement(UNSAFE_RemixErrorBoundary, { location }, /* @__PURE__ */ React$1.createElement(RouterProvider$1, {
+ router,
+ useTransitions: props.useTransitions,
+ onError: props.onError
diff --git a/dist/development/lib/dom/lib.js b/dist/development/lib/dom/lib.js
-index 91f53f64ac6d7f49aa6cca772fe436845f147b87..6eedb577ec84396d4b5565b4b8fb9187f3a5fc5a 100644
+index c64372fc278f3f0e154ce1b47c01a5fbaa2b2e04..f74c78434022bc03d703561379a565fbb8131d6f 100644
--- a/dist/development/lib/dom/lib.js
+++ b/dist/development/lib/dom/lib.js
@@ -12,7 +12,7 @@ import { ABSOLUTE_URL_REGEX } from "../router/url.js";
@@ -9,8 +40,8 @@ index 91f53f64ac6d7f49aa6cca772fe436845f147b87..6eedb577ec84396d4b5565b4b8fb9187
-import { DataRouterNavigationContext, NavigationContext, RouteContext, ViewTransitionContext } from "../context.js";
+import { DataRouterContext, DataRouterNavigationContext, NavigationContext, RouteContext, ViewTransitionContext } from "../context.js";
import { useBlocker, useCurrentRouteId, useDataRouterContext, useDataRouterFetchers, useDataRouterState, useHref, useLocation, useMatches, useNavigate, useNavigation, useResolvedPath } from "../hooks.js";
- import { Router, hydrationRouteProperties } from "../components.js";
- import { createSearchParams, getFormSubmissionInfo, getSearchParamsForLocation, shouldProcessLinkClick } from "./dom.js";
+ import { escapeHtml } from "./ssr/markup.js";
+ import { FrameworkContext, PrefetchPageLinks, mergeRefs, usePrefetchBehavior } from "./ssr/components.js";
@@ -284,7 +284,7 @@ HistoryRouter.displayName = "unstable_HistoryRouter";
* @param {LinkProps.defaultShouldRevalidate} props.defaultShouldRevalidate n/a
* @param {LinkProps.mask} props.mask [modes: framework, data] n/a
@@ -87,7 +118,7 @@ index 91f53f64ac6d7f49aa6cca772fe436845f147b87..6eedb577ec84396d4b5565b4b8fb9187
"aria-current": ariaCurrent,
className,
diff --git a/dist/development/lib/dom/ssr/server.js b/dist/development/lib/dom/ssr/server.js
-index a2b1aca6bfc6cb9a663596780167b58102beb361..2b29018c3bd23ba9bbb307debcf5b456324bf160 100644
+index 414c796010e78f585f53180c83add0931e766d2b..82815e4a273f401da85315a1f2b8390d9b1c77a0 100644
--- a/dist/development/lib/dom/ssr/server.js
+++ b/dist/development/lib/dom/ssr/server.js
@@ -32,7 +32,7 @@ import * as React$1 from "react";
@@ -99,7 +130,7 @@ index a2b1aca6bfc6cb9a663596780167b58102beb361..2b29018c3bd23ba9bbb307debcf5b456
context.staticHandlerContext.loaderData = { ...context.staticHandlerContext.loaderData };
for (let match of context.staticHandlerContext.matches) {
let routeId = match.route.id;
-@@ -65,5 +65,14 @@ function ServerRouter({ context, url, nonce }) {
+@@ -67,5 +67,14 @@ function ServerRouter({ context, url, nonce }) {
nonce
})) : null);
}
@@ -115,7 +146,7 @@ index a2b1aca6bfc6cb9a663596780167b58102beb361..2b29018c3bd23ba9bbb307debcf5b456
//#endregion
export { ServerRouter };
diff --git a/dist/development/lib/dom/ssr/single-fetch.js b/dist/development/lib/dom/ssr/single-fetch.js
-index dcf5bf78575b794b504279f74e88c31512246186..5c9f9227cd5b61a96bcdcdf0efd832839dc7acd1 100644
+index 49b10047d7f77a8c91a5eb70226b113b6c2b2ed2..2aeb742475ce678ceed83ba80f4ea1f0729555e0 100644
--- a/dist/development/lib/dom/ssr/single-fetch.js
+++ b/dist/development/lib/dom/ssr/single-fetch.js
@@ -12,11 +12,11 @@ import { ErrorResponseImpl, SUPPORTED_ERROR_TYPES, data, isRouteErrorResponse, r
@@ -131,9 +162,9 @@ index dcf5bf78575b794b504279f74e88c31512246186..5c9f9227cd5b61a96bcdcdf0efd83283
var SingleFetchNoResultError = class extends Error {};
const NO_BODY_STATUS_CODES = new Set([
100,
-@@ -272,24 +272,31 @@ async function fetchAndDecodeViaTurboStream(args, targetRoutes) {
- throw new Error("Unable to decode turbo-stream response", { cause });
- }
+@@ -290,24 +290,31 @@ function fetchAndDecodeViaTurboStream(fetchImplementation, serverOrigin) {
+ }
+ };
}
-function decodeViaTurboStream(body, global) {
- return decode(body, { plugins: [(type, ...rest) => {
@@ -176,43 +207,14 @@ index dcf5bf78575b794b504279f74e88c31512246186..5c9f9227cd5b61a96bcdcdf0efd83283
}
function unwrapSingleFetchResult(result, routeId) {
if ("redirect" in result) {
-@@ -333,4 +340,4 @@ function createDeferred() {
+@@ -351,4 +358,4 @@ function createDeferred() {
};
}
//#endregion
-export { NO_BODY_STATUS_CODES, SingleFetchRedirectSymbol, StreamTransfer, decodeViaTurboStream, getSingleFetchDataStrategyImpl, getTurboStreamSingleFetchDataStrategy, singleFetchUrl, stripIndexParam };
+export { JSON_TYPE_KEY, NO_BODY_STATUS_CODES, SingleFetchRedirectSymbol, StreamTransfer, decodeViaTurboStream, getSingleFetchDataStrategyImpl, getTurboStreamSingleFetchDataStrategy, singleFetchUrl, stripIndexParam };
-diff --git a/dist/development/lib/dom-export/hydrated-router.js b/dist/development/lib/dom-export/hydrated-router.js
-index 4d0817136a6b1398fd80a0ea1cb864a01796f203..0e91eece494e1ac17a344670fd08404a89d63f1c 100644
---- a/dist/development/lib/dom-export/hydrated-router.js
-+++ b/dist/development/lib/dom-export/hydrated-router.js
-@@ -133,7 +133,8 @@ function HydratedRouter(props) {
- }, [location]);
- UNSAFE_invariant(ssrInfo, "ssrInfo unavailable for HydratedRouter");
- UNSAFE_useFogOFWarDiscovery(router, ssrInfo.manifest, ssrInfo.routeModules, ssrInfo.context.ssr, ssrInfo.context.routeDiscovery, ssrInfo.context.isSpaMode);
-- return /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, /* @__PURE__ */ React$1.createElement(UNSAFE_FrameworkContext.Provider, { value: {
-+ // patched: a stable value so every doesn't re-render whenever the location changes
-+ let frameworkContext = React$1.useMemo(() => ({
- manifest: ssrInfo.manifest,
- routeModules: ssrInfo.routeModules,
- future: ssrInfo.context.future,
-@@ -141,7 +142,13 @@ function HydratedRouter(props) {
- ssr: ssrInfo.context.ssr,
- isSpaMode: ssrInfo.context.isSpaMode,
- routeDiscovery: ssrInfo.context.routeDiscovery
-- } }, /* @__PURE__ */ React$1.createElement(UNSAFE_RemixErrorBoundary, { location }, /* @__PURE__ */ React$1.createElement(RouterProvider$1, {
-+ }), [
-+ ssrInfo.manifest,
-+ ssrInfo.routeModules,
-+ ssrInfo.context,
-+ criticalCss
-+ ]);
-+ return /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, /* @__PURE__ */ React$1.createElement(UNSAFE_FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React$1.createElement(UNSAFE_RemixErrorBoundary, { location }, /* @__PURE__ */ React$1.createElement(RouterProvider$1, {
- router,
- useTransitions: props.useTransitions,
- onError: props.onError
diff --git a/dist/development/lib/hooks.js b/dist/development/lib/hooks.js
-index 18c69d42e36059faae18922046ea3cd7e9817722..f2c806583352aa61c38ec113c159f0b4a84cac8e 100644
+index 3a9d1d0abe4dcb90b1e8162db28fff27db78898c..5fa998f1568c944932b7db80b5b156823a5c0a77 100644
--- a/dist/development/lib/hooks.js
+++ b/dist/development/lib/hooks.js
@@ -527,10 +527,11 @@ function useParams() {
@@ -252,7 +254,7 @@ index 18c69d42e36059faae18922046ea3cd7e9817722..f2c806583352aa61c38ec113c159f0b4
function _renderMatches(matches, parentMatches = [], dataRouterOpts) {
let dataRouterState = dataRouterOpts?.state;
diff --git a/dist/development/lib/router/matcher.js b/dist/development/lib/router/matcher.js
-index 135d8da979b2a7c88c43f2f85c43de0ac6a49ad0..5eb2b3edfda349e5de531559c3313e4d0f4ac8e3 100644
+index 865fabf95800603edec9f8ef546886fb049e7a57..bdbaee27652607050a25f4546780b1a4f0cf2bc9 100644
--- a/dist/development/lib/router/matcher.js
+++ b/dist/development/lib/router/matcher.js
@@ -8,11 +8,14 @@
@@ -305,10 +307,10 @@ index 135d8da979b2a7c88c43f2f85c43de0ac6a49ad0..5eb2b3edfda349e5de531559c3313e4d
//#endregion
export { V6RegExMatcher };
diff --git a/dist/development/lib/router/router.js b/dist/development/lib/router/router.js
-index b6faa6059480c74780c475ebdcf2f1061056328c..c4c2e41142500ffd6f6378daffdea7b98182647e 100644
+index 96a9def58aa7936a638cb8b2bbc8befbb1022866..a13a417e876dcd042356474445b495f79e650d0e 100644
--- a/dist/development/lib/router/router.js
+++ b/dist/development/lib/router/router.js
-@@ -2725,7 +2725,7 @@ function processLoaderData(state, matches, results, pendingActionResult, revalid
+@@ -2817,7 +2817,7 @@ function processLoaderData(state, matches, results, pendingActionResult, revalid
}
function mergeLoaderData(loaderData, newLoaderData, matches, errors) {
let mergedLoaderData = Object.entries(newLoaderData).filter(([, v]) => v !== ResetLoaderDataSymbol).reduce((merged, [k, v]) => {
@@ -317,7 +319,7 @@ index b6faa6059480c74780c475ebdcf2f1061056328c..c4c2e41142500ffd6f6378daffdea7b9
return merged;
}, {});
let preservedCount = 0;
-@@ -2739,6 +2739,30 @@ function mergeLoaderData(loaderData, newLoaderData, matches, errors) {
+@@ -2831,6 +2831,30 @@ function mergeLoaderData(loaderData, newLoaderData, matches, errors) {
}
return Object.keys(newLoaderData).length === 0 && preservedCount === Object.keys(loaderData).length ? loaderData : mergedLoaderData;
}
@@ -349,7 +351,7 @@ index b6faa6059480c74780c475ebdcf2f1061056328c..c4c2e41142500ffd6f6378daffdea7b9
if (!pendingActionResult) return {};
return isErrorResult(pendingActionResult[1]) ? { actionData: {} } : { actionData: { [pendingActionResult[0]]: pendingActionResult[1].data } };
diff --git a/dist/development/lib/server-runtime/crypto.js b/dist/development/lib/server-runtime/crypto.js
-index a4f6c3f43084bfccf5d9ebe4908868502ce70b58..c0619093ba8a2763d523d5a868896626636123f4 100644
+index ba03b7e99e0d126a06b41c3fa50273418a3d073e..9b64f19f9c2cf2e06dc65a4b20bfcd0e5d8b3c7c 100644
--- a/dist/development/lib/server-runtime/crypto.js
+++ b/dist/development/lib/server-runtime/crypto.js
@@ -10,7 +10,10 @@
@@ -378,7 +380,7 @@ index a4f6c3f43084bfccf5d9ebe4908868502ce70b58..c0619093ba8a2763d523d5a868896626
let key = await createKey(secret, ["verify"]);
try {
diff --git a/dist/development/lib/server-runtime/entry.js b/dist/development/lib/server-runtime/entry.js
-index e863c7243768adc4b6a73da7e485895249358bab..26aec6dfce410872389037706052ccaa8f71d570 100644
+index 979f27086e6ce619702a137887e6eae85a07b059..ff2ef6b207f4ac24a74c29962d4b709d3ab4d434 100644
--- a/dist/development/lib/server-runtime/entry.js
+++ b/dist/development/lib/server-runtime/entry.js
@@ -9,7 +9,14 @@
@@ -397,7 +399,7 @@ index e863c7243768adc4b6a73da7e485895249358bab..26aec6dfce410872389037706052ccaa
let route = manifest[routeId];
if (route) memo[routeId] = route.module;
diff --git a/dist/development/lib/server-runtime/single-fetch.js b/dist/development/lib/server-runtime/single-fetch.js
-index 89ccb3ff59f3a7953cca2637e1075ff7246a8c69..fbfc45b088a5b00de35daeb3985290fa844ebe66 100644
+index 87bf19e2b18307702e293369c5d0a86a39b1f0e0..2ea2c5b59809c87a1a3b97a0b22cc3e43a1c3abd 100644
--- a/dist/development/lib/server-runtime/single-fetch.js
+++ b/dist/development/lib/server-runtime/single-fetch.js
@@ -10,8 +10,7 @@
@@ -523,15 +525,11 @@ index 89ccb3ff59f3a7953cca2637e1075ff7246a8c69..fbfc45b088a5b00de35daeb3985290fa
//#endregion
export { SERVER_NO_BODY_STATUS_CODES, encodeViaTurboStream, generateSingleFetchRedirectResponse, singleFetchAction, singleFetchLoaders };
diff --git a/dist/development/lib/types/route-data.d.ts b/dist/development/lib/types/route-data.d.ts
-index d03b28e2b0cbc5a260450d874dea4a69c17e53b7..a542dda42aaf60835d69299fcb98837325771d7e 100644
+index aa9953fd326fcddd44c071ad627113f5d4c4590e..6a0b542087104a3618f2f0cfec9de5fb63cff7da 100644
--- a/dist/development/lib/types/route-data.d.ts
+++ b/dist/development/lib/types/route-data.d.ts
-@@ -3,11 +3,11 @@ import { DataWithResponseInit, RouterContextProvider } from "../router/utils.js"
- import { Equal, Func, IsAny } from "./utils.js";
- import { RouteModule } from "./route-module.js";
+@@ -7,7 +7,8 @@ import { RouteModule } from "./route-module.js";
import { unstable_SerializesTo } from "./serializes-to.js";
--import { Serializable } from "../server-runtime/single-fetch.js";
- import { ClientActionFunctionArgs, ClientLoaderFunctionArgs } from "../dom/ssr/routeModules.js";
//#region lib/types/route-data.d.ts
-type Serialize = T extends unstable_SerializesTo ? To : T extends Serializable ? T : T extends ((...args: any[]) => unknown) ? undefined : T extends Promise ? Promise> : T extends Map ? Map, Serialize> : T extends ReadonlyMap ? ReadonlyMap, Serialize> : T extends Set ? Set> : T extends ReadonlySet ? ReadonlySet> : T extends [] ? [] : T extends readonly [infer F, ...infer R] ? [Serialize, ...Serialize] : T extends Array ? Array> : T extends readonly unknown[] ? readonly Serialize[] : T extends Record ? { [K in keyof T]: Serialize } : undefined;
@@ -541,7 +539,7 @@ index d03b28e2b0cbc5a260450d874dea4a69c17e53b7..a542dda42aaf60835d69299fcb988373
type DataFrom = IsAny extends true ? undefined : T extends Func ? VoidToUndefined>> : undefined;
type ClientData = T extends Response ? never : T extends DataWithResponseInit ? U : T;
diff --git a/dist/development/vendor/turbo-stream-v2/flatten.js b/dist/development/vendor/turbo-stream-v2/flatten.js
-index 61b8dbf73570da26728aada21ecdd5f3ed4a75cd..f27872d6b326e691eb00f9a5ecd3eb9bbf83d675 100644
+index 3466186decd73dac3b1705b213594bb63548293d..56b8c9bdb147cc277e3363af93ca159cf5dd4088 100644
--- a/dist/development/vendor/turbo-stream-v2/flatten.js
+++ b/dist/development/vendor/turbo-stream-v2/flatten.js
@@ -46,15 +46,16 @@ async function stringify(stack) {
@@ -564,8 +562,39 @@ index 61b8dbf73570da26728aada21ecdd5f3ed4a75cd..f27872d6b326e691eb00f9a5ecd3eb9b
let error = null;
switch (typeof input) {
case "boolean":
+diff --git a/dist/production/lib/dom-export/hydrated-router.js b/dist/production/lib/dom-export/hydrated-router.js
+index df767ab6665e9a90344275d717bc31de81ff7228..5140b826243bcc00794aad943290bf49b6f30a66 100644
+--- a/dist/production/lib/dom-export/hydrated-router.js
++++ b/dist/production/lib/dom-export/hydrated-router.js
+@@ -149,7 +149,8 @@ function HydratedRouter(props) {
+ let discoveryState;
+ if (discoveryRuntime) discoveryState = UNSAFE_useCustomRouteDiscovery(discoveryRuntime, props.onError);
+ else UNSAFE_useFogOFWarDiscovery(router, ssrInfo.manifest, ssrInfo.routeModules, ssr, ssrInfo.context.routeDiscovery, ssrInfo.context.isSpaMode, fetchImplementation, ssrInfo.context.unstable_apiServerOrigin, ssrInfo.context.unstable_apiOnly === true);
+- return /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, /* @__PURE__ */ React$1.createElement(UNSAFE_FrameworkContext.Provider, { value: {
++ // patched: a stable value so every doesn't re-render whenever the location changes
++ let frameworkContext = React$1.useMemo(() => ({
+ routeDiscoveryRuntime: discoveryRuntime,
+ routeDiscoveryState: discoveryState,
+ manifest: ssrInfo.manifest,
+@@ -161,7 +162,15 @@ function HydratedRouter(props) {
+ unstable_apiOnly: ssrInfo.context.unstable_apiOnly,
+ routeDiscovery: ssrInfo.context.routeDiscovery,
+ unstable_apiServerOrigin: ssrInfo.context.unstable_apiServerOrigin
+- } }, /* @__PURE__ */ React$1.createElement(UNSAFE_RemixErrorBoundary, { location }, /* @__PURE__ */ React$1.createElement(RouterProvider$1, {
++ }), [
++ discoveryRuntime,
++ discoveryState,
++ ssrInfo.manifest,
++ ssrInfo.routeModules,
++ ssrInfo.context,
++ criticalCss
++ ]);
++ return /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, /* @__PURE__ */ React$1.createElement(UNSAFE_FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React$1.createElement(UNSAFE_RemixErrorBoundary, { location }, /* @__PURE__ */ React$1.createElement(RouterProvider$1, {
+ router,
+ useTransitions: props.useTransitions,
+ onError: props.onError
diff --git a/dist/production/lib/dom/lib.js b/dist/production/lib/dom/lib.js
-index 91f53f64ac6d7f49aa6cca772fe436845f147b87..6eedb577ec84396d4b5565b4b8fb9187f3a5fc5a 100644
+index c64372fc278f3f0e154ce1b47c01a5fbaa2b2e04..f74c78434022bc03d703561379a565fbb8131d6f 100644
--- a/dist/production/lib/dom/lib.js
+++ b/dist/production/lib/dom/lib.js
@@ -12,7 +12,7 @@ import { ABSOLUTE_URL_REGEX } from "../router/url.js";
@@ -575,8 +604,8 @@ index 91f53f64ac6d7f49aa6cca772fe436845f147b87..6eedb577ec84396d4b5565b4b8fb9187
-import { DataRouterNavigationContext, NavigationContext, RouteContext, ViewTransitionContext } from "../context.js";
+import { DataRouterContext, DataRouterNavigationContext, NavigationContext, RouteContext, ViewTransitionContext } from "../context.js";
import { useBlocker, useCurrentRouteId, useDataRouterContext, useDataRouterFetchers, useDataRouterState, useHref, useLocation, useMatches, useNavigate, useNavigation, useResolvedPath } from "../hooks.js";
- import { Router, hydrationRouteProperties } from "../components.js";
- import { createSearchParams, getFormSubmissionInfo, getSearchParamsForLocation, shouldProcessLinkClick } from "./dom.js";
+ import { escapeHtml } from "./ssr/markup.js";
+ import { FrameworkContext, PrefetchPageLinks, mergeRefs, usePrefetchBehavior } from "./ssr/components.js";
@@ -284,7 +284,7 @@ HistoryRouter.displayName = "unstable_HistoryRouter";
* @param {LinkProps.defaultShouldRevalidate} props.defaultShouldRevalidate n/a
* @param {LinkProps.mask} props.mask [modes: framework, data] n/a
@@ -653,7 +682,7 @@ index 91f53f64ac6d7f49aa6cca772fe436845f147b87..6eedb577ec84396d4b5565b4b8fb9187
"aria-current": ariaCurrent,
className,
diff --git a/dist/production/lib/dom/ssr/server.js b/dist/production/lib/dom/ssr/server.js
-index a2b1aca6bfc6cb9a663596780167b58102beb361..2b29018c3bd23ba9bbb307debcf5b456324bf160 100644
+index 414c796010e78f585f53180c83add0931e766d2b..82815e4a273f401da85315a1f2b8390d9b1c77a0 100644
--- a/dist/production/lib/dom/ssr/server.js
+++ b/dist/production/lib/dom/ssr/server.js
@@ -32,7 +32,7 @@ import * as React$1 from "react";
@@ -665,7 +694,7 @@ index a2b1aca6bfc6cb9a663596780167b58102beb361..2b29018c3bd23ba9bbb307debcf5b456
context.staticHandlerContext.loaderData = { ...context.staticHandlerContext.loaderData };
for (let match of context.staticHandlerContext.matches) {
let routeId = match.route.id;
-@@ -65,5 +65,14 @@ function ServerRouter({ context, url, nonce }) {
+@@ -67,5 +67,14 @@ function ServerRouter({ context, url, nonce }) {
nonce
})) : null);
}
@@ -681,7 +710,7 @@ index a2b1aca6bfc6cb9a663596780167b58102beb361..2b29018c3bd23ba9bbb307debcf5b456
//#endregion
export { ServerRouter };
diff --git a/dist/production/lib/dom/ssr/single-fetch.js b/dist/production/lib/dom/ssr/single-fetch.js
-index dcf5bf78575b794b504279f74e88c31512246186..5c9f9227cd5b61a96bcdcdf0efd832839dc7acd1 100644
+index 49b10047d7f77a8c91a5eb70226b113b6c2b2ed2..2aeb742475ce678ceed83ba80f4ea1f0729555e0 100644
--- a/dist/production/lib/dom/ssr/single-fetch.js
+++ b/dist/production/lib/dom/ssr/single-fetch.js
@@ -12,11 +12,11 @@ import { ErrorResponseImpl, SUPPORTED_ERROR_TYPES, data, isRouteErrorResponse, r
@@ -697,9 +726,9 @@ index dcf5bf78575b794b504279f74e88c31512246186..5c9f9227cd5b61a96bcdcdf0efd83283
var SingleFetchNoResultError = class extends Error {};
const NO_BODY_STATUS_CODES = new Set([
100,
-@@ -272,24 +272,31 @@ async function fetchAndDecodeViaTurboStream(args, targetRoutes) {
- throw new Error("Unable to decode turbo-stream response", { cause });
- }
+@@ -290,24 +290,31 @@ function fetchAndDecodeViaTurboStream(fetchImplementation, serverOrigin) {
+ }
+ };
}
-function decodeViaTurboStream(body, global) {
- return decode(body, { plugins: [(type, ...rest) => {
@@ -742,43 +771,14 @@ index dcf5bf78575b794b504279f74e88c31512246186..5c9f9227cd5b61a96bcdcdf0efd83283
}
function unwrapSingleFetchResult(result, routeId) {
if ("redirect" in result) {
-@@ -333,4 +340,4 @@ function createDeferred() {
+@@ -351,4 +358,4 @@ function createDeferred() {
};
}
//#endregion
-export { NO_BODY_STATUS_CODES, SingleFetchRedirectSymbol, StreamTransfer, decodeViaTurboStream, getSingleFetchDataStrategyImpl, getTurboStreamSingleFetchDataStrategy, singleFetchUrl, stripIndexParam };
+export { JSON_TYPE_KEY, NO_BODY_STATUS_CODES, SingleFetchRedirectSymbol, StreamTransfer, decodeViaTurboStream, getSingleFetchDataStrategyImpl, getTurboStreamSingleFetchDataStrategy, singleFetchUrl, stripIndexParam };
-diff --git a/dist/production/lib/dom-export/hydrated-router.js b/dist/production/lib/dom-export/hydrated-router.js
-index 4d0817136a6b1398fd80a0ea1cb864a01796f203..0e91eece494e1ac17a344670fd08404a89d63f1c 100644
---- a/dist/production/lib/dom-export/hydrated-router.js
-+++ b/dist/production/lib/dom-export/hydrated-router.js
-@@ -133,7 +133,8 @@ function HydratedRouter(props) {
- }, [location]);
- UNSAFE_invariant(ssrInfo, "ssrInfo unavailable for HydratedRouter");
- UNSAFE_useFogOFWarDiscovery(router, ssrInfo.manifest, ssrInfo.routeModules, ssrInfo.context.ssr, ssrInfo.context.routeDiscovery, ssrInfo.context.isSpaMode);
-- return /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, /* @__PURE__ */ React$1.createElement(UNSAFE_FrameworkContext.Provider, { value: {
-+ // patched: a stable value so every doesn't re-render whenever the location changes
-+ let frameworkContext = React$1.useMemo(() => ({
- manifest: ssrInfo.manifest,
- routeModules: ssrInfo.routeModules,
- future: ssrInfo.context.future,
-@@ -141,7 +142,13 @@ function HydratedRouter(props) {
- ssr: ssrInfo.context.ssr,
- isSpaMode: ssrInfo.context.isSpaMode,
- routeDiscovery: ssrInfo.context.routeDiscovery
-- } }, /* @__PURE__ */ React$1.createElement(UNSAFE_RemixErrorBoundary, { location }, /* @__PURE__ */ React$1.createElement(RouterProvider$1, {
-+ }), [
-+ ssrInfo.manifest,
-+ ssrInfo.routeModules,
-+ ssrInfo.context,
-+ criticalCss
-+ ]);
-+ return /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, /* @__PURE__ */ React$1.createElement(UNSAFE_FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React$1.createElement(UNSAFE_RemixErrorBoundary, { location }, /* @__PURE__ */ React$1.createElement(RouterProvider$1, {
- router,
- useTransitions: props.useTransitions,
- onError: props.onError
diff --git a/dist/production/lib/hooks.js b/dist/production/lib/hooks.js
-index d83812a300d04b1301221b9f2650dc8197257cbb..4ebb1dd7321b19ab2aa1cd4f1784cb1b60be723e 100644
+index 53530d4909ce7df1529dbf52b65eeac5179e19d4..354c1933c06276edb0d453b9845db1304e354413 100644
--- a/dist/production/lib/hooks.js
+++ b/dist/production/lib/hooks.js
@@ -527,10 +527,11 @@ function useParams() {
@@ -818,7 +818,7 @@ index d83812a300d04b1301221b9f2650dc8197257cbb..4ebb1dd7321b19ab2aa1cd4f1784cb1b
function _renderMatches(matches, parentMatches = [], dataRouterOpts) {
let dataRouterState = dataRouterOpts?.state;
diff --git a/dist/production/lib/router/matcher.js b/dist/production/lib/router/matcher.js
-index 135d8da979b2a7c88c43f2f85c43de0ac6a49ad0..5eb2b3edfda349e5de531559c3313e4d0f4ac8e3 100644
+index 865fabf95800603edec9f8ef546886fb049e7a57..bdbaee27652607050a25f4546780b1a4f0cf2bc9 100644
--- a/dist/production/lib/router/matcher.js
+++ b/dist/production/lib/router/matcher.js
@@ -8,11 +8,14 @@
@@ -871,10 +871,10 @@ index 135d8da979b2a7c88c43f2f85c43de0ac6a49ad0..5eb2b3edfda349e5de531559c3313e4d
//#endregion
export { V6RegExMatcher };
diff --git a/dist/production/lib/router/router.js b/dist/production/lib/router/router.js
-index b6faa6059480c74780c475ebdcf2f1061056328c..c4c2e41142500ffd6f6378daffdea7b98182647e 100644
+index 96a9def58aa7936a638cb8b2bbc8befbb1022866..a13a417e876dcd042356474445b495f79e650d0e 100644
--- a/dist/production/lib/router/router.js
+++ b/dist/production/lib/router/router.js
-@@ -2725,7 +2725,7 @@ function processLoaderData(state, matches, results, pendingActionResult, revalid
+@@ -2817,7 +2817,7 @@ function processLoaderData(state, matches, results, pendingActionResult, revalid
}
function mergeLoaderData(loaderData, newLoaderData, matches, errors) {
let mergedLoaderData = Object.entries(newLoaderData).filter(([, v]) => v !== ResetLoaderDataSymbol).reduce((merged, [k, v]) => {
@@ -883,7 +883,7 @@ index b6faa6059480c74780c475ebdcf2f1061056328c..c4c2e41142500ffd6f6378daffdea7b9
return merged;
}, {});
let preservedCount = 0;
-@@ -2739,6 +2739,30 @@ function mergeLoaderData(loaderData, newLoaderData, matches, errors) {
+@@ -2831,6 +2831,30 @@ function mergeLoaderData(loaderData, newLoaderData, matches, errors) {
}
return Object.keys(newLoaderData).length === 0 && preservedCount === Object.keys(loaderData).length ? loaderData : mergedLoaderData;
}
@@ -915,7 +915,7 @@ index b6faa6059480c74780c475ebdcf2f1061056328c..c4c2e41142500ffd6f6378daffdea7b9
if (!pendingActionResult) return {};
return isErrorResult(pendingActionResult[1]) ? { actionData: {} } : { actionData: { [pendingActionResult[0]]: pendingActionResult[1].data } };
diff --git a/dist/production/lib/server-runtime/crypto.js b/dist/production/lib/server-runtime/crypto.js
-index a4f6c3f43084bfccf5d9ebe4908868502ce70b58..c0619093ba8a2763d523d5a868896626636123f4 100644
+index ba03b7e99e0d126a06b41c3fa50273418a3d073e..9b64f19f9c2cf2e06dc65a4b20bfcd0e5d8b3c7c 100644
--- a/dist/production/lib/server-runtime/crypto.js
+++ b/dist/production/lib/server-runtime/crypto.js
@@ -10,7 +10,10 @@
@@ -944,7 +944,7 @@ index a4f6c3f43084bfccf5d9ebe4908868502ce70b58..c0619093ba8a2763d523d5a868896626
let key = await createKey(secret, ["verify"]);
try {
diff --git a/dist/production/lib/server-runtime/entry.js b/dist/production/lib/server-runtime/entry.js
-index e863c7243768adc4b6a73da7e485895249358bab..26aec6dfce410872389037706052ccaa8f71d570 100644
+index 979f27086e6ce619702a137887e6eae85a07b059..ff2ef6b207f4ac24a74c29962d4b709d3ab4d434 100644
--- a/dist/production/lib/server-runtime/entry.js
+++ b/dist/production/lib/server-runtime/entry.js
@@ -9,7 +9,14 @@
@@ -963,7 +963,7 @@ index e863c7243768adc4b6a73da7e485895249358bab..26aec6dfce410872389037706052ccaa
let route = manifest[routeId];
if (route) memo[routeId] = route.module;
diff --git a/dist/production/lib/server-runtime/single-fetch.js b/dist/production/lib/server-runtime/single-fetch.js
-index 89ccb3ff59f3a7953cca2637e1075ff7246a8c69..fbfc45b088a5b00de35daeb3985290fa844ebe66 100644
+index 87bf19e2b18307702e293369c5d0a86a39b1f0e0..2ea2c5b59809c87a1a3b97a0b22cc3e43a1c3abd 100644
--- a/dist/production/lib/server-runtime/single-fetch.js
+++ b/dist/production/lib/server-runtime/single-fetch.js
@@ -10,8 +10,7 @@
@@ -1089,15 +1089,11 @@ index 89ccb3ff59f3a7953cca2637e1075ff7246a8c69..fbfc45b088a5b00de35daeb3985290fa
//#endregion
export { SERVER_NO_BODY_STATUS_CODES, encodeViaTurboStream, generateSingleFetchRedirectResponse, singleFetchAction, singleFetchLoaders };
diff --git a/dist/production/lib/types/route-data.d.ts b/dist/production/lib/types/route-data.d.ts
-index d03b28e2b0cbc5a260450d874dea4a69c17e53b7..a542dda42aaf60835d69299fcb98837325771d7e 100644
+index aa9953fd326fcddd44c071ad627113f5d4c4590e..6a0b542087104a3618f2f0cfec9de5fb63cff7da 100644
--- a/dist/production/lib/types/route-data.d.ts
+++ b/dist/production/lib/types/route-data.d.ts
-@@ -3,11 +3,11 @@ import { DataWithResponseInit, RouterContextProvider } from "../router/utils.js"
- import { Equal, Func, IsAny } from "./utils.js";
- import { RouteModule } from "./route-module.js";
+@@ -7,7 +7,8 @@ import { RouteModule } from "./route-module.js";
import { unstable_SerializesTo } from "./serializes-to.js";
--import { Serializable } from "../server-runtime/single-fetch.js";
- import { ClientActionFunctionArgs, ClientLoaderFunctionArgs } from "../dom/ssr/routeModules.js";
//#region lib/types/route-data.d.ts
-type Serialize = T extends unstable_SerializesTo ? To : T extends Serializable ? T : T extends ((...args: any[]) => unknown) ? undefined : T extends Promise ? Promise> : T extends Map ? Map, Serialize> : T extends ReadonlyMap ? ReadonlyMap, Serialize> : T extends Set ? Set> : T extends ReadonlySet ? ReadonlySet> : T extends [] ? [] : T extends readonly [infer F, ...infer R] ? [Serialize, ...Serialize] : T extends Array ? Array> : T extends readonly unknown[] ? readonly Serialize[] : T extends Record ? { [K in keyof T]: Serialize } : undefined;
@@ -1107,7 +1103,7 @@ index d03b28e2b0cbc5a260450d874dea4a69c17e53b7..a542dda42aaf60835d69299fcb988373
type DataFrom = IsAny extends true ? undefined : T extends Func ? VoidToUndefined>> : undefined;
type ClientData = T extends Response ? never : T extends DataWithResponseInit ? U : T;
diff --git a/dist/production/vendor/turbo-stream-v2/flatten.js b/dist/production/vendor/turbo-stream-v2/flatten.js
-index 61b8dbf73570da26728aada21ecdd5f3ed4a75cd..f27872d6b326e691eb00f9a5ecd3eb9bbf83d675 100644
+index 3466186decd73dac3b1705b213594bb63548293d..56b8c9bdb147cc277e3363af93ca159cf5dd4088 100644
--- a/dist/production/vendor/turbo-stream-v2/flatten.js
+++ b/dist/production/vendor/turbo-stream-v2/flatten.js
@@ -46,15 +46,16 @@ async function stringify(stack) {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2b7cbddf6..32c022d09 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -10,18 +10,18 @@ patchedDependencies:
i18next@26.3.6: 34c245cebb3f9c7861d2576a3a44228364cb898037f86b23a5bbf8b20f55fb1a
kysely@0.29.0: c4db877b7832e81d7eb0b710c902cee526020b0bcd4f577c696f0935a2fd1364
react-i18next@17.0.11: 1f928881d134daf116e494299036454a3c311fe6fb81f60ef8d158f27466a269
- react-router@8.4.0: 8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f
+ react-router@8.5.0: 2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b
importers:
.:
dependencies:
'@aws-sdk/client-s3':
- specifier: 3.1152.0
- version: 3.1152.0
+ specifier: 3.1155.0
+ version: 3.1155.0
'@aws-sdk/lib-storage':
- specifier: 3.1152.0
- version: 3.1152.0(@aws-sdk/client-s3@3.1152.0)
+ specifier: 3.1155.0
+ version: 3.1155.0(@aws-sdk/client-s3@3.1155.0)
'@daily-co/daily-js':
specifier: 0.94.0
version: 0.94.0
@@ -47,11 +47,11 @@ importers:
specifier: 5.6.3
version: 5.6.3
'@react-router/node':
- specifier: 8.4.0
- version: 8.4.0(react-router@8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)
+ specifier: 8.5.0
+ version: 8.5.0(react-router@8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)
'@react-router/serve':
specifier: 8.1.0
- version: 8.1.0(patch_hash=f7425beb70a2ce35ca7235672d8df524901983a27c25aa7de489bc559d54d7f1)(react-router@8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)
+ version: 8.1.0(patch_hash=f7425beb70a2ce35ca7235672d8df524901983a27c25aa7de489bc559d54d7f1)(react-router@8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)
'@techstark/opencv-js':
specifier: 5.0.0-release.1
version: 5.0.0-release.1(patch_hash=810344500e8099b2f8d80c7c3fc28977abfcd115a2616abd1329f7f89f0534b6)
@@ -59,8 +59,8 @@ importers:
specifier: 3.12.1
version: 3.12.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
'@zumer/snapdom':
- specifier: 3.3.5
- version: 3.3.5
+ specifier: 3.3.6
+ version: 3.3.6
clsx:
specifier: 2.1.1
version: 2.1.1
@@ -92,14 +92,14 @@ importers:
specifier: 0.29.0
version: 0.29.0(patch_hash=c4db877b7832e81d7eb0b710c902cee526020b0bcd4f577c696f0935a2fd1364)
lucide-react:
- specifier: 1.59.0
- version: 1.59.0(@types/react@19.3.0)(react@19.3.1)
+ specifier: 1.61.0
+ version: 1.61.0(@types/react@19.3.0)(react@19.3.1)
markdown-to-jsx:
specifier: 9.10.3
version: 9.10.3(react@19.3.1)
mediabunny:
- specifier: 1.61.6
- version: 1.61.6
+ specifier: 1.62.0
+ version: 1.62.0
nanoid:
specifier: 6.0.2
version: 6.0.2
@@ -134,11 +134,11 @@ importers:
specifier: 17.0.11
version: 17.0.11(patch_hash=1f928881d134daf116e494299036454a3c311fe6fb81f60ef8d158f27466a269)(i18next@26.3.6(patch_hash=34c245cebb3f9c7861d2576a3a44228364cb898037f86b23a5bbf8b20f55fb1a)(typescript@7.0.2))(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(typescript@7.0.2)
react-router:
- specifier: 8.4.0
- version: 8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
+ specifier: 8.5.0
+ version: 8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
remeda:
- specifier: 2.52.0
- version: 2.52.0
+ specifier: 2.53.0
+ version: 2.53.0
remix-auth:
specifier: 4.2.0
version: 4.2.0
@@ -166,7 +166,7 @@ importers:
version: 0.4.5
'@astrojs/react':
specifier: 7.1.1
- version: 7.1.1(@types/node@26.6.5)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(babel-plugin-react-compiler@19.1.0-rc.3)(jiti@2.7.0)(oxc-transform-react@0.154.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(yaml@2.9.1)
+ version: 7.1.1(@types/node@26.6.5)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(babel-plugin-react-compiler@19.1.0-rc.3)(jiti@2.7.0)(oxc-transform-react@0.155.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(yaml@2.9.1)
'@astrojs/starlight':
specifier: 0.42.6
version: 0.42.6(astro@7.4.2(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))(typescript@7.0.2)
@@ -174,20 +174,20 @@ importers:
specifier: 7.29.7
version: 7.29.7(@babel/core@7.29.7)
'@biomejs/biome':
- specifier: 2.5.15
- version: 2.5.15
+ specifier: 2.6.2
+ version: 2.6.2
'@faker-js/faker':
specifier: 10.6.0
version: 10.6.0
'@napi-rs/canvas':
- specifier: 1.0.11
- version: 1.0.11
+ specifier: 1.0.13
+ version: 1.0.13
'@playwright/test':
specifier: 1.64.1
version: 1.64.1
'@react-router/dev':
- specifier: 8.4.0
- version: 8.4.0(@react-router/serve@8.1.0(patch_hash=f7425beb70a2ce35ca7235672d8df524901983a27c25aa7de489bc559d54d7f1)(react-router@8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2))(react-router@8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
+ specifier: 8.5.0
+ version: 8.5.0(@react-router/serve@8.1.0(patch_hash=f7425beb70a2ce35ca7235672d8df524901983a27c25aa7de489bc559d54d7f1)(react-router@8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2))(react-router@8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
'@types/node':
specifier: 26.6.5
version: 26.6.5
@@ -205,7 +205,7 @@ importers:
version: 3.6.4
'@vitest/browser-playwright':
specifier: 4.1.12
- version: 4.1.12(playwright@1.64.1)(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))(vitest@4.1.12)
+ version: 4.1.12(playwright@1.64.1)(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))(vitest@4.1.12)
'@vitest/ui':
specifier: 4.1.12
version: 4.1.12(vitest@4.1.12)
@@ -219,8 +219,8 @@ importers:
specifier: 10.1.0
version: 10.1.0
knip:
- specifier: 6.42.0
- version: 6.42.0
+ specifier: 6.42.1
+ version: 6.42.1
magic-string:
specifier: 1.4.3
version: 1.4.3
@@ -228,11 +228,11 @@ importers:
specifier: 12.2.0
version: 12.2.0
oxc-parser:
- specifier: 0.154.0
- version: 0.154.0
+ specifier: 0.155.0
+ version: 0.155.0
oxc-transform-react:
- specifier: 0.154.0
- version: 0.154.0
+ specifier: 0.155.0
+ version: 0.155.0
postcss:
specifier: 8.5.31
version: 8.5.31
@@ -246,17 +246,17 @@ importers:
specifier: 7.0.2
version: 7.0.2
vite:
- specifier: 8.3.4
- version: 8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1)
+ specifier: 8.3.5
+ version: 8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1)
vite-node:
specifier: 6.0.0
version: 6.0.0(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1)
vite-plugin-babel:
specifier: 1.7.3
- version: 1.7.3(@babel/core@7.29.7)(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
+ version: 1.7.3(@babel/core@7.29.7)(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
vitest:
specifier: 4.1.12
- version: 4.1.12(@types/node@26.6.5)(@vitest/browser-playwright@4.1.12)(@vitest/ui@4.1.12)(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
+ version: 4.1.12(@types/node@26.6.5)(@vitest/browser-playwright@4.1.12)(@vitest/ui@4.1.12)(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
vitest-browser-react:
specifier: 2.3.0
version: 2.3.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(vitest@4.1.12)
@@ -387,78 +387,78 @@ packages:
resolution: {integrity: sha512-SMkvMsGOpM0FMAoT5pzhgI3LZC0JSPWf7Evwop+fZ3N6UkusPM7lI+sOJjMNI5OJrVoiei1/AGo1cY7sikTc5A==}
engines: {node: '>=22.23.4'}
- '@aws-sdk/checksums@3.1001.3':
- resolution: {integrity: sha512-CcAkVyEUKGngbEqJdVdSc53Iy52+XzVL5NIcTen2BlK8UByNC1DThVtf5VKSrNzyA+SqyTvs+3S+knVBbOUizQ==}
+ '@aws-sdk/checksums@3.1001.7':
+ resolution: {integrity: sha512-hUlYwqlsiDuPyhI5nQLgLZYKo0bFvMKaVk9JRfpb9S2kXxT2ZhyHZ5RTfH3PBpD3dMnDkGrA0/aY1AeAMFLmrQ==}
engines: {node: '>=20.0.0'}
- '@aws-sdk/client-s3@3.1152.0':
- resolution: {integrity: sha512-oI1+ZaM6pSOwZazu4nAb7rL8ug7LSjg31tDoJqRB9MooRqqWCf/qvkIZqne1mRA3xK3slg6K0RNWXaJYHbWLvg==}
+ '@aws-sdk/client-s3@3.1155.0':
+ resolution: {integrity: sha512-l3uMeIlzWVgj/RTJTh5sKYKtQz1la3cvWLUPn1cwFH4UZpcqTH66SgJHCeB2FOE9bEAjOdbmCyPKt9aw867Fng==}
engines: {node: '>=20.0.0'}
- '@aws-sdk/core@3.978.3':
- resolution: {integrity: sha512-nslpzUCTI9b2IQMWSd6mSAXldBexPc8rr0d3dXUutXYFLFaTdsHa2GD7sJdsn3PhyjK0O5K8ypd6zi+RXXPVlg==}
+ '@aws-sdk/core@3.978.7':
+ resolution: {integrity: sha512-QsYdn5xhvEBzcDC6bgKuvPv87kFtXK/3f5NqKfR+eok5AAn7RaZnkgBKncX+UW3ZMcjSELyAMATN0iqgZmvWVg==}
engines: {node: '>=20.0.0'}
- '@aws-sdk/credential-provider-env@3.972.74':
- resolution: {integrity: sha512-rsRJcW2iFUhCgclyD6OSbMEaPl8Eu0qSeRZb2uuCK1ViZ66hl5wOe/p6Vr6MO3b+ydyKgFeqza2p6tZThvILlw==}
+ '@aws-sdk/credential-provider-env@3.972.78':
+ resolution: {integrity: sha512-d8V47OxkM/FKe7bVfk5Rga4aNGUaQNk3ip1PFIYhxtup9r8SuNIHLs4HfBAmHT25ZbzowluMHp833UXfFMQbhA==}
engines: {node: '>=20.0.0'}
- '@aws-sdk/credential-provider-http@3.972.76':
- resolution: {integrity: sha512-pnKdh0Br7OJPj+7qKjzgTfDTFW0RhEMKXNDR2jv9CAM4oHuG/4z3hRh8KtutLfpmItuRtDbKBmwWkDqHwwAWXw==}
+ '@aws-sdk/credential-provider-http@3.972.80':
+ resolution: {integrity: sha512-OQqanXiRhnl/wBIJc3TtA7TYmnN7VO0mP95eVoHsLXtPwHz6HeccMpi7cqtnhHw+K7p6VIoAt2IK4M9Ixd9uGg==}
engines: {node: '>=20.0.0'}
- '@aws-sdk/credential-provider-ini@3.973.19':
- resolution: {integrity: sha512-kcjvAxqQEV8yuwkX58RelNn3ne65o7JgRWf3Z/gVvbi7Xuw1qSDLJlatrLD76+40cmRxmNkLxBoyp/vAQChQ5g==}
+ '@aws-sdk/credential-provider-ini@3.973.23':
+ resolution: {integrity: sha512-pTTRK7xoi8NNbrcjVUSd9YdMTUxiWEPfk8newBQCzV+VS5STh5sDPAy3iO29fSqipqNuCpILJcD6wAawxHvG+w==}
engines: {node: '>=20.0.0'}
- '@aws-sdk/credential-provider-login@3.972.81':
- resolution: {integrity: sha512-CeQHSbE2CnVdaHIJ/NayRaCecIER+Pm9faUPkmRATO54rCoMTEPSbVieGHzEwvm1dZM2HIs6qQZCznhayNTWJQ==}
+ '@aws-sdk/credential-provider-login@3.972.85':
+ resolution: {integrity: sha512-UHjnTeS+5OBFfRL+BQwCGJPJvnzjhGD6dIwncBJDa+ziyQjPUte9Q0I4BCkybGrHotnyiiluXj13bgelP14J5Q==}
engines: {node: '>=20.0.0'}
- '@aws-sdk/credential-provider-node@3.972.86':
- resolution: {integrity: sha512-WNttSyr6e8innPtBSty//CdnqJcgZN6eAbtw3v/CR2IObz6MYZEo8eusdtuCHJ2ujwFqC2bSPHVyhXGHx8HruQ==}
+ '@aws-sdk/credential-provider-node@3.972.90':
+ resolution: {integrity: sha512-+McgOQuAUze95AumVmoOBRp++Z8IjsZ0qOASb6+igHdKNzA0FiIf5kbTFaZ64txfd9KTBDpgvlEDGQE41lSq/A==}
engines: {node: '>=20.0.0'}
- '@aws-sdk/credential-provider-process@3.972.74':
- resolution: {integrity: sha512-Yj6kZFJQdbR+PygTkqdVLPHHpdDpOS9GCYVcDCuweCRRig9LF24ELQBMfyUw1vspvrZJUfnOGVyMjhaL094ahw==}
+ '@aws-sdk/credential-provider-process@3.972.78':
+ resolution: {integrity: sha512-bzB92SriflYf6LVRJcDv/a9I87tmkdmdE8hAqT1oRGKFkEH2rxxHeHZVK/4vsiRsFi44cUj0J9+bUSmqYX+26w==}
engines: {node: '>=20.0.0'}
- '@aws-sdk/credential-provider-sso@3.973.18':
- resolution: {integrity: sha512-FnpPhdY4qUGtX/8X6eKxh+uD+9Y19i9FYibgk4SBe0M935s9vocHkHzaxaMNk+YkHmvzgdu8cHA5SCoeU+kkew==}
+ '@aws-sdk/credential-provider-sso@3.973.22':
+ resolution: {integrity: sha512-MXUkWHgcf6G+TowL+QPvn4kJTEYKd9qHKMV6eNGXSA5lilDgGRrP3EXPHChZ3eZ7z+oprn/ZvOovLoS2WR3D8g==}
engines: {node: '>=20.0.0'}
- '@aws-sdk/credential-provider-web-identity@3.972.80':
- resolution: {integrity: sha512-TJF25Ndwy2HxcVj6oxMgp8qVlJAawlExHYBXqhuC6Zt2m+A7WpdkjBD6QglNbiArlteYljZHEY3R7KKmno6ISA==}
+ '@aws-sdk/credential-provider-web-identity@3.972.84':
+ resolution: {integrity: sha512-6I3zYcDHt5ZM0J4gEuRgCHgN505k5haUiiPM46iIQgrHm2p70zpnssHFVYqHYfgJe3Mf+a5+nsF3BZmW4xcZNg==}
engines: {node: '>=20.0.0'}
- '@aws-sdk/lib-storage@3.1152.0':
- resolution: {integrity: sha512-UU1fDLKBd8az+4AmNx30ggnA4D4HolUd1MxT/J6ka76qKcckI0IxjAy6FpX/vwiUf2KDNxxN2YX0cfwjMqzWoQ==}
+ '@aws-sdk/lib-storage@3.1155.0':
+ resolution: {integrity: sha512-ThvepKZILBOGCO1rsRsuAWps6hwfMfFVVhRpNrxup+o0q/Hyi50IaDSGZYxrZMPbWH/8pG2LFld//OYDmyr48A==}
engines: {node: '>=20.0.0'}
peerDependencies:
- '@aws-sdk/client-s3': ^3.1152.0
+ '@aws-sdk/client-s3': ^3.1155.0
- '@aws-sdk/middleware-sdk-s3@3.972.79':
- resolution: {integrity: sha512-UfgAQosf4IEXldMsyntVuHsJnaQzlH6pmkOr6dQy7CaOYSlGz3mWiW4Di7XfQ/kPJP6xE7oMshz1V0E8RqGdRg==}
+ '@aws-sdk/middleware-sdk-s3@3.972.83':
+ resolution: {integrity: sha512-SPZ4knkYFQfNv423Yu5nCxKwRXjWCRWv2OIzO+t+ffjdu0Ux6HlClFjy10OBKwzzVFJs9YvgiHYSS21p+TG4xg==}
engines: {node: '>=20.0.0'}
- '@aws-sdk/nested-clients@3.997.48':
- resolution: {integrity: sha512-B01jdXJtAW/XOiUzGdI2mz67WyEHbGEc9X6Euzw3bjLAa+txTqdZDER4X2FsIEcXzV2ABqudVZ5thali8tCCzQ==}
+ '@aws-sdk/nested-clients@3.997.52':
+ resolution: {integrity: sha512-/bNl6b3VEoWQg3Z8yHt3gzYjSFoOOv7+eUglzITmGP8H7jovN8c9NoOI+6bU25+lSLvyRpJOs4n8YSaX+BcUPg==}
engines: {node: '>=20.0.0'}
- '@aws-sdk/signature-v4-multi-region@3.996.48':
- resolution: {integrity: sha512-cFDXfEbXaGwbnpvR/DyqfxfjxpjXVRVthQLgkwvcfDS5u3+8G9WSj1X1Ag/pTRg/QOeOno1Tq3ycEdrKsCUcOA==}
+ '@aws-sdk/signature-v4-multi-region@3.996.50':
+ resolution: {integrity: sha512-Ob9GCZ3YnGPws696zTYW/rLFYHa9QLh6DgTCnkHb+0jhHNBgHWM8Ui2b+yrIjkfDsRVsglyrOey6tOOG/VWxMA==}
engines: {node: '>=20.0.0'}
- '@aws-sdk/token-providers@3.1150.0':
- resolution: {integrity: sha512-wDU36ofhabZYu+d2KSriyDbwzxNoaOp+4dG0p3qkabk7HeALR5nIWyQbjoyJZLn3iqWkv/xNdyUfbfevDVDzzg==}
+ '@aws-sdk/token-providers@3.1159.0':
+ resolution: {integrity: sha512-IJvghXXcEpqTWGjrjJwxBdEecHeXp+t9FaybRf8Zf0wYW84KN1snXBsYOdfDBBx78ChwfJxH8KIHqmhNZuDLcw==}
engines: {node: '>=20.0.0'}
- '@aws-sdk/types@3.974.6':
- resolution: {integrity: sha512-v/clNZzZnDxGyvpHMOGpJKVXFAExJzUNAAjaWGdcx8QAcXLGwTaOkw33p5SHAi0YAioK32xB3hWwOekRVfmfKg==}
+ '@aws-sdk/types@3.975.0':
+ resolution: {integrity: sha512-WQlhs6juByzWOzj5fwxOx0mPJaEqMcG/sDpl3Id61B3XhKE63xY+0QWcnG+sWR/sCfprmreyUo1lM7IKZmHMzw==}
engines: {node: '>=20.0.0'}
- '@aws-sdk/xml-builder@3.972.41':
- resolution: {integrity: sha512-ctjVSyCMegrWfXlx6VqzSBFI6UqmQ5ZlnfMhdLIiWmhoH8UAQxSCP5N3OpG7X3k4LnS7ou74C4mt20+bfTW2aQ==}
+ '@aws-sdk/xml-builder@3.972.42':
+ resolution: {integrity: sha512-smX8/gNP8Kjq+CWTBMZQLQ912vOQjiWExzwzvMO+eujPB5RY8IbtF0AGdUUXHKN7KoDWK9dIcuW0WG269kiP6w==}
engines: {node: '>=20.0.0'}
'@aws/lambda-invoke-store@0.3.0':
@@ -614,59 +614,71 @@ packages:
resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==}
engines: {node: '>=6.9.0'}
- '@biomejs/biome@2.5.15':
- resolution: {integrity: sha512-WZTW4slm/pdkh92K6t/3aEN++44JD1PQ7squ7RCMLI1flHGl43DVOIGXvCjHiZgBMO1V4uYxoFNtqrIA4qGuIQ==}
+ '@biomejs/biome@2.6.2':
+ resolution: {integrity: sha512-JLTFAFF9vfJcWwLhwuL4ZHflLg+XfTEC4IUnAlJRX1cMRt57++Xd1Ysb9Fdmlh9YUrvyCXfPEHjjEIqKJGdPKw==}
engines: {node: '>=14.21.3'}
hasBin: true
- '@biomejs/cli-darwin-arm64@2.5.15':
- resolution: {integrity: sha512-BZVzFhJ/mUvTLMYbc9x6el0o2Uv5zP7bACYyhFb6fSc1giroXm7PL0a5KqMJ9F+/BnkYRjagD/ROSDVOZ6eapg==}
+ '@biomejs/cli-android-arm64@2.6.2':
+ resolution: {integrity: sha512-dMpdpH7zFEL5FxuIA9LJW+RoNyC3oeDB7PJyjqVVwtMNoKB5uo8OZYmrVSBikn71txzYwy/3xga7UME6bJQZ6A==}
+ engines: {node: '>=14.21.3'}
+ cpu: [arm64]
+ os: [android]
+
+ '@biomejs/cli-android-x64@2.6.2':
+ resolution: {integrity: sha512-XCwEhPBGYzuRA502dRkCcQ+5cefQwuxQR7f9wa4do92dvIcuBL6VMLMFB/fL9hlpZ4dGSfHdpGFSIDlp52mg0A==}
+ engines: {node: '>=14.21.3'}
+ cpu: [x64]
+ os: [android]
+
+ '@biomejs/cli-darwin-arm64@2.6.2':
+ resolution: {integrity: sha512-rpXtabRgyZNz3aCjd/cRoSZGYi92R9eAXdUUe1sigIsRDyfMwgThaa98Yxt1fiZ7mxquqkAyIHIo08N/e1ToBA==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [darwin]
- '@biomejs/cli-darwin-x64@2.5.15':
- resolution: {integrity: sha512-V5Kw63V+fVGNFhFrizDxMbGXAzZCh8kYzJpy3GI6gTapWDg7bZK9oYC9CbVgQSEdTnupz0U5Efz8Ev+5vdBBXw==}
+ '@biomejs/cli-darwin-x64@2.6.2':
+ resolution: {integrity: sha512-7GGzlm1GxUKoQ9CNV8tQZ+XXad4sz+v+uzNsWlhaGjsnZqUOVBw1OmAMpG3uNV/Mr0UrCpRJvSK0qvfuqSQOjg==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [darwin]
- '@biomejs/cli-linux-arm64-musl@2.5.15':
- resolution: {integrity: sha512-tGzZUTcJCV7tj5Adh/Gn6nR4MycqA3iohq2LEcrarAgRBkU0h0OKd2UzCRkOsOYOuUGaUJb4YmqRqyy2feGGSw==}
+ '@biomejs/cli-linux-arm64-musl@2.6.2':
+ resolution: {integrity: sha512-I+FYCLVSmR3cYfKcQ+KNeLOZ5w0wRd9fQFlw3JbSvy7bkegvTqdHaBRRcJzHQB/1ldldTLIcG21ka6X2cTWmJw==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@biomejs/cli-linux-arm64@2.5.15':
- resolution: {integrity: sha512-XaG7P7eeSLYETD3K9grfB0mQmpLQZjygdbsxekWBJAg4am79fGAtRpfRyNnTvXB2fZFNnJZG3nXm7HBat0+VUw==}
+ '@biomejs/cli-linux-arm64@2.6.2':
+ resolution: {integrity: sha512-Qs4CofCE8MdkjZFfEjswh2NAcbyQ7IVYtGSzQBvLqFlla/CSXroGbktUFndWG/kVSTywadauzAspYWtSfqAc2g==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@biomejs/cli-linux-x64-musl@2.5.15':
- resolution: {integrity: sha512-IlxUcyxilVGPsE008x13pWdkTbU3nQpP2i9b5UrbOYj6goBkKsRX1XB7yJLcV+O1H9LBchIIm4adOaVLZBX0ZQ==}
+ '@biomejs/cli-linux-x64-musl@2.6.2':
+ resolution: {integrity: sha512-wnjEXAK2pDd2j8r9gKI3L+44sIxjkYzS5aHmD1+K57RNJ3sFyT4n22NH6QFPqqeVdRBxN54H3kckUUCrFKCcJw==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
libc: [musl]
- '@biomejs/cli-linux-x64@2.5.15':
- resolution: {integrity: sha512-xE4iEW/3LqlYj9GFgGrFsFSH51dEEpUbYWBfeOv0q87WkUDxK2o/HhreSb7qMJqck70RVM6Lg96hgedcAYcOkA==}
+ '@biomejs/cli-linux-x64@2.6.2':
+ resolution: {integrity: sha512-FJKsb95418139xDdbv9XnNJsIIwvsgR21Of0aE9B9U+nQlOtRq5gJl2ps0jZUmYBxTaOlP9BKo8N+Ff8+Rui1g==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@biomejs/cli-win32-arm64@2.5.15':
- resolution: {integrity: sha512-2kPKzhNlm8C+Ru3GcO0Me2ODkCBLrVOUNuyi84RJyWDVKAA4+Kjj3jMjL938lF6BRfvltC4vB2nPY9SvN51Ovg==}
+ '@biomejs/cli-win32-arm64@2.6.2':
+ resolution: {integrity: sha512-/PEOo6evlgrQOfKhMNtC/4Gk8ai3hySXXEtjUzCqZe/4iAbMdqelpp7qvZEDyLxlZS+BjOMQFpq2gXI/BPaAqw==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [win32]
- '@biomejs/cli-win32-x64@2.5.15':
- resolution: {integrity: sha512-yAzh4UqEImV6Hcy0zjUqNfJAsUhoD64FBQCdTG8Md/Z2wQeVP/ZmJ3XRYAs1g8J9fjTFyl2fCtc5FB5til47+g==}
+ '@biomejs/cli-win32-x64@2.6.2':
+ resolution: {integrity: sha512-FVlWD+mDDz8nN5LWKRWUhhb7wKIK0VE3oXQvQBX7Fwwj00CvqMVhMyiz1iz8O5aZGmnkhFlKSwJPrUvMh5prQw==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [win32]
@@ -1057,79 +1069,79 @@ packages:
'@mjackson/headers@0.10.0':
resolution: {integrity: sha512-U1Eu1gF979k7ZoIBsJyD+T5l9MjtPONsZfoXfktsQHPJD0s7SokBGx+tLKDLsOY+gzVYAWS0yRFDNY8cgbQzWQ==}
- '@napi-rs/canvas-android-arm64@1.0.11':
- resolution: {integrity: sha512-dtJS4FQEfH9OwSYLtMrEnj7T8DzBbJc/97LI/OkiWOYpW/iW5t6R/gcxVrUXS8l45gCVpwMufgucRe/pe0ISqA==}
+ '@napi-rs/canvas-android-arm64@1.0.13':
+ resolution: {integrity: sha512-trn7AaDzQ+yeeA0ezhkC7cB1ZDPtp4UYk0EvB5F8qtYL9jEVWtVrU30WOpI52DszoTxaTsCgf5PP4ZVaOlOIHQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [android]
- '@napi-rs/canvas-darwin-arm64@1.0.11':
- resolution: {integrity: sha512-J/JylWoJTG8OQqZaiqly4IODyAxNofUlZo0wtSBJtHk6AdymbdIkPynAM1JvQaZpPaG5h+msk9QuK8y4i1ooqw==}
+ '@napi-rs/canvas-darwin-arm64@1.0.13':
+ resolution: {integrity: sha512-6Y2djEetL8copxfNK6hg7oig/xqTwOchv19hBOm+zBNdKc/02Z3kjZN5wrLzv/l5O04/bAQS6I/AlQpwBlXgPg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
- '@napi-rs/canvas-darwin-x64@1.0.11':
- resolution: {integrity: sha512-nlecCk3xy06eAGC7krZtzNDm9UNTHKuHQYK8ZYegdjzgSL8anGt/eLJZm86OWaNgZkwQwvDqfSmG8Nqe6MPZNQ==}
+ '@napi-rs/canvas-darwin-x64@1.0.13':
+ resolution: {integrity: sha512-OZoPwwu4TMMg8GTCFBrg8UFExwQTU/55i3uTC/izDat6PHE+ro9dimyQoOboFf91+NY7Pnn70ScR8f8I8+eZXw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
- '@napi-rs/canvas-linux-arm-gnueabihf@1.0.11':
- resolution: {integrity: sha512-DKImmG+sTPolE0kGPsYPBxTtOjb3INALp32O2lW2CfSr0bAzSEKKuu+GrQbtilClyoPOahUErS3OrznFDraoWA==}
+ '@napi-rs/canvas-linux-arm-gnueabihf@1.0.13':
+ resolution: {integrity: sha512-dZSYaKROuswU2eUWG5aBKndNVe68elo1YX93xtRax7q658tj8rYE+HwduovWJgs6qwv1r1/CLR60nDeBbyjvyg==}
engines: {node: '>= 10'}
cpu: [arm]
os: [linux]
- '@napi-rs/canvas-linux-arm64-gnu@1.0.11':
- resolution: {integrity: sha512-55sykACGENj5j1rhj+81AO8JbR9HYgGjRZ7/H+pNr4VE1DvINKYNMTcutk8ZmWxk276jAQvUKJ3+Kdj9GXU3lQ==}
+ '@napi-rs/canvas-linux-arm64-gnu@1.0.13':
+ resolution: {integrity: sha512-W6FzYE8ADHI93In1vi80KBL6btDtAMuj50Ch5ptkWS8xuntyzbR4h5JDUmXoakxZn2yMInksudTEqVSWoFqFGg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@napi-rs/canvas-linux-arm64-musl@1.0.11':
- resolution: {integrity: sha512-6Jz6jys17yXydO+WdJgu7JhoB4K7/w9sWHByzzTmLjQghUx3TDMWvLv+UcCdnWhg4oprET67EMymnrETdeGNAg==}
+ '@napi-rs/canvas-linux-arm64-musl@1.0.13':
+ resolution: {integrity: sha512-+6fQ+rR49hkAa4voh2stLIwQ+4t+gmoseM8Bc53/DlMXb73IKymDPWK9A/NtWeqTW4ijWppYuyuxS2hPI8tzNA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@napi-rs/canvas-linux-riscv64-gnu@1.0.11':
- resolution: {integrity: sha512-lf2XeEebWiUYVOVEjLXxF7dfXrBBSEOBn9AqBh39VYXrPt5cDqI+1t58IFSjn8npqkg5jIOs8TQbjKABbFW1gQ==}
+ '@napi-rs/canvas-linux-riscv64-gnu@1.0.13':
+ resolution: {integrity: sha512-17XEMO3t9RW/TtHtSFf2AkaSWuCWdzbPeidz7zrOFawHxoLSJCnpTI1hN5aUvrZNnkNNmt/vZVJCh0ryUaik3A==}
engines: {node: '>= 10'}
cpu: [riscv64]
os: [linux]
libc: [glibc]
- '@napi-rs/canvas-linux-x64-gnu@1.0.11':
- resolution: {integrity: sha512-iDapw7nFSE5tsmQxcH2+KotJhyfVPmHd6vUOQN/Em+8WNbkZJwJ/rDowlJMFnMl0SYSDSfgKCNUGi6Sn5++Smg==}
+ '@napi-rs/canvas-linux-x64-gnu@1.0.13':
+ resolution: {integrity: sha512-lc48IwknVHBsNzXn9Xs5OkUsRX38Ml3Z1aOybQ51mMEzZckm8+4A0qROlyYHEoBPzr1kL3IU8ZUAqDb7wtdX8w==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@napi-rs/canvas-linux-x64-musl@1.0.11':
- resolution: {integrity: sha512-26q26AyITo3CGZX4HWFIMgBMA1lu3YN07gxzBm4tW6Hglq/OVyTP50kDrmWuKybCX6dh3m8Ly+c7YhI+sqCgCQ==}
+ '@napi-rs/canvas-linux-x64-musl@1.0.13':
+ resolution: {integrity: sha512-bGY1r26S2bs8UNFJcPWcCSNdCFbKep5PATsvtgtC9A5u6SRgr2/jJE/RlhHL5m9ZpixNDhVkLY/5h16Kx5V9YA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [musl]
- '@napi-rs/canvas-win32-arm64-msvc@1.0.11':
- resolution: {integrity: sha512-cUO96IdsfvIj2S+2PNcDSkTcLhjPj8pIOEWRV1Kj70MOP4wnE9zSk7N4C1EKHlFGRcgdR5AkbnBZj0dfHK9nbQ==}
+ '@napi-rs/canvas-win32-arm64-msvc@1.0.13':
+ resolution: {integrity: sha512-2vRPBZoaIvJrUkDhZTE2Hn0YrnpJRCWVM3EJACoBKjuWI6WgPxGtUoRMsxRviCsyks8bKTSFdyw14CellnG2qA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
- '@napi-rs/canvas-win32-x64-msvc@1.0.11':
- resolution: {integrity: sha512-DFYp/ZQRdKunI/LPc0UkRXG1vlNjJKOJf8O8Ctb8+wm2Nt2ELg9Eamc31D2VoakkfGo8L+z0Iejz6WtFbQwyGw==}
+ '@napi-rs/canvas-win32-x64-msvc@1.0.13':
+ resolution: {integrity: sha512-DUlW3lZPz63kYsf8mxgyyZuevhlH0T3/BGP9l+NazhB0F1+gL6D4hqZdnhZpw24DlWmTpATDcyYSZlJOi+DdfQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
- '@napi-rs/canvas@1.0.11':
- resolution: {integrity: sha512-vt5tog1cr+QKadIddGe+3LrcX0EmjEd0izF717Uwf92mBmgYfq2XRmL2r4bZU40spB69exxhrBn9I91HYEr/7w==}
+ '@napi-rs/canvas@1.0.13':
+ resolution: {integrity: sha512-b87ugZpQ5ViwqVBkjervxpwa0GmJPsKHLBNoZN6GpjWeHzTbDUGryriq+2DYW2XbB+xCqSIINQysC0/I87nPbw==}
engines: {node: '>= 10'}
'@napi-rs/wasm-runtime@1.2.5':
@@ -1167,42 +1179,84 @@ packages:
cpu: [arm]
os: [android]
+ '@oxc-parser/binding-android-arm-eabi@0.155.0':
+ resolution: {integrity: sha512-A6xv7hDtnTm+xlZ7utn6rRQpRMJHRhVr3gjRGqlx0RUX84mNk0pAsy6YN/wWhuOTkaZhRrrzaLxf0NfbH77j2w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [android]
+
'@oxc-parser/binding-android-arm64@0.154.0':
resolution: {integrity: sha512-UHrDPELzvWZoVkIDdSycj4bzcTMCJG3IbN++mSUgVBaUtNtWHjQ98U6Vz5bpF/1Ic3FYJyYhMr74huO5tVvpZw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [android]
+ '@oxc-parser/binding-android-arm64@0.155.0':
+ resolution: {integrity: sha512-T1wWwH9/JI5g7Z4kEQwDOwhToxdDhRyOTklH+uuNpJ16m3MZFmGl+l2rKc0NHQdbVRG2LTOBsNjpW3h1BWytPA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
+
'@oxc-parser/binding-darwin-arm64@0.154.0':
resolution: {integrity: sha512-mokYzajOSXxtSRDWCdHARGdntrKH+rZZ24Jzo8AtafyNzz0NARmpMm26Tc5B6qiGrr6UliWibHCOif1qRN2vaA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
+ '@oxc-parser/binding-darwin-arm64@0.155.0':
+ resolution: {integrity: sha512-ZoRB3qJxJ8DWA41jHja+YeB0lLfjBy4T+Kr15vnN1k65X3zbJt3rPZftEwN4Ju4tmA4K/T9dWWD7Z8ewQLnrVA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
'@oxc-parser/binding-darwin-x64@0.154.0':
resolution: {integrity: sha512-WbtUBrclOVItWfLRSvs+Z/WLtXxJ2Ctv50PyuX894HzDN5/e0qzxVpTNPIVMzOerBhgKtFsSMcfxlYIAbvdVgg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
+ '@oxc-parser/binding-darwin-x64@0.155.0':
+ resolution: {integrity: sha512-vxtL86BtM+IgrpejA86nbTk5j0HKTIMeuaJ1fQciw6p9RfavPtIPjI7gN34owap0yG9txXBaAWpGdxokNwdqIw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
'@oxc-parser/binding-freebsd-x64@0.154.0':
resolution: {integrity: sha512-YooHZSLawOe2fqm+lDdG8oAaQh2NYV/RMYTYzWRLy72stm2BgE9O/8Al6kFENjkmzyyBccDLLBirGxVtpzQfrw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [freebsd]
+ '@oxc-parser/binding-freebsd-x64@0.155.0':
+ resolution: {integrity: sha512-tN6Ru5e0UVnWaIuiH8jEwnvxuxg7FvhWwSd3oe5oDhOD4ObsSr9/N6WfHLjilUWlPPj65ptwrSDH0Y7lzwTzmw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
+
'@oxc-parser/binding-linux-arm-gnueabihf@0.154.0':
resolution: {integrity: sha512-hKOwhZbrXdTwc4bGVfbLCXl9f2swl6zWdISocLQSNX9MgPmwHE3qGzOUkCrkuGpwdCVHPnkfOwsqTuYsrP5uNg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
+ '@oxc-parser/binding-linux-arm-gnueabihf@0.155.0':
+ resolution: {integrity: sha512-h4ozA5n6L6lwolsz9iwunEhKWnIVbmFRots5QxEix0H6nJ5ICpuDa7PuShuhfpIDFe3+Qvyscioyiv+9g+4Syg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
'@oxc-parser/binding-linux-arm-musleabihf@0.154.0':
resolution: {integrity: sha512-tnjiooXEU013349O/yxKbF5Cusp1CfHWQ8kYR8tGeRzR/P4sOpQGQo21fsS71M0fMD6ESLq+lbvXFWi43PuKeQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
+ '@oxc-parser/binding-linux-arm-musleabihf@0.155.0':
+ resolution: {integrity: sha512-058/+LardpfuUlsKIvBGk/CYoakEVcMgqYx8GgyUZeOxFWTojYLlCc1Gb60/y21v3esDhHidgiY/Zbq9LpBhaQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
'@oxc-parser/binding-linux-arm64-gnu@0.154.0':
resolution: {integrity: sha512-Cao2kj+8d7BT6XJU1gV9eVQjV+Cr+e8vQm3tddDRZiM2hHrMDxwy3j6t+ofaSl0idyuPPCZ4AlpmQoj8yOT1QA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1210,6 +1264,13 @@ packages:
os: [linux]
libc: [glibc]
+ '@oxc-parser/binding-linux-arm64-gnu@0.155.0':
+ resolution: {integrity: sha512-nrOt2Y3xIAzu+lSPzH0864ieO+iCCXgoo9qFlGANE8Xh0cQ+RP8Wstfp+/wXN2YCyb98cAGzX0VruKYw7it/jw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
'@oxc-parser/binding-linux-arm64-musl@0.154.0':
resolution: {integrity: sha512-uiwA0V3q8llWA7/8r+a9BBjk4j5YMDmi6wfOsyQfGOJMQSLHEiZ3HI8ulea766ykUa9wJFWk9XWEl4uJrZLQqw==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1217,6 +1278,13 @@ packages:
os: [linux]
libc: [musl]
+ '@oxc-parser/binding-linux-arm64-musl@0.155.0':
+ resolution: {integrity: sha512-KYAayyN5hQbJPtGKtRxlyc8XYmyntOplyXSQzTDrmbz7l/GCrzQbSswvyJFBTH1LGtsZrbXOAfN52i/Kz6kLKg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
'@oxc-parser/binding-linux-ppc64-gnu@0.154.0':
resolution: {integrity: sha512-LICfN0Xs4Zdko+bJy6eOAEQojDuIR26suF2JtOsMaXjgbCrpRSH7/NCvJhY13YvYBx12V6hnwrL8n0lk0rbNJQ==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1224,6 +1292,13 @@ packages:
os: [linux]
libc: [glibc]
+ '@oxc-parser/binding-linux-ppc64-gnu@0.155.0':
+ resolution: {integrity: sha512-CSuSY5hfjtsBnHXydOj8jiNfS1qHbdPZuPz1YL1cSgK7VmNYP+QlZIbG0BBYYBgX/vYEgZwbG9mBdW4YairZ5w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
'@oxc-parser/binding-linux-riscv64-gnu@0.154.0':
resolution: {integrity: sha512-gbbSYxLF8ssRbQ2qQPy+2EhGNwNH1bAoRdkk6cnWaKHqmCikpSIPtpXjFbCCtjTi0uojqOM3ghFQwQPbDQsU0Q==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1231,6 +1306,13 @@ packages:
os: [linux]
libc: [glibc]
+ '@oxc-parser/binding-linux-riscv64-gnu@0.155.0':
+ resolution: {integrity: sha512-7KCfOQm+Nz2N8trAXbQkal4TQ5756WVEmhm35y816YHvyFnEfVsICsiV5k0pEszNf/fRm4cm2i6i18SJ6/iCWg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
'@oxc-parser/binding-linux-riscv64-musl@0.154.0':
resolution: {integrity: sha512-nSnRYYDLCcRVjSQzF3g6rKqCNYwo5o+aQgnn8BBXfe+ofCgMGlGqkfRyvXm6ptZvoxNkkWtLlqM8W7Xc3j6ZnQ==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1238,6 +1320,13 @@ packages:
os: [linux]
libc: [musl]
+ '@oxc-parser/binding-linux-riscv64-musl@0.155.0':
+ resolution: {integrity: sha512-JSlhgoK+/g1TGJI5NuADx2+6syhxnQNLCWLXyO5QLFyetomcr/vIxSdiNlmyAv963YXUzCuwAwRG6npZ5xyJ1A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [musl]
+
'@oxc-parser/binding-linux-s390x-gnu@0.154.0':
resolution: {integrity: sha512-BxBQoJKtzRQgZEKQIt6CDUm8RGKC5T8Qo4576yDa5/xgc10X3fBDItMbRabzLtbUBfTqKLl+8AVr/H6CF7W22g==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1245,6 +1334,13 @@ packages:
os: [linux]
libc: [glibc]
+ '@oxc-parser/binding-linux-s390x-gnu@0.155.0':
+ resolution: {integrity: sha512-WFIX+dPokWp64mi434Md3U3lJaTwNxAphvGjpltoyQjGUsdXavOIRrnp9dOS34Hd75HOAwDxAI+YwWOwqmJbtg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
'@oxc-parser/binding-linux-x64-gnu@0.154.0':
resolution: {integrity: sha512-/whkust2vYy+GjRUVL5cWaJmEu6jkdFfo5mkxgckyeOX61eMwo4iBoiwzeJZeMWAdzb/XOtQyLApHhFht3sOWA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1252,6 +1348,13 @@ packages:
os: [linux]
libc: [glibc]
+ '@oxc-parser/binding-linux-x64-gnu@0.155.0':
+ resolution: {integrity: sha512-g6xSDC/JpbnVOz5uafMGyK3txBVRFMQTx8opv/yHXGxqV3ZMVl3bf7W8XrSnF68dmy3gM4dgReNryuE53+WkeQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
'@oxc-parser/binding-linux-x64-musl@0.154.0':
resolution: {integrity: sha512-EXURTyW9riw4B/kZnnE+58emAtw6+3VEszQfXUZkRqGaKIcmWDYkZtKB+xY/blHvuZ+Qy/fDclc31nmUCgtkSA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1259,33 +1362,67 @@ packages:
os: [linux]
libc: [musl]
+ '@oxc-parser/binding-linux-x64-musl@0.155.0':
+ resolution: {integrity: sha512-6/4xlxKlZJWrQ0uwDFPc0H9+xLu7068CKhX3vIDW3SbvP/lVgnVuT5v6dyugeWskWpuxqF/WJ4WKwhxjU3pG2w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
'@oxc-parser/binding-openharmony-arm64@0.154.0':
resolution: {integrity: sha512-ZRFooyH3qsR6vuR4jFGlG3XM36490SvvXtNaUahBK4zHpooMdTHNaOMtGGJI0EW38m5hi4rOco9kw7ZwCIp28w==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [openharmony]
+ '@oxc-parser/binding-openharmony-arm64@0.155.0':
+ resolution: {integrity: sha512-tltklL0J0XjDxIRTBXWOBhvc2mitcmES45pIxhwDWfxRyqz7Vkeu0NekTZEIxGE4f/lXgq3vZcjjffteQOVorg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
+
'@oxc-parser/binding-win32-arm64-msvc@0.154.0':
resolution: {integrity: sha512-U0Vp+4lvwUa/PnOCJTZOjydj1rX2+VLHz4Y2vSFqlN8/7LTiURgD7z4uQ9yNv9O/NlU3mELBnPDlu7aaSYG1zQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
+ '@oxc-parser/binding-win32-arm64-msvc@0.155.0':
+ resolution: {integrity: sha512-alAb9TzjatUEsOeoncAziUnfdTDxfyswhalFZ9sC6plUgATIUx2NIZ0+bMn6aJ28AduS1OpG/OAisr/YISn4Ig==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
'@oxc-parser/binding-win32-ia32-msvc@0.154.0':
resolution: {integrity: sha512-Hc8QgsFY5eUUP25we8TISUruibG2cDt0H4IcPG9RKdabb6odkCzIqjV6Gk9beGWGuOwMVCr81H/Su1q363LCCg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ia32]
os: [win32]
+ '@oxc-parser/binding-win32-ia32-msvc@0.155.0':
+ resolution: {integrity: sha512-yc5cbSfcGmRv/KpxDFuyk8adEBaWd/9HilWvBbQ4bFbus1V2PUh2mGB2Cfq9rqZTqLeiMT8x0skV+LKp9hOMgQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ia32]
+ os: [win32]
+
'@oxc-parser/binding-win32-x64-msvc@0.154.0':
resolution: {integrity: sha512-hD7judkUMA/hZPoamvKADs6+an1smp8UTK0aMYRijkvi00K/1vl7vEtmyn2JyQ9S+vibtnfcNzxqTLGyJUZCRQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [win32]
+ '@oxc-parser/binding-win32-x64-msvc@0.155.0':
+ resolution: {integrity: sha512-8heq6jGq+rfpTDRDjoQiBHw0maQZf3IXkS99pdHQZPoTL5kyF5qyPS0RidUlSdnWDIqxXb5nux7GBD9cT+imUw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
+
'@oxc-project/types@0.154.0':
resolution: {integrity: sha512-KYOUGQFlLWR+s4QMV2Q9ko38TZm7EdO87Qm7rvZLqk/webse/cDjtyxKhg/47l0byCbs/k46LT8qc4PKjAikzA==}
+ '@oxc-project/types@0.155.0':
+ resolution: {integrity: sha512-SeE8JPwW1xs1tHeNycjUtUBdhorRa8o4jlvjwk49R7/Z291i+4DQa7JJIgOm/TaYQZx+QrPQbVJ/9c8dMIZN8Q==}
+
'@oxc-resolver/binding-android-arm-eabi@11.24.2':
resolution: {integrity: sha512-y09e0L0SRI2OA2tUIrjBgoV3eH5hvUKXNkJqXmNo5V2WxIjyC7I7aJfRLMEVpA8yi95f90gFDvO0VMgrDw+vwA==}
cpu: [arm]
@@ -1389,124 +1526,124 @@ packages:
cpu: [x64]
os: [win32]
- '@oxc-transform-react/binding-android-arm-eabi@0.154.0':
- resolution: {integrity: sha512-0c1a793FveSMhUnmmU9aXZVPtZjh49F+ykvJ5oNW0VbpeYIdPWouA99fZpFF8nYPJOIs/uEVYVfA1TWnu1jKNw==}
+ '@oxc-transform-react/binding-android-arm-eabi@0.155.0':
+ resolution: {integrity: sha512-X0gdaAcnVLdTUduUdsJ7pRPDpTwhiHRcq8wOC37HXMA1L5XaHbu/zQkeCmb84CChiIvRiQqHF6WkO8DLl62yeA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [android]
- '@oxc-transform-react/binding-android-arm64@0.154.0':
- resolution: {integrity: sha512-oBXDMrAwVCIdBh6gF0i7Mm3Hbov1JqVMnzoEhskJUFjiqBQj98guox4/OBg5x4ZKZZiaPiUUiMK5bdeG+v9nHg==}
+ '@oxc-transform-react/binding-android-arm64@0.155.0':
+ resolution: {integrity: sha512-OtYUiF+jniic0JVMoyZPABnSckQUjDJwIyawDCjq8dM5f0bTDvURKgbDJrL7tR+Z86xvdxkvzwtqb0Xb+HlrBA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [android]
- '@oxc-transform-react/binding-darwin-arm64@0.154.0':
- resolution: {integrity: sha512-WwH0mbIjuiJao0ZBVC+uofC8t9rMAqiazbjIpn9CwuaXdnzUHAVHkwv7EJyaEUGYnkFpkJgN1qu86Wg4zry7AQ==}
+ '@oxc-transform-react/binding-darwin-arm64@0.155.0':
+ resolution: {integrity: sha512-6EjLyB0XcCaXDWS8/q7QfMdmEGkeI11L9dtKu7Ju3Pl0dRKLcwXVdzdjGP3itzHy4RDbEAuVlCwO6lfFRpkiWg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
- '@oxc-transform-react/binding-darwin-x64@0.154.0':
- resolution: {integrity: sha512-ZdkpTRSfipxzAsvsDbe7qq+O1iOFUvlj7cPgU1PbMQV99wvoIRzmiElElKKmGecoAiwGPhLKBixi6ws6afFMKg==}
+ '@oxc-transform-react/binding-darwin-x64@0.155.0':
+ resolution: {integrity: sha512-n80yhAy3DNm3u5OqJDpNf+S7gaNpWyICSCoiTt6+oO9YC9oWkm/ywc12Qwrg7wCFtvniR64w+hWjkxKjETdscw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
- '@oxc-transform-react/binding-freebsd-x64@0.154.0':
- resolution: {integrity: sha512-9NyqwaubhyIWdpQGmtDSeeJ3ZVXHZYyeCv6t3hFsbbC1sO7ZuC3Wq3OdOKOEnzqmgqzNXTOPpU+T1Z/73EsB+Q==}
+ '@oxc-transform-react/binding-freebsd-x64@0.155.0':
+ resolution: {integrity: sha512-zZH3IX7fFrQA+zmy/amDrAe1OxqJl3vBmh+yROvsfPPaUWSn8+0Z451F9tMGhQ1iL6miBcDUHChBOVjfaJXBUg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [freebsd]
- '@oxc-transform-react/binding-linux-arm-gnueabihf@0.154.0':
- resolution: {integrity: sha512-RtuWw/C9sc1hA5tpYfvFui+ePxBLsU5G491pX7m4QFzf6sOUQBgG4mZ9WWvjY/T+A/4hp/IfrWJRFloYEeO9Sg==}
+ '@oxc-transform-react/binding-linux-arm-gnueabihf@0.155.0':
+ resolution: {integrity: sha512-/WnW+j/lVYwNHzaFK6uONgbC9M1S7nTWV+ONe7F9pDz3xCfvhTeWTDrqN84/vrPbxT7Xh9j3PXVnU2cw+L2NHQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
- '@oxc-transform-react/binding-linux-arm-musleabihf@0.154.0':
- resolution: {integrity: sha512-g8axrVwMMl686QUElvVgJmYmfaKt7SAq83CtxtjasOybHYWRooBBWy/dLiLeCRyPUFYQzLOooRMqBWARkpO+Mg==}
+ '@oxc-transform-react/binding-linux-arm-musleabihf@0.155.0':
+ resolution: {integrity: sha512-VzH6NX11/y0S4nhvYRYWP54G7VPhTy7MoHiAp1nOsRIOaGssUATn1/fLglgz2EgJmxr5AHy1SK9dDd/PUmW5iQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
- '@oxc-transform-react/binding-linux-arm64-gnu@0.154.0':
- resolution: {integrity: sha512-ekL0E3XVkNcraabzGHcfe8UJ1d4NtkFFbEgyMl4KiN8tVYUaJ405mzpUI5DmkJxE9ZQOYnSK4jO+ojjZWLBeZw==}
+ '@oxc-transform-react/binding-linux-arm64-gnu@0.155.0':
+ resolution: {integrity: sha512-mLF5v1yiJghvDG5wUXWv9P0iEItM3EuFgSFfqdyY134fUsU5f7t5B7nxLr4T7DrEUWhs1+SwKNWZA+Mv4HSFiw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@oxc-transform-react/binding-linux-arm64-musl@0.154.0':
- resolution: {integrity: sha512-YgqVxuLXau9qoYkRI3DZix46sbc6029bB1Y+cAGOdpy9KtHmU/a/NoQvOuQVD3xeSlUp2MHmmZv5cx8VQJyPwQ==}
+ '@oxc-transform-react/binding-linux-arm64-musl@0.155.0':
+ resolution: {integrity: sha512-EkBHEZKR4kDTU7+/mdleIu6VREm0zsQwDzQXAsMvbaRsmy8RkD8tOiXPNh6vyyqtahkLhEdj4vBs9c9h9iO66A==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@oxc-transform-react/binding-linux-ppc64-gnu@0.154.0':
- resolution: {integrity: sha512-3bA8ruKnqZYLHcIULRigTa8dmp2NGxU5rC6I8qAMq7PJXx7dRFTMfogXdb1DFer1gwy7JRGFjYHlXt80dG51Fw==}
+ '@oxc-transform-react/binding-linux-ppc64-gnu@0.155.0':
+ resolution: {integrity: sha512-Iz26Sm7q5tO2h+da6leks3y62raTyZp32n3FX6WydxsecbFNzKpm+rKNPoti9Syd3u03rmkYlS8q7tPQMLLjUw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@oxc-transform-react/binding-linux-riscv64-gnu@0.154.0':
- resolution: {integrity: sha512-/9B6f/+ZCHAWMeb+PjznQJmoony4SLP49XVMRSnE2edVBxkBec9aDSkMxnPh+59Q+kEQr3WzFQHcE8zCJO9pZw==}
+ '@oxc-transform-react/binding-linux-riscv64-gnu@0.155.0':
+ resolution: {integrity: sha512-CvKMO4MNKLdmy8Q75r1rwBz+VBcSYDObCyQaJOLWAwJnsWXiV7I788N4p2iWUYPWPmfvUd6d0UrrRz5ma5CCnw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [riscv64]
os: [linux]
libc: [glibc]
- '@oxc-transform-react/binding-linux-riscv64-musl@0.154.0':
- resolution: {integrity: sha512-ySLCcC/zYi0Wj/ViDnOf5ksGEtIka+SB6YvnzT/gCZHzA3KjDB72Vfb+1nihnTO65Ipj2cTq3soVTJId03M3pg==}
+ '@oxc-transform-react/binding-linux-riscv64-musl@0.155.0':
+ resolution: {integrity: sha512-OfYtP9jEMZwdnjPLVrrMvy3CQSqwdQJw6Q6YU23fObDECt1lEe2o+TJ6nFgDVAKhTl7pc9dca3vGXRgNfiBfoA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [riscv64]
os: [linux]
libc: [musl]
- '@oxc-transform-react/binding-linux-s390x-gnu@0.154.0':
- resolution: {integrity: sha512-/IeJnhh+gBwJJEiga8pafSXS5VMthPLoo3hyyqNcLTGXYJVPUrWuESFp6BPXcyglDI4MZT+368687gWUz3s+ww==}
+ '@oxc-transform-react/binding-linux-s390x-gnu@0.155.0':
+ resolution: {integrity: sha512-u5USLM5psVaNX2KEzTwfcKlzgGI16EY7Iod/Z/7Fw9FwBQiN+DUyhC99NL63aJ/Qyq0N5HIG4Y95DIEekc+EfQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [s390x]
os: [linux]
libc: [glibc]
- '@oxc-transform-react/binding-linux-x64-gnu@0.154.0':
- resolution: {integrity: sha512-Z1XnIjXVdQDKgbGaawPTewfsmCOwfR5cLEcGKYvxby3hFCvoK75DT1IvZ12XXIq75HD8p9Ld8XKVoa6yKjwfCQ==}
+ '@oxc-transform-react/binding-linux-x64-gnu@0.155.0':
+ resolution: {integrity: sha512-Kbddg5Eu/B+l6xW0CS5kaNNRK79IWu7o4NsDkn8SMz7k0N8CHV5watP0pscPIUuxcknBZkQxGqQ+b+qV7B18vA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@oxc-transform-react/binding-linux-x64-musl@0.154.0':
- resolution: {integrity: sha512-zyVOO9ifWpYDJ7bxazSBzSVpTOgQHrUnSs6k2GJPtjXX059NMNFnn8ypIlZaVyP8z0zcbvzOzbo84LpjaBeNCg==}
+ '@oxc-transform-react/binding-linux-x64-musl@0.155.0':
+ resolution: {integrity: sha512-hFZ69Mh6rZ1XeqSv4njgAB5WgKGBSTgH596EHusayzH+jtgczsMPK81k4SWlguKxrrzIqezLC8pyzhgruaNQGw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [musl]
- '@oxc-transform-react/binding-openharmony-arm64@0.154.0':
- resolution: {integrity: sha512-SYvt/akv3Uc5Ich4W9DIkYwkJgo5TsiynPBNfUj6oh+xIYr/JCjxGNFoN3Pci3VAdRdZv4qG0sACTgMuuXD1gw==}
+ '@oxc-transform-react/binding-openharmony-arm64@0.155.0':
+ resolution: {integrity: sha512-XikOLTZAchqLWNep6ptHZnA47EGlV0s7zpCA7iPRuiM/V9xfgqBbolryFu9/lNjoN6twmt8k0aRuW0frxSTVNQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [openharmony]
- '@oxc-transform-react/binding-win32-arm64-msvc@0.154.0':
- resolution: {integrity: sha512-TI6hTM53x92zHZhxmcgID2TmIGJWhalRYLP4hI6JXXHpoBNogbE+kKAaIRjSSfWJJzXiXQXyRy2Ds7o5FmDJ6w==}
+ '@oxc-transform-react/binding-win32-arm64-msvc@0.155.0':
+ resolution: {integrity: sha512-3aJKnNR9dBcSTfrrB3PxaYP5N1Myua8DZSHhe4SEp8M/SusvxdaK6bf9h6h801UsQB66S75fk4iTyEShLHZztA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
- '@oxc-transform-react/binding-win32-ia32-msvc@0.154.0':
- resolution: {integrity: sha512-m+CcGEoItDq9hMTNSpMv7IDt7jBRqsnF/KD2eH3qHDxIzlT47xkje8ZanjkPJELN3sksAaPyCp2HUg/ujJ4e6Q==}
+ '@oxc-transform-react/binding-win32-ia32-msvc@0.155.0':
+ resolution: {integrity: sha512-i2ZSZ79dSgVvC+Ksxju3/4p9+6vXzbeY7iOoBreL4mNOCjQziYChdv5Z921V9AZ4E4LVnD/NoHpez6M8T0Ga3A==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ia32]
os: [win32]
- '@oxc-transform-react/binding-win32-x64-msvc@0.154.0':
- resolution: {integrity: sha512-OHcvQU1nC5qjzuEczeLUqeR+edcC9OmcT98b0hHz1doNEFUhWCiflyOecpRByvjWW3mh5gY2HbC709PHKYpvbg==}
+ '@oxc-transform-react/binding-win32-x64-msvc@0.155.0':
+ resolution: {integrity: sha512-lrPIzcUHw/hB/LuT/G639+IrPCvvMlthF3xCE9grz1IbsSk+22sb5zyCxTvmpBxZR7/E1ckwZdnw7AmpAd+7Jg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [win32]
@@ -1929,14 +2066,14 @@ packages:
'@radix-ui/rect@1.1.1':
resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==}
- '@react-router/dev@8.4.0':
- resolution: {integrity: sha512-GKznpn6h8c52xGXwtsypD5ZwNiWFSeqoKPdyGq7SfG+T9rFjGO8F0i/R/yECfZqHXaNz1NVmpODuBamBy9FfMg==}
+ '@react-router/dev@8.5.0':
+ resolution: {integrity: sha512-SXmL0ym9Wp8Hi0LdXLG6yPaN8V1rUW4PuavvBS9eqpr0hM3PFjiCUT44pRzCj4G9lKEQBeNcj4beOtpN7IxuCg==}
engines: {node: '>=22.22.0'}
hasBin: true
peerDependencies:
- '@react-router/serve': ^8.4.0
+ '@react-router/serve': ^8.5.0
'@vitejs/plugin-rsc': ~0.5.26
- react-router: ^8.4.0
+ react-router: ^8.5.0
react-server-dom-webpack: ^19.2.7
typescript: ^5.1.0 || ^6.0.0 || ^7.0.0
vite: ^7.0.0 || ^8.0.0
@@ -1974,11 +2111,11 @@ packages:
typescript:
optional: true
- '@react-router/node@8.4.0':
- resolution: {integrity: sha512-1teZHtk7XDm1pteQ2Plgtvtjjup5C5sIwFlOMYVIyoOH7X3bId3Qb//kUdbydX6NRIxcGK28UnfZlz4SrD/mkg==}
+ '@react-router/node@8.5.0':
+ resolution: {integrity: sha512-9a3a37TW5GAo/J336Uk1tca/X1OxjpseETz/zCHcojtL7oRlFrlFoDt6wSdCtFRCiwlLyHcWY+qwZ+xnb05kSg==}
engines: {node: '>=22.22.0'}
peerDependencies:
- react-router: 8.4.0
+ react-router: 8.5.0
typescript: ^5.1.0 || ^6.0.0 || ^7.0.0
peerDependenciesMeta:
typescript:
@@ -2161,6 +2298,10 @@ packages:
resolution: {integrity: sha512-3hJiwG1F5t1SoXqp/yOCmYXziyx7ZVqF63S5W6YU201e/qwVaHPex+E/3vvyY9a3ORq/b+BydeNZpP2saQ9X2g==}
engines: {node: '>=18.0.0'}
+ '@smithy/core@3.37.0':
+ resolution: {integrity: sha512-97imTcCyiPd8k0e9+ts/Sp0W65Dn9Ti357J7M09Ov4tI8Q1JDJVFSoAJtjEVKqfHEr3Pdo2jfolqKCaaiszH0g==}
+ engines: {node: '>=18.0.0'}
+
'@smithy/credential-provider-imds@4.5.2':
resolution: {integrity: sha512-A9uSdn72ozbRUSit0eib0TW7nXuNPlaeM0zcGkJ+nE6tFcSDbnmtwoxbTCFBukVQcszDAyvsd7+rTduPTXpygg==}
engines: {node: '>=18.0.0'}
@@ -2173,6 +2314,10 @@ packages:
resolution: {integrity: sha512-ThMkboGeONWXAelq9FvGsuJC4rOi+qyC4/zhUF58xYpxUg5sQKx2VXZYJmtNjr4dSuBJ1HeJXETQILCz3wOHvw==}
engines: {node: '>=18.0.0'}
+ '@smithy/node-http-handler@4.13.0':
+ resolution: {integrity: sha512-/GGcPoNJ2nzGytdAanpbx7mpp9Coa8LP+/Rpmbktr8YeLuIXs9B0SEz+X3AeonHdyzOIFJdKbN7jOZ+Tj+pMGw==}
+ engines: {node: '>=18.0.0'}
+
'@smithy/signature-v4@5.7.4':
resolution: {integrity: sha512-tHy0K0VtqNd5Y7Y41h0a0Lhh0L1GzC08dTWg0F7vRJWFtTENg7IZikf3wQkanYIRdb7ngoIPMTmqgUi401fEeQ==}
engines: {node: '>=18.0.0'}
@@ -3477,8 +3622,8 @@ packages:
'@vitest/utils@4.1.12':
resolution: {integrity: sha512-Q3awXrwOfEV+qc3WmO5ONyE0yO7Q1gQ9/oyHxGLZ/pl7N3NO/ZztqQwKLuwMkV+CA1JYSIeO3gkHnRDIo4AVaA==}
- '@zumer/snapdom@3.3.5':
- resolution: {integrity: sha512-ACq+jJUArjoOEA36A5Ck0f9UQZ+K2Sty4CRX2LXd1TZHVZTvjISvXg/PTb54Fujjq8EgzjpoTR1s79zKm/TB/A==}
+ '@zumer/snapdom@3.3.6':
+ resolution: {integrity: sha512-Ynxm2UJz6/diX/M2Xi9R5xqAgg/MrfsiEVJqAjUzcDI1kwnlfK+3F2tiP3BQJWgRouuYjT07cxeSYs31zgR2GA==}
accepts@2.0.0:
resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==}
@@ -4509,8 +4654,8 @@ packages:
resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}
engines: {node: '>= 8'}
- knip@6.42.0:
- resolution: {integrity: sha512-lNypqHwi38RJQG8pVuItqzCDPMOfPbBExyFh8aM4yMJRHVU7t5OQAtEK4tDkaB3rLHetOcVMhRFAgv5Vn2CM0A==}
+ knip@6.42.1:
+ resolution: {integrity: sha512-gKJVsiT4LJQ0lfc8uSHOCzkOY8adAXNFGarIeODZbJOkBnQRVsG3e0UZFnO4LMwjA82A5tBWX/VgoeTYcjdKiQ==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
@@ -4630,8 +4775,8 @@ packages:
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
- lucide-react@1.59.0:
- resolution: {integrity: sha512-5qgMyyCPU6OvnKpLS2t693+ZtiqA8oaSweWoUows0BLFKFf6V75m4+CptpmohZHpD5IuOVIBXHBBiv2vpLJmtw==}
+ lucide-react@1.61.0:
+ resolution: {integrity: sha512-v2SQPPPNjnr+BlhL9Spuzmo5yR+hLkftfuE4E3jaxdNPgSH0hJKPcLJBP7yAta87jQNPsSERS59PJjCJ/CorBA==}
peerDependencies:
'@types/react': '*'
react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -4714,8 +4859,8 @@ packages:
resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==}
engines: {node: '>= 0.8'}
- mediabunny@1.61.6:
- resolution: {integrity: sha512-VHEZ53/7jGl4dQ+uOdndsZufFYwEUFWv9UXgvrGun3OapyzoqI9iaPOD7z3xxY/nAttLZBNwswgJzMtGJAquOQ==}
+ mediabunny@1.62.0:
+ resolution: {integrity: sha512-D8E8BDxjCyqyrGj074jLRQNgilDW5izJu8o9pg7THMYMIZBL1Fao5hOtdDPDfA+nSnk68tMa8IaCJmz8hSpJpw==}
merge-descriptors@2.0.0:
resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==}
@@ -4928,11 +5073,15 @@ packages:
resolution: {integrity: sha512-Gr/6fkjZwi937c4Tsz8y0iO4U0FLPkZI6JSVucLAIvQyqh379px7RS8ORIc0HOORbFjXZ6zyqWLl53qxhSeofw==}
engines: {node: ^20.19.0 || >=22.12.0}
+ oxc-parser@0.155.0:
+ resolution: {integrity: sha512-C/ReSf1JUFukK/zvk6jhcNibSssvas5+ktIzK7fbKVd3CedWe59C3QwHEOrEZj/4Rt9+xg0Jeis/Jv1F/KM1mw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+
oxc-resolver@11.24.2:
resolution: {integrity: sha512-FY91FiDBj7ls5MsFS9jN3tjz2o0/zsdSsymlakySaBwVJZorHhkWyICLZMKxlu1R9vYo+sd3z1jwb4J8x7bNDw==}
- oxc-transform-react@0.154.0:
- resolution: {integrity: sha512-Lv4/5I5CuPTRYgu7Iacj+Ct8HioSZu0yyzn+OodoanRF+GxX3Jyu9BZ4VWi192YQBx/4s8KM1Gq7hG1pTJTRHA==}
+ oxc-transform-react@0.155.0:
+ resolution: {integrity: sha512-JsZb0yduU1JdSj1RrNov2Ysio68LW9VKa10vkAJehy3NsE6UZrfcjmTLrStBRVF40YKxN30I+Cq8zJxIXzLqHQ==}
engines: {node: ^20.19.0 || >=22.12.0}
p-limit@7.3.3:
@@ -5203,13 +5352,19 @@ packages:
'@types/react':
optional: true
- react-router@8.4.0:
- resolution: {integrity: sha512-JtydAkBvU9UTEe5qNC+POhu+ZBNM7rlKY2IegwXc7Idj7xfRG16x5RZrw3mju+XlqBxfvb2ky9P3jUp9WyWC1g==}
+ react-router@8.5.0:
+ resolution: {integrity: sha512-9nEd/deifcTJIIcUaNIyQGkyXD0D6QVB9XD2O5GgHpP3xu3U5RXm87YQ8++Wn8JQWgMBM/5+PjWPM/7n7O7WHA==}
engines: {node: '>=22.22.0'}
peerDependencies:
+ '@types/react': '>=19.2.0'
+ '@types/react-dom': '>=19.2.0'
react: '>=19.2.7'
react-dom: '>=19.2.7'
peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
react-dom:
optional: true
@@ -5250,8 +5405,8 @@ packages:
remark-directive@4.0.0:
resolution: {integrity: sha512-7sxn4RfF1o3izevPV1DheyGDD6X4c9hrGpfdUpm7uC++dqrnJxIZVkk7CoKqcLm0VUMAuOol7Mno3m6g8cfMuA==}
- remeda@2.52.0:
- resolution: {integrity: sha512-PReYy2iQJbKq7t/4grlsew2rUKRgZYMRQOVjlxsl9+j8yQWfEdyuzJFPSF4kDmO11KoHSanilyHnG4xSBA21nQ==}
+ remeda@2.53.0:
+ resolution: {integrity: sha512-1jeHr8AUMB3r089AOmaiHBPAcGTep27JCbMt8MeXXXquDkO3h2N4CtuK++4Oas8mulCUiOUDeZqN+ssrcatKlw==}
engines: {node: '>=18.0.0'}
remix-auth-oauth2@3.4.1:
@@ -5792,6 +5947,49 @@ packages:
yaml:
optional: true
+ vite@8.3.5:
+ resolution: {integrity: sha512-z1YpjieJ9g0ebTmQpLBv/oq9E3F9EIlOe+7LahW8SrE3LTiG3udBRUXQOlYXP9b+IC2q2phHeVxj9xGlw34OEQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^20.19.0 || >=22.12.0
+ '@vitejs/devtools': ^0.7.1 || ^0.8.0
+ esbuild: ^0.27.0 || ^0.28.0
+ jiti: '>=1.21.0'
+ less: ^4.0.0
+ sass: ^1.70.0
+ sass-embedded: ^1.70.0
+ stylus: '>=0.54.8'
+ sugarss: ^5.0.0
+ terser: ^5.16.0
+ tsx: ^4.8.1
+ yaml: ^2.4.2
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ '@vitejs/devtools':
+ optional: true
+ esbuild:
+ optional: true
+ jiti:
+ optional: true
+ less:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ tsx:
+ optional: true
+ yaml:
+ optional: true
+
vitefu@1.1.3:
resolution: {integrity: sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==}
peerDependencies:
@@ -6024,19 +6222,19 @@ snapshots:
dependencies:
prismjs: 1.30.0
- '@astrojs/react@7.1.1(@types/node@26.6.5)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(babel-plugin-react-compiler@19.1.0-rc.3)(jiti@2.7.0)(oxc-transform-react@0.154.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(yaml@2.9.1)':
+ '@astrojs/react@7.1.1(@types/node@26.6.5)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(babel-plugin-react-compiler@19.1.0-rc.3)(jiti@2.7.0)(oxc-transform-react@0.155.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(yaml@2.9.1)':
dependencies:
'@astrojs/internal-helpers': 0.13.0
'@types/react': 19.3.0
'@types/react-dom': 19.3.0(@types/react@19.3.0)
- '@vitejs/plugin-react': 6.1.2(babel-plugin-react-compiler@19.1.0-rc.3)(oxc-transform-react@0.154.0)(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
+ '@vitejs/plugin-react': 6.1.2(babel-plugin-react-compiler@19.1.0-rc.3)(oxc-transform-react@0.155.0)(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
devalue: 6.0.3
react: 19.3.1
react-dom: 19.3.1(react@19.3.1)
ultrahtml: 1.7.0
vite: 8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1)
optionalDependencies:
- oxc-transform-react: 0.154.0
+ oxc-transform-react: 0.155.0
transitivePeerDependencies:
- '@rolldown/plugin-babel'
- '@types/node'
@@ -6100,175 +6298,175 @@ snapshots:
is-docker: 4.0.0
package-manager-detector: 1.9.0
- '@aws-sdk/checksums@3.1001.3':
+ '@aws-sdk/checksums@3.1001.7':
dependencies:
- '@aws-sdk/core': 3.978.3
- '@aws-sdk/types': 3.974.6
- '@smithy/core': 3.36.0
+ '@aws-sdk/core': 3.978.7
+ '@aws-sdk/types': 3.975.0
+ '@smithy/core': 3.37.0
'@smithy/types': 4.19.0
tslib: 2.8.1
- '@aws-sdk/client-s3@3.1152.0':
+ '@aws-sdk/client-s3@3.1155.0':
dependencies:
- '@aws-sdk/checksums': 3.1001.3
- '@aws-sdk/core': 3.978.3
- '@aws-sdk/credential-provider-node': 3.972.86
- '@aws-sdk/middleware-sdk-s3': 3.972.79
- '@aws-sdk/signature-v4-multi-region': 3.996.48
- '@aws-sdk/types': 3.974.6
- '@smithy/core': 3.36.0
+ '@aws-sdk/checksums': 3.1001.7
+ '@aws-sdk/core': 3.978.7
+ '@aws-sdk/credential-provider-node': 3.972.90
+ '@aws-sdk/middleware-sdk-s3': 3.972.83
+ '@aws-sdk/signature-v4-multi-region': 3.996.50
+ '@aws-sdk/types': 3.975.0
+ '@smithy/core': 3.37.0
'@smithy/fetch-http-handler': 5.8.0
'@smithy/node-http-handler': 4.12.1
'@smithy/types': 4.19.0
tslib: 2.8.1
- '@aws-sdk/core@3.978.3':
+ '@aws-sdk/core@3.978.7':
dependencies:
- '@aws-sdk/types': 3.974.6
- '@aws-sdk/xml-builder': 3.972.41
+ '@aws-sdk/types': 3.975.0
+ '@aws-sdk/xml-builder': 3.972.42
'@aws/lambda-invoke-store': 0.3.0
- '@smithy/core': 3.36.0
+ '@smithy/core': 3.37.0
'@smithy/signature-v4': 5.7.4
'@smithy/types': 4.19.0
bowser: 2.14.1
tslib: 2.8.1
- '@aws-sdk/credential-provider-env@3.972.74':
+ '@aws-sdk/credential-provider-env@3.972.78':
dependencies:
- '@aws-sdk/core': 3.978.3
- '@aws-sdk/types': 3.974.6
- '@smithy/core': 3.36.0
+ '@aws-sdk/core': 3.978.7
+ '@aws-sdk/types': 3.975.0
+ '@smithy/core': 3.37.0
'@smithy/types': 4.19.0
tslib: 2.8.1
- '@aws-sdk/credential-provider-http@3.972.76':
+ '@aws-sdk/credential-provider-http@3.972.80':
dependencies:
- '@aws-sdk/core': 3.978.3
- '@aws-sdk/types': 3.974.6
- '@smithy/core': 3.36.0
+ '@aws-sdk/core': 3.978.7
+ '@aws-sdk/types': 3.975.0
+ '@smithy/core': 3.37.0
'@smithy/fetch-http-handler': 5.8.0
- '@smithy/node-http-handler': 4.12.1
+ '@smithy/node-http-handler': 4.13.0
'@smithy/types': 4.19.0
tslib: 2.8.1
- '@aws-sdk/credential-provider-ini@3.973.19':
+ '@aws-sdk/credential-provider-ini@3.973.23':
dependencies:
- '@aws-sdk/core': 3.978.3
- '@aws-sdk/credential-provider-env': 3.972.74
- '@aws-sdk/credential-provider-http': 3.972.76
- '@aws-sdk/credential-provider-login': 3.972.81
- '@aws-sdk/credential-provider-process': 3.972.74
- '@aws-sdk/credential-provider-sso': 3.973.18
- '@aws-sdk/credential-provider-web-identity': 3.972.80
- '@aws-sdk/nested-clients': 3.997.48
- '@aws-sdk/types': 3.974.6
- '@smithy/core': 3.36.0
+ '@aws-sdk/core': 3.978.7
+ '@aws-sdk/credential-provider-env': 3.972.78
+ '@aws-sdk/credential-provider-http': 3.972.80
+ '@aws-sdk/credential-provider-login': 3.972.85
+ '@aws-sdk/credential-provider-process': 3.972.78
+ '@aws-sdk/credential-provider-sso': 3.973.22
+ '@aws-sdk/credential-provider-web-identity': 3.972.84
+ '@aws-sdk/nested-clients': 3.997.52
+ '@aws-sdk/types': 3.975.0
+ '@smithy/core': 3.37.0
'@smithy/credential-provider-imds': 4.5.2
'@smithy/types': 4.19.0
tslib: 2.8.1
- '@aws-sdk/credential-provider-login@3.972.81':
+ '@aws-sdk/credential-provider-login@3.972.85':
dependencies:
- '@aws-sdk/core': 3.978.3
- '@aws-sdk/nested-clients': 3.997.48
- '@aws-sdk/types': 3.974.6
- '@smithy/core': 3.36.0
+ '@aws-sdk/core': 3.978.7
+ '@aws-sdk/nested-clients': 3.997.52
+ '@aws-sdk/types': 3.975.0
+ '@smithy/core': 3.37.0
'@smithy/types': 4.19.0
tslib: 2.8.1
- '@aws-sdk/credential-provider-node@3.972.86':
+ '@aws-sdk/credential-provider-node@3.972.90':
dependencies:
- '@aws-sdk/credential-provider-env': 3.972.74
- '@aws-sdk/credential-provider-http': 3.972.76
- '@aws-sdk/credential-provider-ini': 3.973.19
- '@aws-sdk/credential-provider-process': 3.972.74
- '@aws-sdk/credential-provider-sso': 3.973.18
- '@aws-sdk/credential-provider-web-identity': 3.972.80
- '@aws-sdk/types': 3.974.6
- '@smithy/core': 3.36.0
+ '@aws-sdk/credential-provider-env': 3.972.78
+ '@aws-sdk/credential-provider-http': 3.972.80
+ '@aws-sdk/credential-provider-ini': 3.973.23
+ '@aws-sdk/credential-provider-process': 3.972.78
+ '@aws-sdk/credential-provider-sso': 3.973.22
+ '@aws-sdk/credential-provider-web-identity': 3.972.84
+ '@aws-sdk/types': 3.975.0
+ '@smithy/core': 3.37.0
'@smithy/credential-provider-imds': 4.5.2
'@smithy/types': 4.19.0
tslib: 2.8.1
- '@aws-sdk/credential-provider-process@3.972.74':
+ '@aws-sdk/credential-provider-process@3.972.78':
dependencies:
- '@aws-sdk/core': 3.978.3
- '@aws-sdk/types': 3.974.6
- '@smithy/core': 3.36.0
+ '@aws-sdk/core': 3.978.7
+ '@aws-sdk/types': 3.975.0
+ '@smithy/core': 3.37.0
'@smithy/types': 4.19.0
tslib: 2.8.1
- '@aws-sdk/credential-provider-sso@3.973.18':
+ '@aws-sdk/credential-provider-sso@3.973.22':
dependencies:
- '@aws-sdk/core': 3.978.3
- '@aws-sdk/nested-clients': 3.997.48
- '@aws-sdk/token-providers': 3.1150.0
- '@aws-sdk/types': 3.974.6
- '@smithy/core': 3.36.0
+ '@aws-sdk/core': 3.978.7
+ '@aws-sdk/nested-clients': 3.997.52
+ '@aws-sdk/token-providers': 3.1159.0
+ '@aws-sdk/types': 3.975.0
+ '@smithy/core': 3.37.0
'@smithy/types': 4.19.0
tslib: 2.8.1
- '@aws-sdk/credential-provider-web-identity@3.972.80':
+ '@aws-sdk/credential-provider-web-identity@3.972.84':
dependencies:
- '@aws-sdk/core': 3.978.3
- '@aws-sdk/nested-clients': 3.997.48
- '@aws-sdk/types': 3.974.6
- '@smithy/core': 3.36.0
+ '@aws-sdk/core': 3.978.7
+ '@aws-sdk/nested-clients': 3.997.52
+ '@aws-sdk/types': 3.975.0
+ '@smithy/core': 3.37.0
'@smithy/types': 4.19.0
tslib: 2.8.1
- '@aws-sdk/lib-storage@3.1152.0(@aws-sdk/client-s3@3.1152.0)':
+ '@aws-sdk/lib-storage@3.1155.0(@aws-sdk/client-s3@3.1155.0)':
dependencies:
- '@aws-sdk/client-s3': 3.1152.0
- '@smithy/core': 3.36.0
+ '@aws-sdk/client-s3': 3.1155.0
+ '@smithy/core': 3.37.0
'@smithy/types': 4.19.0
buffer: 5.6.0
events: 3.3.0
stream-browserify: 3.0.0
tslib: 2.8.1
- '@aws-sdk/middleware-sdk-s3@3.972.79':
+ '@aws-sdk/middleware-sdk-s3@3.972.83':
dependencies:
- '@aws-sdk/core': 3.978.3
- '@aws-sdk/signature-v4-multi-region': 3.996.48
- '@aws-sdk/types': 3.974.6
- '@smithy/core': 3.36.0
+ '@aws-sdk/core': 3.978.7
+ '@aws-sdk/signature-v4-multi-region': 3.996.50
+ '@aws-sdk/types': 3.975.0
+ '@smithy/core': 3.37.0
'@smithy/types': 4.19.0
tslib: 2.8.1
- '@aws-sdk/nested-clients@3.997.48':
+ '@aws-sdk/nested-clients@3.997.52':
dependencies:
- '@aws-sdk/core': 3.978.3
- '@aws-sdk/signature-v4-multi-region': 3.996.48
- '@aws-sdk/types': 3.974.6
- '@smithy/core': 3.36.0
+ '@aws-sdk/core': 3.978.7
+ '@aws-sdk/signature-v4-multi-region': 3.996.50
+ '@aws-sdk/types': 3.975.0
+ '@smithy/core': 3.37.0
'@smithy/fetch-http-handler': 5.8.0
- '@smithy/node-http-handler': 4.12.1
+ '@smithy/node-http-handler': 4.13.0
'@smithy/types': 4.19.0
tslib: 2.8.1
- '@aws-sdk/signature-v4-multi-region@3.996.48':
+ '@aws-sdk/signature-v4-multi-region@3.996.50':
dependencies:
- '@aws-sdk/types': 3.974.6
+ '@aws-sdk/types': 3.975.0
'@smithy/signature-v4': 5.7.4
'@smithy/types': 4.19.0
tslib: 2.8.1
- '@aws-sdk/token-providers@3.1150.0':
+ '@aws-sdk/token-providers@3.1159.0':
dependencies:
- '@aws-sdk/core': 3.978.3
- '@aws-sdk/nested-clients': 3.997.48
- '@aws-sdk/types': 3.974.6
- '@smithy/core': 3.36.0
+ '@aws-sdk/core': 3.978.7
+ '@aws-sdk/nested-clients': 3.997.52
+ '@aws-sdk/types': 3.975.0
+ '@smithy/core': 3.37.0
'@smithy/types': 4.19.0
tslib: 2.8.1
- '@aws-sdk/types@3.974.6':
+ '@aws-sdk/types@3.975.0':
dependencies:
'@smithy/types': 4.19.0
tslib: 2.8.1
- '@aws-sdk/xml-builder@3.972.41':
+ '@aws-sdk/xml-builder@3.972.42':
dependencies:
'@smithy/types': 4.19.0
tslib: 2.8.1
@@ -6474,39 +6672,47 @@ snapshots:
'@babel/helper-string-parser': 7.29.7
'@babel/helper-validator-identifier': 7.29.7
- '@biomejs/biome@2.5.15':
+ '@biomejs/biome@2.6.2':
optionalDependencies:
- '@biomejs/cli-darwin-arm64': 2.5.15
- '@biomejs/cli-darwin-x64': 2.5.15
- '@biomejs/cli-linux-arm64': 2.5.15
- '@biomejs/cli-linux-arm64-musl': 2.5.15
- '@biomejs/cli-linux-x64': 2.5.15
- '@biomejs/cli-linux-x64-musl': 2.5.15
- '@biomejs/cli-win32-arm64': 2.5.15
- '@biomejs/cli-win32-x64': 2.5.15
+ '@biomejs/cli-android-arm64': 2.6.2
+ '@biomejs/cli-android-x64': 2.6.2
+ '@biomejs/cli-darwin-arm64': 2.6.2
+ '@biomejs/cli-darwin-x64': 2.6.2
+ '@biomejs/cli-linux-arm64': 2.6.2
+ '@biomejs/cli-linux-arm64-musl': 2.6.2
+ '@biomejs/cli-linux-x64': 2.6.2
+ '@biomejs/cli-linux-x64-musl': 2.6.2
+ '@biomejs/cli-win32-arm64': 2.6.2
+ '@biomejs/cli-win32-x64': 2.6.2
- '@biomejs/cli-darwin-arm64@2.5.15':
+ '@biomejs/cli-android-arm64@2.6.2':
optional: true
- '@biomejs/cli-darwin-x64@2.5.15':
+ '@biomejs/cli-android-x64@2.6.2':
optional: true
- '@biomejs/cli-linux-arm64-musl@2.5.15':
+ '@biomejs/cli-darwin-arm64@2.6.2':
optional: true
- '@biomejs/cli-linux-arm64@2.5.15':
+ '@biomejs/cli-darwin-x64@2.6.2':
optional: true
- '@biomejs/cli-linux-x64-musl@2.5.15':
+ '@biomejs/cli-linux-arm64-musl@2.6.2':
optional: true
- '@biomejs/cli-linux-x64@2.5.15':
+ '@biomejs/cli-linux-arm64@2.6.2':
optional: true
- '@biomejs/cli-win32-arm64@2.5.15':
+ '@biomejs/cli-linux-x64-musl@2.6.2':
optional: true
- '@biomejs/cli-win32-x64@2.5.15':
+ '@biomejs/cli-linux-x64@2.6.2':
+ optional: true
+
+ '@biomejs/cli-win32-arm64@2.6.2':
+ optional: true
+
+ '@biomejs/cli-win32-x64@2.6.2':
optional: true
'@blazediff/core@1.9.1': {}
@@ -6861,52 +7067,52 @@ snapshots:
'@mjackson/headers@0.10.0': {}
- '@napi-rs/canvas-android-arm64@1.0.11':
+ '@napi-rs/canvas-android-arm64@1.0.13':
optional: true
- '@napi-rs/canvas-darwin-arm64@1.0.11':
+ '@napi-rs/canvas-darwin-arm64@1.0.13':
optional: true
- '@napi-rs/canvas-darwin-x64@1.0.11':
+ '@napi-rs/canvas-darwin-x64@1.0.13':
optional: true
- '@napi-rs/canvas-linux-arm-gnueabihf@1.0.11':
+ '@napi-rs/canvas-linux-arm-gnueabihf@1.0.13':
optional: true
- '@napi-rs/canvas-linux-arm64-gnu@1.0.11':
+ '@napi-rs/canvas-linux-arm64-gnu@1.0.13':
optional: true
- '@napi-rs/canvas-linux-arm64-musl@1.0.11':
+ '@napi-rs/canvas-linux-arm64-musl@1.0.13':
optional: true
- '@napi-rs/canvas-linux-riscv64-gnu@1.0.11':
+ '@napi-rs/canvas-linux-riscv64-gnu@1.0.13':
optional: true
- '@napi-rs/canvas-linux-x64-gnu@1.0.11':
+ '@napi-rs/canvas-linux-x64-gnu@1.0.13':
optional: true
- '@napi-rs/canvas-linux-x64-musl@1.0.11':
+ '@napi-rs/canvas-linux-x64-musl@1.0.13':
optional: true
- '@napi-rs/canvas-win32-arm64-msvc@1.0.11':
+ '@napi-rs/canvas-win32-arm64-msvc@1.0.13':
optional: true
- '@napi-rs/canvas-win32-x64-msvc@1.0.11':
+ '@napi-rs/canvas-win32-x64-msvc@1.0.13':
optional: true
- '@napi-rs/canvas@1.0.11':
+ '@napi-rs/canvas@1.0.13':
optionalDependencies:
- '@napi-rs/canvas-android-arm64': 1.0.11
- '@napi-rs/canvas-darwin-arm64': 1.0.11
- '@napi-rs/canvas-darwin-x64': 1.0.11
- '@napi-rs/canvas-linux-arm-gnueabihf': 1.0.11
- '@napi-rs/canvas-linux-arm64-gnu': 1.0.11
- '@napi-rs/canvas-linux-arm64-musl': 1.0.11
- '@napi-rs/canvas-linux-riscv64-gnu': 1.0.11
- '@napi-rs/canvas-linux-x64-gnu': 1.0.11
- '@napi-rs/canvas-linux-x64-musl': 1.0.11
- '@napi-rs/canvas-win32-arm64-msvc': 1.0.11
- '@napi-rs/canvas-win32-x64-msvc': 1.0.11
+ '@napi-rs/canvas-android-arm64': 1.0.13
+ '@napi-rs/canvas-darwin-arm64': 1.0.13
+ '@napi-rs/canvas-darwin-x64': 1.0.13
+ '@napi-rs/canvas-linux-arm-gnueabihf': 1.0.13
+ '@napi-rs/canvas-linux-arm64-gnu': 1.0.13
+ '@napi-rs/canvas-linux-arm64-musl': 1.0.13
+ '@napi-rs/canvas-linux-riscv64-gnu': 1.0.13
+ '@napi-rs/canvas-linux-x64-gnu': 1.0.13
+ '@napi-rs/canvas-linux-x64-musl': 1.0.13
+ '@napi-rs/canvas-win32-arm64-msvc': 1.0.13
+ '@napi-rs/canvas-win32-x64-msvc': 1.0.13
'@napi-rs/wasm-runtime@1.2.5(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
dependencies:
@@ -6951,62 +7157,121 @@ snapshots:
'@oxc-parser/binding-android-arm-eabi@0.154.0':
optional: true
+ '@oxc-parser/binding-android-arm-eabi@0.155.0':
+ optional: true
+
'@oxc-parser/binding-android-arm64@0.154.0':
optional: true
+ '@oxc-parser/binding-android-arm64@0.155.0':
+ optional: true
+
'@oxc-parser/binding-darwin-arm64@0.154.0':
optional: true
+ '@oxc-parser/binding-darwin-arm64@0.155.0':
+ optional: true
+
'@oxc-parser/binding-darwin-x64@0.154.0':
optional: true
+ '@oxc-parser/binding-darwin-x64@0.155.0':
+ optional: true
+
'@oxc-parser/binding-freebsd-x64@0.154.0':
optional: true
+ '@oxc-parser/binding-freebsd-x64@0.155.0':
+ optional: true
+
'@oxc-parser/binding-linux-arm-gnueabihf@0.154.0':
optional: true
+ '@oxc-parser/binding-linux-arm-gnueabihf@0.155.0':
+ optional: true
+
'@oxc-parser/binding-linux-arm-musleabihf@0.154.0':
optional: true
+ '@oxc-parser/binding-linux-arm-musleabihf@0.155.0':
+ optional: true
+
'@oxc-parser/binding-linux-arm64-gnu@0.154.0':
optional: true
+ '@oxc-parser/binding-linux-arm64-gnu@0.155.0':
+ optional: true
+
'@oxc-parser/binding-linux-arm64-musl@0.154.0':
optional: true
+ '@oxc-parser/binding-linux-arm64-musl@0.155.0':
+ optional: true
+
'@oxc-parser/binding-linux-ppc64-gnu@0.154.0':
optional: true
+ '@oxc-parser/binding-linux-ppc64-gnu@0.155.0':
+ optional: true
+
'@oxc-parser/binding-linux-riscv64-gnu@0.154.0':
optional: true
+ '@oxc-parser/binding-linux-riscv64-gnu@0.155.0':
+ optional: true
+
'@oxc-parser/binding-linux-riscv64-musl@0.154.0':
optional: true
+ '@oxc-parser/binding-linux-riscv64-musl@0.155.0':
+ optional: true
+
'@oxc-parser/binding-linux-s390x-gnu@0.154.0':
optional: true
+ '@oxc-parser/binding-linux-s390x-gnu@0.155.0':
+ optional: true
+
'@oxc-parser/binding-linux-x64-gnu@0.154.0':
optional: true
+ '@oxc-parser/binding-linux-x64-gnu@0.155.0':
+ optional: true
+
'@oxc-parser/binding-linux-x64-musl@0.154.0':
optional: true
+ '@oxc-parser/binding-linux-x64-musl@0.155.0':
+ optional: true
+
'@oxc-parser/binding-openharmony-arm64@0.154.0':
optional: true
+ '@oxc-parser/binding-openharmony-arm64@0.155.0':
+ optional: true
+
'@oxc-parser/binding-win32-arm64-msvc@0.154.0':
optional: true
+ '@oxc-parser/binding-win32-arm64-msvc@0.155.0':
+ optional: true
+
'@oxc-parser/binding-win32-ia32-msvc@0.154.0':
optional: true
+ '@oxc-parser/binding-win32-ia32-msvc@0.155.0':
+ optional: true
+
'@oxc-parser/binding-win32-x64-msvc@0.154.0':
optional: true
+ '@oxc-parser/binding-win32-x64-msvc@0.155.0':
+ optional: true
+
'@oxc-project/types@0.154.0': {}
+ '@oxc-project/types@0.155.0': {}
+
'@oxc-resolver/binding-android-arm-eabi@11.24.2':
optional: true
@@ -7068,61 +7333,61 @@ snapshots:
'@oxc-resolver/binding-win32-x64-msvc@11.24.2':
optional: true
- '@oxc-transform-react/binding-android-arm-eabi@0.154.0':
+ '@oxc-transform-react/binding-android-arm-eabi@0.155.0':
optional: true
- '@oxc-transform-react/binding-android-arm64@0.154.0':
+ '@oxc-transform-react/binding-android-arm64@0.155.0':
optional: true
- '@oxc-transform-react/binding-darwin-arm64@0.154.0':
+ '@oxc-transform-react/binding-darwin-arm64@0.155.0':
optional: true
- '@oxc-transform-react/binding-darwin-x64@0.154.0':
+ '@oxc-transform-react/binding-darwin-x64@0.155.0':
optional: true
- '@oxc-transform-react/binding-freebsd-x64@0.154.0':
+ '@oxc-transform-react/binding-freebsd-x64@0.155.0':
optional: true
- '@oxc-transform-react/binding-linux-arm-gnueabihf@0.154.0':
+ '@oxc-transform-react/binding-linux-arm-gnueabihf@0.155.0':
optional: true
- '@oxc-transform-react/binding-linux-arm-musleabihf@0.154.0':
+ '@oxc-transform-react/binding-linux-arm-musleabihf@0.155.0':
optional: true
- '@oxc-transform-react/binding-linux-arm64-gnu@0.154.0':
+ '@oxc-transform-react/binding-linux-arm64-gnu@0.155.0':
optional: true
- '@oxc-transform-react/binding-linux-arm64-musl@0.154.0':
+ '@oxc-transform-react/binding-linux-arm64-musl@0.155.0':
optional: true
- '@oxc-transform-react/binding-linux-ppc64-gnu@0.154.0':
+ '@oxc-transform-react/binding-linux-ppc64-gnu@0.155.0':
optional: true
- '@oxc-transform-react/binding-linux-riscv64-gnu@0.154.0':
+ '@oxc-transform-react/binding-linux-riscv64-gnu@0.155.0':
optional: true
- '@oxc-transform-react/binding-linux-riscv64-musl@0.154.0':
+ '@oxc-transform-react/binding-linux-riscv64-musl@0.155.0':
optional: true
- '@oxc-transform-react/binding-linux-s390x-gnu@0.154.0':
+ '@oxc-transform-react/binding-linux-s390x-gnu@0.155.0':
optional: true
- '@oxc-transform-react/binding-linux-x64-gnu@0.154.0':
+ '@oxc-transform-react/binding-linux-x64-gnu@0.155.0':
optional: true
- '@oxc-transform-react/binding-linux-x64-musl@0.154.0':
+ '@oxc-transform-react/binding-linux-x64-musl@0.155.0':
optional: true
- '@oxc-transform-react/binding-openharmony-arm64@0.154.0':
+ '@oxc-transform-react/binding-openharmony-arm64@0.155.0':
optional: true
- '@oxc-transform-react/binding-win32-arm64-msvc@0.154.0':
+ '@oxc-transform-react/binding-win32-arm64-msvc@0.155.0':
optional: true
- '@oxc-transform-react/binding-win32-ia32-msvc@0.154.0':
+ '@oxc-transform-react/binding-win32-ia32-msvc@0.155.0':
optional: true
- '@oxc-transform-react/binding-win32-x64-msvc@0.154.0':
+ '@oxc-transform-react/binding-win32-x64-msvc@0.155.0':
optional: true
'@pagefind/darwin-arm64@1.5.2':
@@ -7525,14 +7790,14 @@ snapshots:
'@radix-ui/rect@1.1.1': {}
- '@react-router/dev@8.4.0(@react-router/serve@8.1.0(patch_hash=f7425beb70a2ce35ca7235672d8df524901983a27c25aa7de489bc559d54d7f1)(react-router@8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2))(react-router@8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))':
+ '@react-router/dev@8.5.0(@react-router/serve@8.1.0(patch_hash=f7425beb70a2ce35ca7235672d8df524901983a27c25aa7de489bc559d54d7f1)(react-router@8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2))(react-router@8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))':
dependencies:
'@babel/core': 7.29.7
'@babel/generator': 7.29.8
'@babel/parser': 7.29.9
'@babel/traverse': 7.29.8
'@babel/types': 7.29.8
- '@react-router/node': 8.4.0(react-router@8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)
+ '@react-router/node': 8.5.0(react-router@8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)
'@remix-run/node-fetch-server': 0.14.1
babel-dead-code-elimination: 1.0.12
chokidar: 5.0.0
@@ -7547,49 +7812,49 @@ snapshots:
picocolors: 1.1.1
pkg-types: 2.3.3
react-refresh: 0.18.0
- react-router: 8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
+ react-router: 8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
semver: 7.8.5
tinyglobby: 0.2.17
valibot: 1.5.0(typescript@7.0.2)
- vite: 8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1)
+ vite: 8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1)
optionalDependencies:
- '@react-router/serve': 8.1.0(patch_hash=f7425beb70a2ce35ca7235672d8df524901983a27c25aa7de489bc559d54d7f1)(react-router@8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)
+ '@react-router/serve': 8.1.0(patch_hash=f7425beb70a2ce35ca7235672d8df524901983a27c25aa7de489bc559d54d7f1)(react-router@8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)
typescript: 7.0.2
transitivePeerDependencies:
- babel-plugin-macros
- supports-color
- '@react-router/express@8.1.0(express@5.2.1)(react-router@8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)':
+ '@react-router/express@8.1.0(express@5.2.1)(react-router@8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)':
dependencies:
- '@react-router/node': 8.1.0(react-router@8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)
+ '@react-router/node': 8.1.0(react-router@8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)
express: 5.2.1
- react-router: 8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
+ react-router: 8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
optionalDependencies:
typescript: 7.0.2
- '@react-router/node@8.1.0(react-router@8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)':
+ '@react-router/node@8.1.0(react-router@8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)':
dependencies:
'@remix-run/node-fetch-server': 0.13.3
- react-router: 8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
+ react-router: 8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
optionalDependencies:
typescript: 7.0.2
- '@react-router/node@8.4.0(react-router@8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)':
+ '@react-router/node@8.5.0(react-router@8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)':
dependencies:
'@remix-run/node-fetch-server': 0.14.1
- react-router: 8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
+ react-router: 8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
optionalDependencies:
typescript: 7.0.2
- '@react-router/serve@8.1.0(patch_hash=f7425beb70a2ce35ca7235672d8df524901983a27c25aa7de489bc559d54d7f1)(react-router@8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)':
+ '@react-router/serve@8.1.0(patch_hash=f7425beb70a2ce35ca7235672d8df524901983a27c25aa7de489bc559d54d7f1)(react-router@8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)':
dependencies:
- '@react-router/express': 8.1.0(express@5.2.1)(react-router@8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)
- '@react-router/node': 8.1.0(react-router@8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)
+ '@react-router/express': 8.1.0(express@5.2.1)(react-router@8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)
+ '@react-router/node': 8.1.0(react-router@8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@7.0.2)
'@remix-run/node-fetch-server': 0.13.3
compression: 1.8.2
express: 5.2.1
morgan: 1.12.1
- react-router: 8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
+ react-router: 8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
source-map-support: 0.5.21
transitivePeerDependencies:
- supports-color
@@ -7723,6 +7988,11 @@ snapshots:
'@smithy/types': 4.19.0
tslib: 2.8.1
+ '@smithy/core@3.37.0':
+ dependencies:
+ '@smithy/types': 4.19.0
+ tslib: 2.8.1
+
'@smithy/credential-provider-imds@4.5.2':
dependencies:
'@smithy/core': 3.36.0
@@ -7741,6 +8011,12 @@ snapshots:
'@smithy/types': 4.19.0
tslib: 2.8.1
+ '@smithy/node-http-handler@4.13.0':
+ dependencies:
+ '@smithy/core': 3.37.0
+ '@smithy/types': 4.19.0
+ tslib: 2.8.1
+
'@smithy/signature-v4@5.7.4':
dependencies:
'@smithy/core': 3.36.0
@@ -9127,37 +9403,37 @@ snapshots:
'@use-gesture/core': 10.3.1
react: 19.3.1
- '@vitejs/plugin-react@6.1.2(babel-plugin-react-compiler@19.1.0-rc.3)(oxc-transform-react@0.154.0)(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))':
+ '@vitejs/plugin-react@6.1.2(babel-plugin-react-compiler@19.1.0-rc.3)(oxc-transform-react@0.155.0)(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))':
dependencies:
'@rolldown/pluginutils': 1.0.1
vite: 8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1)
optionalDependencies:
babel-plugin-react-compiler: 19.1.0-rc.3
- oxc-transform-react: 0.154.0
+ oxc-transform-react: 0.155.0
- '@vitest/browser-playwright@4.1.12(playwright@1.64.1)(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))(vitest@4.1.12)':
+ '@vitest/browser-playwright@4.1.12(playwright@1.64.1)(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))(vitest@4.1.12)':
dependencies:
- '@vitest/browser': 4.1.12(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))(vitest@4.1.12)
- '@vitest/mocker': 4.1.12(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
+ '@vitest/browser': 4.1.12(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))(vitest@4.1.12)
+ '@vitest/mocker': 4.1.12(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
playwright: 1.64.1
tinyrainbow: 3.1.1
- vitest: 4.1.12(@types/node@26.6.5)(@vitest/browser-playwright@4.1.12)(@vitest/ui@4.1.12)(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
+ vitest: 4.1.12(@types/node@26.6.5)(@vitest/browser-playwright@4.1.12)(@vitest/ui@4.1.12)(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
transitivePeerDependencies:
- bufferutil
- msw
- utf-8-validate
- vite
- '@vitest/browser@4.1.12(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))(vitest@4.1.12)':
+ '@vitest/browser@4.1.12(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))(vitest@4.1.12)':
dependencies:
'@blazediff/core': 1.9.1
- '@vitest/mocker': 4.1.12(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
+ '@vitest/mocker': 4.1.12(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
'@vitest/utils': 4.1.12
magic-string: 0.30.21
pngjs: 7.0.0
sirv: 3.0.2
tinyrainbow: 3.1.1
- vitest: 4.1.12(@types/node@26.6.5)(@vitest/browser-playwright@4.1.12)(@vitest/ui@4.1.12)(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
+ vitest: 4.1.12(@types/node@26.6.5)(@vitest/browser-playwright@4.1.12)(@vitest/ui@4.1.12)(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
ws: 8.21.3
transitivePeerDependencies:
- bufferutil
@@ -9174,13 +9450,13 @@ snapshots:
chai: 6.2.2
tinyrainbow: 3.1.1
- '@vitest/mocker@4.1.12(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))':
+ '@vitest/mocker@4.1.12(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))':
dependencies:
'@vitest/spy': 4.1.12
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
- vite: 8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1)
+ vite: 8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1)
'@vitest/pretty-format@4.1.12':
dependencies:
@@ -9209,7 +9485,7 @@ snapshots:
sirv: 3.0.2
tinyglobby: 0.2.17
tinyrainbow: 3.1.1
- vitest: 4.1.12(@types/node@26.6.5)(@vitest/browser-playwright@4.1.12)(@vitest/ui@4.1.12)(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
+ vitest: 4.1.12(@types/node@26.6.5)(@vitest/browser-playwright@4.1.12)(@vitest/ui@4.1.12)(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
'@vitest/utils@4.1.12':
dependencies:
@@ -9217,7 +9493,7 @@ snapshots:
convert-source-map: 2.0.0
tinyrainbow: 3.1.1
- '@zumer/snapdom@3.3.5': {}
+ '@zumer/snapdom@3.3.6': {}
accepts@2.0.0:
dependencies:
@@ -10329,7 +10605,7 @@ snapshots:
klona@2.0.6: {}
- knip@6.42.0:
+ knip@6.42.1:
dependencies:
formatly: 0.11.4
get-tsconfig: 4.14.3
@@ -10423,7 +10699,7 @@ snapshots:
dependencies:
yallist: 3.1.1
- lucide-react@1.59.0(@types/react@19.3.0)(react@19.3.1):
+ lucide-react@1.61.0(@types/react@19.3.0)(react@19.3.1):
dependencies:
react: 19.3.1
optionalDependencies:
@@ -10537,7 +10813,7 @@ snapshots:
media-typer@1.1.0: {}
- mediabunny@1.61.6:
+ mediabunny@1.62.0:
dependencies:
'@types/dom-mediacapture-transform': 0.1.12
'@types/dom-webcodecs': 0.1.13
@@ -10856,6 +11132,30 @@ snapshots:
'@oxc-parser/binding-win32-ia32-msvc': 0.154.0
'@oxc-parser/binding-win32-x64-msvc': 0.154.0
+ oxc-parser@0.155.0:
+ dependencies:
+ '@oxc-project/types': 0.155.0
+ optionalDependencies:
+ '@oxc-parser/binding-android-arm-eabi': 0.155.0
+ '@oxc-parser/binding-android-arm64': 0.155.0
+ '@oxc-parser/binding-darwin-arm64': 0.155.0
+ '@oxc-parser/binding-darwin-x64': 0.155.0
+ '@oxc-parser/binding-freebsd-x64': 0.155.0
+ '@oxc-parser/binding-linux-arm-gnueabihf': 0.155.0
+ '@oxc-parser/binding-linux-arm-musleabihf': 0.155.0
+ '@oxc-parser/binding-linux-arm64-gnu': 0.155.0
+ '@oxc-parser/binding-linux-arm64-musl': 0.155.0
+ '@oxc-parser/binding-linux-ppc64-gnu': 0.155.0
+ '@oxc-parser/binding-linux-riscv64-gnu': 0.155.0
+ '@oxc-parser/binding-linux-riscv64-musl': 0.155.0
+ '@oxc-parser/binding-linux-s390x-gnu': 0.155.0
+ '@oxc-parser/binding-linux-x64-gnu': 0.155.0
+ '@oxc-parser/binding-linux-x64-musl': 0.155.0
+ '@oxc-parser/binding-openharmony-arm64': 0.155.0
+ '@oxc-parser/binding-win32-arm64-msvc': 0.155.0
+ '@oxc-parser/binding-win32-ia32-msvc': 0.155.0
+ '@oxc-parser/binding-win32-x64-msvc': 0.155.0
+
oxc-resolver@11.24.2:
optionalDependencies:
'@oxc-resolver/binding-android-arm-eabi': 11.24.2
@@ -10878,27 +11178,27 @@ snapshots:
'@oxc-resolver/binding-win32-arm64-msvc': 11.24.2
'@oxc-resolver/binding-win32-x64-msvc': 11.24.2
- oxc-transform-react@0.154.0:
+ oxc-transform-react@0.155.0:
optionalDependencies:
- '@oxc-transform-react/binding-android-arm-eabi': 0.154.0
- '@oxc-transform-react/binding-android-arm64': 0.154.0
- '@oxc-transform-react/binding-darwin-arm64': 0.154.0
- '@oxc-transform-react/binding-darwin-x64': 0.154.0
- '@oxc-transform-react/binding-freebsd-x64': 0.154.0
- '@oxc-transform-react/binding-linux-arm-gnueabihf': 0.154.0
- '@oxc-transform-react/binding-linux-arm-musleabihf': 0.154.0
- '@oxc-transform-react/binding-linux-arm64-gnu': 0.154.0
- '@oxc-transform-react/binding-linux-arm64-musl': 0.154.0
- '@oxc-transform-react/binding-linux-ppc64-gnu': 0.154.0
- '@oxc-transform-react/binding-linux-riscv64-gnu': 0.154.0
- '@oxc-transform-react/binding-linux-riscv64-musl': 0.154.0
- '@oxc-transform-react/binding-linux-s390x-gnu': 0.154.0
- '@oxc-transform-react/binding-linux-x64-gnu': 0.154.0
- '@oxc-transform-react/binding-linux-x64-musl': 0.154.0
- '@oxc-transform-react/binding-openharmony-arm64': 0.154.0
- '@oxc-transform-react/binding-win32-arm64-msvc': 0.154.0
- '@oxc-transform-react/binding-win32-ia32-msvc': 0.154.0
- '@oxc-transform-react/binding-win32-x64-msvc': 0.154.0
+ '@oxc-transform-react/binding-android-arm-eabi': 0.155.0
+ '@oxc-transform-react/binding-android-arm64': 0.155.0
+ '@oxc-transform-react/binding-darwin-arm64': 0.155.0
+ '@oxc-transform-react/binding-darwin-x64': 0.155.0
+ '@oxc-transform-react/binding-freebsd-x64': 0.155.0
+ '@oxc-transform-react/binding-linux-arm-gnueabihf': 0.155.0
+ '@oxc-transform-react/binding-linux-arm-musleabihf': 0.155.0
+ '@oxc-transform-react/binding-linux-arm64-gnu': 0.155.0
+ '@oxc-transform-react/binding-linux-arm64-musl': 0.155.0
+ '@oxc-transform-react/binding-linux-ppc64-gnu': 0.155.0
+ '@oxc-transform-react/binding-linux-riscv64-gnu': 0.155.0
+ '@oxc-transform-react/binding-linux-riscv64-musl': 0.155.0
+ '@oxc-transform-react/binding-linux-s390x-gnu': 0.155.0
+ '@oxc-transform-react/binding-linux-x64-gnu': 0.155.0
+ '@oxc-transform-react/binding-linux-x64-musl': 0.155.0
+ '@oxc-transform-react/binding-openharmony-arm64': 0.155.0
+ '@oxc-transform-react/binding-win32-arm64-msvc': 0.155.0
+ '@oxc-transform-react/binding-win32-ia32-msvc': 0.155.0
+ '@oxc-transform-react/binding-win32-x64-msvc': 0.155.0
p-limit@7.3.3:
dependencies:
@@ -11191,12 +11491,14 @@ snapshots:
optionalDependencies:
'@types/react': 19.3.0
- react-router@8.4.0(patch_hash=8766c47037353be5fb0423327845e28b7f5beb034974edd695141746dc83fb4f)(react-dom@19.3.1(react@19.3.1))(react@19.3.1):
+ react-router@8.5.0(patch_hash=2417a0747ce60b20aae5bfa4fb330c726e6a3fadd59ad660467a617e33f48f7b)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1):
dependencies:
'@remix-run/route-pattern': 0.22.1
cookie-es: 3.1.1
react: 19.3.1
optionalDependencies:
+ '@types/react': 19.3.0
+ '@types/react-dom': 19.3.0(@types/react@19.3.0)
react-dom: 19.3.1(react@19.3.1)
react-style-singleton@2.2.3(@types/react@19.3.0)(react@19.3.1):
@@ -11240,7 +11542,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- remeda@2.52.0: {}
+ remeda@2.53.0: {}
remix-auth-oauth2@3.4.1(remix-auth@4.2.0):
dependencies:
@@ -11789,10 +12091,10 @@ snapshots:
- tsx
- yaml
- vite-plugin-babel@1.7.3(@babel/core@7.29.7)(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1)):
+ vite-plugin-babel@1.7.3(@babel/core@7.29.7)(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1)):
dependencies:
'@babel/core': 7.29.7
- vite: 8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1)
+ vite: 8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1)
vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1):
dependencies:
@@ -11807,6 +12109,19 @@ snapshots:
jiti: 2.7.0
yaml: 2.9.1
+ vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1):
+ dependencies:
+ lightningcss: 1.33.0
+ picomatch: 4.0.7
+ postcss: 8.5.31
+ rolldown: 1.2.14
+ tinyglobby: 0.2.17
+ optionalDependencies:
+ '@types/node': 26.6.5
+ fsevents: 2.3.3
+ jiti: 2.7.0
+ yaml: 2.9.1
+
vitefu@1.1.3(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1)):
optionalDependencies:
vite: 8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1)
@@ -11815,15 +12130,15 @@ snapshots:
dependencies:
react: 19.3.1
react-dom: 19.3.1(react@19.3.1)
- vitest: 4.1.12(@types/node@26.6.5)(@vitest/browser-playwright@4.1.12)(@vitest/ui@4.1.12)(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
+ vitest: 4.1.12(@types/node@26.6.5)(@vitest/browser-playwright@4.1.12)(@vitest/ui@4.1.12)(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
optionalDependencies:
'@types/react': 19.3.0
'@types/react-dom': 19.3.0(@types/react@19.3.0)
- vitest@4.1.12(@types/node@26.6.5)(@vitest/browser-playwright@4.1.12)(@vitest/ui@4.1.12)(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1)):
+ vitest@4.1.12(@types/node@26.6.5)(@vitest/browser-playwright@4.1.12)(@vitest/ui@4.1.12)(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1)):
dependencies:
'@vitest/expect': 4.1.12
- '@vitest/mocker': 4.1.12(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
+ '@vitest/mocker': 4.1.12(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))
'@vitest/pretty-format': 4.1.12
'@vitest/runner': 4.1.12
'@vitest/snapshot': 4.1.12
@@ -11840,11 +12155,11 @@ snapshots:
tinyexec: 1.3.1
tinyglobby: 0.2.17
tinyrainbow: 3.1.1
- vite: 8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1)
+ vite: 8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 26.6.5
- '@vitest/browser-playwright': 4.1.12(playwright@1.64.1)(vite@8.3.4(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))(vitest@4.1.12)
+ '@vitest/browser-playwright': 4.1.12(playwright@1.64.1)(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(yaml@2.9.1))(vitest@4.1.12)
'@vitest/ui': 4.1.12(vitest@4.1.12)
transitivePeerDependencies:
- msw
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 33938d561..5a20d3218 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -8,4 +8,4 @@ patchedDependencies:
i18next@26.3.6: patches/i18next@26.3.6.patch
kysely@0.29.0: patches/kysely@0.29.0.patch
react-i18next@17.0.11: patches/react-i18next@17.0.11.patch
- react-router@8.4.0: patches/react-router@8.4.0.patch
+ react-router@8.5.0: patches/react-router@8.5.0.patch
diff --git a/scripts/living-docs/env-vars.ts b/scripts/living-docs/env-vars.ts
index 01b14a2db..59e5a2712 100644
--- a/scripts/living-docs/env-vars.ts
+++ b/scripts/living-docs/env-vars.ts
@@ -131,7 +131,7 @@ export function documentEnvVars(): EnvVar[] {
const names = [
...examples.keys(),
...schemas.keys(),
- ...[...reads.keys()].sort(),
+ ...[...reads.keys()].sort((a, b) => a.localeCompare(b)),
];
return [...new Set(names)].map((name) => {
diff --git a/scripts/living-docs/permissions.ts b/scripts/living-docs/permissions.ts
index 3292f4ab2..d24d9db7a 100644
--- a/scripts/living-docs/permissions.ts
+++ b/scripts/living-docs/permissions.ts
@@ -264,7 +264,9 @@ function assignObjects(grants: PermissionGrant[]) {
}
function namesOf(grants: PermissionGrant[]) {
- return [...new Set(grants.map((grant) => grant.name))].sort().join(",");
+ return [...new Set(grants.map((grant) => grant.name))]
+ .sort((a, b) => a.localeCompare(b))
+ .join(",");
}
/**
diff --git a/scripts/living-docs/published-screenshots.ts b/scripts/living-docs/published-screenshots.ts
index fb6c1b59a..4cb61034a 100644
--- a/scripts/living-docs/published-screenshots.ts
+++ b/scripts/living-docs/published-screenshots.ts
@@ -69,7 +69,9 @@ async function publish() {
if (entry?.specHash === specHash) {
manifest[dir] = {
specHash,
- files: [...new Set([...entry.files, ...files])].sort(),
+ files: [...new Set([...entry.files, ...files])].sort((a, b) =>
+ a.localeCompare(b),
+ ),
};
} else {
manifest[dir] = { specHash, files };
diff --git a/scripts/living-docs/repositories.ts b/scripts/living-docs/repositories.ts
index 9a7be6017..a19b23581 100644
--- a/scripts/living-docs/repositories.ts
+++ b/scripts/living-docs/repositories.ts
@@ -82,6 +82,6 @@ export function documentRepository(
exported.calls.map((call) => call.repository),
),
),
- ].sort(),
+ ].sort((a, b) => a.localeCompare(b)),
};
}
diff --git a/scripts/scanner/build-localized-entries.ts b/scripts/scanner/build-localized-entries.ts
index 9ad63d9ce..104507e22 100644
--- a/scripts/scanner/build-localized-entries.ts
+++ b/scripts/scanner/build-localized-entries.ts
@@ -120,7 +120,7 @@ const languages = [
.filter((f) => f.endsWith("_full.json"))
.map((f) => f.replace("_full.json", "")),
),
-].sort();
+].sort((a, b) => a.localeCompare(b));
if (!languages.includes(CANONICAL_LANG)) {
throw new Error(
`canonical language ${CANONICAL_LANG} not found in ${LANG_DIR}`,