diff --git a/client.tsx b/client.tsx index 608c2c0..99a4936 100644 --- a/client.tsx +++ b/client.tsx @@ -180,18 +180,25 @@ export function lazy< : undefined; if (typeof boundaryOrFactory !== "string") factory = boundaryOrFactory; return reactLazy(async () => { - const { default: Component, ErrorFallback, boundary: boundaryOverride } = - await factory!(); - const errorBoundaryProps = { - FallbackComponent: ErrorFallback, - } as ErrorBoundaryProps; - if (boundaryOverride) boundary = boundaryOverride; - if (boundary) errorBoundaryProps.boundary = boundaryOverride ?? boundary; + try { + const { default: Component, ErrorFallback, boundary: boundaryOverride } = + await factory!(); + const errorBoundaryProps = { + FallbackComponent: ErrorFallback, + } as ErrorBoundaryProps; + if (boundaryOverride) boundary = boundaryOverride; + if (boundary) errorBoundaryProps.boundary = boundaryOverride ?? boundary; - return { - default: errorBoundaryProps.FallbackComponent - ? withErrorBoundary(Component, errorBoundaryProps) - : Component, - }; + return { + default: errorBoundaryProps.FallbackComponent + ? withErrorBoundary(Component, errorBoundaryProps) + : Component, + }; + } catch (error) { + const log = getLogger(); + log.error("Error loading component", error, { boundary }); + window.location.reload(); + throw error; + } }); } diff --git a/deno.jsonc b/deno.jsonc index 574f05d..81412b2 100644 --- a/deno.jsonc +++ b/deno.jsonc @@ -84,7 +84,7 @@ "@std/fs": "jsr:@std/fs@0", "@std/log": "jsr:@std/log@0", "@std/path": "jsr:@std/path@1", - "@std/testing": "jsr:@std/testing@0", + "@std/testing": "jsr:@std/testing@1", "esbuild": "npm:esbuild@0.20", "react": "npm:react@18", "@types/react": "npm:@types/react@18", diff --git a/deno.lock b/deno.lock index 438fcd8..908367d 100644 --- a/deno.lock +++ b/deno.lock @@ -7,11 +7,11 @@ "jsr:@oak/oak@16": "jsr:@oak/oak@16.1.0", "jsr:@std/assert@0.223": "jsr:@std/assert@0.223.0", "jsr:@std/assert@0.226": "jsr:@std/assert@0.226.0", - "jsr:@std/assert@1": "jsr:@std/assert@1.0.0", + "jsr:@std/assert@1": "jsr:@std/assert@1.0.2", "jsr:@std/assert@^0.213.1": "jsr:@std/assert@0.213.1", "jsr:@std/assert@^0.223.0": "jsr:@std/assert@0.223.0", "jsr:@std/assert@^0.224.0": "jsr:@std/assert@0.224.0", - "jsr:@std/async@1": "jsr:@std/async@1.0.0", + "jsr:@std/async@1": "jsr:@std/async@1.0.2", "jsr:@std/bytes@0.223": "jsr:@std/bytes@0.223.0", "jsr:@std/bytes@0.224": "jsr:@std/bytes@0.224.0", "jsr:@std/bytes@^0.223.0": "jsr:@std/bytes@0.223.0", @@ -20,15 +20,15 @@ "jsr:@std/encoding@0.213": "jsr:@std/encoding@0.213.1", "jsr:@std/encoding@1.0.0-rc.2": "jsr:@std/encoding@1.0.0-rc.2", "jsr:@std/encoding@^0.223.0": "jsr:@std/encoding@0.223.0", - "jsr:@std/fmt@^1.0.0-rc.1": "jsr:@std/fmt@1.0.0-rc.1", + "jsr:@std/fmt@^1.0.0-rc.1": "jsr:@std/fmt@1.0.0", "jsr:@std/fs@0": "jsr:@std/fs@0.229.3", - "jsr:@std/fs@^1.0.0-rc.5": "jsr:@std/fs@1.0.0-rc.6", + "jsr:@std/fs@^1.0.0-rc.5": "jsr:@std/fs@1.0.1", "jsr:@std/http@0": "jsr:@std/http@0.224.5", "jsr:@std/http@0.223": "jsr:@std/http@0.223.0", "jsr:@std/http@0.224": "jsr:@std/http@0.224.5", "jsr:@std/internal@^1.0.1": "jsr:@std/internal@1.0.1", "jsr:@std/io@0.223": "jsr:@std/io@0.223.0", - "jsr:@std/io@^0.224.3": "jsr:@std/io@0.224.3", + "jsr:@std/io@^0.224.3": "jsr:@std/io@0.224.4", "jsr:@std/json@^0.213.1": "jsr:@std/json@0.213.1", "jsr:@std/jsonc@0.213": "jsr:@std/jsonc@0.213.1", "jsr:@std/log@0": "jsr:@std/log@0.224.5", @@ -36,10 +36,10 @@ "jsr:@std/media-types@0.224": "jsr:@std/media-types@0.224.1", "jsr:@std/path@0.213": "jsr:@std/path@0.213.1", "jsr:@std/path@0.223": "jsr:@std/path@0.223.0", - "jsr:@std/path@1": "jsr:@std/path@1.0.1", + "jsr:@std/path@1": "jsr:@std/path@1.0.2", "jsr:@std/path@1.0.0-rc.1": "jsr:@std/path@1.0.0-rc.1", - "jsr:@std/testing@0": "jsr:@std/testing@0.225.3", - "jsr:@udibo/http-error@0": "jsr:@udibo/http-error@0.8.1", + "jsr:@std/testing@1": "jsr:@std/testing@1.0.0", + "jsr:@udibo/http-error@0": "jsr:@udibo/http-error@0.8.2", "npm:@testing-library/react@16": "npm:@testing-library/react@16.0.0_@testing-library+dom@10.4.0_@types+react@18.3.3_react@18.3.1_react-dom@18.3.1__react@18.3.1", "npm:@types/node": "npm:@types/node@18.16.19", "npm:@types/react@18": "npm:@types/react@18.3.3", @@ -98,14 +98,17 @@ "@std/assert@0.226.0": { "integrity": "0dfb5f7c7723c18cec118e080fec76ce15b4c31154b15ad2bd74822603ef75b3" }, - "@std/assert@1.0.0": { - "integrity": "0e4f6d873f7f35e2a1e6194ceee39686c996b9e5d134948e644d35d4c4df2008", + "@std/assert@1.0.2": { + "integrity": "ccacec332958126deaceb5c63ff8b4eaf9f5ed0eac9feccf124110435e59e49c", "dependencies": [ "jsr:@std/internal@^1.0.1" ] }, - "@std/async@1.0.0": { - "integrity": "19891d4540cd3af5efd1d7b1f0e92f6ca365e51edc263fbc077334173878e528" + "@std/async@1.0.1": { + "integrity": "3c7f6324a8a1b47ca657e5a349b511c9a6c2c0729e9d66b223c9ecaac0753ecb" + }, + "@std/async@1.0.2": { + "integrity": "36e7f0f922c843b45df546857d269f01ed4d0406aced2a6639eac325b2435e43" }, "@std/bytes@0.223.0": { "integrity": "84b75052cd8680942c397c2631318772b295019098f40aac5c36cead4cba51a8" @@ -135,6 +138,9 @@ "@std/encoding@1.0.0-rc.2": { "integrity": "160d7674a20ebfbccdf610b3801fee91cf6e42d1c106dd46bbaf46e395cd35ef" }, + "@std/fmt@1.0.0": { + "integrity": "8a95c9fdbb61559418ccbc0f536080cf43341655e1444f9d375a66886ceaaa3d" + }, "@std/fmt@1.0.0-rc.1": { "integrity": "3dbbd12f1704c62b5bd33c9ff928c8df47cd5c75f6637201a8c21298b28e43bc" }, @@ -144,8 +150,11 @@ "jsr:@std/path@1.0.0-rc.1" ] }, - "@std/fs@1.0.0-rc.6": { - "integrity": "289d4844694b016b15a3d9e7559f5a7ad47c8a5ef83e612a35629ae217f6ebf6" + "@std/fs@1.0.0": { + "integrity": "d72e4a125af7168d717a2ed1dca77a728b422b0d138fd20579e3fa41a77da943" + }, + "@std/fs@1.0.1": { + "integrity": "d6914ca2c21abe591f733b31dbe6331e446815e513e2451b3b9e472daddfefcb" }, "@std/http@0.223.0": { "integrity": "15ab8a0c5a7e9d5be017a15b01600f20f66602ceec48b378939fa24fcec522aa", @@ -172,6 +181,9 @@ "@std/io@0.224.3": { "integrity": "b402edeb99c6b3778d9ae3e9927bc9085b170b41e5a09bbb7064ab2ee394ae2f" }, + "@std/io@0.224.4": { + "integrity": "bce1151765e4e70e376039fd72c71672b4d4aae363878a5ee3e58361b81197ec" + }, "@std/json@0.213.1": { "integrity": "f572b1de605d07c4a5602445dac54bfc51b1fb87a3710a17aed2608bfca54e68" }, @@ -211,14 +223,14 @@ "@std/path@1.0.0-rc.1": { "integrity": "b8c00ae2f19106a6bb7cbf1ab9be52aa70de1605daeb2dbdc4f87a7cbaf10ff6" }, - "@std/path@1.0.1": { - "integrity": "e061ff02c28481ca49e3a14981875c345e9fc7e973190672782cd0ac8af70428" + "@std/path@1.0.2": { + "integrity": "a452174603f8c620bd278a380c596437a9eef50c891c64b85812f735245d9ec7" }, - "@std/testing@0.225.3": { - "integrity": "348c24d0479d44ab3dbb4f26170f242e19f24051b45935d4a9e7ca0ab7e37780" + "@std/testing@1.0.0": { + "integrity": "27cfc06392c69c2acffe54e6d0bcb5f961cf193f519255372bd4fff1481bfef8" }, - "@udibo/http-error@0.8.1": { - "integrity": "64335fa00fff2fb41aef18b046926d6ba965c55f16d9bfe7e25ac338ae4e0713", + "@udibo/http-error@0.8.2": { + "integrity": "db400c3d169f308b64b7349875b164562f947eb08a9079d3a1da41f53e034907", "dependencies": [ "jsr:@std/http@0" ] @@ -890,7 +902,7 @@ "jsr:@std/fs@0", "jsr:@std/log@0", "jsr:@std/path@1", - "jsr:@std/testing@0", + "jsr:@std/testing@1", "jsr:@udibo/http-error@0", "npm:@tanstack/query@5", "npm:@testing-library/react@16", diff --git a/example/deno.jsonc b/example/deno.jsonc index 09290cf..b4afe5a 100644 --- a/example/deno.jsonc +++ b/example/deno.jsonc @@ -56,7 +56,7 @@ "@std/fs": "jsr:@std/fs@0", "@std/log": "jsr:@std/log@0", "@std/path": "jsr:@std/path@1", - "@std/testing": "jsr:@std/testing@0", + "@std/testing": "jsr:@std/testing@1", "esbuild": "npm:esbuild@0.20", "react": "npm:react@18", "@types/react": "npm:@types/react@18", diff --git a/example/deno.lock b/example/deno.lock index 1e05a3d..27426fd 100644 --- a/example/deno.lock +++ b/example/deno.lock @@ -16,7 +16,7 @@ "jsr:@std/encoding@1.0.0-rc.2": "jsr:@std/encoding@1.0.0-rc.2", "jsr:@std/encoding@^0.223.0": "jsr:@std/encoding@0.223.0", "jsr:@std/fmt@^1.0.0-rc.1": "jsr:@std/fmt@1.0.0-rc.1", - "jsr:@std/fs@^1.0.0-rc.5": "jsr:@std/fs@1.0.0-rc.6", + "jsr:@std/fs@^1.0.0-rc.5": "jsr:@std/fs@1.0.0", "jsr:@std/http@0": "jsr:@std/http@0.224.5", "jsr:@std/http@0.223": "jsr:@std/http@0.223.0", "jsr:@std/http@0.224": "jsr:@std/http@0.224.5", @@ -26,9 +26,8 @@ "jsr:@std/media-types@0.223": "jsr:@std/media-types@0.223.0", "jsr:@std/media-types@0.224": "jsr:@std/media-types@0.224.1", "jsr:@std/path@0.223": "jsr:@std/path@0.223.0", - "jsr:@std/path@1": "jsr:@std/path@1.0.1", - "jsr:@udibo/http-error@0": "jsr:@udibo/http-error@0.8.1", - "npm:@testing-library/react@16": "npm:@testing-library/react@16.0.0_@testing-library+dom@10.4.0_@types+react@18.3.3_react@18.3.1_react-dom@18.3.1__react@18.3.1", + "jsr:@std/path@1": "jsr:@std/path@1.0.2", + "jsr:@udibo/http-error@0": "jsr:@udibo/http-error@0.8.2", "npm:@types/react@18": "npm:@types/react@18.3.3", "npm:path-to-regexp@6.2.1": "npm:path-to-regexp@6.2.1", "npm:react-dom@18": "npm:react-dom@18.3.1_react@18.3.1", @@ -104,8 +103,8 @@ "@std/fmt@1.0.0-rc.1": { "integrity": "3dbbd12f1704c62b5bd33c9ff928c8df47cd5c75f6637201a8c21298b28e43bc" }, - "@std/fs@1.0.0-rc.6": { - "integrity": "289d4844694b016b15a3d9e7559f5a7ad47c8a5ef83e612a35629ae217f6ebf6" + "@std/fs@1.0.0": { + "integrity": "d72e4a125af7168d717a2ed1dca77a728b422b0d138fd20579e3fa41a77da943" }, "@std/http@0.223.0": { "integrity": "15ab8a0c5a7e9d5be017a15b01600f20f66602ceec48b378939fa24fcec522aa", @@ -149,37 +148,17 @@ "jsr:@std/assert@^0.223.0" ] }, - "@std/path@1.0.1": { - "integrity": "e061ff02c28481ca49e3a14981875c345e9fc7e973190672782cd0ac8af70428" + "@std/path@1.0.2": { + "integrity": "a452174603f8c620bd278a380c596437a9eef50c891c64b85812f735245d9ec7" }, - "@udibo/http-error@0.8.1": { - "integrity": "64335fa00fff2fb41aef18b046926d6ba965c55f16d9bfe7e25ac338ae4e0713", + "@udibo/http-error@0.8.2": { + "integrity": "db400c3d169f308b64b7349875b164562f947eb08a9079d3a1da41f53e034907", "dependencies": [ "jsr:@std/http@0" ] } }, "npm": { - "@babel/code-frame@7.24.7": { - "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", - "dependencies": { - "@babel/highlight": "@babel/highlight@7.24.7", - "picocolors": "picocolors@1.0.1" - } - }, - "@babel/helper-validator-identifier@7.24.7": { - "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", - "dependencies": {} - }, - "@babel/highlight@7.24.7": { - "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", - "dependencies": { - "@babel/helper-validator-identifier": "@babel/helper-validator-identifier@7.24.7", - "chalk": "chalk@2.4.2", - "js-tokens": "js-tokens@4.0.0", - "picocolors": "picocolors@1.0.1" - } - }, "@babel/runtime@7.24.7": { "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", "dependencies": { @@ -190,33 +169,6 @@ "integrity": "sha512-2D6XaHEVvkCn682XBnipbJjgZUU7xjLtA4dGJRBVUKpEaDYOZMENZoZjAOSb7qirxt5RupjzZxz4fK2FO+EFPw==", "dependencies": {} }, - "@testing-library/dom@10.4.0": { - "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", - "dependencies": { - "@babel/code-frame": "@babel/code-frame@7.24.7", - "@babel/runtime": "@babel/runtime@7.24.7", - "@types/aria-query": "@types/aria-query@5.0.4", - "aria-query": "aria-query@5.3.0", - "chalk": "chalk@4.1.2", - "dom-accessibility-api": "dom-accessibility-api@0.5.16", - "lz-string": "lz-string@1.5.0", - "pretty-format": "pretty-format@27.5.1" - } - }, - "@testing-library/react@16.0.0_@testing-library+dom@10.4.0_@types+react@18.3.3_react@18.3.1_react-dom@18.3.1__react@18.3.1": { - "integrity": "sha512-guuxUKRWQ+FgNX0h0NS0FIq3Q3uLtWVpBzcLOggmfMoUpgBnzBzvLLd4fbm6yS8ydJd94cIfY4yP9qUQjM2KwQ==", - "dependencies": { - "@babel/runtime": "@babel/runtime@7.24.7", - "@testing-library/dom": "@testing-library/dom@10.4.0", - "@types/react": "@types/react@18.3.3", - "react": "react@18.3.1", - "react-dom": "react-dom@18.3.1_react@18.3.1" - } - }, - "@types/aria-query@5.0.4": { - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dependencies": {} - }, "@types/prop-types@15.7.12": { "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", "dependencies": {} @@ -228,91 +180,10 @@ "csstype": "csstype@3.1.3" } }, - "ansi-regex@5.0.1": { - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dependencies": {} - }, - "ansi-styles@3.2.1": { - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "color-convert@1.9.3" - } - }, - "ansi-styles@4.3.0": { - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "color-convert@2.0.1" - } - }, - "ansi-styles@5.2.0": { - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dependencies": {} - }, - "aria-query@5.3.0": { - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dependencies": { - "dequal": "dequal@2.0.3" - } - }, - "chalk@2.4.2": { - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "ansi-styles@3.2.1", - "escape-string-regexp": "escape-string-regexp@1.0.5", - "supports-color": "supports-color@5.5.0" - } - }, - "chalk@4.1.2": { - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "ansi-styles@4.3.0", - "supports-color": "supports-color@7.2.0" - } - }, - "color-convert@1.9.3": { - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "color-name@1.1.3" - } - }, - "color-convert@2.0.1": { - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "color-name@1.1.4" - } - }, - "color-name@1.1.3": { - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dependencies": {} - }, - "color-name@1.1.4": { - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dependencies": {} - }, "csstype@3.1.3": { "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "dependencies": {} }, - "dequal@2.0.3": { - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dependencies": {} - }, - "dom-accessibility-api@0.5.16": { - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dependencies": {} - }, - "escape-string-regexp@1.0.5": { - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dependencies": {} - }, - "has-flag@3.0.0": { - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dependencies": {} - }, - "has-flag@4.0.0": { - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dependencies": {} - }, "invariant@2.2.4": { "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dependencies": { @@ -329,26 +200,10 @@ "js-tokens": "js-tokens@4.0.0" } }, - "lz-string@1.5.0": { - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dependencies": {} - }, "path-to-regexp@6.2.1": { "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==", "dependencies": {} }, - "picocolors@1.0.1": { - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", - "dependencies": {} - }, - "pretty-format@27.5.1": { - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dependencies": { - "ansi-regex": "ansi-regex@5.0.1", - "ansi-styles": "ansi-styles@5.2.0", - "react-is": "react-is@17.0.2" - } - }, "randombytes@2.1.0": { "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dependencies": { @@ -383,10 +238,6 @@ "shallowequal": "shallowequal@1.1.0" } }, - "react-is@17.0.2": { - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dependencies": {} - }, "react-router-dom@6.24.0_react@18.3.1_react-dom@18.3.1__react@18.3.1": { "integrity": "sha512-960sKuau6/yEwS8e+NVEidYQb1hNjAYM327gjEyXlc6r3Skf2vtwuJ2l7lssdegD2YjoKG5l8MsVyeTDlVeY8g==", "dependencies": { @@ -432,18 +283,6 @@ "shallowequal@1.1.0": { "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", "dependencies": {} - }, - "supports-color@5.5.0": { - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "has-flag@3.0.0" - } - }, - "supports-color@7.2.0": { - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "has-flag@4.0.0" - } } } }, @@ -457,8 +296,9 @@ "jsr:@std/fs@0", "jsr:@std/log@0", "jsr:@std/path@1", - "jsr:@std/testing@0", + "jsr:@std/testing@1", "jsr:@udibo/http-error@0", + "npm:@tanstack/query@5", "npm:@testing-library/react@16", "npm:@types/react@18", "npm:esbuild@0.20",