diff --git a/build.config.ts b/build.config.ts index f498d78420..a981cf04fb 100644 --- a/build.config.ts +++ b/build.config.ts @@ -5,6 +5,7 @@ export default defineBuildConfig({ name: "nitro", entries: [ "src/index", + "src/config", "src/cli/cli", { input: "src/runtime/", outDir: "dist/runtime", format: "esm" }, ], diff --git a/config.d.ts b/config.d.ts new file mode 100644 index 0000000000..0fe54cfd87 --- /dev/null +++ b/config.d.ts @@ -0,0 +1 @@ +export * from "./dist/config"; diff --git a/docs/content/1.guide/0.getting-started.md b/docs/content/1.guide/0.getting-started.md index e1cc8f8cd5..23ba2431d7 100644 --- a/docs/content/1.guide/0.getting-started.md +++ b/docs/content/1.guide/0.getting-started.md @@ -85,3 +85,22 @@ You can try it locally with: npm run preview ``` + +## Edge Release Channel + +Nitro offers an edge release channel that automatically releases for every commit to `main` branch. + +You can opt-in to the edge release channel by updating your `package.json`: + +```diff +{ + "devDependencies": { +-- "nitropack": "^2.0.0" +++ "nitropack": "npm:nitropack-edge@latest" + } +} +``` + +Remove an lockfile (`package-lock.json`, `yarn.lock`, or `pnpm-lock.yaml`) and reinstall the dependencies. + + diff --git a/docs/content/1.guide/1.configuration.md b/docs/content/1.guide/1.configuration.md index 113e5e1803..deebbf16b0 100644 --- a/docs/content/1.guide/1.configuration.md +++ b/docs/content/1.guide/1.configuration.md @@ -12,7 +12,7 @@ If you are using [Nuxt](https://nuxt.com), use the `nitro` option in your Nuxt c ::code-group ```ts [nitro.config.ts] -import { defineNitroConfig } from 'nitropack' +import { defineNitroConfig } from 'nitropack/config' export default defineNitroConfig({ // Nitro options diff --git a/docs/content/1.guide/2.auto-imports.md b/docs/content/1.guide/2.auto-imports.md index 9a841b405e..4cc07d1fe7 100644 --- a/docs/content/1.guide/2.auto-imports.md +++ b/docs/content/1.guide/2.auto-imports.md @@ -11,7 +11,8 @@ Nitro is using [unjs/unimport](https://github.com/unjs/unimport) to auto import - `defineCachedFunction(fn, options)`{lang=ts} / `cachedFunction(fn, options)`{lang=ts} - `defineCachedEventHandler(handler, options)`{lang=ts} / `cachedEventHandler(handler, options)`{lang=ts} - `defineRenderHandler(handler)`{lang=ts} -- `useRuntimeConfig()`{lang=ts} +- `useRuntimeConfig(event?)`{lang=ts} +- `useAppConfig(event?)`{lang=ts} - `useStorage(base?)`{lang=ts} - `useNitroApp()`{lang=ts} - `defineNitroPlugin(plugin)`{lang=ts} diff --git a/docs/content/1.guide/3.routing.md b/docs/content/1.guide/3.routing.md index 2c97ba618e..4871c1ac41 100644 --- a/docs/content/1.guide/3.routing.md +++ b/docs/content/1.guide/3.routing.md @@ -3,7 +3,11 @@ title: Routing icon: ri:direction-line --- -# Filesystem Routing +# Routing + +Nitro support filesystem routing as well as defining route rules for maximum flexibility and performance. + +## Filesystem Routing Nitro supports file-based routing for your API routes. @@ -13,8 +17,6 @@ Handler files inside `api/` and `routes/` directory will be automatically mapped Due to some providers like Vercel using top-level `api/` directory as a feature, Nitro also supports `routes/api/` to create API routes. :: -## Usage - ```md api/ test.ts <-- /api/test @@ -23,8 +25,9 @@ routes/ nitro.config.ts ``` +::alert If you are using [Nuxt](https://nuxt.com), move the `api/` and `routes/` inside the `server/` directory. - +:: ### Simple route @@ -96,3 +99,53 @@ Check out [h3 JSDocs](https://www.jsdocs.io/package/h3#package-index-functions) export default eventHandler(event => `Default page`) ``` +## Route Rules + +Nitro allows you to add logic at the top-level of your configuration, useful for redirecting, proxying, caching and adding headers to routes. + +It is a map from route pattern (following [unjs/radix3](https://github.com/unjs/radix3#route-matcher)) to route options. + +When `cache` option is set, handlers matching pattern will be automatically wrapped with `defineCachedEventHandler`. + + See the [Cache API](/guide/cache) for all available cache options. + +::alert +`swr: true|number` is shortcut for `cache: { swr: true, maxAge: number }` +:: + +**Example:** + +::code-group +```ts [nitro.config.ts] +import { defineNitroConfig } from 'nitropack/config' + +export default defineNitroConfig({ + routeRules: { + '/blog/**': { swr: true }, + '/blog/**': { swr: 600 }, + '/blog/**': { static: true }, + '/blog/**': { cache: { /* cache options*/ } }, + '/assets/**': { headers: { 'cache-control': 's-maxage=0' } }, + '/api/v1/**': { cors: true, headers: { 'access-control-allow-methods': 'GET' } }, + '/old-page': { redirect: '/new-page' }, + '/proxy/example': { proxy: 'https://example.com' }, + '/proxy/**': { proxy: '/api/**' }, + } +}) +``` +```ts [nuxt.config.ts] +export default defineNuxtConfig({ + routeRules: { + '/blog/**': { swr: true }, + '/blog/**': { swr: 600 }, + '/blog/**': { static: true }, + '/blog/**': { cache: { /* cache options*/ } }, + '/assets/**': { headers: { 'cache-control': 's-maxage=0' } }, + '/api/v1/**': { cors: true, headers: { 'access-control-allow-methods': 'GET' } }, + '/old-page': { redirect: '/new-page' }, + '/proxy/example': { proxy: 'https://example.com' }, + '/proxy/**': { proxy: '/api/**' }, + } +}) +``` +:: diff --git a/docs/content/1.guide/4.storage.md b/docs/content/1.guide/4.storage.md index 0e4ecd9d6f..55589c211a 100644 --- a/docs/content/1.guide/4.storage.md +++ b/docs/content/1.guide/4.storage.md @@ -27,7 +27,7 @@ You can mount storage drivers using the `storage` option: ::code-group ```ts [nitro.config.ts] -import { defineNitroConfig } from 'nitropack' +import { defineNitroConfig } from 'nitropack/config' export default defineNitroConfig({ storage: { @@ -93,7 +93,7 @@ export default defineNitroConfig({ driver: 'redis', /* redis connector options */ } - } + }, // Development devStorage: { db: { @@ -112,7 +112,7 @@ export default defineNuxtConfig({ driver: 'redis', /* redis connector options */ } - } + }, // Development devStorage: { db: { diff --git a/docs/content/1.guide/5.cache.md b/docs/content/1.guide/5.cache.md index d3e18de76a..e04bf81e2b 100644 --- a/docs/content/1.guide/5.cache.md +++ b/docs/content/1.guide/5.cache.md @@ -14,7 +14,7 @@ To overwrite the production storage, set the `cache` mountpoint using the `stora ::code-group ```ts [nitro.config.ts] -import { defineNitroConfig } from "nitropack"; +import { defineNitroConfig } from "nitropack/config"; export default defineNitroConfig({ storage: { @@ -123,7 +123,7 @@ Cache all the blog routes for 1 hour with `stale-while-revalidate` behavior: ::code-group ```ts [nitro.config.ts] -import { defineNitroConfig } from "nitropack"; +import { defineNitroConfig } from "nitropack/config"; export default defineNitroConfig({ routeRules: { @@ -156,7 +156,7 @@ If we want to use a custom storage mountpoint, we can use the `base` option. Let ::code-group ```ts [nitro.config.ts] -import { defineNitroConfig } from "nitropack"; +import { defineNitroConfig } from "nitropack/config"; export default defineNitroConfig({ storage: { diff --git a/docs/content/1.guide/6.assets.md b/docs/content/1.guide/6.assets.md index cc2d846889..34d02f7020 100644 --- a/docs/content/1.guide/6.assets.md +++ b/docs/content/1.guide/6.assets.md @@ -63,7 +63,7 @@ In order to add assets from a custom directory, path will need to be defined in ::code-group ```js [nitro.config.ts] -import { defineNitroConfig } from 'nitropack' +import { defineNitroConfig } from 'nitropack/config' export default defineNitroConfig({ serverAssets: [{ @@ -101,12 +101,12 @@ export default defineEventHandler(async () => { ::code-group ```js [nitro.config.ts] -import { defineNitroConfig } from 'nitropack' +import { defineNitroConfig } from 'nitropack/config' export default defineNitroConfig({ serverAssets: [{ baseName: 'templates', - dir: './server/templates' + dir: './templates' // Relative to `srcDir` (`server/` for nuxt) }] }) ``` @@ -115,7 +115,7 @@ export default defineNuxtConfig({ nitro: { serverAssets: [{ baseName: 'templates', - dir: './server/templates' + dir: './templates' // Relative to `srcDir` (`server/` for nuxt) }] } }) @@ -126,5 +126,7 @@ export default defineNuxtConfig({ // routes/success.ts export default defineEventHandler(async (event) => { return await useStorage().getItem(`assets/templates/success.html`) + // or + return await useStorage('assets:templates').getItem(`success.html`) }) ``` diff --git a/docs/content/1.guide/7.plugins.md b/docs/content/1.guide/7.plugins.md index 20ff253a05..040151c3b4 100644 --- a/docs/content/1.guide/7.plugins.md +++ b/docs/content/1.guide/7.plugins.md @@ -31,7 +31,7 @@ If you have plugins in another directory, you can use the `plugins` option: ::code-group ```ts [nitro.config.ts] -import { defineNitroConfig } from 'nitropack' +import { defineNitroConfig } from 'nitropack/config' export default defineNitroConfig({ plugins: ['my-plugins/hello.ts'] diff --git a/docs/content/2.deploy/0.index.md b/docs/content/2.deploy/0.index.md index d8b7472d12..96ca27c50e 100644 --- a/docs/content/2.deploy/0.index.md +++ b/docs/content/2.deploy/0.index.md @@ -38,7 +38,7 @@ NITRO_PRESET=aws-lambda nitro build **Example:** Using [nitro.config.ts](/config/) ```ts -import { defineNitroConfig } from "nitropack"; +import { defineNitroConfig } from "nitropack/config"; export default defineNitroConfig({ preset: 'node-server' diff --git a/docs/content/3.config.md b/docs/content/3.config.md index 4d23befb3c..402883708e 100644 --- a/docs/content/3.config.md +++ b/docs/content/3.config.md @@ -11,7 +11,7 @@ In order to customize Nitro's behavior, we create a file named `nitro.config.ts` ::code-group ```ts [nitro.config.ts] -import { defineNitroConfig } from "nitropack"; +import { defineNitroConfig } from "nitropack/config"; export default defineNitroConfig({ // options @@ -251,7 +251,7 @@ Path to a custom runtime error handler. Replacing nitro's built-in error page. **Example:** ```js [nitro.config] -import { defineNitroConfig } from "nitropack"; +import { defineNitroConfig } from "nitropack/config"; export default defineNitroConfig({ errorHandler: "~/error", diff --git a/docs/package.json b/docs/package.json index 308b7909fe..8e9ea6f197 100644 --- a/docs/package.json +++ b/docs/package.json @@ -10,6 +10,6 @@ "@nuxt-themes/docus": "^1.10.1", "@nuxthq/studio": "^0.10.1", "@nuxtjs/plausible": "^0.2.0", - "nuxt": "3.3.3" + "nuxt": "3.4.2" } } diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index abf040beae..bcba281639 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -6,7 +6,7 @@ importers: devDependencies: '@nuxt-themes/docus': specifier: ^1.10.1 - version: 1.10.1(nuxt@3.3.3)(postcss@8.4.21)(rollup@3.20.2)(vue@3.2.47) + version: 1.10.1(nuxt@3.4.2)(postcss@8.4.23)(rollup@3.20.2)(vue@3.2.47) '@nuxthq/studio': specifier: ^0.10.1 version: 0.10.1(rollup@3.20.2) @@ -14,8 +14,8 @@ importers: specifier: ^0.2.0 version: 0.2.0(rollup@3.20.2) nuxt: - specifier: 3.3.3 - version: 3.3.3(rollup@3.20.2)(typescript@5.0.2) + specifier: 3.4.2 + version: 3.4.2(@types/node@18.14.6)(rollup@3.20.2)(typescript@5.0.2) packages: @@ -741,8 +741,8 @@ packages: engines: {node: ^14 || ^16 || >=18} dev: true - /@esbuild/android-arm64@0.17.14: - resolution: {integrity: sha512-eLOpPO1RvtsP71afiFTvS7tVFShJBCT0txiv/xjFBo5a7R7Gjw7X0IgIaFoLKhqXYAXhahoXm7qAmRXhY4guJg==} + /@esbuild/android-arm64@0.17.17: + resolution: {integrity: sha512-jaJ5IlmaDLFPNttv0ofcwy/cfeY4bh/n705Tgh+eLObbGtQBK3EPAu+CzL95JVE4nFAliyrnEu0d32Q5foavqg==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -750,26 +750,8 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.17.15: - resolution: {integrity: sha512-0kOB6Y7Br3KDVgHeg8PRcvfLkq+AccreK///B4Z6fNZGr/tNHX0z2VywCc7PTeWp+bPvjA5WMvNXltHw5QjAIA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.17.14: - resolution: {integrity: sha512-0CnlwnjDU8cks0yJLXfkaU/uoLyRf9VZJs4p1PskBr2AlAHeEsFEwJEo0of/Z3g+ilw5mpyDwThlxzNEIxOE4g==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.17.15: - resolution: {integrity: sha512-sRSOVlLawAktpMvDyJIkdLI/c/kdRTOqo8t6ImVxg8yT7LQDUYV5Rp2FKeEosLr6ZCja9UjYAzyRSxGteSJPYg==} + /@esbuild/android-arm@0.17.17: + resolution: {integrity: sha512-E6VAZwN7diCa3labs0GYvhEPL2M94WLF8A+czO8hfjREXxba8Ng7nM5VxV+9ihNXIY1iQO1XxUU4P7hbqbICxg==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -777,8 +759,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.17.14: - resolution: {integrity: sha512-nrfQYWBfLGfSGLvRVlt6xi63B5IbfHm3tZCdu/82zuFPQ7zez4XjmRtF/wIRYbJQ/DsZrxJdEvYFE67avYXyng==} + /@esbuild/android-x64@0.17.17: + resolution: {integrity: sha512-446zpfJ3nioMC7ASvJB1pszHVskkw4u/9Eu8s5yvvsSDTzYh4p4ZIRj0DznSl3FBF0Z/mZfrKXTtt0QCoFmoHA==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -786,17 +768,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.17.15: - resolution: {integrity: sha512-MzDqnNajQZ63YkaUWVl9uuhcWyEyh69HGpMIrf+acR4otMkfLJ4sUCxqwbCyPGicE9dVlrysI3lMcDBjGiBBcQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64@0.17.14: - resolution: {integrity: sha512-eoSjEuDsU1ROwgBH/c+fZzuSyJUVXQTOIN9xuLs9dE/9HbV/A5IqdXHU1p2OfIMwBwOYJ9SFVGGldxeRCUJFyw==} + /@esbuild/darwin-arm64@0.17.17: + resolution: {integrity: sha512-m/gwyiBwH3jqfUabtq3GH31otL/0sE0l34XKpSIqR7NjQ/XHQ3lpmQHLHbG8AHTGCw8Ao059GvV08MS0bhFIJQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -804,17 +777,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.17.15: - resolution: {integrity: sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64@0.17.14: - resolution: {integrity: sha512-zN0U8RWfrDttdFNkHqFYZtOH8hdi22z0pFm0aIJPsNC4QQZv7je8DWCX5iA4Zx6tRhS0CCc0XC2m7wKsbWEo5g==} + /@esbuild/darwin-x64@0.17.17: + resolution: {integrity: sha512-4utIrsX9IykrqYaXR8ob9Ha2hAY2qLc6ohJ8c0CN1DR8yWeMrTgYFjgdeQ9LIoTOfLetXjuCu5TRPHT9yKYJVg==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -822,26 +786,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.17.15: - resolution: {integrity: sha512-NbImBas2rXwYI52BOKTW342Tm3LTeVlaOQ4QPZ7XuWNKiO226DisFk/RyPk3T0CKZkKMuU69yOvlapJEmax7cg==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64@0.17.14: - resolution: {integrity: sha512-z0VcD4ibeZWVQCW1O7szaLxGsx54gcCnajEJMdYoYjLiq4g1jrP2lMq6pk71dbS5+7op/L2Aod+erw+EUr28/A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64@0.17.15: - resolution: {integrity: sha512-Xk9xMDjBVG6CfgoqlVczHAdJnCs0/oeFOspFap5NkYAmRCT2qTn1vJWA2f419iMtsHSLm+O8B6SLV/HlY5cYKg==} + /@esbuild/freebsd-arm64@0.17.17: + resolution: {integrity: sha512-4PxjQII/9ppOrpEwzQ1b0pXCsFLqy77i0GaHodrmzH9zq2/NEhHMAMJkJ635Ns4fyJPFOlHMz4AsklIyRqFZWA==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -849,8 +795,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.17.14: - resolution: {integrity: sha512-hd9mPcxfTgJlolrPlcXkQk9BMwNBvNBsVaUe5eNUqXut6weDQH8whcNaKNF2RO8NbpT6GY8rHOK2A9y++s+ehw==} + /@esbuild/freebsd-x64@0.17.17: + resolution: {integrity: sha512-lQRS+4sW5S3P1sv0z2Ym807qMDfkmdhUYX30GRBURtLTrJOPDpoU0kI6pVz1hz3U0+YQ0tXGS9YWveQjUewAJw==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -858,17 +804,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.17.15: - resolution: {integrity: sha512-3TWAnnEOdclvb2pnfsTWtdwthPfOz7qAfcwDLcfZyGJwm1SRZIMOeB5FODVhnM93mFSPsHB9b/PmxNNbSnd0RQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64@0.17.14: - resolution: {integrity: sha512-FhAMNYOq3Iblcj9i+K0l1Fp/MHt+zBeRu/Qkf0LtrcFu3T45jcwB6A1iMsemQ42vR3GBhjNZJZTaCe3VFPbn9g==} + /@esbuild/linux-arm64@0.17.17: + resolution: {integrity: sha512-2+pwLx0whKY1/Vqt8lyzStyda1v0qjJ5INWIe+d8+1onqQxHLLi3yr5bAa4gvbzhZqBztifYEu8hh1La5+7sUw==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -876,26 +813,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.17.15: - resolution: {integrity: sha512-T0MVnYw9KT6b83/SqyznTs/3Jg2ODWrZfNccg11XjDehIved2oQfrX/wVuev9N936BpMRaTR9I1J0tdGgUgpJA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm@0.17.14: - resolution: {integrity: sha512-BNTl+wSJ1omsH8s3TkQmIIIQHwvwJrU9u1ggb9XU2KTVM4TmthRIVyxSp2qxROJHhZuW/r8fht46/QE8hU8Qvg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm@0.17.15: - resolution: {integrity: sha512-MLTgiXWEMAMr8nmS9Gigx43zPRmEfeBfGCwxFQEMgJ5MC53QKajaclW6XDPjwJvhbebv+RzK05TQjvH3/aM4Xw==} + /@esbuild/linux-arm@0.17.17: + resolution: {integrity: sha512-biDs7bjGdOdcmIk6xU426VgdRUpGg39Yz6sT9Xp23aq+IEHDb/u5cbmu/pAANpDB4rZpY/2USPhCA+w9t3roQg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -903,17 +822,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.17.14: - resolution: {integrity: sha512-91OK/lQ5y2v7AsmnFT+0EyxdPTNhov3y2CWMdizyMfxSxRqHazXdzgBKtlmkU2KYIc+9ZK3Vwp2KyXogEATYxQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ia32@0.17.15: - resolution: {integrity: sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q==} + /@esbuild/linux-ia32@0.17.17: + resolution: {integrity: sha512-IBTTv8X60dYo6P2t23sSUYym8fGfMAiuv7PzJ+0LcdAndZRzvke+wTVxJeCq4WgjppkOpndL04gMZIFvwoU34Q==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -921,8 +831,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.17.14: - resolution: {integrity: sha512-vp15H+5NR6hubNgMluqqKza85HcGJgq7t6rMH7O3Y6ApiOWPkvW2AJfNojUQimfTp6OUrACUXfR4hmpcENXoMQ==} + /@esbuild/linux-loong64@0.17.17: + resolution: {integrity: sha512-WVMBtcDpATjaGfWfp6u9dANIqmU9r37SY8wgAivuKmgKHE+bWSuv0qXEFt/p3qXQYxJIGXQQv6hHcm7iWhWjiw==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -930,26 +840,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.17.15: - resolution: {integrity: sha512-k7FsUJjGGSxwnBmMh8d7IbObWu+sF/qbwc+xKZkBe/lTAF16RqxRCnNHA7QTd3oS2AfGBAnHlXL67shV5bBThQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-mips64el@0.17.14: - resolution: {integrity: sha512-90TOdFV7N+fgi6c2+GO9ochEkmm9kBAKnuD5e08GQMgMINOdOFHuYLPQ91RYVrnWwQ5683sJKuLi9l4SsbJ7Hg==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-mips64el@0.17.15: - resolution: {integrity: sha512-ZLWk6czDdog+Q9kE/Jfbilu24vEe/iW/Sj2d8EVsmiixQ1rM2RKH2n36qfxK4e8tVcaXkvuV3mU5zTZviE+NVQ==} + /@esbuild/linux-mips64el@0.17.17: + resolution: {integrity: sha512-2kYCGh8589ZYnY031FgMLy0kmE4VoGdvfJkxLdxP4HJvWNXpyLhjOvxVsYjYZ6awqY4bgLR9tpdYyStgZZhi2A==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -957,17 +849,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.17.14: - resolution: {integrity: sha512-NnBGeoqKkTugpBOBZZoktQQ1Yqb7aHKmHxsw43NddPB2YWLAlpb7THZIzsRsTr0Xw3nqiPxbA1H31ZMOG+VVPQ==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ppc64@0.17.15: - resolution: {integrity: sha512-mY6dPkIRAiFHRsGfOYZC8Q9rmr8vOBZBme0/j15zFUKM99d4ILY4WpOC7i/LqoY+RE7KaMaSfvY8CqjJtuO4xg==} + /@esbuild/linux-ppc64@0.17.17: + resolution: {integrity: sha512-KIdG5jdAEeAKogfyMTcszRxy3OPbZhq0PPsW4iKKcdlbk3YE4miKznxV2YOSmiK/hfOZ+lqHri3v8eecT2ATwQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -975,17 +858,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.17.14: - resolution: {integrity: sha512-0qdlKScLXA8MGVy21JUKvMzCYWovctuP8KKqhtE5A6IVPq4onxXhSuhwDd2g5sRCzNDlDjitc5sX31BzDoL5Fw==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-riscv64@0.17.15: - resolution: {integrity: sha512-EcyUtxffdDtWjjwIH8sKzpDRLcVtqANooMNASO59y+xmqqRYBBM7xVLQhqF7nksIbm2yHABptoioS9RAbVMWVA==} + /@esbuild/linux-riscv64@0.17.17: + resolution: {integrity: sha512-Cj6uWLBR5LWhcD/2Lkfg2NrkVsNb2sFM5aVEfumKB2vYetkA/9Uyc1jVoxLZ0a38sUhFk4JOVKH0aVdPbjZQeA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -993,8 +867,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.17.14: - resolution: {integrity: sha512-Hdm2Jo1yaaOro4v3+6/zJk6ygCqIZuSDJHdHaf8nVH/tfOuoEX5Riv03Ka15LmQBYJObUTNS1UdyoMk0WUn9Ww==} + /@esbuild/linux-s390x@0.17.17: + resolution: {integrity: sha512-lK+SffWIr0XsFf7E0srBjhpkdFVJf3HEgXCwzkm69kNbRar8MhezFpkIwpk0qo2IOQL4JE4mJPJI8AbRPLbuOQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -1002,17 +876,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.17.15: - resolution: {integrity: sha512-BuS6Jx/ezxFuHxgsfvz7T4g4YlVrmCmg7UAwboeyNNg0OzNzKsIZXpr3Sb/ZREDXWgt48RO4UQRDBxJN3B9Rbg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-x64@0.17.14: - resolution: {integrity: sha512-8KHF17OstlK4DuzeF/KmSgzrTWQrkWj5boluiiq7kvJCiQVzUrmSkaBvcLB2UgHpKENO2i6BthPkmUhNDaJsVw==} + /@esbuild/linux-x64@0.17.17: + resolution: {integrity: sha512-XcSGTQcWFQS2jx3lZtQi7cQmDYLrpLRyz1Ns1DzZCtn898cWfm5Icx/DEWNcTU+T+tyPV89RQtDnI7qL2PObPg==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -1020,17 +885,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.17.15: - resolution: {integrity: sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/netbsd-x64@0.17.14: - resolution: {integrity: sha512-nVwpqvb3yyXztxIT2+VsxJhB5GCgzPdk1n0HHSnchRAcxqKO6ghXwHhJnr0j/B+5FSyEqSxF4q03rbA2fKXtUQ==} + /@esbuild/netbsd-x64@0.17.17: + resolution: {integrity: sha512-RNLCDmLP5kCWAJR+ItLM3cHxzXRTe4N00TQyQiimq+lyqVqZWGPAvcyfUBM0isE79eEZhIuGN09rAz8EL5KdLA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -1038,26 +894,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.17.15: - resolution: {integrity: sha512-R6fKjtUysYGym6uXf6qyNephVUQAGtf3n2RCsOST/neIwPqRWcnc3ogcielOd6pT+J0RDR1RGcy0ZY7d3uHVLA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-x64@0.17.14: - resolution: {integrity: sha512-1RZ7uQQ9zcy/GSAJL1xPdN7NDdOOtNEGiJalg/MOzeakZeTrgH/DoCkbq7TaPDiPhWqnDF+4bnydxRqQD7il6g==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-x64@0.17.15: - resolution: {integrity: sha512-mVD4PGc26b8PI60QaPUltYKeSX0wxuy0AltC+WCTFwvKCq2+OgLP4+fFd+hZXzO2xW1HPKcytZBdjqL6FQFa7w==} + /@esbuild/openbsd-x64@0.17.17: + resolution: {integrity: sha512-PAXswI5+cQq3Pann7FNdcpSUrhrql3wKjj3gVkmuz6OHhqqYxKvi6GgRBoaHjaG22HV/ZZEgF9TlS+9ftHVigA==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -1065,8 +903,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.17.14: - resolution: {integrity: sha512-nqMjDsFwv7vp7msrwWRysnM38Sd44PKmW8EzV01YzDBTcTWUpczQg6mGao9VLicXSgW/iookNK6AxeogNVNDZA==} + /@esbuild/sunos-x64@0.17.17: + resolution: {integrity: sha512-V63egsWKnx/4V0FMYkr9NXWrKTB5qFftKGKuZKFIrAkO/7EWLFnbBZNM1CvJ6Sis+XBdPws2YQSHF1Gqf1oj/Q==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1074,17 +912,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.17.15: - resolution: {integrity: sha512-U6tYPovOkw3459t2CBwGcFYfFRjivcJJc1WC8Q3funIwX8x4fP+R6xL/QuTPNGOblbq/EUDxj9GU+dWKX0oWlQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-arm64@0.17.14: - resolution: {integrity: sha512-xrD0mccTKRBBIotrITV7WVQAwNJ5+1va6L0H9zN92v2yEdjfAN7864cUaZwJS7JPEs53bDTzKFbfqVlG2HhyKQ==} + /@esbuild/win32-arm64@0.17.17: + resolution: {integrity: sha512-YtUXLdVnd6YBSYlZODjWzH+KzbaubV0YVd6UxSfoFfa5PtNJNaW+1i+Hcmjpg2nEe0YXUCNF5bkKy1NnBv1y7Q==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1092,26 +921,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.17.15: - resolution: {integrity: sha512-W+Z5F++wgKAleDABemiyXVnzXgvRFs+GVKThSI+mGgleLWluv0D7Diz4oQpgdpNzh4i2nNDzQtWbjJiqutRp6Q==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-ia32@0.17.14: - resolution: {integrity: sha512-nXpkz9bbJrLLyUTYtRotSS3t5b+FOuljg8LgLdINWFs3FfqZMtbnBCZFUmBzQPyxqU87F8Av+3Nco/M3hEcu1w==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-ia32@0.17.15: - resolution: {integrity: sha512-Muz/+uGgheShKGqSVS1KsHtCyEzcdOn/W/Xbh6H91Etm+wiIfwZaBn1W58MeGtfI8WA961YMHFYTthBdQs4t+w==} + /@esbuild/win32-ia32@0.17.17: + resolution: {integrity: sha512-yczSLRbDdReCO74Yfc5tKG0izzm+lPMYyO1fFTcn0QNwnKmc3K+HdxZWLGKg4pZVte7XVgcFku7TIZNbWEJdeQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1119,17 +930,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.17.14: - resolution: {integrity: sha512-gPQmsi2DKTaEgG14hc3CHXHp62k8g6qr0Pas+I4lUxRMugGSATh/Bi8Dgusoz9IQ0IfdrvLpco6kujEIBoaogA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-x64@0.17.15: - resolution: {integrity: sha512-DjDa9ywLUUmjhV2Y9wUTIF+1XsmuFGvZoCmOWkli1XcNAh5t25cc7fgsCx4Zi/Uurep3TTLyDiKATgGEg61pkA==} + /@esbuild/win32-x64@0.17.17: + resolution: {integrity: sha512-FNZw7H3aqhF9OyRQbDDnzUApDXfC1N6fgBhkqEO2jvYCJ+DxMTfZVqg3AX0R1khg1wHTBRD5SdcibSJ+XF6bFg==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1210,7 +1012,7 @@ packages: nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.3.8 + semver: 7.5.0 tar: 6.1.13 transitivePeerDependencies: - encoding @@ -1245,15 +1047,15 @@ packages: fastq: 1.15.0 dev: true - /@nuxt-themes/docus@1.10.1(nuxt@3.3.3)(postcss@8.4.21)(rollup@3.20.2)(vue@3.2.47): + /@nuxt-themes/docus@1.10.1(nuxt@3.4.2)(postcss@8.4.23)(rollup@3.20.2)(vue@3.2.47): resolution: {integrity: sha512-VW+KFjeSPKfxOvBo2IItTap8niFyqmSxrCJqwVqZVYWS5xZVW8MlK97mOGJsDJMd2OrjmDKhciDfTr8ZmxpPAw==} dependencies: - '@nuxt-themes/elements': 0.9.3(postcss@8.4.21)(rollup@3.20.2)(vue@3.2.47) - '@nuxt-themes/tokens': 1.9.1(postcss@8.4.21)(rollup@3.20.2)(vue@3.2.47) - '@nuxt-themes/typography': 0.11.0(postcss@8.4.21)(rollup@3.20.2)(vue@3.2.47) + '@nuxt-themes/elements': 0.9.3(postcss@8.4.23)(rollup@3.20.2)(vue@3.2.47) + '@nuxt-themes/tokens': 1.9.1(postcss@8.4.23)(rollup@3.20.2)(vue@3.2.47) + '@nuxt-themes/typography': 0.11.0(postcss@8.4.23)(rollup@3.20.2)(vue@3.2.47) '@nuxt/content': 2.5.2(rollup@3.20.2) '@nuxthq/studio': 0.9.2(rollup@3.20.2) - '@vueuse/nuxt': 9.13.0(nuxt@3.3.3)(rollup@3.20.2)(vue@3.2.47) + '@vueuse/nuxt': 9.13.0(nuxt@3.4.2)(rollup@3.20.2)(vue@3.2.47) transitivePeerDependencies: - '@vue/composition-api' - bufferutil @@ -1267,10 +1069,10 @@ packages: - vue dev: true - /@nuxt-themes/elements@0.9.3(postcss@8.4.21)(rollup@3.20.2)(vue@3.2.47): + /@nuxt-themes/elements@0.9.3(postcss@8.4.23)(rollup@3.20.2)(vue@3.2.47): resolution: {integrity: sha512-zm8rGQUnvGk6Rrr0Ng/WWSkYyeuWYK0qXnIlshHEuIhHXXXHxo4XSAwN6jmmZa1ZYmaO1KNe4WS4qWeJ1AyK4A==} dependencies: - '@nuxt-themes/tokens': 1.9.1(postcss@8.4.21)(rollup@3.20.2)(vue@3.2.47) + '@nuxt-themes/tokens': 1.9.1(postcss@8.4.23)(rollup@3.20.2)(vue@3.2.47) '@vueuse/core': 9.13.0(vue@3.2.47) transitivePeerDependencies: - '@vue/composition-api' @@ -1281,12 +1083,12 @@ packages: - vue dev: true - /@nuxt-themes/tokens@1.9.1(postcss@8.4.21)(rollup@3.20.2)(vue@3.2.47): + /@nuxt-themes/tokens@1.9.1(postcss@8.4.23)(rollup@3.20.2)(vue@3.2.47): resolution: {integrity: sha512-5C28kfRvKnTX8Tux+xwyaf+2pxKgQ53dC9l6C33sZwRRyfUJulGDZCFjKbuNq4iqVwdGvkFSQBYBYjFAv6t75g==} dependencies: '@nuxtjs/color-mode': 3.2.0(rollup@3.20.2) '@vueuse/core': 9.13.0(vue@3.2.47) - pinceau: 0.18.8(postcss@8.4.21) + pinceau: 0.18.8(postcss@8.4.23) transitivePeerDependencies: - '@vue/composition-api' - postcss @@ -1296,13 +1098,13 @@ packages: - vue dev: true - /@nuxt-themes/typography@0.11.0(postcss@8.4.21)(rollup@3.20.2)(vue@3.2.47): + /@nuxt-themes/typography@0.11.0(postcss@8.4.23)(rollup@3.20.2)(vue@3.2.47): resolution: {integrity: sha512-TqyvD7sDWnqGmL00VtuI7JdmNTPL5/g957HCAWNzcNp+S20uJjW/FXSdkM76d4JSVDHvBqw7Wer3RsqVhqvA4w==} dependencies: '@nuxtjs/color-mode': 3.2.0(rollup@3.20.2) nuxt-config-schema: 0.4.5(rollup@3.20.2) nuxt-icon: 0.3.3(rollup@3.20.2)(vue@3.2.47) - pinceau: 0.18.8(postcss@8.4.21) + pinceau: 0.18.8(postcss@8.4.23) ufo: 1.1.1 transitivePeerDependencies: - postcss @@ -1416,6 +1218,33 @@ packages: - supports-color dev: true + /@nuxt/kit@3.4.2(rollup@3.20.2): + resolution: {integrity: sha512-bFUpkyG2ZF6RYqiW+tXnWssccHQQqMF4kZJJLP/0eKXf+Fkt/Is0R7IY768jy8ylnyqeMBbmpg4Zv5gSZjfZQw==} + engines: {node: ^14.18.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} + dependencies: + '@nuxt/schema': 3.4.2(rollup@3.20.2) + c12: 1.4.1 + consola: 3.1.0 + defu: 6.1.2 + globby: 13.1.4 + hash-sum: 2.0.0 + ignore: 5.2.4 + jiti: 1.18.2 + knitwork: 1.0.0 + lodash.template: 4.5.0 + mlly: 1.2.0 + pathe: 1.1.0 + pkg-types: 1.0.2 + scule: 1.0.0 + semver: 7.5.0 + unctx: 2.3.0 + unimport: 3.0.6(rollup@3.20.2) + untyped: 1.3.2 + transitivePeerDependencies: + - rollup + - supports-color + dev: true + /@nuxt/schema@3.2.3(rollup@3.20.2): resolution: {integrity: sha512-AXzRnBivCwn5RpNFWjUkvOPGPSHl5BM+6GfOpSNglPXi0tiQJ+rawSl7no7BkxGDmQ44Bx9AXwvHTrgjpcuo4g==} engines: {node: ^14.18.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} @@ -1453,36 +1282,54 @@ packages: scule: 1.0.0 std-env: 3.3.2 ufo: 1.1.1 - unimport: 3.0.4(rollup@3.20.2) + unimport: 3.0.6(rollup@3.20.2) + untyped: 1.3.2 + transitivePeerDependencies: + - rollup + - supports-color + dev: true + + /@nuxt/schema@3.4.2(rollup@3.20.2): + resolution: {integrity: sha512-DXB/fyjrAssFt9KGXyS+ZSfm1A0NYKhEoc01wyz1lGo//oETzUh3MmwE6X3x65NPqDlYZ6Mnj+IdftRRophv5Q==} + engines: {node: ^14.18.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} + dependencies: + defu: 6.1.2 + hookable: 5.5.3 + pathe: 1.1.0 + pkg-types: 1.0.2 + postcss-import-resolver: 2.0.0 + std-env: 3.3.2 + ufo: 1.1.1 + unimport: 3.0.6(rollup@3.20.2) untyped: 1.3.2 transitivePeerDependencies: - rollup - supports-color dev: true - /@nuxt/telemetry@2.1.10(rollup@3.20.2): - resolution: {integrity: sha512-FOsfC0i6Ix66M/ZlWV/095JIdfnRR9CRbFvBSpojt2CpbwU1pGMbRiicwYg2f1Wf27LXQRNpNn1OczruBfEWag==} + /@nuxt/telemetry@2.2.0(rollup@3.20.2): + resolution: {integrity: sha512-Z2UmPkBy5WjxvHKuUcl1X6vKWnIyWSP+9UGde1F+MzzZxYgAQybFud1uL2B3KCowxZdoqT1hd2WklV7EtyCwrQ==} hasBin: true dependencies: - '@nuxt/kit': 3.3.3(rollup@3.20.2) + '@nuxt/kit': 3.4.2(rollup@3.20.2) chalk: 5.2.0 ci-info: 3.8.0 - consola: 2.15.3 + consola: 3.1.0 create-require: 1.1.1 defu: 6.1.2 destr: 1.2.2 dotenv: 16.0.3 fs-extra: 10.1.0 git-url-parse: 13.1.0 - inquirer: 9.1.4 + inquirer: 9.1.5 is-docker: 3.0.0 jiti: 1.18.2 mri: 1.2.0 - nanoid: 4.0.1 - node-fetch: 3.3.0 + nanoid: 4.0.2 + node-fetch: 3.3.1 ofetch: 1.0.1 parse-git-config: 3.0.0 - rc9: 2.0.1 + rc9: 2.1.0 std-env: 3.3.2 transitivePeerDependencies: - rollup @@ -1493,22 +1340,21 @@ packages: resolution: {integrity: sha512-PjVETP7+iZXAs5Q8O4ivl4t6qjWZMZqwiTVogUXHoHGZZcw7GZW3u3tzfYfE1HbzyYJfr236IXqQ02MeR8Fz2w==} dev: true - /@nuxt/vite-builder@3.3.3(rollup@3.20.2)(typescript@5.0.2)(vue@3.2.47): - resolution: {integrity: sha512-SQA8kb7WN4/DzeBtyolAT8SKb0ViP0CVRUAaTv3OTwsE06pz1jpBLJug58Gfhta+VOhWlqwgI6ZtFiOR7gzQUA==} + /@nuxt/vite-builder@3.4.2(@types/node@18.14.6)(rollup@3.20.2)(typescript@5.0.2)(vue@3.2.47): + resolution: {integrity: sha512-uLyy0sklOvGqj+yHAxSBE+wxyHvHZmYEfFjx03UEdMbYwpJlhPcqrt0pnWFJAkPWf8ZgpKymr8LNngsyYtNtAA==} engines: {node: ^14.18.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} peerDependencies: vue: ^3.2.47 dependencies: - '@nuxt/kit': 3.3.3(rollup@3.20.2) + '@nuxt/kit': 3.4.2(rollup@3.20.2) '@rollup/plugin-replace': 5.0.2(rollup@3.20.2) - '@vitejs/plugin-vue': 4.1.0(vite@4.2.1)(vue@3.2.47) - '@vitejs/plugin-vue-jsx': 3.0.1(vite@4.2.1)(vue@3.2.47) - autoprefixer: 10.4.14(postcss@8.4.21) - chokidar: 3.5.3 + '@vitejs/plugin-vue': 4.1.0(vite@4.3.1)(vue@3.2.47) + '@vitejs/plugin-vue-jsx': 3.0.1(vite@4.3.1)(vue@3.2.47) + autoprefixer: 10.4.14(postcss@8.4.23) clear: 0.1.0 - cssnano: 6.0.0(postcss@8.4.21) + cssnano: 6.0.0(postcss@8.4.23) defu: 6.1.2 - esbuild: 0.17.15 + esbuild: 0.17.17 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 externality: 1.0.0 @@ -1518,21 +1364,21 @@ packages: knitwork: 1.0.0 magic-string: 0.30.0 mlly: 1.2.0 - ohash: 1.0.0 + ohash: 1.1.1 pathe: 1.1.0 perfect-debounce: 0.1.3 pkg-types: 1.0.2 - postcss: 8.4.21 - postcss-import: 15.1.0(postcss@8.4.21) - postcss-url: 10.1.3(postcss@8.4.21) + postcss: 8.4.23 + postcss-import: 15.1.0(postcss@8.4.23) + postcss-url: 10.1.3(postcss@8.4.23) rollup-plugin-visualizer: 5.9.0(rollup@3.20.2) std-env: 3.3.2 strip-literal: 1.0.1 ufo: 1.1.1 unplugin: 1.3.1 - vite: 4.2.1 - vite-node: 0.29.8 - vite-plugin-checker: 0.5.6(typescript@5.0.2)(vite@4.2.1) + vite: 4.3.1(@types/node@18.14.6) + vite-node: 0.30.1(@types/node@18.14.6) + vite-plugin-checker: 0.5.6(typescript@5.0.2)(vite@4.3.1) vue: 3.2.47 vue-bundle-renderer: 1.0.3 transitivePeerDependencies: @@ -1589,7 +1435,7 @@ packages: /@nuxtjs/color-mode@3.2.0(rollup@3.20.2): resolution: {integrity: sha512-isDR01yfadopiHQ/VEVUpyNSPrk5PCjUHS4t1qYRZwuRGefU4s9Iaxf6H9nmr1QFzoMgTm+3T0r/54jLwtpZbA==} dependencies: - '@nuxt/kit': 3.3.3(rollup@3.20.2) + '@nuxt/kit': 3.4.2(rollup@3.20.2) lodash.template: 4.5.0 pathe: 1.1.0 transitivePeerDependencies: @@ -1635,6 +1481,19 @@ packages: slash: 4.0.0 dev: true + /@rollup/plugin-alias@5.0.0(rollup@3.20.2): + resolution: {integrity: sha512-l9hY5chSCjuFRPsnRm16twWBiSApl2uYFLsepQYwtBuAxNMQ/1dJqADld40P0Jkqm65GRTLy/AC6hnpVebtLsA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + rollup: 3.20.2 + slash: 4.0.0 + dev: true + /@rollup/plugin-commonjs@24.0.1(rollup@3.20.2): resolution: {integrity: sha512-15LsiWRZk4eOGqvrJyu3z3DaBu5BhXIMeWnijSRvd8irrrg9SHpQ1pH+BUK4H6Z9wL9yOxZJMTLU+Au86XHxow==} engines: {node: '>=14.0.0'} @@ -1681,8 +1540,8 @@ packages: rollup: 3.20.2 dev: true - /@rollup/plugin-node-resolve@15.0.1(rollup@3.20.2): - resolution: {integrity: sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==} + /@rollup/plugin-node-resolve@15.0.2(rollup@3.20.2): + resolution: {integrity: sha512-Y35fRGUjC3FaurG722uhUuG8YHOJRJQbI6/CkbRkdPotSpDj9NtIN85z1zrcyDcCQIW4qp5mgG72U+gJ0TAFEg==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.78.0||^3.0.0 @@ -1713,8 +1572,8 @@ packages: rollup: 3.20.2 dev: true - /@rollup/plugin-terser@0.4.0(rollup@3.20.2): - resolution: {integrity: sha512-Ipcf3LPNerey1q9ZMjiaWHlNPEHNU/B5/uh9zXLltfEQ1lVSLLeZSgAtTPWGyw8Ip1guOeq+mDtdOlEj/wNxQw==} + /@rollup/plugin-terser@0.4.1(rollup@3.20.2): + resolution: {integrity: sha512-aKS32sw5a7hy+fEXVy+5T95aDIwjpGHCTv833HXVtyKMDoVS7pBr5K3L9hEQoNqbJFjfANPrNpIXlTQ7is00eA==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.x || ^3.x @@ -1815,7 +1674,6 @@ packages: /@types/node@18.14.6: resolution: {integrity: sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA==} dev: true - optional: true /@types/parse5@6.0.3: resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} @@ -1840,42 +1698,42 @@ packages: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} dev: true - /@unhead/dom@1.1.25: - resolution: {integrity: sha512-kJ5jhJFNQCyNENSw+mtmzgulA0kqUuXS3SRPl1umpofc8PH8tblSzXwqStxTj9r6E4wxJbEuygT/aHFJVioizw==} + /@unhead/dom@1.1.26: + resolution: {integrity: sha512-6I8z170OAO19h/AslASN4Xw0hqItQFMKhRJQtplQs1BZ62LsDmNKuqJiYueX39U+IfIvIV3j/q1mQwt9lgMwTw==} dependencies: - '@unhead/schema': 1.1.25 - '@unhead/shared': 1.1.25 + '@unhead/schema': 1.1.26 + '@unhead/shared': 1.1.26 dev: true - /@unhead/schema@1.1.25: - resolution: {integrity: sha512-ygmaxWgGTAq9CcB6zGY4+0HlGdQt/oMq+CM18tTnvOBY0Og/uPGt7roW8eH717GpTPibKRTpagSYzZYdL0tWeg==} + /@unhead/schema@1.1.26: + resolution: {integrity: sha512-l93zaizm+pu36uMssdtzSC2Y61ncZaBBouZn0pB8rVI14V0hPxeXuSNIuPh2WjAm8wfb8EnCSE3LNguoqTar7g==} dependencies: hookable: 5.5.3 zhead: 2.0.4 dev: true - /@unhead/shared@1.1.25: - resolution: {integrity: sha512-KptKbk4py1MFYHYwDJ/0kPOs+95dYMrWIT1fCV9lGcVAwu20wIHh+WX18s+iEWhc66xkGRxgC/xsl4wJJFPE+w==} + /@unhead/shared@1.1.26: + resolution: {integrity: sha512-gnUfNrl8w7hQHke9P0au7klcG9bHVOXqbDvya2uARA/8TyxNz87i0uakraO+P6/+zf484dw3b3MYkXq0thK2eg==} dependencies: - '@unhead/schema': 1.1.25 + '@unhead/schema': 1.1.26 dev: true - /@unhead/ssr@1.1.25: - resolution: {integrity: sha512-2S3tiajy6n3D1WY2pVkRLr74WGaHD08w0+nFaQGNy0LszPlkWUuAmYYqDCXdh03ijEl+Tjwqjn+E9w1e3QakuQ==} + /@unhead/ssr@1.1.26: + resolution: {integrity: sha512-KYJDGgVNtU2i+NHu17o2zFXqsoLukOFEz81XrWQ8nQdY5+VNjy7IiTLp1dlx3umn1ohZjHySz4LXQCT4zUApSw==} dependencies: - '@unhead/schema': 1.1.25 - '@unhead/shared': 1.1.25 + '@unhead/schema': 1.1.26 + '@unhead/shared': 1.1.26 dev: true - /@unhead/vue@1.1.25(vue@3.2.47): - resolution: {integrity: sha512-ujincFHftg2N2i3G/gVkMyJ7CFzVyZ8SMb5cJCWZEnDBQGjgy3uvWT6EaM0d2jnaeXiYbB+iyY0O1o/H+XlpKQ==} + /@unhead/vue@1.1.26(vue@3.2.47): + resolution: {integrity: sha512-UpxQ0KGmOoiN+Dg19zto5KTcnGV5chBmgiVJTDqUF4BPfr24vRrR65sZGdMoNV7weuD3AD/K0osk2ru+vXxRrA==} peerDependencies: vue: '>=2.7 || >=3' dependencies: - '@unhead/schema': 1.1.25 - '@unhead/shared': 1.1.25 + '@unhead/schema': 1.1.26 + '@unhead/shared': 1.1.26 hookable: 5.5.3 - unhead: 1.1.25 + unhead: 1.1.26 vue: 3.2.47 dev: true @@ -1904,7 +1762,7 @@ packages: - supports-color dev: true - /@vitejs/plugin-vue-jsx@3.0.1(vite@4.2.1)(vue@3.2.47): + /@vitejs/plugin-vue-jsx@3.0.1(vite@4.3.1)(vue@3.2.47): resolution: {integrity: sha512-+Jb7ggL48FSPS1uhPnJbJwWa9Sr90vQ+d0InW+AhBM22n+cfuYqJZDckBc+W3QSHe1WDvewMZfa4wZOtk5pRgw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -1914,20 +1772,20 @@ packages: '@babel/core': 7.21.4 '@babel/plugin-transform-typescript': 7.21.0(@babel/core@7.21.4) '@vue/babel-plugin-jsx': 1.1.1(@babel/core@7.21.4) - vite: 4.2.1 + vite: 4.3.1(@types/node@18.14.6) vue: 3.2.47 transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue@4.1.0(vite@4.2.1)(vue@3.2.47): + /@vitejs/plugin-vue@4.1.0(vite@4.3.1)(vue@3.2.47): resolution: {integrity: sha512-++9JOAFdcXI3lyer9UKUV4rfoQ3T1RN8yDqoCLar86s0xQct5yblxAE+yWgRnU5/0FOlVCpTZpYSBV/bGWrSrQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.2.1 + vite: 4.3.1(@types/node@18.14.6) vue: 3.2.47 dev: true @@ -2031,7 +1889,7 @@ packages: '@vue/shared': 3.2.47 estree-walker: 2.0.2 magic-string: 0.25.9 - postcss: 8.4.21 + postcss: 8.4.23 source-map: 0.6.1 dev: true @@ -2107,7 +1965,7 @@ packages: resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==} dev: true - /@vueuse/nuxt@9.13.0(nuxt@3.3.3)(rollup@3.20.2)(vue@3.2.47): + /@vueuse/nuxt@9.13.0(nuxt@3.4.2)(rollup@3.20.2)(vue@3.2.47): resolution: {integrity: sha512-JunH/w6nFIwCyaZ0s+pfrYFMfBzGfhkwmFPz7ogHFmb71Ty/5HINrYOAOZCXpN44X6QH6FiJq/wuLLdvYzqFUw==} peerDependencies: nuxt: ^3.0.0 @@ -2116,7 +1974,7 @@ packages: '@vueuse/core': 9.13.0(vue@3.2.47) '@vueuse/metadata': 9.13.0 local-pkg: 0.4.3 - nuxt: 3.3.3(rollup@3.20.2)(typescript@5.0.2) + nuxt: 3.4.2(@types/node@18.14.6)(rollup@3.20.2)(typescript@5.0.2) vue-demi: 0.13.11(vue@3.2.47) transitivePeerDependencies: - '@vue/composition-api' @@ -2282,7 +2140,7 @@ packages: dev: true optional: true - /autoprefixer@10.4.14(postcss@8.4.21): + /autoprefixer@10.4.14(postcss@8.4.23): resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -2294,7 +2152,7 @@ packages: fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.21 + postcss: 8.4.23 postcss-value-parser: 4.2.0 dev: true @@ -2419,7 +2277,7 @@ packages: mlly: 1.2.0 pathe: 1.1.0 pkg-types: 1.0.2 - rc9: 2.0.1 + rc9: 2.1.0 transitivePeerDependencies: - supports-color dev: true @@ -2439,6 +2297,24 @@ packages: - supports-color dev: true + /c12@1.4.1: + resolution: {integrity: sha512-0x7pWfLZpZsgtyotXtuepJc0rZYE0Aw8PwNAXs0jSG9zq6Sl5xmbWnFqfmRY01ieZLHNbvneSFm9/x88CvzAuw==} + dependencies: + chokidar: 3.5.3 + defu: 6.1.2 + dotenv: 16.0.3 + giget: 1.1.2 + jiti: 1.18.2 + mlly: 1.2.0 + ohash: 1.1.1 + pathe: 1.1.0 + perfect-debounce: 0.1.3 + pkg-types: 1.0.2 + rc9: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: true + /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -2729,6 +2605,10 @@ packages: resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} dev: true + /consola@3.1.0: + resolution: {integrity: sha512-rrrJE6rP0qzl/Srg+C9x/AE5Kxfux7reVm1Wh0wCjuXvih6DqZgqDZe8auTD28fzJ9TF0mHlSDrPpWlujQRo1Q==} + dev: true + /console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: true @@ -2784,13 +2664,13 @@ packages: which: 2.0.2 dev: true - /css-declaration-sorter@6.3.1(postcss@8.4.21): + /css-declaration-sorter@6.3.1(postcss@8.4.23): resolution: {integrity: sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==} engines: {node: ^10 || ^12 || >=14} peerDependencies: postcss: ^8.0.9 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 dev: true /css-select@5.1.0: @@ -2830,62 +2710,62 @@ packages: hasBin: true dev: true - /cssnano-preset-default@6.0.0(postcss@8.4.21): + /cssnano-preset-default@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-BDxlaFzObRDXUiCCBQUNQcI+f1/aX2mgoNtXGjV6PG64POcHoDUoX+LgMWw+Q4609QhxwkcSnS65YFs42RA6qQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - css-declaration-sorter: 6.3.1(postcss@8.4.21) - cssnano-utils: 4.0.0(postcss@8.4.21) - postcss: 8.4.21 - postcss-calc: 8.2.4(postcss@8.4.21) - postcss-colormin: 6.0.0(postcss@8.4.21) - postcss-convert-values: 6.0.0(postcss@8.4.21) - postcss-discard-comments: 6.0.0(postcss@8.4.21) - postcss-discard-duplicates: 6.0.0(postcss@8.4.21) - postcss-discard-empty: 6.0.0(postcss@8.4.21) - postcss-discard-overridden: 6.0.0(postcss@8.4.21) - postcss-merge-longhand: 6.0.0(postcss@8.4.21) - postcss-merge-rules: 6.0.0(postcss@8.4.21) - postcss-minify-font-values: 6.0.0(postcss@8.4.21) - postcss-minify-gradients: 6.0.0(postcss@8.4.21) - postcss-minify-params: 6.0.0(postcss@8.4.21) - postcss-minify-selectors: 6.0.0(postcss@8.4.21) - postcss-normalize-charset: 6.0.0(postcss@8.4.21) - postcss-normalize-display-values: 6.0.0(postcss@8.4.21) - postcss-normalize-positions: 6.0.0(postcss@8.4.21) - postcss-normalize-repeat-style: 6.0.0(postcss@8.4.21) - postcss-normalize-string: 6.0.0(postcss@8.4.21) - postcss-normalize-timing-functions: 6.0.0(postcss@8.4.21) - postcss-normalize-unicode: 6.0.0(postcss@8.4.21) - postcss-normalize-url: 6.0.0(postcss@8.4.21) - postcss-normalize-whitespace: 6.0.0(postcss@8.4.21) - postcss-ordered-values: 6.0.0(postcss@8.4.21) - postcss-reduce-initial: 6.0.0(postcss@8.4.21) - postcss-reduce-transforms: 6.0.0(postcss@8.4.21) - postcss-svgo: 6.0.0(postcss@8.4.21) - postcss-unique-selectors: 6.0.0(postcss@8.4.21) - dev: true - - /cssnano-utils@4.0.0(postcss@8.4.21): + css-declaration-sorter: 6.3.1(postcss@8.4.23) + cssnano-utils: 4.0.0(postcss@8.4.23) + postcss: 8.4.23 + postcss-calc: 8.2.4(postcss@8.4.23) + postcss-colormin: 6.0.0(postcss@8.4.23) + postcss-convert-values: 6.0.0(postcss@8.4.23) + postcss-discard-comments: 6.0.0(postcss@8.4.23) + postcss-discard-duplicates: 6.0.0(postcss@8.4.23) + postcss-discard-empty: 6.0.0(postcss@8.4.23) + postcss-discard-overridden: 6.0.0(postcss@8.4.23) + postcss-merge-longhand: 6.0.0(postcss@8.4.23) + postcss-merge-rules: 6.0.0(postcss@8.4.23) + postcss-minify-font-values: 6.0.0(postcss@8.4.23) + postcss-minify-gradients: 6.0.0(postcss@8.4.23) + postcss-minify-params: 6.0.0(postcss@8.4.23) + postcss-minify-selectors: 6.0.0(postcss@8.4.23) + postcss-normalize-charset: 6.0.0(postcss@8.4.23) + postcss-normalize-display-values: 6.0.0(postcss@8.4.23) + postcss-normalize-positions: 6.0.0(postcss@8.4.23) + postcss-normalize-repeat-style: 6.0.0(postcss@8.4.23) + postcss-normalize-string: 6.0.0(postcss@8.4.23) + postcss-normalize-timing-functions: 6.0.0(postcss@8.4.23) + postcss-normalize-unicode: 6.0.0(postcss@8.4.23) + postcss-normalize-url: 6.0.0(postcss@8.4.23) + postcss-normalize-whitespace: 6.0.0(postcss@8.4.23) + postcss-ordered-values: 6.0.0(postcss@8.4.23) + postcss-reduce-initial: 6.0.0(postcss@8.4.23) + postcss-reduce-transforms: 6.0.0(postcss@8.4.23) + postcss-svgo: 6.0.0(postcss@8.4.23) + postcss-unique-selectors: 6.0.0(postcss@8.4.23) + dev: true + + /cssnano-utils@4.0.0(postcss@8.4.23): resolution: {integrity: sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 dev: true - /cssnano@6.0.0(postcss@8.4.21): + /cssnano@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-RGlcbzGhzEBCHuQe3k+Udyj5M00z0pm9S+VurHXFEOXxH+y0sVrJH2sMzoyz2d8N1EScazg+DVvmgyx0lurwwA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-preset-default: 6.0.0(postcss@8.4.21) + cssnano-preset-default: 6.0.0(postcss@8.4.23) lilconfig: 2.1.0 - postcss: 8.4.21 + postcss: 8.4.23 dev: true /csso@5.0.5: @@ -3016,6 +2896,10 @@ packages: engines: {node: '>=8'} dev: true + /devalue@4.3.0: + resolution: {integrity: sha512-n94yQo4LI3w7erwf84mhRUkUJfhLoCZiLyoOZ/QFsDbcWNZePrLwbQpvZBUG2TNxwV3VjCKPxkiiQA6pe3TrTA==} + dev: true + /diff@5.1.0: resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} engines: {node: '>=0.3.1'} @@ -3172,64 +3056,34 @@ packages: resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==} dev: true - /esbuild@0.17.14: - resolution: {integrity: sha512-vOO5XhmVj/1XQR9NQ1UPq6qvMYL7QFJU57J5fKBKBKxp17uDt5PgxFDb4A2nEiXhr1qQs4x0F5+66hVVw4ruNw==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.17.14 - '@esbuild/android-arm64': 0.17.14 - '@esbuild/android-x64': 0.17.14 - '@esbuild/darwin-arm64': 0.17.14 - '@esbuild/darwin-x64': 0.17.14 - '@esbuild/freebsd-arm64': 0.17.14 - '@esbuild/freebsd-x64': 0.17.14 - '@esbuild/linux-arm': 0.17.14 - '@esbuild/linux-arm64': 0.17.14 - '@esbuild/linux-ia32': 0.17.14 - '@esbuild/linux-loong64': 0.17.14 - '@esbuild/linux-mips64el': 0.17.14 - '@esbuild/linux-ppc64': 0.17.14 - '@esbuild/linux-riscv64': 0.17.14 - '@esbuild/linux-s390x': 0.17.14 - '@esbuild/linux-x64': 0.17.14 - '@esbuild/netbsd-x64': 0.17.14 - '@esbuild/openbsd-x64': 0.17.14 - '@esbuild/sunos-x64': 0.17.14 - '@esbuild/win32-arm64': 0.17.14 - '@esbuild/win32-ia32': 0.17.14 - '@esbuild/win32-x64': 0.17.14 - dev: true - - /esbuild@0.17.15: - resolution: {integrity: sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw==} + /esbuild@0.17.17: + resolution: {integrity: sha512-/jUywtAymR8jR4qsa2RujlAF7Krpt5VWi72Q2yuLD4e/hvtNcFQ0I1j8m/bxq238pf3/0KO5yuXNpuLx8BE1KA==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.17.15 - '@esbuild/android-arm64': 0.17.15 - '@esbuild/android-x64': 0.17.15 - '@esbuild/darwin-arm64': 0.17.15 - '@esbuild/darwin-x64': 0.17.15 - '@esbuild/freebsd-arm64': 0.17.15 - '@esbuild/freebsd-x64': 0.17.15 - '@esbuild/linux-arm': 0.17.15 - '@esbuild/linux-arm64': 0.17.15 - '@esbuild/linux-ia32': 0.17.15 - '@esbuild/linux-loong64': 0.17.15 - '@esbuild/linux-mips64el': 0.17.15 - '@esbuild/linux-ppc64': 0.17.15 - '@esbuild/linux-riscv64': 0.17.15 - '@esbuild/linux-s390x': 0.17.15 - '@esbuild/linux-x64': 0.17.15 - '@esbuild/netbsd-x64': 0.17.15 - '@esbuild/openbsd-x64': 0.17.15 - '@esbuild/sunos-x64': 0.17.15 - '@esbuild/win32-arm64': 0.17.15 - '@esbuild/win32-ia32': 0.17.15 - '@esbuild/win32-x64': 0.17.15 + '@esbuild/android-arm': 0.17.17 + '@esbuild/android-arm64': 0.17.17 + '@esbuild/android-x64': 0.17.17 + '@esbuild/darwin-arm64': 0.17.17 + '@esbuild/darwin-x64': 0.17.17 + '@esbuild/freebsd-arm64': 0.17.17 + '@esbuild/freebsd-x64': 0.17.17 + '@esbuild/linux-arm': 0.17.17 + '@esbuild/linux-arm64': 0.17.17 + '@esbuild/linux-ia32': 0.17.17 + '@esbuild/linux-loong64': 0.17.17 + '@esbuild/linux-mips64el': 0.17.17 + '@esbuild/linux-ppc64': 0.17.17 + '@esbuild/linux-riscv64': 0.17.17 + '@esbuild/linux-s390x': 0.17.17 + '@esbuild/linux-x64': 0.17.17 + '@esbuild/netbsd-x64': 0.17.17 + '@esbuild/openbsd-x64': 0.17.17 + '@esbuild/sunos-x64': 0.17.17 + '@esbuild/win32-arm64': 0.17.17 + '@esbuild/win32-ia32': 0.17.17 + '@esbuild/win32-x64': 0.17.17 dev: true /escalade@3.1.1: @@ -3312,6 +3166,21 @@ packages: strip-final-newline: 3.0.0 dev: true + /execa@7.1.1: + resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + dev: true + /extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true @@ -3543,7 +3412,7 @@ packages: defu: 6.1.2 https-proxy-agent: 5.0.1 mri: 1.2.0 - node-fetch-native: 1.0.2 + node-fetch-native: 1.1.0 pathe: 1.1.0 tar: 6.1.13 transitivePeerDependencies: @@ -3617,6 +3486,17 @@ packages: slash: 4.0.0 dev: true + /globby@13.1.4: + resolution: {integrity: sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.2.12 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 4.0.0 + dev: true + /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: @@ -3851,6 +3731,11 @@ packages: engines: {node: '>=12.20.0'} dev: true + /human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} + dev: true + /iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -3882,9 +3767,9 @@ packages: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: true - /inquirer@9.1.4: - resolution: {integrity: sha512-9hiJxE5gkK/cM2d1mTEnuurGTAoHebbkX0BYl3h7iEg7FYfuNIom+nDfBCSWtvSnoSrWCeBxqqBZu26xdlJlXA==} - engines: {node: '>=12.0.0'} + /inquirer@9.1.5: + resolution: {integrity: sha512-3ygAIh8gcZavV9bj6MTdYddG2zPSYswP808fKS46NOwlF0zZljVpnLCHODDqItWJDbDpLb3aouAxGaJbkxoppA==} + engines: {node: '>=14.18.0'} dependencies: ansi-escapes: 6.0.0 chalk: 5.2.0 @@ -3893,7 +3778,7 @@ packages: external-editor: 3.1.0 figures: 5.0.0 lodash: 4.17.21 - mute-stream: 0.0.8 + mute-stream: 1.0.0 ora: 6.1.2 run-async: 2.4.1 rxjs: 7.8.0 @@ -4173,7 +4058,7 @@ packages: jws: 3.2.2 lodash: 4.17.21 ms: 2.1.3 - semver: 7.3.8 + semver: 7.5.0 dev: true optional: true @@ -4211,6 +4096,11 @@ packages: dev: true optional: true + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: true + /kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} @@ -4921,9 +4811,9 @@ packages: optional: true dependencies: defu: 6.1.2 - esbuild: 0.17.15 + esbuild: 0.17.17 fs-extra: 11.1.1 - globby: 13.1.3 + globby: 13.1.4 jiti: 1.18.2 mri: 1.2.0 pathe: 1.1.0 @@ -4960,36 +4850,37 @@ packages: resolution: {integrity: sha512-YVE1mIJ4VpUMqZObFndk9CJu6DBJR/GB13p3tXuNbwD4XExaI5EOuRl6BHeIDxIqXZVxSfAC+y6U1Z/IxCfKUg==} dev: true - /mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + /mute-stream@1.0.0: + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /nanoid@3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: true - /nanoid@4.0.1: - resolution: {integrity: sha512-udKGtCCUafD3nQtJg9wBhRP3KMbPglUsgV5JVsXhvyBs/oefqb4sqMEhKBBgqZncYowu58p1prsZQBYvAj/Gww==} + /nanoid@4.0.2: + resolution: {integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==} engines: {node: ^14 || ^16 || >=18} hasBin: true dev: true - /nitropack@2.3.2: - resolution: {integrity: sha512-bps3OvC3JocB3Hl6/FUaQpbLw1Xsr6KXV3hTDnh54N0B0uAGWN9aF1LVHKBpWSS5JJvjwd+ZewOUFsPRM2NJ9Q==} + /nitropack@2.3.3: + resolution: {integrity: sha512-1g/4zdwWo+tWSvno57rhRXeGk6jNbG5W1yRNtOywInT1nyoEG1ksOwQ3W3JHGB2E1GNjZwAVi611UVOVL+JgYw==} engines: {node: ^14.16.0 || ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} hasBin: true dependencies: '@cloudflare/kv-asset-handler': 0.3.0 '@netlify/functions': 1.4.0 - '@rollup/plugin-alias': 4.0.3(rollup@3.20.2) + '@rollup/plugin-alias': 5.0.0(rollup@3.20.2) '@rollup/plugin-commonjs': 24.0.1(rollup@3.20.2) '@rollup/plugin-inject': 5.0.3(rollup@3.20.2) '@rollup/plugin-json': 6.0.0(rollup@3.20.2) - '@rollup/plugin-node-resolve': 15.0.1(rollup@3.20.2) + '@rollup/plugin-node-resolve': 15.0.2(rollup@3.20.2) '@rollup/plugin-replace': 5.0.2(rollup@3.20.2) - '@rollup/plugin-terser': 0.4.0(rollup@3.20.2) + '@rollup/plugin-terser': 0.4.1(rollup@3.20.2) '@rollup/plugin-wasm': 6.1.2(rollup@3.20.2) '@rollup/pluginutils': 5.0.2(rollup@3.20.2) '@vercel/nft': 0.22.6 @@ -4997,16 +4888,16 @@ packages: c12: 1.2.0 chalk: 5.2.0 chokidar: 3.5.3 - consola: 2.15.3 + consola: 3.1.0 cookie-es: 0.5.0 defu: 6.1.2 destr: 1.2.2 dot-prop: 7.2.0 - esbuild: 0.17.14 + esbuild: 0.17.17 escape-string-regexp: 5.0.0 etag: 1.8.1 fs-extra: 11.1.1 - globby: 13.1.3 + globby: 13.1.4 gzip-size: 7.0.0 h3: 1.6.4 hookable: 5.5.3 @@ -5019,9 +4910,9 @@ packages: mime: 3.0.0 mlly: 1.2.0 mri: 1.2.0 - node-fetch-native: 1.0.2 + node-fetch-native: 1.1.0 ofetch: 1.0.1 - ohash: 1.0.0 + ohash: 1.1.1 pathe: 1.1.0 perfect-debounce: 0.1.3 pkg-types: 1.0.2 @@ -5030,14 +4921,14 @@ packages: rollup: 3.20.2 rollup-plugin-visualizer: 5.9.0(rollup@3.20.2) scule: 1.0.0 - semver: 7.3.8 + semver: 7.5.0 serve-placeholder: 2.0.1 serve-static: 1.15.0 source-map-support: 0.5.21 std-env: 3.3.2 ufo: 1.1.1 - unenv: 1.2.2 - unimport: 3.0.4(rollup@3.20.2) + unenv: 1.4.1 + unimport: 3.0.6(rollup@3.20.2) unstorage: 1.4.1 transitivePeerDependencies: - '@azure/app-configuration' @@ -5079,6 +4970,10 @@ packages: resolution: {integrity: sha512-KIkvH1jl6b3O7es/0ShyCgWLcfXxlBrLBbP3rOr23WArC66IMcU4DeZEeYEOwnopYhawLTn7/y+YtmASe8DFVQ==} dev: true + /node-fetch-native@1.1.0: + resolution: {integrity: sha512-nl5goFCig93JZ9FIV8GHT9xpNqXbxQUzkOmKIMKmncsBH9jhg7qKex8hirpymkBFmNQ114chEEG5lS4wgK2I+Q==} + dev: true + /node-fetch@2.6.9: resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} engines: {node: 4.x || >=6.0.0} @@ -5091,8 +4986,8 @@ packages: whatwg-url: 5.0.0 dev: true - /node-fetch@3.3.0: - resolution: {integrity: sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==} + /node-fetch@3.3.1: + resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: data-uri-to-buffer: 4.0.1 @@ -5161,8 +5056,8 @@ packages: boolbase: 1.0.0 dev: true - /nuxi@3.3.3: - resolution: {integrity: sha512-j0wp7TS3u9DWxmSY+NHLyu5y4UkbWOhciDdc9uFdrTZKKYl7XYTAR6UoG9fpFEO7624eDqsAE0ASG4tbq6klkg==} + /nuxi@3.4.2: + resolution: {integrity: sha512-kwKEbfS3EhiQX8BMwcAPgfWiFlV8gBa2dI0kPNYD3Egab5Vixs3P2h6dGq7RsEYZEJ6aU876J44ySF7l8bmDGg==} engines: {node: ^14.18.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} hasBin: true optionalDependencies: @@ -5199,7 +5094,7 @@ packages: resolution: {integrity: sha512-KdhJAigBGTP8/YIFZ3orwetk40AgLq6VQ5HRYuDLmv5hiDptor9Ro+WIdZggHw7nciRxZvDdQkEwi9B5G/jrkQ==} dependencies: '@iconify/vue': 4.1.0(vue@3.2.47) - '@nuxt/kit': 3.3.3(rollup@3.20.2) + '@nuxt/kit': 3.4.2(rollup@3.20.2) nuxt-config-schema: 0.4.5(rollup@3.20.2) transitivePeerDependencies: - rollup @@ -5207,48 +5102,58 @@ packages: - vue dev: true - /nuxt@3.3.3(rollup@3.20.2)(typescript@5.0.2): - resolution: {integrity: sha512-dsBOUzioESYT0O5t4E/t0i/EJagKcW0f2UF5lPe7BfH9UnicfLoC2u/3KxOND3hn/shCoJAQJlLIsPa4xsgQcg==} + /nuxt@3.4.2(@types/node@18.14.6)(rollup@3.20.2)(typescript@5.0.2): + resolution: {integrity: sha512-4v+oeBL4ZI8nHzF0Dm1p5kF9VCNlzrpvOt7wu3BnmzlueXsu4A/LfmFvpfZLxws+r5U74eM5Ut/LMD8B8LrZIw==} engines: {node: ^14.18.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} hasBin: true + peerDependencies: + '@parcel/watcher': ^2.1.0 + '@types/node': ^14.18.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@parcel/watcher': + optional: true dependencies: '@nuxt/devalue': 2.0.0 - '@nuxt/kit': 3.3.3(rollup@3.20.2) - '@nuxt/schema': 3.3.3(rollup@3.20.2) - '@nuxt/telemetry': 2.1.10(rollup@3.20.2) + '@nuxt/kit': 3.4.2(rollup@3.20.2) + '@nuxt/schema': 3.4.2(rollup@3.20.2) + '@nuxt/telemetry': 2.2.0(rollup@3.20.2) '@nuxt/ui-templates': 1.1.1 - '@nuxt/vite-builder': 3.3.3(rollup@3.20.2)(typescript@5.0.2)(vue@3.2.47) - '@unhead/ssr': 1.1.25 - '@unhead/vue': 1.1.25(vue@3.2.47) - '@vue/reactivity': 3.2.47 + '@nuxt/vite-builder': 3.4.2(@types/node@18.14.6)(rollup@3.20.2)(typescript@5.0.2)(vue@3.2.47) + '@types/node': 18.14.6 + '@unhead/ssr': 1.1.26 + '@unhead/vue': 1.1.26(vue@3.2.47) '@vue/shared': 3.2.47 chokidar: 3.5.3 cookie-es: 0.5.0 defu: 6.1.2 destr: 1.2.2 + devalue: 4.3.0 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 fs-extra: 11.1.1 - globby: 13.1.3 + globby: 13.1.4 h3: 1.6.4 - hash-sum: 2.0.0 hookable: 5.5.3 jiti: 1.18.2 + klona: 2.0.6 knitwork: 1.0.0 + local-pkg: 0.4.3 magic-string: 0.30.0 mlly: 1.2.0 - nitropack: 2.3.2 - nuxi: 3.3.3 + nitropack: 2.3.3 + nuxi: 3.4.2 + nypm: 0.2.0 ofetch: 1.0.1 - ohash: 1.0.0 + ohash: 1.1.1 pathe: 1.1.0 perfect-debounce: 0.1.3 + prompts: 2.4.2 scule: 1.0.0 strip-literal: 1.0.1 ufo: 1.1.1 - unctx: 2.1.2 - unenv: 1.2.2 - unimport: 3.0.4(rollup@3.20.2) + unctx: 2.3.0 + unenv: 1.4.1 + unimport: 3.0.6(rollup@3.20.2) unplugin: 1.3.1 untyped: 1.3.2 vue: 3.2.47 @@ -5263,7 +5168,6 @@ packages: - '@azure/keyvault-secrets' - '@azure/storage-blob' - '@planetscale/database' - - '@types/node' - debug - encoding - eslint @@ -5283,6 +5187,13 @@ packages: - vue-tsc dev: true + /nypm@0.2.0: + resolution: {integrity: sha512-auBv78LkHyU9TywBE91N+RTkanVyFLsVayZaHW+YYvJDJ3u2PCwLaYB3eecPQD9tgCIXGuH871HlHTdKSf6rtw==} + engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} + dependencies: + execa: 7.1.1 + dev: true + /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -5305,7 +5216,7 @@ packages: resolution: {integrity: sha512-icBz2JYfEpt+wZz1FRoGcrMigjNKjzvufE26m9+yUiacRQRHwnNlGRPiDnW4op7WX/MR6aniwS8xw8jyVelF2g==} dependencies: destr: 1.2.2 - node-fetch-native: 1.0.2 + node-fetch-native: 1.1.0 ufo: 1.1.1 dev: true @@ -5313,6 +5224,10 @@ packages: resolution: {integrity: sha512-kxSyzq6tt+6EE/xCnD1XaFhCCjUNUaz3X30rJp6mnjGLXAAvuPFqohMdv0aScWzajR45C29HyBaXZ8jXBwnh9A==} dev: true + /ohash@1.1.1: + resolution: {integrity: sha512-N9UDJn2IV6oO6pNclJ80tRXraNNJqw/asscr3Lu7+ibRQdEswejJuuXNclMQTJVTsVhQs+ZJThVziy6t2v2KXA==} + dev: true + /on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -5487,7 +5402,7 @@ packages: engines: {node: '>=0.10.0'} dev: true - /pinceau@0.18.8(postcss@8.4.21): + /pinceau@0.18.8(postcss@8.4.23): resolution: {integrity: sha512-aVIRYxz80nweDjabJzauKtsSVS48JdWWVwWnHxG/e1HI9/aV0/RmdTD3P/8KXfYZ9OySl3MjCgUc7MZb+IwwEw==} dependencies: '@unocss/reset': 0.50.4 @@ -5498,13 +5413,13 @@ packages: csstype: 3.1.1 defu: 6.1.2 magic-string: 0.30.0 - nanoid: 4.0.1 - ohash: 1.0.0 + nanoid: 4.0.2 + ohash: 1.1.1 paneer: 0.1.0 pathe: 1.1.0 - postcss-custom-properties: 13.1.4(postcss@8.4.21) - postcss-dark-theme-class: 0.7.3(postcss@8.4.21) - postcss-nested: 6.0.1(postcss@8.4.21) + postcss-custom-properties: 13.1.4(postcss@8.4.23) + postcss-dark-theme-class: 0.7.3(postcss@8.4.23) + postcss-nested: 6.0.1(postcss@8.4.23) recast: 0.22.0 scule: 1.0.0 style-dictionary-esm: 1.3.7 @@ -5529,17 +5444,17 @@ packages: engines: {node: '>=10'} dev: true - /postcss-calc@8.2.4(postcss@8.4.21): + /postcss-calc@8.2.4(postcss@8.4.23): resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} peerDependencies: postcss: ^8.2.2 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 dev: true - /postcss-colormin@6.0.0(postcss@8.4.21): + /postcss-colormin@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: @@ -5548,22 +5463,22 @@ packages: browserslist: 4.21.5 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.21 + postcss: 8.4.23 postcss-value-parser: 4.2.0 dev: true - /postcss-convert-values@6.0.0(postcss@8.4.21): + /postcss-convert-values@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: browserslist: 4.21.5 - postcss: 8.4.21 + postcss: 8.4.23 postcss-value-parser: 4.2.0 dev: true - /postcss-custom-properties@13.1.4(postcss@8.4.21): + /postcss-custom-properties@13.1.4(postcss@8.4.23): resolution: {integrity: sha512-iSAdaZrM3KMec8cOSzeTUNXPYDlhqsMJHpt62yrjwG6nAnMtRHPk5JdMzGosBJtqEahDolvD5LNbcq+EZ78o5g==} engines: {node: ^14 || ^16 || >=18} peerDependencies: @@ -5572,53 +5487,53 @@ packages: '@csstools/cascade-layer-name-parser': 1.0.1(@csstools/css-parser-algorithms@2.0.1)(@csstools/css-tokenizer@2.1.0) '@csstools/css-parser-algorithms': 2.0.1(@csstools/css-tokenizer@2.1.0) '@csstools/css-tokenizer': 2.1.0 - postcss: 8.4.21 + postcss: 8.4.23 postcss-value-parser: 4.2.0 dev: true - /postcss-dark-theme-class@0.7.3(postcss@8.4.21): + /postcss-dark-theme-class@0.7.3(postcss@8.4.23): resolution: {integrity: sha512-M9vtfh8ORzQsVdT9BWb+xpEDAzC7nHBn7wVc988/JkEVLPupKcUnV0jw7RZ8sSj0ovpqN1POf6PLdt19JCHfhQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 dev: true - /postcss-discard-comments@6.0.0(postcss@8.4.21): + /postcss-discard-comments@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 dev: true - /postcss-discard-duplicates@6.0.0(postcss@8.4.21): + /postcss-discard-duplicates@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 dev: true - /postcss-discard-empty@6.0.0(postcss@8.4.21): + /postcss-discard-empty@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 dev: true - /postcss-discard-overridden@6.0.0(postcss@8.4.21): + /postcss-discard-overridden@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 dev: true /postcss-import-resolver@2.0.0: @@ -5627,30 +5542,30 @@ packages: enhanced-resolve: 4.5.0 dev: true - /postcss-import@15.1.0(postcss@8.4.21): + /postcss-import@15.1.0(postcss@8.4.23): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.1 dev: true - /postcss-merge-longhand@6.0.0(postcss@8.4.21): + /postcss-merge-longhand@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-value-parser: 4.2.0 - stylehacks: 6.0.0(postcss@8.4.21) + stylehacks: 6.0.0(postcss@8.4.23) dev: true - /postcss-merge-rules@6.0.0(postcss@8.4.21): + /postcss-merge-rules@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-rCXkklftzEkniyv3f4mRCQzxD6oE4Quyh61uyWTUbCJ26Pv2hoz+fivJSsSBWxDBeScR4fKCfF3HHTcD7Ybqnw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: @@ -5658,167 +5573,167 @@ packages: dependencies: browserslist: 4.21.5 caniuse-api: 3.0.0 - cssnano-utils: 4.0.0(postcss@8.4.21) - postcss: 8.4.21 + cssnano-utils: 4.0.0(postcss@8.4.23) + postcss: 8.4.23 postcss-selector-parser: 6.0.11 dev: true - /postcss-minify-font-values@6.0.0(postcss@8.4.21): + /postcss-minify-font-values@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-value-parser: 4.2.0 dev: true - /postcss-minify-gradients@6.0.0(postcss@8.4.21): + /postcss-minify-gradients@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: colord: 2.9.3 - cssnano-utils: 4.0.0(postcss@8.4.21) - postcss: 8.4.21 + cssnano-utils: 4.0.0(postcss@8.4.23) + postcss: 8.4.23 postcss-value-parser: 4.2.0 dev: true - /postcss-minify-params@6.0.0(postcss@8.4.21): + /postcss-minify-params@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: browserslist: 4.21.5 - cssnano-utils: 4.0.0(postcss@8.4.21) - postcss: 8.4.21 + cssnano-utils: 4.0.0(postcss@8.4.23) + postcss: 8.4.23 postcss-value-parser: 4.2.0 dev: true - /postcss-minify-selectors@6.0.0(postcss@8.4.21): + /postcss-minify-selectors@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-selector-parser: 6.0.11 dev: true - /postcss-nested@6.0.1(postcss@8.4.21): + /postcss-nested@6.0.1(postcss@8.4.23): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-selector-parser: 6.0.11 dev: true - /postcss-normalize-charset@6.0.0(postcss@8.4.21): + /postcss-normalize-charset@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 dev: true - /postcss-normalize-display-values@6.0.0(postcss@8.4.21): + /postcss-normalize-display-values@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-positions@6.0.0(postcss@8.4.21): + /postcss-normalize-positions@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-repeat-style@6.0.0(postcss@8.4.21): + /postcss-normalize-repeat-style@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-string@6.0.0(postcss@8.4.21): + /postcss-normalize-string@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-timing-functions@6.0.0(postcss@8.4.21): + /postcss-normalize-timing-functions@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-unicode@6.0.0(postcss@8.4.21): + /postcss-normalize-unicode@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: browserslist: 4.21.5 - postcss: 8.4.21 + postcss: 8.4.23 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-url@6.0.0(postcss@8.4.21): + /postcss-normalize-url@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-whitespace@6.0.0(postcss@8.4.21): + /postcss-normalize-whitespace@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-value-parser: 4.2.0 dev: true - /postcss-ordered-values@6.0.0(postcss@8.4.21): + /postcss-ordered-values@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-utils: 4.0.0(postcss@8.4.21) - postcss: 8.4.21 + cssnano-utils: 4.0.0(postcss@8.4.23) + postcss: 8.4.23 postcss-value-parser: 4.2.0 dev: true - /postcss-reduce-initial@6.0.0(postcss@8.4.21): + /postcss-reduce-initial@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: @@ -5826,16 +5741,16 @@ packages: dependencies: browserslist: 4.21.5 caniuse-api: 3.0.0 - postcss: 8.4.21 + postcss: 8.4.23 dev: true - /postcss-reduce-transforms@6.0.0(postcss@8.4.21): + /postcss-reduce-transforms@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-value-parser: 4.2.0 dev: true @@ -5847,28 +5762,28 @@ packages: util-deprecate: 1.0.2 dev: true - /postcss-svgo@6.0.0(postcss@8.4.21): + /postcss-svgo@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==} engines: {node: ^14 || ^16 || >= 18} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-value-parser: 4.2.0 svgo: 3.0.2 dev: true - /postcss-unique-selectors@6.0.0(postcss@8.4.21): + /postcss-unique-selectors@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-selector-parser: 6.0.11 dev: true - /postcss-url@10.1.3(postcss@8.4.21): + /postcss-url@10.1.3(postcss@8.4.23): resolution: {integrity: sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==} engines: {node: '>=10'} peerDependencies: @@ -5877,7 +5792,7 @@ packages: make-dir: 3.1.0 mime: 2.5.2 minimatch: 3.0.8 - postcss: 8.4.21 + postcss: 8.4.23 xxhashjs: 0.2.2 dev: true @@ -5885,11 +5800,11 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.21: - resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} + /postcss@8.4.23: + resolution: {integrity: sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 + nanoid: 3.3.6 picocolors: 1.0.0 source-map-js: 1.0.2 dev: true @@ -5914,6 +5829,14 @@ packages: dev: true optional: true + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: true + /property-information@6.2.0: resolution: {integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==} dev: true @@ -5969,6 +5892,14 @@ packages: flat: 5.0.2 dev: true + /rc9@2.1.0: + resolution: {integrity: sha512-ROO9bv8PPqngWKoiUZU3JDQ4sugpdRs9DfwHnzDSxK25XtQn6BEHL6EOd/OtKuDT2qodrtNR+0WkPT6l0jxH5Q==} + dependencies: + defu: 6.1.2 + destr: 1.2.2 + flat: 5.0.2 + dev: true + /read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} dependencies: @@ -6294,6 +6225,14 @@ packages: lru-cache: 6.0.0 dev: true + /semver@7.5.0: + resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -6375,6 +6314,10 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true + /slash@4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} @@ -6559,14 +6502,14 @@ packages: tinycolor2: 1.6.0 dev: true - /stylehacks@6.0.0(postcss@8.4.21): + /stylehacks@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: browserslist: 4.21.5 - postcss: 8.4.21 + postcss: 8.4.23 postcss-selector-parser: 6.0.11 dev: true @@ -6761,14 +6704,14 @@ packages: '@rollup/plugin-alias': 4.0.3(rollup@3.20.2) '@rollup/plugin-commonjs': 24.0.1(rollup@3.20.2) '@rollup/plugin-json': 6.0.0(rollup@3.20.2) - '@rollup/plugin-node-resolve': 15.0.1(rollup@3.20.2) + '@rollup/plugin-node-resolve': 15.0.2(rollup@3.20.2) '@rollup/plugin-replace': 5.0.2(rollup@3.20.2) '@rollup/pluginutils': 5.0.2(rollup@3.20.2) chalk: 5.2.0 consola: 2.15.3 defu: 6.1.2 - esbuild: 0.17.15 - globby: 13.1.3 + esbuild: 0.17.17 + globby: 13.1.4 hookable: 5.5.3 jiti: 1.18.2 magic-string: 0.29.0 @@ -6801,21 +6744,30 @@ packages: unplugin: 1.3.1 dev: true - /unenv@1.2.2: - resolution: {integrity: sha512-SYqIFLFC4wYtLyxD6RyAfoK/dkgvW85BfNdiYvroyfrL4cyLkoigSldSBBiUTgtxwb4pcE0zexw502DghVWeuA==} + /unctx@2.3.0: + resolution: {integrity: sha512-xs79V1T5JEQ/5aQ3j4ipbQEaReMosMz/ktOdsZMEtKv1PfbdRrKY/PaU0CxdspkX3zEink2keQU4nRzAXgui1A==} + dependencies: + acorn: 8.8.2 + estree-walker: 3.0.3 + magic-string: 0.30.0 + unplugin: 1.3.1 + dev: true + + /unenv@1.4.1: + resolution: {integrity: sha512-DuFZUDfaBC92zy3fW7QqKTLdYJIPkpwTN0yGZtaxnpOI7HvIfl41NYh9NVv4zcqhT8CGXJ1ELpvO2tecaB6NfA==} dependencies: defu: 6.1.2 mime: 3.0.0 - node-fetch-native: 1.0.2 + node-fetch-native: 1.1.0 pathe: 1.1.0 dev: true - /unhead@1.1.25: - resolution: {integrity: sha512-KtTBgtQjxICoOjA4dyxJfj5fYoYJeYFUt/J8ulaTzbvTsXM9K+ztYjI65nf2CPYYXRCRz/iEt8trqcsGlsB5TQ==} + /unhead@1.1.26: + resolution: {integrity: sha512-MshcPoPLXSGRgYtczddGvMgLUISTbt2pxihqD5kZVXKmY2FZLj1OQIY111aX45Xq47XJxjvYavvoyeUFroKQcg==} dependencies: - '@unhead/dom': 1.1.25 - '@unhead/schema': 1.1.25 - '@unhead/shared': 1.1.25 + '@unhead/dom': 1.1.26 + '@unhead/schema': 1.1.26 + '@unhead/shared': 1.1.26 hookable: 5.5.3 dev: true @@ -6867,6 +6819,24 @@ packages: - rollup dev: true + /unimport@3.0.6(rollup@3.20.2): + resolution: {integrity: sha512-GYxGJ1Bri1oqx8VFDjdgooGzeK7jBk3bvhXmamTIpu3nONOcUMGwZbX7X0L5RA7OWMXpR4vzpSQP7pXUzJg1/Q==} + dependencies: + '@rollup/pluginutils': 5.0.2(rollup@3.20.2) + escape-string-regexp: 5.0.0 + fast-glob: 3.2.12 + local-pkg: 0.4.3 + magic-string: 0.30.0 + mlly: 1.2.0 + pathe: 1.1.0 + pkg-types: 1.0.2 + scule: 1.0.0 + strip-literal: 1.0.1 + unplugin: 1.3.1 + transitivePeerDependencies: + - rollup + dev: true + /unist-builder@3.0.1: resolution: {integrity: sha512-gnpOw7DIpCA0vpr6NqdPvTWnlPTApCTRzr+38E6hCWx3rz/cjo83SsKIlS1Z+L5ttScQ2AwutNnb8+tAvpb6qQ==} dependencies: @@ -6946,7 +6916,7 @@ packages: listhen: 1.0.4 lru-cache: 7.18.3 mri: 1.2.0 - node-fetch-native: 1.0.2 + node-fetch-native: 1.1.0 ofetch: 1.0.1 ufo: 1.1.1 optionalDependencies: @@ -6996,7 +6966,7 @@ packages: listhen: 1.0.4 lru-cache: 7.18.3 mri: 1.2.0 - node-fetch-native: 1.0.2 + node-fetch-native: 1.1.0 ofetch: 1.0.1 ufo: 1.1.1 transitivePeerDependencies: @@ -7114,9 +7084,9 @@ packages: vfile-message: 3.1.4 dev: true - /vite-node@0.29.8: - resolution: {integrity: sha512-b6OtCXfk65L6SElVM20q5G546yu10/kNrhg08afEoWlFRJXFq9/6glsvSVY+aI6YeC1tu2TtAqI2jHEQmOmsFw==} - engines: {node: '>=v14.16.0'} + /vite-node@0.30.1(@types/node@18.14.6): + resolution: {integrity: sha512-vTikpU/J7e6LU/8iM3dzBo8ZhEiKZEKRznEMm+mJh95XhWaPrJQraT/QsT2NWmuEf+zgAoMe64PKT7hfZ1Njmg==} + engines: {node: '>=v14.18.0'} hasBin: true dependencies: cac: 6.7.14 @@ -7124,7 +7094,7 @@ packages: mlly: 1.2.0 pathe: 1.1.0 picocolors: 1.0.0 - vite: 4.2.1 + vite: 4.3.1(@types/node@18.14.6) transitivePeerDependencies: - '@types/node' - less @@ -7135,7 +7105,7 @@ packages: - terser dev: true - /vite-plugin-checker@0.5.6(typescript@5.0.2)(vite@4.2.1): + /vite-plugin-checker@0.5.6(typescript@5.0.2)(vite@4.3.1): resolution: {integrity: sha512-ftRyON0gORUHDxcDt2BErmsikKSkfvl1i2DoP6Jt2zDO9InfvM6tqO1RkXhSjkaXEhKPea6YOnhFaZxW3BzudQ==} engines: {node: '>=14.16'} peerDependencies: @@ -7179,15 +7149,15 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.0.2 - vite: 4.2.1 + vite: 4.3.1(@types/node@18.14.6) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.8 vscode-uri: 3.0.7 dev: true - /vite@4.2.1: - resolution: {integrity: sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==} + /vite@4.3.1(@types/node@18.14.6): + resolution: {integrity: sha512-EPmfPLAI79Z/RofuMvkIS0Yr091T2ReUoXQqc5ppBX/sjFRhHKiPPF/R46cTdoci/XgeQpB23diiJxq5w30vdg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -7211,9 +7181,9 @@ packages: terser: optional: true dependencies: - esbuild: 0.17.15 - postcss: 8.4.21 - resolve: 1.22.1 + '@types/node': 18.14.6 + esbuild: 0.17.17 + postcss: 8.4.23 rollup: 3.20.2 optionalDependencies: fsevents: 2.3.2 @@ -7229,7 +7199,7 @@ packages: engines: {vscode: ^1.52.0} dependencies: minimatch: 3.1.2 - semver: 7.3.8 + semver: 7.5.0 vscode-languageserver-protocol: 3.16.0 dev: true diff --git a/examples/api-routes/nitro.config.ts b/examples/api-routes/nitro.config.ts index 0d2ca51b59..c19a01864d 100644 --- a/examples/api-routes/nitro.config.ts +++ b/examples/api-routes/nitro.config.ts @@ -1,3 +1,3 @@ -import { defineNitroConfig } from "nitropack"; +import { defineNitroConfig } from "nitropack/config"; export default defineNitroConfig({}); diff --git a/examples/auto-imports/nitro.config.ts b/examples/auto-imports/nitro.config.ts index 0d2ca51b59..c19a01864d 100644 --- a/examples/auto-imports/nitro.config.ts +++ b/examples/auto-imports/nitro.config.ts @@ -1,3 +1,3 @@ -import { defineNitroConfig } from "nitropack"; +import { defineNitroConfig } from "nitropack/config"; export default defineNitroConfig({}); diff --git a/examples/cached-handler/nitro.config.ts b/examples/cached-handler/nitro.config.ts index 0d2ca51b59..c19a01864d 100644 --- a/examples/cached-handler/nitro.config.ts +++ b/examples/cached-handler/nitro.config.ts @@ -1,3 +1,3 @@ -import { defineNitroConfig } from "nitropack"; +import { defineNitroConfig } from "nitropack/config"; export default defineNitroConfig({}); diff --git a/examples/custom-error-handler/nitro.config.ts b/examples/custom-error-handler/nitro.config.ts index ba0adbda20..758b26de41 100644 --- a/examples/custom-error-handler/nitro.config.ts +++ b/examples/custom-error-handler/nitro.config.ts @@ -1,4 +1,4 @@ -import { defineNitroConfig } from "nitropack"; +import { defineNitroConfig } from "nitropack/config"; import errorHandler from "./error"; export default defineNitroConfig({ diff --git a/examples/hello-world/nitro.config.ts b/examples/hello-world/nitro.config.ts index 0d2ca51b59..c19a01864d 100644 --- a/examples/hello-world/nitro.config.ts +++ b/examples/hello-world/nitro.config.ts @@ -1,3 +1,3 @@ -import { defineNitroConfig } from "nitropack"; +import { defineNitroConfig } from "nitropack/config"; export default defineNitroConfig({}); diff --git a/examples/middleware/nitro.config.ts b/examples/middleware/nitro.config.ts index 0d2ca51b59..c19a01864d 100644 --- a/examples/middleware/nitro.config.ts +++ b/examples/middleware/nitro.config.ts @@ -1,3 +1,3 @@ -import { defineNitroConfig } from "nitropack"; +import { defineNitroConfig } from "nitropack/config"; export default defineNitroConfig({}); diff --git a/examples/plugins/nitro.config.ts b/examples/plugins/nitro.config.ts index 05e210f7fe..95ae3dedf4 100644 --- a/examples/plugins/nitro.config.ts +++ b/examples/plugins/nitro.config.ts @@ -1,4 +1,4 @@ -import { defineNitroConfig } from "nitropack"; +import { defineNitroConfig } from "nitropack/config"; export default defineNitroConfig({ plugins: ["~/plugins/test"], diff --git a/package.json b/package.json index 158115e2e2..6c16a6ca24 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,10 @@ "types": "./dist/index.d.ts", "import": "./dist/index.mjs" }, + "./config": { + "types": "./dist/config.d.ts", + "import": "./dist/config.mjs" + }, "./cli": "./dist/cli.mjs", "./runtime/*": "./dist/runtime/*.mjs", "./dist/runtime/*": "./dist/runtime/*.mjs", @@ -22,7 +26,8 @@ "nitropack": "./dist/cli.mjs" }, "files": [ - "dist" + "dist", + "*.d.ts" ], "scripts": { "build": "unbuild", @@ -42,7 +47,7 @@ }, "resolutions": { "nitropack": "link:.", - "undici": "^5.21.2" + "undici": "^5.22.0" }, "dependencies": { "@cloudflare/kv-asset-handler": "^0.3.0", @@ -58,16 +63,16 @@ "@rollup/pluginutils": "^5.0.2", "@vercel/nft": "^0.22.6", "archiver": "^5.3.1", - "c12": "^1.2.0", + "c12": "^1.4.1", "chalk": "^5.2.0", "chokidar": "^3.5.3", "citty": "^0.1.1", - "consola": "^3.0.2", + "consola": "^3.1.0", "cookie-es": "^0.5.0", "defu": "^6.1.2", "destr": "^1.2.2", "dot-prop": "^7.2.0", - "esbuild": "^0.17.16", + "esbuild": "^0.17.17", "escape-string-regexp": "^5.0.0", "etag": "^1.8.1", "fs-extra": "^11.1.1", @@ -86,17 +91,17 @@ "mri": "^1.2.0", "node-fetch-native": "^1.1.0", "ofetch": "^1.0.1", - "ohash": "^1.0.0", + "ohash": "^1.1.1", "openapi-typescript": "^6.2.1", "pathe": "^1.1.0", "perfect-debounce": "^0.1.3", "pkg-types": "^1.0.2", "pretty-bytes": "^6.1.0", "radix3": "^1.0.1", - "rollup": "^3.20.3", + "rollup": "^3.20.7", "rollup-plugin-visualizer": "^5.9.0", "scule": "^1.0.0", - "semver": "^7.4.0", + "semver": "^7.5.0", "serve-placeholder": "^2.0.1", "serve-static": "^1.15.0", "source-map-support": "^0.5.21", @@ -126,10 +131,10 @@ "prettier": "^2.8.7", "typescript": "^5.0.4", "unbuild": "^1.2.1", - "undici": "^5.21.2", + "undici": "^5.22.0", "vitest": "^0.30.1" }, - "packageManager": "pnpm@8.2.0", + "packageManager": "pnpm@8.3.1", "engines": { "node": "^14.16.0 || ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, diff --git a/playground/nitro.config.ts b/playground/nitro.config.ts index 8185335729..c19a01864d 100644 --- a/playground/nitro.config.ts +++ b/playground/nitro.config.ts @@ -1,3 +1,3 @@ -import { defineNitroConfig } from "../src"; +import { defineNitroConfig } from "nitropack/config"; export default defineNitroConfig({}); diff --git a/playground/routes/index.ts b/playground/routes/index.ts index 2b5a032a89..4f39705a87 100644 --- a/playground/routes/index.ts +++ b/playground/routes/index.ts @@ -1,3 +1,3 @@ -import { eventHandler } from "h3"; - -export default eventHandler(() => "

Hello Nitro!

"); +export default eventHandler(() => { + return "

Hello Nitro!

"; +}); diff --git a/playground/tsconfig.json b/playground/tsconfig.json index a0e3fbad2e..cc5f8fe766 100644 --- a/playground/tsconfig.json +++ b/playground/tsconfig.json @@ -3,6 +3,7 @@ "compilerOptions": { "paths": { "nitropack": ["../src/index"], + "nitropack/config": ["../src/config"], "#internal/nitro": ["../src/runtime/index"], "#internal/nitro/*": ["../src/runtime/*"] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 046153b4de..3583d2f393 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2,7 +2,7 @@ lockfileVersion: '6.0' overrides: nitropack: link:. - undici: ^5.21.2 + undici: ^5.22.0 importers: @@ -16,31 +16,31 @@ importers: version: 1.4.0 '@rollup/plugin-alias': specifier: ^5.0.0 - version: 5.0.0(rollup@3.20.3) + version: 5.0.0(rollup@3.20.7) '@rollup/plugin-commonjs': specifier: ^24.1.0 - version: 24.1.0(rollup@3.20.3) + version: 24.1.0(rollup@3.20.7) '@rollup/plugin-inject': specifier: ^5.0.3 - version: 5.0.3(rollup@3.20.3) + version: 5.0.3(rollup@3.20.7) '@rollup/plugin-json': specifier: ^6.0.0 - version: 6.0.0(rollup@3.20.3) + version: 6.0.0(rollup@3.20.7) '@rollup/plugin-node-resolve': specifier: ^15.0.2 - version: 15.0.2(rollup@3.20.3) + version: 15.0.2(rollup@3.20.7) '@rollup/plugin-replace': specifier: ^5.0.2 - version: 5.0.2(rollup@3.20.3) + version: 5.0.2(rollup@3.20.7) '@rollup/plugin-terser': specifier: ^0.4.1 - version: 0.4.1(rollup@3.20.3) + version: 0.4.1(rollup@3.20.7) '@rollup/plugin-wasm': specifier: ^6.1.2 - version: 6.1.2(rollup@3.20.3) + version: 6.1.2(rollup@3.20.7) '@rollup/pluginutils': specifier: ^5.0.2 - version: 5.0.2(rollup@3.20.3) + version: 5.0.2(rollup@3.20.7) '@vercel/nft': specifier: ^0.22.6 version: 0.22.6 @@ -48,8 +48,8 @@ importers: specifier: ^5.3.1 version: 5.3.1 c12: - specifier: ^1.2.0 - version: 1.2.0 + specifier: ^1.4.1 + version: 1.4.1 chalk: specifier: ^5.2.0 version: 5.2.0 @@ -60,8 +60,8 @@ importers: specifier: ^0.1.1 version: 0.1.1 consola: - specifier: ^3.0.2 - version: 3.0.2 + specifier: ^3.1.0 + version: 3.1.0 cookie-es: specifier: ^0.5.0 version: 0.5.0 @@ -75,8 +75,8 @@ importers: specifier: ^7.2.0 version: 7.2.0 esbuild: - specifier: ^0.17.16 - version: 0.17.16 + specifier: ^0.17.17 + version: 0.17.17 escape-string-regexp: specifier: ^5.0.0 version: 5.0.0 @@ -132,8 +132,8 @@ importers: specifier: ^1.0.1 version: 1.0.1 ohash: - specifier: ^1.0.0 - version: 1.0.0 + specifier: ^1.1.1 + version: 1.1.1 openapi-typescript: specifier: ^6.2.1 version: 6.2.1 @@ -153,17 +153,17 @@ importers: specifier: ^1.0.1 version: 1.0.1 rollup: - specifier: ^3.20.3 - version: 3.20.3 + specifier: ^3.20.7 + version: 3.20.7 rollup-plugin-visualizer: specifier: ^5.9.0 - version: 5.9.0(rollup@3.20.3) + version: 5.9.0(rollup@3.20.7) scule: specifier: ^1.0.0 version: 1.0.0 semver: - specifier: ^7.4.0 - version: 7.4.0 + specifier: ^7.5.0 + version: 7.5.0 serve-placeholder: specifier: ^2.0.1 version: 2.0.1 @@ -184,7 +184,7 @@ importers: version: 1.4.1 unimport: specifier: ^3.0.6 - version: 3.0.6(rollup@3.20.3) + version: 3.0.6(rollup@3.20.7) unstorage: specifier: ^1.5.0 version: 1.5.0 @@ -247,8 +247,8 @@ importers: specifier: ^1.2.1 version: 1.2.1 undici: - specifier: ^5.21.2 - version: 5.21.2 + specifier: ^5.22.0 + version: 5.22.0 vitest: specifier: ^0.30.1 version: 0.30.1 @@ -536,176 +536,176 @@ packages: '@edge-runtime/primitives': 2.1.2 dev: true - /@esbuild/android-arm64@0.17.16: - resolution: {integrity: sha512-QX48qmsEZW+gcHgTmAj+x21mwTz8MlYQBnzF6861cNdQGvj2jzzFjqH0EBabrIa/WVZ2CHolwMoqxVryqKt8+Q==} + /@esbuild/android-arm64@0.17.17: + resolution: {integrity: sha512-jaJ5IlmaDLFPNttv0ofcwy/cfeY4bh/n705Tgh+eLObbGtQBK3EPAu+CzL95JVE4nFAliyrnEu0d32Q5foavqg==} engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@esbuild/android-arm@0.17.16: - resolution: {integrity: sha512-baLqRpLe4JnKrUXLJChoTN0iXZH7El/mu58GE3WIA6/H834k0XWvLRmGLG8y8arTRS9hJJibPnF0tiGhmWeZgw==} + /@esbuild/android-arm@0.17.17: + resolution: {integrity: sha512-E6VAZwN7diCa3labs0GYvhEPL2M94WLF8A+czO8hfjREXxba8Ng7nM5VxV+9ihNXIY1iQO1XxUU4P7hbqbICxg==} engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true optional: true - /@esbuild/android-x64@0.17.16: - resolution: {integrity: sha512-G4wfHhrrz99XJgHnzFvB4UwwPxAWZaZBOFXh+JH1Duf1I4vIVfuYY9uVLpx4eiV2D/Jix8LJY+TAdZ3i40tDow==} + /@esbuild/android-x64@0.17.17: + resolution: {integrity: sha512-446zpfJ3nioMC7ASvJB1pszHVskkw4u/9Eu8s5yvvsSDTzYh4p4ZIRj0DznSl3FBF0Z/mZfrKXTtt0QCoFmoHA==} engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true optional: true - /@esbuild/darwin-arm64@0.17.16: - resolution: {integrity: sha512-/Ofw8UXZxuzTLsNFmz1+lmarQI6ztMZ9XktvXedTbt3SNWDn0+ODTwxExLYQ/Hod91EZB4vZPQJLoqLF0jvEzA==} + /@esbuild/darwin-arm64@0.17.17: + resolution: {integrity: sha512-m/gwyiBwH3jqfUabtq3GH31otL/0sE0l34XKpSIqR7NjQ/XHQ3lpmQHLHbG8AHTGCw8Ao059GvV08MS0bhFIJQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@esbuild/darwin-x64@0.17.16: - resolution: {integrity: sha512-SzBQtCV3Pdc9kyizh36Ol+dNVhkDyIrGb/JXZqFq8WL37LIyrXU0gUpADcNV311sCOhvY+f2ivMhb5Tuv8nMOQ==} + /@esbuild/darwin-x64@0.17.17: + resolution: {integrity: sha512-4utIrsX9IykrqYaXR8ob9Ha2hAY2qLc6ohJ8c0CN1DR8yWeMrTgYFjgdeQ9LIoTOfLetXjuCu5TRPHT9yKYJVg==} engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@esbuild/freebsd-arm64@0.17.16: - resolution: {integrity: sha512-ZqftdfS1UlLiH1DnS2u3It7l4Bc3AskKeu+paJSfk7RNOMrOxmeFDhLTMQqMxycP1C3oj8vgkAT6xfAuq7ZPRA==} + /@esbuild/freebsd-arm64@0.17.17: + resolution: {integrity: sha512-4PxjQII/9ppOrpEwzQ1b0pXCsFLqy77i0GaHodrmzH9zq2/NEhHMAMJkJ635Ns4fyJPFOlHMz4AsklIyRqFZWA==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true optional: true - /@esbuild/freebsd-x64@0.17.16: - resolution: {integrity: sha512-rHV6zNWW1tjgsu0dKQTX9L0ByiJHHLvQKrWtnz8r0YYJI27FU3Xu48gpK2IBj1uCSYhJ+pEk6Y0Um7U3rIvV8g==} + /@esbuild/freebsd-x64@0.17.17: + resolution: {integrity: sha512-lQRS+4sW5S3P1sv0z2Ym807qMDfkmdhUYX30GRBURtLTrJOPDpoU0kI6pVz1hz3U0+YQ0tXGS9YWveQjUewAJw==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true optional: true - /@esbuild/linux-arm64@0.17.16: - resolution: {integrity: sha512-8yoZhGkU6aHu38WpaM4HrRLTFc7/VVD9Q2SvPcmIQIipQt2I/GMTZNdEHXoypbbGao5kggLcxg0iBKjo0SQYKA==} + /@esbuild/linux-arm64@0.17.17: + resolution: {integrity: sha512-2+pwLx0whKY1/Vqt8lyzStyda1v0qjJ5INWIe+d8+1onqQxHLLi3yr5bAa4gvbzhZqBztifYEu8hh1La5+7sUw==} engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-arm@0.17.16: - resolution: {integrity: sha512-n4O8oVxbn7nl4+m+ISb0a68/lcJClIbaGAoXwqeubj/D1/oMMuaAXmJVfFlRjJLu/ZvHkxoiFJnmbfp4n8cdSw==} + /@esbuild/linux-arm@0.17.17: + resolution: {integrity: sha512-biDs7bjGdOdcmIk6xU426VgdRUpGg39Yz6sT9Xp23aq+IEHDb/u5cbmu/pAANpDB4rZpY/2USPhCA+w9t3roQg==} engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-ia32@0.17.16: - resolution: {integrity: sha512-9ZBjlkdaVYxPNO8a7OmzDbOH9FMQ1a58j7Xb21UfRU29KcEEU3VTHk+Cvrft/BNv0gpWJMiiZ/f4w0TqSP0gLA==} + /@esbuild/linux-ia32@0.17.17: + resolution: {integrity: sha512-IBTTv8X60dYo6P2t23sSUYym8fGfMAiuv7PzJ+0LcdAndZRzvke+wTVxJeCq4WgjppkOpndL04gMZIFvwoU34Q==} engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-loong64@0.17.16: - resolution: {integrity: sha512-TIZTRojVBBzdgChY3UOG7BlPhqJz08AL7jdgeeu+kiObWMFzGnQD7BgBBkWRwOtKR1i2TNlO7YK6m4zxVjjPRQ==} + /@esbuild/linux-loong64@0.17.17: + resolution: {integrity: sha512-WVMBtcDpATjaGfWfp6u9dANIqmU9r37SY8wgAivuKmgKHE+bWSuv0qXEFt/p3qXQYxJIGXQQv6hHcm7iWhWjiw==} engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-mips64el@0.17.16: - resolution: {integrity: sha512-UPeRuFKCCJYpBbIdczKyHLAIU31GEm0dZl1eMrdYeXDH+SJZh/i+2cAmD3A1Wip9pIc5Sc6Kc5cFUrPXtR0XHA==} + /@esbuild/linux-mips64el@0.17.17: + resolution: {integrity: sha512-2kYCGh8589ZYnY031FgMLy0kmE4VoGdvfJkxLdxP4HJvWNXpyLhjOvxVsYjYZ6awqY4bgLR9tpdYyStgZZhi2A==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-ppc64@0.17.16: - resolution: {integrity: sha512-io6yShgIEgVUhExJejJ21xvO5QtrbiSeI7vYUnr7l+v/O9t6IowyhdiYnyivX2X5ysOVHAuyHW+Wyi7DNhdw6Q==} + /@esbuild/linux-ppc64@0.17.17: + resolution: {integrity: sha512-KIdG5jdAEeAKogfyMTcszRxy3OPbZhq0PPsW4iKKcdlbk3YE4miKznxV2YOSmiK/hfOZ+lqHri3v8eecT2ATwQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-riscv64@0.17.16: - resolution: {integrity: sha512-WhlGeAHNbSdG/I2gqX2RK2gfgSNwyJuCiFHMc8s3GNEMMHUI109+VMBfhVqRb0ZGzEeRiibi8dItR3ws3Lk+cA==} + /@esbuild/linux-riscv64@0.17.17: + resolution: {integrity: sha512-Cj6uWLBR5LWhcD/2Lkfg2NrkVsNb2sFM5aVEfumKB2vYetkA/9Uyc1jVoxLZ0a38sUhFk4JOVKH0aVdPbjZQeA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-s390x@0.17.16: - resolution: {integrity: sha512-gHRReYsJtViir63bXKoFaQ4pgTyah4ruiMRQ6im9YZuv+gp3UFJkNTY4sFA73YDynmXZA6hi45en4BGhNOJUsw==} + /@esbuild/linux-s390x@0.17.17: + resolution: {integrity: sha512-lK+SffWIr0XsFf7E0srBjhpkdFVJf3HEgXCwzkm69kNbRar8MhezFpkIwpk0qo2IOQL4JE4mJPJI8AbRPLbuOQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-x64@0.17.16: - resolution: {integrity: sha512-mfiiBkxEbUHvi+v0P+TS7UnA9TeGXR48aK4XHkTj0ZwOijxexgMF01UDFaBX7Q6CQsB0d+MFNv9IiXbIHTNd4g==} + /@esbuild/linux-x64@0.17.17: + resolution: {integrity: sha512-XcSGTQcWFQS2jx3lZtQi7cQmDYLrpLRyz1Ns1DzZCtn898cWfm5Icx/DEWNcTU+T+tyPV89RQtDnI7qL2PObPg==} engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@esbuild/netbsd-x64@0.17.16: - resolution: {integrity: sha512-n8zK1YRDGLRZfVcswcDMDM0j2xKYLNXqei217a4GyBxHIuPMGrrVuJ+Ijfpr0Kufcm7C1k/qaIrGy6eG7wvgmA==} + /@esbuild/netbsd-x64@0.17.17: + resolution: {integrity: sha512-RNLCDmLP5kCWAJR+ItLM3cHxzXRTe4N00TQyQiimq+lyqVqZWGPAvcyfUBM0isE79eEZhIuGN09rAz8EL5KdLA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true optional: true - /@esbuild/openbsd-x64@0.17.16: - resolution: {integrity: sha512-lEEfkfsUbo0xC47eSTBqsItXDSzwzwhKUSsVaVjVji07t8+6KA5INp2rN890dHZeueXJAI8q0tEIfbwVRYf6Ew==} + /@esbuild/openbsd-x64@0.17.17: + resolution: {integrity: sha512-PAXswI5+cQq3Pann7FNdcpSUrhrql3wKjj3gVkmuz6OHhqqYxKvi6GgRBoaHjaG22HV/ZZEgF9TlS+9ftHVigA==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true optional: true - /@esbuild/sunos-x64@0.17.16: - resolution: {integrity: sha512-jlRjsuvG1fgGwnE8Afs7xYDnGz0dBgTNZfgCK6TlvPH3Z13/P5pi6I57vyLE8qZYLrGVtwcm9UbUx1/mZ8Ukag==} + /@esbuild/sunos-x64@0.17.17: + resolution: {integrity: sha512-V63egsWKnx/4V0FMYkr9NXWrKTB5qFftKGKuZKFIrAkO/7EWLFnbBZNM1CvJ6Sis+XBdPws2YQSHF1Gqf1oj/Q==} engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true optional: true - /@esbuild/win32-arm64@0.17.16: - resolution: {integrity: sha512-TzoU2qwVe2boOHl/3KNBUv2PNUc38U0TNnzqOAcgPiD/EZxT2s736xfC2dYQbszAwo4MKzzwBV0iHjhfjxMimg==} + /@esbuild/win32-arm64@0.17.17: + resolution: {integrity: sha512-YtUXLdVnd6YBSYlZODjWzH+KzbaubV0YVd6UxSfoFfa5PtNJNaW+1i+Hcmjpg2nEe0YXUCNF5bkKy1NnBv1y7Q==} engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@esbuild/win32-ia32@0.17.16: - resolution: {integrity: sha512-B8b7W+oo2yb/3xmwk9Vc99hC9bNolvqjaTZYEfMQhzdpBsjTvZBlXQ/teUE55Ww6sg//wlcDjOaqldOKyigWdA==} + /@esbuild/win32-ia32@0.17.17: + resolution: {integrity: sha512-yczSLRbDdReCO74Yfc5tKG0izzm+lPMYyO1fFTcn0QNwnKmc3K+HdxZWLGKg4pZVte7XVgcFku7TIZNbWEJdeQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@esbuild/win32-x64@0.17.16: - resolution: {integrity: sha512-xJ7OH/nanouJO9pf03YsL9NAFQBHd8AqfrQd7Pf5laGyyTt/gToul6QYOA/i5i/q8y9iaM5DQFNTgpi995VkOg==} + /@esbuild/win32-x64@0.17.17: + resolution: {integrity: sha512-FNZw7H3aqhF9OyRQbDDnzUApDXfC1N6fgBhkqEO2jvYCJ+DxMTfZVqg3AX0R1khg1wHTBRD5SdcibSJ+XF6bFg==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -828,7 +828,7 @@ packages: nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.4.0 + semver: 7.5.0 tar: 6.1.13 transitivePeerDependencies: - encoding @@ -842,7 +842,7 @@ packages: '@miniflare/core': 2.13.0 '@miniflare/shared': 2.13.0 http-cache-semantics: 4.1.1 - undici: 5.21.2 + undici: 5.22.0 dev: true /@miniflare/cli-parser@2.13.0: @@ -865,7 +865,7 @@ packages: dotenv: 10.0.0 kleur: 4.1.5 set-cookie-parser: 2.6.0 - undici: 5.21.2 + undici: 5.22.0 urlpattern-polyfill: 4.0.3 dev: true @@ -884,7 +884,7 @@ packages: '@miniflare/core': 2.13.0 '@miniflare/shared': 2.13.0 '@miniflare/storage-memory': 2.13.0 - undici: 5.21.2 + undici: 5.22.0 dev: true /@miniflare/html-rewriter@2.13.0: @@ -894,7 +894,7 @@ packages: '@miniflare/core': 2.13.0 '@miniflare/shared': 2.13.0 html-rewriter-wasm: 0.4.1 - undici: 5.21.2 + undici: 5.22.0 dev: true /@miniflare/http-server@2.13.0: @@ -906,7 +906,7 @@ packages: '@miniflare/web-sockets': 2.13.0 kleur: 4.1.5 selfsigned: 2.1.1 - undici: 5.21.2 + undici: 5.22.0 ws: 8.13.0 youch: 2.2.2 transitivePeerDependencies: @@ -933,7 +933,7 @@ packages: engines: {node: '>=16.13'} dependencies: '@miniflare/shared': 2.13.0 - undici: 5.21.2 + undici: 5.22.0 dev: true /@miniflare/runner-vm@2.13.0: @@ -999,7 +999,7 @@ packages: dependencies: '@miniflare/core': 2.13.0 '@miniflare/shared': 2.13.0 - undici: 5.21.2 + undici: 5.22.0 ws: 8.13.0 transitivePeerDependencies: - bufferutil @@ -1043,7 +1043,7 @@ packages: tslib: 2.5.0 dev: true - /@rollup/plugin-alias@5.0.0(rollup@3.20.3): + /@rollup/plugin-alias@5.0.0(rollup@3.20.7): resolution: {integrity: sha512-l9hY5chSCjuFRPsnRm16twWBiSApl2uYFLsepQYwtBuAxNMQ/1dJqADld40P0Jkqm65GRTLy/AC6hnpVebtLsA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1052,10 +1052,10 @@ packages: rollup: optional: true dependencies: - rollup: 3.20.3 + rollup: 3.20.7 slash: 4.0.0 - /@rollup/plugin-commonjs@24.1.0(rollup@3.20.3): + /@rollup/plugin-commonjs@24.1.0(rollup@3.20.7): resolution: {integrity: sha512-eSL45hjhCWI0jCCXcNtLVqM5N1JlBGvlFfY0m6oOYnLCJ6N0qEXoZql4sY2MOUArzhH4SA/qBpTxvvZp2Sc+DQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1064,15 +1064,15 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.3) + '@rollup/pluginutils': 5.0.2(rollup@3.20.7) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.27.0 - rollup: 3.20.3 + rollup: 3.20.7 - /@rollup/plugin-inject@5.0.3(rollup@3.20.3): + /@rollup/plugin-inject@5.0.3(rollup@3.20.7): resolution: {integrity: sha512-411QlbL+z2yXpRWFXSmw/teQRMkXcAAC8aYTemc15gwJRpvEVDQwoe+N/HTFD8RFG8+88Bme9DK2V9CVm7hJdA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1081,13 +1081,13 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.3) + '@rollup/pluginutils': 5.0.2(rollup@3.20.7) estree-walker: 2.0.2 magic-string: 0.27.0 - rollup: 3.20.3 + rollup: 3.20.7 dev: false - /@rollup/plugin-json@6.0.0(rollup@3.20.3): + /@rollup/plugin-json@6.0.0(rollup@3.20.7): resolution: {integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1096,10 +1096,10 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.3) - rollup: 3.20.3 + '@rollup/pluginutils': 5.0.2(rollup@3.20.7) + rollup: 3.20.7 - /@rollup/plugin-node-resolve@15.0.2(rollup@3.20.3): + /@rollup/plugin-node-resolve@15.0.2(rollup@3.20.7): resolution: {integrity: sha512-Y35fRGUjC3FaurG722uhUuG8YHOJRJQbI6/CkbRkdPotSpDj9NtIN85z1zrcyDcCQIW4qp5mgG72U+gJ0TAFEg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1108,15 +1108,15 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.3) + '@rollup/pluginutils': 5.0.2(rollup@3.20.7) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 - resolve: 1.22.3 - rollup: 3.20.3 + resolve: 1.22.2 + rollup: 3.20.7 - /@rollup/plugin-replace@5.0.2(rollup@3.20.3): + /@rollup/plugin-replace@5.0.2(rollup@3.20.7): resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1125,11 +1125,11 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.3) + '@rollup/pluginutils': 5.0.2(rollup@3.20.7) magic-string: 0.27.0 - rollup: 3.20.3 + rollup: 3.20.7 - /@rollup/plugin-terser@0.4.1(rollup@3.20.3): + /@rollup/plugin-terser@0.4.1(rollup@3.20.7): resolution: {integrity: sha512-aKS32sw5a7hy+fEXVy+5T95aDIwjpGHCTv833HXVtyKMDoVS7pBr5K3L9hEQoNqbJFjfANPrNpIXlTQ7is00eA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1138,13 +1138,13 @@ packages: rollup: optional: true dependencies: - rollup: 3.20.3 + rollup: 3.20.7 serialize-javascript: 6.0.1 smob: 0.0.6 - terser: 5.16.9 + terser: 5.17.1 dev: false - /@rollup/plugin-wasm@6.1.2(rollup@3.20.3): + /@rollup/plugin-wasm@6.1.2(rollup@3.20.7): resolution: {integrity: sha512-YdrQ7zfnZ54Y+6raCev3tR1PrhQGxYKSTajGylhyP0oBacouuNo6KcNCk+pYKw9M98jxRWLFFca/udi76IDXzg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1153,7 +1153,7 @@ packages: rollup: optional: true dependencies: - rollup: 3.20.3 + rollup: 3.20.7 dev: false /@rollup/pluginutils@4.2.1: @@ -1164,7 +1164,7 @@ packages: picomatch: 2.3.1 dev: false - /@rollup/pluginutils@5.0.2(rollup@3.20.3): + /@rollup/pluginutils@5.0.2(rollup@3.20.7): resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1173,10 +1173,10 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.1 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 3.20.3 + rollup: 3.20.7 /@types/aws-lambda@8.10.114: resolution: {integrity: sha512-M8WpEGfC9iQ6V2Ccq6nGIXoQgeVc6z0Ngk8yCOL5V/TYIxshvb0MWQYLFFTZDesL0zmsoBc4OBjG9DB/4rei6w==} @@ -1185,7 +1185,7 @@ packages: /@types/better-sqlite3@7.6.4: resolution: {integrity: sha512-dzrRZCYPXIXfSR1/surNbJ/grU3scTaygS0OMzjlGf71i9sc2fGyHPXXiXmEvNIoE0cGwsanEFMVJxPXmco9Eg==} dependencies: - '@types/node': 18.15.11 + '@types/node': 18.15.13 dev: true /@types/chai-subset@1.3.3: @@ -1198,26 +1198,26 @@ packages: resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==} dev: true - /@types/estree@1.0.0: - resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} + /@types/estree@1.0.1: + resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} /@types/etag@1.8.1: resolution: {integrity: sha512-bsKkeSqN7HYyYntFRAmzcwx/dKW4Wa+KVMTInANlI72PWLQmOpZu96j0OqHZGArW4VQwCmJPteQlXaUDeOB0WQ==} dependencies: - '@types/node': 18.15.11 + '@types/node': 18.15.13 dev: true /@types/fs-extra@11.0.1: resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 18.15.11 + '@types/node': 18.15.13 dev: true /@types/http-proxy@1.17.10: resolution: {integrity: sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g==} dependencies: - '@types/node': 18.15.11 + '@types/node': 18.15.13 dev: true /@types/istanbul-lib-coverage@2.0.4: @@ -1235,7 +1235,7 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 18.15.11 + '@types/node': 18.15.13 dev: true /@types/mime@3.0.1: @@ -1245,12 +1245,12 @@ packages: /@types/node-fetch@2.6.3: resolution: {integrity: sha512-ETTL1mOEdq/sxUtgtOhKjyB2Irra4cjxksvcMUR5Zr4n+PxVhsCD9WS46oPbHL3et9Zde7CNRr+WUNlcHvsX+w==} dependencies: - '@types/node': 18.15.11 + '@types/node': 18.15.13 form-data: 3.0.1 dev: true - /@types/node@18.15.11: - resolution: {integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==} + /@types/node@18.15.13: + resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} dev: true /@types/normalize-package-data@2.4.1: @@ -1268,15 +1268,15 @@ packages: resolution: {integrity: sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==} dependencies: '@types/mime': 3.0.1 - '@types/node': 18.15.11 + '@types/node': 18.15.13 dev: true /@types/stack-trace@0.0.29: resolution: {integrity: sha512-TgfOX+mGY/NyNxJLIbDWrO9DjGoVSW9+aB8H2yy1fy32jsvxijhmyJI9fDFgvz3YP4lvJaq9DzdR/M1bOgVc9g==} dev: true - /@typescript-eslint/eslint-plugin@5.58.0(@typescript-eslint/parser@5.58.0)(eslint@8.38.0)(typescript@5.0.4): - resolution: {integrity: sha512-vxHvLhH0qgBd3/tW6/VccptSfc8FxPQIkmNTVLWcCOVqSBvqpnKkBTYrhcGlXfSnd78azwe+PsjYFj0X34/njA==} + /@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0)(eslint@8.38.0)(typescript@5.0.4): + resolution: {integrity: sha512-p0QgrEyrxAWBecR56gyn3wkG15TJdI//eetInP3zYRewDh0XS+DhB3VUAd3QqvziFsfaQIoIuZMxZRB7vXYaYw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -1287,24 +1287,24 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.5.0 - '@typescript-eslint/parser': 5.58.0(eslint@8.38.0)(typescript@5.0.4) - '@typescript-eslint/scope-manager': 5.58.0 - '@typescript-eslint/type-utils': 5.58.0(eslint@8.38.0)(typescript@5.0.4) - '@typescript-eslint/utils': 5.58.0(eslint@8.38.0)(typescript@5.0.4) + '@typescript-eslint/parser': 5.59.0(eslint@8.38.0)(typescript@5.0.4) + '@typescript-eslint/scope-manager': 5.59.0 + '@typescript-eslint/type-utils': 5.59.0(eslint@8.38.0)(typescript@5.0.4) + '@typescript-eslint/utils': 5.59.0(eslint@8.38.0)(typescript@5.0.4) debug: 4.3.4 eslint: 8.38.0 grapheme-splitter: 1.0.4 ignore: 5.2.4 natural-compare-lite: 1.4.0 - semver: 7.4.0 + semver: 7.5.0 tsutils: 3.21.0(typescript@5.0.4) typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.58.0(eslint@8.38.0)(typescript@5.0.4): - resolution: {integrity: sha512-ixaM3gRtlfrKzP8N6lRhBbjTow1t6ztfBvQNGuRM8qH1bjFFXIJ35XY+FC0RRBKn3C6cT+7VW1y8tNm7DwPHDQ==} + /@typescript-eslint/parser@5.59.0(eslint@8.38.0)(typescript@5.0.4): + resolution: {integrity: sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1313,9 +1313,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.58.0 - '@typescript-eslint/types': 5.58.0 - '@typescript-eslint/typescript-estree': 5.58.0(typescript@5.0.4) + '@typescript-eslint/scope-manager': 5.59.0 + '@typescript-eslint/types': 5.59.0 + '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.0.4) debug: 4.3.4 eslint: 8.38.0 typescript: 5.0.4 @@ -1323,16 +1323,16 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager@5.58.0: - resolution: {integrity: sha512-b+w8ypN5CFvrXWQb9Ow9T4/6LC2MikNf1viLkYTiTbkQl46CnR69w7lajz1icW0TBsYmlpg+mRzFJ4LEJ8X9NA==} + /@typescript-eslint/scope-manager@5.59.0: + resolution: {integrity: sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.58.0 - '@typescript-eslint/visitor-keys': 5.58.0 + '@typescript-eslint/types': 5.59.0 + '@typescript-eslint/visitor-keys': 5.59.0 dev: true - /@typescript-eslint/type-utils@5.58.0(eslint@8.38.0)(typescript@5.0.4): - resolution: {integrity: sha512-FF5vP/SKAFJ+LmR9PENql7fQVVgGDOS+dq3j+cKl9iW/9VuZC/8CFmzIP0DLKXfWKpRHawJiG70rVH+xZZbp8w==} + /@typescript-eslint/type-utils@5.59.0(eslint@8.38.0)(typescript@5.0.4): + resolution: {integrity: sha512-d/B6VSWnZwu70kcKQSCqjcXpVH+7ABKH8P1KNn4K7j5PXXuycZTPXF44Nui0TEm6rbWGi8kc78xRgOC4n7xFgA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -1341,8 +1341,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.58.0(typescript@5.0.4) - '@typescript-eslint/utils': 5.58.0(eslint@8.38.0)(typescript@5.0.4) + '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.0.4) + '@typescript-eslint/utils': 5.59.0(eslint@8.38.0)(typescript@5.0.4) debug: 4.3.4 eslint: 8.38.0 tsutils: 3.21.0(typescript@5.0.4) @@ -1351,13 +1351,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types@5.58.0: - resolution: {integrity: sha512-JYV4eITHPzVQMnHZcYJXl2ZloC7thuUHrcUmxtzvItyKPvQ50kb9QXBkgNAt90OYMqwaodQh2kHutWZl1fc+1g==} + /@typescript-eslint/types@5.59.0: + resolution: {integrity: sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@5.58.0(typescript@5.0.4): - resolution: {integrity: sha512-cRACvGTodA+UxnYM2uwA2KCwRL7VAzo45syNysqlMyNyjw0Z35Icc9ihPJZjIYuA5bXJYiJ2YGUB59BqlOZT1Q==} + /@typescript-eslint/typescript-estree@5.59.0(typescript@5.0.4): + resolution: {integrity: sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -1365,20 +1365,20 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.58.0 - '@typescript-eslint/visitor-keys': 5.58.0 + '@typescript-eslint/types': 5.59.0 + '@typescript-eslint/visitor-keys': 5.59.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.4.0 + semver: 7.5.0 tsutils: 3.21.0(typescript@5.0.4) typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.58.0(eslint@8.38.0)(typescript@5.0.4): - resolution: {integrity: sha512-gAmLOTFXMXOC+zP1fsqm3VceKSBQJNzV385Ok3+yzlavNHZoedajjS4UyS21gabJYcobuigQPs/z71A9MdJFqQ==} + /@typescript-eslint/utils@5.59.0(eslint@8.38.0)(typescript@5.0.4): + resolution: {integrity: sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1386,22 +1386,22 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0) '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.58.0 - '@typescript-eslint/types': 5.58.0 - '@typescript-eslint/typescript-estree': 5.58.0(typescript@5.0.4) + '@typescript-eslint/scope-manager': 5.59.0 + '@typescript-eslint/types': 5.59.0 + '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.0.4) eslint: 8.38.0 eslint-scope: 5.1.1 - semver: 7.4.0 + semver: 7.5.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@5.58.0: - resolution: {integrity: sha512-/fBraTlPj0jwdyTwLyrRTxv/3lnU2H96pNTVM6z3esTWLtA5MZ9ghSMJ7Rb+TtUAdtEw9EyJzJ0EydIMKxQ9gA==} + /@typescript-eslint/visitor-keys@5.59.0: + resolution: {integrity: sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.58.0 + '@typescript-eslint/types': 5.59.0 eslint-visitor-keys: 3.4.0 dev: true @@ -1548,7 +1548,6 @@ packages: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - dev: false /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} @@ -1682,7 +1681,6 @@ packages: /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} - dev: false /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} @@ -1731,8 +1729,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001478 - electron-to-chromium: 1.4.365 + caniuse-lite: 1.0.30001481 + electron-to-chromium: 1.4.368 node-releases: 2.0.10 update-browserslist-db: 1.0.11(browserslist@4.21.5) dev: true @@ -1758,7 +1756,7 @@ packages: /builtins@5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: - semver: 7.4.0 + semver: 7.5.0 dev: true /bundle-name@3.0.0: @@ -1774,15 +1772,18 @@ packages: dependencies: streamsearch: 1.1.0 - /c12@1.2.0: - resolution: {integrity: sha512-CMznkE0LpNEuD8ILp5QvsQVP+YvcpJnrI/zFeFnosU2PyDtx1wT7tXfZ8S3Tl3l9MTTXbKeuhDYKwgvnAPOx3w==} + /c12@1.4.1: + resolution: {integrity: sha512-0x7pWfLZpZsgtyotXtuepJc0rZYE0Aw8PwNAXs0jSG9zq6Sl5xmbWnFqfmRY01ieZLHNbvneSFm9/x88CvzAuw==} dependencies: + chokidar: 3.5.3 defu: 6.1.2 dotenv: 16.0.3 giget: 1.1.2 jiti: 1.18.2 mlly: 1.2.0 + ohash: 1.1.1 pathe: 1.1.0 + perfect-debounce: 0.1.3 pkg-types: 1.0.2 rc9: 2.1.0 transitivePeerDependencies: @@ -1824,8 +1825,8 @@ packages: engines: {node: '>=6'} dev: true - /caniuse-lite@1.0.30001478: - resolution: {integrity: sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==} + /caniuse-lite@1.0.30001481: + resolution: {integrity: sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==} dev: true /chai@4.3.7: @@ -1866,9 +1867,9 @@ packages: resolution: {integrity: sha512-RjTrgJlTHhbGlMo/s73j7uSTspla3ykr0UA5zwRs/HIZvElY6qZHu3X70httgC2Du5poS2wFCS10WLfwZr7ZTQ==} hasBin: true dependencies: - c12: 1.2.0 - colorette: 2.0.19 - consola: 3.0.2 + c12: 1.4.1 + colorette: 2.0.20 + consola: 3.1.0 convert-gitmoji: 0.1.3 execa: 7.1.1 mri: 1.2.0 @@ -1878,7 +1879,7 @@ packages: pathe: 1.1.0 pkg-types: 1.0.2 scule: 1.0.0 - semver: 7.4.0 + semver: 7.5.0 yaml: 2.2.1 transitivePeerDependencies: - supports-color @@ -1901,7 +1902,6 @@ packages: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.2 - dev: false /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} @@ -1978,8 +1978,8 @@ packages: hasBin: true dev: false - /colorette@2.0.19: - resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} @@ -2018,12 +2018,12 @@ packages: js-string-escape: 1.0.1 lodash: 4.17.21 md5-hex: 3.0.1 - semver: 7.4.0 + semver: 7.5.0 well-known-symbols: 2.0.0 dev: true - /consola@3.0.2: - resolution: {integrity: sha512-o/Wau2FmZKiQgyp3c3IULgN6J5yc0lwYMnoyiZdEpdGxKGBtt2ACbkulBZ6BUsHy1HlSJqoP4YOyPIJLgRJyKQ==} + /consola@3.1.0: + resolution: {integrity: sha512-rrrJE6rP0qzl/Srg+C9x/AE5Kxfux7reVm1Wh0wCjuXvih6DqZgqDZe8auTD28fzJ9TF0mHlSDrPpWlujQRo1Q==} /console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} @@ -2266,8 +2266,8 @@ packages: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: false - /electron-to-chromium@1.4.365: - resolution: {integrity: sha512-FRHZO+1tUNO4TOPXmlxetkoaIY8uwHzd1kKopK/Gx2SKn1L47wJXWD44wxP5CGRyyP98z/c8e1eBzJrgPeiBOg==} + /electron-to-chromium@1.4.368: + resolution: {integrity: sha512-e2aeCAixCj9M7nJxdB/wDjO6mbYX+lJJxSJCXDzlr5YPGYVofuJwGN9nKg2o6wWInjX6XmxRinn3AeJMK81ltw==} dev: true /emoji-regex@8.0.0: @@ -2284,8 +2284,8 @@ packages: once: 1.4.0 dev: false - /enhanced-resolve@5.12.0: - resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} + /enhanced-resolve@5.13.0: + resolution: {integrity: sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==} engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.11 @@ -2328,7 +2328,7 @@ packages: object-inspect: 1.12.3 object-keys: 1.1.1 object.assign: 4.1.4 - regexp.prototype.flags: 1.4.3 + regexp.prototype.flags: 1.5.0 safe-regex-test: 1.0.0 string.prototype.trim: 1.2.7 string.prototype.trimend: 1.0.6 @@ -2362,34 +2362,34 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild@0.17.16: - resolution: {integrity: sha512-aeSuUKr9aFVY9Dc8ETVELGgkj4urg5isYx8pLf4wlGgB0vTFjxJQdHnNH6Shmx4vYYrOTLCHtRI5i1XZ9l2Zcg==} + /esbuild@0.17.17: + resolution: {integrity: sha512-/jUywtAymR8jR4qsa2RujlAF7Krpt5VWi72Q2yuLD4e/hvtNcFQ0I1j8m/bxq238pf3/0KO5yuXNpuLx8BE1KA==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.17.16 - '@esbuild/android-arm64': 0.17.16 - '@esbuild/android-x64': 0.17.16 - '@esbuild/darwin-arm64': 0.17.16 - '@esbuild/darwin-x64': 0.17.16 - '@esbuild/freebsd-arm64': 0.17.16 - '@esbuild/freebsd-x64': 0.17.16 - '@esbuild/linux-arm': 0.17.16 - '@esbuild/linux-arm64': 0.17.16 - '@esbuild/linux-ia32': 0.17.16 - '@esbuild/linux-loong64': 0.17.16 - '@esbuild/linux-mips64el': 0.17.16 - '@esbuild/linux-ppc64': 0.17.16 - '@esbuild/linux-riscv64': 0.17.16 - '@esbuild/linux-s390x': 0.17.16 - '@esbuild/linux-x64': 0.17.16 - '@esbuild/netbsd-x64': 0.17.16 - '@esbuild/openbsd-x64': 0.17.16 - '@esbuild/sunos-x64': 0.17.16 - '@esbuild/win32-arm64': 0.17.16 - '@esbuild/win32-ia32': 0.17.16 - '@esbuild/win32-x64': 0.17.16 + '@esbuild/android-arm': 0.17.17 + '@esbuild/android-arm64': 0.17.17 + '@esbuild/android-x64': 0.17.17 + '@esbuild/darwin-arm64': 0.17.17 + '@esbuild/darwin-x64': 0.17.17 + '@esbuild/freebsd-arm64': 0.17.17 + '@esbuild/freebsd-x64': 0.17.17 + '@esbuild/linux-arm': 0.17.17 + '@esbuild/linux-arm64': 0.17.17 + '@esbuild/linux-ia32': 0.17.17 + '@esbuild/linux-loong64': 0.17.17 + '@esbuild/linux-mips64el': 0.17.17 + '@esbuild/linux-ppc64': 0.17.17 + '@esbuild/linux-riscv64': 0.17.17 + '@esbuild/linux-s390x': 0.17.17 + '@esbuild/linux-x64': 0.17.17 + '@esbuild/netbsd-x64': 0.17.17 + '@esbuild/openbsd-x64': 0.17.17 + '@esbuild/sunos-x64': 0.17.17 + '@esbuild/win32-arm64': 0.17.17 + '@esbuild/win32-ia32': 0.17.17 + '@esbuild/win32-x64': 0.17.17 /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -2432,7 +2432,7 @@ packages: eslint-plugin-promise: ^6.0.0 dependencies: eslint: 8.38.0 - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.58.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) eslint-plugin-n: 15.7.0(eslint@8.38.0) eslint-plugin-promise: 6.1.1(eslint@8.38.0) dev: true @@ -2443,13 +2443,13 @@ packages: eslint: '*' typescript: '*' dependencies: - '@typescript-eslint/eslint-plugin': 5.58.0(@typescript-eslint/parser@5.58.0)(eslint@8.38.0)(typescript@5.0.4) - '@typescript-eslint/parser': 5.58.0(eslint@8.38.0)(typescript@5.0.4) + '@typescript-eslint/eslint-plugin': 5.59.0(@typescript-eslint/parser@5.59.0)(eslint@8.38.0)(typescript@5.0.4) + '@typescript-eslint/parser': 5.59.0(eslint@8.38.0)(typescript@5.0.4) eslint: 8.38.0 eslint-config-prettier: 8.8.0(eslint@8.38.0) eslint-config-standard: 17.0.0(eslint-plugin-import@2.27.5)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.38.0) - eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.58.0)(eslint-plugin-import@2.27.5)(eslint@8.38.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.58.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.59.0)(eslint-plugin-import@2.27.5)(eslint@8.38.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) eslint-plugin-n: 15.7.0(eslint@8.38.0) eslint-plugin-node: 11.1.0(eslint@8.38.0) eslint-plugin-promise: 6.1.1(eslint@8.38.0) @@ -2466,12 +2466,12 @@ packages: dependencies: debug: 3.2.7 is-core-module: 2.12.0 - resolve: 1.22.3 + resolve: 1.22.2 transitivePeerDependencies: - supports-color dev: true - /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.58.0)(eslint-plugin-import@2.27.5)(eslint@8.38.0): + /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.59.0)(eslint-plugin-import@2.27.5)(eslint@8.38.0): resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -2479,10 +2479,10 @@ packages: eslint-plugin-import: '*' dependencies: debug: 4.3.4 - enhanced-resolve: 5.12.0 + enhanced-resolve: 5.13.0 eslint: 8.38.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.58.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.58.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) get-tsconfig: 4.5.0 globby: 13.1.4 is-core-module: 2.12.0 @@ -2495,7 +2495,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.58.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.59.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -2516,11 +2516,11 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.58.0(eslint@8.38.0)(typescript@5.0.4) + '@typescript-eslint/parser': 5.59.0(eslint@8.38.0)(typescript@5.0.4) debug: 3.2.7 eslint: 8.38.0 eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.58.0)(eslint-plugin-import@2.27.5)(eslint@8.38.0) + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.59.0)(eslint-plugin-import@2.27.5)(eslint@8.38.0) transitivePeerDependencies: - supports-color dev: true @@ -2547,7 +2547,7 @@ packages: regexpp: 3.2.0 dev: true - /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.58.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0): + /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.59.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0): resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: @@ -2557,7 +2557,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.58.0(eslint@8.38.0)(typescript@5.0.4) + '@typescript-eslint/parser': 5.59.0(eslint@8.38.0)(typescript@5.0.4) array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 @@ -2565,13 +2565,13 @@ packages: doctrine: 2.1.0 eslint: 8.38.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.58.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) has: 1.0.3 is-core-module: 2.12.0 is-glob: 4.0.3 minimatch: 3.1.2 object.values: 1.1.6 - resolve: 1.22.3 + resolve: 1.22.2 semver: 6.3.0 tsconfig-paths: 3.14.2 transitivePeerDependencies: @@ -2593,8 +2593,8 @@ packages: ignore: 5.2.4 is-core-module: 2.12.0 minimatch: 3.1.2 - resolve: 1.22.3 - semver: 7.4.0 + resolve: 1.22.2 + semver: 7.5.0 dev: true /eslint-plugin-node@11.1.0(eslint@8.38.0): @@ -2608,7 +2608,7 @@ packages: eslint-utils: 2.1.0 ignore: 5.2.4 minimatch: 3.1.2 - resolve: 1.22.3 + resolve: 1.22.2 semver: 6.3.0 dev: true @@ -2638,9 +2638,9 @@ packages: lodash: 4.17.21 pluralize: 8.0.0 read-pkg-up: 7.0.1 - regexp-tree: 0.1.24 + regexp-tree: 0.1.25 safe-regex: 2.1.1 - semver: 7.4.0 + semver: 7.5.0 strip-indent: 3.0.0 dev: true @@ -3067,7 +3067,7 @@ packages: resolution: {integrity: sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==} hasBin: true dependencies: - colorette: 2.0.19 + colorette: 2.0.20 defu: 6.1.2 https-proxy-agent: 5.0.1 mri: 1.2.0 @@ -3400,7 +3400,6 @@ packages: engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 - dev: false /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} @@ -3502,7 +3501,7 @@ packages: /is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.1 /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} @@ -3694,7 +3693,7 @@ packages: resolution: {integrity: sha512-r94k7kmXHb8e8wpv7+UP/qqhhD+j/9TgX19QKim2cEJuWCLwlTw+5BkCFmYyjhQ7Bt8KdVun/2DcD7MF2Fe3+g==} dependencies: clipboardy: 3.0.0 - colorette: 2.0.19 + colorette: 2.0.20 defu: 6.1.2 get-port-please: 3.0.1 http-shutdown: 1.2.2 @@ -3771,8 +3770,8 @@ packages: dependencies: yallist: 4.0.0 - /lru-cache@9.0.3: - resolution: {integrity: sha512-cyjNRew29d4kbgnz1sjDqxg7qg8NW4s+HQzCGjeon7DV5T2yDije16W9HaUFV1dhVEMh+SjrOcK0TomBmf3Egg==} + /lru-cache@9.1.0: + resolution: {integrity: sha512-qFXQEwchrZcMVen2uIDceR8Tii6kCJak5rzDStfEM0qA3YLMswaxIEZO0DhIbJ3aqaJiDjt+3crlplOb0tDtKQ==} engines: {node: 14 || >=16.14} dev: false @@ -3889,7 +3888,7 @@ packages: kleur: 4.1.5 semiver: 1.1.0 source-map-support: 0.5.21 - undici: 5.21.2 + undici: 5.22.0 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -3945,7 +3944,7 @@ packages: optional: true dependencies: defu: 6.1.2 - esbuild: 0.17.16 + esbuild: 0.17.17 fs-extra: 11.1.1 globby: 13.1.4 jiti: 1.18.2 @@ -4036,7 +4035,7 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.3 + resolve: 1.22.2 semver: 5.7.1 validate-npm-package-license: 3.0.4 dev: true @@ -4044,7 +4043,6 @@ packages: /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - dev: false /npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} @@ -4073,7 +4071,7 @@ packages: dependencies: execa: 6.1.0 parse-package-name: 1.0.0 - semver: 7.4.0 + semver: 7.5.0 validate-npm-package-name: 4.0.0 dev: true @@ -4117,9 +4115,8 @@ packages: node-fetch-native: 1.1.0 ufo: 1.1.1 - /ohash@1.0.0: - resolution: {integrity: sha512-kxSyzq6tt+6EE/xCnD1XaFhCCjUNUaz3X30rJp6mnjGLXAAvuPFqohMdv0aScWzajR45C29HyBaXZ8jXBwnh9A==} - dev: false + /ohash@1.1.1: + resolution: {integrity: sha512-N9UDJn2IV6oO6pNclJ80tRXraNNJqw/asscr3Lu7+ibRQdEswejJuuXNclMQTJVTsVhQs+ZJThVziy6t2v2KXA==} /on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} @@ -4172,7 +4169,7 @@ packages: fast-glob: 3.2.12 js-yaml: 4.1.0 supports-color: 9.3.1 - undici: 5.21.2 + undici: 5.22.0 yargs-parser: 21.1.1 dev: false @@ -4293,7 +4290,6 @@ packages: /perfect-debounce@0.1.3: resolution: {integrity: sha512-NOT9AcKiDGpnV/HBhI22Str++XWcErO/bALvHCuhv33owZW/CjH8KAFLZDCmu3727sihe0wTxpDhyGc6M8qacQ==} - dev: false /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -4315,8 +4311,8 @@ packages: engines: {node: '>=4'} dev: true - /postcss@8.4.22: - resolution: {integrity: sha512-XseknLAfRHzVWjCEtdviapiBtfLdgyzExD50Rg2ePaucEesyh8Wv4VPdW0nbyDa1ydbrAxV19jvMT4+LFmcNUA==} + /postcss@8.4.23: + resolution: {integrity: sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 @@ -4449,7 +4445,6 @@ packages: engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 - dev: false /redis-errors@1.2.0: resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} @@ -4463,13 +4458,13 @@ packages: redis-errors: 1.2.0 dev: false - /regexp-tree@0.1.24: - resolution: {integrity: sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==} + /regexp-tree@0.1.25: + resolution: {integrity: sha512-szcL3aqw+vEeuxhL1AMYRyeMP+goYF5I/guaH10uJX5xbGyeQeNPPneaj3ZWVmGLCDxrVaaYekkr5R12gk4dJw==} hasBin: true dev: true - /regexp.prototype.flags@1.4.3: - resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} + /regexp.prototype.flags@1.5.0: + resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -4500,8 +4495,8 @@ packages: engines: {node: '>=8'} dev: false - /resolve@1.22.3: - resolution: {integrity: sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==} + /resolve@1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} hasBin: true dependencies: is-core-module: 2.12.0 @@ -4518,7 +4513,7 @@ packages: dependencies: glob: 7.2.3 - /rollup-plugin-dts@5.3.0(rollup@3.20.3)(typescript@5.0.4): + /rollup-plugin-dts@5.3.0(rollup@3.20.7)(typescript@5.0.4): resolution: {integrity: sha512-8FXp0ZkyZj1iU5klkIJYLjIq/YZSwBoERu33QBDxm/1yw5UU4txrEtcmMkrq+ZiKu3Q4qvPCNqc3ovX6rjqzbQ==} engines: {node: '>=v14'} peerDependencies: @@ -4526,13 +4521,13 @@ packages: typescript: ^4.1 || ^5.0 dependencies: magic-string: 0.30.0 - rollup: 3.20.3 + rollup: 3.20.7 typescript: 5.0.4 optionalDependencies: '@babel/code-frame': 7.21.4 dev: true - /rollup-plugin-visualizer@5.9.0(rollup@3.20.3): + /rollup-plugin-visualizer@5.9.0(rollup@3.20.7): resolution: {integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==} engines: {node: '>=14'} hasBin: true @@ -4544,13 +4539,13 @@ packages: dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 3.20.3 + rollup: 3.20.7 source-map: 0.7.4 yargs: 17.7.1 dev: false - /rollup@3.20.3: - resolution: {integrity: sha512-u6/O1X42CAZ79rbk+smyONJQLTpwFBL7InpRa/AVWia5lq60w5J/PUsVHCOgSolN0X9R2GjQ41fZm3x28Hk1lA==} + /rollup@3.20.7: + resolution: {integrity: sha512-P7E2zezKSLhWnTz46XxjSmInrbOCiul1yf+kJccMxT56vxjHwCbDfoLbiqFgu+WQoo9ij2PkraYaBstgB2prBA==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: @@ -4587,7 +4582,7 @@ packages: /safe-regex@2.1.1: resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} dependencies: - regexp-tree: 0.1.24 + regexp-tree: 0.1.25 dev: true /scule@1.0.0: @@ -4614,8 +4609,8 @@ packages: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true - /semver@7.4.0: - resolution: {integrity: sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==} + /semver@7.5.0: + resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==} engines: {node: '>=10'} hasBin: true dependencies: @@ -4922,8 +4917,8 @@ packages: mkdirp: 1.0.4 yallist: 4.0.0 - /terser@5.16.9: - resolution: {integrity: sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg==} + /terser@5.17.1: + resolution: {integrity: sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==} engines: {node: '>=10'} hasBin: true dependencies: @@ -5093,16 +5088,16 @@ packages: resolution: {integrity: sha512-J4efk69Aye43tWcBPCsLK7TIRppGrEN4pAlDzRKo3HSE6MgTSTBxSEuE3ccx7ixc62JvGQ/CoFXYqqF2AHozow==} hasBin: true dependencies: - '@rollup/plugin-alias': 5.0.0(rollup@3.20.3) - '@rollup/plugin-commonjs': 24.1.0(rollup@3.20.3) - '@rollup/plugin-json': 6.0.0(rollup@3.20.3) - '@rollup/plugin-node-resolve': 15.0.2(rollup@3.20.3) - '@rollup/plugin-replace': 5.0.2(rollup@3.20.3) - '@rollup/pluginutils': 5.0.2(rollup@3.20.3) + '@rollup/plugin-alias': 5.0.0(rollup@3.20.7) + '@rollup/plugin-commonjs': 24.1.0(rollup@3.20.7) + '@rollup/plugin-json': 6.0.0(rollup@3.20.7) + '@rollup/plugin-node-resolve': 15.0.2(rollup@3.20.7) + '@rollup/plugin-replace': 5.0.2(rollup@3.20.7) + '@rollup/pluginutils': 5.0.2(rollup@3.20.7) chalk: 5.2.0 - consola: 3.0.2 + consola: 3.1.0 defu: 6.1.2 - esbuild: 0.17.16 + esbuild: 0.17.17 globby: 13.1.4 hookable: 5.5.3 jiti: 1.18.2 @@ -5113,8 +5108,8 @@ packages: pathe: 1.1.0 pkg-types: 1.0.2 pretty-bytes: 6.1.0 - rollup: 3.20.3 - rollup-plugin-dts: 5.3.0(rollup@3.20.3)(typescript@5.0.4) + rollup: 3.20.7 + rollup-plugin-dts: 5.3.0(rollup@3.20.7)(typescript@5.0.4) scule: 1.0.0 typescript: 5.0.4 untyped: 1.3.2 @@ -5127,9 +5122,9 @@ packages: resolution: {integrity: sha512-kuZwRKV615lEw/Xx3Iz56FKk3nOeOVGaVmw0eg+x4Mne28lCotNFbBhDW7dEBCBKyKbRQiCadEZeNAFPVC5cgw==} dev: false - /undici@5.21.2: - resolution: {integrity: sha512-f6pTQ9RF4DQtwoWSaC42P/NKlUjvezVvd9r155ohqkwFNRyBKM3f3pcty3ouusefNRyM25XhIQEbeQ46sZDJfQ==} - engines: {node: '>=12.18'} + /undici@5.22.0: + resolution: {integrity: sha512-fR9RXCc+6Dxav4P9VV/sp5w3eFiSdOjJYsbtWfd4s5L5C4ogyuVpdKIVHeW0vV1MloM65/f7W45nR9ZxwVdyiA==} + engines: {node: '>=14.0'} dependencies: busboy: 1.6.0 @@ -5142,10 +5137,10 @@ packages: pathe: 1.1.0 dev: false - /unimport@3.0.6(rollup@3.20.3): + /unimport@3.0.6(rollup@3.20.7): resolution: {integrity: sha512-GYxGJ1Bri1oqx8VFDjdgooGzeK7jBk3bvhXmamTIpu3nONOcUMGwZbX7X0L5RA7OWMXpR4vzpSQP7pXUzJg1/Q==} dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.3) + '@rollup/pluginutils': 5.0.2(rollup@3.20.7) escape-string-regexp: 5.0.0 fast-glob: 3.2.12 local-pkg: 0.4.3 @@ -5205,7 +5200,7 @@ packages: h3: 1.6.4 ioredis: 5.3.2 listhen: 1.0.4 - lru-cache: 9.0.3 + lru-cache: 9.1.0 mri: 1.2.0 node-fetch-native: 1.1.0 ofetch: 1.0.1 @@ -5282,7 +5277,7 @@ packages: builtins: 5.0.1 dev: true - /vite-node@0.30.1(@types/node@18.15.11): + /vite-node@0.30.1(@types/node@18.15.13): resolution: {integrity: sha512-vTikpU/J7e6LU/8iM3dzBo8ZhEiKZEKRznEMm+mJh95XhWaPrJQraT/QsT2NWmuEf+zgAoMe64PKT7hfZ1Njmg==} engines: {node: '>=v14.18.0'} hasBin: true @@ -5292,7 +5287,7 @@ packages: mlly: 1.2.0 pathe: 1.1.0 picocolors: 1.0.0 - vite: 4.2.1(@types/node@18.15.11) + vite: 4.3.1(@types/node@18.15.13) transitivePeerDependencies: - '@types/node' - less @@ -5303,8 +5298,8 @@ packages: - terser dev: true - /vite@4.2.1(@types/node@18.15.11): - resolution: {integrity: sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==} + /vite@4.3.1(@types/node@18.15.13): + resolution: {integrity: sha512-EPmfPLAI79Z/RofuMvkIS0Yr091T2ReUoXQqc5ppBX/sjFRhHKiPPF/R46cTdoci/XgeQpB23diiJxq5w30vdg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -5328,11 +5323,10 @@ packages: terser: optional: true dependencies: - '@types/node': 18.15.11 - esbuild: 0.17.16 - postcss: 8.4.22 - resolve: 1.22.3 - rollup: 3.20.3 + '@types/node': 18.15.13 + esbuild: 0.17.17 + postcss: 8.4.23 + rollup: 3.20.7 optionalDependencies: fsevents: 2.3.2 dev: true @@ -5370,7 +5364,7 @@ packages: dependencies: '@types/chai': 4.3.4 '@types/chai-subset': 1.3.3 - '@types/node': 18.15.11 + '@types/node': 18.15.13 '@vitest/expect': 0.30.1 '@vitest/runner': 0.30.1 '@vitest/snapshot': 0.30.1 @@ -5391,8 +5385,8 @@ packages: strip-literal: 1.0.1 tinybench: 2.4.0 tinypool: 0.4.0 - vite: 4.2.1(@types/node@18.15.11) - vite-node: 0.30.1(@types/node@18.15.11) + vite: 4.3.1(@types/node@18.15.13) + vite-node: 0.30.1(@types/node@18.15.13) why-is-node-running: 2.2.2 transitivePeerDependencies: - less diff --git a/src/build.ts b/src/build.ts index 9d476e178b..f145dd3430 100644 --- a/src/build.ts +++ b/src/build.ts @@ -58,7 +58,7 @@ export async function copyPublicAssets(nitro: Nitro) { export async function build(nitro: Nitro) { const rollupConfig = getRollupConfig(nitro); - await nitro.hooks.callHook("rollup:before", nitro); + await nitro.hooks.callHook("rollup:before", nitro, rollupConfig); return nitro.options.dev ? _watch(nitro, rollupConfig) : _build(nitro, rollupConfig); @@ -377,6 +377,8 @@ async function _watch(nitro: Nitro, rollupConfig: RollupConfig) { reloadWacher.close(); }); + nitro.hooks.hook("rollup:reload", () => reload()); + await reload(); } diff --git a/src/cli/commands/dev.ts b/src/cli/commands/dev.ts index 1823dfe510..add7815249 100644 --- a/src/cli/commands/dev.ts +++ b/src/cli/commands/dev.ts @@ -1,9 +1,13 @@ import { defineCommand } from "citty"; import { resolve } from "pathe"; +import { consola } from "consola"; import { createNitro } from "../../nitro"; import { build, prepare } from "../../build"; import { createDevServer } from "../../dev/server"; import { commonArgs } from "../common"; +import type { Nitro } from "../../types"; + +const hmrKeyRe = /^runtimeConfig\.|routeRules\./; export default defineCommand({ meta: { @@ -15,14 +19,49 @@ export default defineCommand({ }, async run({ args }) { const rootDir = resolve((args.dir || args._dir || ".") as string); - const nitro = await createNitro({ - rootDir, - dev: true, - preset: "nitro-dev", - }); - const server = createDevServer(nitro); - await server.listen({}); - await prepare(nitro); - await build(nitro); + let nitro: Nitro; + const reload = async () => { + if (nitro) { + consola.info("Restarting dev server..."); + if ("unwatch" in nitro.options._c12) { + await nitro.options._c12.unwatch(); + } + await nitro.close(); + } + nitro = await createNitro( + { + rootDir, + dev: true, + preset: "nitro-dev", + }, + { + watch: true, + c12: { + async onUpdate({ getDiff, newConfig }) { + const diff = getDiff(); + + if (diff.length === 0) { + return; // No changes + } + + consola.info( + "Nitro config updated:\n" + + diff.map((entry) => ` ${entry.toString()}`).join("\n") + ); + + await (!diff.every((e) => hmrKeyRe.test(e.key)) + ? reload() // Full reload + : nitro.updateConfig(newConfig.config)); // Hot reload + }, + }, + } + ); + nitro.hooks.hookOnce("restart", reload); + const server = createDevServer(nitro); + await server.listen({}); + await prepare(nitro); + await build(nitro); + }; + await reload(); }, }); diff --git a/src/config.ts b/src/config.ts new file mode 100644 index 0000000000..4e018f494e --- /dev/null +++ b/src/config.ts @@ -0,0 +1,5 @@ +import type { NitroConfig } from "./types"; + +export function defineNitroConfig(config: NitroConfig): NitroConfig { + return config; +} diff --git a/src/index.ts b/src/index.ts index 84ecc1e4d8..9e9093a483 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,7 +2,9 @@ export * from "./build"; export * from "./nitro"; export * from "./scan"; export * from "./dev/server"; -export * from "./options"; export * from "./types"; export * from "./prerender"; export * from "./preset"; + +export { loadOptions } from "./options"; +export type { LoadConfigOptions } from "./options"; diff --git a/src/nitro.ts b/src/nitro.ts index afca9eea95..a8a92cd122 100644 --- a/src/nitro.ts +++ b/src/nitro.ts @@ -4,14 +4,22 @@ import { createHooks, createDebugger } from "hookable"; import { createUnimport } from "unimport"; import { defu } from "defu"; import { consola } from "consola"; -import type { NitroConfig, Nitro } from "./types"; -import { loadOptions } from "./options"; +import type { NitroConfig, Nitro, NitroDynamicConfig } from "./types"; +import { + LoadConfigOptions, + loadOptions, + normalizeRouteRules, + normalizeRuntimeConfig, +} from "./options"; import { scanPlugins } from "./scan"; import { createStorage } from "./storage"; -export async function createNitro(config: NitroConfig = {}): Promise { +export async function createNitro( + config: NitroConfig = {}, + opts: LoadConfigOptions = {} +): Promise { // Resolve options - const options = await loadOptions(config); + const options = await loadOptions(config, opts); // Create context const nitro: Nitro = { @@ -22,6 +30,16 @@ export async function createNitro(config: NitroConfig = {}): Promise { scannedHandlers: [], close: () => nitro.hooks.callHook("close"), storage: undefined, + async updateConfig(config: NitroDynamicConfig) { + nitro.options.routeRules = normalizeRouteRules( + config.routeRules ? config : nitro.options + ); + nitro.options.runtimeConfig = normalizeRuntimeConfig( + config.runtimeConfig ? config : nitro.options + ); + await nitro.hooks.callHook("rollup:reload"); + consola.success("Nitro config hot reloaded!"); + }, }; // Storage diff --git a/src/options.ts b/src/options.ts index c44e03828e..7278206977 100644 --- a/src/options.ts +++ b/src/options.ts @@ -1,5 +1,5 @@ import { resolve, join } from "pathe"; -import { loadConfig } from "c12"; +import { loadConfig, watchConfig, WatchConfigOptions } from "c12"; import { klona } from "klona/full"; import { camelCase } from "scule"; import { defu } from "defu"; @@ -103,8 +103,14 @@ const NitroDefaults: NitroConfig = { commands: {}, }; +export interface LoadConfigOptions { + watch?: boolean; + c12?: WatchConfigOptions; +} + export async function loadOptions( - configOverrides: NitroConfig = {} + configOverrides: NitroConfig = {}, + opts: LoadConfigOptions = {} ): Promise { // Preset let presetOverride = @@ -115,7 +121,10 @@ export async function loadOptions( // Load configuration and preset configOverrides = klona(configOverrides); - const { config, layers } = await loadConfig({ + globalThis.defineNitroConfig = globalThis.defineNitroConfig || ((c) => c); + const c12Config = await (opts.watch ? watchConfig : loadConfig)(< + WatchConfigOptions + >{ name: "nitro", cwd: configOverrides.rootDir, dotenv: configOverrides.dev, @@ -128,6 +137,12 @@ export async function loadOptions( preset: detectTarget() || "node-server", }, defaults: NitroDefaults, + jitiOptions: { + alias: { + nitropack: "nitropack/config", + "nitropack/config": "nitropack/config", + }, + }, resolve(id: string) { const presets = _PRESETS as any as Map; let matchedPreset = presets[camelCase(id)] || presets[id]; @@ -141,13 +156,15 @@ export async function loadOptions( config: matchedPreset, }; }, + ...opts.c12, }); - const options = klona(config) as NitroOptions; + const options = klona(c12Config.config) as NitroOptions; options._config = configOverrides; + options._c12 = c12Config; options.preset = presetOverride || - (layers.find((l) => l.config.preset)?.config.preset as string) || + (c12Config.layers.find((l) => l.config.preset)?.config.preset as string) || (detectTarget({ static: options.static }) ?? "node-server"); options.rootDir = resolve(options.rootDir || "."); @@ -264,72 +281,13 @@ export async function loadOptions( // Backward compatibility for options.routes options.routeRules = defu(options.routeRules, (options as any).routes || {}); - // Normalize route rules (NitroRouteConfig => NitroRouteRules) - const normalizedRules: { [p: string]: NitroRouteRules } = {}; - for (const path in options.routeRules) { - const routeConfig = options.routeRules[path] as NitroRouteConfig; - const routeRules: NitroRouteRules = { - ...routeConfig, - redirect: undefined, - proxy: undefined, - }; - // Redirect - if (routeConfig.redirect) { - routeRules.redirect = { - to: "/", - statusCode: 307, - ...(typeof routeConfig.redirect === "string" - ? { to: routeConfig.redirect } - : routeConfig.redirect), - }; - } - // Proxy - if (routeConfig.proxy) { - routeRules.proxy = - typeof routeConfig.proxy === "string" - ? { to: routeConfig.proxy } - : routeConfig.proxy; - if (path.endsWith("/**")) { - // Internal flag - (routeRules.proxy as any)._proxyStripBase = path.slice(0, -3); - } - } - // CORS - if (routeConfig.cors) { - routeRules.headers = { - "access-control-allow-origin": "*", - "access-control-allow-methods": "*", - "access-control-allow-headers": "*", - "access-control-max-age": "0", - ...routeRules.headers, - }; - } - // Cache: swr - if (routeConfig.swr) { - routeRules.cache = routeRules.cache || {}; - routeRules.cache.swr = true; - if (typeof routeConfig.swr === "number") { - routeRules.cache.maxAge = routeConfig.swr; - } - } - // Cache: false - if (routeConfig.cache === false) { - routeRules.cache = false; - } - normalizedRules[path] = routeRules; - } - options.routeRules = normalizedRules; + // Normalize route rules + options.routeRules = normalizeRouteRules(options); options.baseURL = withLeadingSlash(withTrailingSlash(options.baseURL)); - provideFallbackValues(options.runtimeConfig); - options.runtimeConfig = defu(options.runtimeConfig, { - app: { - baseURL: options.baseURL, - }, - nitro: {}, - }); - options.runtimeConfig.nitro.routeRules = options.routeRules; + // Normalize runtime config + options.runtimeConfig = normalizeRuntimeConfig(options); for (const publicAsset of options.publicAssets) { publicAsset.dir = resolve(options.srcDir, publicAsset.dir); @@ -381,6 +339,80 @@ export async function loadOptions( return options; } +/** + * @deprecated Please import `defineNitroConfig` from nitropack/config instead + */ export function defineNitroConfig(config: NitroConfig): NitroConfig { return config; } + +export function normalizeRuntimeConfig(config: NitroConfig) { + provideFallbackValues(config.runtimeConfig); + const runtimeConfig = defu(config.runtimeConfig, { + app: { + baseURL: config.baseURL, + }, + nitro: {}, + }); + runtimeConfig.nitro.routeRules = config.routeRules; + return runtimeConfig; +} + +export function normalizeRouteRules( + config: NitroConfig +): Record { + const normalizedRules: Record = {}; + for (const path in config.routeRules) { + const routeConfig = config.routeRules[path] as NitroRouteConfig; + const routeRules: NitroRouteRules = { + ...routeConfig, + redirect: undefined, + proxy: undefined, + }; + // Redirect + if (routeConfig.redirect) { + routeRules.redirect = { + to: "/", + statusCode: 307, + ...(typeof routeConfig.redirect === "string" + ? { to: routeConfig.redirect } + : routeConfig.redirect), + }; + } + // Proxy + if (routeConfig.proxy) { + routeRules.proxy = + typeof routeConfig.proxy === "string" + ? { to: routeConfig.proxy } + : routeConfig.proxy; + if (path.endsWith("/**")) { + // Internal flag + (routeRules.proxy as any)._proxyStripBase = path.slice(0, -3); + } + } + // CORS + if (routeConfig.cors) { + routeRules.headers = { + "access-control-allow-origin": "*", + "access-control-allow-methods": "*", + "access-control-allow-headers": "*", + "access-control-max-age": "0", + ...routeRules.headers, + }; + } + // Cache: swr + if (routeConfig.swr) { + routeRules.cache = routeRules.cache || {}; + routeRules.cache.swr = true; + if (typeof routeConfig.swr === "number") { + routeRules.cache.maxAge = routeConfig.swr; + } + } + // Cache: false + if (routeConfig.cache === false) { + routeRules.cache = false; + } + normalizedRules[path] = routeRules; + } + return normalizedRules; +} diff --git a/src/presets/netlify.ts b/src/presets/netlify.ts index 4ec498e920..3d7ba35a94 100644 --- a/src/presets/netlify.ts +++ b/src/presets/netlify.ts @@ -17,6 +17,7 @@ export const netlify = defineNitroPreset({ }, }, hooks: { + "rollup:before": (nitro: Nitro) => deprecateSWR(nitro), async compiled(nitro: Nitro) { await writeHeaders(nitro); await writeRedirects(nitro); @@ -38,6 +39,9 @@ export const netlify = defineNitroPreset({ export const netlifyBuilder = defineNitroPreset({ extends: "netlify", entry: "#internal/nitro/entries/netlify-builder", + hooks: { + "rollup:before": (nitro: Nitro) => deprecateSWR(nitro), + }, }); // Netlify edge @@ -55,6 +59,7 @@ export const netlifyEdge = defineNitroPreset({ }, }, hooks: { + "rollup:before": (nitro: Nitro) => deprecateSWR(nitro), async compiled(nitro: Nitro) { const manifest = { version: 1, @@ -84,6 +89,7 @@ export const netlifyStatic = defineNitroPreset({ preview: "npx serve ./static", }, hooks: { + "rollup:before": (nitro: Nitro) => deprecateSWR(nitro), async compiled(nitro: Nitro) { await writeHeaders(nitro); await writeRedirects(nitro); @@ -184,3 +190,27 @@ async function writeHeaders(nitro: Nitro) { await fsp.writeFile(headersPath, contents); } + +function deprecateSWR(nitro: Nitro) { + let hasLegacyOptions = false; + for (const [key, value] of Object.entries(nitro.options.routeRules)) { + if ("isr" in value) { + continue; + } + if (value.cache === false) { + value.isr = false; + } + if ("static" in value) { + value.isr = !value.static; + } + if (value.cache && "swr" in value.cache) { + value.isr = value.cache.swr; + } + hasLegacyOptions = hasLegacyOptions || "isr" in value; + } + if (hasLegacyOptions) { + console.warn( + "[nitro] Nitro now uses `isr` option to configure ISR behavior on Netlify. Backwards-compatible support for `static` and `swr` support with Builder Functions will be removed in the next major release." + ); + } +} diff --git a/src/presets/vercel.ts b/src/presets/vercel.ts index 87b202b7c5..6b836b89ce 100644 --- a/src/presets/vercel.ts +++ b/src/presets/vercel.ts @@ -22,6 +22,7 @@ export const vercel = defineNitroPreset({ preview: "", }, hooks: { + "rollup:before": (nitro: Nitro) => deprecateSWR(nitro), async compiled(nitro: Nitro) { const buildConfigPath = resolve(nitro.options.output.dir, "config.json"); const buildConfig = generateBuildConfig(nitro); @@ -93,6 +94,7 @@ export const vercelEdge = defineNitroPreset({ }, }, hooks: { + "rollup:before": (nitro: Nitro) => deprecateSWR(nitro), async compiled(nitro: Nitro) { const buildConfigPath = resolve(nitro.options.output.dir, "config.json"); const buildConfig = generateBuildConfig(nitro); @@ -124,6 +126,7 @@ export const vercelStatic = defineNitroPreset({ preview: "npx serve ./static", }, hooks: { + "rollup:before": (nitro: Nitro) => deprecateSWR(nitro), async compiled(nitro: Nitro) { const buildConfigPath = resolve(nitro.options.output.dir, "config.json"); const buildConfig = generateBuildConfig(nitro); @@ -246,3 +249,27 @@ function generateEndpoint(url: string) { withoutLeadingSlash(url.replace(/\/\*\*.*/, "").replace(/[^a-z]/g, "-")) : url; } + +function deprecateSWR(nitro: Nitro) { + let hasLegacyOptions = false; + for (const [key, value] of Object.entries(nitro.options.routeRules)) { + if ("isr" in value) { + continue; + } + if (value.cache === false) { + value.isr = false; + } + if ("static" in value) { + value.isr = !value.static; + } + if (value.cache && "swr" in value.cache) { + value.isr = value.cache.swr; + } + hasLegacyOptions = hasLegacyOptions || "isr" in value; + } + if (hasLegacyOptions) { + console.warn( + "[nitro] Nitro now uses `isr` option to configure ISR behavior on Vercel. Backwards-compatible support for `static` and `swr` options within the Vercel Build Options API will be removed in the next major release." + ); + } +} diff --git a/src/rollup/config.ts b/src/rollup/config.ts index 9ec15d6563..0a8f11490d 100644 --- a/src/rollup/config.ts +++ b/src/rollup/config.ts @@ -38,7 +38,7 @@ import { appConfig } from "./plugins/app-config"; export type RollupConfig = InputOptions & { output: OutputOptions }; -export const getRollupConfig = (nitro: Nitro) => { +export const getRollupConfig = (nitro: Nitro): RollupConfig => { const extensions: string[] = [".ts", ".mjs", ".js", ".json", ".node"]; const nodePreset = nitro.options.node === false ? unenv.nodeless : unenv.node; @@ -169,7 +169,6 @@ export const getRollupConfig = (nitro: Nitro) => { server: true, client: false, dev: String(nitro.options.dev), - RUNTIME_CONFIG: nitro.options.runtimeConfig, DEBUG: nitro.options.dev, }; @@ -183,6 +182,8 @@ export const getRollupConfig = (nitro: Nitro) => { values: { "typeof window": '"undefined"', _import_meta_url_: "import.meta.url", + "process.env.RUNTIME_CONFIG": () => + JSON.stringify(nitro.options.runtimeConfig, null, 2), ...Object.fromEntries( [".", ";", ")", "[", "]", "}", " "].map((d) => [ `import.meta${d}`, diff --git a/src/runtime/app.ts b/src/runtime/app.ts index 1eebf7065c..391960ad9d 100644 --- a/src/runtime/app.ts +++ b/src/runtime/app.ts @@ -60,6 +60,8 @@ function createNitroApp(): NitroApp { // A generic event handler give nitro acess to the requests h3App.use( eventHandler((event) => { + // Init nitro context + event.context.nitro = event.context.nitro || {}; // Support platform context provided by local fetch const envContext = (event.node.req as any).__unenv__; if (envContext) { diff --git a/src/runtime/config.ts b/src/runtime/config.ts index d54a631be0..f9ada9bddb 100644 --- a/src/runtime/config.ts +++ b/src/runtime/config.ts @@ -1,57 +1,103 @@ import destr from "destr"; import { snakeCase } from "scule"; -import { appConfig as _appConfig } from "#internal/nitro/virtual/app-config"; +import { klona } from "klona"; +import { H3Event } from "h3"; +import { appConfig as _inlineAppConfig } from "#internal/nitro/virtual/app-config"; -// Runtime config -const _runtimeConfig = process.env.RUNTIME_CONFIG as any; +// Static runtime config inlined by nitro build +const _inlineRuntimeConfig = process.env.RUNTIME_CONFIG as any; const ENV_PREFIX = "NITRO_"; const ENV_PREFIX_ALT = - _runtimeConfig.nitro.envPrefix ?? process.env.NITRO_ENV_PREFIX ?? "_"; -overrideConfig(_runtimeConfig); + _inlineRuntimeConfig.nitro.envPrefix ?? process.env.NITRO_ENV_PREFIX ?? "_"; -const runtimeConfig = deepFreeze(_runtimeConfig); -export default runtimeConfig; // TODO: Remove in next major version -export const useRuntimeConfig = () => runtimeConfig; +// Runtime config +const _sharedRuntimeConfig = _deepFreeze( + _applyEnv(klona(_inlineRuntimeConfig)) +); +export function useRuntimeConfig(event?: H3Event) { + // Backwards compatibility with ambient context + if (!event) { + return _sharedRuntimeConfig; + } + // Reuse cached runtime config from event context + if (event.context.nitro.runtimeConfig) { + return event.context.nitro.runtimeConfig; + } + // Prepare runtime config for event context + const runtimeConfig = klona(_inlineRuntimeConfig); + _applyEnv(runtimeConfig); + event.context.nitro.runtimeConfig = runtimeConfig; + return runtimeConfig; +} // App config -const appConfig = deepFreeze(_appConfig); -export const useAppConfig = () => appConfig; +const _sharedAppConfig = _deepFreeze(klona(_inlineAppConfig)); +export function useAppConfig(event?: H3Event) { + // Backwards compatibility with ambient context + if (!event) { + return _sharedAppConfig; + } + // Reuse cached app config from event context + if (event.context.nitro.appConfig) { + return event.context.nitro.appConfig; + } + // Prepare app config for event context + const appConfig = klona(_inlineAppConfig); + event.context.nitro.appConfig = appConfig; + return appConfig; +} // --- Utils --- -function getEnv(key: string) { +function _getEnv(key: string) { const envKey = snakeCase(key).toUpperCase(); return destr( process.env[ENV_PREFIX + envKey] ?? process.env[ENV_PREFIX_ALT + envKey] ); } -function isObject(input: unknown) { +function _isObject(input: unknown) { return typeof input === "object" && !Array.isArray(input); } -function overrideConfig(obj: object, parentKey = "") { +function _applyEnv(obj: object, parentKey = "") { for (const key in obj) { const subKey = parentKey ? `${parentKey}_${key}` : key; - const envValue = getEnv(subKey); - if (isObject(obj[key])) { - if (isObject(envValue)) { + const envValue = _getEnv(subKey); + if (_isObject(obj[key])) { + if (_isObject(envValue)) { obj[key] = { ...obj[key], ...envValue }; } - overrideConfig(obj[key], subKey); + _applyEnv(obj[key], subKey); } else { obj[key] = envValue ?? obj[key]; } } + return obj; } -function deepFreeze(object: Record) { +function _deepFreeze(object: Record) { const propNames = Object.getOwnPropertyNames(object); for (const name of propNames) { const value = object[name]; if (value && typeof value === "object") { - deepFreeze(value); + _deepFreeze(value); } } return Object.freeze(object); } + +// --- Deprecated default export --- +// TODO: Remove in next major version +export default new Proxy(Object.create(null), { + get: (_, prop) => { + console.warn( + "Please use `useRuntimeConfig()` instead of accessing config directly." + ); + const runtimeConfig = useRuntimeConfig(); + if (prop in runtimeConfig) { + return runtimeConfig[prop]; + } + return undefined; + }, +}); diff --git a/src/runtime/route-rules.ts b/src/runtime/route-rules.ts index 6b17d91cdb..df5d389609 100644 --- a/src/runtime/route-rules.ts +++ b/src/runtime/route-rules.ts @@ -7,7 +7,7 @@ import { } from "h3"; import defu from "defu"; import { createRouter as createRadixRouter, toRouteMatcher } from "radix3"; -import { joinURL, withoutBase } from "ufo"; +import { joinURL, withQuery, getQuery, withoutBase } from "ufo"; import { useRuntimeConfig } from "./config"; import type { NitroRouteRules } from "nitropack"; @@ -42,6 +42,9 @@ export function createRouteRulesHandler() { targetPath = withoutBase(targetPath, strpBase); } target = joinURL(target.slice(0, -3), targetPath); + } else if (event.path.includes("?")) { + const query = getQuery(event.path); + target = withQuery(target, query); } return proxyRequest(event, target, { fetch: $fetch.raw as any, diff --git a/src/types/nitro.ts b/src/types/nitro.ts index 6007bed682..5b70b947eb 100644 --- a/src/types/nitro.ts +++ b/src/types/nitro.ts @@ -11,6 +11,7 @@ import type { RollupWasmOptions } from "@rollup/plugin-wasm"; import type { Storage, BuiltinDriverName } from "unstorage"; import type { ServerOptions as HTTPProxyOptions } from "http-proxy"; import type { ProxyOptions } from "h3"; +import type { ResolvedConfig, ConfigWatcher } from "c12"; import type { NodeExternalsOptions } from "../rollup/plugins/externals"; import type { RollupConfig } from "../rollup/config"; import type { Options as EsbuildOptions } from "../rollup/plugins/esbuild"; @@ -24,6 +25,11 @@ import type { import type { PresetOptions } from "./presets"; import type { KebabCase } from "./utils"; +export type NitroDynamicConfig = Pick< + NitroConfig, + "runtimeConfig" | "routeRules" +>; + export interface Nitro { options: NitroOptions; scannedHandlers: NitroEventHandler[]; @@ -33,6 +39,7 @@ export interface Nitro { logger: ConsolaInstance; storage: Storage; close: () => Promise; + updateConfig: (config: NitroDynamicConfig) => void | Promise; /* @internal */ _prerenderedRoutes?: PrerenderGenerateRoute[]; @@ -53,9 +60,11 @@ export interface PrerenderGenerateRoute extends PrerenderRoute { type HookResult = void | Promise; export interface NitroHooks { - "rollup:before": (nitro: Nitro) => HookResult; + "rollup:before": (nitro: Nitro, config: RollupConfig) => HookResult; compiled: (nitro: Nitro) => HookResult; "dev:reload": () => HookResult; + "rollup:reload": () => HookResult; + restart: () => HookResult; close: () => HookResult; "prerender:routes": (routes: Set) => HookResult; "prerender:route": (route: PrerenderRoute) => HookResult; @@ -153,6 +162,7 @@ export interface NitroRouteRules export interface NitroOptions extends PresetOptions { // Internal _config: NitroConfig; + _c12: ResolvedConfig | ConfigWatcher; // General debug: boolean; diff --git a/test/fixture/api/echo.ts b/test/fixture/api/echo.ts new file mode 100644 index 0000000000..a767e0dde7 --- /dev/null +++ b/test/fixture/api/echo.ts @@ -0,0 +1,7 @@ +export default eventHandler((event) => { + return { + url: event.node.req.url, + method: event.node.req.method, + headers: event.node.req.headers, + }; +}); diff --git a/test/fixture/middleware/config.ts b/test/fixture/middleware/config.ts new file mode 100644 index 0000000000..28158e4dad --- /dev/null +++ b/test/fixture/middleware/config.ts @@ -0,0 +1,6 @@ +process.env.NITRO_DYNAMIC = "from-env"; + +export default eventHandler((event) => { + const appConfig = useAppConfig(event); + appConfig.dynamic = "from-middleware"; +}); diff --git a/test/fixture/nitro.config.ts b/test/fixture/nitro.config.ts index aaa05c96a2..b75728e6ed 100644 --- a/test/fixture/nitro.config.ts +++ b/test/fixture/nitro.config.ts @@ -1,4 +1,4 @@ -import { defineNitroConfig } from "../../src"; +import { defineNitroConfig } from "../../src/config"; export default defineNitroConfig({ compressPublicAssets: true, @@ -28,6 +28,10 @@ export default defineNitroConfig({ ], appConfig: { "nitro-config": true, + dynamic: "initial", + }, + runtimeConfig: { + dynamic: "initial", }, appConfigFiles: ["~/server.config.ts"], publicAssets: [ @@ -61,6 +65,7 @@ export default defineNitroConfig({ "/rules/_/noncached/**": { swr: false, cache: false, isr: false }, "/rules/_/cached/noncached": { cache: false, swr: false, isr: false }, "/rules/_/cached/**": { swr: true }, + "/api/proxy/**": { proxy: "/api/echo" }, }, prerender: { crawlLinks: true, diff --git a/test/fixture/routes/app-config.ts b/test/fixture/routes/app-config.ts deleted file mode 100644 index 39e7b94821..0000000000 --- a/test/fixture/routes/app-config.ts +++ /dev/null @@ -1,7 +0,0 @@ -export default eventHandler(() => { - const appConfig = useAppConfig(); - - return { - appConfig, - }; -}); diff --git a/test/fixture/routes/config.ts b/test/fixture/routes/config.ts new file mode 100644 index 0000000000..9097e19f5c --- /dev/null +++ b/test/fixture/routes/config.ts @@ -0,0 +1,14 @@ +const sharedAppConfig = useAppConfig(); +const sharedRuntimeConfig = useRuntimeConfig(); + +export default eventHandler((event) => { + const appConfig = useAppConfig(event); + const runtimeConfig = useRuntimeConfig(event); + + return { + sharedAppConfig, + appConfig, + runtimeConfig, + sharedRuntimeConfig, + }; +}); diff --git a/test/fixture/types.ts b/test/fixture/types.ts index 9aaaab49c6..8c655e7224 100644 --- a/test/fixture/types.ts +++ b/test/fixture/types.ts @@ -1,7 +1,7 @@ import { expectTypeOf } from "expect-type"; import { describe, it } from "vitest"; import { $Fetch } from "../.."; -import { defineNitroConfig } from "../../src/options"; +import { defineNitroConfig } from "../../src/config"; interface TestResponse { message: string; diff --git a/test/presets/netlify.test.ts b/test/presets/netlify.test.ts index 641d724ea8..6bd7b3a254 100644 --- a/test/presets/netlify.test.ts +++ b/test/presets/netlify.test.ts @@ -45,7 +45,11 @@ describe("nitro:preset:netlify", async () => { /rules/nested/* /base 302 /rules/redirect /base 302 /rules/_/cached/noncached /.netlify/functions/server 200 + /rules/_/noncached/cached /.netlify/builders/server 200 + /rules/_/cached/* /.netlify/builders/server 200 /rules/_/noncached/* /.netlify/functions/server 200 + /rules/swr-ttl/* /.netlify/builders/server 200 + /rules/swr/* /.netlify/builders/server 200 /rules/isr-ttl/* /.netlify/builders/server 200 /rules/isr/* /.netlify/builders/server 200 /rules/dynamic /.netlify/functions/server 200 diff --git a/test/presets/nitro-dev.test.ts b/test/presets/nitro-dev.test.ts index 5547efeebc..8d895df22e 100644 --- a/test/presets/nitro-dev.test.ts +++ b/test/presets/nitro-dev.test.ts @@ -6,8 +6,12 @@ describe("nitro:preset:nitro-dev", async () => { testNitro( ctx, () => { - return async ({ url }) => { - const res = await ctx.fetch(url); + return async ({ url, headers, method, body }) => { + const res = await ctx.fetch(url, { + headers, + method, + body, + }); return res; }; }, diff --git a/test/presets/vercel.test.ts b/test/presets/vercel.test.ts index 53a0883741..15e6975419 100644 --- a/test/presets/vercel.test.ts +++ b/test/presets/vercel.test.ts @@ -106,6 +106,10 @@ describe("nitro:preset:vercel", async () => { { "handle": "filesystem", }, + { + "dest": "/rules/_/noncached/cached?url=$url", + "src": "/rules/_/noncached/cached", + }, { "dest": "/__nitro", "src": "/rules/_/cached/noncached", @@ -114,6 +118,10 @@ describe("nitro:preset:vercel", async () => { "dest": "/__nitro", "src": "(?/rules/_/noncached/.*)", }, + { + "dest": "/__nitro--rules---cached?url=$url", + "src": "(?/rules/_/cached/.*)", + }, { "dest": "/__nitro", "src": "/rules/dynamic", @@ -126,6 +134,14 @@ describe("nitro:preset:vercel", async () => { "dest": "/__nitro--rules-isr-ttl?url=$url", "src": "(?/rules/isr-ttl/.*)", }, + { + "dest": "/__nitro--rules-swr?url=$url", + "src": "(?/rules/swr/.*)", + }, + { + "dest": "/__nitro--rules-swr-ttl?url=$url", + "src": "(?/rules/swr-ttl/.*)", + }, { "dest": "/__nitro", "src": "/(.*)", diff --git a/test/tests.ts b/test/tests.ts index 2a20700806..6122981e4a 100644 --- a/test/tests.ts +++ b/test/tests.ts @@ -2,7 +2,7 @@ import { resolve } from "pathe"; import { listen, Listener } from "listhen"; import destr from "destr"; import { fetch, FetchOptions } from "ofetch"; -import { expect, it, afterAll } from "vitest"; +import { expect, it, afterAll, beforeAll } from "vitest"; import { fileURLToPath } from "mlly"; import { joinURL } from "ufo"; import * as _nitro from "../src"; @@ -121,7 +121,7 @@ export function testNitro( }; } - it("setup handler", async () => { + beforeAll(async () => { _handler = await getHandler(); }); @@ -297,19 +297,51 @@ export function testNitro( } } - it("app config", async () => { + it("runtime proxy", async () => { const { data } = await callHandler({ - url: "/app-config", + url: "/api/proxy?foo=bar", + headers: { + "x-test": "foobar", + }, + }); + expect(data.headers["x-test"]).toBe("foobar"); + expect(data.url).toBe("/api/echo?foo=bar"); + }); + + it("config", async () => { + const { data } = await callHandler({ + url: "/config", }); - expect(data).toMatchInlineSnapshot(` - { - "appConfig": { - "app-config": true, - "nitro-config": true, - "server-config": true, + expect(data).toMatchObject({ + appConfig: { + dynamic: "from-middleware", + "app-config": true, + "nitro-config": true, + "server-config": true, + }, + runtimeConfig: { + dynamic: "from-env", + app: { + baseURL: "/", + }, + }, + sharedAppConfig: { + dynamic: "initial", + "app-config": true, + "nitro-config": true, + "server-config": true, + }, + sharedRuntimeConfig: { + dynamic: + // TODO + ctx.preset.includes("cloudflare") || ctx.preset === "nitro-dev" + ? "initial" + : "from-env", + app: { + baseURL: "/", }, - } - `); + }, + }); }); if (ctx.nitro!.options.timing) { diff --git a/tsconfig.json b/tsconfig.json index 2702dafafc..029b104a21 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,6 +12,7 @@ "resolveJsonModule": true, "paths": { "nitropack": ["./src/index"], + "nitropack/config": ["./src/config"], "#internal/nitro": ["./src/runtime/index"], "#internal/nitro/*": ["./src/runtime/*"] }