From 8662be6ea90a2e273cc2f71c7be161159a4e5878 Mon Sep 17 00:00:00 2001 From: productdevbook Date: Mon, 10 Nov 2025 16:30:30 +0300 Subject: [PATCH 01/10] feat: add Vite Nitro DevTools example with quotes API integration - Created index.html for the frontend interface. - Added nitro.config.ts for Nitro configuration. - Set up package.json with necessary dependencies and scripts. - Implemented quote fetching logic in routes/quote.ts from a remote JSON source. - Configured TypeScript settings in tsconfig.json. - Established Vite configuration in vite.config.ts with Nitro and DevTools plugins. --- examples/vite-nitro-devtools/index.html | 13 + examples/vite-nitro-devtools/nitro.config.ts | 6 + examples/vite-nitro-devtools/package.json | 15 + examples/vite-nitro-devtools/routes/quote.ts | 19 + examples/vite-nitro-devtools/tsconfig.json | 3 + examples/vite-nitro-devtools/vite.config.ts | 17 + pnpm-lock.yaml | 669 +++++++++++++++++++ 7 files changed, 742 insertions(+) create mode 100644 examples/vite-nitro-devtools/index.html create mode 100644 examples/vite-nitro-devtools/nitro.config.ts create mode 100644 examples/vite-nitro-devtools/package.json create mode 100644 examples/vite-nitro-devtools/routes/quote.ts create mode 100644 examples/vite-nitro-devtools/tsconfig.json create mode 100644 examples/vite-nitro-devtools/vite.config.ts diff --git a/examples/vite-nitro-devtools/index.html b/examples/vite-nitro-devtools/index.html new file mode 100644 index 0000000000..da06091230 --- /dev/null +++ b/examples/vite-nitro-devtools/index.html @@ -0,0 +1,13 @@ + + + + + + Nitro Quotes + + + test + + diff --git a/examples/vite-nitro-devtools/nitro.config.ts b/examples/vite-nitro-devtools/nitro.config.ts new file mode 100644 index 0000000000..6ae54674d9 --- /dev/null +++ b/examples/vite-nitro-devtools/nitro.config.ts @@ -0,0 +1,6 @@ +import { defineConfig } from "nitro"; + +export default defineConfig({ + // preset: "standard", + // minify: true, +}); diff --git a/examples/vite-nitro-devtools/package.json b/examples/vite-nitro-devtools/package.json new file mode 100644 index 0000000000..439acd5ddd --- /dev/null +++ b/examples/vite-nitro-devtools/package.json @@ -0,0 +1,15 @@ +{ + "name": "nitro-playground", + "version": "1.0.0", + "type": "module", + "scripts": { + "build": "vite build", + "dev": "vite dev", + "preview": "vite preview" + }, + "devDependencies": { + "@vitejs/devtools": "0.0.0-alpha.16", + "nitro": "latest", + "vite": "npm:rolldown-vite" + } +} diff --git a/examples/vite-nitro-devtools/routes/quote.ts b/examples/vite-nitro-devtools/routes/quote.ts new file mode 100644 index 0000000000..c012a48bdb --- /dev/null +++ b/examples/vite-nitro-devtools/routes/quote.ts @@ -0,0 +1,19 @@ +const QUOTES_URL = + "https://github.com/JamesFT/Database-Quotes-JSON/raw/refs/heads/master/quotes.json"; + +let _quotes: Promise | undefined; + +function getQuotes() { + return (_quotes ??= fetch(QUOTES_URL).then((res) => res.json())) as Promise< + { quoteText: string; quoteAuthor: string }[] + >; +} + +export default async function quotesHandler() { + const quotes = await getQuotes(); + const randomQuote = quotes[Math.floor(Math.random() * quotes.length)]; + return Response.json({ + text: randomQuote.quoteText, + author: randomQuote.quoteAuthor, + }); +} diff --git a/examples/vite-nitro-devtools/tsconfig.json b/examples/vite-nitro-devtools/tsconfig.json new file mode 100644 index 0000000000..4b886bd47e --- /dev/null +++ b/examples/vite-nitro-devtools/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "nitro/tsconfig" +} diff --git a/examples/vite-nitro-devtools/vite.config.ts b/examples/vite-nitro-devtools/vite.config.ts new file mode 100644 index 0000000000..5cf3c182cd --- /dev/null +++ b/examples/vite-nitro-devtools/vite.config.ts @@ -0,0 +1,17 @@ +import { defineConfig } from "vite"; +import { nitro } from "nitro/vite"; +// https://deploy-preview-127--vite-devtools.netlify.app/guide/ +import { DevTools } from '@vitejs/devtools' + +export default defineConfig({ + plugins: [ + DevTools(), + nitro(), + ], + nitro: { serverDir: "./" }, + build: { + rolldownOptions: { + debug: {}, // enable debug mode + }, + }, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 190aef5623..5b9aefb3f5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -446,6 +446,18 @@ importers: specifier: link:../.. version: link:../.. + examples/vite-nitro-devtools: + devDependencies: + '@vitejs/devtools': + specifier: 0.0.0-alpha.16 + version: 0.0.0-alpha.16(@azure/identity@4.13.0)(@pnpm/logger@1001.0.1)(db0@0.3.4)(rolldown-vite@7.2.2(@types/node@24.10.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)) + nitro: + specifier: link:../.. + version: link:../.. + vite: + specifier: npm:rolldown-vite + version: rolldown-vite@7.2.2(@types/node@24.10.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1) + examples/vite-nitro-plugin: devDependencies: nitro: @@ -1447,6 +1459,10 @@ packages: '@floating-ui/vue@1.1.9': resolution: {integrity: sha512-BfNqNW6KA83Nexspgb9DZuz578R7HT8MZw1CfK9I6Ah4QReNWEJsXWHN+SdmOVLNGmTPDi+fDT535Df5PzMLbQ==} + '@gwhitney/detect-indent@7.0.1': + resolution: {integrity: sha512-7bQW+gkKa2kKZPeJf6+c6gFK9ARxQfn+FKy9ScTBppyKRWH2KzsmweXUoklqeEiHiNVWaeP5csIdsNq6w7QhzA==} + engines: {node: '>=12.20'} + '@hapi/hoek@9.3.0': resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} @@ -2092,6 +2108,34 @@ packages: resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} engines: {node: '>=12.22.0'} + '@pnpm/constants@1001.3.1': + resolution: {integrity: sha512-2hf0s4pVrVEH8RvdJJ7YRKjQdiG8m0iAT26TTqXnCbK30kKwJW69VLmP5tED5zstmDRXcOeH5eRcrpkdwczQ9g==} + engines: {node: '>=18.12'} + + '@pnpm/core-loggers@1001.0.5': + resolution: {integrity: sha512-aigaE/Bm/3aYOokxLlsNfZhPRsuQk54/9wT0+ie4SnTRBZ+Zh+BMYQ1/Uvv0RpXknFs2zmfcoX1fpvAvrt6khw==} + engines: {node: '>=18.12'} + peerDependencies: + '@pnpm/logger': '>=1001.0.0 <1002.0.0' + + '@pnpm/error@1000.0.5': + resolution: {integrity: sha512-GjH0TPjbVNrPnl/BAGoFuBLJ2sFfXNKbS33lll/Ehe9yw0fyc8Kdw7kO9if37yQqn6vaa4dAHKkPllum7f/IPQ==} + engines: {node: '>=18.12'} + + '@pnpm/graceful-fs@1000.0.1': + resolution: {integrity: sha512-JnzaAVFJIEgwTcB55eww8N3h5B6qJdZqDA2wYkSK+OcTvvMSQb9c2STMhBP6GfkWygG1fs3w8D7JRx9SPZnxJg==} + engines: {node: '>=18.12'} + + '@pnpm/logger@1001.0.1': + resolution: {integrity: sha512-gdwlAMXC4Wc0s7Dmg/4wNybMEd/4lSd9LsXQxeg/piWY0PPXjgz1IXJWnVScx6dZRaaodWP3c1ornrw8mZdFZw==} + engines: {node: '>=18.12'} + + '@pnpm/manifest-utils@1002.0.0': + resolution: {integrity: sha512-6518JwuJazitdXQKqxRwiyVUkwYN5le8f+clMgEuVoKTvWzOMfXdKOIABW53lfx3FETvAZ/x0n+9kX4qnFAmrA==} + engines: {node: '>=18.12'} + peerDependencies: + '@pnpm/logger': '>=1001.0.0 <1002.0.0' + '@pnpm/network.ca-file@1.0.2': resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} engines: {node: '>=12.22.0'} @@ -2100,6 +2144,27 @@ packages: resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} engines: {node: '>=12'} + '@pnpm/read-project-manifest@1001.2.0': + resolution: {integrity: sha512-01y/BcwNsPMPdIsauYN85V1svYEkPXK0NWbh6S8fdE1fC3EEiuuOk11nfyflmRhwz2OWkTgStZ4O+I0wxm7EHA==} + engines: {node: '>=18.12'} + peerDependencies: + '@pnpm/logger': '>=1001.0.0 <1002.0.0' + + '@pnpm/text.comments-parser@1000.0.0': + resolution: {integrity: sha512-ivv/esrETOq9uMiKOC0ddVZ1BktEGsfsMQ9RWmrDpwPiqFSqWsIspnquxTBmm5GflC5N06fbqjGOpulZVYo3vQ==} + engines: {node: '>=18.12'} + + '@pnpm/types@1001.0.0': + resolution: {integrity: sha512-9P7I8Zv8hvAO81+D5KVmwveH4nmxhBNFEEeb77YYPV72bkyqzKTR6I8OGEs7TNZ6gPHufF+lIyBVEqO6SMFpJA==} + engines: {node: '>=18.12'} + + '@pnpm/write-project-manifest@1000.0.12': + resolution: {integrity: sha512-UbJeiLQtQQMbnYjp1ivqvhdmKzN/G5hBD1wCcOQWBSyqj9TU27IUbkDqaz3wSye0ZpbrtrJIhQXyVKyUHpqDXg==} + engines: {node: '>=18.12'} + + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + '@poppinss/colors@4.1.5': resolution: {integrity: sha512-FvdDqtcRCtz6hThExcFOgW0cWX+xwSMWcRuQe5ZEb2m7cVQOAVZOIMt+/v9RxGiD9/OY16qJBXK4CVKWAPalBw==} @@ -2132,6 +2197,13 @@ packages: preact: ^10.4.0 || ^11.0.0-0 vite: '>=2.0.0' + '@publint/pack@0.1.2': + resolution: {integrity: sha512-S+9ANAvUmjutrshV4jZjaiG8XQyuJIZ8a4utWmN/vW1sgQ9IfBnPndwkmQYw53QmouOIytT874u65HEmu6H5jw==} + engines: {node: '>=18'} + + '@quansync/fs@0.1.5': + resolution: {integrity: sha512-lNS9hL2aS2NZgNW7BBj+6EBl4rOf8l+tQ0eRY6JWCI8jI2kc53gSoqbjojU0OnAWhzoXiOjFyGsHcDGePB3lhA==} + '@replit/codemirror-css-color-picker@6.3.0': resolution: {integrity: sha512-19biDANghUm7Fz7L1SNMIhK48tagaWuCOHj4oPPxc7hxPGkTVY2lU/jVZ8tsbTKQPVG7BO2CBDzs7CBwb20t4A==} peerDependencies: @@ -2222,6 +2294,9 @@ packages: cpu: [x64] os: [win32] + '@rolldown/debug@1.0.0-beta.47': + resolution: {integrity: sha512-oVqAD5pKm01YFZpq7DCNjwXIlY7QBqzNm/PEKVqhVJYjRarOPJ+eszfrApRWDYT39rcVk9jaJ5CJhSBYjx5PxQ==} + '@rolldown/pluginutils@1.0.0-beta.27': resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==} @@ -3031,6 +3106,28 @@ packages: peerDependencies: vue: '>=2.7 || >=3' + '@vitejs/devtools-kit@0.0.0-alpha.16': + resolution: {integrity: sha512-/BlY4A84c04ui7E3GRTgkDU1maY9690hW1l5ZBVsdigVKFsQKHKqPiCXeyO0KI/6yilxU6mJGeZgUktzMyKy/w==} + peerDependencies: + vite: '*' + + '@vitejs/devtools-rpc@0.0.0-alpha.16': + resolution: {integrity: sha512-+iSGXCt1bO9zGM6/koUozqjWhNZ6ed3TIb3jYeYrrIg5A5GZn3ELUiud2rJYyGPC7Ux11x5F45SCMNVgyc8ZXQ==} + peerDependencies: + ws: '*' + peerDependenciesMeta: + ws: + optional: true + + '@vitejs/devtools-vite@0.0.0-alpha.16': + resolution: {integrity: sha512-6WycYgNfNlNJbfBI4NvK0SVvuw61RaGtWbIkPqD9iv0S0bJsLkWE4eDHXwoe59BLDYXYCf9dfkjttqToZ+XF8g==} + + '@vitejs/devtools@0.0.0-alpha.16': + resolution: {integrity: sha512-f4RRJfH1uHuOqO5LMjK53th0e59UAGQtYUOHnLSXGTX1uZ3rYgCEHc3U//AAs/j3NkICGK/rj1lfcvPsUw3fGw==} + hasBin: true + peerDependencies: + vite: '*' + '@vitejs/plugin-react@4.7.0': resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==} engines: {node: ^14.18.0 || >=16.0.0} @@ -3362,6 +3459,9 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} + birpc-x@0.0.1: + resolution: {integrity: sha512-S2ydcJjchMDRNQS9IidMk9gnER4V2FVY1B9RyKIN7DvvToy8gC4dJHVjguz0ZKKGWls+vyHAJdiyjRZx/gI4GA==} + birpc@2.8.0: resolution: {integrity: sha512-Bz2a4qD/5GRhiHSwj30c/8kC8QGj12nNDwz3D4ErQ4Xhy35dsSDvF+RA/tWpjyU0pdGtSDiEk6B5fBGE1qNVhw==} @@ -3375,6 +3475,9 @@ packages: resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} engines: {node: '>=18'} + bole@5.0.22: + resolution: {integrity: sha512-BI0Fjfi38q0bnvG5FjQoLbipfme62eNENiXAWT3QjVvEa9Xdkkg4A0r4mkkOsbq8Hang0rSCbedUhdNA9hTCcg==} + boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -3423,6 +3526,10 @@ packages: magicast: optional: true + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} @@ -3622,6 +3729,9 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + cookie-es@1.2.2: + resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} + cookie-es@2.0.0: resolution: {integrity: sha512-RAj4E421UYRgqokKUmotqAwuplYw15qtdXfY+hGzgCJ/MBjCVZcSoHK/kH9kocfjRjcDME7IiDWR/1WX1TM2Pg==} @@ -3655,6 +3765,9 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + crossws@0.3.5: + resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==} + crossws@0.4.1: resolution: {integrity: sha512-E7WKBcHVhAVrY6JYD5kteNqVq1GSZxqGrdSiwXR9at+XHi43HJoCQKXcCczR5LBnBquFZPsB3o7HklulKoBU5w==} peerDependencies: @@ -3684,6 +3797,14 @@ packages: typescript: optional: true + d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} + + d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} + date-fns@2.30.0: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} @@ -3944,6 +4065,9 @@ packages: eol@0.9.1: resolution: {integrity: sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==} + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + error-stack-parser-es@1.0.5: resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} @@ -4145,6 +4269,9 @@ packages: fast-querystring@1.1.2: resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + fast-uri@3.1.0: resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} @@ -4382,6 +4509,9 @@ packages: resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + h3@1.15.4: + resolution: {integrity: sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==} + h3@2.0.0-beta.4: resolution: {integrity: sha512-/JdwHUGuHjbBXAVxQN7T7QeI9cVlhsqMKVNFHebZVs9RoEYH85Ogh9O1DEy/1ZiJkmMwa1gNg6bBcGhc1Itjdg==} engines: {node: '>=20.11.1'} @@ -4567,6 +4697,9 @@ packages: resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} engines: {node: '>=12'} + individual@3.0.0: + resolution: {integrity: sha512-rUY5vtT748NMRbEMrTNiFfy29BgGZwGXUi2NFUVMWQrogSLzlJvQV9eeMWi+g1aVaQ53tpyLAQtd5x/JH0Nh1g==} + inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -4597,6 +4730,9 @@ packages: resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} engines: {node: '>= 10'} + iron-webcrypto@1.2.1: + resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} + is-absolute-url@4.0.1: resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -4607,6 +4743,9 @@ packages: is-alphanumerical@1.0.4: resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-arrayish@0.3.4: resolution: {integrity: sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==} @@ -4731,6 +4870,10 @@ packages: resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} engines: {node: '>=12.13'} + is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -4805,6 +4948,9 @@ packages: json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + json-schema-library@9.3.5: resolution: {integrity: sha512-5eBDx7cbfs+RjylsVO+N36b0GOPtv78rfqgf2uON+uaHUIC62h63Y8pkV2ovKbaL4ZpQcHp21968x5nx/dFwqQ==} @@ -4891,6 +5037,9 @@ packages: resolution: {integrity: sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==} engines: {node: '>=18'} + launch-editor@2.12.0: + resolution: {integrity: sha512-giOHXoOtifjdHqUamwKq6c49GzBdLjvxrd2D+Q4V6uOHopJv7p9VJxikDsQ/CBXZbEITgUqSVHXLTG3VhPP1Dg==} + leven@4.1.0: resolution: {integrity: sha512-KZ9W9nWDT7rF7Dazg8xyLHGLrmpgq2nVNFUckhqdW3szVP6YhCpp/RAnpmVExA9JvrMynjwSLVrEj3AepHR6ew==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -4972,6 +5121,9 @@ packages: resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} engines: {node: '>= 12.0.0'} + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + local-pkg@1.1.2: resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} engines: {node: '>=14'} @@ -5275,6 +5427,9 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + mitt@2.1.0: + resolution: {integrity: sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==} + mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} @@ -5296,6 +5451,10 @@ packages: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + engines: {node: '>=10'} + ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -5306,6 +5465,10 @@ packages: resolution: {integrity: sha512-57C+a+jicobooJzBaYpEO19EKXhkmxCiZoZd964g69XLJ/bjJuU5PuWhURS0x6bu9p2ETmwPafam0tWw8zkUPw==} engines: {node: '>=18'} + nanoevents@9.1.0: + resolution: {integrity: sha512-Jd0fILWG44a9luj8v5kED4WI+zfkkgwKyRQKItTtlPfEsh7Lznfi1kr8/iZ+XAIss4Qq5GqRB0qtWbaz9ceO/A==} + engines: {node: ^18.0.0 || >=20.0.0} + nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -5362,6 +5525,9 @@ packages: node-html-parser@6.1.13: resolution: {integrity: sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==} + node-mock-http@1.0.3: + resolution: {integrity: sha512-jN8dK25fsfnMrVsEhluUTPkBFY+6ybu7jSB1n+ri/vOGjJxU8J9CZhpSGkHXSkFjtUhbmoncG/YG9ta5Ludqog==} + node-releases@2.0.27: resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} @@ -5470,6 +5636,10 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} + p-limit@7.2.0: + resolution: {integrity: sha512-ATHLtwoTNDloHRFFxFJdHnG6n2WUeFjaR8XQMFdKIv0xkXjrER8/iG9iu265jOM95zXHAfv9oTkqhrfbIzosrQ==} + engines: {node: '>=20'} + p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} @@ -5485,6 +5655,9 @@ packages: resolution: {integrity: sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==} engines: {node: '>=18'} + package-manager-detector@1.5.0: + resolution: {integrity: sha512-uBj69dVlYe/+wxj8JOpr97XfsxH/eumMt6HqjNTmJDf/6NO9s+0uxeOneIz3AsPt2m6y9PqzDzd3ATcU17MNfw==} + packrup@0.1.2: resolution: {integrity: sha512-ZcKU7zrr5GlonoS9cxxrb5HVswGnyj6jQvwFBa6p5VFw7G71VAHcUKL5wyZSU/ECtPM/9gacWxy2KFQKt1gMNA==} @@ -5495,6 +5668,10 @@ packages: parse-entities@2.0.0: resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + parse-ms@2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} @@ -5665,6 +5842,11 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + publint@0.3.15: + resolution: {integrity: sha512-xPbRAPW+vqdiaKy5sVVY0uFAu3LaviaPO3pZ9FaRx59l9+U/RKR1OEbLhkug87cwiVKxPXyB4txsv5cad67u+A==} + engines: {node: '>=18'} + hasBin: true + pump@3.0.3: resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} @@ -5694,6 +5876,9 @@ packages: peerDependencies: vue: '>= 3.2.0' + radix3@1.1.2: + resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} + railroad-diagrams@1.0.0: resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==} @@ -5733,6 +5918,10 @@ packages: resolution: {integrity: sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==} engines: {node: '>=0.10.0'} + read-yaml-file@2.1.0: + resolution: {integrity: sha512-UkRNRIwnhG+y7hpqnycCL/xbTk7+ia9VuVTC0S+zVbwd65DI9eUpRMfsWIGrCWxTU/mi+JW8cHQCrv+zfCbEPQ==} + engines: {node: '>=10.13'} + readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} @@ -5940,6 +6129,10 @@ packages: rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -6071,6 +6264,10 @@ packages: simple-swizzle@0.2.4: resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==} + sirv@3.0.2: + resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} + engines: {node: '>=18'} + sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -6176,6 +6373,13 @@ packages: resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} engines: {node: '>=12'} + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-comments-strings@1.2.0: + resolution: {integrity: sha512-zwF4bmnyEjZwRhaak9jUWNxc0DoeKBJ7lwSN/LEc8dQXZcUFG6auaaTQJokQWXopLdM3iTx01nQT8E4aL29DAQ==} + strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} @@ -6203,6 +6407,9 @@ packages: resolution: {integrity: sha512-KIy5nylvC5le1OdaaoCJ07L+8iQzJHGH6pWDuzS+d07Cu7n1MZ2x26P8ZKIWfbK02+XIL8Mp4RkWeqdUCrDMfg==} engines: {node: '>=18'} + structured-clone-es@1.0.0: + resolution: {integrity: sha512-FL8EeKFFyNQv5cMnXI31CIMCsFarSVI2bF0U0ImeNE3g/F1IvJQyqzOXxPBRXiwQfyBTlbNe88jh1jFW0O/jiQ==} + stubborn-fs@2.0.0: resolution: {integrity: sha512-Y0AvSwDw8y+nlSNFXMm2g6L51rBGdAQT20J3YSOqxC53Lo3bjWRtr2BKcfYoAf352WYpsZSTURrA0tqhfgudPA==} @@ -6307,6 +6514,10 @@ packages: resolution: {integrity: sha512-kh9LVIWH5CnL63Ipf0jhlBIy0UsrMj/NJDfpsy1SqOXlLKEVyXXYrnFxFT1yOOYVGBSApeVnjPw/sBz5BfEjAQ==} engines: {node: '>=14.16'} + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -6400,6 +6611,12 @@ packages: ultrahtml@1.6.0: resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==} + unconfig-core@7.4.0: + resolution: {integrity: sha512-3ew7rvES5x2LCZ/QRKV3nQQpq7eFYuszQuvZrhTHxDPKc34QFjRXI17XGiZI+WQTVIXKYeBti4v3LS39NWmhmg==} + + unconfig@7.4.0: + resolution: {integrity: sha512-KM0SrvIvwQXJnbiSzur1Y+5jHSLVPhS31H5qzgjDQxGqS3PWrH6X7TxYX/JTuTlItarHkZ9ePK9t01Q6wu1c4Q==} + uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} @@ -6473,6 +6690,68 @@ packages: resolution: {integrity: sha512-6NCPkv1ClwH+/BGE9QeoTIl09nuiAt0gS28nn1PvYXsGKRwM2TCbFA2QiilmehPDTXIe684k4rZI1yl3A1PCUw==} engines: {node: '>=18.12.0'} + unstorage@1.17.2: + resolution: {integrity: sha512-cKEsD6iBWJgOMJ6vW1ID/SYuqNf8oN4yqRk8OYqaVQ3nnkJXOT1PSpaMh2QfzLs78UN5kSNRD2c/mgjT8tX7+w==} + peerDependencies: + '@azure/app-configuration': ^1.8.0 + '@azure/cosmos': ^4.2.0 + '@azure/data-tables': ^13.3.0 + '@azure/identity': ^4.6.0 + '@azure/keyvault-secrets': ^4.9.0 + '@azure/storage-blob': ^12.26.0 + '@capacitor/preferences': ^6.0.3 || ^7.0.0 + '@deno/kv': '>=0.9.0' + '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0 + '@planetscale/database': ^1.19.0 + '@upstash/redis': ^1.34.3 + '@vercel/blob': '>=0.27.1' + '@vercel/functions': ^2.2.12 || ^3.0.0 + '@vercel/kv': ^1.0.1 + aws4fetch: ^1.0.20 + db0: '>=0.2.1' + idb-keyval: ^6.2.1 + ioredis: ^5.4.2 + uploadthing: ^7.4.4 + peerDependenciesMeta: + '@azure/app-configuration': + optional: true + '@azure/cosmos': + optional: true + '@azure/data-tables': + optional: true + '@azure/identity': + optional: true + '@azure/keyvault-secrets': + optional: true + '@azure/storage-blob': + optional: true + '@capacitor/preferences': + optional: true + '@deno/kv': + optional: true + '@netlify/blobs': + optional: true + '@planetscale/database': + optional: true + '@upstash/redis': + optional: true + '@vercel/blob': + optional: true + '@vercel/functions': + optional: true + '@vercel/kv': + optional: true + aws4fetch: + optional: true + db0: + optional: true + idb-keyval: + optional: true + ioredis: + optional: true + uploadthing: + optional: true + unstorage@2.0.0-alpha.4: resolution: {integrity: sha512-ywXZMZRfrvmO1giJeMTCw6VUn0ALYxVl8pFqJPStiyQUvgJImejtAHrKvXPj4QGJAoS/iLGcVGF6ljN/lkh1bw==} peerDependencies: @@ -6727,6 +7006,16 @@ packages: '@vue/composition-api': optional: true + vue-observe-visibility@2.0.0-alpha.1: + resolution: {integrity: sha512-flFbp/gs9pZniXR6fans8smv1kDScJ8RS7rEpMjhVabiKeq7Qz3D9+eGsypncjfIyyU84saU88XZ0zjbD6Gq/g==} + peerDependencies: + vue: ^3.0.0 + + vue-resize@2.0.0-alpha.1: + resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} + peerDependencies: + vue: ^3.0.0 + vue-router@4.6.2: resolution: {integrity: sha512-my83mxQKXyCms9EegBXZldehOihxBjgSjZqrZwgg4vBacNGl0oBCO+xT//wgOYpLV1RW93ZfqxrjTozd+82nbA==} peerDependencies: @@ -6740,6 +7029,11 @@ packages: vue-sonner@1.3.2: resolution: {integrity: sha512-UbZ48E9VIya3ToiRHAZUbodKute/z/M1iT8/3fU8zEbwBRE11AKuHikssv18LMk2gTTr6eMQT4qf6JoLHWuj/A==} + vue-virtual-scroller@2.0.0-beta.8: + resolution: {integrity: sha512-b8/f5NQ5nIEBRTNi6GcPItE4s7kxNHw2AIHLtDp+2QvqdTjVN0FgONwX9cr53jWRgnu+HRLPaWDOR2JPI5MTfQ==} + peerDependencies: + vue: ^3.2.0 + vue@3.5.24: resolution: {integrity: sha512-uTHDOpVQTMjcGgrqFPSb8iO2m1DUvo+WbGqoXQz8Y1CeBYQ0FXf2z1gLRaBtHjlRz7zZUBHxjVB5VTLzYkvftg==} peerDependencies: @@ -6830,6 +7124,14 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + write-file-atomic@5.0.1: + resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + write-yaml-file@5.0.0: + resolution: {integrity: sha512-FdNA4RyH1L43TlvGG8qOMIfcEczwA5ij+zLXUy3Z83CjxhLvcV7/Q/8pk22wnCgYw7PJhtK+7lhO+qqyT4NdvQ==} + engines: {node: '>=16.14'} + ws@8.18.0: resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} engines: {node: '>=10.0.0'} @@ -6842,6 +7144,18 @@ packages: utf-8-validate: optional: true + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + wsl-utils@0.1.0: resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} engines: {node: '>=18'} @@ -6894,6 +7208,10 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + yocto-queue@1.2.1: + resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==} + engines: {node: '>=12.20'} + yoctocolors@2.1.2: resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} engines: {node: '>=18'} @@ -7756,6 +8074,8 @@ snapshots: - '@vue/composition-api' - vue + '@gwhitney/detect-indent@7.0.1': {} + '@hapi/hoek@9.3.0': {} '@hapi/topo@5.1.0': @@ -8249,6 +8569,33 @@ snapshots: '@pnpm/config.env-replace@1.1.0': {} + '@pnpm/constants@1001.3.1': {} + + '@pnpm/core-loggers@1001.0.5(@pnpm/logger@1001.0.1)': + dependencies: + '@pnpm/logger': 1001.0.1 + '@pnpm/types': 1001.0.0 + + '@pnpm/error@1000.0.5': + dependencies: + '@pnpm/constants': 1001.3.1 + + '@pnpm/graceful-fs@1000.0.1': + dependencies: + graceful-fs: 4.2.11 + + '@pnpm/logger@1001.0.1': + dependencies: + bole: 5.0.22 + split2: 4.2.0 + + '@pnpm/manifest-utils@1002.0.0(@pnpm/logger@1001.0.1)': + dependencies: + '@pnpm/core-loggers': 1001.0.5(@pnpm/logger@1001.0.1) + '@pnpm/error': 1000.0.5 + '@pnpm/logger': 1001.0.1 + '@pnpm/types': 1001.0.0 + '@pnpm/network.ca-file@1.0.2': dependencies: graceful-fs: 4.2.10 @@ -8259,6 +8606,39 @@ snapshots: '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 + '@pnpm/read-project-manifest@1001.2.0(@pnpm/logger@1001.0.1)': + dependencies: + '@gwhitney/detect-indent': 7.0.1 + '@pnpm/error': 1000.0.5 + '@pnpm/graceful-fs': 1000.0.1 + '@pnpm/logger': 1001.0.1 + '@pnpm/manifest-utils': 1002.0.0(@pnpm/logger@1001.0.1) + '@pnpm/text.comments-parser': 1000.0.0 + '@pnpm/types': 1001.0.0 + '@pnpm/write-project-manifest': 1000.0.12 + fast-deep-equal: 3.1.3 + is-windows: 1.0.2 + json5: 2.2.3 + parse-json: 5.2.0 + read-yaml-file: 2.1.0 + strip-bom: 4.0.0 + + '@pnpm/text.comments-parser@1000.0.0': + dependencies: + strip-comments-strings: 1.2.0 + + '@pnpm/types@1001.0.0': {} + + '@pnpm/write-project-manifest@1000.0.12': + dependencies: + '@pnpm/text.comments-parser': 1000.0.0 + '@pnpm/types': 1001.0.0 + json5: 2.2.3 + write-file-atomic: 5.0.1 + write-yaml-file: 5.0.0 + + '@polka/url@1.0.0-next.29': {} + '@poppinss/colors@4.1.5': dependencies: kleur: 4.1.5 @@ -8307,6 +8687,12 @@ snapshots: transitivePeerDependencies: - supports-color + '@publint/pack@0.1.2': {} + + '@quansync/fs@0.1.5': + dependencies: + quansync: 0.2.11 + '@replit/codemirror-css-color-picker@6.3.0(@codemirror/language@6.11.3)(@codemirror/state@6.5.2)(@codemirror/view@6.38.6)': dependencies: '@codemirror/language': 6.11.3 @@ -8357,6 +8743,8 @@ snapshots: '@rolldown/binding-win32-x64-msvc@1.0.0-beta.47': optional: true + '@rolldown/debug@1.0.0-beta.47': {} + '@rolldown/pluginutils@1.0.0-beta.27': {} '@rolldown/pluginutils@1.0.0-beta.29': {} @@ -9602,6 +9990,120 @@ snapshots: unhead: 1.11.20 vue: 3.5.24(typescript@5.9.3) + '@vitejs/devtools-kit@0.0.0-alpha.16(rolldown-vite@7.2.2(@types/node@24.10.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3)': + dependencies: + '@vitejs/devtools-rpc': 0.0.0-alpha.16(ws@8.18.3) + birpc: 2.8.0 + birpc-x: 0.0.1 + nanoevents: 9.1.0 + vite: rolldown-vite@7.2.2(@types/node@24.10.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1) + transitivePeerDependencies: + - ws + + '@vitejs/devtools-rpc@0.0.0-alpha.16(ws@8.18.3)': + dependencies: + birpc: 2.8.0 + structured-clone-es: 1.0.0 + optionalDependencies: + ws: 8.18.3 + + '@vitejs/devtools-vite@0.0.0-alpha.16(@azure/identity@4.13.0)(@pnpm/logger@1001.0.1)(db0@0.3.4)(rolldown-vite@7.2.2(@types/node@24.10.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))': + dependencies: + '@floating-ui/dom': 1.7.4 + '@pnpm/read-project-manifest': 1001.2.0(@pnpm/logger@1001.0.1) + '@rolldown/debug': 1.0.0-beta.47 + '@vitejs/devtools-kit': 0.0.0-alpha.16(rolldown-vite@7.2.2(@types/node@24.10.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3) + '@vitejs/devtools-rpc': 0.0.0-alpha.16(ws@8.18.3) + ansis: 4.2.0 + birpc: 2.8.0 + cac: 6.7.14 + d3-shape: 3.2.0 + diff: 8.0.2 + get-port-please: 3.2.0 + h3: 1.15.4 + mlly: 1.8.0 + mrmime: 2.0.1 + ohash: 2.0.11 + p-limit: 7.2.0 + pathe: 2.0.3 + publint: 0.3.15 + sirv: 3.0.2 + split2: 4.2.0 + structured-clone-es: 1.0.0 + tinyglobby: 0.2.15 + unconfig: 7.4.0 + unstorage: 1.17.2(@azure/identity@4.13.0)(db0@0.3.4) + vue-virtual-scroller: 2.0.0-beta.8(vue@3.5.24(typescript@5.9.3)) + ws: 8.18.3 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@pnpm/logger' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - idb-keyval + - ioredis + - uploadthing + - utf-8-validate + - vite + - vue + + '@vitejs/devtools@0.0.0-alpha.16(@azure/identity@4.13.0)(@pnpm/logger@1001.0.1)(db0@0.3.4)(rolldown-vite@7.2.2(@types/node@24.10.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))': + dependencies: + '@vitejs/devtools-kit': 0.0.0-alpha.16(rolldown-vite@7.2.2(@types/node@24.10.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3) + '@vitejs/devtools-rpc': 0.0.0-alpha.16(ws@8.18.3) + '@vitejs/devtools-vite': 0.0.0-alpha.16(@azure/identity@4.13.0)(@pnpm/logger@1001.0.1)(db0@0.3.4)(rolldown-vite@7.2.2(@types/node@24.10.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)) + birpc: 2.8.0 + birpc-x: 0.0.1 + cac: 6.7.14 + debug: 4.4.3 + launch-editor: 2.12.0 + mlly: 1.8.0 + nanoevents: 9.1.0 + open: 10.2.0 + pathe: 2.0.3 + sirv: 3.0.2 + vite: rolldown-vite@7.2.2(@types/node@24.10.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1) + ws: 8.18.3 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@pnpm/logger' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - idb-keyval + - ioredis + - supports-color + - uploadthing + - utf-8-validate + - vue + '@vitejs/plugin-react@4.7.0(vite@7.2.2(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@babel/core': 7.28.5 @@ -9969,6 +10471,10 @@ snapshots: binary-extensions@2.3.0: {} + birpc-x@0.0.1: + dependencies: + birpc: 2.8.0 + birpc@2.8.0: {} bl@4.1.0: @@ -9993,6 +10499,11 @@ snapshots: transitivePeerDependencies: - supports-color + bole@5.0.22: + dependencies: + fast-safe-stringify: 2.1.1 + individual: 3.0.0 + boolbase@1.0.0: {} boxen@8.0.1: @@ -10057,6 +10568,8 @@ snapshots: pkg-types: 2.3.0 rc9: 2.1.2 + cac@6.7.14: {} + call-bind-apply-helpers@1.0.2: dependencies: es-errors: 1.3.0 @@ -10275,6 +10788,8 @@ snapshots: convert-source-map@2.0.0: {} + cookie-es@1.2.2: {} + cookie-es@2.0.0: {} cookie-signature@1.2.2: {} @@ -10299,6 +10814,10 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + crossws@0.3.5: + dependencies: + uncrypto: 0.1.3 + crossws@0.4.1(srvx@0.9.5): optionalDependencies: srvx: 0.9.5 @@ -10323,6 +10842,12 @@ snapshots: optionalDependencies: typescript: 5.9.3 + d3-path@3.1.0: {} + + d3-shape@3.2.0: + dependencies: + d3-path: 3.1.0 + date-fns@2.30.0: dependencies: '@babel/runtime': 7.28.4 @@ -10538,6 +11063,10 @@ snapshots: eol@0.9.1: {} + error-ex@1.3.4: + dependencies: + is-arrayish: 0.2.1 + error-stack-parser-es@1.0.5: {} es-define-property@1.0.1: {} @@ -10852,6 +11381,8 @@ snapshots: dependencies: fast-decode-uri-component: 1.0.1 + fast-safe-stringify@2.1.1: {} + fast-uri@3.1.0: {} fastest-levenshtein@1.0.16: {} @@ -11102,6 +11633,18 @@ snapshots: dependencies: duplexer: 0.1.2 + h3@1.15.4: + dependencies: + cookie-es: 1.2.2 + crossws: 0.3.5 + defu: 6.1.4 + destr: 2.0.5 + iron-webcrypto: 1.2.1 + node-mock-http: 1.0.3 + radix3: 1.1.2 + ufo: 1.6.1 + uncrypto: 0.1.3 + h3@2.0.0-beta.4(crossws@0.4.1(srvx@0.9.5)): dependencies: cookie-es: 2.0.0 @@ -11354,6 +11897,8 @@ snapshots: indent-string@5.0.0: {} + individual@3.0.0: {} + inflight@1.0.6: dependencies: once: 1.4.0 @@ -11378,6 +11923,8 @@ snapshots: ipaddr.js@2.2.0: {} + iron-webcrypto@1.2.1: {} + is-absolute-url@4.0.1: {} is-alphabetical@1.0.4: {} @@ -11387,6 +11934,8 @@ snapshots: is-alphabetical: 1.0.4 is-decimal: 1.0.4 + is-arrayish@0.2.1: {} + is-arrayish@0.3.4: {} is-binary-path@2.1.0: @@ -11470,6 +12019,8 @@ snapshots: is-what@4.1.16: {} + is-windows@1.0.2: {} + is-wsl@2.2.0: dependencies: is-docker: 2.2.1 @@ -11542,6 +12093,8 @@ snapshots: json-buffer@3.0.1: {} + json-parse-even-better-errors@2.3.1: {} + json-schema-library@9.3.5: dependencies: '@sagold/json-pointer': 5.1.2 @@ -11631,6 +12184,11 @@ snapshots: dependencies: package-json: 10.0.1 + launch-editor@2.12.0: + dependencies: + picocolors: 1.1.1 + shell-quote: 1.8.3 + leven@4.1.0: {} levn@0.4.1: @@ -11693,6 +12251,8 @@ snapshots: lightningcss-win32-arm64-msvc: 1.30.2 lightningcss-win32-x64-msvc: 1.30.2 + lines-and-columns@1.2.4: {} + local-pkg@1.1.2: dependencies: mlly: 1.8.0 @@ -12175,6 +12735,8 @@ snapshots: minipass@7.1.2: {} + mitt@2.1.0: {} + mkdirp-classic@0.5.3: {} mkdirp@0.5.6: @@ -12194,12 +12756,16 @@ snapshots: mri@1.2.0: {} + mrmime@2.0.1: {} + ms@2.0.0: {} ms@2.1.3: {} nano-jsx@0.2.0: {} + nanoevents@9.1.0: {} + nanoid@3.3.11: {} nanoid@5.1.5: {} @@ -12240,6 +12806,8 @@ snapshots: css-select: 5.2.2 he: 1.2.0 + node-mock-http@1.0.3: {} + node-releases@2.0.27: {} normalize-path@3.0.0: {} @@ -12426,6 +12994,10 @@ snapshots: dependencies: yocto-queue: 0.1.0 + p-limit@7.2.0: + dependencies: + yocto-queue: 1.2.1 + p-locate@5.0.0: dependencies: p-limit: 3.1.0 @@ -12443,6 +13015,8 @@ snapshots: registry-url: 6.0.1 semver: 7.7.3 + package-manager-detector@1.5.0: {} + packrup@0.1.2: {} parent-module@1.0.1: @@ -12458,6 +13032,13 @@ snapshots: is-decimal: 1.0.4 is-hexadecimal: 1.0.4 + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.27.1 + error-ex: 1.3.4 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + parse-ms@2.1.0: {} parse-ms@3.0.0: {} @@ -12623,6 +13204,13 @@ snapshots: proxy-from-env@1.1.0: {} + publint@0.3.15: + dependencies: + '@publint/pack': 0.1.2 + package-manager-detector: 1.5.0 + picocolors: 1.1.1 + sade: 1.8.1 + pump@3.0.3: dependencies: end-of-stream: 1.4.5 @@ -12661,6 +13249,8 @@ snapshots: transitivePeerDependencies: - '@vue/composition-api' + radix3@1.1.2: {} + railroad-diagrams@1.0.0: {} randexp@0.4.6: @@ -12700,6 +13290,11 @@ snapshots: react@19.2.0: {} + read-yaml-file@2.1.0: + dependencies: + js-yaml: 4.1.0 + strip-bom: 4.0.0 + readable-stream@3.6.2: dependencies: inherits: 2.0.4 @@ -12953,6 +13548,10 @@ snapshots: dependencies: tslib: 2.8.1 + sade@1.8.1: + dependencies: + mri: 1.2.0 + safe-buffer@5.2.1: {} safe-regex2@5.0.0: @@ -13132,6 +13731,12 @@ snapshots: dependencies: is-arrayish: 0.3.4 + sirv@3.0.2: + dependencies: + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 + sisteransi@1.0.5: {} smtp-address-parser@1.0.10: @@ -13228,6 +13833,10 @@ snapshots: dependencies: ansi-regex: 6.2.2 + strip-bom@4.0.0: {} + + strip-comments-strings@1.2.0: {} + strip-final-newline@2.0.0: {} strip-final-newline@4.0.0: {} @@ -13246,6 +13855,8 @@ snapshots: dependencies: '@tokenizer/token': 0.3.0 + structured-clone-es@1.0.0: {} + stubborn-fs@2.0.0: dependencies: stubborn-utils: 1.0.2 @@ -13336,6 +13947,8 @@ snapshots: '@tokenizer/token': 0.3.0 ieee754: 1.2.1 + totalist@3.0.1: {} + tr46@0.0.3: {} tree-kill@1.2.2: {} @@ -13410,6 +14023,19 @@ snapshots: ultrahtml@1.6.0: {} + unconfig-core@7.4.0: + dependencies: + '@quansync/fs': 0.1.5 + quansync: 0.2.11 + + unconfig@7.4.0: + dependencies: + '@quansync/fs': 0.1.5 + defu: 6.1.4 + jiti: 2.6.1 + quansync: 0.2.11 + unconfig-core: 7.4.0 + uncrypto@0.1.3: {} unctx@2.4.1: @@ -13517,6 +14143,20 @@ snapshots: picomatch: 4.0.3 webpack-virtual-modules: 0.6.2 + unstorage@1.17.2(@azure/identity@4.13.0)(db0@0.3.4): + dependencies: + anymatch: 3.1.3 + chokidar: 4.0.3 + destr: 2.0.5 + h3: 1.15.4 + lru-cache: 10.4.3 + node-fetch-native: 1.6.7 + ofetch: 1.5.1 + ufo: 1.6.1 + optionalDependencies: + '@azure/identity': 4.13.0 + db0: 0.3.4 + unstorage@2.0.0-alpha.4(@azure/identity@4.13.0)(chokidar@4.0.3)(db0@0.3.4)(ofetch@2.0.0-alpha.3): optionalDependencies: '@azure/identity': 4.13.0 @@ -13734,6 +14374,14 @@ snapshots: dependencies: vue: 3.5.24(typescript@5.9.3) + vue-observe-visibility@2.0.0-alpha.1(vue@3.5.24(typescript@5.9.3)): + dependencies: + vue: 3.5.24(typescript@5.9.3) + + vue-resize@2.0.0-alpha.1(vue@3.5.24(typescript@5.9.3)): + dependencies: + vue: 3.5.24(typescript@5.9.3) + vue-router@4.6.2(vue@3.5.24(typescript@5.9.3)): dependencies: '@vue/devtools-api': 6.6.4 @@ -13746,6 +14394,13 @@ snapshots: vue-sonner@1.3.2: {} + vue-virtual-scroller@2.0.0-beta.8(vue@3.5.24(typescript@5.9.3)): + dependencies: + mitt: 2.1.0 + vue: 3.5.24(typescript@5.9.3) + vue-observe-visibility: 2.0.0-alpha.1(vue@3.5.24(typescript@5.9.3)) + vue-resize: 2.0.0-alpha.1(vue@3.5.24(typescript@5.9.3)) + vue@3.5.24(typescript@5.9.3): dependencies: '@vue/compiler-dom': 3.5.24 @@ -13851,8 +14506,20 @@ snapshots: wrappy@1.0.2: {} + write-file-atomic@5.0.1: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 4.1.0 + + write-yaml-file@5.0.0: + dependencies: + js-yaml: 4.1.0 + write-file-atomic: 5.0.1 + ws@8.18.0: {} + ws@8.18.3: {} + wsl-utils@0.1.0: dependencies: is-wsl: 3.1.0 @@ -13897,6 +14564,8 @@ snapshots: yocto-queue@0.1.0: {} + yocto-queue@1.2.1: {} + yoctocolors@2.1.2: {} youch-core@0.3.3: From 811208c1f8d0e5ec64830bddcaea6071e6babdae Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Mon, 10 Nov 2025 13:32:21 +0000 Subject: [PATCH 02/10] chore: apply automated updates --- examples/vite-nitro-devtools/vite.config.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/examples/vite-nitro-devtools/vite.config.ts b/examples/vite-nitro-devtools/vite.config.ts index 5cf3c182cd..b0f2c9a974 100644 --- a/examples/vite-nitro-devtools/vite.config.ts +++ b/examples/vite-nitro-devtools/vite.config.ts @@ -1,13 +1,10 @@ import { defineConfig } from "vite"; import { nitro } from "nitro/vite"; // https://deploy-preview-127--vite-devtools.netlify.app/guide/ -import { DevTools } from '@vitejs/devtools' +import { DevTools } from "@vitejs/devtools"; export default defineConfig({ - plugins: [ - DevTools(), - nitro(), - ], + plugins: [DevTools(), nitro()], nitro: { serverDir: "./" }, build: { rolldownOptions: { From 57f55fa8733b363c0354473c349316b32dda07a0 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 10 Nov 2025 14:50:34 +0100 Subject: [PATCH 03/10] update --- examples/vite-devtools/index.html | 31 +++++++++++++++++++ .../nitro.config.ts | 0 .../package.json | 0 examples/vite-devtools/server.ts | 3 ++ .../tsconfig.json | 0 .../vite.config.ts | 4 +-- examples/vite-nitro-devtools/index.html | 13 -------- examples/vite-nitro-devtools/routes/quote.ts | 19 ------------ pnpm-lock.yaml | 2 +- 9 files changed, 37 insertions(+), 35 deletions(-) create mode 100644 examples/vite-devtools/index.html rename examples/{vite-nitro-devtools => vite-devtools}/nitro.config.ts (100%) rename examples/{vite-nitro-devtools => vite-devtools}/package.json (100%) create mode 100644 examples/vite-devtools/server.ts rename examples/{vite-nitro-devtools => vite-devtools}/tsconfig.json (100%) rename examples/{vite-nitro-devtools => vite-devtools}/vite.config.ts (74%) delete mode 100644 examples/vite-nitro-devtools/index.html delete mode 100644 examples/vite-nitro-devtools/routes/quote.ts diff --git a/examples/vite-devtools/index.html b/examples/vite-devtools/index.html new file mode 100644 index 0000000000..0e1f0746eb --- /dev/null +++ b/examples/vite-devtools/index.html @@ -0,0 +1,31 @@ + + + + + + Hello World + + + +

Hello, world!

+ + diff --git a/examples/vite-nitro-devtools/nitro.config.ts b/examples/vite-devtools/nitro.config.ts similarity index 100% rename from examples/vite-nitro-devtools/nitro.config.ts rename to examples/vite-devtools/nitro.config.ts diff --git a/examples/vite-nitro-devtools/package.json b/examples/vite-devtools/package.json similarity index 100% rename from examples/vite-nitro-devtools/package.json rename to examples/vite-devtools/package.json diff --git a/examples/vite-devtools/server.ts b/examples/vite-devtools/server.ts new file mode 100644 index 0000000000..ab3977d03b --- /dev/null +++ b/examples/vite-devtools/server.ts @@ -0,0 +1,3 @@ +export default ({ req }: { req: Request }) => { + console.log(`[${req.method}] ${req.url}`); +}; diff --git a/examples/vite-nitro-devtools/tsconfig.json b/examples/vite-devtools/tsconfig.json similarity index 100% rename from examples/vite-nitro-devtools/tsconfig.json rename to examples/vite-devtools/tsconfig.json diff --git a/examples/vite-nitro-devtools/vite.config.ts b/examples/vite-devtools/vite.config.ts similarity index 74% rename from examples/vite-nitro-devtools/vite.config.ts rename to examples/vite-devtools/vite.config.ts index b0f2c9a974..8a814fe091 100644 --- a/examples/vite-nitro-devtools/vite.config.ts +++ b/examples/vite-devtools/vite.config.ts @@ -1,11 +1,11 @@ import { defineConfig } from "vite"; import { nitro } from "nitro/vite"; -// https://deploy-preview-127--vite-devtools.netlify.app/guide/ + +// https://vite-devtools.netlify.app/guide/ import { DevTools } from "@vitejs/devtools"; export default defineConfig({ plugins: [DevTools(), nitro()], - nitro: { serverDir: "./" }, build: { rolldownOptions: { debug: {}, // enable debug mode diff --git a/examples/vite-nitro-devtools/index.html b/examples/vite-nitro-devtools/index.html deleted file mode 100644 index da06091230..0000000000 --- a/examples/vite-nitro-devtools/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - Nitro Quotes - - - test - - diff --git a/examples/vite-nitro-devtools/routes/quote.ts b/examples/vite-nitro-devtools/routes/quote.ts deleted file mode 100644 index c012a48bdb..0000000000 --- a/examples/vite-nitro-devtools/routes/quote.ts +++ /dev/null @@ -1,19 +0,0 @@ -const QUOTES_URL = - "https://github.com/JamesFT/Database-Quotes-JSON/raw/refs/heads/master/quotes.json"; - -let _quotes: Promise | undefined; - -function getQuotes() { - return (_quotes ??= fetch(QUOTES_URL).then((res) => res.json())) as Promise< - { quoteText: string; quoteAuthor: string }[] - >; -} - -export default async function quotesHandler() { - const quotes = await getQuotes(); - const randomQuote = quotes[Math.floor(Math.random() * quotes.length)]; - return Response.json({ - text: randomQuote.quoteText, - author: randomQuote.quoteAuthor, - }); -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5b9aefb3f5..d91d5eb4b7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -446,7 +446,7 @@ importers: specifier: link:../.. version: link:../.. - examples/vite-nitro-devtools: + examples/vite-devtools: devDependencies: '@vitejs/devtools': specifier: 0.0.0-alpha.16 From ae09fe0e7527b92c56d91643c1eb205dcd530267 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 10 Nov 2025 14:51:51 +0100 Subject: [PATCH 04/10] simplify --- examples/vite-devtools/nitro.config.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/examples/vite-devtools/nitro.config.ts b/examples/vite-devtools/nitro.config.ts index 6ae54674d9..50c7c4fd97 100644 --- a/examples/vite-devtools/nitro.config.ts +++ b/examples/vite-devtools/nitro.config.ts @@ -1,6 +1,3 @@ import { defineConfig } from "nitro"; -export default defineConfig({ - // preset: "standard", - // minify: true, -}); +export default defineConfig({}); From e9251347781633cd20a0ef4812b9ab2777cf3d94 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 10 Nov 2025 14:55:03 +0100 Subject: [PATCH 05/10] add temporary exclude --- src/build/vite/dev.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/build/vite/dev.ts b/src/build/vite/dev.ts index fc8c843eeb..e956e5b050 100644 --- a/src/build/vite/dev.ts +++ b/src/build/vite/dev.ts @@ -207,7 +207,11 @@ export async function configureViteDevServer( next: () => void ) => { // Skip for vite internal requests or if already handled - if (/^\/@(?:vite|fs|id)\//.test(nodeReq.url!) || nodeReq._nitroHandled) { + if ( + /^\/@(?:vite|fs|id)\//.test(nodeReq.url!) || + nodeReq._nitroHandled || + nodeReq.url!.startsWith("/.devtools-vite/") + ) { return next(); } nodeReq._nitroHandled = true; From 6bdfeacfd7dbaf1fa4e7c2eae01ee543965a127e Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 10 Nov 2025 15:03:11 +0100 Subject: [PATCH 06/10] add example --- examples/vite-devtools/package.json | 1 + examples/vite-devtools/vite.config.ts | 22 +++++++++++++++++++++- pnpm-lock.yaml | 3 +++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/examples/vite-devtools/package.json b/examples/vite-devtools/package.json index 439acd5ddd..190f38c81e 100644 --- a/examples/vite-devtools/package.json +++ b/examples/vite-devtools/package.json @@ -9,6 +9,7 @@ }, "devDependencies": { "@vitejs/devtools": "0.0.0-alpha.16", + "@vitejs/devtools-kit": "0.0.0-alpha.16", "nitro": "latest", "vite": "npm:rolldown-vite" } diff --git a/examples/vite-devtools/vite.config.ts b/examples/vite-devtools/vite.config.ts index 8a814fe091..52d5cb94f9 100644 --- a/examples/vite-devtools/vite.config.ts +++ b/examples/vite-devtools/vite.config.ts @@ -1,14 +1,34 @@ +/// import { defineConfig } from "vite"; +import type { Plugin } from "vite"; import { nitro } from "nitro/vite"; // https://vite-devtools.netlify.app/guide/ import { DevTools } from "@vitejs/devtools"; export default defineConfig({ - plugins: [DevTools(), nitro()], + plugins: [DevTools(), nitro(), ExamplePlugin()], build: { rolldownOptions: { debug: {}, // enable debug mode }, }, }); + +// https://vite-devtools.netlify.app/kit/ +function ExamplePlugin(): Plugin { + return { + name: "nitro:docs", + devtools: { + setup(ctx) { + ctx.docks.register({ + id: "nitro:docs", + type: "iframe", + title: "Nitro", + icon: "https://v3.nitro.build/icon.svg", + url: "https://v3.nitro.build/docs/quick-start", + }); + }, + }, + }; +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d91d5eb4b7..72976c7634 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -451,6 +451,9 @@ importers: '@vitejs/devtools': specifier: 0.0.0-alpha.16 version: 0.0.0-alpha.16(@azure/identity@4.13.0)(@pnpm/logger@1001.0.1)(db0@0.3.4)(rolldown-vite@7.2.2(@types/node@24.10.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)) + '@vitejs/devtools-kit': + specifier: 0.0.0-alpha.16 + version: 0.0.0-alpha.16(rolldown-vite@7.2.2(@types/node@24.10.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3) nitro: specifier: link:../.. version: link:../.. From ca2fd2f2cc472ae72a246a7770696eb665032ad4 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 10 Nov 2025 15:04:32 +0100 Subject: [PATCH 07/10] update pkg --- examples/vite-devtools/package.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/examples/vite-devtools/package.json b/examples/vite-devtools/package.json index 190f38c81e..aa0fb75227 100644 --- a/examples/vite-devtools/package.json +++ b/examples/vite-devtools/package.json @@ -1,6 +1,4 @@ { - "name": "nitro-playground", - "version": "1.0.0", "type": "module", "scripts": { "build": "vite build", From 417b08ca073e9d7fa086f78445e96863b1482bfb Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 10 Nov 2025 15:07:32 +0100 Subject: [PATCH 08/10] add gitignore --- examples/vite-devtools/.gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 examples/vite-devtools/.gitignore diff --git a/examples/vite-devtools/.gitignore b/examples/vite-devtools/.gitignore new file mode 100644 index 0000000000..85e6e9220e --- /dev/null +++ b/examples/vite-devtools/.gitignore @@ -0,0 +1 @@ +.rolldown From e3783631b2da5dc0c2aeecc674dc895a1ddcd48f Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 10 Nov 2025 15:08:57 +0100 Subject: [PATCH 09/10] move to top gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index eafec1415c..b512f080cf 100644 --- a/.gitignore +++ b/.gitignore @@ -78,4 +78,4 @@ test/fixture/functions .pnpm-store .wrangler - +.rolldown From 11707b781afe874eba5ce896950843aafd4e3101 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 18 Nov 2025 18:55:02 +0100 Subject: [PATCH 10/10] skip tests --- examples/vite-devtools/package.json | 4 +-- pnpm-lock.yaml | 55 +++++++++++++++-------------- test/examples.test.ts | 2 +- 3 files changed, 31 insertions(+), 30 deletions(-) diff --git a/examples/vite-devtools/package.json b/examples/vite-devtools/package.json index aa0fb75227..f0eee246c4 100644 --- a/examples/vite-devtools/package.json +++ b/examples/vite-devtools/package.json @@ -6,8 +6,8 @@ "preview": "vite preview" }, "devDependencies": { - "@vitejs/devtools": "0.0.0-alpha.16", - "@vitejs/devtools-kit": "0.0.0-alpha.16", + "@vitejs/devtools": "0.0.0-alpha.17", + "@vitejs/devtools-kit": "0.0.0-alpha.17", "nitro": "latest", "vite": "npm:rolldown-vite" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 398f4f7b87..2b063efd1f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -464,11 +464,11 @@ importers: examples/vite-devtools: devDependencies: '@vitejs/devtools': - specifier: 0.0.0-alpha.16 - version: 0.0.0-alpha.16(@azure/identity@4.13.0)(@pnpm/logger@1001.0.1)(db0@0.3.4)(rolldown-vite@7.2.5(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)) + specifier: 0.0.0-alpha.17 + version: 0.0.0-alpha.17(@azure/identity@4.13.0)(@pnpm/logger@1001.0.1)(db0@0.3.4)(rolldown-vite@7.2.5(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)) '@vitejs/devtools-kit': - specifier: 0.0.0-alpha.16 - version: 0.0.0-alpha.16(rolldown-vite@7.2.5(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3) + specifier: 0.0.0-alpha.17 + version: 0.0.0-alpha.17(rolldown-vite@7.2.5(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3) nitro: specifier: link:../.. version: link:../.. @@ -3393,24 +3393,24 @@ packages: peerDependencies: vue: '>=2.7 || >=3' - '@vitejs/devtools-kit@0.0.0-alpha.16': - resolution: {integrity: sha512-/BlY4A84c04ui7E3GRTgkDU1maY9690hW1l5ZBVsdigVKFsQKHKqPiCXeyO0KI/6yilxU6mJGeZgUktzMyKy/w==} + '@vitejs/devtools-kit@0.0.0-alpha.17': + resolution: {integrity: sha512-/MCjCc9bqFcKg2p2jqFj3CLgSThJF1aPin0x9RcYa+qoWvlvctERFT2Y1lGtXHP41ppaOgiff4n7d5wkuSD+CQ==} peerDependencies: vite: '*' - '@vitejs/devtools-rpc@0.0.0-alpha.16': - resolution: {integrity: sha512-+iSGXCt1bO9zGM6/koUozqjWhNZ6ed3TIb3jYeYrrIg5A5GZn3ELUiud2rJYyGPC7Ux11x5F45SCMNVgyc8ZXQ==} + '@vitejs/devtools-rpc@0.0.0-alpha.17': + resolution: {integrity: sha512-L8b2en9zjwAQWrq+efv6hSIPmtrgC7gmqFCfVOa9wXzwarsT9oTA7W7PzJKIohaDp1yXkirYNczDPTb9KTof5A==} peerDependencies: ws: '*' peerDependenciesMeta: ws: optional: true - '@vitejs/devtools-vite@0.0.0-alpha.16': - resolution: {integrity: sha512-6WycYgNfNlNJbfBI4NvK0SVvuw61RaGtWbIkPqD9iv0S0bJsLkWE4eDHXwoe59BLDYXYCf9dfkjttqToZ+XF8g==} + '@vitejs/devtools-vite@0.0.0-alpha.17': + resolution: {integrity: sha512-hQMKu3vktHipNPtMC3FJ2t+Q/bWUGlD3/kj9k54ZDbdY8yzhf8kp/mtKMMTBhw9VrlScMXJS/svuIw8BAP5/aA==} - '@vitejs/devtools@0.0.0-alpha.16': - resolution: {integrity: sha512-f4RRJfH1uHuOqO5LMjK53th0e59UAGQtYUOHnLSXGTX1uZ3rYgCEHc3U//AAs/j3NkICGK/rj1lfcvPsUw3fGw==} + '@vitejs/devtools@0.0.0-alpha.17': + resolution: {integrity: sha512-swF7zLlANdVodTkL3+7zD9Gn6HJqTSwl16VbQqzDM/hHbv3jRZbkmhg2P4Ux3oqHcu/iwcego0xWi7PtZ6WMFA==} hasBin: true peerDependencies: vite: '*' @@ -3740,8 +3740,8 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - birpc-x@0.0.1: - resolution: {integrity: sha512-S2ydcJjchMDRNQS9IidMk9gnER4V2FVY1B9RyKIN7DvvToy8gC4dJHVjguz0ZKKGWls+vyHAJdiyjRZx/gI4GA==} + birpc-x@0.0.5: + resolution: {integrity: sha512-rpMbKwvHyrQx+j4bF4uReKvsEOMTbYimGd5Ci+PivSWm5WJlbdnv99q7cOREAxg4HaG1pjJBjdaBwgowkX0ViQ==} birpc@2.8.0: resolution: {integrity: sha512-Bz2a4qD/5GRhiHSwj30c/8kC8QGj12nNDwz3D4ErQ4Xhy35dsSDvF+RA/tWpjyU0pdGtSDiEk6B5fBGE1qNVhw==} @@ -10383,30 +10383,30 @@ snapshots: unhead: 1.11.20 vue: 3.5.24(typescript@5.9.3) - '@vitejs/devtools-kit@0.0.0-alpha.16(rolldown-vite@7.2.5(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3)': + '@vitejs/devtools-kit@0.0.0-alpha.17(rolldown-vite@7.2.5(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3)': dependencies: - '@vitejs/devtools-rpc': 0.0.0-alpha.16(ws@8.18.3) + '@vitejs/devtools-rpc': 0.0.0-alpha.17(ws@8.18.3) birpc: 2.8.0 - birpc-x: 0.0.1 + birpc-x: 0.0.5 nanoevents: 9.1.0 vite: rolldown-vite@7.2.5(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - ws - '@vitejs/devtools-rpc@0.0.0-alpha.16(ws@8.18.3)': + '@vitejs/devtools-rpc@0.0.0-alpha.17(ws@8.18.3)': dependencies: birpc: 2.8.0 structured-clone-es: 1.0.0 optionalDependencies: ws: 8.18.3 - '@vitejs/devtools-vite@0.0.0-alpha.16(@azure/identity@4.13.0)(@pnpm/logger@1001.0.1)(db0@0.3.4)(rolldown-vite@7.2.5(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))': + '@vitejs/devtools-vite@0.0.0-alpha.17(@azure/identity@4.13.0)(@pnpm/logger@1001.0.1)(db0@0.3.4)(rolldown-vite@7.2.5(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))': dependencies: '@floating-ui/dom': 1.7.4 '@pnpm/read-project-manifest': 1001.2.0(@pnpm/logger@1001.0.1) '@rolldown/debug': 1.0.0-beta.47 - '@vitejs/devtools-kit': 0.0.0-alpha.16(rolldown-vite@7.2.5(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3) - '@vitejs/devtools-rpc': 0.0.0-alpha.16(ws@8.18.3) + '@vitejs/devtools-kit': 0.0.0-alpha.17(rolldown-vite@7.2.5(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3) + '@vitejs/devtools-rpc': 0.0.0-alpha.17(ws@8.18.3) ansis: 4.2.0 birpc: 2.8.0 cac: 6.7.14 @@ -10454,13 +10454,13 @@ snapshots: - vite - vue - '@vitejs/devtools@0.0.0-alpha.16(@azure/identity@4.13.0)(@pnpm/logger@1001.0.1)(db0@0.3.4)(rolldown-vite@7.2.5(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))': + '@vitejs/devtools@0.0.0-alpha.17(@azure/identity@4.13.0)(@pnpm/logger@1001.0.1)(db0@0.3.4)(rolldown-vite@7.2.5(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))': dependencies: - '@vitejs/devtools-kit': 0.0.0-alpha.16(rolldown-vite@7.2.5(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3) - '@vitejs/devtools-rpc': 0.0.0-alpha.16(ws@8.18.3) - '@vitejs/devtools-vite': 0.0.0-alpha.16(@azure/identity@4.13.0)(@pnpm/logger@1001.0.1)(db0@0.3.4)(rolldown-vite@7.2.5(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)) + '@vitejs/devtools-kit': 0.0.0-alpha.17(rolldown-vite@7.2.5(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3) + '@vitejs/devtools-rpc': 0.0.0-alpha.17(ws@8.18.3) + '@vitejs/devtools-vite': 0.0.0-alpha.17(@azure/identity@4.13.0)(@pnpm/logger@1001.0.1)(db0@0.3.4)(rolldown-vite@7.2.5(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)) birpc: 2.8.0 - birpc-x: 0.0.1 + birpc-x: 0.0.5 cac: 6.7.14 debug: 4.4.3 launch-editor: 2.12.0 @@ -10468,6 +10468,7 @@ snapshots: nanoevents: 9.1.0 open: 10.2.0 pathe: 2.0.3 + perfect-debounce: 2.0.0 sirv: 3.0.2 vite: rolldown-vite@7.2.5(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.20.6)(yaml@2.8.1) ws: 8.18.3 @@ -10852,7 +10853,7 @@ snapshots: binary-extensions@2.3.0: {} - birpc-x@0.0.1: + birpc-x@0.0.5: dependencies: birpc: 2.8.0 diff --git a/test/examples.test.ts b/test/examples.test.ts index 4e06733fd8..550fd4dfc5 100644 --- a/test/examples.test.ts +++ b/test/examples.test.ts @@ -14,7 +14,7 @@ const { createServer, createBuilder } = useRolldown ? await import("rolldown-vite") : await import("vite"); -const skip = new Set(["websocket"]); +const skip = new Set(["websocket", "vite-devtools"]); const skipDev = new Set(["auto-imports", "cached-handler"]);