From 7ea05acbc9907b4961c4f13566cab06f61c90e56 Mon Sep 17 00:00:00 2001 From: Alex Liu Date: Fri, 3 May 2024 17:13:54 +0800 Subject: [PATCH 001/127] feat(nuxt): treeshake `onUpdated` and `onUnmounted` on server (#27044) --- packages/schema/src/config/build.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/schema/src/config/build.ts b/packages/schema/src/config/build.ts index d39cd4aac..cd51c29fd 100644 --- a/packages/schema/src/config/build.ts +++ b/packages/schema/src/config/build.ts @@ -165,7 +165,7 @@ export default defineUntypedSchema({ await get('dev') ? {} : { - 'vue': ['onBeforeMount', 'onMounted', 'onBeforeUpdate', 'onRenderTracked', 'onRenderTriggered', 'onActivated', 'onDeactivated', 'onBeforeUnmount'], + 'vue': ['onMounted', 'onUpdated', 'onUnmounted', 'onBeforeMount', 'onBeforeUpdate', 'onBeforeUnmount', 'onRenderTracked', 'onRenderTriggered', 'onActivated', 'onDeactivated'], '#app': ['definePayloadReviver', 'definePageMeta'], }, ), @@ -175,7 +175,7 @@ export default defineUntypedSchema({ await get('dev') ? {} : { - 'vue': ['onServerPrefetch', 'onRenderTracked', 'onRenderTriggered'], + 'vue': ['onRenderTracked', 'onRenderTriggered', 'onServerPrefetch'], '#app': ['definePayloadReducer', 'definePageMeta'], }, ), From ea21feaaf437f689fc98d05382bffedc1d03afa2 Mon Sep 17 00:00:00 2001 From: Danila Rodichkin Date: Fri, 3 May 2024 13:27:38 +0300 Subject: [PATCH 002/127] fix(nuxt): don't overwrite existing scope in `runWithContext` (#26976) --- .../nuxt/src/app/composables/asyncData.ts | 8 ++--- packages/nuxt/src/app/nuxt.ts | 4 +-- test/basic.test.ts | 10 ++++++ .../pages/define-nuxt-component/index.vue | 29 ++++++++++++++++ .../define-nuxt-component/nested/[foo].vue | 34 +++++++++++++++++++ 5 files changed, 77 insertions(+), 8 deletions(-) create mode 100644 test/fixtures/basic/pages/define-nuxt-component/index.vue create mode 100644 test/fixtures/basic/pages/define-nuxt-component/nested/[foo].vue diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index 5426155be..5e9f9bf08 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -378,9 +378,7 @@ export function useAsyncData< const hasScope = getCurrentScope() if (options.watch) { const unsub = watch(options.watch, () => asyncData.refresh()) - if (instance) { - onUnmounted(unsub) - } else if (hasScope) { + if (hasScope) { onScopeDispose(unsub) } } @@ -389,9 +387,7 @@ export function useAsyncData< await asyncData.refresh() } }) - if (instance) { - onUnmounted(off) - } else if (hasScope) { + if (hasScope) { onScopeDispose(off) } } diff --git a/packages/nuxt/src/app/nuxt.ts b/packages/nuxt/src/app/nuxt.ts index a89224dec..ee602fa58 100644 --- a/packages/nuxt/src/app/nuxt.ts +++ b/packages/nuxt/src/app/nuxt.ts @@ -1,4 +1,4 @@ -import { effectScope, getCurrentInstance, hasInjectionContext, reactive } from 'vue' +import { effectScope, getCurrentInstance, getCurrentScope, hasInjectionContext, reactive } from 'vue' import type { App, EffectScope, Ref, VNode, onErrorCaptured } from 'vue' import type { RouteLocationNormalizedLoaded } from '#vue-router' import type { HookCallback, Hookable } from 'hookable' @@ -255,7 +255,7 @@ export function createNuxtApp (options: CreateOptions) { data: {}, }, runWithContext (fn: any) { - if (nuxtApp._scope.active) { + if (nuxtApp._scope.active && !getCurrentScope()) { return nuxtApp._scope.run(() => callWithNuxt(nuxtApp, fn)) } return callWithNuxt(nuxtApp, fn) diff --git a/test/basic.test.ts b/test/basic.test.ts index 975ffd3a8..5e0306c9f 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -2605,3 +2605,13 @@ describe('lazy import components', () => { expect(html).toContain('lazy-named-comp-server') }) }) + +describe('defineNuxtComponent watch duplicate', () => { + it('test after navigation duplicate', async () => { + const { page } = await renderPage('/define-nuxt-component') + await page.getByTestId('define-nuxt-component-bar').click() + await page.getByTestId('define-nuxt-component-state').click() + await page.getByTestId('define-nuxt-component-foo').click() + expect(await page.getByTestId('define-nuxt-component-state').first().innerText()).toBe('2') + }) +}) diff --git a/test/fixtures/basic/pages/define-nuxt-component/index.vue b/test/fixtures/basic/pages/define-nuxt-component/index.vue new file mode 100644 index 000000000..cdbaac8d4 --- /dev/null +++ b/test/fixtures/basic/pages/define-nuxt-component/index.vue @@ -0,0 +1,29 @@ + + + diff --git a/test/fixtures/basic/pages/define-nuxt-component/nested/[foo].vue b/test/fixtures/basic/pages/define-nuxt-component/nested/[foo].vue new file mode 100644 index 000000000..0081c2e47 --- /dev/null +++ b/test/fixtures/basic/pages/define-nuxt-component/nested/[foo].vue @@ -0,0 +1,34 @@ + + + From 8958f7ca70d18294f634db4da9feb42b4f1242f7 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Fri, 3 May 2024 12:12:28 +0100 Subject: [PATCH 003/127] test: extend timeout for node-compat --- test/basic.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/basic.test.ts b/test/basic.test.ts index 5e0306c9f..f35940d51 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -2538,7 +2538,7 @@ describe('Node.js compatibility for client-side', () => { expect(await page.innerHTML('body')).toContain('CWD: [available]') await page.close() }) -}) +}, 20_000) function normaliseIslandResult (result: NuxtIslandResponse) { return { From 1af81ed0fb5e2320debe67e3f804add6eea89e79 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Fri, 3 May 2024 12:34:12 +0100 Subject: [PATCH 004/127] fix(schema): use v3 folder structure if `app.vue` exists in `rootDir` --- packages/schema/src/config/common.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/schema/src/config/common.ts b/packages/schema/src/config/common.ts index f2d1eb65a..c4fd5640a 100644 --- a/packages/schema/src/config/common.ts +++ b/packages/schema/src/config/common.ts @@ -105,6 +105,11 @@ export default defineUntypedSchema({ const srcDir = resolve(rootDir, 'app') if (!existsSync(srcDir)) { + for (const file of ['app.vue', 'App.vue']) { + if (existsSync(resolve(rootDir, file))) { + return rootDir + } + } const keys = ['assets', 'layouts', 'middleware', 'pages', 'plugins'] as const const dirs = await Promise.all(keys.map(key => get(`dir.${key}`) as Promise)) for (const dir of dirs) { From 7e3b613421bf436a15703c388fa2027bf7f5d598 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 3 May 2024 12:34:27 +0100 Subject: [PATCH 005/127] chore(deps): update all non-major dependencies to ^1.9.9 (main) (#27028) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/nuxt/package.json | 6 +-- packages/schema/package.json | 2 +- pnpm-lock.yaml | 74 ++++++++++++++++++------------------ 3 files changed, 41 insertions(+), 41 deletions(-) diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index d7c999398..160151f8d 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -65,9 +65,9 @@ "@nuxt/schema": "workspace:*", "@nuxt/telemetry": "^2.5.4", "@nuxt/vite-builder": "workspace:*", - "@unhead/dom": "^1.9.8", - "@unhead/ssr": "^1.9.8", - "@unhead/vue": "^1.9.8", + "@unhead/dom": "^1.9.9", + "@unhead/ssr": "^1.9.9", + "@unhead/vue": "^1.9.9", "@vue/shared": "^3.4.26", "acorn": "8.11.3", "c12": "^1.10.0", diff --git a/packages/schema/package.json b/packages/schema/package.json index bdffa786b..f9948146a 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -39,7 +39,7 @@ "@types/file-loader": "5.0.4", "@types/pug": "2.0.10", "@types/sass-loader": "8.0.8", - "@unhead/schema": "1.9.8", + "@unhead/schema": "1.9.9", "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.26", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 38f0107df..38d42a997 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -262,14 +262,14 @@ importers: specifier: ^14.18.0 || >=16.10.0 version: 20.12.8 '@unhead/dom': - specifier: ^1.9.8 - version: 1.9.8 + specifier: ^1.9.9 + version: 1.9.9 '@unhead/ssr': - specifier: ^1.9.8 - version: 1.9.8 + specifier: ^1.9.9 + version: 1.9.9 '@unhead/vue': - specifier: ^1.9.8 - version: 1.9.8(vue@3.4.26(typescript@5.4.5)) + specifier: ^1.9.9 + version: 1.9.9(vue@3.4.26(typescript@5.4.5)) '@vue/shared': specifier: ^3.4.26 version: 3.4.26 @@ -486,8 +486,8 @@ importers: specifier: 8.0.8 version: 8.0.8 '@unhead/schema': - specifier: 1.9.8 - version: 1.9.8 + specifier: 1.9.9 + version: 1.9.9 '@vitejs/plugin-vue': specifier: 5.0.4 version: 5.0.4(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vue@3.4.26(typescript@5.4.5)) @@ -2443,20 +2443,20 @@ packages: '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@unhead/dom@1.9.8': - resolution: {integrity: sha512-izvWjrZTU6sxwGnKbu/4iznNpadxdbf9wGH8ye1C0akb1WFn9ZZ/mQncPeRwEXiRxtLD3VLqaAVKRPHk73g9HQ==} + '@unhead/dom@1.9.9': + resolution: {integrity: sha512-8XIMafnSImv9qZRxmnGjpg+TXYjIyOKYV6ifF/vWNwcNeirOGZuZkBlFk73bNk9VdF28niSAsy2eHwiK98cIsg==} - '@unhead/schema@1.9.8': - resolution: {integrity: sha512-jh5oT5kQpwWOPRN1wxi0wjsHj34EjvG3ODyx38WG5XJwGSWhShCkqhC16ZNAX+qShNdKe5l3bygGufth7rrgpA==} + '@unhead/schema@1.9.9': + resolution: {integrity: sha512-WSeCCXaavP/zsBmeYa5DMJv7eFpJTUST5fIcisb2WrA8W9G8c1Yw+ybOInZvoBDyH9TQYMLM08K8y8N/4GJUJA==} - '@unhead/shared@1.9.8': - resolution: {integrity: sha512-JkKSpPgodn/Ku0B8kBjoAL0A7mBaa4n4nB5xe7Y5vHhI8HszZ3IXWogMGTo9cWs50NXyZ6IB8hibQTjVo1DriA==} + '@unhead/shared@1.9.9': + resolution: {integrity: sha512-oyOI+27cuT5RmezVE/EsNkAUqsRo0Te6IFYIC8XRk6jsCZ9mp9TavQ2KfwR+579RrDnjq/MCq7f2FlxSp8N9/A==} - '@unhead/ssr@1.9.8': - resolution: {integrity: sha512-CpINIicliCBf6BjzRW0wPaTZqEFgx5kvlyRXkXlYqLb/dVUM7yU45gI/xeFljLL4dT0M5WT5h9vO2eQw2Ggu3w==} + '@unhead/ssr@1.9.9': + resolution: {integrity: sha512-XZdvKDQkbXGhtPFvpAkYXttViJaQP+nvPQLa4wehjlRRroZ3pxqxauENKwtXdoJ9H+DgOrvau2M78Z7nRIaSFQ==} - '@unhead/vue@1.9.8': - resolution: {integrity: sha512-v4Z20tfd08hZvYWDDtI+0tWvwIRqa1SFvkITzuPbJJwiGUdwz+p5M6KHhA2mtuQMAebMkD1W7LNPTG0g2W3lCA==} + '@unhead/vue@1.9.9': + resolution: {integrity: sha512-PrpoyEsSSPH0oo+s07Zh9GOrfjsWLVDYjhLr+S1+90D2ZBzt29aY7jAKYd77ozyMUOr9farjTh+fHjg90stJ0A==} peerDependencies: vue: 3.4.26 @@ -6781,8 +6781,8 @@ packages: unenv@1.9.0: resolution: {integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==} - unhead@1.9.8: - resolution: {integrity: sha512-N37E7vqm+Ma+r45CGXbMXuhOUNB6Rg/iPpSls/Yrphb9DRwLiDkzS/I6UgSmn8698irzj6vnavdkm1pZZifNrg==} + unhead@1.9.9: + resolution: {integrity: sha512-RwheobyCir358HfvDrY2bFb/puievoCu1f+OpxdA9mFnKs8k6JyMvGxrsaPlFbTeC47JSeN2URdW94Z/JdGzsA==} unicode-emoji-modifier-base@1.0.0: resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} @@ -8941,31 +8941,31 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@unhead/dom@1.9.8': + '@unhead/dom@1.9.9': dependencies: - '@unhead/schema': 1.9.8 - '@unhead/shared': 1.9.8 + '@unhead/schema': 1.9.9 + '@unhead/shared': 1.9.9 - '@unhead/schema@1.9.8': + '@unhead/schema@1.9.9': dependencies: hookable: 5.5.3 zhead: 2.2.4 - '@unhead/shared@1.9.8': + '@unhead/shared@1.9.9': dependencies: - '@unhead/schema': 1.9.8 + '@unhead/schema': 1.9.9 - '@unhead/ssr@1.9.8': + '@unhead/ssr@1.9.9': dependencies: - '@unhead/schema': 1.9.8 - '@unhead/shared': 1.9.8 + '@unhead/schema': 1.9.9 + '@unhead/shared': 1.9.9 - '@unhead/vue@1.9.8(vue@3.4.26(typescript@5.4.5))': + '@unhead/vue@1.9.9(vue@3.4.26(typescript@5.4.5))': dependencies: - '@unhead/schema': 1.9.8 - '@unhead/shared': 1.9.8 + '@unhead/schema': 1.9.9 + '@unhead/shared': 1.9.9 hookable: 5.5.3 - unhead: 1.9.8 + unhead: 1.9.9 vue: 3.4.26(typescript@5.4.5) '@unocss/astro@0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))': @@ -14122,11 +14122,11 @@ snapshots: node-fetch-native: 1.6.4 pathe: 1.1.2 - unhead@1.9.8: + unhead@1.9.9: dependencies: - '@unhead/dom': 1.9.8 - '@unhead/schema': 1.9.8 - '@unhead/shared': 1.9.8 + '@unhead/dom': 1.9.9 + '@unhead/schema': 1.9.9 + '@unhead/shared': 1.9.9 hookable: 5.5.3 unicode-emoji-modifier-base@1.0.0: {} From 589b4037c1a97c6d5d76f341c0dfae8439fc681e Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Fri, 3 May 2024 13:57:28 +0100 Subject: [PATCH 006/127] feat(nuxt): prompt to install `nuxt/scripts` on usage (#27010) Co-authored-by: Harlan Wilton --- .../nuxt/src/app/composables/script-stubs.ts | 102 ++++++++++++++++++ packages/nuxt/src/core/nuxt.ts | 15 +++ packages/nuxt/src/imports/presets.ts | 27 +++++ packages/nuxt/src/imports/transform.ts | 7 +- 4 files changed, 150 insertions(+), 1 deletion(-) create mode 100644 packages/nuxt/src/app/composables/script-stubs.ts diff --git a/packages/nuxt/src/app/composables/script-stubs.ts b/packages/nuxt/src/app/composables/script-stubs.ts new file mode 100644 index 000000000..6fcaf114b --- /dev/null +++ b/packages/nuxt/src/app/composables/script-stubs.ts @@ -0,0 +1,102 @@ +import type { UseScriptInput } from '@unhead/vue' +import { createError } from './error' + +function renderStubMessage (name: string) { + const message = `\`${name}\` is provided by @nuxt/scripts. Check your console to install it or run 'npx nuxi@latest module add @nuxt/scripts' to install it.` + if (import.meta.client) { + throw createError({ + fatal: true, + statusCode: 500, + statusMessage: message, + }) + } +} + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useScript> (input: UseScriptInput, options?: Record) { + renderStubMessage('useScript') +} + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useElementScriptTrigger (...args: unknown[]) { + renderStubMessage('useElementScriptTrigger') +} + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useConsentScriptTrigger (...args: unknown[]) { + renderStubMessage('useConsentScriptTrigger') +} + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useAnalyticsPageEvent (...args: unknown[]) { + renderStubMessage('useAnalyticsPageEvent') +} + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useScriptGoogleAnalytics (...args: unknown[]) { + renderStubMessage('useScriptGoogleAnalytics') +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useScriptPlausibleAnalytics (...args: unknown[]) { + renderStubMessage('useScriptPlausibleAnalytics') +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useScriptCloudflareWebAnalytics (...args: unknown[]) { + renderStubMessage('useScriptCloudflareWebAnalytics') +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useScriptFathomAnalytics (...args: unknown[]) { + renderStubMessage('useScriptFathomAnalytics') +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useScriptMatomoAnalytics (...args: unknown[]) { + renderStubMessage('useScriptMatomoAnalytics') +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useScriptGoogleTagManager (...args: unknown[]) { + renderStubMessage('useScriptGoogleTagManager') +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useScriptSegment (...args: unknown[]) { + renderStubMessage('useScriptSegment') +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useScriptFacebookPixel (...args: unknown[]) { + renderStubMessage('useScriptFacebookPixel') +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useScriptXPixel (...args: unknown[]) { + renderStubMessage('useScriptXPixel') +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useScriptIntercom (...args: unknown[]) { + renderStubMessage('useScriptIntercom') +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useScriptHotjar (...args: unknown[]) { + renderStubMessage('useScriptHotjar') +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useScriptStripe (...args: unknown[]) { + renderStubMessage('useScriptStripe') +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useScriptLemonSqueezy (...args: unknown[]) { + renderStubMessage('useScriptLemonSqueezy') +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useScriptVimeoPlayer (...args: unknown[]) { + renderStubMessage('useScriptVimeoPlayer') +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useScriptYouTubeIframe (...args: unknown[]) { + renderStubMessage('useScriptYouTubeIframe') +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useScriptGoogleMaps (...args: unknown[]) { + renderStubMessage('useScriptGoogleMaps') +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function useScriptNpm (...args: unknown[]) { + renderStubMessage('useScriptNpm') +} diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index 39e47a4e0..31ead96d8 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -20,6 +20,7 @@ import importsModule from '../imports/module' import { distDir, pkgDir } from '../dirs' import { version } from '../../package.json' +import { scriptsStubsPreset } from '../imports/presets' import { ImportProtectionPlugin, nuxtImportProtections } from './plugins/import-protection' import type { UnctxTransformPluginOptions } from './plugins/unctx' import { UnctxTransformPlugin } from './plugins/unctx' @@ -125,6 +126,14 @@ async function initNuxt (nuxt: Nuxt) { } }) + // Prompt to install `@nuxt/scripts` if user has configured it + // @ts-expect-error scripts types are not present as the module is not installed + if (nuxt.options.scripts) { + if (!nuxt.options._modules.some(m => m === '@nuxt/scripts' || m === '@nuxt/scripts-nightly')) { + await import('../core/features').then(({ installNuxtModule }) => installNuxtModule('@nuxt/scripts')) + } + } + // Add plugin normalization plugin addBuildPlugin(RemovePluginMetadataPlugin(nuxt)) @@ -550,6 +559,12 @@ export async function loadNuxt (opts: LoadNuxtOptions): Promise { } } + if (!options._modules.some(m => m === '@nuxt/scripts' || m === '@nuxt/scripts-nightly')) { + options.imports = defu(options.imports, { + presets: [scriptsStubsPreset], + }) + } + // Nuxt Webpack Builder is currently opt-in if (options.builder === '@nuxt/webpack-builder') { if (!await import('./features').then(r => r.ensurePackageInstalled('@nuxt/webpack-builder', { diff --git a/packages/nuxt/src/imports/presets.ts b/packages/nuxt/src/imports/presets.ts index 7949ed614..838773740 100644 --- a/packages/nuxt/src/imports/presets.ts +++ b/packages/nuxt/src/imports/presets.ts @@ -111,6 +111,33 @@ const granularAppPresets: InlinePreset[] = [ }, ] +export const scriptsStubsPreset = { + imports: [ + 'useConsentScriptTrigger', + 'useAnalyticsPageEvent', + 'useElementScriptTrigger', + 'useScript', + 'useScriptGoogleAnalytics', + 'useScriptPlausibleAnalytics', + 'useScriptCloudflareWebAnalytics', + 'useScriptFathomAnalytics', + 'useScriptMatomoAnalytics', + 'useScriptGoogleTagManager', + 'useScriptSegment', + 'useScriptFacebookPixel', + 'useScriptXPixel', + 'useScriptIntercom', + 'useScriptHotjar', + 'useScriptStripe', + 'useScriptLemonSqueezy', + 'useScriptVimeoPlayer', + 'useScriptYouTubeIframe', + 'useScriptGoogleMaps', + 'useScriptNpm', + ], + from: '#app/composables/script-stubs', +} satisfies InlinePreset + // This is a separate preset as we'll swap these out for import from `vue-router` itself in `pages` module const routerPreset = defineUnimportPreset({ imports: ['onBeforeRouteLeave', 'onBeforeRouteUpdate'], diff --git a/packages/nuxt/src/imports/transform.ts b/packages/nuxt/src/imports/transform.ts index 19f7d8865..0edeb96e1 100644 --- a/packages/nuxt/src/imports/transform.ts +++ b/packages/nuxt/src/imports/transform.ts @@ -1,6 +1,7 @@ import { createUnplugin } from 'unplugin' import type { Unimport } from 'unimport' import { normalize } from 'pathe' +import { tryUseNuxt } from '@nuxt/kit' import type { ImportsOptions } from 'nuxt/schema' import { isJS, isVue } from '../core/utils' @@ -37,7 +38,11 @@ export const TransformPlugin = createUnplugin(({ ctx, options, sourcemap }: { ct return } - const { s } = await ctx.injectImports(code, id, { autoImport: options.autoImport && !isNodeModule }) + const { s, imports } = await ctx.injectImports(code, id, { autoImport: options.autoImport && !isNodeModule }) + if (imports.some(i => i.from === '#app/composables/script-stubs') && tryUseNuxt()?.options.test === false) { + import('../core/features').then(({ installNuxtModule }) => installNuxtModule('@nuxt/scripts')) + } + if (s.hasChanged()) { return { code: s.toString(), From 4779f5906fa4d3c784c2e2d6fe5a5c5f181faaec Mon Sep 17 00:00:00 2001 From: Alex Liu Date: Fri, 3 May 2024 20:58:18 +0800 Subject: [PATCH 007/127] feat(nuxt): expose default slot from `` (#27050) --- packages/nuxt/src/pages/runtime/page.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/nuxt/src/pages/runtime/page.ts b/packages/nuxt/src/pages/runtime/page.ts index bee5eca87..b0bd345cd 100644 --- a/packages/nuxt/src/pages/runtime/page.ts +++ b/packages/nuxt/src/pages/runtime/page.ts @@ -1,4 +1,4 @@ -import { Suspense, Transition, defineComponent, h, inject, nextTick, ref, watch } from 'vue' +import { Fragment, Suspense, Transition, defineComponent, h, inject, nextTick, ref, watch } from 'vue' import type { KeepAliveProps, TransitionProps, VNode } from 'vue' import { RouterView } from '#vue-router' import { defu } from 'defu' @@ -37,7 +37,7 @@ export default defineComponent({ default: null, }, }, - setup (props, { attrs, expose }) { + setup (props, { attrs, slots, expose }) { const nuxtApp = useNuxtApp() const pageRef = ref() const forkRoute = inject(PageRouteSymbol, null) @@ -120,7 +120,7 @@ export default defineComponent({ default: () => { const providerVNode = h(RouteProvider, { key: key || undefined, - vnode: routeProps.Component, + vnode: slots.default ? h(Fragment, undefined, slots.default(routeProps)) : routeProps.Component, route: routeProps.route, renderKey: key || undefined, trackRootNodes: hasTransition, From b330a296b8c91d1dd6dbc3dc74a84819120830a8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 4 May 2024 16:09:25 +0100 Subject: [PATCH 008/127] chore(deps): update vitest to v1.6.0 (main) (#27055) --- package.json | 4 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 2 +- packages/vite/package.json | 2 +- pnpm-lock.yaml | 169 ++++++++++++++++++++++++++++++++----- 5 files changed, 152 insertions(+), 27 deletions(-) diff --git a/package.json b/package.json index 7cd4f8bc4..916e9f0c1 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@types/fs-extra": "11.0.4", "@types/node": "20.12.8", "@types/semver": "7.5.8", - "@vitest/coverage-v8": "1.5.3", + "@vitest/coverage-v8": "1.6.0", "@vue/test-utils": "2.4.5", "case-police": "0.6.1", "changelogen": "0.5.5", @@ -84,7 +84,7 @@ "std-env": "3.7.0", "typescript": "5.4.5", "ufo": "1.5.3", - "vitest": "1.5.3", + "vitest": "1.6.0", "vitest-environment-nuxt": "1.0.0", "vue": "3.4.26", "vue-router": "4.3.2", diff --git a/packages/kit/package.json b/packages/kit/package.json index 56e353bfc..9798d1bda 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -53,7 +53,7 @@ "nitropack": "2.9.6", "unbuild": "latest", "vite": "5.2.11", - "vitest": "1.5.3", + "vitest": "1.6.0", "webpack": "5.91.0" }, "engines": { diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 160151f8d..a2a3bfee1 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -124,7 +124,7 @@ "@vitejs/plugin-vue": "5.0.4", "unbuild": "latest", "vite": "5.2.11", - "vitest": "1.5.3" + "vitest": "1.6.0" }, "peerDependencies": { "@parcel/watcher": "^2.1.0", diff --git a/packages/vite/package.json b/packages/vite/package.json index 957493b33..07f27a8b4 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -63,7 +63,7 @@ "unenv": "^1.9.0", "unplugin": "^1.10.1", "vite": "^5.2.11", - "vite-node": "^1.5.3", + "vite-node": "^1.6.0", "vite-plugin-checker": "^0.6.4", "vue-bundle-renderer": "^2.0.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 38d42a997..9907370d8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,7 +31,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.1 - version: 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vitest@1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) + version: 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -51,8 +51,8 @@ importers: specifier: 7.5.8 version: 7.5.8 '@vitest/coverage-v8': - specifier: 1.5.3 - version: 1.5.3(vitest@1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0)) + specifier: 1.6.0 + version: 1.6.0(vitest@1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0)) '@vue/test-utils': specifier: 2.4.5 version: 2.4.5 @@ -138,11 +138,11 @@ importers: specifier: 1.5.3 version: 1.5.3 vitest: - specifier: 1.5.3 - version: 1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) + specifier: 1.6.0 + version: 1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vitest@1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) + version: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) vue: specifier: 3.4.26 version: 3.4.26(typescript@5.4.5) @@ -232,8 +232,8 @@ importers: specifier: 5.2.11 version: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) vitest: - specifier: 1.5.3 - version: 1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) + specifier: 1.6.0 + version: 1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) webpack: specifier: 5.91.0 version: 5.91.0 @@ -434,8 +434,8 @@ importers: specifier: 5.2.11 version: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) vitest: - specifier: 1.5.3 - version: 1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) + specifier: 1.6.0 + version: 1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) packages/schema: dependencies: @@ -696,8 +696,8 @@ importers: specifier: 5.2.11 version: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) vite-node: - specifier: ^1.5.3 - version: 1.5.3(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + specifier: ^1.6.0 + version: 1.6.0(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) vite-plugin-checker: specifier: ^0.6.4 version: 0.6.4(eslint@9.1.1)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.16(typescript@5.4.5)) @@ -2565,26 +2565,41 @@ packages: vite: 5.2.11 vue: 3.4.26 - '@vitest/coverage-v8@1.5.3': - resolution: {integrity: sha512-DPyGSu/fPHOJuPxzFSQoT4N/Fu/2aJfZRtEpEp8GI7NHsXBGE94CQ+pbEGBUMFjatsHPDJw/+TAF9r4ens2CNw==} + '@vitest/coverage-v8@1.6.0': + resolution: {integrity: sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==} peerDependencies: - vitest: 1.5.3 + vitest: 1.6.0 '@vitest/expect@1.5.3': resolution: {integrity: sha512-y+waPz31pOFr3rD7vWTbwiLe5+MgsMm40jTZbQE8p8/qXyBX3CQsIXRx9XK12IbY7q/t5a5aM/ckt33b4PxK2g==} + '@vitest/expect@1.6.0': + resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} + '@vitest/runner@1.5.3': resolution: {integrity: sha512-7PlfuReN8692IKQIdCxwir1AOaP5THfNkp0Uc4BKr2na+9lALNit7ub9l3/R7MP8aV61+mHKRGiqEKRIwu6iiQ==} + '@vitest/runner@1.6.0': + resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} + '@vitest/snapshot@1.5.3': resolution: {integrity: sha512-K3mvIsjyKYBhNIDujMD2gfQEzddLe51nNOAf45yKRt/QFJcUIeTQd2trRvv6M6oCBHNVnZwFWbQ4yj96ibiDsA==} + '@vitest/snapshot@1.6.0': + resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} + '@vitest/spy@1.5.3': resolution: {integrity: sha512-Llj7Jgs6lbnL55WoshJUUacdJfjU2honvGcAJBxhra5TPEzTJH8ZuhI3p/JwqqfnTr4PmP7nDmOXP53MS7GJlg==} + '@vitest/spy@1.6.0': + resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} + '@vitest/utils@1.5.3': resolution: {integrity: sha512-rE9DTN1BRhzkzqNQO+kw8ZgfeEBCLXiHJwetk668shmNBpSagQxneT5eSqEBLP+cqSiAeecvQmbpFfdMyLcIQA==} + '@vitest/utils@1.6.0': + resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} + '@volar/language-core@1.11.1': resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} @@ -6968,6 +6983,11 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true + vite-node@1.6.0: + resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + vite-plugin-checker@0.6.4: resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} @@ -7070,6 +7090,31 @@ packages: jsdom: optional: true + vitest@1.6.0: + resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.6.0 + '@vitest/ui': 1.6.0 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + void-elements@3.1.0: resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} engines: {node: '>=0.10.0'} @@ -8223,7 +8268,7 @@ snapshots: rc9: 2.1.2 std-env: 3.7.0 - '@nuxt/test-utils@3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vitest@1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5))': + '@nuxt/test-utils@3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5))': dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema @@ -8249,7 +8294,7 @@ snapshots: unenv: 1.9.0 unplugin: 1.10.1 vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vitest@1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) vue: 3.4.26(typescript@5.4.5) vue-router: 4.3.2(vue@3.4.26(typescript@5.4.5)) optionalDependencies: @@ -8257,7 +8302,7 @@ snapshots: '@vue/test-utils': 2.4.5 happy-dom: 14.7.1 playwright-core: 1.43.1 - vitest: 1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) + vitest: 1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) '@nuxtjs/mdc@0.5.0': dependencies: @@ -9154,7 +9199,7 @@ snapshots: vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) vue: 3.4.26(typescript@5.4.5) - '@vitest/coverage-v8@1.5.3(vitest@1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))': + '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -9169,7 +9214,7 @@ snapshots: std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 - vitest: 1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) + vitest: 1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - supports-color @@ -9179,22 +9224,44 @@ snapshots: '@vitest/utils': 1.5.3 chai: 4.3.10 + '@vitest/expect@1.6.0': + dependencies: + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 + chai: 4.3.10 + '@vitest/runner@1.5.3': dependencies: '@vitest/utils': 1.5.3 p-limit: 5.0.0 pathe: 1.1.2 + '@vitest/runner@1.6.0': + dependencies: + '@vitest/utils': 1.6.0 + p-limit: 5.0.0 + pathe: 1.1.2 + '@vitest/snapshot@1.5.3': dependencies: magic-string: 0.30.10 pathe: 1.1.2 pretty-format: 29.7.0 + '@vitest/snapshot@1.6.0': + dependencies: + magic-string: 0.30.10 + pathe: 1.1.2 + pretty-format: 29.7.0 + '@vitest/spy@1.5.3': dependencies: tinyspy: 2.2.0 + '@vitest/spy@1.6.0': + dependencies: + tinyspy: 2.2.0 + '@vitest/utils@1.5.3': dependencies: diff-sequences: 29.6.3 @@ -9202,6 +9269,13 @@ snapshots: loupe: 2.3.7 pretty-format: 29.7.0 + '@vitest/utils@1.6.0': + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + '@volar/language-core@1.11.1': dependencies: '@volar/source-map': 1.11.1 @@ -14374,6 +14448,23 @@ snapshots: - supports-color - terser + vite-node@1.6.0(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0): + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + vite-plugin-checker@0.6.4(eslint@9.1.1)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.16(typescript@5.4.5)): dependencies: '@babel/code-frame': 7.24.2 @@ -14442,9 +14533,9 @@ snapshots: sass: 1.69.4 terser: 5.27.0 - vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vitest@1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)): + vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)): dependencies: - '@nuxt/test-utils': 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vitest@1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) + '@nuxt/test-utils': 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -14495,6 +14586,40 @@ snapshots: - supports-color - terser + vitest@1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0): + dependencies: + '@vitest/expect': 1.6.0 + '@vitest/runner': 1.6.0 + '@vitest/snapshot': 1.6.0 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 + acorn-walk: 8.3.2 + chai: 4.3.10 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.10 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.1.0 + tinybench: 2.5.1 + tinypool: 0.8.4 + vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + vite-node: 1.6.0(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + why-is-node-running: 2.2.2 + optionalDependencies: + '@types/node': 20.12.8 + happy-dom: 14.7.1 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + void-elements@3.1.0: {} vscode-jsonrpc@6.0.0: {} From 76eb4eaf62ac44c09ebcb05c9ca36258f14376da Mon Sep 17 00:00:00 2001 From: David Date: Tue, 7 May 2024 13:45:41 +0200 Subject: [PATCH 009/127] docs: improve data fetching wording and explanation (#27061) --- docs/1.getting-started/6.data-fetching.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/1.getting-started/6.data-fetching.md b/docs/1.getting-started/6.data-fetching.md index 5a69126ea..3a26848ae 100644 --- a/docs/1.getting-started/6.data-fetching.md +++ b/docs/1.getting-started/6.data-fetching.md @@ -16,9 +16,9 @@ Both `useFetch` and `useAsyncData` share a common set of options and patterns th Before that, it's imperative to know why these composables exist in the first place. -## Why using specific composables? +## Why use specific composables for data fetching? -When using a framework like Nuxt that can perform calls and render pages on both client and server environments, some challenges must be addressed. This is why Nuxt provides composables to wrap your queries, instead of letting the developer rely on [`$fetch`](/docs/api/utils/dollarfetch) calls alone. +Nuxt is a framework which can run isomorphic (or universal) code in both server and client environments. If the [`$fetch` function](/docs/api/utils/dollarfetch) is used to perform data fetching in the setup function of a Vue component, this may cause data to be fetched twice, once on the server (to render the HTML) and once again on the client (when the HTML is hydrated). This is why Nuxt offers specific data fetching composables so data is fetched only once. ### Network calls duplication @@ -76,7 +76,7 @@ async function addTodo() { ``` ::warning -Beware that using only `$fetch` will not provide [network calls de-duplication and navigation prevention](#why-using-specific-composables). :br +Beware that using only `$fetch` will not provide [network calls de-duplication and navigation prevention](#why-use-specific-composables-for-data-fetching). :br It is recommended to use `$fetch` for client-side interactions (event based) or combined with [`useAsyncData`](#useasyncdata) when fetching the initial component data. :: From b385065bdafe630ecaf4fb4293a004e8cbfcfba3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 12:54:21 +0100 Subject: [PATCH 010/127] chore(deps): update all non-major dependencies (main) (#27057) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe --- package.json | 18 +- packages/nuxt/package.json | 12 +- packages/schema/package.json | 8 +- packages/vite/package.json | 4 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 1078 ++++++++++++++++++++------------- test/bundle.test.ts | 2 +- 7 files changed, 681 insertions(+), 443 deletions(-) diff --git a/package.json b/package.json index 916e9f0c1..5a31698e5 100644 --- a/package.json +++ b/package.json @@ -42,10 +42,10 @@ "nuxt": "workspace:*", "rollup": "^4.17.2", "vite": "5.2.11", - "vue": "3.4.26" + "vue": "3.4.27" }, "devDependencies": { - "@eslint/js": "9.1.1", + "@eslint/js": "9.2.0", "@nuxt/eslint-config": "0.3.10", "@nuxt/kit": "workspace:*", "@nuxt/test-utils": "3.12.1", @@ -53,15 +53,15 @@ "@testing-library/vue": "8.0.3", "@types/eslint__js": "8.42.3", "@types/fs-extra": "11.0.4", - "@types/node": "20.12.8", + "@types/node": "20.12.10", "@types/semver": "7.5.8", "@vitest/coverage-v8": "1.6.0", - "@vue/test-utils": "2.4.5", + "@vue/test-utils": "2.4.6", "case-police": "0.6.1", "changelogen": "0.5.5", "consola": "3.2.3", "devalue": "5.0.0", - "eslint": "9.1.1", + "eslint": "9.2.0", "eslint-plugin-no-only-tests": "3.1.0", "eslint-plugin-perfectionist": "2.10.0", "eslint-typegen": "0.2.4", @@ -69,7 +69,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "14.7.1", + "happy-dom": "14.10.1", "jiti": "1.21.0", "markdownlint-cli": "0.40.0", "nitropack": "2.9.6", @@ -78,7 +78,7 @@ "nuxt-content-twoslash": "0.0.10", "ofetch": "1.3.4", "pathe": "1.1.2", - "playwright-core": "1.43.1", + "playwright-core": "1.44.0", "rimraf": "5.0.5", "semver": "7.6.0", "std-env": "3.7.0", @@ -86,11 +86,11 @@ "ufo": "1.5.3", "vitest": "1.6.0", "vitest-environment-nuxt": "1.0.0", - "vue": "3.4.26", + "vue": "3.4.27", "vue-router": "4.3.2", "vue-tsc": "2.0.16" }, - "packageManager": "pnpm@9.0.6", + "packageManager": "pnpm@9.1.0", "engines": { "node": "^14.18.0 || >=16.10.0" }, diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index a2a3bfee1..59ff90387 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -65,10 +65,10 @@ "@nuxt/schema": "workspace:*", "@nuxt/telemetry": "^2.5.4", "@nuxt/vite-builder": "workspace:*", - "@unhead/dom": "^1.9.9", - "@unhead/ssr": "^1.9.9", - "@unhead/vue": "^1.9.9", - "@vue/shared": "^3.4.26", + "@unhead/dom": "^1.9.10", + "@unhead/ssr": "^1.9.10", + "@unhead/vue": "^1.9.10", + "@vue/shared": "^3.4.27", "acorn": "8.11.3", "c12": "^1.10.0", "chokidar": "^3.6.0", @@ -76,7 +76,7 @@ "defu": "^6.1.4", "destr": "^2.0.3", "devalue": "^5.0.0", - "esbuild": "^0.20.2", + "esbuild": "^0.21.0", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "fs-extra": "^11.2.0", @@ -111,7 +111,7 @@ "unplugin-vue-router": "^0.7.0", "unstorage": "^1.10.2", "untyped": "^1.4.2", - "vue": "^3.4.26", + "vue": "^3.4.27", "vue-bundle-renderer": "^2.0.0", "vue-devtools-stub": "^0.1.0", "vue-router": "^4.3.2" diff --git a/packages/schema/package.json b/packages/schema/package.json index f9948146a..1ef6a46a0 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -39,11 +39,11 @@ "@types/file-loader": "5.0.4", "@types/pug": "2.0.10", "@types/sass-loader": "8.0.8", - "@unhead/schema": "1.9.9", + "@unhead/schema": "1.9.10", "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", - "@vue/compiler-core": "3.4.26", - "@vue/compiler-sfc": "3.4.26", + "@vue/compiler-core": "3.4.27", + "@vue/compiler-sfc": "3.4.27", "@vue/language-core": "2.0.16", "c12": "1.10.0", "esbuild-loader": "4.1.0", @@ -55,7 +55,7 @@ "unctx": "2.3.1", "unenv": "1.9.0", "vite": "5.2.11", - "vue": "3.4.26", + "vue": "3.4.27", "vue-bundle-renderer": "2.0.0", "vue-loader": "17.4.2", "vue-router": "4.3.2", diff --git a/packages/vite/package.json b/packages/vite/package.json index 07f27a8b4..e73cf18b2 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -29,7 +29,7 @@ "@types/estree": "1.0.5", "@types/fs-extra": "11.0.4", "unbuild": "latest", - "vue": "3.4.26" + "vue": "3.4.27" }, "dependencies": { "@nuxt/kit": "workspace:*", @@ -41,7 +41,7 @@ "consola": "^3.2.3", "cssnano": "^7.0.1", "defu": "^6.1.4", - "esbuild": "^0.20.2", + "esbuild": "^0.21.0", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "externality": "^1.0.2", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 5539ec1d4..adf1eda62 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -78,7 +78,7 @@ "@types/webpack-hot-middleware": "2.25.9", "@types/webpack-virtual-modules": "0.4.2", "unbuild": "latest", - "vue": "3.4.26" + "vue": "3.4.27" }, "peerDependencies": { "vue": "^3.3.4" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9907370d8..b134e6948 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,30 +14,30 @@ overrides: nuxt: workspace:* rollup: ^4.17.2 vite: 5.2.11 - vue: 3.4.26 + vue: 3.4.27 importers: .: devDependencies: '@eslint/js': - specifier: 9.1.1 - version: 9.1.1 + specifier: 9.2.0 + version: 9.2.0 '@nuxt/eslint-config': specifier: 0.3.10 - version: 0.3.10(eslint@9.1.1)(typescript@5.4.5) + version: 0.3.10(eslint@9.2.0)(typescript@5.4.5) '@nuxt/kit': specifier: workspace:* version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.1 - version: 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) + version: 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack '@testing-library/vue': specifier: 8.0.3 - version: 8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)) + version: 8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)) '@types/eslint__js': specifier: 8.42.3 version: 8.42.3 @@ -45,17 +45,17 @@ importers: specifier: 11.0.4 version: 11.0.4 '@types/node': - specifier: 20.12.8 - version: 20.12.8 + specifier: 20.12.10 + version: 20.12.10 '@types/semver': specifier: 7.5.8 version: 7.5.8 '@vitest/coverage-v8': specifier: 1.6.0 - version: 1.6.0(vitest@1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0)) + version: 1.6.0(vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0)) '@vue/test-utils': - specifier: 2.4.5 - version: 2.4.5 + specifier: 2.4.6 + version: 2.4.6 case-police: specifier: 0.6.1 version: 0.6.1 @@ -69,17 +69,17 @@ importers: specifier: 5.0.0 version: 5.0.0 eslint: - specifier: 9.1.1 - version: 9.1.1 + specifier: 9.2.0 + version: 9.2.0 eslint-plugin-no-only-tests: specifier: 3.1.0 version: 3.1.0 eslint-plugin-perfectionist: specifier: 2.10.0 - version: 2.10.0(eslint@9.1.1)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.1.1)) + version: 2.10.0(eslint@9.2.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.2.0)) eslint-typegen: specifier: 0.2.4 - version: 0.2.4(eslint@9.1.1) + version: 0.2.4(eslint@9.2.0) execa: specifier: 8.0.1 version: 8.0.1 @@ -93,8 +93,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 14.7.1 - version: 14.7.1 + specifier: 14.10.1 + version: 14.10.1 jiti: specifier: 1.21.0 version: 1.21.0 @@ -120,8 +120,8 @@ importers: specifier: 1.1.2 version: 1.1.2 playwright-core: - specifier: 1.43.1 - version: 1.43.1 + specifier: 1.44.0 + version: 1.44.0 rimraf: specifier: 5.0.5 version: 5.0.5 @@ -139,16 +139,16 @@ importers: version: 1.5.3 vitest: specifier: 1.6.0 - version: 1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) + version: 1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) + version: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) vue: - specifier: 3.4.26 - version: 3.4.26(typescript@5.4.5) + specifier: 3.4.27 + version: 3.4.27(typescript@5.4.5) vue-router: specifier: 4.3.2 - version: 4.3.2(vue@3.4.26(typescript@5.4.5)) + version: 4.3.2(vue@3.4.27(typescript@5.4.5)) vue-tsc: specifier: 2.0.16 version: 2.0.16(typescript@5.4.5) @@ -230,10 +230,10 @@ importers: version: 2.0.0(sass@1.69.4)(typescript@5.4.5) vite: specifier: 5.2.11 - version: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + version: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) vitest: specifier: 1.6.0 - version: 1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) + version: 1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) webpack: specifier: 5.91.0 version: 5.91.0 @@ -245,7 +245,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.2.0 - version: 1.2.0(@unocss/reset@0.59.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.26(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vue@3.4.26(typescript@5.4.5)) + version: 1.2.0(@unocss/reset@0.59.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -260,19 +260,19 @@ importers: version: link:../vite '@types/node': specifier: ^14.18.0 || >=16.10.0 - version: 20.12.8 + version: 20.12.10 '@unhead/dom': - specifier: ^1.9.9 - version: 1.9.9 + specifier: ^1.9.10 + version: 1.9.10 '@unhead/ssr': - specifier: ^1.9.9 - version: 1.9.9 + specifier: ^1.9.10 + version: 1.9.10 '@unhead/vue': - specifier: ^1.9.9 - version: 1.9.9(vue@3.4.26(typescript@5.4.5)) + specifier: ^1.9.10 + version: 1.9.10(vue@3.4.27(typescript@5.4.5)) '@vue/shared': - specifier: ^3.4.26 - version: 3.4.26 + specifier: ^3.4.27 + version: 3.4.27 acorn: specifier: 8.11.3 version: 8.11.3 @@ -295,8 +295,8 @@ importers: specifier: ^5.0.0 version: 5.0.0 esbuild: - specifier: ^0.20.2 - version: 0.20.2 + specifier: ^0.21.0 + version: 0.21.0 escape-string-regexp: specifier: ^5.0.0 version: 5.0.0 @@ -392,7 +392,7 @@ importers: version: 1.10.1 unplugin-vue-router: specifier: ^0.7.0 - version: 0.7.0(rollup@4.17.2)(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) + version: 0.7.0(rollup@4.17.2)(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) unstorage: specifier: ^1.10.2 version: 1.10.2(ioredis@5.3.2) @@ -400,8 +400,8 @@ importers: specifier: ^1.4.2 version: 1.4.2 vue: - specifier: 3.4.26 - version: 3.4.26(typescript@5.4.5) + specifier: 3.4.27 + version: 3.4.27(typescript@5.4.5) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -410,7 +410,7 @@ importers: version: 0.1.0 vue-router: specifier: ^4.3.2 - version: 4.3.2(vue@3.4.26(typescript@5.4.5)) + version: 4.3.2(vue@3.4.27(typescript@5.4.5)) devDependencies: '@nuxt/ui-templates': specifier: workspace:* @@ -426,16 +426,16 @@ importers: version: 11.0.4 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vue@3.4.26(typescript@5.4.5)) + version: 5.0.4(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) unbuild: specifier: latest version: 2.0.0(sass@1.69.4)(typescript@5.4.5) vite: specifier: 5.2.11 - version: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + version: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) vitest: specifier: 1.6.0 - version: 1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) + version: 1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) packages/schema: dependencies: @@ -486,20 +486,20 @@ importers: specifier: 8.0.8 version: 8.0.8 '@unhead/schema': - specifier: 1.9.9 - version: 1.9.9 + specifier: 1.9.10 + version: 1.9.10 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vue@3.4.26(typescript@5.4.5)) + version: 5.0.4(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vitejs/plugin-vue-jsx': specifier: 3.1.0 - version: 3.1.0(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vue@3.4.26(typescript@5.4.5)) + version: 3.1.0(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/compiler-core': - specifier: 3.4.26 - version: 3.4.26 + specifier: 3.4.27 + version: 3.4.27 '@vue/compiler-sfc': - specifier: 3.4.26 - version: 3.4.26 + specifier: 3.4.27 + version: 3.4.27 '@vue/language-core': specifier: 2.0.16 version: 2.0.16(typescript@5.4.5) @@ -532,19 +532,19 @@ importers: version: 1.9.0 vite: specifier: 5.2.11 - version: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + version: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) vue: - specifier: 3.4.26 - version: 3.4.26(typescript@5.4.5) + specifier: 3.4.27 + version: 3.4.27(typescript@5.4.5) vue-bundle-renderer: specifier: 2.0.0 version: 2.0.0 vue-loader: specifier: 17.4.2 - version: 17.4.2(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5))(webpack@5.91.0) + version: 17.4.2(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5))(webpack@5.91.0) vue-router: specifier: 4.3.2 - version: 4.3.2(vue@3.4.26(typescript@5.4.5)) + version: 4.3.2(vue@3.4.27(typescript@5.4.5)) webpack: specifier: 5.91.0 version: 5.91.0 @@ -595,10 +595,10 @@ importers: version: 1.3.0 unocss: specifier: 0.59.4 - version: 0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0)) + version: 0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) vite: specifier: 5.2.11 - version: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + version: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) packages/vite: dependencies: @@ -610,10 +610,10 @@ importers: version: 5.0.5(rollup@4.17.2) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vue@3.4.26(typescript@5.4.5)) + version: 5.0.4(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vue@3.4.26(typescript@5.4.5)) + version: 3.1.0(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.38) @@ -630,8 +630,8 @@ importers: specifier: ^6.1.4 version: 6.1.4 esbuild: - specifier: ^0.20.2 - version: 0.20.2 + specifier: ^0.21.0 + version: 0.21.0 escape-string-regexp: specifier: ^5.0.0 version: 5.0.0 @@ -694,13 +694,13 @@ importers: version: 1.10.1 vite: specifier: 5.2.11 - version: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + version: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) vite-node: specifier: ^1.6.0 - version: 1.6.0(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + version: 1.6.0(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@9.1.1)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.16(typescript@5.4.5)) + version: 0.6.4(eslint@9.2.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.16(typescript@5.4.5)) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -721,8 +721,8 @@ importers: specifier: latest version: 2.0.0(sass@1.69.4)(typescript@5.4.5) vue: - specifier: 3.4.26 - version: 3.4.26(typescript@5.4.5) + specifier: 3.4.27 + version: 3.4.27(typescript@5.4.5) packages/webpack: dependencies: @@ -836,7 +836,7 @@ importers: version: 2.0.0 vue-loader: specifier: ^17.4.2 - version: 17.4.2(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5))(webpack@5.91.0) + version: 17.4.2(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5))(webpack@5.91.0) webpack: specifier: ^5.91.0 version: 5.91.0 @@ -881,8 +881,8 @@ importers: specifier: latest version: 2.0.0(sass@1.69.4)(typescript@5.4.5) vue: - specifier: 3.4.26 - version: 3.4.26(typescript@5.4.5) + specifier: 3.4.27 + version: 3.4.27(typescript@5.4.5) playground: dependencies: @@ -890,8 +890,8 @@ importers: specifier: workspace:* version: link:../packages/nuxt vue: - specifier: 3.4.26 - version: 3.4.26(typescript@5.4.5) + specifier: 3.4.27 + version: 3.4.27(typescript@5.4.5) test/fixtures/basic: dependencies: @@ -909,8 +909,8 @@ importers: specifier: latest version: 1.10.1 vue: - specifier: 3.4.26 - version: 3.4.26(typescript@5.4.5) + specifier: 3.4.27 + version: 3.4.27(typescript@5.4.5) test/fixtures/basic-types: dependencies: @@ -923,13 +923,13 @@ importers: version: 1.3.4 vitest: specifier: 1.5.3 - version: 1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) + version: 1.5.3(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) vue: - specifier: 3.4.26 - version: 3.4.26(typescript@5.4.5) + specifier: 3.4.27 + version: 3.4.27(typescript@5.4.5) vue-router: specifier: latest - version: 4.3.2(vue@3.4.26(typescript@5.4.5)) + version: 4.3.2(vue@3.4.27(typescript@5.4.5)) test/fixtures/minimal: dependencies: @@ -937,8 +937,8 @@ importers: specifier: workspace:* version: link:../../../packages/nuxt vue: - specifier: 3.4.26 - version: 3.4.26(typescript@5.4.5) + specifier: 3.4.27 + version: 3.4.27(typescript@5.4.5) test/fixtures/minimal-types: dependencies: @@ -946,8 +946,8 @@ importers: specifier: workspace:* version: link:../../../packages/nuxt vue: - specifier: 3.4.26 - version: 3.4.26(typescript@5.4.5) + specifier: 3.4.27 + version: 3.4.27(typescript@5.4.5) test/fixtures/runtime-compiler: dependencies: @@ -961,8 +961,8 @@ importers: specifier: workspace:* version: link:../../../packages/nuxt vue: - specifier: 3.4.26 - version: 3.4.26(typescript@5.4.5) + specifier: 3.4.27 + version: 3.4.27(typescript@5.4.5) devDependencies: typescript: specifier: latest @@ -1194,6 +1194,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.21.0': + resolution: {integrity: sha512-kB8I77Onff4y6hAREwsjF11ifM+xi8bBIq/viMO5NFZDX2vKlF0/mevHJYb4sNfb55jIREeUztkUfIgOFtSzdw==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.18.20': resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} @@ -1212,6 +1218,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.21.0': + resolution: {integrity: sha512-SDGbrIOL6P6WTIbDcCa2sbFgznp8o6ztjGWrA+js8JZ9HhBXavN3gPrEqUqB4+bV4AdsqlZG1tK2F06BOPNpZg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.18.20': resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} @@ -1230,6 +1242,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.21.0': + resolution: {integrity: sha512-8OvDALSbmoLJ79KCs0hxoki5I3qJA7JQMhJO6aq5O8G+pi7TPnGICdQRQcgdzwZaVc4ptp5SX7Phg6jKzvSEBg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.18.20': resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} @@ -1248,6 +1266,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.21.0': + resolution: {integrity: sha512-G4fkcHqDtIbiE9b3KFJP+ay+TiCOHmenT5GYVi0fuHxFbX0CJ3lpTQbFuWR5s5AlYZZ1j4yY2hbggSUkaBK0pg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.18.20': resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} @@ -1266,6 +1290,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.21.0': + resolution: {integrity: sha512-XMcLA6siz67AoEOl8WOot2Y3TOSClT15AqJdQz/sx98Dpv3oTbcv0BoqvHAhpBPgC8iyIKM98vVj6th7lA4DFg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.18.20': resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} @@ -1284,6 +1314,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.21.0': + resolution: {integrity: sha512-+dmvTVqVkAArjJyIbo4Rl2S4I4A/yRuivTPR9Igw0QMBVSJegJqixKxZvKLCh8xi6n8tePdq3EpfbFYH2KNNiw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.18.20': resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} @@ -1302,6 +1338,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.21.0': + resolution: {integrity: sha512-g8/wBRLbsjryMBo4PGg050I1fn4qrJobkxpT1OekO6I4H2HVQfVfBAvGPhwzc9tr8CUVu0pSGSz9oDPGIjhLNw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.18.20': resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} @@ -1320,6 +1362,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.21.0': + resolution: {integrity: sha512-uwRL7kSN9tfFBpa7o9HQjEgxPsQsSmOz2ALQ30dxMNT22xS49s8nUtFi7bJ+kM/pcTHcnhyJwJPCY7cwlbQbWQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.18.20': resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} @@ -1338,6 +1386,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.21.0': + resolution: {integrity: sha512-mgOuJBbV8Uexb3BmeVl1q2preJMu0aDiwiFxIfsQhE2+rqxVAEcIrllb7SulkH9G244O/ZN1VVILdZb2NPSvpw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.18.20': resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} @@ -1356,6 +1410,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.21.0': + resolution: {integrity: sha512-8s/YeLaUV3QTaGzwDqiTpb78Nw/DdIaUdIlRZItGgWf/8UZHsYUIWj9RfsEXVJB5qvtrg835Dgz/gf+GmFGa7w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.18.20': resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} @@ -1374,6 +1434,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.21.0': + resolution: {integrity: sha512-7pVhVYBt3/R8x0Um9p4V8eMiQcnk6/IHkOo6tkfLnDqPn+NS6lnbfWysAYeDAqFKt6INQKtVxejh6ccbVYLBwQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.18.20': resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} @@ -1392,6 +1458,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.21.0': + resolution: {integrity: sha512-P8Lse7CXV83ARWVaq6KwV6w86ABeViyUvw6s++tYsUuqUEZgG5697Un72usafkuD7AfOyBdFX6JqZSvIQAU0yQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.18.20': resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} @@ -1410,6 +1482,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.21.0': + resolution: {integrity: sha512-lUvMkXlUMrx5vnspMWohma6vuWh+Z/mPV6DdbXW07fNgF2Tlg6SLSqqzDXv5XYV4og5awNFYcPXpgqOVsqdx7Q==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.18.20': resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} @@ -1428,6 +1506,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.21.0': + resolution: {integrity: sha512-wLi9VRnLDRg1Gudic24gcT5aa5LZGBwLi4aYghQ9bVb8z0qYHrZnRTNxulErFvOsSgijUWS5uNLCUaLwj+tvIQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.18.20': resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} @@ -1446,6 +1530,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.21.0': + resolution: {integrity: sha512-MOjonqpNtns0Y32NwvMZiZXw94g8EqeqI+4BQtIHj07xX61vOyqlBsJH3UbjkWvaewie1VP9IoiX2Ja/P2XCJw==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.18.20': resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} @@ -1464,6 +1554,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.21.0': + resolution: {integrity: sha512-Gz/gafubuM3L1D29LnqaxcGg16aa2XES/uFTFdcvrwsRpMxkLiowaUvIiWJfatf/oCyyZu5CT8SrlMy37dGc7A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.18.20': resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} @@ -1482,6 +1578,12 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.21.0': + resolution: {integrity: sha512-OGorpObKLm8XlhoJlxtdwECfnESXu3kd8mU1yZ5Xk0vmh0d2xoJjEXJi7y7mjFpc3+XfGQRgHq/gqyIkbufnvA==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-x64@0.18.20': resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} @@ -1500,6 +1602,12 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.21.0': + resolution: {integrity: sha512-AwkJoff9D5Px7+lHafSSgDK3JreyeyPtwTsOfxhlk5NZ+bMGlvSfHkA6DKv9vD0gmGrBPTMv/uIePkNaVsDq7w==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-x64@0.18.20': resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} @@ -1518,6 +1626,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.21.0': + resolution: {integrity: sha512-wqv7KSmRA4qf0lFZ2Abjp2boO9tDe7YwNLZ7DNUI5rsluS0/TF78CtPUUAePukgE6b2HcXYZYuL5F2yXdQIqIg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + '@esbuild/sunos-x64@0.18.20': resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} @@ -1536,6 +1650,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.21.0': + resolution: {integrity: sha512-3qAZFC752nZZQOI+OG4KIawvLfdD5yMFCeIFz0OhedMpYgq9AOKygW45Ojy0E5upBqns2fUaMFk1CnNSkvJaYw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.18.20': resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} @@ -1554,6 +1674,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.21.0': + resolution: {integrity: sha512-06BY4wjQQ2bPjayuvKWXr5X3V+ZGnoTOX1+doLoQBUSyCDb9JZgX7o0N3t3rRNmEiMY/DuxXwu+EE+U32B4ErA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.18.20': resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} @@ -1572,6 +1698,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.21.0': + resolution: {integrity: sha512-uTLz9mPOMkl3bfuGnSQumrUN7U1aPb8MCOdjQJOWPGdXTZhkK6Z2lLHxdTjX6C51jxXWWAo64tcRwiAYOkQhJw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.18.20': resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} @@ -1590,6 +1722,12 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.21.0': + resolution: {integrity: sha512-XT0oCVNRjmrMTz/Xd+9L2eOI83gUQZg9Viiv3cuT/8VNlXVMn6QsxyBMDNFsYX+wmQRD31VMKNtkZaXvS3/JiA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1608,8 +1746,8 @@ packages: resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.1.1': - resolution: {integrity: sha512-5WoDz3Y19Bg2BnErkZTp0en+c/i9PvgFS7MBe1+m60HjFr0hrphlAGp4yzI7pxpt4xShln4ZyYp4neJm8hmOkQ==} + '@eslint/js@9.2.0': + resolution: {integrity: sha512-ESiIudvhoYni+MdsI8oD7skpprZ89qKocwRM2KEvhhBJ9nl5MRh7BXU5GTod7Mdygq+AUl+QzId6iWJKR/wABA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@fastify/busboy@2.0.0': @@ -1830,7 +1968,7 @@ packages: playwright-core: ^1.34.3 vite: 5.2.11 vitest: ^0.34.6 || ^1.0.0 - vue: 3.4.26 + vue: 3.4.27 vue-router: ^4.0.0 peerDependenciesMeta: '@cucumber/cucumber': @@ -2196,7 +2334,7 @@ packages: engines: {node: '>=14'} peerDependencies: '@vue/compiler-sfc': '>= 3' - vue: 3.4.26 + vue: 3.4.27 peerDependenciesMeta: '@vue/compiler-sfc': optional: true @@ -2288,8 +2426,8 @@ packages: '@types/node-sass@4.11.6': resolution: {integrity: sha512-Qkf5Fs9zzsXchenUY7oVdIHyv8FtPgqIXqOJzhh3FDqpYjqvc/gtZ3hlZVFmKQhl7wyI4+WkRbYufYC5pfY7iw==} - '@types/node@20.12.8': - resolution: {integrity: sha512-NU0rJLJnshZWdE/097cdCBbyW1h4hEg0xpovcoAQYHl8dnEyp/NAOiE45pvc+Bd1Dt+2r94v2eGFpQJ4R7g+2w==} + '@types/node@20.12.10': + resolution: {integrity: sha512-Eem5pH9pmWBHoGAT8Dr5fdc5rYA+4NAovdM4EktRPVAAiJhmWWfQrA0cFhAbOsQdSfIHjAud6YdkbL69+zSKjw==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -2443,22 +2581,22 @@ packages: '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@unhead/dom@1.9.9': - resolution: {integrity: sha512-8XIMafnSImv9qZRxmnGjpg+TXYjIyOKYV6ifF/vWNwcNeirOGZuZkBlFk73bNk9VdF28niSAsy2eHwiK98cIsg==} + '@unhead/dom@1.9.10': + resolution: {integrity: sha512-F4sBrmd8kG8MEqcVTGL0Y6tXbJMdWK724pznUzefpZTs1GaVypFikLluaLt4EnICcVhOBSe4TkGrc8N21IJJzQ==} - '@unhead/schema@1.9.9': - resolution: {integrity: sha512-WSeCCXaavP/zsBmeYa5DMJv7eFpJTUST5fIcisb2WrA8W9G8c1Yw+ybOInZvoBDyH9TQYMLM08K8y8N/4GJUJA==} + '@unhead/schema@1.9.10': + resolution: {integrity: sha512-3ROh0doKfA7cIcU0zmjYVvNOiJuxSOcjInL+7iOFIxQovEWr1PcDnrnbEWGJsXrLA8eqjrjmhuDqAr3JbMGsLg==} - '@unhead/shared@1.9.9': - resolution: {integrity: sha512-oyOI+27cuT5RmezVE/EsNkAUqsRo0Te6IFYIC8XRk6jsCZ9mp9TavQ2KfwR+579RrDnjq/MCq7f2FlxSp8N9/A==} + '@unhead/shared@1.9.10': + resolution: {integrity: sha512-LBXxm/8ahY4FZ0FbWVaM1ANFO5QpPzvaYwjAQhgHANsrqFP2EqoGcOv1CfhdQbxg8vpGXkjI7m0r/8E9d3JoDA==} - '@unhead/ssr@1.9.9': - resolution: {integrity: sha512-XZdvKDQkbXGhtPFvpAkYXttViJaQP+nvPQLa4wehjlRRroZ3pxqxauENKwtXdoJ9H+DgOrvau2M78Z7nRIaSFQ==} + '@unhead/ssr@1.9.10': + resolution: {integrity: sha512-4hy3uFrYGJd5h0jmCIC0vFBf5DDhbz+j6tkATTNIaLz5lR4ZdFT+ipwzR20GvnaOiGWiOhZF3yv9FTJQyX4jog==} - '@unhead/vue@1.9.9': - resolution: {integrity: sha512-PrpoyEsSSPH0oo+s07Zh9GOrfjsWLVDYjhLr+S1+90D2ZBzt29aY7jAKYd77ozyMUOr9farjTh+fHjg90stJ0A==} + '@unhead/vue@1.9.10': + resolution: {integrity: sha512-Zi65eTU5IIaqqXAVOVJ4fnwJRR751FZIFlzYOjIekf1eNkISy+A4xyz3NIEQWSlXCrOiDNgDhT0YgKUcx5FfHQ==} peerDependencies: - vue: 3.4.26 + vue: 3.4.27 '@unocss/astro@0.59.4': resolution: {integrity: sha512-DU3OR5MMR1Uvvec4/wB9EetDASHRg19Moy6z/MiIhn8JWJ0QzWYgSeJcfUX8exomMYv6WUEQJL+CyLI34Wmn8w==} @@ -2556,14 +2694,14 @@ packages: engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: 5.2.11 - vue: 3.4.26 + vue: 3.4.27 '@vitejs/plugin-vue@5.0.4': resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: 5.2.11 - vue: 3.4.26 + vue: 3.4.27 '@vitest/coverage-v8@1.6.0': resolution: {integrity: sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==} @@ -2619,7 +2757,7 @@ packages: resolution: {integrity: sha512-uftSpfwdwitcQT2lM8aVxcfe5rKQBzC9jMrtJM5sG4hEuFyfIvnJihpPpnaWxY+X4p64k+YYXtBFv+1O5Bq3dg==} engines: {node: '>=16.14.0'} peerDependencies: - vue: 3.4.26 + vue: 3.4.27 peerDependenciesMeta: vue: optional: true @@ -2632,17 +2770,17 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@vue/compiler-core@3.4.26': - resolution: {integrity: sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==} + '@vue/compiler-core@3.4.27': + resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==} - '@vue/compiler-dom@3.4.26': - resolution: {integrity: sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==} + '@vue/compiler-dom@3.4.27': + resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==} - '@vue/compiler-sfc@3.4.26': - resolution: {integrity: sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==} + '@vue/compiler-sfc@3.4.27': + resolution: {integrity: sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==} - '@vue/compiler-ssr@3.4.26': - resolution: {integrity: sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==} + '@vue/compiler-ssr@3.4.27': + resolution: {integrity: sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==} '@vue/devtools-api@6.5.1': resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} @@ -2650,7 +2788,7 @@ packages: '@vue/devtools-applet@7.0.27': resolution: {integrity: sha512-ubNn/qIn5n3x7YCVSabfQfKL49GoJPJdYu4LfdNz/gZkgb1+djdATpKl/+xzQoOqtGzqnR9nMoCHApAJAgeMyg==} peerDependencies: - vue: 3.4.26 + vue: 3.4.27 '@vue/devtools-core@7.0.27': resolution: {integrity: sha512-3rbtNGxFFFPfIObgTAPIw0h0rJy+y1PrbfgM9nXRf3/FIJkthfS19yj31pj9EWIqRsyiqK5u1Ni7SAJZ0vsQOA==} @@ -2658,7 +2796,7 @@ packages: '@vue/devtools-kit@7.0.27': resolution: {integrity: sha512-/A5xM38pPCFX5Yhl/lRFAzjyK6VNsH670nww2WbjFKWqlu3I+lMxWKzQkCW6A1V8bduITgl2kHORfg2gTw6QaA==} peerDependencies: - vue: 3.4.26 + vue: 3.4.27 '@vue/devtools-shared@7.0.27': resolution: {integrity: sha512-4VxtmZ6yjhiSloqZZq2UYU0TBGxOJ8GxWvp5OlAH70zYqi0FIAyWGPkOhvfoZ7DKQyv2UU0mmKzFHjsEkelGyQ==} @@ -2669,7 +2807,7 @@ packages: '@unocss/reset': '>=0.50.0-0' floating-vue: '>=2.0.0-0' unocss: '>=0.50.0-0' - vue: 3.4.26 + vue: 3.4.27 '@vue/language-core@1.8.27': resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} @@ -2687,25 +2825,25 @@ packages: typescript: optional: true - '@vue/reactivity@3.4.26': - resolution: {integrity: sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==} + '@vue/reactivity@3.4.27': + resolution: {integrity: sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==} - '@vue/runtime-core@3.4.26': - resolution: {integrity: sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==} + '@vue/runtime-core@3.4.27': + resolution: {integrity: sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==} - '@vue/runtime-dom@3.4.26': - resolution: {integrity: sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==} + '@vue/runtime-dom@3.4.27': + resolution: {integrity: sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==} - '@vue/server-renderer@3.4.26': - resolution: {integrity: sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==} + '@vue/server-renderer@3.4.27': + resolution: {integrity: sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==} peerDependencies: - vue: 3.4.26 + vue: 3.4.27 - '@vue/shared@3.4.26': - resolution: {integrity: sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==} + '@vue/shared@3.4.27': + resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==} - '@vue/test-utils@2.4.5': - resolution: {integrity: sha512-oo2u7vktOyKUked36R93NB7mg2B+N7Plr8lxp2JBGwr18ch6EggFjixSCdIVVLkT6Qr0z359Xvnafc9dcKyDUg==} + '@vue/test-utils@2.4.6': + resolution: {integrity: sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==} '@vueuse/components@10.9.0': resolution: {integrity: sha512-BHQpA0yIi3y7zKa1gYD0FUzLLkcRTqVhP8smnvsCK6GFpd94Nziq1XVPD7YpFeho0k5BzbBiNZF7V/DpkJ967A==} @@ -3755,6 +3893,11 @@ packages: engines: {node: '>=12'} hasBin: true + esbuild@0.21.0: + resolution: {integrity: sha512-eyK64lASNug3Wo2+bQEBnYngjh9rkXUfOus403+OeVZteMon6moIhcEYbrSvcgBN6RsrRWCMoWcKDDK6UEsTOQ==} + engines: {node: '>=12'} + hasBin: true + escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -3854,8 +3997,8 @@ packages: resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.1.1: - resolution: {integrity: sha512-b4cRQ0BeZcSEzPpY2PjFY70VbO32K7BStTGtBsnIGdTSEEQzBi8hPBcGQmTG2zUvFr9uLe0TK42bw8YszuHEqg==} + eslint@9.2.0: + resolution: {integrity: sha512-0n/I88vZpCOzO+PQpt0lbsqmn9AsnsJAQseIqhZFI8ibQT0U1AkEKRxA3EVMos0BoHSXDQvCXY25TUjB5tr8Og==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true @@ -3998,7 +4141,7 @@ packages: resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} peerDependencies: '@nuxt/kit': workspace:* - vue: 3.4.26 + vue: 3.4.27 peerDependenciesMeta: '@nuxt/kit': optional: true @@ -4189,8 +4332,8 @@ packages: h3@1.11.1: resolution: {integrity: sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==} - happy-dom@14.7.1: - resolution: {integrity: sha512-v60Q0evZ4clvMcrAh5/F8EdxDdfHdFrtffz/CNe10jKD+nFweZVxM91tW+UyY2L4AtpgIaXdZ7TQmiO1pfcwbg==} + happy-dom@14.10.1: + resolution: {integrity: sha512-GRbrZYIezi8+tTtffF4v2QcF8bk1h2loUTO5VYQz3GZdrL08Vk0fI+bwf/vFEBf4C/qVf/easLJ/MY1wwdhytA==} engines: {node: '>=16.0.0'} has-bigints@1.0.2: @@ -5555,8 +5698,8 @@ packages: pkg-types@1.1.0: resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==} - playwright-core@1.43.1: - resolution: {integrity: sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==} + playwright-core@1.44.0: + resolution: {integrity: sha512-ZTbkNpFfYcGWohvTTl+xewITm7EOuqIqex0c7dNZ+aXsbrLj0qI8XlGKfPpipjm0Wny/4Lt4CJsWJk1stVS5qQ==} engines: {node: '>=16'} hasBin: true @@ -6796,8 +6939,8 @@ packages: unenv@1.9.0: resolution: {integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==} - unhead@1.9.9: - resolution: {integrity: sha512-RwheobyCir358HfvDrY2bFb/puievoCu1f+OpxdA9mFnKs8k6JyMvGxrsaPlFbTeC47JSeN2URdW94Z/JdGzsA==} + unhead@1.9.10: + resolution: {integrity: sha512-Y3w+j1x1YFig2YuE+W2sER+SciRR7MQktYRHNqvZJ0iUNCCJTS8Z/SdSMUEeuFV28daXeASlR3fy7Ry3O2indg==} unicode-emoji-modifier-base@1.0.0: resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} @@ -7155,7 +7298,7 @@ packages: hasBin: true peerDependencies: '@vue/composition-api': ^1.0.0-rc.1 - vue: 3.4.26 + vue: 3.4.27 peerDependenciesMeta: '@vue/composition-api': optional: true @@ -7184,17 +7327,17 @@ packages: vue-observe-visibility@2.0.0-alpha.1: resolution: {integrity: sha512-flFbp/gs9pZniXR6fans8smv1kDScJ8RS7rEpMjhVabiKeq7Qz3D9+eGsypncjfIyyU84saU88XZ0zjbD6Gq/g==} peerDependencies: - vue: 3.4.26 + vue: 3.4.27 vue-resize@2.0.0-alpha.1: resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} peerDependencies: - vue: 3.4.26 + vue: 3.4.27 vue-router@4.3.2: resolution: {integrity: sha512-hKQJ1vDAZ5LVkKEnHhmm1f9pMiWIBNGF5AwU67PdH7TyXCj/a4hTccuUuYCAMgJK6rO/NVYtQIEN3yL8CECa7Q==} peerDependencies: - vue: 3.4.26 + vue: 3.4.27 vue-template-compiler@2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} @@ -7208,10 +7351,10 @@ packages: vue-virtual-scroller@2.0.0-beta.8: resolution: {integrity: sha512-b8/f5NQ5nIEBRTNi6GcPItE4s7kxNHw2AIHLtDp+2QvqdTjVN0FgONwX9cr53jWRgnu+HRLPaWDOR2JPI5MTfQ==} peerDependencies: - vue: 3.4.26 + vue: 3.4.27 - vue@3.4.26: - resolution: {integrity: sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==} + vue@3.4.27: + resolution: {integrity: sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7671,6 +7814,9 @@ snapshots: '@esbuild/aix-ppc64@0.20.2': optional: true + '@esbuild/aix-ppc64@0.21.0': + optional: true + '@esbuild/android-arm64@0.18.20': optional: true @@ -7680,6 +7826,9 @@ snapshots: '@esbuild/android-arm64@0.20.2': optional: true + '@esbuild/android-arm64@0.21.0': + optional: true + '@esbuild/android-arm@0.18.20': optional: true @@ -7689,6 +7838,9 @@ snapshots: '@esbuild/android-arm@0.20.2': optional: true + '@esbuild/android-arm@0.21.0': + optional: true + '@esbuild/android-x64@0.18.20': optional: true @@ -7698,6 +7850,9 @@ snapshots: '@esbuild/android-x64@0.20.2': optional: true + '@esbuild/android-x64@0.21.0': + optional: true + '@esbuild/darwin-arm64@0.18.20': optional: true @@ -7707,6 +7862,9 @@ snapshots: '@esbuild/darwin-arm64@0.20.2': optional: true + '@esbuild/darwin-arm64@0.21.0': + optional: true + '@esbuild/darwin-x64@0.18.20': optional: true @@ -7716,6 +7874,9 @@ snapshots: '@esbuild/darwin-x64@0.20.2': optional: true + '@esbuild/darwin-x64@0.21.0': + optional: true + '@esbuild/freebsd-arm64@0.18.20': optional: true @@ -7725,6 +7886,9 @@ snapshots: '@esbuild/freebsd-arm64@0.20.2': optional: true + '@esbuild/freebsd-arm64@0.21.0': + optional: true + '@esbuild/freebsd-x64@0.18.20': optional: true @@ -7734,6 +7898,9 @@ snapshots: '@esbuild/freebsd-x64@0.20.2': optional: true + '@esbuild/freebsd-x64@0.21.0': + optional: true + '@esbuild/linux-arm64@0.18.20': optional: true @@ -7743,6 +7910,9 @@ snapshots: '@esbuild/linux-arm64@0.20.2': optional: true + '@esbuild/linux-arm64@0.21.0': + optional: true + '@esbuild/linux-arm@0.18.20': optional: true @@ -7752,6 +7922,9 @@ snapshots: '@esbuild/linux-arm@0.20.2': optional: true + '@esbuild/linux-arm@0.21.0': + optional: true + '@esbuild/linux-ia32@0.18.20': optional: true @@ -7761,6 +7934,9 @@ snapshots: '@esbuild/linux-ia32@0.20.2': optional: true + '@esbuild/linux-ia32@0.21.0': + optional: true + '@esbuild/linux-loong64@0.18.20': optional: true @@ -7770,6 +7946,9 @@ snapshots: '@esbuild/linux-loong64@0.20.2': optional: true + '@esbuild/linux-loong64@0.21.0': + optional: true + '@esbuild/linux-mips64el@0.18.20': optional: true @@ -7779,6 +7958,9 @@ snapshots: '@esbuild/linux-mips64el@0.20.2': optional: true + '@esbuild/linux-mips64el@0.21.0': + optional: true + '@esbuild/linux-ppc64@0.18.20': optional: true @@ -7788,6 +7970,9 @@ snapshots: '@esbuild/linux-ppc64@0.20.2': optional: true + '@esbuild/linux-ppc64@0.21.0': + optional: true + '@esbuild/linux-riscv64@0.18.20': optional: true @@ -7797,6 +7982,9 @@ snapshots: '@esbuild/linux-riscv64@0.20.2': optional: true + '@esbuild/linux-riscv64@0.21.0': + optional: true + '@esbuild/linux-s390x@0.18.20': optional: true @@ -7806,6 +7994,9 @@ snapshots: '@esbuild/linux-s390x@0.20.2': optional: true + '@esbuild/linux-s390x@0.21.0': + optional: true + '@esbuild/linux-x64@0.18.20': optional: true @@ -7815,6 +8006,9 @@ snapshots: '@esbuild/linux-x64@0.20.2': optional: true + '@esbuild/linux-x64@0.21.0': + optional: true + '@esbuild/netbsd-x64@0.18.20': optional: true @@ -7824,6 +8018,9 @@ snapshots: '@esbuild/netbsd-x64@0.20.2': optional: true + '@esbuild/netbsd-x64@0.21.0': + optional: true + '@esbuild/openbsd-x64@0.18.20': optional: true @@ -7833,6 +8030,9 @@ snapshots: '@esbuild/openbsd-x64@0.20.2': optional: true + '@esbuild/openbsd-x64@0.21.0': + optional: true + '@esbuild/sunos-x64@0.18.20': optional: true @@ -7842,6 +8042,9 @@ snapshots: '@esbuild/sunos-x64@0.20.2': optional: true + '@esbuild/sunos-x64@0.21.0': + optional: true + '@esbuild/win32-arm64@0.18.20': optional: true @@ -7851,6 +8054,9 @@ snapshots: '@esbuild/win32-arm64@0.20.2': optional: true + '@esbuild/win32-arm64@0.21.0': + optional: true + '@esbuild/win32-ia32@0.18.20': optional: true @@ -7860,6 +8066,9 @@ snapshots: '@esbuild/win32-ia32@0.20.2': optional: true + '@esbuild/win32-ia32@0.21.0': + optional: true + '@esbuild/win32-x64@0.18.20': optional: true @@ -7869,9 +8078,12 @@ snapshots: '@esbuild/win32-x64@0.20.2': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@9.1.1)': + '@esbuild/win32-x64@0.21.0': + optional: true + + '@eslint-community/eslint-utils@4.4.0(eslint@9.2.0)': dependencies: - eslint: 9.1.1 + eslint: 9.2.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.10.0': {} @@ -7904,7 +8116,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.1.1': {} + '@eslint/js@9.2.0': {} '@fastify/busboy@2.0.0': {} @@ -7968,7 +8180,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.5 '@types/istanbul-reports': 3.0.3 - '@types/node': 20.12.8 + '@types/node': 20.12.10 '@types/yargs': 17.0.28 chalk: 4.1.2 @@ -8122,13 +8334,13 @@ snapshots: '@nuxt/devalue@2.0.2': {} - '@nuxt/devtools-kit@1.2.0(nuxt@packages+nuxt)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))': + '@nuxt/devtools-kit@1.2.0(nuxt@packages+nuxt)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))': dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) '@nuxt/devtools-wizard@1.2.0': dependencies: @@ -8143,15 +8355,15 @@ snapshots: rc9: 2.1.2 semver: 7.6.0 - '@nuxt/devtools@1.2.0(@unocss/reset@0.59.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.26(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vue@3.4.26(typescript@5.4.5))': + '@nuxt/devtools@1.2.0(@unocss/reset@0.59.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.2.0(nuxt@packages+nuxt)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0)) + '@nuxt/devtools-kit': 1.2.0(nuxt@packages+nuxt)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) '@nuxt/devtools-wizard': 1.2.0 '@nuxt/kit': link:packages/kit - '@vue/devtools-applet': 7.0.27(@unocss/reset@0.59.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.26(typescript@5.4.5)))(unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vue@3.4.26(typescript@5.4.5)) - '@vue/devtools-core': 7.0.27(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vue@3.4.26(typescript@5.4.5)) - '@vue/devtools-kit': 7.0.27(vue@3.4.26(typescript@5.4.5)) + '@vue/devtools-applet': 7.0.27(@unocss/reset@0.59.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-core': 7.0.27(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-kit': 7.0.27(vue@3.4.27(typescript@5.4.5)) birpc: 0.2.17 consola: 3.2.3 cronstrue: 2.49.0 @@ -8180,9 +8392,9 @@ snapshots: simple-git: 3.24.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.17.2) - vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) - vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0)) - vite-plugin-vue-inspector: 4.0.2(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0)) + vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) + vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) + vite-plugin-vue-inspector: 4.0.2(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) which: 3.0.1 ws: 8.16.0 transitivePeerDependencies: @@ -8208,34 +8420,34 @@ snapshots: - utf-8-validate - vue - '@nuxt/eslint-config@0.3.10(eslint@9.1.1)(typescript@5.4.5)': + '@nuxt/eslint-config@0.3.10(eslint@9.2.0)(typescript@5.4.5)': dependencies: - '@eslint/js': 9.1.1 - '@nuxt/eslint-plugin': 0.3.10(eslint@9.1.1)(typescript@5.4.5) + '@eslint/js': 9.2.0 + '@nuxt/eslint-plugin': 0.3.10(eslint@9.2.0)(typescript@5.4.5) '@rushstack/eslint-patch': 1.10.2 - '@stylistic/eslint-plugin': 1.7.2(eslint@9.1.1)(typescript@5.4.5) - '@typescript-eslint/eslint-plugin': 7.7.1(@typescript-eslint/parser@7.7.1(eslint@9.1.1)(typescript@5.4.5))(eslint@9.1.1)(typescript@5.4.5) - '@typescript-eslint/parser': 7.7.1(eslint@9.1.1)(typescript@5.4.5) - eslint: 9.1.1 + '@stylistic/eslint-plugin': 1.7.2(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.7.1(@typescript-eslint/parser@7.7.1(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.7.1(eslint@9.2.0)(typescript@5.4.5) + eslint: 9.2.0 eslint-config-flat-gitignore: 0.1.5 eslint-flat-config-utils: 0.2.3 - eslint-plugin-import-x: 0.5.0(eslint@9.1.1)(typescript@5.4.5) - eslint-plugin-jsdoc: 48.2.3(eslint@9.1.1) - eslint-plugin-unicorn: 52.0.0(eslint@9.1.1) - eslint-plugin-vue: 9.25.0(eslint@9.1.1) + eslint-plugin-import-x: 0.5.0(eslint@9.2.0)(typescript@5.4.5) + eslint-plugin-jsdoc: 48.2.3(eslint@9.2.0) + eslint-plugin-unicorn: 52.0.0(eslint@9.2.0) + eslint-plugin-vue: 9.25.0(eslint@9.2.0) globals: 15.0.0 pathe: 1.1.2 tslib: 2.6.2 - vue-eslint-parser: 9.4.2(eslint@9.1.1) + vue-eslint-parser: 9.4.2(eslint@9.2.0) transitivePeerDependencies: - supports-color - typescript - '@nuxt/eslint-plugin@0.3.10(eslint@9.1.1)(typescript@5.4.5)': + '@nuxt/eslint-plugin@0.3.10(eslint@9.2.0)(typescript@5.4.5)': dependencies: '@typescript-eslint/types': 7.7.1 - '@typescript-eslint/utils': 7.7.1(eslint@9.1.1)(typescript@5.4.5) - eslint: 9.1.1 + '@typescript-eslint/utils': 7.7.1(eslint@9.2.0)(typescript@5.4.5) + eslint: 9.2.0 transitivePeerDependencies: - supports-color - typescript @@ -8268,7 +8480,7 @@ snapshots: rc9: 2.1.2 std-env: 3.7.0 - '@nuxt/test-utils@3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5))': + '@nuxt/test-utils@3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))': dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema @@ -8293,16 +8505,16 @@ snapshots: ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.1 - vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) - vue: 3.4.26(typescript@5.4.5) - vue-router: 4.3.2(vue@3.4.26(typescript@5.4.5)) + vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) + vue: 3.4.27(typescript@5.4.5) + vue-router: 4.3.2(vue@3.4.27(typescript@5.4.5)) optionalDependencies: - '@testing-library/vue': 8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)) - '@vue/test-utils': 2.4.5 - happy-dom: 14.7.1 - playwright-core: 1.43.1 - vitest: 1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) + '@testing-library/vue': 8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)) + '@vue/test-utils': 2.4.6 + happy-dom: 14.10.1 + playwright-core: 1.44.0 + vitest: 1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) '@nuxtjs/mdc@0.5.0': dependencies: @@ -8310,7 +8522,7 @@ snapshots: '@shikijs/transformers': 1.1.2 '@types/hast': 3.0.4 '@types/mdast': 4.0.3 - '@vue/compiler-core': 3.4.26 + '@vue/compiler-core': 3.4.27 consola: 3.2.3 debug: 4.3.4 defu: 6.1.4 @@ -8551,14 +8763,14 @@ snapshots: '@shikijs/vitepress-twoslash@1.1.6(@nuxt/kit@packages+kit)(typescript@5.4.5)': dependencies: '@shikijs/twoslash': 1.1.6(typescript@5.4.5) - floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.26(typescript@5.4.5)) + floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)) mdast-util-from-markdown: 2.0.0 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.1.0 shiki: 1.1.6 twoslash: 0.2.4(typescript@5.4.5) twoslash-vue: 0.2.4(typescript@5.4.5) - vue: 3.4.26(typescript@5.4.5) + vue: 3.4.27(typescript@5.4.5) transitivePeerDependencies: - '@nuxt/kit' - supports-color @@ -8600,50 +8812,50 @@ snapshots: '@sindresorhus/merge-streams@2.2.0': {} - '@stylistic/eslint-plugin-js@1.7.2(eslint@9.1.1)': + '@stylistic/eslint-plugin-js@1.7.2(eslint@9.2.0)': dependencies: '@types/eslint': 8.56.10 acorn: 8.11.3 escape-string-regexp: 4.0.0 - eslint: 9.1.1 + eslint: 9.2.0 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - '@stylistic/eslint-plugin-jsx@1.7.2(eslint@9.1.1)': + '@stylistic/eslint-plugin-jsx@1.7.2(eslint@9.2.0)': dependencies: - '@stylistic/eslint-plugin-js': 1.7.2(eslint@9.1.1) + '@stylistic/eslint-plugin-js': 1.7.2(eslint@9.2.0) '@types/eslint': 8.56.10 - eslint: 9.1.1 + eslint: 9.2.0 estraverse: 5.3.0 picomatch: 4.0.2 - '@stylistic/eslint-plugin-plus@1.7.2(eslint@9.1.1)(typescript@5.4.5)': + '@stylistic/eslint-plugin-plus@1.7.2(eslint@9.2.0)(typescript@5.4.5)': dependencies: '@types/eslint': 8.56.10 - '@typescript-eslint/utils': 6.21.0(eslint@9.1.1)(typescript@5.4.5) - eslint: 9.1.1 + '@typescript-eslint/utils': 6.21.0(eslint@9.2.0)(typescript@5.4.5) + eslint: 9.2.0 transitivePeerDependencies: - supports-color - typescript - '@stylistic/eslint-plugin-ts@1.7.2(eslint@9.1.1)(typescript@5.4.5)': + '@stylistic/eslint-plugin-ts@1.7.2(eslint@9.2.0)(typescript@5.4.5)': dependencies: - '@stylistic/eslint-plugin-js': 1.7.2(eslint@9.1.1) + '@stylistic/eslint-plugin-js': 1.7.2(eslint@9.2.0) '@types/eslint': 8.56.10 - '@typescript-eslint/utils': 6.21.0(eslint@9.1.1)(typescript@5.4.5) - eslint: 9.1.1 + '@typescript-eslint/utils': 6.21.0(eslint@9.2.0)(typescript@5.4.5) + eslint: 9.2.0 transitivePeerDependencies: - supports-color - typescript - '@stylistic/eslint-plugin@1.7.2(eslint@9.1.1)(typescript@5.4.5)': + '@stylistic/eslint-plugin@1.7.2(eslint@9.2.0)(typescript@5.4.5)': dependencies: - '@stylistic/eslint-plugin-js': 1.7.2(eslint@9.1.1) - '@stylistic/eslint-plugin-jsx': 1.7.2(eslint@9.1.1) - '@stylistic/eslint-plugin-plus': 1.7.2(eslint@9.1.1)(typescript@5.4.5) - '@stylistic/eslint-plugin-ts': 1.7.2(eslint@9.1.1)(typescript@5.4.5) + '@stylistic/eslint-plugin-js': 1.7.2(eslint@9.2.0) + '@stylistic/eslint-plugin-jsx': 1.7.2(eslint@9.2.0) + '@stylistic/eslint-plugin-plus': 1.7.2(eslint@9.2.0)(typescript@5.4.5) + '@stylistic/eslint-plugin-ts': 1.7.2(eslint@9.2.0)(typescript@5.4.5) '@types/eslint': 8.56.10 - eslint: 9.1.1 + eslint: 9.2.0 transitivePeerDependencies: - supports-color - typescript @@ -8659,14 +8871,14 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5))': + '@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5))': dependencies: '@babel/runtime': 7.23.9 '@testing-library/dom': 9.3.4 - '@vue/test-utils': 2.4.5 - vue: 3.4.26(typescript@5.4.5) + '@vue/test-utils': 2.4.6 + vue: 3.4.27(typescript@5.4.5) optionalDependencies: - '@vue/compiler-sfc': 3.4.26 + '@vue/compiler-sfc': 3.4.27 '@trysound/sax@0.2.0': {} @@ -8681,14 +8893,14 @@ snapshots: '@types/clean-css@4.2.11': dependencies: - '@types/node': 20.12.8 + '@types/node': 20.12.10 source-map: 0.6.1 '@types/clear@0.1.4': {} '@types/connect@3.4.37': dependencies: - '@types/node': 20.12.8 + '@types/node': 20.12.10 '@types/debug@4.1.12': dependencies: @@ -8717,7 +8929,7 @@ snapshots: '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.2 - '@types/node': 20.12.8 + '@types/node': 20.12.10 '@types/hash-sum@1.0.2': {} @@ -8733,7 +8945,7 @@ snapshots: '@types/http-proxy@1.17.14': dependencies: - '@types/node': 20.12.8 + '@types/node': 20.12.10 '@types/istanbul-lib-coverage@2.0.5': {} @@ -8749,7 +8961,7 @@ snapshots: '@types/jsonfile@6.1.2': dependencies: - '@types/node': 20.12.8 + '@types/node': 20.12.10 '@types/lodash-es@4.17.12': dependencies: @@ -8765,9 +8977,9 @@ snapshots: '@types/node-sass@4.11.6': dependencies: - '@types/node': 20.12.8 + '@types/node': 20.12.10 - '@types/node@20.12.8': + '@types/node@20.12.10': dependencies: undici-types: 5.26.5 @@ -8783,7 +8995,7 @@ snapshots: '@types/sass-loader@8.0.8': dependencies: - '@types/node': 20.12.8 + '@types/node': 20.12.10 '@types/node-sass': 4.11.6 '@types/webpack': 4.41.34 sass: 1.69.4 @@ -8806,7 +9018,7 @@ snapshots: '@types/webpack-bundle-analyzer@4.7.0': dependencies: - '@types/node': 20.12.8 + '@types/node': 20.12.10 tapable: 2.2.1 webpack: 5.91.0 transitivePeerDependencies: @@ -8828,7 +9040,7 @@ snapshots: '@types/webpack-sources@3.2.1': dependencies: - '@types/node': 20.12.8 + '@types/node': 20.12.10 '@types/source-list-map': 0.1.4 source-map: 0.7.4 @@ -8838,7 +9050,7 @@ snapshots: '@types/webpack@4.41.34': dependencies: - '@types/node': 20.12.8 + '@types/node': 20.12.10 '@types/tapable': 1.0.10 '@types/uglify-js': 3.17.3 '@types/webpack-sources': 3.2.1 @@ -8851,16 +9063,16 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.1 - '@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1(eslint@9.1.1)(typescript@5.4.5))(eslint@9.1.1)(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.7.1(eslint@9.1.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.7.1(eslint@9.2.0)(typescript@5.4.5) '@typescript-eslint/scope-manager': 7.7.1 - '@typescript-eslint/type-utils': 7.7.1(eslint@9.1.1)(typescript@5.4.5) - '@typescript-eslint/utils': 7.7.1(eslint@9.1.1)(typescript@5.4.5) + '@typescript-eslint/type-utils': 7.7.1(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.7.1(eslint@9.2.0)(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.7.1 debug: 4.3.4 - eslint: 9.1.1 + eslint: 9.2.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -8871,14 +9083,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.7.1(eslint@9.1.1)(typescript@5.4.5)': + '@typescript-eslint/parser@7.7.1(eslint@9.2.0)(typescript@5.4.5)': dependencies: '@typescript-eslint/scope-manager': 7.7.1 '@typescript-eslint/types': 7.7.1 '@typescript-eslint/typescript-estree': 7.7.1(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.7.1 debug: 4.3.4 - eslint: 9.1.1 + eslint: 9.2.0 optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: @@ -8894,12 +9106,12 @@ snapshots: '@typescript-eslint/types': 7.7.1 '@typescript-eslint/visitor-keys': 7.7.1 - '@typescript-eslint/type-utils@7.7.1(eslint@9.1.1)(typescript@5.4.5)': + '@typescript-eslint/type-utils@7.7.1(eslint@9.2.0)(typescript@5.4.5)': dependencies: '@typescript-eslint/typescript-estree': 7.7.1(typescript@5.4.5) - '@typescript-eslint/utils': 7.7.1(eslint@9.1.1)(typescript@5.4.5) + '@typescript-eslint/utils': 7.7.1(eslint@9.2.0)(typescript@5.4.5) debug: 4.3.4 - eslint: 9.1.1 + eslint: 9.2.0 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 @@ -8940,29 +9152,29 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@6.21.0(eslint@9.1.1)(typescript@5.4.5)': + '@typescript-eslint/utils@6.21.0(eslint@9.2.0)(typescript@5.4.5)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.1) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) - eslint: 9.1.1 + eslint: 9.2.0 semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@7.7.1(eslint@9.1.1)(typescript@5.4.5)': + '@typescript-eslint/utils@7.7.1(eslint@9.2.0)(typescript@5.4.5)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.1) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 7.7.1 '@typescript-eslint/types': 7.7.1 '@typescript-eslint/typescript-estree': 7.7.1(typescript@5.4.5) - eslint: 9.1.1 + eslint: 9.2.0 semver: 7.6.0 transitivePeerDependencies: - supports-color @@ -8986,40 +9198,40 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@unhead/dom@1.9.9': + '@unhead/dom@1.9.10': dependencies: - '@unhead/schema': 1.9.9 - '@unhead/shared': 1.9.9 + '@unhead/schema': 1.9.10 + '@unhead/shared': 1.9.10 - '@unhead/schema@1.9.9': + '@unhead/schema@1.9.10': dependencies: hookable: 5.5.3 zhead: 2.2.4 - '@unhead/shared@1.9.9': + '@unhead/shared@1.9.10': dependencies: - '@unhead/schema': 1.9.9 + '@unhead/schema': 1.9.10 - '@unhead/ssr@1.9.9': + '@unhead/ssr@1.9.10': dependencies: - '@unhead/schema': 1.9.9 - '@unhead/shared': 1.9.9 + '@unhead/schema': 1.9.10 + '@unhead/shared': 1.9.10 - '@unhead/vue@1.9.9(vue@3.4.26(typescript@5.4.5))': + '@unhead/vue@1.9.10(vue@3.4.27(typescript@5.4.5))': dependencies: - '@unhead/schema': 1.9.9 - '@unhead/shared': 1.9.9 + '@unhead/schema': 1.9.10 + '@unhead/shared': 1.9.10 hookable: 5.5.3 - unhead: 1.9.9 - vue: 3.4.26(typescript@5.4.5) + unhead: 1.9.10 + vue: 3.4.27(typescript@5.4.5) - '@unocss/astro@0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))': + '@unocss/astro@0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))': dependencies: '@unocss/core': 0.59.4 '@unocss/reset': 0.59.4 - '@unocss/vite': 0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0)) + '@unocss/vite': 0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: - vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - rollup @@ -9150,7 +9362,7 @@ snapshots: dependencies: '@unocss/core': 0.59.4 - '@unocss/vite@0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))': + '@unocss/vite@0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.17.2) @@ -9162,7 +9374,7 @@ snapshots: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.10 - vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - rollup @@ -9184,22 +9396,22 @@ snapshots: - encoding - supports-color - '@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vue@3.4.26(typescript@5.4.5))': + '@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: '@babel/core': 7.24.5 '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.5) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.5) - vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) - vue: 3.4.26(typescript@5.4.5) + vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) + vue: 3.4.27(typescript@5.4.5) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.0.4(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vue@3.4.26(typescript@5.4.5))': + '@vitejs/plugin-vue@5.0.4(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: - vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) - vue: 3.4.26(typescript@5.4.5) + vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) + vue: 3.4.27(typescript@5.4.5) - '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))': + '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -9214,7 +9426,7 @@ snapshots: std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 - vitest: 1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) + vitest: 1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - supports-color @@ -9297,16 +9509,16 @@ snapshots: '@volar/language-core': 2.2.0 path-browserify: 1.0.1 - '@vue-macros/common@1.10.1(rollup@4.17.2)(vue@3.4.26(typescript@5.4.5))': + '@vue-macros/common@1.10.1(rollup@4.17.2)(vue@3.4.27(typescript@5.4.5))': dependencies: '@babel/types': 7.24.5 '@rollup/pluginutils': 5.1.0(rollup@4.17.2) - '@vue/compiler-sfc': 3.4.26 + '@vue/compiler-sfc': 3.4.27 ast-kit: 0.11.3(rollup@4.17.2) local-pkg: 0.5.0 magic-string-ast: 0.3.0 optionalDependencies: - vue: 3.4.26(typescript@5.4.5) + vue: 3.4.27(typescript@5.4.5) transitivePeerDependencies: - rollup @@ -9327,48 +9539,48 @@ snapshots: transitivePeerDependencies: - supports-color - '@vue/compiler-core@3.4.26': + '@vue/compiler-core@3.4.27': dependencies: '@babel/parser': 7.24.5 - '@vue/shared': 3.4.26 + '@vue/shared': 3.4.27 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - '@vue/compiler-dom@3.4.26': + '@vue/compiler-dom@3.4.27': dependencies: - '@vue/compiler-core': 3.4.26 - '@vue/shared': 3.4.26 + '@vue/compiler-core': 3.4.27 + '@vue/shared': 3.4.27 - '@vue/compiler-sfc@3.4.26': + '@vue/compiler-sfc@3.4.27': dependencies: '@babel/parser': 7.24.5 - '@vue/compiler-core': 3.4.26 - '@vue/compiler-dom': 3.4.26 - '@vue/compiler-ssr': 3.4.26 - '@vue/shared': 3.4.26 + '@vue/compiler-core': 3.4.27 + '@vue/compiler-dom': 3.4.27 + '@vue/compiler-ssr': 3.4.27 + '@vue/shared': 3.4.27 estree-walker: 2.0.2 magic-string: 0.30.10 postcss: 8.4.38 source-map-js: 1.2.0 - '@vue/compiler-ssr@3.4.26': + '@vue/compiler-ssr@3.4.27': dependencies: - '@vue/compiler-dom': 3.4.26 - '@vue/shared': 3.4.26 + '@vue/compiler-dom': 3.4.27 + '@vue/shared': 3.4.27 '@vue/devtools-api@6.5.1': {} - '@vue/devtools-applet@7.0.27(@unocss/reset@0.59.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.26(typescript@5.4.5)))(unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vue@3.4.26(typescript@5.4.5))': + '@vue/devtools-applet@7.0.27(@unocss/reset@0.59.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: - '@vue/devtools-core': 7.0.27(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vue@3.4.26(typescript@5.4.5)) - '@vue/devtools-kit': 7.0.27(vue@3.4.26(typescript@5.4.5)) + '@vue/devtools-core': 7.0.27(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-kit': 7.0.27(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-shared': 7.0.27 - '@vue/devtools-ui': 7.0.27(@unocss/reset@0.59.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.26(typescript@5.4.5)))(unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.26(typescript@5.4.5)) + '@vue/devtools-ui': 7.0.27(@unocss/reset@0.59.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5)) perfect-debounce: 1.0.0 splitpanes: 3.1.5 - vue: 3.4.26(typescript@5.4.5) - vue-virtual-scroller: 2.0.0-beta.8(vue@3.4.26(typescript@5.4.5)) + vue: 3.4.27(typescript@5.4.5) + vue-virtual-scroller: 2.0.0-beta.8(vue@3.4.27(typescript@5.4.5)) transitivePeerDependencies: - '@unocss/reset' - '@vue/composition-api' @@ -9387,42 +9599,42 @@ snapshots: - unocss - vite - '@vue/devtools-core@7.0.27(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vue@3.4.26(typescript@5.4.5))': + '@vue/devtools-core@7.0.27(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: - '@vue/devtools-kit': 7.0.27(vue@3.4.26(typescript@5.4.5)) + '@vue/devtools-kit': 7.0.27(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-shared': 7.0.27 mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0)) + vite-hot-client: 0.2.3(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) transitivePeerDependencies: - vite - vue - '@vue/devtools-kit@7.0.27(vue@3.4.26(typescript@5.4.5))': + '@vue/devtools-kit@7.0.27(vue@3.4.27(typescript@5.4.5))': dependencies: '@vue/devtools-shared': 7.0.27 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 - vue: 3.4.26(typescript@5.4.5) + vue: 3.4.27(typescript@5.4.5) '@vue/devtools-shared@7.0.27': dependencies: rfdc: 1.3.1 - '@vue/devtools-ui@7.0.27(@unocss/reset@0.59.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.26(typescript@5.4.5)))(unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.26(typescript@5.4.5))': + '@vue/devtools-ui@7.0.27(@unocss/reset@0.59.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))': dependencies: '@unocss/reset': 0.59.4 - '@vueuse/components': 10.9.0(vue@3.4.26(typescript@5.4.5)) - '@vueuse/core': 10.9.0(vue@3.4.26(typescript@5.4.5)) - '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.26(typescript@5.4.5)) + '@vueuse/components': 10.9.0(vue@3.4.27(typescript@5.4.5)) + '@vueuse/core': 10.9.0(vue@3.4.27(typescript@5.4.5)) + '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.27(typescript@5.4.5)) colord: 2.9.3 - floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.26(typescript@5.4.5)) + floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)) focus-trap: 7.5.4 - unocss: 0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0)) - vue: 3.4.26(typescript@5.4.5) + unocss: 0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) + vue: 3.4.27(typescript@5.4.5) transitivePeerDependencies: - '@vue/composition-api' - async-validator @@ -9441,8 +9653,8 @@ snapshots: dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.4.26 - '@vue/shared': 3.4.26 + '@vue/compiler-dom': 3.4.27 + '@vue/shared': 3.4.27 computeds: 0.0.1 minimatch: 9.0.4 muggle-string: 0.3.1 @@ -9454,8 +9666,8 @@ snapshots: '@vue/language-core@2.0.16(typescript@5.4.5)': dependencies: '@volar/language-core': 2.2.0 - '@vue/compiler-dom': 3.4.26 - '@vue/shared': 3.4.26 + '@vue/compiler-dom': 3.4.27 + '@vue/shared': 3.4.27 computeds: 0.0.1 minimatch: 9.0.4 path-browserify: 1.0.1 @@ -9463,58 +9675,58 @@ snapshots: optionalDependencies: typescript: 5.4.5 - '@vue/reactivity@3.4.26': + '@vue/reactivity@3.4.27': dependencies: - '@vue/shared': 3.4.26 + '@vue/shared': 3.4.27 - '@vue/runtime-core@3.4.26': + '@vue/runtime-core@3.4.27': dependencies: - '@vue/reactivity': 3.4.26 - '@vue/shared': 3.4.26 + '@vue/reactivity': 3.4.27 + '@vue/shared': 3.4.27 - '@vue/runtime-dom@3.4.26': + '@vue/runtime-dom@3.4.27': dependencies: - '@vue/runtime-core': 3.4.26 - '@vue/shared': 3.4.26 + '@vue/runtime-core': 3.4.27 + '@vue/shared': 3.4.27 csstype: 3.1.3 - '@vue/server-renderer@3.4.26(vue@3.4.26(typescript@5.4.5))': + '@vue/server-renderer@3.4.27(vue@3.4.27(typescript@5.4.5))': dependencies: - '@vue/compiler-ssr': 3.4.26 - '@vue/shared': 3.4.26 - vue: 3.4.26(typescript@5.4.5) + '@vue/compiler-ssr': 3.4.27 + '@vue/shared': 3.4.27 + vue: 3.4.27(typescript@5.4.5) - '@vue/shared@3.4.26': {} + '@vue/shared@3.4.27': {} - '@vue/test-utils@2.4.5': + '@vue/test-utils@2.4.6': dependencies: js-beautify: 1.14.9 vue-component-type-helpers: 2.0.6 - '@vueuse/components@10.9.0(vue@3.4.26(typescript@5.4.5))': + '@vueuse/components@10.9.0(vue@3.4.27(typescript@5.4.5))': dependencies: - '@vueuse/core': 10.9.0(vue@3.4.26(typescript@5.4.5)) - '@vueuse/shared': 10.9.0(vue@3.4.26(typescript@5.4.5)) - vue-demi: 0.14.7(vue@3.4.26(typescript@5.4.5)) + '@vueuse/core': 10.9.0(vue@3.4.27(typescript@5.4.5)) + '@vueuse/shared': 10.9.0(vue@3.4.27(typescript@5.4.5)) + vue-demi: 0.14.7(vue@3.4.27(typescript@5.4.5)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/core@10.9.0(vue@3.4.26(typescript@5.4.5))': + '@vueuse/core@10.9.0(vue@3.4.27(typescript@5.4.5))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.9.0 - '@vueuse/shared': 10.9.0(vue@3.4.26(typescript@5.4.5)) - vue-demi: 0.14.7(vue@3.4.26(typescript@5.4.5)) + '@vueuse/shared': 10.9.0(vue@3.4.27(typescript@5.4.5)) + vue-demi: 0.14.7(vue@3.4.27(typescript@5.4.5)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.26(typescript@5.4.5))': + '@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.27(typescript@5.4.5))': dependencies: - '@vueuse/core': 10.9.0(vue@3.4.26(typescript@5.4.5)) - '@vueuse/shared': 10.9.0(vue@3.4.26(typescript@5.4.5)) - vue-demi: 0.14.7(vue@3.4.26(typescript@5.4.5)) + '@vueuse/core': 10.9.0(vue@3.4.27(typescript@5.4.5)) + '@vueuse/shared': 10.9.0(vue@3.4.27(typescript@5.4.5)) + vue-demi: 0.14.7(vue@3.4.27(typescript@5.4.5)) optionalDependencies: focus-trap: 7.5.4 transitivePeerDependencies: @@ -9523,9 +9735,9 @@ snapshots: '@vueuse/metadata@10.9.0': {} - '@vueuse/shared@10.9.0(vue@3.4.26(typescript@5.4.5))': + '@vueuse/shared@10.9.0(vue@3.4.27(typescript@5.4.5))': dependencies: - vue-demi: 0.14.7(vue@3.4.26(typescript@5.4.5)) + vue-demi: 0.14.7(vue@3.4.27(typescript@5.4.5)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -10630,6 +10842,32 @@ snapshots: '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 + esbuild@0.21.0: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.0 + '@esbuild/android-arm': 0.21.0 + '@esbuild/android-arm64': 0.21.0 + '@esbuild/android-x64': 0.21.0 + '@esbuild/darwin-arm64': 0.21.0 + '@esbuild/darwin-x64': 0.21.0 + '@esbuild/freebsd-arm64': 0.21.0 + '@esbuild/freebsd-x64': 0.21.0 + '@esbuild/linux-arm': 0.21.0 + '@esbuild/linux-arm64': 0.21.0 + '@esbuild/linux-ia32': 0.21.0 + '@esbuild/linux-loong64': 0.21.0 + '@esbuild/linux-mips64el': 0.21.0 + '@esbuild/linux-ppc64': 0.21.0 + '@esbuild/linux-riscv64': 0.21.0 + '@esbuild/linux-s390x': 0.21.0 + '@esbuild/linux-x64': 0.21.0 + '@esbuild/netbsd-x64': 0.21.0 + '@esbuild/openbsd-x64': 0.21.0 + '@esbuild/sunos-x64': 0.21.0 + '@esbuild/win32-arm64': 0.21.0 + '@esbuild/win32-ia32': 0.21.0 + '@esbuild/win32-x64': 0.21.0 + escalade@3.1.1: {} escape-html@1.0.3: {} @@ -10658,12 +10896,12 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-import-x@0.5.0(eslint@9.1.1)(typescript@5.4.5): + eslint-plugin-import-x@0.5.0(eslint@9.2.0)(typescript@5.4.5): dependencies: - '@typescript-eslint/utils': 7.7.1(eslint@9.1.1)(typescript@5.4.5) + '@typescript-eslint/utils': 7.7.1(eslint@9.2.0)(typescript@5.4.5) debug: 4.3.4 doctrine: 3.0.0 - eslint: 9.1.1 + eslint: 9.2.0 eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.7.3 is-glob: 4.0.3 @@ -10673,14 +10911,14 @@ snapshots: - supports-color - typescript - eslint-plugin-jsdoc@48.2.3(eslint@9.1.1): + eslint-plugin-jsdoc@48.2.3(eslint@9.2.0): dependencies: '@es-joy/jsdoccomment': 0.42.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 debug: 4.3.4 escape-string-regexp: 4.0.0 - eslint: 9.1.1 + eslint: 9.2.0 esquery: 1.5.0 is-builtin-module: 3.2.1 semver: 7.6.0 @@ -10690,27 +10928,27 @@ snapshots: eslint-plugin-no-only-tests@3.1.0: {} - eslint-plugin-perfectionist@2.10.0(eslint@9.1.1)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.1.1)): + eslint-plugin-perfectionist@2.10.0(eslint@9.2.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.2.0)): dependencies: - '@typescript-eslint/utils': 7.7.1(eslint@9.1.1)(typescript@5.4.5) - eslint: 9.1.1 + '@typescript-eslint/utils': 7.7.1(eslint@9.2.0)(typescript@5.4.5) + eslint: 9.2.0 minimatch: 9.0.4 natural-compare-lite: 1.4.0 optionalDependencies: - vue-eslint-parser: 9.4.2(eslint@9.1.1) + vue-eslint-parser: 9.4.2(eslint@9.2.0) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-unicorn@52.0.0(eslint@9.1.1): + eslint-plugin-unicorn@52.0.0(eslint@9.2.0): dependencies: '@babel/helper-validator-identifier': 7.24.5 - '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.1) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) '@eslint/eslintrc': 2.1.4 ci-info: 4.0.0 clean-regexp: 1.0.0 core-js-compat: 3.34.0 - eslint: 9.1.1 + eslint: 9.2.0 esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -10724,16 +10962,16 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-vue@9.25.0(eslint@9.1.1): + eslint-plugin-vue@9.25.0(eslint@9.2.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.1) - eslint: 9.1.1 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) + eslint: 9.2.0 globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.16 semver: 7.6.0 - vue-eslint-parser: 9.4.2(eslint@9.1.1) + vue-eslint-parser: 9.4.2(eslint@9.2.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -10753,10 +10991,10 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-typegen@0.2.4(eslint@9.1.1): + eslint-typegen@0.2.4(eslint@9.2.0): dependencies: '@types/eslint': 8.56.10 - eslint: 9.1.1 + eslint: 9.2.0 json-schema-to-typescript-lite: 14.0.1 ohash: 1.1.3 @@ -10764,12 +11002,12 @@ snapshots: eslint-visitor-keys@4.0.0: {} - eslint@9.1.1: + eslint@9.2.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.1) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 3.0.2 - '@eslint/js': 9.1.1 + '@eslint/js': 9.2.0 '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.2.3 @@ -10955,11 +11193,11 @@ snapshots: flatted@3.3.1: {} - floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.26(typescript@5.4.5)): + floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)): dependencies: '@floating-ui/dom': 1.1.1 - vue: 3.4.26(typescript@5.4.5) - vue-resize: 2.0.0-alpha.1(vue@3.4.26(typescript@5.4.5)) + vue: 3.4.27(typescript@5.4.5) + vue-resize: 2.0.0-alpha.1(vue@3.4.27(typescript@5.4.5)) optionalDependencies: '@nuxt/kit': link:packages/kit @@ -11196,7 +11434,7 @@ snapshots: transitivePeerDependencies: - uWebSockets.js - happy-dom@14.7.1: + happy-dom@14.10.1: dependencies: entities: 4.5.0 webidl-conversions: 7.0.0 @@ -11627,7 +11865,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.12.8 + '@types/node': 20.12.10 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -11635,13 +11873,13 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.12.8 + '@types/node': 20.12.10 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.12.8 + '@types/node': 20.12.10 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -12880,7 +13118,7 @@ snapshots: mlly: 1.7.0 pathe: 1.1.2 - playwright-core@1.43.1: {} + playwright-core@1.44.0: {} pluralize@8.0.0: {} @@ -14196,11 +14434,11 @@ snapshots: node-fetch-native: 1.6.4 pathe: 1.1.2 - unhead@1.9.9: + unhead@1.9.10: dependencies: - '@unhead/dom': 1.9.9 - '@unhead/schema': 1.9.9 - '@unhead/shared': 1.9.9 + '@unhead/dom': 1.9.10 + '@unhead/schema': 1.9.10 + '@unhead/shared': 1.9.10 hookable: 5.5.3 unicode-emoji-modifier-base@1.0.0: {} @@ -14272,9 +14510,9 @@ snapshots: universalify@2.0.0: {} - unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0)): + unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)): dependencies: - '@unocss/astro': 0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0)) + '@unocss/astro': 0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) '@unocss/cli': 0.59.4(rollup@4.17.2) '@unocss/core': 0.59.4 '@unocss/extractor-arbitrary-variants': 0.59.4 @@ -14293,19 +14531,19 @@ snapshots: '@unocss/transformer-compile-class': 0.59.4 '@unocss/transformer-directives': 0.59.4 '@unocss/transformer-variant-group': 0.59.4 - '@unocss/vite': 0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0)) + '@unocss/vite': 0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: - vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - postcss - rollup - supports-color - unplugin-vue-router@0.7.0(rollup@4.17.2)(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)): + unplugin-vue-router@0.7.0(rollup@4.17.2)(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)): dependencies: '@babel/types': 7.24.5 '@rollup/pluginutils': 5.1.0(rollup@4.17.2) - '@vue-macros/common': 1.10.1(rollup@4.17.2)(vue@3.4.26(typescript@5.4.5)) + '@vue-macros/common': 1.10.1(rollup@4.17.2)(vue@3.4.27(typescript@5.4.5)) ast-walker-scope: 0.5.0(rollup@4.17.2) chokidar: 3.6.0 fast-glob: 3.3.2 @@ -14317,7 +14555,7 @@ snapshots: unplugin: 1.10.1 yaml: 2.3.4 optionalDependencies: - vue-router: 4.3.2(vue@3.4.26(typescript@5.4.5)) + vue-router: 4.3.2(vue@3.4.27(typescript@5.4.5)) transitivePeerDependencies: - rollup - vue @@ -14427,17 +14665,17 @@ snapshots: unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - vite-hot-client@0.2.3(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0)): + vite-hot-client@0.2.3(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)): dependencies: - vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) - vite-node@1.5.3(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0): + vite-node@1.5.3(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0): dependencies: cac: 6.7.14 debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - '@types/node' - less @@ -14448,13 +14686,13 @@ snapshots: - supports-color - terser - vite-node@1.6.0(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0): + vite-node@1.6.0(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0): dependencies: cac: 6.7.14 debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - '@types/node' - less @@ -14465,7 +14703,7 @@ snapshots: - supports-color - terser - vite-plugin-checker@0.6.4(eslint@9.1.1)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.16(typescript@5.4.5)): + vite-plugin-checker@0.6.4(eslint@9.2.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.16(typescript@5.4.5)): dependencies: '@babel/code-frame': 7.24.2 ansi-escapes: 4.3.2 @@ -14478,18 +14716,18 @@ snapshots: semver: 7.6.0 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 - vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 optionalDependencies: - eslint: 9.1.1 + eslint: 9.2.0 optionator: 0.9.3 typescript: 5.4.5 vue-tsc: 2.0.16(typescript@5.4.5) - vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0)): + vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)): dependencies: '@antfu/utils': 0.7.7 '@rollup/pluginutils': 5.1.0(rollup@4.17.2) @@ -14500,14 +14738,14 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) optionalDependencies: '@nuxt/kit': link:packages/kit transitivePeerDependencies: - rollup - supports-color - vite-plugin-vue-inspector@4.0.2(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0)): + vite-plugin-vue-inspector@4.0.2(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)): dependencies: '@babel/core': 7.24.5 '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.24.5) @@ -14515,27 +14753,27 @@ snapshots: '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.5) '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.5) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.5) - '@vue/compiler-dom': 3.4.26 + '@vue/compiler-dom': 3.4.27 kolorist: 1.8.0 magic-string: 0.30.10 - vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - supports-color - vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0): + vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0): dependencies: esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.17.2 optionalDependencies: - '@types/node': 20.12.8 + '@types/node': 20.12.10 fsevents: 2.3.3 sass: 1.69.4 terser: 5.27.0 - vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)): + vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)): dependencies: - '@nuxt/test-utils': 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) + '@nuxt/test-utils': 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -14552,7 +14790,7 @@ snapshots: - vue - vue-router - vitest@1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0): + vitest@1.5.3(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0): dependencies: '@vitest/expect': 1.5.3 '@vitest/runner': 1.5.3 @@ -14571,12 +14809,12 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.5.1 tinypool: 0.8.4 - vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) - vite-node: 1.5.3(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) + vite-node: 1.5.3(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.12.8 - happy-dom: 14.7.1 + '@types/node': 20.12.10 + happy-dom: 14.10.1 transitivePeerDependencies: - less - lightningcss @@ -14586,7 +14824,7 @@ snapshots: - supports-color - terser - vitest@1.6.0(@types/node@20.12.8)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0): + vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -14605,12 +14843,12 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.5.1 tinypool: 0.8.4 - vite: 5.2.11(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) - vite-node: 1.6.0(@types/node@20.12.8)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) + vite-node: 1.6.0(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.12.8 - happy-dom: 14.7.1 + '@types/node': 20.12.10 + happy-dom: 14.10.1 transitivePeerDependencies: - less - lightningcss @@ -14651,16 +14889,16 @@ snapshots: vue-component-type-helpers@2.0.6: {} - vue-demi@0.14.7(vue@3.4.26(typescript@5.4.5)): + vue-demi@0.14.7(vue@3.4.27(typescript@5.4.5)): dependencies: - vue: 3.4.26(typescript@5.4.5) + vue: 3.4.27(typescript@5.4.5) vue-devtools-stub@0.1.0: {} - vue-eslint-parser@9.4.2(eslint@9.1.1): + vue-eslint-parser@9.4.2(eslint@9.2.0): dependencies: debug: 4.3.4 - eslint: 9.1.1 + eslint: 9.2.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 @@ -14670,28 +14908,28 @@ snapshots: transitivePeerDependencies: - supports-color - vue-loader@17.4.2(@vue/compiler-sfc@3.4.26)(vue@3.4.26(typescript@5.4.5))(webpack@5.91.0): + vue-loader@17.4.2(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5))(webpack@5.91.0): dependencies: chalk: 4.1.2 hash-sum: 2.0.0 watchpack: 2.4.1 webpack: 5.91.0 optionalDependencies: - '@vue/compiler-sfc': 3.4.26 - vue: 3.4.26(typescript@5.4.5) + '@vue/compiler-sfc': 3.4.27 + vue: 3.4.27(typescript@5.4.5) - vue-observe-visibility@2.0.0-alpha.1(vue@3.4.26(typescript@5.4.5)): + vue-observe-visibility@2.0.0-alpha.1(vue@3.4.27(typescript@5.4.5)): dependencies: - vue: 3.4.26(typescript@5.4.5) + vue: 3.4.27(typescript@5.4.5) - vue-resize@2.0.0-alpha.1(vue@3.4.26(typescript@5.4.5)): + vue-resize@2.0.0-alpha.1(vue@3.4.27(typescript@5.4.5)): dependencies: - vue: 3.4.26(typescript@5.4.5) + vue: 3.4.27(typescript@5.4.5) - vue-router@4.3.2(vue@3.4.26(typescript@5.4.5)): + vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)): dependencies: '@vue/devtools-api': 6.5.1 - vue: 3.4.26(typescript@5.4.5) + vue: 3.4.27(typescript@5.4.5) vue-template-compiler@2.7.14: dependencies: @@ -14705,20 +14943,20 @@ snapshots: semver: 7.6.0 typescript: 5.4.5 - vue-virtual-scroller@2.0.0-beta.8(vue@3.4.26(typescript@5.4.5)): + vue-virtual-scroller@2.0.0-beta.8(vue@3.4.27(typescript@5.4.5)): dependencies: mitt: 2.1.0 - vue: 3.4.26(typescript@5.4.5) - vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.26(typescript@5.4.5)) - vue-resize: 2.0.0-alpha.1(vue@3.4.26(typescript@5.4.5)) + vue: 3.4.27(typescript@5.4.5) + vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.27(typescript@5.4.5)) + vue-resize: 2.0.0-alpha.1(vue@3.4.27(typescript@5.4.5)) - vue@3.4.26(typescript@5.4.5): + vue@3.4.27(typescript@5.4.5): dependencies: - '@vue/compiler-dom': 3.4.26 - '@vue/compiler-sfc': 3.4.26 - '@vue/runtime-dom': 3.4.26 - '@vue/server-renderer': 3.4.26(vue@3.4.26(typescript@5.4.5)) - '@vue/shared': 3.4.26 + '@vue/compiler-dom': 3.4.27 + '@vue/compiler-sfc': 3.4.27 + '@vue/runtime-dom': 3.4.27 + '@vue/server-renderer': 3.4.27(vue@3.4.27(typescript@5.4.5)) + '@vue/shared': 3.4.27 optionalDependencies: typescript: 5.4.5 diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 5ca9d6403..6f9dd4fe4 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -75,7 +75,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"527k"`) const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"76.0k"`) + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"76.1k"`) const packages = modules.files .filter(m => m.endsWith('package.json')) From 1c56008cfa130da53fe071dad5f74792fcf70eea Mon Sep 17 00:00:00 2001 From: AngelHdz Multimedia Date: Tue, 7 May 2024 07:54:41 -0400 Subject: [PATCH 011/127] docs: add missing options for `nuxi init` (#27051) --- docs/3.api/4.commands/init.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/3.api/4.commands/init.md b/docs/3.api/4.commands/init.md index 0514e24e9..52c739cf9 100644 --- a/docs/3.api/4.commands/init.md +++ b/docs/3.api/4.commands/init.md @@ -18,11 +18,17 @@ The `init` command initializes a fresh Nuxt project using [unjs/giget](https://g Option | Default | Description -------------------------|-----------------|------------------ +`--cwd` | | Current working directory +`--log-level` | | Log level `--template, -t` | `v3` | Specify template name or git repository to use as a template. Format is `gh:org/name` to use a custom github template. -`--force` | `false` | Force clone to any existing directory. -`--offline` | `false` | Do not attempt to download from github and only use local cache. -`--prefer-offline` | `false` | Try local cache first to download templates. -`--shell` | `false` | Open shell in cloned directory (experimental). +`--force, -f` | `false` | Force clone to any existing directory. +`--offline` | `false` | Force offline mode (do not attempt to download template from GitHub and only use local cache). +`--prefer-offline` | `false` | Prefer offline mode (try local cache first to download templates). +`--no-install` | `false` | Skip installing dependencies. +`--git-init` | `false` | Initialize git repository. +`--shell` | `false` | Start shell after installation in project directory (experimental). +`--package-manager` | `npm` | Package manager choice (npm, pnpm, yarn, bun). +`--dir` | | Project directory. ## Environment variables From 0b8a0ad242d7289aac2cd5467a011aa6df7e550f Mon Sep 17 00:00:00 2001 From: ynnsuis <110542210+sossost@users.noreply.github.com> Date: Tue, 7 May 2024 21:05:15 +0900 Subject: [PATCH 012/127] docs: update docs for `ignorePrefix` to clarify ignored files (#27065) --- packages/schema/src/config/common.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/schema/src/config/common.ts b/packages/schema/src/config/common.ts index c4fd5640a..a5bea18ae 100644 --- a/packages/schema/src/config/common.ts +++ b/packages/schema/src/config/common.ts @@ -397,8 +397,10 @@ export default defineUntypedSchema({ ignoreOptions: undefined, /** - * Any file in `pages/`, `layouts/`, `middleware/` or `store/` will be ignored during - * building if its filename starts with the prefix specified by `ignorePrefix`. + * Any file in `pages/`, `layouts/`, `middleware/`, and `public/` directories will be ignored during + * the build process if its filename starts with the prefix specified by `ignorePrefix`. This is intended to prevent + * certain files from being processed or served in the built application. + * By default, the `ignorePrefix` is set to '-', ignoring any files starting with '-'. */ ignorePrefix: { $resolve: val => val ?? '-', From 8fcf893f8bb8a650b1c3d18ba9f32264dc7d7a99 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 7 May 2024 13:30:01 +0100 Subject: [PATCH 013/127] docs: mention nightly release channel for unreleased features --- docs/2.guide/3.going-further/1.features.md | 2 +- docs/3.api/1.components/12.nuxt-route-announcer.md | 2 +- docs/3.api/2.composables/use-route-announcer.md | 2 +- packages/schema/src/config/experimental.ts | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/2.guide/3.going-further/1.features.md b/docs/2.guide/3.going-further/1.features.md index 9439d708b..721bc6a79 100644 --- a/docs/2.guide/3.going-further/1.features.md +++ b/docs/2.guide/3.going-further/1.features.md @@ -40,7 +40,7 @@ There is also a `future` namespace for early opting-in to new features that will ### compatibilityVersion ::important -This configuration option is available in Nuxt v3.12+. +This configuration option is available in Nuxt v3.12+ or in [the nightly release channel](/docs/guide/going-further/nightly-release-channel). :: This enables early access to Nuxt features or flags. diff --git a/docs/3.api/1.components/12.nuxt-route-announcer.md b/docs/3.api/1.components/12.nuxt-route-announcer.md index 671a1d3df..4f6e90862 100644 --- a/docs/3.api/1.components/12.nuxt-route-announcer.md +++ b/docs/3.api/1.components/12.nuxt-route-announcer.md @@ -11,7 +11,7 @@ links: --- ::important -This component will be available in Nuxt v3.12. +This component will be available in Nuxt v3.12 or in [the nightly release channel](/docs/guide/going-further/nightly-release-channel). :: ## Usage diff --git a/docs/3.api/2.composables/use-route-announcer.md b/docs/3.api/2.composables/use-route-announcer.md index f81059e20..c3272631f 100644 --- a/docs/3.api/2.composables/use-route-announcer.md +++ b/docs/3.api/2.composables/use-route-announcer.md @@ -11,7 +11,7 @@ links: --- ::important -This composable will be available in Nuxt v3.12. +This composable will be available in Nuxt v3.12 or in [the nightly release channel](/docs/guide/going-further/nightly-release-channel). :: ## Description diff --git a/packages/schema/src/config/experimental.ts b/packages/schema/src/config/experimental.ts index e98ca7feb..bdba88422 100644 --- a/packages/schema/src/config/experimental.ts +++ b/packages/schema/src/config/experimental.ts @@ -392,7 +392,7 @@ export default defineUntypedSchema({ * Whether to use `lodash.template` to compile Nuxt templates. * * This flag will be removed with the release of v4 and exists only for - * advance testing within Nuxt v3.12+. + * advance testing within Nuxt v3.12+ or in [the nightly release channel](/docs/guide/going-further/nightly-release-channel). */ compileTemplate: { async $resolve (val, get) { @@ -405,7 +405,7 @@ export default defineUntypedSchema({ * `importName` and `importSources`) when compiling Nuxt templates. * * This flag will be removed with the release of v4 and exists only for - * advance testing within Nuxt v3.12+. + * advance testing within Nuxt v3.12+ or in [the nightly release channel](/docs/guide/going-further/nightly-release-channel). */ templateUtils: { async $resolve (val, get) { @@ -417,7 +417,7 @@ export default defineUntypedSchema({ * Whether to provide relative paths in the `builder:watch` hook. * * This flag will be removed with the release of v4 and exists only for - * advance testing within Nuxt v3.12+. + * advance testing within Nuxt v3.12+ or in [the nightly release channel](/docs/guide/going-further/nightly-release-channel). */ relativeWatchPaths: { async $resolve (val, get) { From 9e8261a69c36728378c6fe9839affa4c42828fa4 Mon Sep 17 00:00:00 2001 From: Alex Liu Date: Tue, 7 May 2024 20:37:02 +0800 Subject: [PATCH 014/127] feat(nuxt): custom `renderSSRHeadOptions` config for `unhead` (#26989) --- docs/2.guide/3.going-further/1.features.md | 5 +++ .../nuxt/src/core/runtime/nitro/renderer.ts | 4 ++- packages/nuxt/src/head/module.ts | 13 +++++++- packages/schema/src/config/app.ts | 32 +++++++++++++++++++ packages/schema/src/config/experimental.ts | 5 +++ 5 files changed, 57 insertions(+), 2 deletions(-) diff --git a/docs/2.guide/3.going-further/1.features.md b/docs/2.guide/3.going-further/1.features.md index 721bc6a79..4ec31794a 100644 --- a/docs/2.guide/3.going-further/1.features.md +++ b/docs/2.guide/3.going-further/1.features.md @@ -69,6 +69,11 @@ export default defineNuxtConfig({ deep: true } } + }, + unhead: { + renderSSRHeadOptions: { + omitLineBreaks: false + } } }) ``` diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index e78d38fd0..15139600b 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -26,6 +26,8 @@ import { useNitroApp } from '#internal/nitro/app' // @ts-expect-error virtual file import unheadPlugins from '#internal/unhead-plugins.mjs' +// @ts-expect-error virtual file +import { renderSSRHeadOptions } from '#internal/unhead.config.mjs' import type { NuxtPayload, NuxtSSRContext } from '#app' // @ts-expect-error virtual file @@ -459,7 +461,7 @@ export default defineRenderHandler(async (event): Promise({ meta: { name: 'meta', }, @@ -68,9 +69,19 @@ export default import.meta.server ? [CapoPlugin({ track: true })] : [];` }, }) + addTemplate({ + filename: 'unhead.config.mjs', + getContents () { + return [ + `export const renderSSRHeadOptions = ${JSON.stringify(options.renderSSRHeadOptions || {})}`, + ].join('\n') + }, + }) + // template is only exposed in nuxt context, expose in nitro context as well nuxt.hooks.hook('nitro:config', (config) => { config.virtual!['#internal/unhead-plugins.mjs'] = () => nuxt.vfs['#build/unhead-plugins'] + config.virtual!['#internal/unhead.config.mjs'] = () => nuxt.vfs['#build/unhead.config'] }) // Add library-specific plugin diff --git a/packages/schema/src/config/app.ts b/packages/schema/src/config/app.ts index 340a507bc..f9ad11e8c 100644 --- a/packages/schema/src/config/app.ts +++ b/packages/schema/src/config/app.ts @@ -346,4 +346,36 @@ export default defineUntypedSchema({ css: { $resolve: (val: string[] | undefined) => (val ?? []).map((c: any) => c.src || c), }, + + /** + * An object that allows us to configure the `unhead` nuxt module. + */ + unhead: { + /** + * An object that will be passed to `renderSSRHead` to customize the output. + * + * @see https://unhead.unjs.io/setup/ssr/installation#options + * @type {typeof import('@unhead/schema').RenderSSRHeadOptions} + * + * @example + * ```ts + * export default defineNuxtConfig({ + * unhead: { + * renderSSRHeadOptions: { + * omitLineBreaks: true + * } + * }) + * ``` + * + */ + renderSSRHeadOptions: { + $resolve: async (val: Record | undefined, get) => { + const isV4 = ((await get('future') as Record).compatibilityVersion === 4) + + return defu(val, { + omitLineBreaks: isV4, + }) + }, + }, + }, }) diff --git a/packages/schema/src/config/experimental.ts b/packages/schema/src/config/experimental.ts index bdba88422..b50629cba 100644 --- a/packages/schema/src/config/experimental.ts +++ b/packages/schema/src/config/experimental.ts @@ -34,6 +34,11 @@ export default defineUntypedSchema({ * deep: true * } * } + * }, + * unhead: { + * renderSSRHeadOptions: { + * omitLineBreaks: false + * } * } * }) * ``` From 8e793ad5ccb285c429d2ab733600add981b2782c Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 7 May 2024 13:56:13 +0100 Subject: [PATCH 015/127] fix(nuxt): use resolved path for test component import --- packages/nuxt/src/app/components/test-component-wrapper.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/app/components/test-component-wrapper.ts b/packages/nuxt/src/app/components/test-component-wrapper.ts index 31520ae0b..1581e0936 100644 --- a/packages/nuxt/src/app/components/test-component-wrapper.ts +++ b/packages/nuxt/src/app/components/test-component-wrapper.ts @@ -16,9 +16,9 @@ export default (url: string) => defineComponent({ if (!path.startsWith(devRootDir)) { throw new Error(`[nuxt] Cannot access path outside of project root directory: \`${path}\`.`) } - const comp = await import(/* @vite-ignore */ query.path as string).then(r => r.default) + const comp = await import(/* @vite-ignore */ path as string).then(r => r.default) return () => [ - h('div', 'Component Test Wrapper for ' + query.path), + h('div', 'Component Test Wrapper for ' + path), h('div', { id: 'nuxt-component-root' }, [ h(comp, { ...attrs, ...props, ...urlProps }), ]), From 5f0693a69af167e96b85916969a2dd8aeac23b36 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 7 May 2024 14:14:02 +0100 Subject: [PATCH 016/127] fix(nuxt): use `URL` constructor to resolve external protocols --- packages/nuxt/src/app/composables/router.ts | 2 +- .../nuxt/src/app/plugins/cross-origin-prefetch.client.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/nuxt/src/app/composables/router.ts b/packages/nuxt/src/app/composables/router.ts index 072ff7615..85d967026 100644 --- a/packages/nuxt/src/app/composables/router.ts +++ b/packages/nuxt/src/app/composables/router.ts @@ -140,7 +140,7 @@ export const navigateTo = (to: RouteLocationRaw | undefined | null, options?: Na if (!options?.external) { throw new Error('Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.') } - const protocol = parseURL(toPath).protocol + const { protocol } = new URL(toPath) if (protocol && isScriptProtocol(protocol)) { throw new Error(`Cannot navigate to a URL with '${protocol}' protocol.`) } diff --git a/packages/nuxt/src/app/plugins/cross-origin-prefetch.client.ts b/packages/nuxt/src/app/plugins/cross-origin-prefetch.client.ts index 3ae277ab4..66788be26 100644 --- a/packages/nuxt/src/app/plugins/cross-origin-prefetch.client.ts +++ b/packages/nuxt/src/app/plugins/cross-origin-prefetch.client.ts @@ -1,8 +1,9 @@ import { ref } from 'vue' -import { parseURL } from 'ufo' import { useHead } from '@unhead/vue' import { defineNuxtPlugin } from '../nuxt' +const SUPPORTED_PROTOCOLS = ['http:', 'https:'] + export default defineNuxtPlugin({ name: 'nuxt:cross-origin-prefetch', setup (nuxtApp) { @@ -26,8 +27,7 @@ export default defineNuxtPlugin({ script: [generateRules()], }) nuxtApp.hook('link:prefetch', (url) => { - const { protocol } = parseURL(url) - if (protocol && ['http:', 'https:'].includes(protocol)) { + if (SUPPORTED_PROTOCOLS.some(p => url.startsWith(p)) && SUPPORTED_PROTOCOLS.includes(new URL(url).protocol)) { externalURLs.value.add(url) head?.patch({ script: [generateRules()], From ea22d3f988453e7a09de4eec2d3ca58f4892599c Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 7 May 2024 14:22:05 +0100 Subject: [PATCH 017/127] fix(nuxt): use `URL` for parsing URLs rather than `parseURL` --- packages/nuxt/src/app/components/nuxt-link.ts | 4 ++-- packages/nuxt/src/app/components/test-component-wrapper.ts | 3 +-- packages/nuxt/src/app/plugins/payload.client.ts | 4 ++-- packages/nuxt/src/app/plugins/router.ts | 4 ++-- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/packages/nuxt/src/app/components/nuxt-link.ts b/packages/nuxt/src/app/components/nuxt-link.ts index 6efcab60b..16116ebcf 100644 --- a/packages/nuxt/src/app/components/nuxt-link.ts +++ b/packages/nuxt/src/app/components/nuxt-link.ts @@ -8,7 +8,7 @@ import type { } from 'vue' import { computed, defineComponent, h, inject, onBeforeUnmount, onMounted, provide, ref, resolveComponent } from 'vue' import type { RouteLocation, RouteLocationRaw, Router, RouterLink, RouterLinkProps, useLink } from '#vue-router' -import { hasProtocol, joinURL, parseQuery, parseURL, withTrailingSlash, withoutTrailingSlash } from 'ufo' +import { hasProtocol, joinURL, parseQuery, withTrailingSlash, withoutTrailingSlash } from 'ufo' import { preloadRouteComponents } from '../composables/preload' import { onNuxtReady } from '../composables/ready' import { navigateTo, useRouter } from '../composables/router' @@ -392,7 +392,7 @@ export function defineNuxtLink (options: NuxtLinkOptions) { get route () { if (!href.value) { return undefined } - const url = parseURL(href.value) + const url = new URL(href.value, import.meta.client ? window.location.href : 'http://localhost') return { path: url.pathname, fullPath: url.pathname, diff --git a/packages/nuxt/src/app/components/test-component-wrapper.ts b/packages/nuxt/src/app/components/test-component-wrapper.ts index 1581e0936..8b0da2438 100644 --- a/packages/nuxt/src/app/components/test-component-wrapper.ts +++ b/packages/nuxt/src/app/components/test-component-wrapper.ts @@ -1,4 +1,3 @@ -import { parseURL } from 'ufo' import { defineComponent, h } from 'vue' import { parseQuery } from 'vue-router' import { resolve } from 'pathe' @@ -10,7 +9,7 @@ export default (url: string) => defineComponent({ name: 'NuxtTestComponentWrapper', async setup (props, { attrs }) { - const query = parseQuery(parseURL(url).search) + const query = parseQuery(new URL(url, 'http://localhost').search) const urlProps = query.props ? destr>(query.props as string) : {} const path = resolve(query.path as string) if (!path.startsWith(devRootDir)) { diff --git a/packages/nuxt/src/app/plugins/payload.client.ts b/packages/nuxt/src/app/plugins/payload.client.ts index c50b3bd45..3dc431e63 100644 --- a/packages/nuxt/src/app/plugins/payload.client.ts +++ b/packages/nuxt/src/app/plugins/payload.client.ts @@ -1,4 +1,3 @@ -import { parseURL } from 'ufo' import { defineNuxtPlugin } from '../nuxt' import { loadPayload } from '../composables/payload' import { onNuxtReady } from '../composables/ready' @@ -24,7 +23,8 @@ export default defineNuxtPlugin({ onNuxtReady(() => { // Load payload into cache nuxtApp.hooks.hook('link:prefetch', async (url) => { - if (!parseURL(url).protocol) { + const { protocol } = new URL(url, window.location.href) + if (!protocol) { await loadPayload(url) } }) diff --git a/packages/nuxt/src/app/plugins/router.ts b/packages/nuxt/src/app/plugins/router.ts index 38c93085d..8fc32754b 100644 --- a/packages/nuxt/src/app/plugins/router.ts +++ b/packages/nuxt/src/app/plugins/router.ts @@ -1,6 +1,6 @@ import type { Ref } from 'vue' import { computed, defineComponent, h, isReadonly, reactive } from 'vue' -import { isEqual, joinURL, parseQuery, parseURL, stringifyParsedURL, stringifyQuery, withoutBase } from 'ufo' +import { isEqual, joinURL, parseQuery, stringifyParsedURL, stringifyQuery, withoutBase } from 'ufo' import { createError } from 'h3' import { defineNuxtPlugin, useRuntimeConfig } from '../nuxt' import { getRouteRules } from '../composables/manifest' @@ -45,7 +45,7 @@ function getRouteFromPath (fullPath: string | Partial) { }) } - const url = parseURL(fullPath.toString()) + const url = new URL(fullPath.toString(), import.meta.client ? window.location.href : 'http://localhost') return { path: url.pathname, fullPath, From 233b6a717f99f7bd3c780eabcd8918e8f06a037a Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 7 May 2024 15:01:03 +0100 Subject: [PATCH 018/127] style: lint --- packages/nuxt/src/app/composables/router.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/app/composables/router.ts b/packages/nuxt/src/app/composables/router.ts index 85d967026..888a39277 100644 --- a/packages/nuxt/src/app/composables/router.ts +++ b/packages/nuxt/src/app/composables/router.ts @@ -2,7 +2,7 @@ import { getCurrentInstance, hasInjectionContext, inject, onScopeDispose } from import type { Ref } from 'vue' import type { NavigationFailure, NavigationGuard, RouteLocationNormalized, RouteLocationPathRaw, RouteLocationRaw, Router, useRoute as _useRoute, useRouter as _useRouter } from '#vue-router' import { sanitizeStatusCode } from 'h3' -import { hasProtocol, isScriptProtocol, joinURL, parseURL, withQuery } from 'ufo' +import { hasProtocol, isScriptProtocol, joinURL, withQuery } from 'ufo' import type { PageMeta } from '../../pages/runtime/composables' From 3169c5cec718c8c8306c463d0fde297bff11ac21 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 7 May 2024 15:04:21 +0100 Subject: [PATCH 019/127] feat(nuxt): add `onPrehydrate` lifecycle hook (#27037) --- docs/3.api/2.composables/on-prehydrate.md | 61 +++++++++++++++++ packages/nuxt/src/app/composables/index.ts | 2 +- packages/nuxt/src/app/composables/ssr.ts | 47 +++++++++++++ packages/nuxt/src/core/nuxt.ts | 4 ++ packages/nuxt/src/core/plugins/prehydrate.ts | 67 +++++++++++++++++++ packages/nuxt/src/imports/presets.ts | 2 +- packages/schema/src/config/build.ts | 2 +- test/basic.test.ts | 27 ++++++++ .../basic/pages/composables/on-prehydrate.vue | 22 ++++++ test/nuxt/composables.test.ts | 1 + 10 files changed, 232 insertions(+), 3 deletions(-) create mode 100644 docs/3.api/2.composables/on-prehydrate.md create mode 100644 packages/nuxt/src/core/plugins/prehydrate.ts create mode 100644 test/fixtures/basic/pages/composables/on-prehydrate.vue diff --git a/docs/3.api/2.composables/on-prehydrate.md b/docs/3.api/2.composables/on-prehydrate.md new file mode 100644 index 000000000..79073123a --- /dev/null +++ b/docs/3.api/2.composables/on-prehydrate.md @@ -0,0 +1,61 @@ +--- +title: "onPrehydrate" +description: "Use onPrehydrate to run a callback on the client immediately before +Nuxt hydrates the page." +links: + - label: Source + icon: i-simple-icons-github + to: https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/app/composables/ssr.ts + size: xs +--- + +::important +This composable will be available in Nuxt v3.12+ or in [the nightly release channel](/docs/guide/going-further/nightly-release-channel). +:: + +`onPrehydrate` is a composable lifecycle hook that allows you to run a callback on the client immediately before +Nuxt hydrates the page. + +::note +This is an advanced utility and should be used with care. For example, [`nuxt-time`](https://github.com/danielroe/nuxt-time/pull/251) and [`@nuxtjs/color-mode`](https://github.com/nuxt-modules/color-mode/blob/main/src/script.js) manipulate the DOM to avoid hydration mismatches. +:: + +## Usage + +`onPrehydrate` can be called directly in the setup function of a Vue component (for example, in ` + + +``` diff --git a/packages/nuxt/src/app/composables/index.ts b/packages/nuxt/src/app/composables/index.ts index d5058ecb9..dbb5e9607 100644 --- a/packages/nuxt/src/app/composables/index.ts +++ b/packages/nuxt/src/app/composables/index.ts @@ -24,7 +24,7 @@ export { useFetch, useLazyFetch } from './fetch' export type { FetchResult, UseFetchOptions } from './fetch' export { useCookie, refreshCookie } from './cookie' export type { CookieOptions, CookieRef } from './cookie' -export { prerenderRoutes, useRequestHeaders, useRequestEvent, useRequestFetch, setResponseStatus } from './ssr' +export { onPrehydrate, prerenderRoutes, useRequestHeaders, useRequestEvent, useRequestFetch, setResponseStatus } from './ssr' export { onNuxtReady } from './ready' export { abortNavigation, addRouteMiddleware, defineNuxtRouteMiddleware, onBeforeRouteLeave, onBeforeRouteUpdate, setPageLayout, navigateTo, useRoute, useRouter } from './router' export type { AddRouteMiddlewareOptions, RouteMiddleware } from './router' diff --git a/packages/nuxt/src/app/composables/ssr.ts b/packages/nuxt/src/app/composables/ssr.ts index 8509e968b..56f338310 100644 --- a/packages/nuxt/src/app/composables/ssr.ts +++ b/packages/nuxt/src/app/composables/ssr.ts @@ -1,5 +1,8 @@ import type { H3Event } from 'h3' import { setResponseStatus as _setResponseStatus, appendHeader, getRequestHeader, getRequestHeaders } from 'h3' +import { getCurrentInstance } from 'vue' +import { useServerHead } from '@unhead/vue' + import type { NuxtApp } from '../nuxt' import { useNuxtApp } from '../nuxt' import { toArray } from '../utils' @@ -65,3 +68,47 @@ export function prerenderRoutes (path: string | string[]) { const paths = toArray(path) appendHeader(useRequestEvent()!, 'x-nitro-prerender', paths.map(p => encodeURIComponent(p)).join(', ')) } + +const PREHYDRATE_ATTR_KEY = 'data-prehydrate-id' + +/** + * `onPrehydrate` is a composable lifecycle hook that allows you to run a callback on the client immediately before + * Nuxt hydrates the page. This is an advanced feature. + * + * The callback will be stringified and inlined in the HTML so it should not have any external + * dependencies (such as auto-imports) or refer to variables defined outside the callback. + * + * The callback will run before Nuxt runtime initializes so it should not rely on the Nuxt or Vue context. + * @since 3.12.0 + */ +export function onPrehydrate (callback: (el: HTMLElement) => void): void +export function onPrehydrate (callback: string | ((el: HTMLElement) => void), key?: string): undefined | string { + if (import.meta.client) { return } + + if (typeof callback !== 'string') { + throw new TypeError('[nuxt] To transform a callback into a string, `onPrehydrate` must be processed by the Nuxt build pipeline. If it is called in a third-party library, make sure to add the library to `build.transpile`.') + } + + const vm = getCurrentInstance() + if (vm && key) { + vm.attrs[PREHYDRATE_ATTR_KEY] ||= '' + key = ':' + key + ':' + if (!(vm.attrs[PREHYDRATE_ATTR_KEY] as string).includes(key)) { + vm.attrs[PREHYDRATE_ATTR_KEY] += key + } + } + const code = vm && key + ? `document.querySelectorAll('[${PREHYDRATE_ATTR_KEY}*=${JSON.stringify(key)}]').forEach` + callback + : (callback + '()') + + useServerHead({ + script: [{ + key: vm && key ? key : code, + tagPosition: 'bodyClose', + tagPriority: 'critical', + innerHTML: code, + }], + }) + + return vm && key ? vm.attrs[PREHYDRATE_ATTR_KEY] as string : undefined +} diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index 31ead96d8..fe2c18908 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -34,6 +34,7 @@ import schemaModule from './schema' import { RemovePluginMetadataPlugin } from './plugins/plugin-metadata' import { AsyncContextInjectionPlugin } from './plugins/async-context' import { resolveDeepImportsPlugin } from './plugins/resolve-deep-imports' +import { prehydrateTransformPlugin } from './plugins/prehydrate' export function createNuxt (options: NuxtOptions): Nuxt { const hooks = createHooks() @@ -150,6 +151,9 @@ async function initNuxt (nuxt: Nuxt) { // add resolver for modules used in virtual files addVitePlugin(() => resolveDeepImportsPlugin(nuxt)) + // Add transform for `onPrehydrate` lifecycle hook + addBuildPlugin(prehydrateTransformPlugin(nuxt)) + if (nuxt.options.experimental.localLayerAliases) { // Add layer aliasing support for ~, ~~, @ and @@ aliases addVitePlugin(() => LayerAliasingPlugin.vite({ diff --git a/packages/nuxt/src/core/plugins/prehydrate.ts b/packages/nuxt/src/core/plugins/prehydrate.ts new file mode 100644 index 000000000..e47fa3883 --- /dev/null +++ b/packages/nuxt/src/core/plugins/prehydrate.ts @@ -0,0 +1,67 @@ +import { transform } from 'esbuild' +import { parse } from 'acorn' +import { walk } from 'estree-walker' +import type { Node } from 'estree-walker' +import type { Nuxt } from '@nuxt/schema' +import { createUnplugin } from 'unplugin' +import type { SimpleCallExpression } from 'estree' +import MagicString from 'magic-string' + +import { hash } from 'ohash' +import { isJS, isVue } from '../utils' + +export function prehydrateTransformPlugin (nuxt: Nuxt) { + return createUnplugin(() => ({ + name: 'nuxt:prehydrate-transform', + transformInclude (id) { + return isJS(id) || isVue(id, { type: ['script'] }) + }, + async transform (code, id) { + if (!code.includes('onPrehydrate(')) { return } + + const s = new MagicString(code) + const promises: Array> = [] + + walk(parse(code, { + sourceType: 'module', + ecmaVersion: 'latest', + ranges: true, + }) as Node, { + enter (_node) { + if (_node.type !== 'CallExpression' || _node.callee.type !== 'Identifier') { return } + const node = _node as SimpleCallExpression & { start: number, end: number } + const name = 'name' in node.callee && node.callee.name + if (name === 'onPrehydrate') { + if (node.arguments[0].type !== 'ArrowFunctionExpression' && node.arguments[0].type !== 'FunctionExpression') { return } + + const needsAttr = node.arguments[0].params.length > 0 + const { start, end } = node.arguments[0] as Node & { start: number, end: number } + + const p = transform(`forEach(${code.slice(start, end)})`, { loader: 'ts', minify: true }) + promises.push(p.then(({ code: result }) => { + const cleaned = result.slice('forEach'.length).replace(/;\s+$/, '') + const args = [JSON.stringify(cleaned)] + if (needsAttr) { + args.push(JSON.stringify(hash(result))) + } + s.overwrite(start, end, args.join(', ')) + })) + } + }, + }) + + await Promise.all(promises).catch((e) => { + console.error(`[nuxt] Could not transform onPrehydrate in \`${id}\`:`, e) + }) + + if (s.hasChanged()) { + return { + code: s.toString(), + map: nuxt.options.sourcemap.server || nuxt.options.sourcemap.client + ? s.generateMap({ hires: true }) + : undefined, + } + } + }, + })) +} diff --git a/packages/nuxt/src/imports/presets.ts b/packages/nuxt/src/imports/presets.ts index 838773740..aeb0a7bf6 100644 --- a/packages/nuxt/src/imports/presets.ts +++ b/packages/nuxt/src/imports/presets.ts @@ -66,7 +66,7 @@ const granularAppPresets: InlinePreset[] = [ from: '#app/composables/cookie', }, { - imports: ['prerenderRoutes', 'useRequestHeader', 'useRequestHeaders', 'useRequestEvent', 'useRequestFetch', 'setResponseStatus'], + imports: ['onPrehydrate', 'prerenderRoutes', 'useRequestHeader', 'useRequestHeaders', 'useRequestEvent', 'useRequestFetch', 'setResponseStatus'], from: '#app/composables/ssr', }, { diff --git a/packages/schema/src/config/build.ts b/packages/schema/src/config/build.ts index cd51c29fd..5be66f821 100644 --- a/packages/schema/src/config/build.ts +++ b/packages/schema/src/config/build.ts @@ -176,7 +176,7 @@ export default defineUntypedSchema({ ? {} : { 'vue': ['onRenderTracked', 'onRenderTriggered', 'onServerPrefetch'], - '#app': ['definePayloadReducer', 'definePageMeta'], + '#app': ['definePayloadReducer', 'definePageMeta', 'onPrehydrate'], }, ), }, diff --git a/test/basic.test.ts b/test/basic.test.ts index f35940d51..81f8ff916 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -577,6 +577,33 @@ describe('nuxt composables', () => { await page.close() }) + it('supports onPrehydrate', async () => { + const html = await $fetch('/composables/on-prehydrate') as string + /** + * Should look something like this: + * + * ```html + *
onPrehydrate testing
+ * + * + * + * ``` + */ + const { id1, id2 } = html.match(/]* data-prehydrate-id=":(?[^:]+)::(?[^:]+):"> onPrehydrate testing <\/div>/)?.groups || {} + expect(id1).toBeTruthy() + const matches = [ + html.match(/]*>\(\(\)=>{console.log\(window\)}\)\(\)<\/script>/), + html.match(new RegExp(`]*>document.querySelectorAll\\('\\[data-prehydrate-id\\*=":${id1}:"]'\\).forEach\\(o=>{console.log\\(o.outerHTML\\)}\\)`)), + html.match(new RegExp(`]*>document.querySelectorAll\\('\\[data-prehydrate-id\\*=":${id2}:"]'\\).forEach\\(o=>{console.log\\("other",o.outerHTML\\)}\\)`)), + ] + + // This tests we inject all scripts correctly, and only have one occurrence of multiple calls of a composable + expect(matches.every(s => s?.length === 1)).toBeTruthy() + + // Check for hydration/syntax errors on client side + await expectNoClientErrors('/composables/on-prehydrate') + }) + it('respects preview mode with a token', async () => { const token = 'hehe' const page = await createPage(`/preview?preview=true&token=${token}`) diff --git a/test/fixtures/basic/pages/composables/on-prehydrate.vue b/test/fixtures/basic/pages/composables/on-prehydrate.vue new file mode 100644 index 000000000..ceaf066aa --- /dev/null +++ b/test/fixtures/basic/pages/composables/on-prehydrate.vue @@ -0,0 +1,22 @@ + + + diff --git a/test/nuxt/composables.test.ts b/test/nuxt/composables.test.ts index ecd504236..5c20e9a03 100644 --- a/test/nuxt/composables.test.ts +++ b/test/nuxt/composables.test.ts @@ -100,6 +100,7 @@ describe('composables', () => { 'preloadRouteComponents', 'reloadNuxtApp', 'refreshCookie', + 'onPrehydrate', 'useFetch', 'useHead', 'useLazyFetch', From bff1ec237b62e534ce5d5c5b42b6064dcffae9aa Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 7 May 2024 15:07:18 +0100 Subject: [PATCH 020/127] fix(nuxt): deprecate `process.*` flags (#27089) --- packages/nuxt/src/app/types/augments.d.ts | 29 +++++++++++++++-------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/packages/nuxt/src/app/types/augments.d.ts b/packages/nuxt/src/app/types/augments.d.ts index e9ea30b92..7779ba242 100644 --- a/packages/nuxt/src/app/types/augments.d.ts +++ b/packages/nuxt/src/app/types/augments.d.ts @@ -1,20 +1,29 @@ import type { UseHeadInput } from '@unhead/vue' import type { NuxtApp, useNuxtApp } from '../nuxt' -interface NuxtStaticBuildFlags { - browser: boolean - client: boolean - dev: boolean - server: boolean - test: boolean -} - declare global { namespace NodeJS { - interface Process extends NuxtStaticBuildFlags {} + interface Process { + /** @deprecated Use `import.meta.browser` instead. This may be removed in Nuxt v5 or a future major version. */ + browser: boolean + /** @deprecated Use `import.meta.client` instead. This may be removed in Nuxt v5 or a future major version. */ + client: boolean + /** @deprecated Use `import.meta.dev` instead. This may be removed in Nuxt v5 or a future major version. */ + dev: boolean + /** @deprecated Use `import.meta.server` instead. This may be removed in Nuxt v5 or a future major version. */ + server: boolean + /** @deprecated Use `import.meta.test` instead. This may be removed in Nuxt v5 or a future major version. */ + test: boolean + } } - interface ImportMeta extends NuxtStaticBuildFlags {} + interface ImportMeta extends NuxtStaticBuildFlags { + browser: boolean + client: boolean + dev: boolean + server: boolean + test: boolean + } interface Window { __NUXT__?: Record From 8bdd620ba174c7cbf508cfcc70a0ef9cb9703ac0 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 7 May 2024 15:14:25 +0100 Subject: [PATCH 021/127] fix(nuxt): provide default url for URL constructor --- packages/nuxt/src/app/composables/router.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/app/composables/router.ts b/packages/nuxt/src/app/composables/router.ts index 888a39277..750a1aeaf 100644 --- a/packages/nuxt/src/app/composables/router.ts +++ b/packages/nuxt/src/app/composables/router.ts @@ -140,7 +140,7 @@ export const navigateTo = (to: RouteLocationRaw | undefined | null, options?: Na if (!options?.external) { throw new Error('Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.') } - const { protocol } = new URL(toPath) + const { protocol } = new URL(toPath, import.meta.client ? window.location.href : 'http://localhost') if (protocol && isScriptProtocol(protocol)) { throw new Error(`Cannot navigate to a URL with '${protocol}' protocol.`) } From c065505e1b82e6085ae142b6a8e2aacef11b403b Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 7 May 2024 15:20:24 +0100 Subject: [PATCH 022/127] fix(nuxt): preload links with same hostname --- packages/nuxt/src/app/plugins/payload.client.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/app/plugins/payload.client.ts b/packages/nuxt/src/app/plugins/payload.client.ts index 3dc431e63..48486c1a3 100644 --- a/packages/nuxt/src/app/plugins/payload.client.ts +++ b/packages/nuxt/src/app/plugins/payload.client.ts @@ -23,8 +23,8 @@ export default defineNuxtPlugin({ onNuxtReady(() => { // Load payload into cache nuxtApp.hooks.hook('link:prefetch', async (url) => { - const { protocol } = new URL(url, window.location.href) - if (!protocol) { + const { hostname } = new URL(url, window.location.href) + if (hostname === window.location.hostname) { await loadPayload(url) } }) From 4bf6060db6ff1fcc4d2fbdd798be622d68c5ee67 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 17:51:25 +0100 Subject: [PATCH 023/127] chore(deps): update dependency css-minimizer-webpack-plugin to v7 (main) (#27090) --- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 395 +--------------------------------- 2 files changed, 7 insertions(+), 390 deletions(-) diff --git a/packages/webpack/package.json b/packages/webpack/package.json index adf1eda62..1fab46729 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -29,7 +29,7 @@ "@nuxt/kit": "workspace:*", "autoprefixer": "^10.4.19", "css-loader": "^7.1.1", - "css-minimizer-webpack-plugin": "^6.0.0", + "css-minimizer-webpack-plugin": "^7.0.0", "cssnano": "^7.0.1", "defu": "^6.1.4", "esbuild-loader": "^4.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b134e6948..a48146939 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -739,8 +739,8 @@ importers: specifier: ^7.1.1 version: 7.1.1(webpack@5.91.0) css-minimizer-webpack-plugin: - specifier: ^6.0.0 - version: 6.0.0(webpack@5.91.0) + specifier: ^7.0.0 + version: 7.0.0(webpack@5.91.0) cssnano: specifier: ^7.0.1 version: 7.0.1(postcss@8.4.38) @@ -3511,8 +3511,8 @@ packages: webpack: optional: true - css-minimizer-webpack-plugin@6.0.0: - resolution: {integrity: sha512-BLpR9CCDkKvhO3i0oZQgad6v9pCxUuhSc5RT6iUEy9M8hBXi4TJb5vqF2GQ2deqYHmRi3O6IR9hgAZQWg0EBwA==} + css-minimizer-webpack-plugin@7.0.0: + resolution: {integrity: sha512-niy66jxsQHqO+EYbhPuIhqRQ1mNcNVUHrMnkzzir9kFOERJUaQDDRhh7dKDz33kBpkWMF9M8Vx0QlDbc5AHOsw==} engines: {node: '>= 18.12.0'} peerDependencies: '@parcel/css': '*' @@ -3556,36 +3556,18 @@ packages: engines: {node: '>=4'} hasBin: true - cssnano-preset-default@6.1.2: - resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - cssnano-preset-default@7.0.1: resolution: {integrity: sha512-Fumyr+uZMcjYQeuHssAZxn0cKj3cdQc5GcxkBcmEzISGB+UW9CLNlU4tBOJbJGcPukFDlicG32eFbrc8K9V5pw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - cssnano-utils@4.0.2: - resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - cssnano-utils@5.0.0: resolution: {integrity: sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - cssnano@6.1.2: - resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - cssnano@7.0.1: resolution: {integrity: sha512-917Mej/4SdI7b55atsli3sU4MOJ9XDoKgnlCtQtXYj8XUFcM3riTuYHyqBBnnskawW+zWwp0KxJzpEUodlpqUg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} @@ -5713,78 +5695,36 @@ packages: peerDependencies: postcss: ^8.4.38 - postcss-calc@9.0.1: - resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.2 - - postcss-colormin@6.1.0: - resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-colormin@7.0.0: resolution: {integrity: sha512-5CN6fqtsEtEtwf3mFV3B4UaZnlYljPpzmGeDB4yCK067PnAtfLe9uX2aFZaEwxHE7HopG5rUkW8gyHrNAesHEg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-convert-values@6.1.0: - resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-convert-values@7.0.0: resolution: {integrity: sha512-bMuzDgXBbFbByPgj+/r6va8zNuIDUaIIbvAFgdO1t3zdgJZ77BZvu6dfWyd6gHEJnYzmeVr9ayUsAQL3/qLJ0w==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-discard-comments@6.0.2: - resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-discard-comments@7.0.0: resolution: {integrity: sha512-xpSdzRqYmy4YIVmjfGyYXKaI1SRnK6CTr+4Zmvyof8ANwvgfZgGdVtmgAvzh59gJm808mJCWQC9tFN0KF5dEXA==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-discard-duplicates@6.0.3: - resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-discard-duplicates@7.0.0: resolution: {integrity: sha512-bAnSuBop5LpAIUmmOSsuvtKAAKREB6BBIYStWUTGq8oG5q9fClDMMuY8i4UPI/cEcDx2TN+7PMnXYIId20UVDw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-discard-empty@6.0.3: - resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-discard-empty@7.0.0: resolution: {integrity: sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-discard-overridden@6.0.2: - resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-discard-overridden@7.0.0: resolution: {integrity: sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} @@ -5816,72 +5756,36 @@ packages: postcss-media-query-parser@0.2.3: resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==} - postcss-merge-longhand@6.0.5: - resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-merge-longhand@7.0.0: resolution: {integrity: sha512-0X8I4/9+G03X5/5NnrfopG/YEln2XU8heDh7YqBaiq2SeaKIG3n66ShZPjIolmVuLBQ0BEm3yS8o1mlCLHdW7A==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-merge-rules@6.1.1: - resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-merge-rules@7.0.0: resolution: {integrity: sha512-Zty3VlOsD6VSjBMu6PiHCVpLegtBT/qtZRVBcSeyEZ6q1iU5qTYT0WtEoLRV+YubZZguS5/ycfP+NRiKfjv6aw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-minify-font-values@6.1.0: - resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-minify-font-values@7.0.0: resolution: {integrity: sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-minify-gradients@6.0.3: - resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-minify-gradients@7.0.0: resolution: {integrity: sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-minify-params@6.1.0: - resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-minify-params@7.0.0: resolution: {integrity: sha512-XOJAuX8Q/9GT1sGxlUvaFEe2H9n50bniLZblXXsAT/BwSfFYvzSZeFG7uupwc0KbKpTnflnQ7aMwGzX6JUWliQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-minify-selectors@6.0.4: - resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-minify-selectors@7.0.0: resolution: {integrity: sha512-f00CExZhD6lNw2vTZbcnmfxVgaVKzUw6IRsIFX3JTT8GdsoABc1WnhhGwL1i8YPJ3sSWw39fv7XPtvLb+3Uitw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} @@ -5912,144 +5816,72 @@ packages: peerDependencies: postcss: ^8.1.0 - postcss-normalize-charset@6.0.2: - resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-normalize-charset@7.0.0: resolution: {integrity: sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-normalize-display-values@6.0.2: - resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-normalize-display-values@7.0.0: resolution: {integrity: sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-normalize-positions@6.0.2: - resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-normalize-positions@7.0.0: resolution: {integrity: sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-normalize-repeat-style@6.0.2: - resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-normalize-repeat-style@7.0.0: resolution: {integrity: sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-normalize-string@6.0.2: - resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-normalize-string@7.0.0: resolution: {integrity: sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-normalize-timing-functions@6.0.2: - resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-normalize-timing-functions@7.0.0: resolution: {integrity: sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-normalize-unicode@6.1.0: - resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-normalize-unicode@7.0.0: resolution: {integrity: sha512-OnKV52/VFFDAim4n0pdI+JAhsolLBdnCKxE6VV5lW5Q/JeVGFN8UM8ur6/A3EAMLsT1ZRm3fDHh/rBoBQpqi2w==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-normalize-url@6.0.2: - resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-normalize-url@7.0.0: resolution: {integrity: sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-normalize-whitespace@6.0.2: - resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-normalize-whitespace@7.0.0: resolution: {integrity: sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-ordered-values@6.0.2: - resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-ordered-values@7.0.0: resolution: {integrity: sha512-KROvC63A8UQW1eYDljQe1dtwc1E/M+mMwDT6z7khV/weHYLWTghaLRLunU7x1xw85lWFwVZOAGakxekYvKV+0w==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-reduce-initial@6.1.0: - resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-reduce-initial@7.0.0: resolution: {integrity: sha512-iqGgmBxY9LrblZ0BKLjmrA1mC/cf9A/wYCCqSmD6tMi+xAyVl0+DfixZIHSVDMbCPRPjNmVF0DFGth/IDGelFQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-reduce-transforms@6.0.2: - resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-reduce-transforms@7.0.0: resolution: {integrity: sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} @@ -6060,24 +5892,12 @@ packages: resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} engines: {node: '>=4'} - postcss-svgo@6.0.3: - resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} - engines: {node: ^14 || ^16 || >= 18} - peerDependencies: - postcss: ^8.4.31 - postcss-svgo@7.0.0: resolution: {integrity: sha512-Xj5DRdvA97yRy3wjbCH2NKXtDUwEnph6EHr5ZXszsBVKCNrKXYBjzAXqav7/Afz5WwJ/1peZoTguCEJIg7ytmA==} engines: {node: ^18.12.0 || ^20.9.0 || >= 18} peerDependencies: postcss: ^8.4.31 - postcss-unique-selectors@6.0.4: - resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-unique-selectors@7.0.0: resolution: {integrity: sha512-NYFqcft7vVQMZlQPsMdMPy+qU/zDpy95Malpw4GeA9ZZjM6dVXDshXtDmLc0m4WCD6XeZCJqjTfPT1USsdt+rA==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} @@ -6688,12 +6508,6 @@ packages: strip-literal@2.1.0: resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} - stylehacks@6.1.1: - resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - stylehacks@7.0.0: resolution: {integrity: sha512-47Nw4pQ6QJb4CA6dzF2m9810sjQik4dfk4UwAm5wlwhrW3syzZKF8AR4/cfO3Cr6lsFgAoznQq0Wg57qhjTA2A==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} @@ -10392,10 +10206,10 @@ snapshots: optionalDependencies: webpack: 5.91.0 - css-minimizer-webpack-plugin@6.0.0(webpack@5.91.0): + css-minimizer-webpack-plugin@7.0.0(webpack@5.91.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 - cssnano: 6.1.2(postcss@8.4.38) + cssnano: 7.0.1(postcss@8.4.38) jest-worker: 29.7.0 postcss: 8.4.38 schema-utils: 4.2.0 @@ -10424,40 +10238,6 @@ snapshots: cssesc@3.0.0: {} - cssnano-preset-default@6.1.2(postcss@8.4.38): - dependencies: - browserslist: 4.23.0 - css-declaration-sorter: 7.2.0(postcss@8.4.38) - cssnano-utils: 4.0.2(postcss@8.4.38) - postcss: 8.4.38 - postcss-calc: 9.0.1(postcss@8.4.38) - postcss-colormin: 6.1.0(postcss@8.4.38) - postcss-convert-values: 6.1.0(postcss@8.4.38) - postcss-discard-comments: 6.0.2(postcss@8.4.38) - postcss-discard-duplicates: 6.0.3(postcss@8.4.38) - postcss-discard-empty: 6.0.3(postcss@8.4.38) - postcss-discard-overridden: 6.0.2(postcss@8.4.38) - postcss-merge-longhand: 6.0.5(postcss@8.4.38) - postcss-merge-rules: 6.1.1(postcss@8.4.38) - postcss-minify-font-values: 6.1.0(postcss@8.4.38) - postcss-minify-gradients: 6.0.3(postcss@8.4.38) - postcss-minify-params: 6.1.0(postcss@8.4.38) - postcss-minify-selectors: 6.0.4(postcss@8.4.38) - postcss-normalize-charset: 6.0.2(postcss@8.4.38) - postcss-normalize-display-values: 6.0.2(postcss@8.4.38) - postcss-normalize-positions: 6.0.2(postcss@8.4.38) - postcss-normalize-repeat-style: 6.0.2(postcss@8.4.38) - postcss-normalize-string: 6.0.2(postcss@8.4.38) - postcss-normalize-timing-functions: 6.0.2(postcss@8.4.38) - postcss-normalize-unicode: 6.1.0(postcss@8.4.38) - postcss-normalize-url: 6.0.2(postcss@8.4.38) - postcss-normalize-whitespace: 6.0.2(postcss@8.4.38) - postcss-ordered-values: 6.0.2(postcss@8.4.38) - postcss-reduce-initial: 6.1.0(postcss@8.4.38) - postcss-reduce-transforms: 6.0.2(postcss@8.4.38) - postcss-svgo: 6.0.3(postcss@8.4.38) - postcss-unique-selectors: 6.0.4(postcss@8.4.38) - cssnano-preset-default@7.0.1(postcss@8.4.38): dependencies: browserslist: 4.23.0 @@ -10492,20 +10272,10 @@ snapshots: postcss-svgo: 7.0.0(postcss@8.4.38) postcss-unique-selectors: 7.0.0(postcss@8.4.38) - cssnano-utils@4.0.2(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - cssnano-utils@5.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 - cssnano@6.1.2(postcss@8.4.38): - dependencies: - cssnano-preset-default: 6.1.2(postcss@8.4.38) - lilconfig: 3.1.1 - postcss: 8.4.38 - cssnano@7.0.1(postcss@8.4.38): dependencies: cssnano-preset-default: 7.0.1(postcss@8.4.38) @@ -13128,20 +12898,6 @@ snapshots: postcss-selector-parser: 6.0.16 postcss-value-parser: 4.2.0 - postcss-calc@9.0.1(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-selector-parser: 6.0.16 - postcss-value-parser: 4.2.0 - - postcss-colormin@6.1.0(postcss@8.4.38): - dependencies: - browserslist: 4.23.0 - caniuse-api: 3.0.0 - colord: 2.9.3 - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - postcss-colormin@7.0.0(postcss@8.4.38): dependencies: browserslist: 4.23.0 @@ -13150,46 +12906,24 @@ snapshots: postcss: 8.4.38 postcss-value-parser: 4.2.0 - postcss-convert-values@6.1.0(postcss@8.4.38): - dependencies: - browserslist: 4.23.0 - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - postcss-convert-values@7.0.0(postcss@8.4.38): dependencies: browserslist: 4.23.0 postcss: 8.4.38 postcss-value-parser: 4.2.0 - postcss-discard-comments@6.0.2(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-discard-comments@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 - postcss-discard-duplicates@6.0.3(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-discard-duplicates@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 - postcss-discard-empty@6.0.3(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-discard-empty@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 - postcss-discard-overridden@6.0.2(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-discard-overridden@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 @@ -13218,26 +12952,12 @@ snapshots: postcss-media-query-parser@0.2.3: {} - postcss-merge-longhand@6.0.5(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - stylehacks: 6.1.1(postcss@8.4.38) - postcss-merge-longhand@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 stylehacks: 7.0.0(postcss@8.4.38) - postcss-merge-rules@6.1.1(postcss@8.4.38): - dependencies: - browserslist: 4.23.0 - caniuse-api: 3.0.0 - cssnano-utils: 4.0.2(postcss@8.4.38) - postcss: 8.4.38 - postcss-selector-parser: 6.0.16 - postcss-merge-rules@7.0.0(postcss@8.4.38): dependencies: browserslist: 4.23.0 @@ -13246,23 +12966,11 @@ snapshots: postcss: 8.4.38 postcss-selector-parser: 6.0.16 - postcss-minify-font-values@6.1.0(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - postcss-minify-font-values@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 - postcss-minify-gradients@6.0.3(postcss@8.4.38): - dependencies: - colord: 2.9.3 - cssnano-utils: 4.0.2(postcss@8.4.38) - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - postcss-minify-gradients@7.0.0(postcss@8.4.38): dependencies: colord: 2.9.3 @@ -13270,13 +12978,6 @@ snapshots: postcss: 8.4.38 postcss-value-parser: 4.2.0 - postcss-minify-params@6.1.0(postcss@8.4.38): - dependencies: - browserslist: 4.23.0 - cssnano-utils: 4.0.2(postcss@8.4.38) - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - postcss-minify-params@7.0.0(postcss@8.4.38): dependencies: browserslist: 4.23.0 @@ -13284,11 +12985,6 @@ snapshots: postcss: 8.4.38 postcss-value-parser: 4.2.0 - postcss-minify-selectors@6.0.4(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-selector-parser: 6.0.16 - postcss-minify-selectors@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 @@ -13315,125 +13011,63 @@ snapshots: icss-utils: 5.1.0(postcss@8.4.38) postcss: 8.4.38 - postcss-normalize-charset@6.0.2(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-normalize-charset@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 - postcss-normalize-display-values@6.0.2(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - postcss-normalize-display-values@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 - postcss-normalize-positions@6.0.2(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - postcss-normalize-positions@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@6.0.2(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 - postcss-normalize-string@6.0.2(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - postcss-normalize-string@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 - postcss-normalize-timing-functions@6.0.2(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - postcss-normalize-timing-functions@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 - postcss-normalize-unicode@6.1.0(postcss@8.4.38): - dependencies: - browserslist: 4.23.0 - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - postcss-normalize-unicode@7.0.0(postcss@8.4.38): dependencies: browserslist: 4.23.0 postcss: 8.4.38 postcss-value-parser: 4.2.0 - postcss-normalize-url@6.0.2(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - postcss-normalize-url@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@6.0.2(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 - postcss-ordered-values@6.0.2(postcss@8.4.38): - dependencies: - cssnano-utils: 4.0.2(postcss@8.4.38) - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - postcss-ordered-values@7.0.0(postcss@8.4.38): dependencies: cssnano-utils: 5.0.0(postcss@8.4.38) postcss: 8.4.38 postcss-value-parser: 4.2.0 - postcss-reduce-initial@6.1.0(postcss@8.4.38): - dependencies: - browserslist: 4.23.0 - caniuse-api: 3.0.0 - postcss: 8.4.38 - postcss-reduce-initial@7.0.0(postcss@8.4.38): dependencies: browserslist: 4.23.0 caniuse-api: 3.0.0 postcss: 8.4.38 - postcss-reduce-transforms@6.0.2(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - postcss-reduce-transforms@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 @@ -13444,23 +13078,12 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-svgo@6.0.3(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - svgo: 3.2.0 - postcss-svgo@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 svgo: 3.2.0 - postcss-unique-selectors@6.0.4(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-selector-parser: 6.0.16 - postcss-unique-selectors@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 @@ -14189,12 +13812,6 @@ snapshots: dependencies: js-tokens: 9.0.0 - stylehacks@6.1.1(postcss@8.4.38): - dependencies: - browserslist: 4.23.0 - postcss: 8.4.38 - postcss-selector-parser: 6.0.16 - stylehacks@7.0.0(postcss@8.4.38): dependencies: browserslist: 4.23.0 From a4d095872783ab54354cd219a5ac4c7864018ccc Mon Sep 17 00:00:00 2001 From: Julien Huang Date: Tue, 7 May 2024 22:55:54 +0200 Subject: [PATCH 024/127] fix(nuxt): remove unused prop in `NuxtTeleportIslandComponent` (#27093) --- .../nuxt-teleport-island-component.ts | 8 -- .../nuxt/src/components/islandsTransform.ts | 9 +- packages/nuxt/src/components/module.ts | 2 - packages/nuxt/test/islandTransform.test.ts | 90 +++++-------------- 4 files changed, 25 insertions(+), 84 deletions(-) diff --git a/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts b/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts index 002a2441a..31b2c0718 100644 --- a/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts +++ b/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts @@ -27,14 +27,6 @@ export default defineComponent({ type: Boolean, default: false, }, - /** - * ONLY used in dev mode since we use build:manifest result in production - * do not pass any value in production - */ - rootDir: { - type: String, - default: null, - }, }, setup (props, { slots }) { const nuxtApp = useNuxtApp() diff --git a/packages/nuxt/src/components/islandsTransform.ts b/packages/nuxt/src/components/islandsTransform.ts index 46a9f31d3..6e018dc16 100644 --- a/packages/nuxt/src/components/islandsTransform.ts +++ b/packages/nuxt/src/components/islandsTransform.ts @@ -13,12 +13,6 @@ import { isVue } from '../core/utils' interface ServerOnlyComponentTransformPluginOptions { getComponents: () => Component[] - /** - * passed down to `NuxtTeleportIslandComponent` - * should be done only in dev mode as we use build:manifest result in production - */ - rootDir?: string - isDev?: boolean /** * allow using `nuxt-client` attribute on components */ @@ -43,7 +37,6 @@ function wrapWithVForDiv (code: string, vfor: string): string { export const islandsTransform = createUnplugin((options: ServerOnlyComponentTransformPluginOptions, meta) => { const isVite = meta.framework === 'vite' - const { isDev, rootDir } = options return { name: 'server-only-component-transform', enforce: 'pre', @@ -115,7 +108,7 @@ export const islandsTransform = createUnplugin((options: ServerOnlyComponentTran startTag = startTag.replaceAll(EXTRACTED_ATTRS_RE, '') } - s.appendLeft(startingIndex + loc[0].start, ``) + s.appendLeft(startingIndex + loc[0].start, ``) s.overwrite(startingIndex + loc[0].start, startingIndex + loc[0].end, startTag) s.appendRight(startingIndex + loc[1].end, '') } diff --git a/packages/nuxt/src/components/module.ts b/packages/nuxt/src/components/module.ts index 1a2b52439..82e227a2a 100644 --- a/packages/nuxt/src/components/module.ts +++ b/packages/nuxt/src/components/module.ts @@ -260,8 +260,6 @@ export default defineNuxtModule({ if (isServer) { config.plugins.push(islandsTransform.vite({ getComponents, - rootDir: nuxt.options.rootDir, - isDev: nuxt.options.dev, selectiveClient, })) } diff --git a/packages/nuxt/test/islandTransform.test.ts b/packages/nuxt/test/islandTransform.test.ts index 519373867..8c8145440 100644 --- a/packages/nuxt/test/islandTransform.test.ts +++ b/packages/nuxt/test/islandTransform.test.ts @@ -23,11 +23,9 @@ const pluginWebpack = islandsTransform.raw({ selectiveClient: true, }, { framework: 'webpack', webpack: { compiler: {} as any } }) -const viteTransform = async (source: string, id: string, isDev = false, selectiveClient = false) => { +const viteTransform = async (source: string, id: string, selectiveClient = false) => { const vitePlugin = islandsTransform.raw({ getComponents, - rootDir: '/root', - isDev, selectiveClient, }, { framework: 'vite' }) as Plugin @@ -193,7 +191,7 @@ describe('islandTransform - server and island components', () => { - `, 'WithVif.vue', false, true) + `, 'WithVif.vue', true) expect(normalizeLineEndings(result)).toMatchInlineSnapshot(` " - `, 'hello.server.vue', true, true) + `, 'hello.server.vue', true) expect(normalizeLineEndings(result)).toMatchInlineSnapshot(` " @@ -247,42 +241,6 @@ describe('islandTransform - server and island components', () => { " `) - // root-dir prop should never be used in production - expect(result).toContain('root-dir="/root"') - }) - - it('test transform with vite in prod', async () => { - const result = await viteTransform(` - - - `, 'hello.server.vue', false, true) - - expect(normalizeLineEndings(result)).toMatchInlineSnapshot(` - " - - - " - `) - - // root-dir prop should never be used in production - expect(result).not.toContain('root-dir="') }) it('test dynamic nuxt-client', async () => { @@ -298,13 +256,13 @@ describe('islandTransform - server and island components', () => { const nuxtClient = false - `, 'hello.server.vue', false, true) + `, 'hello.server.vue', true) expect(normalizeLineEndings(result)).toMatchInlineSnapshot(` " @@ -333,7 +291,7 @@ describe('islandTransform - server and island components', () => { const nuxtClient = false - `, 'hello.server.vue', false, false) + `, 'hello.server.vue', false) expect(normalizeLineEndings(result)).toMatchInlineSnapshot(` " - `, 'hello.server.vue', false, true) + `, 'hello.server.vue', true) expect(result).toMatchInlineSnapshot(` - " + " - " - `) + " + `) expect(result).toContain('import NuxtTeleportIslandComponent from \'#app/components/nuxt-teleport-island-component\'') }) @@ -389,7 +347,7 @@ describe('islandTransform - server and island components', () => { - `, 'hello.server.vue', false, true) + `, 'hello.server.vue', true) expect(result).toMatchInlineSnapshot(` " " From 68f4b193be4a73b49a6be5a8c9e3094fc1d5ebf4 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 7 May 2024 22:45:03 +0100 Subject: [PATCH 025/127] perf(nuxt): emit simpler functional ui templates (w/o lodash) (#27091) --- package.json | 6 +-- .../src/core/runtime/nitro/error-500.d.ts | 1 - .../nuxt/src/core/runtime/nitro/error-500.js | 1 - .../nuxt/src/core/runtime/nitro/error-500.ts | 1 + .../src/core/runtime/nitro/error-dev.d.ts | 1 - .../nuxt/src/core/runtime/nitro/error-dev.js | 1 - .../nuxt/src/core/runtime/nitro/error-dev.ts | 1 + packages/ui-templates/lib/render.ts | 46 +++++++++++-------- packages/ui-templates/package.json | 4 +- packages/ui-templates/test/snapshots.spec.ts | 9 +++- packages/ui-templates/vite.config.ts | 6 ++- pnpm-lock.yaml | 6 --- 12 files changed, 43 insertions(+), 40 deletions(-) delete mode 120000 packages/nuxt/src/core/runtime/nitro/error-500.d.ts delete mode 120000 packages/nuxt/src/core/runtime/nitro/error-500.js create mode 120000 packages/nuxt/src/core/runtime/nitro/error-500.ts delete mode 120000 packages/nuxt/src/core/runtime/nitro/error-dev.d.ts delete mode 120000 packages/nuxt/src/core/runtime/nitro/error-dev.js create mode 120000 packages/nuxt/src/core/runtime/nitro/error-dev.ts diff --git a/package.json b/package.json index 5a31698e5..dd3c27e07 100644 --- a/package.json +++ b/package.json @@ -8,11 +8,11 @@ "license": "MIT", "type": "module", "scripts": { - "build": "pnpm --filter @nuxt/ui-templates prepack && pnpm --filter './packages/[^u]**' prepack", + "build": "pnpm --filter './packages/**' prepack", "build:stub": "pnpm dev:prepare", "cleanup": "rimraf 'packages/**/node_modules' 'playground/node_modules' 'node_modules'", "dev": "pnpm play", - "dev:prepare": "pnpm --filter @nuxt/ui-templates prepack && pnpm --filter './packages/[^u]**' prepack --stub", + "dev:prepare": "pnpm --filter './packages/**' prepack --stub", "lint": "eslint . --cache", "lint:fix": "eslint . --cache --fix", "lint:docs": "markdownlint ./docs && case-police 'docs/**/*.md' *.md", @@ -28,7 +28,7 @@ "test:fixtures:webpack": "TEST_BUILDER=webpack pnpm test:fixtures", "test:runtime": "vitest -c vitest.nuxt.config.ts", "test:types": "pnpm --filter './test/fixtures/**' test:types", - "test:unit": "JITI_CACHE=0 vitest run packages/", + "test:unit": "vitest run packages/", "typecheck": "tsc --noEmit", "typecheck:docs": "DOCS_TYPECHECK=true pnpm nuxi prepare && nuxt-content-twoslash verify --content-dir docs" }, diff --git a/packages/nuxt/src/core/runtime/nitro/error-500.d.ts b/packages/nuxt/src/core/runtime/nitro/error-500.d.ts deleted file mode 120000 index 6cd90afd1..000000000 --- a/packages/nuxt/src/core/runtime/nitro/error-500.d.ts +++ /dev/null @@ -1 +0,0 @@ -../../../../../ui-templates/dist/templates/error-500.d.ts \ No newline at end of file diff --git a/packages/nuxt/src/core/runtime/nitro/error-500.js b/packages/nuxt/src/core/runtime/nitro/error-500.js deleted file mode 120000 index 5e590c862..000000000 --- a/packages/nuxt/src/core/runtime/nitro/error-500.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../ui-templates/dist/templates/error-500.js \ No newline at end of file diff --git a/packages/nuxt/src/core/runtime/nitro/error-500.ts b/packages/nuxt/src/core/runtime/nitro/error-500.ts new file mode 120000 index 000000000..7c4f86d19 --- /dev/null +++ b/packages/nuxt/src/core/runtime/nitro/error-500.ts @@ -0,0 +1 @@ +../../../../../ui-templates/dist/templates/error-500.ts \ No newline at end of file diff --git a/packages/nuxt/src/core/runtime/nitro/error-dev.d.ts b/packages/nuxt/src/core/runtime/nitro/error-dev.d.ts deleted file mode 120000 index a23485f79..000000000 --- a/packages/nuxt/src/core/runtime/nitro/error-dev.d.ts +++ /dev/null @@ -1 +0,0 @@ -../../../../../ui-templates/dist/templates/error-dev.d.ts \ No newline at end of file diff --git a/packages/nuxt/src/core/runtime/nitro/error-dev.js b/packages/nuxt/src/core/runtime/nitro/error-dev.js deleted file mode 120000 index e507d64bd..000000000 --- a/packages/nuxt/src/core/runtime/nitro/error-dev.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../ui-templates/dist/templates/error-dev.js \ No newline at end of file diff --git a/packages/nuxt/src/core/runtime/nitro/error-dev.ts b/packages/nuxt/src/core/runtime/nitro/error-dev.ts new file mode 120000 index 000000000..b14fdaa62 --- /dev/null +++ b/packages/nuxt/src/core/runtime/nitro/error-dev.ts @@ -0,0 +1 @@ +../../../../../ui-templates/dist/templates/error-dev.ts \ No newline at end of file diff --git a/packages/ui-templates/lib/render.ts b/packages/ui-templates/lib/render.ts index 449e6bc67..713311835 100644 --- a/packages/ui-templates/lib/render.ts +++ b/packages/ui-templates/lib/render.ts @@ -1,9 +1,9 @@ +import { fileURLToPath } from 'node:url' import { readFileSync, rmdirSync, unlinkSync, writeFileSync } from 'node:fs' import { basename, dirname, join, resolve } from 'pathe' import type { Plugin } from 'vite' // @ts-expect-error https://github.com/GoogleChromeLabs/critters/pull/151 import Critters from 'critters' -import { template } from 'lodash-es' import { genObjectFromRawEntries } from 'knitwork' import htmlMinifier from 'html-minifier' import { globby } from 'globby' @@ -11,18 +11,20 @@ import { camelCase } from 'scule' import genericMessages from '../templates/messages.json' -const r = (...path: string[]) => resolve(join(__dirname, '..', ...path)) - +const r = (path: string) => fileURLToPath(new URL(join('..', path), import.meta.url)) const replaceAll = (input: string, search: string | RegExp, replace: string) => input.split(search).join(replace) export const RenderPlugin = () => { + let outputDir: string return { name: 'render', + configResolved (config) { + outputDir = r(config.build.outDir) + }, enforce: 'post', async writeBundle () { - const distDir = r('dist') - const critters = new Critters({ path: distDir }) - const htmlFiles = await globby(r('dist/templates/**/*.html')) + const critters = new Critters({ path: outputDir }) + const htmlFiles = await globby(resolve(outputDir, 'templates/**/*.html'), { absolute: true }) const templateExports = [] @@ -50,7 +52,7 @@ export const RenderPlugin = () => { .filter(src => src?.match(/\.svg$/)) for (const src of svgSources) { - const svg = readFileSync(r('dist', src), 'utf-8') + const svg = readFileSync(join(outputDir, src), 'utf-8') const base64Source = `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svg)}` html = replaceAll(html, src, base64Source) } @@ -60,7 +62,7 @@ export const RenderPlugin = () => { .filter(([_block, src]) => src?.match(/^\/.*\.js$/)) for (const [scriptBlock, src] of scriptSources) { - let contents = readFileSync(r('dist', src), 'utf-8') + let contents = readFileSync(join(outputDir, src), 'utf-8') contents = replaceAll(contents, '/* empty css */', '').trim() html = html.replace(scriptBlock, contents.length ? `` : '') } @@ -77,11 +79,22 @@ export const RenderPlugin = () => { const messages = JSON.parse(readFileSync(r(`templates/${templateName}/messages.json`), 'utf-8')) // Serialize into a js function - const jsCode = [ + const chunks = html.split(/\{{2,3}\s*[^{}]+\s*\}{2,3}/g).map(chunk => JSON.stringify(chunk)) + let templateString = chunks.shift() + for (const expression of html.matchAll(/\{{2,3}(\s*[^{}]+\s*)\}{2,3}/g)) { + templateString += ` + (${expression[1].trim()}) + ${chunks.shift()}` + } + if (chunks.length > 0) { + templateString += ' + ' + chunks.join(' + ') + } + const functionalCode = [ + `export type DefaultMessages = Record<${Object.keys({ ...genericMessages, ...messages }).map(a => `"${a}"`).join(' | ') || 'string'}, string | boolean | number >`, `const _messages = ${JSON.stringify({ ...genericMessages, ...messages })}`, - `const _render = ${template(html, { variable: '__var__', interpolate: /{{{?([\s\S]+?)}?}}/g }).toString().replace('__var__', '{ messages }')}`, - 'const _template = (messages) => _render({ messages: { ..._messages, ...messages } })', - ].join('\n').trim() + 'export const template = (messages: Partial) => {', + ' messages = { ..._messages, ...messages }', + ` return ${templateString}`, + '}', + ].join('\n') const templateContent = html .match(/([\s\S]*)<\/body>/)?.[0] @@ -146,20 +159,13 @@ export const RenderPlugin = () => { }) // Write new template - writeFileSync(fileName.replace('/index.html', '.js'), `${jsCode}\nexport const template = _template`) + writeFileSync(fileName.replace('/index.html', '.ts'), functionalCode) writeFileSync(fileName.replace('/index.html', '.vue'), vueCode) - writeFileSync(fileName.replace('/index.html', '.d.ts'), `${types}`) // Remove original html file unlinkSync(fileName) rmdirSync(dirname(fileName)) } - - // Write an index file with named exports for each template - const contents = templateExports.map(exp => `export { template as ${exp.exportName} } from './templates/${exp.templateName}.js'`).join('\n') - writeFileSync(r('dist/index.js'), contents, 'utf8') - - writeFileSync(r('dist/index.d.ts'), replaceAll(contents, /\.js/g, ''), 'utf8') }, } } diff --git a/packages/ui-templates/package.json b/packages/ui-templates/package.json index b38518b0b..204c494d7 100644 --- a/packages/ui-templates/package.json +++ b/packages/ui-templates/package.json @@ -14,13 +14,12 @@ "dev": "vite", "lint": "eslint --ext .ts,.js .", "optimize-assets": "npx svgo public/assets/**/*.svg", - "prepack": "pnpm build", + "postinstall": "pnpm build", "prerender": "pnpm build && jiti ./lib/prerender", "test": "pnpm lint && pnpm build" }, "devDependencies": { "@types/html-minifier": "4.0.5", - "@types/lodash-es": "4.17.12", "@unocss/reset": "0.59.4", "critters": "0.0.22", "execa": "8.0.1", @@ -28,7 +27,6 @@ "html-minifier": "4.0.0", "jiti": "1.21.0", "knitwork": "1.1.0", - "lodash-es": "4.17.21", "pathe": "1.1.2", "prettier": "3.2.5", "scule": "1.3.0", diff --git a/packages/ui-templates/test/snapshots.spec.ts b/packages/ui-templates/test/snapshots.spec.ts index c65718f3a..511f459cd 100644 --- a/packages/ui-templates/test/snapshots.spec.ts +++ b/packages/ui-templates/test/snapshots.spec.ts @@ -1,17 +1,22 @@ import { fileURLToPath } from 'node:url' import { readFileSync } from 'node:fs' -import { beforeAll, describe, expect, it } from 'vitest' +import { rm } from 'node:fs/promises' +import { afterAll, beforeAll, describe, expect, it } from 'vitest' import { execaCommand } from 'execa' import { format } from 'prettier' -const distDir = fileURLToPath(new URL('../dist/templates', import.meta.url)) +const distDir = fileURLToPath(new URL('../node_modules/.temp/dist/templates', import.meta.url)) describe('template', () => { beforeAll(async () => { await execaCommand('pnpm build', { cwd: fileURLToPath(new URL('..', import.meta.url)), + env: { + OUTPUT_DIR: './node_modules/.temp/dist', + }, }) }) + afterAll(() => rm(distDir, { force: true, recursive: true })) function formatCss (css: string) { return format(css, { diff --git a/packages/ui-templates/vite.config.ts b/packages/ui-templates/vite.config.ts index a66ee36af..c3d643548 100644 --- a/packages/ui-templates/vite.config.ts +++ b/packages/ui-templates/vite.config.ts @@ -1,4 +1,5 @@ -import { resolve } from 'node:path' +import { fileURLToPath } from 'node:url' +import { join } from 'node:path' import { readdirSync } from 'node:fs' import { defineConfig } from 'vite' @@ -7,10 +8,11 @@ import UnoCSS from 'unocss/vite' import { DevRenderingPlugin } from './lib/dev' import { RenderPlugin } from './lib/render' -const r = (...path: string[]) => resolve(__dirname, ...path) +const r = (...path: string[]) => fileURLToPath(new URL(join(...path), import.meta.url)) export default defineConfig({ build: { + outDir: process.env.OUTPUT_DIR || 'dist', rollupOptions: { input: { ...Object.fromEntries( diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a48146939..68396ac13 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -557,9 +557,6 @@ importers: '@types/html-minifier': specifier: 4.0.5 version: 4.0.5 - '@types/lodash-es': - specifier: 4.17.12 - version: 4.17.12 '@unocss/reset': specifier: 0.59.4 version: 0.59.4 @@ -581,9 +578,6 @@ importers: knitwork: specifier: 1.1.0 version: 1.1.0 - lodash-es: - specifier: 4.17.21 - version: 4.17.21 pathe: specifier: 1.1.2 version: 1.1.2 From 177517951c9c034758f4600d70856fc4649f37f6 Mon Sep 17 00:00:00 2001 From: Nicolas Payot Date: Wed, 8 May 2024 14:32:45 +0200 Subject: [PATCH 026/127] feat(nuxt): support multiple nuxtApps at runtime (#27068) --- docs/3.api/2.composables/use-nuxt-app.md | 12 ++++++ packages/nuxt/src/app/nuxt.ts | 26 +++++++++---- packages/nuxt/src/core/nitro.ts | 3 +- packages/nuxt/src/core/templates.ts | 1 + packages/schema/package.json | 1 + packages/schema/src/config/common.ts | 8 ++++ pnpm-lock.yaml | 3 ++ test/basic.test.ts | 39 +++++++++++++++++++ test/fixtures/basic/nuxt.config.ts | 1 + .../basic/pages/namespace-nuxt-app.vue | 10 +++++ vitest.nuxt.config.ts | 1 + 11 files changed, 96 insertions(+), 9 deletions(-) create mode 100644 test/fixtures/basic/pages/namespace-nuxt-app.vue diff --git a/docs/3.api/2.composables/use-nuxt-app.md b/docs/3.api/2.composables/use-nuxt-app.md index 29a920cdb..87c7be741 100644 --- a/docs/3.api/2.composables/use-nuxt-app.md +++ b/docs/3.api/2.composables/use-nuxt-app.md @@ -18,6 +18,14 @@ const nuxtApp = useNuxtApp() If runtime context is unavailable in your scope, `useNuxtApp` will throw an exception when called. You can use [`tryUseNuxtApp`](#tryusenuxtapp) instead for composables that do not require `nuxtApp`, or to simply check if context is available or not without an exception. + + ## Methods ### `provide (name, value)` @@ -278,3 +286,7 @@ export function useStandType() { } } ``` + + diff --git a/packages/nuxt/src/app/nuxt.ts b/packages/nuxt/src/app/nuxt.ts index ee602fa58..75821e7b5 100644 --- a/packages/nuxt/src/app/nuxt.ts +++ b/packages/nuxt/src/app/nuxt.ts @@ -22,9 +22,14 @@ import type { ViewTransition } from './plugins/view-transitions.client' import type { NuxtAppLiterals } from '#app' -const nuxtAppCtx = /* @__PURE__ */ getContext('nuxt-app', { - asyncContext: !!__NUXT_ASYNC_CONTEXT__ && import.meta.server, -}) +// @ts-expect-error virtual import +import { buildId } from '#build/nuxt.config.mjs' + +function getNuxtAppCtx (appName?: string) { + return getContext(appName || buildId || 'nuxt-app', { + asyncContext: !!__NUXT_ASYNC_CONTEXT__ && import.meta.server, + }) +} type HookResult = Promise | void @@ -93,6 +98,8 @@ export interface NuxtPayload { } interface _NuxtApp { + /** @internal */ + _name: string vueApp: App globalName: string versions: Record @@ -237,6 +244,7 @@ export interface CreateOptions { export function createNuxtApp (options: CreateOptions) { let hydratingCount = 0 const nuxtApp: NuxtApp = { + name: buildId, _scope: effectScope(), provide: undefined, globalName: 'nuxt', @@ -447,6 +455,7 @@ export function isNuxtPlugin (plugin: unknown) { */ export function callWithNuxt any> (nuxt: NuxtApp | _NuxtApp, setup: T, args?: Parameters) { const fn: () => ReturnType = () => args ? setup(...args as Parameters) : setup() + const nuxtAppCtx = getNuxtAppCtx(nuxt._name) if (import.meta.server) { return nuxt.vueApp.runWithContext(() => nuxtAppCtx.callAsync(nuxt as NuxtApp, fn)) } else { @@ -463,13 +472,14 @@ export function callWithNuxt any> (nuxt: NuxtApp | * Returns `null` if Nuxt instance is unavailable. * @since 3.10.0 */ -export function tryUseNuxtApp (): NuxtApp | null { +export function tryUseNuxtApp (): NuxtApp | null +export function tryUseNuxtApp (appName?: string): NuxtApp | null { let nuxtAppInstance if (hasInjectionContext()) { nuxtAppInstance = getCurrentInstance()?.appContext.app.$nuxt } - nuxtAppInstance = nuxtAppInstance || nuxtAppCtx.tryUse() + nuxtAppInstance = nuxtAppInstance || getNuxtAppCtx(appName).tryUse() return nuxtAppInstance || null } @@ -481,8 +491,10 @@ export function tryUseNuxtApp (): NuxtApp | null { * Throws an error if Nuxt instance is unavailable. * @since 3.0.0 */ -export function useNuxtApp (): NuxtApp { - const nuxtAppInstance = tryUseNuxtApp() +export function useNuxtApp (): NuxtApp +export function useNuxtApp (appName?: string): NuxtApp { + // @ts-expect-error internal usage of appName + const nuxtAppInstance = tryUseNuxtApp(appName) if (!nuxtAppInstance) { if (import.meta.dev) { diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 01ffd58ad..0bbc09aa6 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -3,7 +3,6 @@ import { existsSync, promises as fsp, readFileSync } from 'node:fs' import { cpus } from 'node:os' import { join, relative, resolve } from 'pathe' import { createRouter as createRadixRouter, exportMatcher, toRouteMatcher } from 'radix3' -import { randomUUID } from 'uncrypto' import { joinURL, withTrailingSlash } from 'ufo' import { build, copyPublicAssets, createDevServer, createNitro, prepare, prerender, scanHandlers, writeTypes } from 'nitropack' import type { Nitro, NitroConfig, NitroOptions } from 'nitropack' @@ -237,7 +236,7 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { if (nuxt.options.experimental.appManifest) { // @ts-expect-error untyped nuxt property const buildId = nuxt.options.appConfig.nuxt!.buildId ||= - (nuxt.options.dev ? 'dev' : nuxt.options.test ? 'test' : randomUUID()) + (nuxt.options.dev ? 'dev' : nuxt.options.test ? 'test' : nuxt.options.buildId) const buildTimestamp = Date.now() const manifestPrefix = joinURL(nuxt.options.app.buildAssetsDir, 'builds') diff --git a/packages/nuxt/src/core/templates.ts b/packages/nuxt/src/core/templates.ts index 2234e60dc..9cccd8090 100644 --- a/packages/nuxt/src/core/templates.ts +++ b/packages/nuxt/src/core/templates.ts @@ -397,6 +397,7 @@ export const nuxtConfigTemplate: NuxtTemplate = { `export const fetchDefaults = ${JSON.stringify(fetchDefaults)}`, `export const vueAppRootContainer = ${ctx.nuxt.options.app.rootId ? `'#${ctx.nuxt.options.app.rootId}'` : `'body > ${ctx.nuxt.options.app.rootTag}'`}`, `export const viewTransition = ${ctx.nuxt.options.experimental.viewTransition}`, + `export const buildId = ${JSON.stringify(ctx.nuxt.options.buildId)}`, ].join('\n\n') }, } diff --git a/packages/schema/package.json b/packages/schema/package.json index 1ef6a46a0..95d7e5913 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -72,6 +72,7 @@ "std-env": "^3.7.0", "ufo": "^1.5.3", "unimport": "^3.7.1", + "uncrypto": "^0.1.3", "untyped": "^1.4.2" }, "engines": { diff --git a/packages/schema/src/config/common.ts b/packages/schema/src/config/common.ts index a5bea18ae..42191feac 100644 --- a/packages/schema/src/config/common.ts +++ b/packages/schema/src/config/common.ts @@ -4,6 +4,7 @@ import { join, relative, resolve } from 'pathe' import { isDebug, isDevelopment, isTest } from 'std-env' import { defu } from 'defu' import { findWorkspaceDir } from 'pkg-types' +import { randomUUID } from 'uncrypto' import type { RuntimeConfig } from '../types/config' export default defineUntypedSchema({ @@ -153,6 +154,13 @@ export default defineUntypedSchema({ $resolve: async (val: string | undefined, get): Promise => resolve(await get('rootDir') as string, val || '.nuxt'), }, + /** + * A unique identifier matching the build. This may contain the hash of the current state of the project. + */ + buildId: { + $resolve: (val: string) => val ?? randomUUID(), + }, + /** * Used to set the modules directories for path resolving (for example, webpack's * `resolveLoading`, `nodeExternals` and `postcss`). diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 68396ac13..acb51ab74 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -463,6 +463,9 @@ importers: ufo: specifier: ^1.5.3 version: 1.5.3 + uncrypto: + specifier: ^0.1.3 + version: 0.1.3 unimport: specifier: ^3.7.1 version: 3.7.1(rollup@4.17.2) diff --git a/test/basic.test.ts b/test/basic.test.ts index 81f8ff916..aa64efe29 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -2642,3 +2642,42 @@ describe('defineNuxtComponent watch duplicate', () => { expect(await page.getByTestId('define-nuxt-component-state').first().innerText()).toBe('2') }) }) + +describe('namespace access to useNuxtApp', () => { + it('should return the nuxt instance when used with correct buildId', async () => { + const { page, pageErrors } = await renderPage('/namespace-nuxt-app') + + expect(pageErrors).toEqual([]) + + await page.waitForFunction(() => window.useNuxtApp?.() && !window.useNuxtApp?.().isHydrating) + + // Defaulting to buildId + await page.evaluate(() => window.useNuxtApp?.()) + // Using correct configured buildId + // @ts-expect-error not public API yet + await page.evaluate(() => window.useNuxtApp?.('nuxt-app-basic')) + + await page.close() + }) + + it('should throw an error when used with wrong buildId', async () => { + const { page, pageErrors } = await renderPage('/namespace-nuxt-app') + + expect(pageErrors).toEqual([]) + + await page.waitForFunction(() => window.useNuxtApp?.() && !window.useNuxtApp?.().isHydrating) + + let error: unknown + try { + // Using wrong/unknown buildId + // @ts-expect-error not public API yet + await page.evaluate(() => window.useNuxtApp?.('nuxt-app-unknown')) + } catch (err) { + error = err + } + + expect(error).toBeTruthy() + + await page.close() + }) +}) diff --git a/test/fixtures/basic/nuxt.config.ts b/test/fixtures/basic/nuxt.config.ts index 130d0f7bb..7064f0eb8 100644 --- a/test/fixtures/basic/nuxt.config.ts +++ b/test/fixtures/basic/nuxt.config.ts @@ -32,6 +32,7 @@ export default defineNuxtConfig({ }, buildDir: process.env.NITRO_BUILD_DIR, builder: process.env.TEST_BUILDER as 'webpack' | 'vite' ?? 'vite', + buildId: 'nuxt-app-basic', build: { transpile: [ (ctx) => { diff --git a/test/fixtures/basic/pages/namespace-nuxt-app.vue b/test/fixtures/basic/pages/namespace-nuxt-app.vue new file mode 100644 index 000000000..66a5a0d05 --- /dev/null +++ b/test/fixtures/basic/pages/namespace-nuxt-app.vue @@ -0,0 +1,10 @@ + + + diff --git a/vitest.nuxt.config.ts b/vitest.nuxt.config.ts index fec80025c..55e081bfb 100644 --- a/vitest.nuxt.config.ts +++ b/vitest.nuxt.config.ts @@ -13,6 +13,7 @@ export default defineVitestConfig({ environmentOptions: { nuxt: { overrides: { + buildId: 'nuxt-app', experimental: { appManifest: process.env.TEST_MANIFEST !== 'manifest-off', }, From 6273f5d3b69a613d7c8873f63fe7998927fb284a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 8 May 2024 13:33:06 +0100 Subject: [PATCH 027/127] chore(deps): update all non-major dependencies (main) (#27094) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 2 +- packages/vite/package.json | 2 +- pnpm-lock.yaml | 286 ++++++++++++++++++------------------- 5 files changed, 142 insertions(+), 152 deletions(-) diff --git a/package.json b/package.json index dd3c27e07..ca12e0ecd 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "pathe": "1.1.2", "playwright-core": "1.44.0", "rimraf": "5.0.5", - "semver": "7.6.0", + "semver": "7.6.1", "std-env": "3.7.0", "typescript": "5.4.5", "ufo": "1.5.3", diff --git a/packages/kit/package.json b/packages/kit/package.json index 9798d1bda..15ca2e400 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -39,7 +39,7 @@ "pathe": "^1.1.2", "pkg-types": "^1.1.0", "scule": "^1.3.0", - "semver": "^7.6.0", + "semver": "^7.6.1", "ufo": "^1.5.3", "unctx": "^2.3.1", "unimport": "^3.7.1", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 59ff90387..5b9942bca 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -76,7 +76,7 @@ "defu": "^6.1.4", "destr": "^2.0.3", "devalue": "^5.0.0", - "esbuild": "^0.21.0", + "esbuild": "^0.21.1", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "fs-extra": "^11.2.0", diff --git a/packages/vite/package.json b/packages/vite/package.json index e73cf18b2..1e09a1f8d 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -41,7 +41,7 @@ "consola": "^3.2.3", "cssnano": "^7.0.1", "defu": "^6.1.4", - "esbuild": "^0.21.0", + "esbuild": "^0.21.1", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "externality": "^1.0.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index acb51ab74..f79726d7d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -126,8 +126,8 @@ importers: specifier: 5.0.5 version: 5.0.5 semver: - specifier: 7.6.0 - version: 7.6.0 + specifier: 7.6.1 + version: 7.6.1 std-env: specifier: 3.7.0 version: 3.7.0 @@ -195,8 +195,8 @@ importers: specifier: ^1.3.0 version: 1.3.0 semver: - specifier: ^7.6.0 - version: 7.6.0 + specifier: ^7.6.1 + version: 7.6.1 ufo: specifier: ^1.5.3 version: 1.5.3 @@ -295,8 +295,8 @@ importers: specifier: ^5.0.0 version: 5.0.0 esbuild: - specifier: ^0.21.0 - version: 0.21.0 + specifier: ^0.21.1 + version: 0.21.1 escape-string-regexp: specifier: ^5.0.0 version: 5.0.0 @@ -627,8 +627,8 @@ importers: specifier: ^6.1.4 version: 6.1.4 esbuild: - specifier: ^0.21.0 - version: 0.21.0 + specifier: ^0.21.1 + version: 0.21.1 escape-string-regexp: specifier: ^5.0.0 version: 5.0.0 @@ -1191,8 +1191,8 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.21.0': - resolution: {integrity: sha512-kB8I77Onff4y6hAREwsjF11ifM+xi8bBIq/viMO5NFZDX2vKlF0/mevHJYb4sNfb55jIREeUztkUfIgOFtSzdw==} + '@esbuild/aix-ppc64@0.21.1': + resolution: {integrity: sha512-O7yppwipkXvnEPjzkSXJRk2g4bS8sUx9p9oXHq9MU/U7lxUzZVsnFZMDTmeeX9bfQxrFcvOacl/ENgOh0WP9pA==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] @@ -1215,8 +1215,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.21.0': - resolution: {integrity: sha512-SDGbrIOL6P6WTIbDcCa2sbFgznp8o6ztjGWrA+js8JZ9HhBXavN3gPrEqUqB4+bV4AdsqlZG1tK2F06BOPNpZg==} + '@esbuild/android-arm64@0.21.1': + resolution: {integrity: sha512-jXhccq6es+onw7x8MxoFnm820mz7sGa9J14kLADclmiEUH4fyj+FjR6t0M93RgtlI/awHWhtF0Wgfhqgf9gDZA==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -1239,8 +1239,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.21.0': - resolution: {integrity: sha512-8OvDALSbmoLJ79KCs0hxoki5I3qJA7JQMhJO6aq5O8G+pi7TPnGICdQRQcgdzwZaVc4ptp5SX7Phg6jKzvSEBg==} + '@esbuild/android-arm@0.21.1': + resolution: {integrity: sha512-hh3jKWikdnTtHCglDAeVO3Oyh8MaH8xZUaWMiCCvJ9/c3NtPqZq+CACOlGTxhddypXhl+8B45SeceYBfB/e8Ow==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -1263,8 +1263,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.21.0': - resolution: {integrity: sha512-G4fkcHqDtIbiE9b3KFJP+ay+TiCOHmenT5GYVi0fuHxFbX0CJ3lpTQbFuWR5s5AlYZZ1j4yY2hbggSUkaBK0pg==} + '@esbuild/android-x64@0.21.1': + resolution: {integrity: sha512-NPObtlBh4jQHE01gJeucqEhdoD/4ya2owSIS8lZYS58aR0x7oZo9lB2lVFxgTANSa5MGCBeoQtr+yA9oKCGPvA==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -1287,8 +1287,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.21.0': - resolution: {integrity: sha512-XMcLA6siz67AoEOl8WOot2Y3TOSClT15AqJdQz/sx98Dpv3oTbcv0BoqvHAhpBPgC8iyIKM98vVj6th7lA4DFg==} + '@esbuild/darwin-arm64@0.21.1': + resolution: {integrity: sha512-BLT7TDzqsVlQRmJfO/FirzKlzmDpBWwmCUlyggfzUwg1cAxVxeA4O6b1XkMInlxISdfPAOunV9zXjvh5x99Heg==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -1311,8 +1311,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.21.0': - resolution: {integrity: sha512-+dmvTVqVkAArjJyIbo4Rl2S4I4A/yRuivTPR9Igw0QMBVSJegJqixKxZvKLCh8xi6n8tePdq3EpfbFYH2KNNiw==} + '@esbuild/darwin-x64@0.21.1': + resolution: {integrity: sha512-D3h3wBQmeS/vp93O4B+SWsXB8HvRDwMyhTNhBd8yMbh5wN/2pPWRW5o/hM3EKgk9bdKd9594lMGoTCTiglQGRQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -1335,8 +1335,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.21.0': - resolution: {integrity: sha512-g8/wBRLbsjryMBo4PGg050I1fn4qrJobkxpT1OekO6I4H2HVQfVfBAvGPhwzc9tr8CUVu0pSGSz9oDPGIjhLNw==} + '@esbuild/freebsd-arm64@0.21.1': + resolution: {integrity: sha512-/uVdqqpNKXIxT6TyS/oSK4XE4xWOqp6fh4B5tgAwozkyWdylcX+W4YF2v6SKsL4wCQ5h1bnaSNjWPXG/2hp8AQ==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -1359,8 +1359,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.21.0': - resolution: {integrity: sha512-uwRL7kSN9tfFBpa7o9HQjEgxPsQsSmOz2ALQ30dxMNT22xS49s8nUtFi7bJ+kM/pcTHcnhyJwJPCY7cwlbQbWQ==} + '@esbuild/freebsd-x64@0.21.1': + resolution: {integrity: sha512-paAkKN1n1jJitw+dAoR27TdCzxRl1FOEITx3h201R6NoXUojpMzgMLdkXVgCvaCSCqwYkeGLoe9UVNRDKSvQgw==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -1383,8 +1383,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.21.0': - resolution: {integrity: sha512-mgOuJBbV8Uexb3BmeVl1q2preJMu0aDiwiFxIfsQhE2+rqxVAEcIrllb7SulkH9G244O/ZN1VVILdZb2NPSvpw==} + '@esbuild/linux-arm64@0.21.1': + resolution: {integrity: sha512-G65d08YoH00TL7Xg4LaL3gLV21bpoAhQ+r31NUu013YB7KK0fyXIt05VbsJtpqh/6wWxoLJZOvQHYnodRrnbUQ==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -1407,8 +1407,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.21.0': - resolution: {integrity: sha512-8s/YeLaUV3QTaGzwDqiTpb78Nw/DdIaUdIlRZItGgWf/8UZHsYUIWj9RfsEXVJB5qvtrg835Dgz/gf+GmFGa7w==} + '@esbuild/linux-arm@0.21.1': + resolution: {integrity: sha512-tRHnxWJnvNnDpNVnsyDhr1DIQZUfCXlHSCDohbXFqmg9W4kKR7g8LmA3kzcwbuxbRMKeit8ladnCabU5f2traA==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -1431,8 +1431,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.21.0': - resolution: {integrity: sha512-7pVhVYBt3/R8x0Um9p4V8eMiQcnk6/IHkOo6tkfLnDqPn+NS6lnbfWysAYeDAqFKt6INQKtVxejh6ccbVYLBwQ==} + '@esbuild/linux-ia32@0.21.1': + resolution: {integrity: sha512-tt/54LqNNAqCz++QhxoqB9+XqdsaZOtFD/srEhHYwBd3ZUOepmR1Eeot8bS+Q7BiEvy9vvKbtpHf+r6q8hF5UA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -1455,8 +1455,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.21.0': - resolution: {integrity: sha512-P8Lse7CXV83ARWVaq6KwV6w86ABeViyUvw6s++tYsUuqUEZgG5697Un72usafkuD7AfOyBdFX6JqZSvIQAU0yQ==} + '@esbuild/linux-loong64@0.21.1': + resolution: {integrity: sha512-MhNalK6r0nZD0q8VzUBPwheHzXPr9wronqmZrewLfP7ui9Fv1tdPmg6e7A8lmg0ziQCziSDHxh3cyRt4YMhGnQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -1479,8 +1479,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.21.0': - resolution: {integrity: sha512-lUvMkXlUMrx5vnspMWohma6vuWh+Z/mPV6DdbXW07fNgF2Tlg6SLSqqzDXv5XYV4og5awNFYcPXpgqOVsqdx7Q==} + '@esbuild/linux-mips64el@0.21.1': + resolution: {integrity: sha512-YCKVY7Zen5rwZV+nZczOhFmHaeIxR4Zn3jcmNH53LbgF6IKRwmrMywqDrg4SiSNApEefkAbPSIzN39FC8VsxPg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -1503,8 +1503,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.21.0': - resolution: {integrity: sha512-wLi9VRnLDRg1Gudic24gcT5aa5LZGBwLi4aYghQ9bVb8z0qYHrZnRTNxulErFvOsSgijUWS5uNLCUaLwj+tvIQ==} + '@esbuild/linux-ppc64@0.21.1': + resolution: {integrity: sha512-bw7bcQ+270IOzDV4mcsKAnDtAFqKO0jVv3IgRSd8iM0ac3L8amvCrujRVt1ajBTJcpDaFhIX+lCNRKteoDSLig==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -1527,8 +1527,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.21.0': - resolution: {integrity: sha512-MOjonqpNtns0Y32NwvMZiZXw94g8EqeqI+4BQtIHj07xX61vOyqlBsJH3UbjkWvaewie1VP9IoiX2Ja/P2XCJw==} + '@esbuild/linux-riscv64@0.21.1': + resolution: {integrity: sha512-ARmDRNkcOGOm1AqUBSwRVDfDeD9hGYRfkudP2QdoonBz1ucWVnfBPfy7H4JPI14eYtZruRSczJxyu7SRYDVOcg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -1551,8 +1551,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.21.0': - resolution: {integrity: sha512-Gz/gafubuM3L1D29LnqaxcGg16aa2XES/uFTFdcvrwsRpMxkLiowaUvIiWJfatf/oCyyZu5CT8SrlMy37dGc7A==} + '@esbuild/linux-s390x@0.21.1': + resolution: {integrity: sha512-o73TcUNMuoTZlhwFdsgr8SfQtmMV58sbgq6gQq9G1xUiYnHMTmJbwq65RzMx89l0iya69lR4bxBgtWiiOyDQZA==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -1575,8 +1575,8 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.21.0': - resolution: {integrity: sha512-OGorpObKLm8XlhoJlxtdwECfnESXu3kd8mU1yZ5Xk0vmh0d2xoJjEXJi7y7mjFpc3+XfGQRgHq/gqyIkbufnvA==} + '@esbuild/linux-x64@0.21.1': + resolution: {integrity: sha512-da4/1mBJwwgJkbj4fMH7SOXq2zapgTo0LKXX1VUZ0Dxr+e8N0WbS80nSZ5+zf3lvpf8qxrkZdqkOqFfm57gXwA==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -1599,8 +1599,8 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.21.0': - resolution: {integrity: sha512-AwkJoff9D5Px7+lHafSSgDK3JreyeyPtwTsOfxhlk5NZ+bMGlvSfHkA6DKv9vD0gmGrBPTMv/uIePkNaVsDq7w==} + '@esbuild/netbsd-x64@0.21.1': + resolution: {integrity: sha512-CPWs0HTFe5woTJN5eKPvgraUoRHrCtzlYIAv9wBC+FAyagBSaf+UdZrjwYyTGnwPGkThV4OCI7XibZOnPvONVw==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -1623,8 +1623,8 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.21.0': - resolution: {integrity: sha512-wqv7KSmRA4qf0lFZ2Abjp2boO9tDe7YwNLZ7DNUI5rsluS0/TF78CtPUUAePukgE6b2HcXYZYuL5F2yXdQIqIg==} + '@esbuild/openbsd-x64@0.21.1': + resolution: {integrity: sha512-xxhTm5QtzNLc24R0hEkcH+zCx/o49AsdFZ0Cy5zSd/5tOj4X2g3/2AJB625NoadUuc4A8B3TenLJoYdWYOYCew==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -1647,8 +1647,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.21.0': - resolution: {integrity: sha512-3qAZFC752nZZQOI+OG4KIawvLfdD5yMFCeIFz0OhedMpYgq9AOKygW45Ojy0E5upBqns2fUaMFk1CnNSkvJaYw==} + '@esbuild/sunos-x64@0.21.1': + resolution: {integrity: sha512-CWibXszpWys1pYmbr9UiKAkX6x+Sxw8HWtw1dRESK1dLW5fFJ6rMDVw0o8MbadusvVQx1a8xuOxnHXT941Hp1A==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1671,8 +1671,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.21.0': - resolution: {integrity: sha512-06BY4wjQQ2bPjayuvKWXr5X3V+ZGnoTOX1+doLoQBUSyCDb9JZgX7o0N3t3rRNmEiMY/DuxXwu+EE+U32B4ErA==} + '@esbuild/win32-arm64@0.21.1': + resolution: {integrity: sha512-jb5B4k+xkytGbGUS4T+Z89cQJ9DJ4lozGRSV+hhfmCPpfJ3880O31Q1srPCimm+V6UCbnigqD10EgDNgjvjerQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1695,8 +1695,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.21.0': - resolution: {integrity: sha512-uTLz9mPOMkl3bfuGnSQumrUN7U1aPb8MCOdjQJOWPGdXTZhkK6Z2lLHxdTjX6C51jxXWWAo64tcRwiAYOkQhJw==} + '@esbuild/win32-ia32@0.21.1': + resolution: {integrity: sha512-PgyFvjJhXqHn1uxPhyN1wZ6dIomKjiLUQh1LjFvjiV1JmnkZ/oMPrfeEAZg5R/1ftz4LZWZr02kefNIQ5SKREQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1719,8 +1719,8 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.21.0': - resolution: {integrity: sha512-XT0oCVNRjmrMTz/Xd+9L2eOI83gUQZg9Viiv3cuT/8VNlXVMn6QsxyBMDNFsYX+wmQRD31VMKNtkZaXvS3/JiA==} + '@esbuild/win32-x64@0.21.1': + resolution: {integrity: sha512-W9NttRZQR5ehAiqHGDnvfDaGmQOm6Fi4vSlce8mjM75x//XKuVAByohlEX6N17yZnVXxQFuh4fDRunP8ca6bfA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -3872,8 +3872,8 @@ packages: engines: {node: '>=12'} hasBin: true - esbuild@0.21.0: - resolution: {integrity: sha512-eyK64lASNug3Wo2+bQEBnYngjh9rkXUfOus403+OeVZteMon6moIhcEYbrSvcgBN6RsrRWCMoWcKDDK6UEsTOQ==} + esbuild@0.21.1: + resolution: {integrity: sha512-GPqx+FX7mdqulCeQ4TsGZQ3djBJkx5k7zBGtqt9ycVlWNg8llJ4RO9n2vciu8BN2zAEs6lPbPl0asZsAh7oWzg==} engines: {node: '>=12'} hasBin: true @@ -4942,10 +4942,6 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true @@ -6274,8 +6270,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + semver@7.6.1: + resolution: {integrity: sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA==} engines: {node: '>=10'} hasBin: true @@ -7625,7 +7621,7 @@ snapshots: '@esbuild/aix-ppc64@0.20.2': optional: true - '@esbuild/aix-ppc64@0.21.0': + '@esbuild/aix-ppc64@0.21.1': optional: true '@esbuild/android-arm64@0.18.20': @@ -7637,7 +7633,7 @@ snapshots: '@esbuild/android-arm64@0.20.2': optional: true - '@esbuild/android-arm64@0.21.0': + '@esbuild/android-arm64@0.21.1': optional: true '@esbuild/android-arm@0.18.20': @@ -7649,7 +7645,7 @@ snapshots: '@esbuild/android-arm@0.20.2': optional: true - '@esbuild/android-arm@0.21.0': + '@esbuild/android-arm@0.21.1': optional: true '@esbuild/android-x64@0.18.20': @@ -7661,7 +7657,7 @@ snapshots: '@esbuild/android-x64@0.20.2': optional: true - '@esbuild/android-x64@0.21.0': + '@esbuild/android-x64@0.21.1': optional: true '@esbuild/darwin-arm64@0.18.20': @@ -7673,7 +7669,7 @@ snapshots: '@esbuild/darwin-arm64@0.20.2': optional: true - '@esbuild/darwin-arm64@0.21.0': + '@esbuild/darwin-arm64@0.21.1': optional: true '@esbuild/darwin-x64@0.18.20': @@ -7685,7 +7681,7 @@ snapshots: '@esbuild/darwin-x64@0.20.2': optional: true - '@esbuild/darwin-x64@0.21.0': + '@esbuild/darwin-x64@0.21.1': optional: true '@esbuild/freebsd-arm64@0.18.20': @@ -7697,7 +7693,7 @@ snapshots: '@esbuild/freebsd-arm64@0.20.2': optional: true - '@esbuild/freebsd-arm64@0.21.0': + '@esbuild/freebsd-arm64@0.21.1': optional: true '@esbuild/freebsd-x64@0.18.20': @@ -7709,7 +7705,7 @@ snapshots: '@esbuild/freebsd-x64@0.20.2': optional: true - '@esbuild/freebsd-x64@0.21.0': + '@esbuild/freebsd-x64@0.21.1': optional: true '@esbuild/linux-arm64@0.18.20': @@ -7721,7 +7717,7 @@ snapshots: '@esbuild/linux-arm64@0.20.2': optional: true - '@esbuild/linux-arm64@0.21.0': + '@esbuild/linux-arm64@0.21.1': optional: true '@esbuild/linux-arm@0.18.20': @@ -7733,7 +7729,7 @@ snapshots: '@esbuild/linux-arm@0.20.2': optional: true - '@esbuild/linux-arm@0.21.0': + '@esbuild/linux-arm@0.21.1': optional: true '@esbuild/linux-ia32@0.18.20': @@ -7745,7 +7741,7 @@ snapshots: '@esbuild/linux-ia32@0.20.2': optional: true - '@esbuild/linux-ia32@0.21.0': + '@esbuild/linux-ia32@0.21.1': optional: true '@esbuild/linux-loong64@0.18.20': @@ -7757,7 +7753,7 @@ snapshots: '@esbuild/linux-loong64@0.20.2': optional: true - '@esbuild/linux-loong64@0.21.0': + '@esbuild/linux-loong64@0.21.1': optional: true '@esbuild/linux-mips64el@0.18.20': @@ -7769,7 +7765,7 @@ snapshots: '@esbuild/linux-mips64el@0.20.2': optional: true - '@esbuild/linux-mips64el@0.21.0': + '@esbuild/linux-mips64el@0.21.1': optional: true '@esbuild/linux-ppc64@0.18.20': @@ -7781,7 +7777,7 @@ snapshots: '@esbuild/linux-ppc64@0.20.2': optional: true - '@esbuild/linux-ppc64@0.21.0': + '@esbuild/linux-ppc64@0.21.1': optional: true '@esbuild/linux-riscv64@0.18.20': @@ -7793,7 +7789,7 @@ snapshots: '@esbuild/linux-riscv64@0.20.2': optional: true - '@esbuild/linux-riscv64@0.21.0': + '@esbuild/linux-riscv64@0.21.1': optional: true '@esbuild/linux-s390x@0.18.20': @@ -7805,7 +7801,7 @@ snapshots: '@esbuild/linux-s390x@0.20.2': optional: true - '@esbuild/linux-s390x@0.21.0': + '@esbuild/linux-s390x@0.21.1': optional: true '@esbuild/linux-x64@0.18.20': @@ -7817,7 +7813,7 @@ snapshots: '@esbuild/linux-x64@0.20.2': optional: true - '@esbuild/linux-x64@0.21.0': + '@esbuild/linux-x64@0.21.1': optional: true '@esbuild/netbsd-x64@0.18.20': @@ -7829,7 +7825,7 @@ snapshots: '@esbuild/netbsd-x64@0.20.2': optional: true - '@esbuild/netbsd-x64@0.21.0': + '@esbuild/netbsd-x64@0.21.1': optional: true '@esbuild/openbsd-x64@0.18.20': @@ -7841,7 +7837,7 @@ snapshots: '@esbuild/openbsd-x64@0.20.2': optional: true - '@esbuild/openbsd-x64@0.21.0': + '@esbuild/openbsd-x64@0.21.1': optional: true '@esbuild/sunos-x64@0.18.20': @@ -7853,7 +7849,7 @@ snapshots: '@esbuild/sunos-x64@0.20.2': optional: true - '@esbuild/sunos-x64@0.21.0': + '@esbuild/sunos-x64@0.21.1': optional: true '@esbuild/win32-arm64@0.18.20': @@ -7865,7 +7861,7 @@ snapshots: '@esbuild/win32-arm64@0.20.2': optional: true - '@esbuild/win32-arm64@0.21.0': + '@esbuild/win32-arm64@0.21.1': optional: true '@esbuild/win32-ia32@0.18.20': @@ -7877,7 +7873,7 @@ snapshots: '@esbuild/win32-ia32@0.20.2': optional: true - '@esbuild/win32-ia32@0.21.0': + '@esbuild/win32-ia32@0.21.1': optional: true '@esbuild/win32-x64@0.18.20': @@ -7889,7 +7885,7 @@ snapshots: '@esbuild/win32-x64@0.20.2': optional: true - '@esbuild/win32-x64@0.21.0': + '@esbuild/win32-x64@0.21.1': optional: true '@eslint-community/eslint-utils@4.4.0(eslint@9.2.0)': @@ -8052,7 +8048,7 @@ snapshots: nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.6.0 + semver: 7.6.1 tar: 6.2.0 transitivePeerDependencies: - encoding @@ -8093,7 +8089,7 @@ snapshots: '@npmcli/fs@3.1.0': dependencies: - semver: 7.6.0 + semver: 7.6.1 '@npmcli/git@5.0.3': dependencies: @@ -8103,7 +8099,7 @@ snapshots: proc-log: 3.0.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.6.0 + semver: 7.6.1 which: 4.0.0 transitivePeerDependencies: - bluebird @@ -8123,7 +8119,7 @@ snapshots: json-parse-even-better-errors: 3.0.0 normalize-package-data: 6.0.0 proc-log: 4.2.0 - semver: 7.6.0 + semver: 7.6.1 transitivePeerDependencies: - bluebird @@ -8164,7 +8160,7 @@ snapshots: pkg-types: 1.1.0 prompts: 2.4.2 rc9: 2.1.2 - semver: 7.6.0 + semver: 7.6.1 '@nuxt/devtools@1.2.0(@unocss/reset@0.59.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: @@ -8199,7 +8195,7 @@ snapshots: pkg-types: 1.1.0 rc9: 2.1.2 scule: 1.3.0 - semver: 7.6.0 + semver: 7.6.1 simple-git: 3.24.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.17.2) @@ -8887,7 +8883,7 @@ snapshots: graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.6.0 + semver: 7.6.1 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 @@ -8941,7 +8937,7 @@ snapshots: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.6.0 + semver: 7.6.1 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 @@ -8956,7 +8952,7 @@ snapshots: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.4 - semver: 7.6.0 + semver: 7.6.1 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 @@ -8972,7 +8968,7 @@ snapshots: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) eslint: 9.2.0 - semver: 7.6.0 + semver: 7.6.1 transitivePeerDependencies: - supports-color - typescript @@ -8986,7 +8982,7 @@ snapshots: '@typescript-eslint/types': 7.7.1 '@typescript-eslint/typescript-estree': 7.7.1(typescript@5.4.5) eslint: 9.2.0 - semver: 7.6.0 + semver: 7.6.1 transitivePeerDependencies: - supports-color - typescript @@ -9882,7 +9878,7 @@ snapshots: builtins@5.0.1: dependencies: - semver: 7.6.0 + semver: 7.6.1 bundle-name@3.0.0: dependencies: @@ -9991,7 +9987,7 @@ snapshots: pathe: 1.1.2 pkg-types: 1.1.0 scule: 1.3.0 - semver: 7.6.0 + semver: 7.6.1 std-env: 3.7.0 yaml: 2.3.4 @@ -10199,7 +10195,7 @@ snapshots: postcss-modules-scope: 3.2.0(postcss@8.4.38) postcss-modules-values: 4.0.0(postcss@8.4.38) postcss-value-parser: 4.2.0 - semver: 7.6.0 + semver: 7.6.1 optionalDependencies: webpack: 5.91.0 @@ -10450,7 +10446,7 @@ snapshots: '@one-ini/wasm': 0.1.1 commander: 10.0.1 minimatch: 9.0.1 - semver: 7.6.0 + semver: 7.6.1 ee-first@1.1.1: {} @@ -10609,31 +10605,31 @@ snapshots: '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 - esbuild@0.21.0: + esbuild@0.21.1: optionalDependencies: - '@esbuild/aix-ppc64': 0.21.0 - '@esbuild/android-arm': 0.21.0 - '@esbuild/android-arm64': 0.21.0 - '@esbuild/android-x64': 0.21.0 - '@esbuild/darwin-arm64': 0.21.0 - '@esbuild/darwin-x64': 0.21.0 - '@esbuild/freebsd-arm64': 0.21.0 - '@esbuild/freebsd-x64': 0.21.0 - '@esbuild/linux-arm': 0.21.0 - '@esbuild/linux-arm64': 0.21.0 - '@esbuild/linux-ia32': 0.21.0 - '@esbuild/linux-loong64': 0.21.0 - '@esbuild/linux-mips64el': 0.21.0 - '@esbuild/linux-ppc64': 0.21.0 - '@esbuild/linux-riscv64': 0.21.0 - '@esbuild/linux-s390x': 0.21.0 - '@esbuild/linux-x64': 0.21.0 - '@esbuild/netbsd-x64': 0.21.0 - '@esbuild/openbsd-x64': 0.21.0 - '@esbuild/sunos-x64': 0.21.0 - '@esbuild/win32-arm64': 0.21.0 - '@esbuild/win32-ia32': 0.21.0 - '@esbuild/win32-x64': 0.21.0 + '@esbuild/aix-ppc64': 0.21.1 + '@esbuild/android-arm': 0.21.1 + '@esbuild/android-arm64': 0.21.1 + '@esbuild/android-x64': 0.21.1 + '@esbuild/darwin-arm64': 0.21.1 + '@esbuild/darwin-x64': 0.21.1 + '@esbuild/freebsd-arm64': 0.21.1 + '@esbuild/freebsd-x64': 0.21.1 + '@esbuild/linux-arm': 0.21.1 + '@esbuild/linux-arm64': 0.21.1 + '@esbuild/linux-ia32': 0.21.1 + '@esbuild/linux-loong64': 0.21.1 + '@esbuild/linux-mips64el': 0.21.1 + '@esbuild/linux-ppc64': 0.21.1 + '@esbuild/linux-riscv64': 0.21.1 + '@esbuild/linux-s390x': 0.21.1 + '@esbuild/linux-x64': 0.21.1 + '@esbuild/netbsd-x64': 0.21.1 + '@esbuild/openbsd-x64': 0.21.1 + '@esbuild/sunos-x64': 0.21.1 + '@esbuild/win32-arm64': 0.21.1 + '@esbuild/win32-ia32': 0.21.1 + '@esbuild/win32-x64': 0.21.1 escalade@3.1.1: {} @@ -10673,7 +10669,7 @@ snapshots: get-tsconfig: 4.7.3 is-glob: 4.0.3 minimatch: 9.0.4 - semver: 7.6.0 + semver: 7.6.1 transitivePeerDependencies: - supports-color - typescript @@ -10688,7 +10684,7 @@ snapshots: eslint: 9.2.0 esquery: 1.5.0 is-builtin-module: 3.2.1 - semver: 7.6.0 + semver: 7.6.1 spdx-expression-parse: 4.0.0 transitivePeerDependencies: - supports-color @@ -10724,7 +10720,7 @@ snapshots: read-pkg-up: 7.0.1 regexp-tree: 0.1.27 regjsparser: 0.10.0 - semver: 7.6.0 + semver: 7.6.1 strip-indent: 3.0.0 transitivePeerDependencies: - supports-color @@ -10737,7 +10733,7 @@ snapshots: natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.16 - semver: 7.6.0 + semver: 7.6.1 vue-eslint-parser: 9.4.2(eslint@9.2.0) xml-name-validator: 4.0.0 transitivePeerDependencies: @@ -10993,7 +10989,7 @@ snapshots: minimatch: 3.1.2 node-abort-controller: 3.1.1 schema-utils: 3.3.0 - semver: 7.6.0 + semver: 7.6.1 tapable: 2.2.1 typescript: 5.4.5 webpack: 5.91.0 @@ -11836,10 +11832,6 @@ snapshots: dependencies: yallist: 3.1.1 - lru-cache@6.0.0: - dependencies: - yallist: 4.0.0 - lz-string@1.5.0: {} magic-string-ast@0.3.0: @@ -11862,7 +11854,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.6.0 + semver: 7.6.1 make-fetch-happen@13.0.0: dependencies: @@ -12457,7 +12449,7 @@ snapshots: rollup: 4.17.2 rollup-plugin-visualizer: 5.12.0(rollup@4.17.2) scule: 1.3.0 - semver: 7.6.0 + semver: 7.6.1 serve-placeholder: 2.0.1 serve-static: 1.15.0 std-env: 3.7.0 @@ -12524,7 +12516,7 @@ snapshots: make-fetch-happen: 13.0.0 nopt: 7.2.0 proc-log: 3.0.0 - semver: 7.6.0 + semver: 7.6.1 tar: 6.2.0 which: 4.0.0 transitivePeerDependencies: @@ -12555,7 +12547,7 @@ snapshots: dependencies: hosted-git-info: 7.0.1 is-core-module: 2.13.1 - semver: 7.6.0 + semver: 7.6.1 validate-npm-package-license: 3.0.4 normalize-path@3.0.0: {} @@ -12568,7 +12560,7 @@ snapshots: npm-install-checks@6.3.0: dependencies: - semver: 7.6.0 + semver: 7.6.1 npm-normalize-package-bin@3.0.1: {} @@ -12576,7 +12568,7 @@ snapshots: dependencies: hosted-git-info: 7.0.1 proc-log: 3.0.0 - semver: 7.6.0 + semver: 7.6.1 validate-npm-package-name: 5.0.0 npm-packlist@8.0.0: @@ -12588,7 +12580,7 @@ snapshots: npm-install-checks: 6.3.0 npm-normalize-package-bin: 3.0.1 npm-package-arg: 11.0.1 - semver: 7.6.0 + semver: 7.6.1 npm-registry-fetch@16.1.0: dependencies: @@ -12941,7 +12933,7 @@ snapshots: cosmiconfig: 9.0.0(typescript@5.4.5) jiti: 1.21.0 postcss: 8.4.38 - semver: 7.6.0 + semver: 7.6.1 optionalDependencies: webpack: 5.91.0 transitivePeerDependencies: @@ -13553,9 +13545,7 @@ snapshots: semver@6.3.1: {} - semver@7.6.0: - dependencies: - lru-cache: 6.0.0 + semver@7.6.1: {} send@0.18.0: dependencies: @@ -14327,7 +14317,7 @@ snapshots: fast-glob: 3.3.2 fs-extra: 11.2.0 npm-run-path: 4.0.1 - semver: 7.6.0 + semver: 7.6.1 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) @@ -14479,7 +14469,7 @@ snapshots: vscode-languageclient@7.0.0: dependencies: minimatch: 3.1.2 - semver: 7.6.0 + semver: 7.6.1 vscode-languageserver-protocol: 3.16.0 vscode-languageserver-protocol@3.16.0: @@ -14518,7 +14508,7 @@ snapshots: espree: 9.6.1 esquery: 1.5.0 lodash: 4.17.21 - semver: 7.6.0 + semver: 7.6.1 transitivePeerDependencies: - supports-color @@ -14554,7 +14544,7 @@ snapshots: dependencies: '@volar/typescript': 2.2.0 '@vue/language-core': 2.0.16(typescript@5.4.5) - semver: 7.6.0 + semver: 7.6.1 typescript: 5.4.5 vue-virtual-scroller@2.0.0-beta.8(vue@3.4.27(typescript@5.4.5)): From f687e211a8faf62979a21d395c4b922babc4965d Mon Sep 17 00:00:00 2001 From: Julien Huang Date: Wed, 8 May 2024 14:33:54 +0200 Subject: [PATCH 028/127] feat(nuxt): add `#fallback` slot to server components types (#27097) --- packages/nuxt/src/components/templates.ts | 16 +++++++++++----- .../components/ServerComponent.server.vue | 5 +++++ test/fixtures/basic-types/types.ts | 7 +++++-- 3 files changed, 21 insertions(+), 7 deletions(-) create mode 100644 test/fixtures/basic-types/components/ServerComponent.server.vue diff --git a/packages/nuxt/src/components/templates.ts b/packages/nuxt/src/components/templates.ts index f574d8514..bb21509ee 100644 --- a/packages/nuxt/src/components/templates.ts +++ b/packages/nuxt/src/components/templates.ts @@ -102,14 +102,20 @@ export const componentsTypeTemplate = { filename: 'components.d.ts' as const, getContents: ({ app, nuxt }) => { const buildDir = nuxt.options.buildDir - const componentTypes = app.components.filter(c => !c.island).map(c => [ - c.pascalName, - `typeof ${genDynamicImport(isAbsolute(c.filePath) + const componentTypes = app.components.filter(c => !c.island).map((c) => { + const type = `typeof ${genDynamicImport(isAbsolute(c.filePath) ? relative(buildDir, c.filePath).replace(/(?<=\w)\.(?!vue)\w+$/g, '') - : c.filePath.replace(/(?<=\w)\.(?!vue)\w+$/g, ''), { wrapper: false })}['${c.export}']`, - ]) + : c.filePath.replace(/(?<=\w)\.(?!vue)\w+$/g, ''), { wrapper: false })}['${c.export}']` + return [ + c.pascalName, + c.island || c.mode === 'server' ? `IslandComponent<${type}>` : type, + ] + }) + const islandType = 'type IslandComponent = T & DefineComponent<{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, SlotsType<{ fallback: { error: unknown } }>>' return ` +import type { DefineComponent, SlotsType } from 'vue' +${nuxt.options.experimental.componentIslands ? islandType : ''} interface _GlobalComponents { ${componentTypes.map(([pascalName, type]) => ` '${pascalName}': ${type}`).join('\n')} ${componentTypes.map(([pascalName, type]) => ` 'Lazy${pascalName}': ${type}`).join('\n')} diff --git a/test/fixtures/basic-types/components/ServerComponent.server.vue b/test/fixtures/basic-types/components/ServerComponent.server.vue new file mode 100644 index 000000000..3b082ccf7 --- /dev/null +++ b/test/fixtures/basic-types/components/ServerComponent.server.vue @@ -0,0 +1,5 @@ + diff --git a/test/fixtures/basic-types/types.ts b/test/fixtures/basic-types/types.ts index f20bf6d55..d663662e0 100644 --- a/test/fixtures/basic-types/types.ts +++ b/test/fixtures/basic-types/types.ts @@ -1,5 +1,5 @@ import { describe, expectTypeOf, it } from 'vitest' -import type { Ref } from 'vue' +import type { Ref, SlotsType } from 'vue' import type { FetchError } from 'ofetch' import type { NavigationFailure, RouteLocationNormalized, RouteLocationRaw, Router, useRouter as vueUseRouter } from '#vue-router' @@ -8,7 +8,7 @@ import { defineNuxtConfig } from 'nuxt/config' import { callWithNuxt, isVue3 } from '#app' import type { NuxtError } from '#app' import type { NavigateToOptions } from '#app/composables/router' -import { NuxtLayout, NuxtLink, NuxtPage, WithTypes } from '#components' +import { NuxtLayout, NuxtLink, NuxtPage, ServerComponent, WithTypes } from '#components' import { useRouter } from '#imports' interface TestResponse { message: string } @@ -372,6 +372,9 @@ describe('components', () => { // TODO: assert typed slots, exposed, generics, etc. }) + it('include fallback slot in server components', () => { + expectTypeOf(ServerComponent.slots).toEqualTypeOf | undefined>() + }) }) describe('composables', () => { From 9b1bfe69ed4a146e2a12131f53019618fa115085 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Wed, 8 May 2024 13:52:19 +0100 Subject: [PATCH 029/127] perf(ui-templates): don't emit message data for pure strings --- packages/ui-templates/lib/render.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/ui-templates/lib/render.ts b/packages/ui-templates/lib/render.ts index 713311835..7a1ff37d3 100644 --- a/packages/ui-templates/lib/render.ts +++ b/packages/ui-templates/lib/render.ts @@ -80,6 +80,7 @@ export const RenderPlugin = () => { // Serialize into a js function const chunks = html.split(/\{{2,3}\s*[^{}]+\s*\}{2,3}/g).map(chunk => JSON.stringify(chunk)) + let hasMessages = chunks.length > 1 let templateString = chunks.shift() for (const expression of html.matchAll(/\{{2,3}(\s*[^{}]+\s*)\}{2,3}/g)) { templateString += ` + (${expression[1].trim()}) + ${chunks.shift()}` @@ -88,10 +89,10 @@ export const RenderPlugin = () => { templateString += ' + ' + chunks.join(' + ') } const functionalCode = [ - `export type DefaultMessages = Record<${Object.keys({ ...genericMessages, ...messages }).map(a => `"${a}"`).join(' | ') || 'string'}, string | boolean | number >`, - `const _messages = ${JSON.stringify({ ...genericMessages, ...messages })}`, - 'export const template = (messages: Partial) => {', - ' messages = { ..._messages, ...messages }', + hasMessages ? `export type DefaultMessages = Record<${Object.keys({ ...genericMessages, ...messages }).map(a => `"${a}"`).join(' | ') || 'string'}, string | boolean | number >` : '', + hasMessages ? `const _messages = ${JSON.stringify({ ...genericMessages, ...messages })}` : '', + `export const template = (${hasMessages ? 'messages: Partial' : ''}) => {`, + hasMessages ? ' messages = { ..._messages, ...messages }' : '', ` return ${templateString}`, '}', ].join('\n') From 0e12b6eb8b6149d9d1922981ac38698dbd9d6ba4 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Wed, 8 May 2024 16:00:33 +0100 Subject: [PATCH 030/127] fix(nuxt): don't pass options to `spaLoadingTemplate` function --- packages/nuxt/src/core/nitro.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 0bbc09aa6..d908f2870 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -588,7 +588,7 @@ async function spaLoadingTemplate (nuxt: Nuxt) { } if (nuxt.options.spaLoadingTemplate === true) { - return defaultSpaLoadingTemplate({}) + return defaultSpaLoadingTemplate() } if (nuxt.options.spaLoadingTemplate) { From 3708ee8721ff094b34865848f4e5265443b4a0c5 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Wed, 8 May 2024 16:17:47 +0100 Subject: [PATCH 031/127] chore: for goodness' sake --- packages/ui-templates/lib/render.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ui-templates/lib/render.ts b/packages/ui-templates/lib/render.ts index 7a1ff37d3..38ea09e2a 100644 --- a/packages/ui-templates/lib/render.ts +++ b/packages/ui-templates/lib/render.ts @@ -80,7 +80,7 @@ export const RenderPlugin = () => { // Serialize into a js function const chunks = html.split(/\{{2,3}\s*[^{}]+\s*\}{2,3}/g).map(chunk => JSON.stringify(chunk)) - let hasMessages = chunks.length > 1 + const hasMessages = chunks.length > 1 let templateString = chunks.shift() for (const expression of html.matchAll(/\{{2,3}(\s*[^{}]+\s*)\}{2,3}/g)) { templateString += ` + (${expression[1].trim()}) + ${chunks.shift()}` From 4b720cd48f8c660314376cef728f58ed5eb70f6b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 8 May 2024 23:53:08 +0100 Subject: [PATCH 032/127] chore(deps): update all non-major dependencies (main) (#27104) --- .github/workflows/autofix-docs.yml | 2 +- .github/workflows/autofix.yml | 2 +- .github/workflows/benchmark.yml | 2 +- .github/workflows/changelog.yml | 2 +- .github/workflows/check-links.yml | 2 +- .github/workflows/ci.yml | 20 +-- .github/workflows/dependency-review.yml | 2 +- .github/workflows/docs.yml | 2 +- .github/workflows/introspect.yml | 2 +- .github/workflows/nuxt2-edge.yml | 2 +- .github/workflows/release-pr.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/reproduire.yml | 2 +- .github/workflows/scorecards.yml | 4 +- package.json | 2 +- pnpm-lock.yaml | 225 +++++++++++++++++++----- 16 files changed, 202 insertions(+), 73 deletions(-) diff --git a/.github/workflows/autofix-docs.yml b/.github/workflows/autofix-docs.yml index 2ec7b6c82..e7abf22cf 100644 --- a/.github/workflows/autofix-docs.yml +++ b/.github/workflows/autofix-docs.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml index 06774c445..9dac29db6 100644 --- a/.github/workflows/autofix.yml +++ b/.github/workflows/autofix.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index dfcb36841..38d439240 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -29,7 +29,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml index dc9c0055d..b2ed73180 100644 --- a/.github/workflows/changelog.yml +++ b/.github/workflows/changelog.yml @@ -20,7 +20,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: fetch-depth: 0 - run: corepack enable diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml index 541a0b583..7eeb4ac0c 100644 --- a/.github/workflows/check-links.yml +++ b/.github/workflows/check-links.yml @@ -25,7 +25,7 @@ jobs: restore-keys: cache-lychee- # check links with Lychee - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - name: Lychee link checker uses: lycheeverse/lychee-action@054a8e8c7a88ada133165c6633a49825a32174e2 # for v1.8.0 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f16e444a6..dedcbce08 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,7 +35,7 @@ jobs: timeout-minutes: 10 steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: @@ -72,7 +72,7 @@ jobs: - build steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: @@ -83,7 +83,7 @@ jobs: run: pnpm install - name: Initialize CodeQL - uses: github/codeql-action/init@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3 + uses: github/codeql-action/init@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3.25.4 with: languages: javascript queries: +security-and-quality @@ -95,7 +95,7 @@ jobs: path: packages - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3 + uses: github/codeql-action/analyze@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3.25.4 with: category: "/language:javascript" @@ -111,7 +111,7 @@ jobs: module: ["bundler", "node"] steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: @@ -142,7 +142,7 @@ jobs: timeout-minutes: 10 steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: @@ -166,7 +166,7 @@ jobs: needs: - build steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: @@ -209,7 +209,7 @@ jobs: timeout-minutes: 15 steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: @@ -260,7 +260,7 @@ jobs: timeout-minutes: 20 steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: fetch-depth: 0 - run: corepack enable @@ -299,7 +299,7 @@ jobs: timeout-minutes: 20 steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: fetch-depth: 0 - run: corepack enable diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index c2b9ca783..3ef8303b1 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -17,6 +17,6 @@ jobs: runs-on: ubuntu-latest steps: - name: 'Checkout Repository' - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - name: 'Dependency Review' uses: actions/dependency-review-action@0c155c5e8556a497adf53f2c18edabf945ed8e70 # v4.3.2 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 79535b8ef..dc5775d1b 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -20,7 +20,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: diff --git a/.github/workflows/introspect.yml b/.github/workflows/introspect.yml index 0eeced2da..2defd7357 100644 --- a/.github/workflows/introspect.yml +++ b/.github/workflows/introspect.yml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 # From https://github.com/rhysd/actionlint/blob/main/docs/usage.md#use-actionlint-on-github-actions - name: Check workflow files run: | diff --git a/.github/workflows/nuxt2-edge.yml b/.github/workflows/nuxt2-edge.yml index 242e42737..20263b55b 100644 --- a/.github/workflows/nuxt2-edge.yml +++ b/.github/workflows/nuxt2-edge.yml @@ -21,7 +21,7 @@ jobs: permissions: id-token: write steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: ref: '2.x' fetch-depth: 0 # All history diff --git a/.github/workflows/release-pr.yml b/.github/workflows/release-pr.yml index 851f92807..6558f9b7f 100644 --- a/.github/workflows/release-pr.yml +++ b/.github/workflows/release-pr.yml @@ -29,7 +29,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: ref: refs/pull/${{ github.event.issue.number }}/merge fetch-depth: 0 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bf3f3e4f8..e59c7ae24 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 20 steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: fetch-depth: 0 - run: corepack enable diff --git a/.github/workflows/reproduire.yml b/.github/workflows/reproduire.yml index 6b36df019..cc4aec069 100644 --- a/.github/workflows/reproduire.yml +++ b/.github/workflows/reproduire.yml @@ -10,7 +10,7 @@ jobs: reproduire: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - uses: Hebilicious/reproduire@4b686ae9cbb72dad60f001d278b6e3b2ce40a9ac # v0.0.9-mp with: label: needs reproduction diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 00fec63d0..e11e58764 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -32,7 +32,7 @@ jobs: steps: - name: "Checkout code" - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: persist-credentials: false @@ -68,7 +68,7 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3 + uses: github/codeql-action/upload-sarif@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3.25.4 if: github.repository == 'nuxt/nuxt' && success() with: sarif_file: results.sarif diff --git a/package.json b/package.json index ca12e0ecd..b9b5f18f8 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@testing-library/vue": "8.0.3", "@types/eslint__js": "8.42.3", "@types/fs-extra": "11.0.4", - "@types/node": "20.12.10", + "@types/node": "20.12.11", "@types/semver": "7.5.8", "@vitest/coverage-v8": "1.6.0", "@vue/test-utils": "2.4.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f79726d7d..bce27e08d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,7 +31,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.1 - version: 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) + version: 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -45,14 +45,14 @@ importers: specifier: 11.0.4 version: 11.0.4 '@types/node': - specifier: 20.12.10 - version: 20.12.10 + specifier: 20.12.11 + version: 20.12.11 '@types/semver': specifier: 7.5.8 version: 7.5.8 '@vitest/coverage-v8': specifier: 1.6.0 - version: 1.6.0(vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0)) + version: 1.6.0(vitest@1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0)) '@vue/test-utils': specifier: 2.4.6 version: 2.4.6 @@ -139,10 +139,10 @@ importers: version: 1.5.3 vitest: specifier: 1.6.0 - version: 1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) + version: 1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) + version: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) vue: specifier: 3.4.27 version: 3.4.27(typescript@5.4.5) @@ -230,10 +230,10 @@ importers: version: 2.0.0(sass@1.69.4)(typescript@5.4.5) vite: specifier: 5.2.11 - version: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) + version: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) vitest: specifier: 1.6.0 - version: 1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) + version: 1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) webpack: specifier: 5.91.0 version: 5.91.0 @@ -493,10 +493,10 @@ importers: version: 1.9.10 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 5.0.4(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vitejs/plugin-vue-jsx': specifier: 3.1.0 - version: 3.1.0(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 3.1.0(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/compiler-core': specifier: 3.4.27 version: 3.4.27 @@ -535,7 +535,7 @@ importers: version: 1.9.0 vite: specifier: 5.2.11 - version: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) + version: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) vue: specifier: 3.4.27 version: 3.4.27(typescript@5.4.5) @@ -592,10 +592,10 @@ importers: version: 1.3.0 unocss: specifier: 0.59.4 - version: 0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) + version: 0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) vite: specifier: 5.2.11 - version: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) + version: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) packages/vite: dependencies: @@ -607,10 +607,10 @@ importers: version: 5.0.5(rollup@4.17.2) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 5.0.4(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 3.1.0(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.38) @@ -691,13 +691,13 @@ importers: version: 1.10.1 vite: specifier: 5.2.11 - version: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) + version: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) vite-node: specifier: ^1.6.0 - version: 1.6.0(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) + version: 1.6.0(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@9.2.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.16(typescript@5.4.5)) + version: 0.6.4(eslint@9.2.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.16(typescript@5.4.5)) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -920,7 +920,7 @@ importers: version: 1.3.4 vitest: specifier: 1.5.3 - version: 1.5.3(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) + version: 1.5.3(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) vue: specifier: 3.4.27 version: 3.4.27(typescript@5.4.5) @@ -2426,6 +2426,9 @@ packages: '@types/node@20.12.10': resolution: {integrity: sha512-Eem5pH9pmWBHoGAT8Dr5fdc5rYA+4NAovdM4EktRPVAAiJhmWWfQrA0cFhAbOsQdSfIHjAud6YdkbL69+zSKjw==} + '@types/node@20.12.11': + resolution: {integrity: sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==} + '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -7987,7 +7990,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.5 '@types/istanbul-reports': 3.0.3 - '@types/node': 20.12.10 + '@types/node': 20.12.11 '@types/yargs': 17.0.28 chalk: 4.1.2 @@ -8287,7 +8290,7 @@ snapshots: rc9: 2.1.2 std-env: 3.7.0 - '@nuxt/test-utils@3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))': + '@nuxt/test-utils@3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))': dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema @@ -8312,8 +8315,8 @@ snapshots: ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.1 - vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) + vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) vue: 3.4.27(typescript@5.4.5) vue-router: 4.3.2(vue@3.4.27(typescript@5.4.5)) optionalDependencies: @@ -8321,7 +8324,7 @@ snapshots: '@vue/test-utils': 2.4.6 happy-dom: 14.10.1 playwright-core: 1.44.0 - vitest: 1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) + vitest: 1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) '@nuxtjs/mdc@0.5.0': dependencies: @@ -8700,14 +8703,14 @@ snapshots: '@types/clean-css@4.2.11': dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 source-map: 0.6.1 '@types/clear@0.1.4': {} '@types/connect@3.4.37': dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 '@types/debug@4.1.12': dependencies: @@ -8752,7 +8755,7 @@ snapshots: '@types/http-proxy@1.17.14': dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 '@types/istanbul-lib-coverage@2.0.5': {} @@ -8768,7 +8771,7 @@ snapshots: '@types/jsonfile@6.1.2': dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 '@types/lodash-es@4.17.12': dependencies: @@ -8784,12 +8787,16 @@ snapshots: '@types/node-sass@4.11.6': dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 '@types/node@20.12.10': dependencies: undici-types: 5.26.5 + '@types/node@20.12.11': + dependencies: + undici-types: 5.26.5 + '@types/normalize-package-data@2.4.4': {} '@types/pify@5.0.4': {} @@ -8847,7 +8854,7 @@ snapshots: '@types/webpack-sources@3.2.1': dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 '@types/source-list-map': 0.1.4 source-map: 0.7.4 @@ -8857,7 +8864,7 @@ snapshots: '@types/webpack@4.41.34': dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 '@types/tapable': 1.0.10 '@types/uglify-js': 3.17.3 '@types/webpack-sources': 3.2.1 @@ -9042,6 +9049,16 @@ snapshots: transitivePeerDependencies: - rollup + '@unocss/astro@0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))': + dependencies: + '@unocss/core': 0.59.4 + '@unocss/reset': 0.59.4 + '@unocss/vite': 0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) + optionalDependencies: + vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + transitivePeerDependencies: + - rollup + '@unocss/cli@0.59.4(rollup@4.17.2)': dependencies: '@ampproject/remapping': 2.3.0 @@ -9185,6 +9202,22 @@ snapshots: transitivePeerDependencies: - rollup + '@unocss/vite@0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.0(rollup@4.17.2) + '@unocss/config': 0.59.4 + '@unocss/core': 0.59.4 + '@unocss/inspector': 0.59.4 + '@unocss/scope': 0.59.4 + '@unocss/transformer-directives': 0.59.4 + chokidar: 3.6.0 + fast-glob: 3.3.2 + magic-string: 0.30.10 + vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + transitivePeerDependencies: + - rollup + '@vercel/nft@0.26.4(encoding@0.1.13)': dependencies: '@mapbox/node-pre-gyp': 1.0.11(encoding@0.1.13) @@ -9203,12 +9236,12 @@ snapshots: - encoding - supports-color - '@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: '@babel/core': 7.24.5 '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.5) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.5) - vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) vue: 3.4.27(typescript@5.4.5) transitivePeerDependencies: - supports-color @@ -9218,7 +9251,12 @@ snapshots: vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) vue: 3.4.27(typescript@5.4.5) - '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))': + '@vitejs/plugin-vue@5.0.4(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + dependencies: + vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + vue: 3.4.27(typescript@5.4.5) + + '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -9233,7 +9271,7 @@ snapshots: std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 - vitest: 1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) + vitest: 1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - supports-color @@ -11628,7 +11666,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.12.10 + '@types/node': 20.12.11 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -11636,13 +11674,13 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -14143,6 +14181,35 @@ snapshots: - rollup - supports-color + unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)): + dependencies: + '@unocss/astro': 0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) + '@unocss/cli': 0.59.4(rollup@4.17.2) + '@unocss/core': 0.59.4 + '@unocss/extractor-arbitrary-variants': 0.59.4 + '@unocss/postcss': 0.59.4(postcss@8.4.38) + '@unocss/preset-attributify': 0.59.4 + '@unocss/preset-icons': 0.59.4 + '@unocss/preset-mini': 0.59.4 + '@unocss/preset-tagify': 0.59.4 + '@unocss/preset-typography': 0.59.4 + '@unocss/preset-uno': 0.59.4 + '@unocss/preset-web-fonts': 0.59.4 + '@unocss/preset-wind': 0.59.4 + '@unocss/reset': 0.59.4 + '@unocss/transformer-attributify-jsx': 0.59.4 + '@unocss/transformer-attributify-jsx-babel': 0.59.4 + '@unocss/transformer-compile-class': 0.59.4 + '@unocss/transformer-directives': 0.59.4 + '@unocss/transformer-variant-group': 0.59.4 + '@unocss/vite': 0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) + optionalDependencies: + vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + transitivePeerDependencies: + - postcss + - rollup + - supports-color + unplugin-vue-router@0.7.0(rollup@4.17.2)(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)): dependencies: '@babel/types': 7.24.5 @@ -14273,13 +14340,13 @@ snapshots: dependencies: vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) - vite-node@1.5.3(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0): + vite-node@1.5.3(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0): dependencies: cac: 6.7.14 debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - '@types/node' - less @@ -14307,7 +14374,24 @@ snapshots: - supports-color - terser - vite-plugin-checker@0.6.4(eslint@9.2.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.16(typescript@5.4.5)): + vite-node@1.6.0(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0): + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + + vite-plugin-checker@0.6.4(eslint@9.2.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.16(typescript@5.4.5)): dependencies: '@babel/code-frame': 7.24.2 ansi-escapes: 4.3.2 @@ -14320,7 +14404,7 @@ snapshots: semver: 7.6.1 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 - vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -14375,9 +14459,20 @@ snapshots: sass: 1.69.4 terser: 5.27.0 - vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)): + vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0): dependencies: - '@nuxt/test-utils': 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.17.2 + optionalDependencies: + '@types/node': 20.12.11 + fsevents: 2.3.3 + sass: 1.69.4 + terser: 5.27.0 + + vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)): + dependencies: + '@nuxt/test-utils': 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -14394,7 +14489,7 @@ snapshots: - vue - vue-router - vitest@1.5.3(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0): + vitest@1.5.3(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0): dependencies: '@vitest/expect': 1.5.3 '@vitest/runner': 1.5.3 @@ -14413,11 +14508,11 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.5.1 tinypool: 0.8.4 - vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) - vite-node: 1.5.3(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + vite-node: 1.5.3(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 happy-dom: 14.10.1 transitivePeerDependencies: - less @@ -14462,6 +14557,40 @@ snapshots: - supports-color - terser + vitest@1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0): + dependencies: + '@vitest/expect': 1.6.0 + '@vitest/runner': 1.6.0 + '@vitest/snapshot': 1.6.0 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 + acorn-walk: 8.3.2 + chai: 4.3.10 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.10 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.1.0 + tinybench: 2.5.1 + tinypool: 0.8.4 + vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + vite-node: 1.6.0(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + why-is-node-running: 2.2.2 + optionalDependencies: + '@types/node': 20.12.11 + happy-dom: 14.10.1 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + void-elements@3.1.0: {} vscode-jsonrpc@6.0.0: {} From 87e2c2f1c04b69cac72a4091755072754486d6f8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 8 May 2024 23:53:19 +0100 Subject: [PATCH 033/127] chore(deps): update devdependency execa to v9 (main) (#27115) --- package.json | 2 +- packages/ui-templates/package.json | 2 +- pnpm-lock.yaml | 107 +++++++++++++++++++++++++++-- 3 files changed, 105 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index b9b5f18f8..814e501ea 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "eslint-plugin-no-only-tests": "3.1.0", "eslint-plugin-perfectionist": "2.10.0", "eslint-typegen": "0.2.4", - "execa": "8.0.1", + "execa": "9.0.0", "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", diff --git a/packages/ui-templates/package.json b/packages/ui-templates/package.json index 204c494d7..3b23a07ec 100644 --- a/packages/ui-templates/package.json +++ b/packages/ui-templates/package.json @@ -22,7 +22,7 @@ "@types/html-minifier": "4.0.5", "@unocss/reset": "0.59.4", "critters": "0.0.22", - "execa": "8.0.1", + "execa": "9.0.0", "globby": "14.0.1", "html-minifier": "4.0.0", "jiti": "1.21.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bce27e08d..9bdeb6607 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -81,8 +81,8 @@ importers: specifier: 0.2.4 version: 0.2.4(eslint@9.2.0) execa: - specifier: 8.0.1 - version: 8.0.1 + specifier: 9.0.0 + version: 9.0.0 fs-extra: specifier: 11.2.0 version: 11.2.0 @@ -567,8 +567,8 @@ importers: specifier: 0.0.22 version: 0.0.22 execa: - specifier: 8.0.1 - version: 8.0.1 + specifier: 9.0.0 + version: 9.0.0 globby: specifier: 14.0.1 version: 14.0.1 @@ -2243,6 +2243,9 @@ packages: '@rushstack/eslint-patch@1.10.2': resolution: {integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==} + '@sec-ant/readable-stream@0.4.1': + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + '@shikijs/core@1.1.2': resolution: {integrity: sha512-ERVzNQz88ZkDqUpWeC57Kp+Kmx5RjqeDBR1M8AGWGom4yrkITiTfXCGmjchlDSw12MhDTuPYR4HVFW8uT61RaQ==} @@ -2293,6 +2296,10 @@ packages: resolution: {integrity: sha512-UTce8mUwUW0RikMb/eseJ7ys0BRkZVFB86orHzrfW12ZmFtym5zua8joZ4L7okH2dDFHkcFjqnZ5GocWBXOFtA==} engines: {node: '>=18'} + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + '@stylistic/eslint-plugin-js@1.7.2': resolution: {integrity: sha512-ZYX7C5p7zlHbACwFLU+lISVh6tdcRP/++PWegh2Sy0UgMT5kU0XkPa2tKWEtJYzZmPhJxu9LxbnWcnE/tTwSDQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -4042,6 +4049,10 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} + execa@9.0.0: + resolution: {integrity: sha512-YqlYPdTp6UMdt0WEM8QKeBR8ORtgxWP7ZB5NB9AMlfGWg32Fg48j6uZdKfhG2o6cNJBIRPF0Ok93R0vY37oBWQ==} + engines: {node: '>=18'} + exponential-backoff@3.1.1: resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} @@ -4078,6 +4089,10 @@ packages: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} + figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -4219,6 +4234,10 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} + get-stream@9.0.1: + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} + get-tsconfig@4.7.3: resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} @@ -4455,6 +4474,10 @@ packages: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} + human-signals@7.0.0: + resolution: {integrity: sha512-74kytxOUSvNbjrT9KisAbaTZ/eJwD/LrbM/kh5j0IhPuJzwuA19dWvniFGwBzN9rVjg+O/e+F310PjObDXS+9Q==} + engines: {node: '>=18.18.0'} + hyperdyperid@1.2.0: resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} engines: {node: '>=10.18'} @@ -4671,6 +4694,10 @@ packages: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-stream@4.0.1: + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} + is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} @@ -4683,6 +4710,10 @@ packages: resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} engines: {node: '>= 0.4'} + is-unicode-supported@2.0.0: + resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==} + engines: {node: '>=18'} + is-weakmap@2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} @@ -5445,6 +5476,10 @@ packages: resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} @@ -5594,6 +5629,10 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + parse-path@7.0.0: resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} @@ -5934,6 +5973,10 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + pretty-ms@9.0.0: + resolution: {integrity: sha512-E9e9HJ9R9NasGOgPaPE8VMeiPKAyWR5jcFpNnwIejslIhWqdqOrb2wShBsncMPUb+BcCd2OPYfh7p2W6oemTng==} + engines: {node: '>=18'} + pretty-time@1.1.0: resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} engines: {node: '>=4'} @@ -6490,6 +6533,10 @@ packages: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} + strip-final-newline@4.0.0: + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} + strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} @@ -7344,6 +7391,10 @@ packages: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} + yoctocolors@2.0.0: + resolution: {integrity: sha512-esbDnt0Z1zI1KgvOZU90hJbL6BkoUbrP9yy7ArNZ6TmxBxydMJTYMf9FZjmwwcA8ZgEQzriQ3hwZ0NYXhlFo8Q==} + engines: {node: '>=18'} + zhead@2.2.4: resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==} @@ -8554,6 +8605,8 @@ snapshots: '@rushstack/eslint-patch@1.10.2': {} + '@sec-ant/readable-stream@0.4.1': {} + '@shikijs/core@1.1.2': {} '@shikijs/core@1.1.6': {} @@ -8622,6 +8675,8 @@ snapshots: '@sindresorhus/merge-streams@2.2.0': {} + '@sindresorhus/merge-streams@4.0.0': {} + '@stylistic/eslint-plugin-js@1.7.2(eslint@9.2.0)': dependencies: '@types/eslint': 8.56.10 @@ -10916,6 +10971,21 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 + execa@9.0.0: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + cross-spawn: 7.0.3 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 7.0.0 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 5.3.0 + pretty-ms: 9.0.0 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + yoctocolors: 2.0.0 + exponential-backoff@3.1.1: {} extend@3.0.2: {} @@ -10953,6 +11023,10 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 + figures@6.1.0: + dependencies: + is-unicode-supported: 2.0.0 + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -11101,6 +11175,11 @@ snapshots: get-stream@8.0.1: {} + get-stream@9.0.1: + dependencies: + '@sec-ant/readable-stream': 0.4.1 + is-stream: 4.0.1 + get-tsconfig@4.7.3: dependencies: resolve-pkg-maps: 1.0.0 @@ -11406,6 +11485,8 @@ snapshots: human-signals@5.0.0: {} + human-signals@7.0.0: {} + hyperdyperid@1.2.0: {} iconv-lite@0.6.3: @@ -11597,6 +11678,8 @@ snapshots: is-stream@3.0.0: {} + is-stream@4.0.1: {} + is-string@1.0.7: dependencies: has-tostringtag: 1.0.2 @@ -11609,6 +11692,8 @@ snapshots: dependencies: which-typed-array: 1.1.14 + is-unicode-supported@2.0.0: {} + is-weakmap@2.0.1: {} is-weakset@2.0.2: @@ -12640,6 +12725,10 @@ snapshots: dependencies: path-key: 4.0.0 + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + npmlog@5.0.1: dependencies: are-we-there-yet: 2.0.0 @@ -12856,6 +12945,8 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parse-ms@4.0.0: {} + parse-path@7.0.0: dependencies: protocols: 2.0.1 @@ -13150,6 +13241,10 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.2.0 + pretty-ms@9.0.0: + dependencies: + parse-ms: 4.0.0 + pretty-time@1.1.0: {} proc-log@3.0.0: {} @@ -13823,6 +13918,8 @@ snapshots: strip-final-newline@3.0.0: {} + strip-final-newline@4.0.0: {} + strip-indent@3.0.0: dependencies: min-indent: 1.0.1 @@ -14897,6 +14994,8 @@ snapshots: yocto-queue@1.0.0: {} + yoctocolors@2.0.0: {} + zhead@2.2.4: {} zip-stream@6.0.1: From bfbd30d1bd09e5c6b3e5991e8be63f70d54b3e47 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 9 May 2024 09:27:11 +0100 Subject: [PATCH 034/127] chore(deps): update all non-major dependencies to v0.60.0 (main) (#27119) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/ui-templates/package.json | 4 +- pnpm-lock.yaml | 360 ++++++++++++++--------------- 2 files changed, 182 insertions(+), 182 deletions(-) diff --git a/packages/ui-templates/package.json b/packages/ui-templates/package.json index 3b23a07ec..3430e7909 100644 --- a/packages/ui-templates/package.json +++ b/packages/ui-templates/package.json @@ -20,7 +20,7 @@ }, "devDependencies": { "@types/html-minifier": "4.0.5", - "@unocss/reset": "0.59.4", + "@unocss/reset": "0.60.0", "critters": "0.0.22", "execa": "9.0.0", "globby": "14.0.1", @@ -30,7 +30,7 @@ "pathe": "1.1.2", "prettier": "3.2.5", "scule": "1.3.0", - "unocss": "0.59.4", + "unocss": "0.60.0", "vite": "5.2.11" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9bdeb6607..64bf5197e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -245,7 +245,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.2.0 - version: 1.2.0(@unocss/reset@0.59.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 1.2.0(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -561,8 +561,8 @@ importers: specifier: 4.0.5 version: 4.0.5 '@unocss/reset': - specifier: 0.59.4 - version: 0.59.4 + specifier: 0.60.0 + version: 0.60.0 critters: specifier: 0.0.22 version: 0.0.22 @@ -591,8 +591,8 @@ importers: specifier: 1.3.0 version: 1.3.0 unocss: - specifier: 0.59.4 - version: 0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) + specifier: 0.60.0 + version: 0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) vite: specifier: 5.2.11 version: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) @@ -2605,89 +2605,89 @@ packages: peerDependencies: vue: 3.4.27 - '@unocss/astro@0.59.4': - resolution: {integrity: sha512-DU3OR5MMR1Uvvec4/wB9EetDASHRg19Moy6z/MiIhn8JWJ0QzWYgSeJcfUX8exomMYv6WUEQJL+CyLI34Wmn8w==} + '@unocss/astro@0.60.0': + resolution: {integrity: sha512-clZuuNWFpNpr8OGm4vr/t3cD++S9rqK1jsZKkT0Wuu8/IKkZx/4x0BTn82KhaB4o5RJWwwtkfX65AePn6D+62g==} peerDependencies: vite: 5.2.11 peerDependenciesMeta: vite: optional: true - '@unocss/cli@0.59.4': - resolution: {integrity: sha512-TT+WKedSifhsRqnpoYD2LfyYipVzEbzIU4DDGIaDNeDxGXYOGpb876zzkPDcvZSpI37IJ/efkkV7PGYpPBcQBQ==} + '@unocss/cli@0.60.0': + resolution: {integrity: sha512-TzBhbOfd7Rl+NsqHjQSFLoc8aMJcfRRMZ3BXuIa3EhGuT0r4e1H7CENUQXl7ijNLVL9XL2SyrV68cDvEeQfMZA==} engines: {node: '>=14'} hasBin: true - '@unocss/config@0.59.4': - resolution: {integrity: sha512-h3yhj+D5Ygn5R7gbK4wMrtXZX6FF5DF6YD517sSSb0XB3lxHD9PhhT4HaV1hpHknvu0cMFU3460M45+TN1TI0Q==} + '@unocss/config@0.60.0': + resolution: {integrity: sha512-y8zTM/qhZ5p2zhtgjsqL4BDjDXes1i72kNts/A85adNTx9ffZG+0dbrH2DLoBKp6aAb51AOo5OcG5cllSbNrDQ==} engines: {node: '>=14'} - '@unocss/core@0.59.4': - resolution: {integrity: sha512-bBZ1sgcAtezQVZ1BST9IS3jqcsTLyqKNjiIf7FTnX3DHpfpYuMDFzSOtmkZDzBleOLO/CtcRWjT0HwTSQAmV0A==} + '@unocss/core@0.60.0': + resolution: {integrity: sha512-i1j5i/4xiCfogobaOdQCQUEy/Ch8mBtKgpfUIreJtElaF15uIjT2t/G0y7qUz87ZNl+wJoPcWkcSC92HVnjXwg==} - '@unocss/extractor-arbitrary-variants@0.59.4': - resolution: {integrity: sha512-RDe4FgMGJQ+tp9GLvhPHni7Cc2O0lHBRMElVlN8LoXJAdODMICdbrEPGJlEfrc+7x/QgVFoR895KpYJh3hIgGA==} + '@unocss/extractor-arbitrary-variants@0.60.0': + resolution: {integrity: sha512-f6o2KsCP+BYzYRjeBkjiquh5eM1oRv/wNu1a1triNk9pmmD3nUWRY0ImaXRkSbgHpAjVEDloOpqPdMTO408ePg==} - '@unocss/inspector@0.59.4': - resolution: {integrity: sha512-QczJFNDiggmekkJyNcbcZIUVwlhvxz7ZwjnSf0w7K4znxfjKkZ1hNUbqLviM1HumkTKOdT27VISW7saN/ysO4w==} + '@unocss/inspector@0.60.0': + resolution: {integrity: sha512-aw9wkEslDnuQNEQkffCVvYJEljB9y/jkNM/i/YBjDYsTYOa/p63NVju9Bn0l3+uUiH6Nsws2JJ1q3xIulhZEIw==} - '@unocss/postcss@0.59.4': - resolution: {integrity: sha512-KVz+AD7McHKp7VEWHbFahhyyVEo0oP/e1vnuNSuPlHthe+1V2zfH6lps+iJcvfL2072r5J+0PvD/1kOp5ryUSg==} + '@unocss/postcss@0.60.0': + resolution: {integrity: sha512-FlEAUWSywKZ55IJbhM0vJ39mDHWveT06Bu4l7TYLgdQ6BJHDIncatMg3GQ9L8RTEbXGGjhnOs3EJyd1ZHEzBUw==} engines: {node: '>=14'} peerDependencies: postcss: ^8.4.21 - '@unocss/preset-attributify@0.59.4': - resolution: {integrity: sha512-BeogWuYaIakC1gmOZFFCjFVWmu/m3AqEX8UYQS6tY6lAaK2L4Qf4AstYBlT2zAMxy9LNxPDxFQrvfSfFk5Klsg==} + '@unocss/preset-attributify@0.60.0': + resolution: {integrity: sha512-FJZCKy6Wf6qc9EXFei4txy9nYkKotoPD/20NfA+beYS3XbVxAxQy6d454fe9DDK99QfJeEJd8xhaWJFCweiQWw==} - '@unocss/preset-icons@0.59.4': - resolution: {integrity: sha512-Afjwh5oC4KRE8TNZDUkRK6hvvV1wKLrS1e5trniE0B0AM9HK3PBolQaIU7QmzPv6WQrog+MZgIwafg1eqsPUCA==} + '@unocss/preset-icons@0.60.0': + resolution: {integrity: sha512-8DD9PURCfAtN5nlpOAz5ocV8NG1bb1u83WIGYu+uuVbmFUiMVP4RIEtS1+/dXBEtl0EA7rgN9qI5EmzPDrLd1Q==} - '@unocss/preset-mini@0.59.4': - resolution: {integrity: sha512-ZLywGrXi1OCr4My5vX2rLUb5Xgx6ufR9WTQOvpQJGBdIV/jnZn/pyE5avCs476SnOq2K172lnd8mFmTK7/zArA==} + '@unocss/preset-mini@0.60.0': + resolution: {integrity: sha512-N0XqjuMRjtRUYeE5ELxOcraEwUWkhQum+qIhr0ZZCCoGQpa/u1MRCkwNcBSEy70HZMoyesYVtxiOz0CgAWRSQw==} - '@unocss/preset-tagify@0.59.4': - resolution: {integrity: sha512-vWMdTUoghOSmTbdmZtERssffmdUdOuhh4vUdl0R8Kv6KxB0PkvEFCu2FItn97nRJdSPlZSFxxDkaOIg9w+STNQ==} + '@unocss/preset-tagify@0.60.0': + resolution: {integrity: sha512-7uEnjqQN+zdfBpDwzfVB/rnriqa6jxImMv3g8nQ0A3boopaB+JBuqlSr3/sUmb8YJh9U+F5l8zShjLkPOz9gkg==} - '@unocss/preset-typography@0.59.4': - resolution: {integrity: sha512-ZX9bxZUqlXK1qEDzO5lkK96ICt9itR/oNyn/7mMc1JPqwj263LumQMn5silocgzoLSUXEeq//L6GylqYjkL8GA==} + '@unocss/preset-typography@0.60.0': + resolution: {integrity: sha512-rHzAZa5MqJGpSxL3OhDQZ6Nk9jTDhiEKB3s7xR4bfwKtEuMiTZAzrOl6DDKnAgjH2H2cXfgFpQP+kLjoYgyNkA==} - '@unocss/preset-uno@0.59.4': - resolution: {integrity: sha512-G1f8ZluplvXZ3bERj+sM/8zzY//XD++nNOlAQNKOANSVht3qEoJebrfEiMClNpA5qW5VWOZhEhPkh0M7GsXtnA==} + '@unocss/preset-uno@0.60.0': + resolution: {integrity: sha512-aMoja25jfz80N/TYysMe1RAy0yhONUgl3Eh3Z4EIJrdsHXxuBicO1Wa/EbI8Mc4dY+NPETTC/5JF1SH+yWihGA==} - '@unocss/preset-web-fonts@0.59.4': - resolution: {integrity: sha512-ehutTjKHnf2KPmdatN42N9a8+y+glKSU3UlcBRNsVIIXVIlaBQuPVGZSPhnMtrKD17IgWylXq2K6RJK+ab0hZA==} + '@unocss/preset-web-fonts@0.60.0': + resolution: {integrity: sha512-muiQSNq9TmidlMPb9dvX+u5DGNPWfuOKhTTPA2Ia/ZmOUo3SfX2LQq2af7QfjoDuAGnLo3ZZf0qyP1Ao9YsbrA==} - '@unocss/preset-wind@0.59.4': - resolution: {integrity: sha512-CNX6w0ZpSQg/i1oF0/WKWzto8PtLqoknC5h8JmmcGb7VsyBQeV0oNnhbURxpbuMEhbv1MWVIGvk8a+P6y0rFkQ==} + '@unocss/preset-wind@0.60.0': + resolution: {integrity: sha512-utfAJ15tfnPg9r5rfCnBwGRMvhtFiqp8f/YQdrREsnAJRqcfzA6E2Tdh67GyOjPRBjNusw+WmV4K2tltzKbdOQ==} - '@unocss/reset@0.59.4': - resolution: {integrity: sha512-Upy4xzdWl4RChbLAXBq1BoR4WqxXMoIfjvtcwSZcZK2sylXCFAseSWnyzJFdSiXPqNfmMuNgPXgiSxiQB+cmNA==} + '@unocss/reset@0.60.0': + resolution: {integrity: sha512-r4NUPb/je10ZUrdncSuHipeDqBn7gY5HEcdAx2Rse+O/yWJimVsBkb5sGU1na9fhUwxv0cYIiFiqoQaKzcnCpQ==} - '@unocss/rule-utils@0.59.4': - resolution: {integrity: sha512-1qoLJlBWAkS4D4sg73990S1MT7E8E5md/YhopKjTQuEC9SyeVmEg+5pR/Xd8xhPKMqbcuBPl/DS8b6l/GQO56A==} + '@unocss/rule-utils@0.60.0': + resolution: {integrity: sha512-YDXSUQceqMSVG51F5yTTPSadrV7YrbRX3VnaSE5NopyyYKRWT6/0dl68riTOjtJfVcm55vl7ZhwNFobAdtOfYA==} engines: {node: '>=14'} - '@unocss/scope@0.59.4': - resolution: {integrity: sha512-wBQJ39kw4Tfj4km7AoGvSIobPKVnRZVsgc0bema5Y0PL3g1NeVQ/LopBI2zEJWdpxGXUWxSDsXm7BZo6qVlD/A==} + '@unocss/scope@0.60.0': + resolution: {integrity: sha512-BegakMMkFGWGTRro+CSZVEGS81k00HlYiT81bbDtjFifiJVv6K13U3S2YqBaUS7zlECCYhMr4Bpv8Rr78j66Bw==} - '@unocss/transformer-attributify-jsx-babel@0.59.4': - resolution: {integrity: sha512-xtCRSgeTaDBiNJLVX7oOSFe63JiFB5nrdK23PHn3IlZM9O7Bxx4ZxI3MQJtFZFQNE+INFko+DVyY1WiFEm1p/Q==} + '@unocss/transformer-attributify-jsx-babel@0.60.0': + resolution: {integrity: sha512-GpBqGZZ9+sja9JapQRBvlD1o3GFumsbAvd/HmnXyDH7WLYO/y/HPA8/4Ar2ieGqcE0IlVVoTj8B2ruf5umhaWQ==} - '@unocss/transformer-attributify-jsx@0.59.4': - resolution: {integrity: sha512-m4b83utzKMfUQH/45V2QkjJoXd8Tu2pRP1nic91Xf7QRceyKDD+BxoTneo2JNC2K274cQu7HqqotnCm2aFfEGw==} + '@unocss/transformer-attributify-jsx@0.60.0': + resolution: {integrity: sha512-0uBTvcYLtkCHJ2491orUGpZ3Pw43NPZu/nn06P4FMyyudmCgBd5z9bl5bGiCY6MbIRDyGEGGMEWF87s80FnLPw==} - '@unocss/transformer-compile-class@0.59.4': - resolution: {integrity: sha512-Vgk2OCLPW0pU+Uzr1IgDtHVspSBb+gPrQFkV+5gxHk9ZdKi3oYKxLuufVWYDSwv7o9yfQGbYrMH9YLsjRsnA7Q==} + '@unocss/transformer-compile-class@0.60.0': + resolution: {integrity: sha512-PEfz9q11KBQR1UP5NB2K4qcjh+LLCXIL4wBKz7qhKkjjyGr7rCRrfLtbZv/1QmgKST+WHbK7uKkRYm/kBbFdyA==} - '@unocss/transformer-directives@0.59.4': - resolution: {integrity: sha512-nXUTEclUbs0vQ4KfLhKt4J/5SLSEq1az2FNlJmiXMmqmn75X89OrtCu2OJu9sGXhn+YyBApxgcSSdxmtpqMi1Q==} + '@unocss/transformer-directives@0.60.0': + resolution: {integrity: sha512-ZG+TvpvimH5LkFkqz27BQryhF8oeM+mUkD9oV+DhtQBadV5pcMvi40NB5VEeDj3dsogHTMrl13dsHXdrINI7jQ==} - '@unocss/transformer-variant-group@0.59.4': - resolution: {integrity: sha512-9XLixxn1NRgP62Kj4R/NC/rpqhql5F2s6ulJ8CAMTEbd/NylVhEANluPGDVUGcLJ4cj6E02hFa8C1PLGSm7/xw==} + '@unocss/transformer-variant-group@0.60.0': + resolution: {integrity: sha512-00PikfUfJN+LdTaoILA+iXbPB5J8/zX1RcJx1DwKF2iRfKNmSu9+jsyNN0zyQX2jOVXY4UuK3x8LJ1qtZl1edA==} - '@unocss/vite@0.59.4': - resolution: {integrity: sha512-q7GN7vkQYn79n7vYIUlaa7gXGwc7pk0Qo3z3ZFwWGE43/DtZnn2Hwl5UjgBAgi9McA+xqHJEHRsJnI7HJPHUYA==} + '@unocss/vite@0.60.0': + resolution: {integrity: sha512-Xyqg+slwR+y5eggPZu74OwVZrIyYe+Ut3WzdmM3mgHBh+ty8Ci85ndm71K5wagyDNvbfLj5gA10h14n3OyB9RQ==} peerDependencies: vite: 5.2.11 @@ -6843,11 +6843,11 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - unocss@0.59.4: - resolution: {integrity: sha512-QmCVjRObvVu/gsGrJGVt0NnrdhFFn314BUZn2WQyXV9rIvHLRmG5bIu0j5vibJkj7ZhFchTrnTM1pTFXP1xt5g==} + unocss@0.60.0: + resolution: {integrity: sha512-jVNrjjR9j/PQylfF1z8sz2L2sTnnmGRUTXKQmCTURBBnk2Q9VqoYIvShppPUn4dWvnOy5Xj2gPIXBMin56nt0Q==} engines: {node: '>=14'} peerDependencies: - '@unocss/webpack': 0.59.4 + '@unocss/webpack': 0.60.0 vite: 5.2.11 peerDependenciesMeta: '@unocss/webpack': @@ -8216,13 +8216,13 @@ snapshots: rc9: 2.1.2 semver: 7.6.1 - '@nuxt/devtools@1.2.0(@unocss/reset@0.59.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@nuxt/devtools@1.2.0(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: '@antfu/utils': 0.7.7 '@nuxt/devtools-kit': 1.2.0(nuxt@packages+nuxt)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) '@nuxt/devtools-wizard': 1.2.0 '@nuxt/kit': link:packages/kit - '@vue/devtools-applet': 7.0.27(@unocss/reset@0.59.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-applet': 7.0.27(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-core': 7.0.27(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-kit': 7.0.27(vue@3.4.27(typescript@5.4.5)) birpc: 0.2.17 @@ -9094,33 +9094,33 @@ snapshots: unhead: 1.9.10 vue: 3.4.27(typescript@5.4.5) - '@unocss/astro@0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))': + '@unocss/astro@0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))': dependencies: - '@unocss/core': 0.59.4 - '@unocss/reset': 0.59.4 - '@unocss/vite': 0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) + '@unocss/core': 0.60.0 + '@unocss/reset': 0.60.0 + '@unocss/vite': 0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - rollup - '@unocss/astro@0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))': + '@unocss/astro@0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))': dependencies: - '@unocss/core': 0.59.4 - '@unocss/reset': 0.59.4 - '@unocss/vite': 0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) + '@unocss/core': 0.60.0 + '@unocss/reset': 0.60.0 + '@unocss/vite': 0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - rollup - '@unocss/cli@0.59.4(rollup@4.17.2)': + '@unocss/cli@0.60.0(rollup@4.17.2)': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.17.2) - '@unocss/config': 0.59.4 - '@unocss/core': 0.59.4 - '@unocss/preset-uno': 0.59.4 + '@unocss/config': 0.60.0 + '@unocss/core': 0.60.0 + '@unocss/preset-uno': 0.60.0 cac: 6.7.14 chokidar: 3.6.0 colorette: 2.0.20 @@ -9132,124 +9132,124 @@ snapshots: transitivePeerDependencies: - rollup - '@unocss/config@0.59.4': + '@unocss/config@0.60.0': dependencies: - '@unocss/core': 0.59.4 + '@unocss/core': 0.60.0 unconfig: 0.3.13 - '@unocss/core@0.59.4': {} + '@unocss/core@0.60.0': {} - '@unocss/extractor-arbitrary-variants@0.59.4': + '@unocss/extractor-arbitrary-variants@0.60.0': dependencies: - '@unocss/core': 0.59.4 + '@unocss/core': 0.60.0 - '@unocss/inspector@0.59.4': + '@unocss/inspector@0.60.0': dependencies: - '@unocss/core': 0.59.4 - '@unocss/rule-utils': 0.59.4 + '@unocss/core': 0.60.0 + '@unocss/rule-utils': 0.60.0 gzip-size: 6.0.0 sirv: 2.0.4 - '@unocss/postcss@0.59.4(postcss@8.4.38)': + '@unocss/postcss@0.60.0(postcss@8.4.38)': dependencies: - '@unocss/config': 0.59.4 - '@unocss/core': 0.59.4 - '@unocss/rule-utils': 0.59.4 + '@unocss/config': 0.60.0 + '@unocss/core': 0.60.0 + '@unocss/rule-utils': 0.60.0 css-tree: 2.3.1 fast-glob: 3.3.2 magic-string: 0.30.10 postcss: 8.4.38 - '@unocss/preset-attributify@0.59.4': + '@unocss/preset-attributify@0.60.0': dependencies: - '@unocss/core': 0.59.4 + '@unocss/core': 0.60.0 - '@unocss/preset-icons@0.59.4': + '@unocss/preset-icons@0.60.0': dependencies: '@iconify/utils': 2.1.23 - '@unocss/core': 0.59.4 + '@unocss/core': 0.60.0 ofetch: 1.3.4 transitivePeerDependencies: - supports-color - '@unocss/preset-mini@0.59.4': + '@unocss/preset-mini@0.60.0': dependencies: - '@unocss/core': 0.59.4 - '@unocss/extractor-arbitrary-variants': 0.59.4 - '@unocss/rule-utils': 0.59.4 + '@unocss/core': 0.60.0 + '@unocss/extractor-arbitrary-variants': 0.60.0 + '@unocss/rule-utils': 0.60.0 - '@unocss/preset-tagify@0.59.4': + '@unocss/preset-tagify@0.60.0': dependencies: - '@unocss/core': 0.59.4 + '@unocss/core': 0.60.0 - '@unocss/preset-typography@0.59.4': + '@unocss/preset-typography@0.60.0': dependencies: - '@unocss/core': 0.59.4 - '@unocss/preset-mini': 0.59.4 + '@unocss/core': 0.60.0 + '@unocss/preset-mini': 0.60.0 - '@unocss/preset-uno@0.59.4': + '@unocss/preset-uno@0.60.0': dependencies: - '@unocss/core': 0.59.4 - '@unocss/preset-mini': 0.59.4 - '@unocss/preset-wind': 0.59.4 - '@unocss/rule-utils': 0.59.4 + '@unocss/core': 0.60.0 + '@unocss/preset-mini': 0.60.0 + '@unocss/preset-wind': 0.60.0 + '@unocss/rule-utils': 0.60.0 - '@unocss/preset-web-fonts@0.59.4': + '@unocss/preset-web-fonts@0.60.0': dependencies: - '@unocss/core': 0.59.4 + '@unocss/core': 0.60.0 ofetch: 1.3.4 - '@unocss/preset-wind@0.59.4': + '@unocss/preset-wind@0.60.0': dependencies: - '@unocss/core': 0.59.4 - '@unocss/preset-mini': 0.59.4 - '@unocss/rule-utils': 0.59.4 + '@unocss/core': 0.60.0 + '@unocss/preset-mini': 0.60.0 + '@unocss/rule-utils': 0.60.0 - '@unocss/reset@0.59.4': {} + '@unocss/reset@0.60.0': {} - '@unocss/rule-utils@0.59.4': + '@unocss/rule-utils@0.60.0': dependencies: - '@unocss/core': 0.59.4 + '@unocss/core': 0.60.0 magic-string: 0.30.10 - '@unocss/scope@0.59.4': {} + '@unocss/scope@0.60.0': {} - '@unocss/transformer-attributify-jsx-babel@0.59.4': + '@unocss/transformer-attributify-jsx-babel@0.60.0': dependencies: '@babel/core': 7.24.5 '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5) '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5) - '@unocss/core': 0.59.4 + '@unocss/core': 0.60.0 transitivePeerDependencies: - supports-color - '@unocss/transformer-attributify-jsx@0.59.4': + '@unocss/transformer-attributify-jsx@0.60.0': dependencies: - '@unocss/core': 0.59.4 + '@unocss/core': 0.60.0 - '@unocss/transformer-compile-class@0.59.4': + '@unocss/transformer-compile-class@0.60.0': dependencies: - '@unocss/core': 0.59.4 + '@unocss/core': 0.60.0 - '@unocss/transformer-directives@0.59.4': + '@unocss/transformer-directives@0.60.0': dependencies: - '@unocss/core': 0.59.4 - '@unocss/rule-utils': 0.59.4 + '@unocss/core': 0.60.0 + '@unocss/rule-utils': 0.60.0 css-tree: 2.3.1 - '@unocss/transformer-variant-group@0.59.4': + '@unocss/transformer-variant-group@0.60.0': dependencies: - '@unocss/core': 0.59.4 + '@unocss/core': 0.60.0 - '@unocss/vite@0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))': + '@unocss/vite@0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.17.2) - '@unocss/config': 0.59.4 - '@unocss/core': 0.59.4 - '@unocss/inspector': 0.59.4 - '@unocss/scope': 0.59.4 - '@unocss/transformer-directives': 0.59.4 + '@unocss/config': 0.60.0 + '@unocss/core': 0.60.0 + '@unocss/inspector': 0.60.0 + '@unocss/scope': 0.60.0 + '@unocss/transformer-directives': 0.60.0 chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.10 @@ -9257,15 +9257,15 @@ snapshots: transitivePeerDependencies: - rollup - '@unocss/vite@0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))': + '@unocss/vite@0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.17.2) - '@unocss/config': 0.59.4 - '@unocss/core': 0.59.4 - '@unocss/inspector': 0.59.4 - '@unocss/scope': 0.59.4 - '@unocss/transformer-directives': 0.59.4 + '@unocss/config': 0.60.0 + '@unocss/core': 0.60.0 + '@unocss/inspector': 0.60.0 + '@unocss/scope': 0.60.0 + '@unocss/transformer-directives': 0.60.0 chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.10 @@ -9471,12 +9471,12 @@ snapshots: '@vue/devtools-api@6.5.1': {} - '@vue/devtools-applet@7.0.27(@unocss/reset@0.59.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@vue/devtools-applet@7.0.27(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: '@vue/devtools-core': 7.0.27(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-kit': 7.0.27(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-shared': 7.0.27 - '@vue/devtools-ui': 7.0.27(@unocss/reset@0.59.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-ui': 7.0.27(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5)) perfect-debounce: 1.0.0 splitpanes: 3.1.5 vue: 3.4.27(typescript@5.4.5) @@ -9524,16 +9524,16 @@ snapshots: dependencies: rfdc: 1.3.1 - '@vue/devtools-ui@7.0.27(@unocss/reset@0.59.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))': + '@vue/devtools-ui@7.0.27(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))': dependencies: - '@unocss/reset': 0.59.4 + '@unocss/reset': 0.60.0 '@vueuse/components': 10.9.0(vue@3.4.27(typescript@5.4.5)) '@vueuse/core': 10.9.0(vue@3.4.27(typescript@5.4.5)) '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.27(typescript@5.4.5)) colord: 2.9.3 floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)) focus-trap: 7.5.4 - unocss: 0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) + unocss: 0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) vue: 3.4.27(typescript@5.4.5) transitivePeerDependencies: - '@vue/composition-api' @@ -14249,28 +14249,28 @@ snapshots: universalify@2.0.0: {} - unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)): + unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)): dependencies: - '@unocss/astro': 0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) - '@unocss/cli': 0.59.4(rollup@4.17.2) - '@unocss/core': 0.59.4 - '@unocss/extractor-arbitrary-variants': 0.59.4 - '@unocss/postcss': 0.59.4(postcss@8.4.38) - '@unocss/preset-attributify': 0.59.4 - '@unocss/preset-icons': 0.59.4 - '@unocss/preset-mini': 0.59.4 - '@unocss/preset-tagify': 0.59.4 - '@unocss/preset-typography': 0.59.4 - '@unocss/preset-uno': 0.59.4 - '@unocss/preset-web-fonts': 0.59.4 - '@unocss/preset-wind': 0.59.4 - '@unocss/reset': 0.59.4 - '@unocss/transformer-attributify-jsx': 0.59.4 - '@unocss/transformer-attributify-jsx-babel': 0.59.4 - '@unocss/transformer-compile-class': 0.59.4 - '@unocss/transformer-directives': 0.59.4 - '@unocss/transformer-variant-group': 0.59.4 - '@unocss/vite': 0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) + '@unocss/astro': 0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) + '@unocss/cli': 0.60.0(rollup@4.17.2) + '@unocss/core': 0.60.0 + '@unocss/extractor-arbitrary-variants': 0.60.0 + '@unocss/postcss': 0.60.0(postcss@8.4.38) + '@unocss/preset-attributify': 0.60.0 + '@unocss/preset-icons': 0.60.0 + '@unocss/preset-mini': 0.60.0 + '@unocss/preset-tagify': 0.60.0 + '@unocss/preset-typography': 0.60.0 + '@unocss/preset-uno': 0.60.0 + '@unocss/preset-web-fonts': 0.60.0 + '@unocss/preset-wind': 0.60.0 + '@unocss/reset': 0.60.0 + '@unocss/transformer-attributify-jsx': 0.60.0 + '@unocss/transformer-attributify-jsx-babel': 0.60.0 + '@unocss/transformer-compile-class': 0.60.0 + '@unocss/transformer-directives': 0.60.0 + '@unocss/transformer-variant-group': 0.60.0 + '@unocss/vite': 0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: @@ -14278,28 +14278,28 @@ snapshots: - rollup - supports-color - unocss@0.59.4(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)): + unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)): dependencies: - '@unocss/astro': 0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) - '@unocss/cli': 0.59.4(rollup@4.17.2) - '@unocss/core': 0.59.4 - '@unocss/extractor-arbitrary-variants': 0.59.4 - '@unocss/postcss': 0.59.4(postcss@8.4.38) - '@unocss/preset-attributify': 0.59.4 - '@unocss/preset-icons': 0.59.4 - '@unocss/preset-mini': 0.59.4 - '@unocss/preset-tagify': 0.59.4 - '@unocss/preset-typography': 0.59.4 - '@unocss/preset-uno': 0.59.4 - '@unocss/preset-web-fonts': 0.59.4 - '@unocss/preset-wind': 0.59.4 - '@unocss/reset': 0.59.4 - '@unocss/transformer-attributify-jsx': 0.59.4 - '@unocss/transformer-attributify-jsx-babel': 0.59.4 - '@unocss/transformer-compile-class': 0.59.4 - '@unocss/transformer-directives': 0.59.4 - '@unocss/transformer-variant-group': 0.59.4 - '@unocss/vite': 0.59.4(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) + '@unocss/astro': 0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) + '@unocss/cli': 0.60.0(rollup@4.17.2) + '@unocss/core': 0.60.0 + '@unocss/extractor-arbitrary-variants': 0.60.0 + '@unocss/postcss': 0.60.0(postcss@8.4.38) + '@unocss/preset-attributify': 0.60.0 + '@unocss/preset-icons': 0.60.0 + '@unocss/preset-mini': 0.60.0 + '@unocss/preset-tagify': 0.60.0 + '@unocss/preset-typography': 0.60.0 + '@unocss/preset-uno': 0.60.0 + '@unocss/preset-web-fonts': 0.60.0 + '@unocss/preset-wind': 0.60.0 + '@unocss/reset': 0.60.0 + '@unocss/transformer-attributify-jsx': 0.60.0 + '@unocss/transformer-attributify-jsx-babel': 0.60.0 + '@unocss/transformer-compile-class': 0.60.0 + '@unocss/transformer-directives': 0.60.0 + '@unocss/transformer-variant-group': 0.60.0 + '@unocss/vite': 0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: From bb23a868ea61e1cc5a9cee038a1a8574f80b97a2 Mon Sep 17 00:00:00 2001 From: gangan <44604921+shinGangan@users.noreply.github.com> Date: Thu, 9 May 2024 17:27:41 +0900 Subject: [PATCH 035/127] chore: update root monorepo node engine (#27122) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 814e501ea..8449810bb 100644 --- a/package.json +++ b/package.json @@ -92,7 +92,7 @@ }, "packageManager": "pnpm@9.1.0", "engines": { - "node": "^14.18.0 || >=16.10.0" + "node": "^16.10.0 || >=18.0.0" }, "version": "" } From d66d68cd7d0f00dba937b6c0f255044f1090e716 Mon Sep 17 00:00:00 2001 From: Horu <73709188+HigherOrderLogic@users.noreply.github.com> Date: Thu, 9 May 2024 15:28:33 +0700 Subject: [PATCH 036/127] feat(nuxt): allow specifying builder compatibility in modules (#27022) --- docs/3.api/5.kit/3.compatibility.md | 6 +++++ packages/kit/src/compatibility.ts | 28 ++++++++++++++++++++++ packages/schema/src/types/compatibility.ts | 23 ++++++++++++++++++ 3 files changed, 57 insertions(+) diff --git a/docs/3.api/5.kit/3.compatibility.md b/docs/3.api/5.kit/3.compatibility.md index 20eebebd3..a253f7e84 100644 --- a/docs/3.api/5.kit/3.compatibility.md +++ b/docs/3.api/5.kit/3.compatibility.md @@ -25,6 +25,12 @@ async function checkNuxtCompatibility( interface NuxtCompatibility { nuxt?: string; bridge?: boolean; + builder?: { + // Set `false` if your module is not compatible with a builder + // or a semver-compatible string version constraint + vite?: false | string; + webpack?: false | string; + }; } interface NuxtCompatibilityIssue { diff --git a/packages/kit/src/compatibility.ts b/packages/kit/src/compatibility.ts index 77f33180c..a03813dd4 100644 --- a/packages/kit/src/compatibility.ts +++ b/packages/kit/src/compatibility.ts @@ -1,4 +1,5 @@ import satisfies from 'semver/functions/satisfies.js' // npm/node-semver#381 +import { readPackageJSON } from 'pkg-types' import type { Nuxt, NuxtCompatibility, NuxtCompatibilityIssues } from '@nuxt/schema' import { useNuxt } from './context' @@ -6,6 +7,11 @@ export function normalizeSemanticVersion (version: string) { return version.replace(/-[0-9]+\.[0-9a-f]+/, '') // Remove edge prefix } +const builderMap = { + '@nuxt/vite-builder': 'vite', + '@nuxt/webpack-builder': 'webpack', +} + /** * Check version constraints and return incompatibility issues as an array */ @@ -40,6 +46,28 @@ export async function checkNuxtCompatibility (constraints: NuxtCompatibility, nu } } + // Builder compatibility check + if (constraints.builder && typeof nuxt.options.builder === 'string') { + const currentBuilder = builderMap[nuxt.options.builder] || nuxt.options.builder + if (currentBuilder in constraints.builder) { + const constraint = constraints.builder[currentBuilder]! + if (constraint === false) { + issues.push({ + name: 'builder', + message: `Not compatible with \`${nuxt.options.builder}\`.`, + }) + } else { + const builderVersion = await readPackageJSON(nuxt.options.builder, { url: nuxt.options.modulesDir }).then(r => r.version).catch(() => undefined) + if (builderVersion && !satisfies(normalizeSemanticVersion(builderVersion), constraint, { includePrerelease: true })) { + issues.push({ + name: 'builder', + message: `Not compatible with \`${builderVersion}\` of \`${currentBuilder}\`. This module requires \`${constraint}\`.`, + }) + } + } + } + } + // Allow extending compatibility checks await nuxt.callHook('kit:compatibility', constraints, issues) diff --git a/packages/schema/src/types/compatibility.ts b/packages/schema/src/types/compatibility.ts index 3344af856..51f4918bd 100644 --- a/packages/schema/src/types/compatibility.ts +++ b/packages/schema/src/types/compatibility.ts @@ -12,6 +12,29 @@ export interface NuxtCompatibility { * - `false`: When using Nuxt 2, using bridge module is not supported. */ bridge?: boolean + + /** + * Mark a builder as incompatible, or require a particular version. + * + * @example + * ```ts + * export default defineNuxtModule({ + * meta: { + * name: 'my-module', + * compatibility: { + * builder: { + * // marking as incompatible + * webpack: false, + * // you can require a (semver-compatible) version + * vite: '^5' + * } + * } + * } + * // ... + * }) + * ``` + */ + builder?: Partial> } export interface NuxtCompatibilityIssue { From 2d1ab61b2ede074dc71b0cd89ce314f9c6075fef Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Thu, 9 May 2024 10:09:16 +0100 Subject: [PATCH 037/127] perf(nuxt): remove `ssrContext.styles` reference (from unused `vue-style-loader`) --- packages/nuxt/src/core/runtime/nitro/renderer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index 15139600b..eb0b59994 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -467,7 +467,7 @@ export default defineRenderHandler(async (event): Promise Date: Thu, 9 May 2024 11:14:25 +0100 Subject: [PATCH 038/127] chore(deps): update dependency vue-bundle-renderer to v2.1.0 (main) (#27126) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 22 +++++++++++----------- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 5b9942bca..ed4c7dbaf 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -112,7 +112,7 @@ "unstorage": "^1.10.2", "untyped": "^1.4.2", "vue": "^3.4.27", - "vue-bundle-renderer": "^2.0.0", + "vue-bundle-renderer": "^2.1.0", "vue-devtools-stub": "^0.1.0", "vue-router": "^4.3.2" }, diff --git a/packages/schema/package.json b/packages/schema/package.json index 95d7e5913..4d792b3cf 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -56,7 +56,7 @@ "unenv": "1.9.0", "vite": "5.2.11", "vue": "3.4.27", - "vue-bundle-renderer": "2.0.0", + "vue-bundle-renderer": "2.1.0", "vue-loader": "17.4.2", "vue-router": "4.3.2", "webpack": "5.91.0", diff --git a/packages/vite/package.json b/packages/vite/package.json index 1e09a1f8d..0570ecf04 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -65,7 +65,7 @@ "vite": "^5.2.11", "vite-node": "^1.6.0", "vite-plugin-checker": "^0.6.4", - "vue-bundle-renderer": "^2.0.0" + "vue-bundle-renderer": "^2.1.0" }, "peerDependencies": { "vue": "^3.3.4" diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 1fab46729..ecafe2445 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -60,7 +60,7 @@ "unenv": "^1.9.0", "unplugin": "^1.10.1", "url-loader": "^4.1.1", - "vue-bundle-renderer": "^2.0.0", + "vue-bundle-renderer": "^2.1.0", "vue-loader": "^17.4.2", "webpack": "^5.91.0", "webpack-bundle-analyzer": "^4.10.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 64bf5197e..7eba88cbd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -403,8 +403,8 @@ importers: specifier: 3.4.27 version: 3.4.27(typescript@5.4.5) vue-bundle-renderer: - specifier: ^2.0.0 - version: 2.0.0 + specifier: ^2.1.0 + version: 2.1.0 vue-devtools-stub: specifier: ^0.1.0 version: 0.1.0 @@ -540,8 +540,8 @@ importers: specifier: 3.4.27 version: 3.4.27(typescript@5.4.5) vue-bundle-renderer: - specifier: 2.0.0 - version: 2.0.0 + specifier: 2.1.0 + version: 2.1.0 vue-loader: specifier: 17.4.2 version: 17.4.2(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5))(webpack@5.91.0) @@ -699,8 +699,8 @@ importers: specifier: ^0.6.4 version: 0.6.4(eslint@9.2.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.16(typescript@5.4.5)) vue-bundle-renderer: - specifier: ^2.0.0 - version: 2.0.0 + specifier: ^2.1.0 + version: 2.1.0 devDependencies: '@nuxt/schema': specifier: workspace:* @@ -829,8 +829,8 @@ importers: specifier: ^4.1.1 version: 4.1.1(file-loader@6.2.0(webpack@5.91.0))(webpack@5.91.0) vue-bundle-renderer: - specifier: ^2.0.0 - version: 2.0.0 + specifier: ^2.1.0 + version: 2.1.0 vue-loader: specifier: ^17.4.2 version: 17.4.2(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5))(webpack@5.91.0) @@ -7143,8 +7143,8 @@ packages: vscode-uri@3.0.8: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} - vue-bundle-renderer@2.0.0: - resolution: {integrity: sha512-oYATTQyh8XVkUWe2kaKxhxKVuuzK2Qcehe+yr3bGiaQAhK3ry2kYE4FWOfL+KO3hVFwCdLmzDQTzYhTi9C+R2A==} + vue-bundle-renderer@2.1.0: + resolution: {integrity: sha512-uZ+5ZJdZ/b43gMblWtcpikY6spJd0nERaM/1RtgioXNfWFbjKlUwrS8HlrddN6T2xtptmOouWclxLUkpgcVX3Q==} vue-component-type-helpers@2.0.6: resolution: {integrity: sha512-qdGXCtoBrwqk1BT6r2+1Wcvl583ZVkuSZ3or7Y1O2w5AvWtlvvxwjGhmz5DdPJS9xqRdDlgTJ/38ehWnEi0tFA==} @@ -14713,7 +14713,7 @@ snapshots: vscode-uri@3.0.8: {} - vue-bundle-renderer@2.0.0: + vue-bundle-renderer@2.1.0: dependencies: ufo: 1.5.3 From 76925a4477122275b8a61a81f2f87d51c0159d6b Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Thu, 9 May 2024 13:20:05 +0100 Subject: [PATCH 039/127] docs: add migration/testing guide for nuxt 4 (#27128) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Damian Głowala --- docs/1.getting-started/12.upgrade.md | 252 ++++++++++++++++++++++++++- 1 file changed, 249 insertions(+), 3 deletions(-) diff --git a/docs/1.getting-started/12.upgrade.md b/docs/1.getting-started/12.upgrade.md index 8d6a28477..626d63ab4 100644 --- a/docs/1.getting-started/12.upgrade.md +++ b/docs/1.getting-started/12.upgrade.md @@ -5,11 +5,11 @@ navigation.icon: i-ph-arrow-circle-up-duotone --- -## Upgrading Nuxt 3 +## Upgrading Nuxt ### Latest release -To upgrade Nuxt 3 to the [latest release](https://github.com/nuxt/nuxt/releases), use the `nuxi upgrade` command. +To upgrade Nuxt to the [latest release](https://github.com/nuxt/nuxt/releases), use the `nuxi upgrade` command. ```bash [Terminal] npx nuxi upgrade @@ -17,7 +17,253 @@ npx nuxi upgrade ### Nightly Release Channel -To use the latest Nuxt 3 build and test features before their release, read about the [nightly release channel](/docs/guide/going-further/nightly-release-channel) guide. +To use the latest Nuxt build and test features before their release, read about the [nightly release channel](/docs/guide/going-further/nightly-release-channel) guide. + +## Testing Nuxt 4 + +Nuxt 4 is planned to be released **on or before June 14** (though obviously this is dependent on having enough time after Nitro's major release to be properly tested in the community, so be aware that this is not an exact date). + +Until then, it is possible to test many of Nuxt 4's breaking changes on the nightly release channel. + +### Opting in to Nuxt 4 + +First, opt in to the nightly release channel [following these steps](/docs/guide/going-further/nightly-release-channel#opting-in). + +Then you can set your `compatibilityVersion` to match Nuxt 4 behavior: + +```ts +export default defineNuxtConfig({ + future: { + compatibilityVersion: 4, + }, + // To re-enable _all_ Nuxt v3 behavior, set the following options: + // srcDir: '.', + // dir: { + // app: 'app' + // }, + // experimental: { + // compileTemplate: true, + // templateUtils: true, + // relativeWatchPaths: true, + // defaults: { + // useAsyncData: { + // deep: true + // } + // } + // }, + // unhead: { + // renderSSRHeadOptions: { + // omitLineBreaks: false + // } + // } +}) +``` + +When you set your `compatibilityVersion` to `4`, defaults throughout your Nuxt configuration will change to opt in to Nuxt v4 behavior, but you can granularly re-enable Nuxt v3 behavior when testing, following the commented out lines above. Please file issues if so, so that we can address them in Nuxt or in the ecosystem. + +### Migrating to Nuxt 4 + +Breaking or significant changes will be noted here along with migration steps for backward/forward compatibility. + +::alert +This section is subject to change until the final release, so please check back here regularly if you are testing Nuxt 4 using `compatibilityVersion: 4`. +:: + +#### New Directory Structure + +🚦 **Impact Level**: Significant + +Nuxt now defaults to a new directory structure, with backwards compatibility (so if Nuxt detects you are using the old structure, such as with a top-level `pages/` directory, this new structure will not apply). + +👉 [See full RFC](https://github.com/nuxt/nuxt/issues/26444) + +##### What Changed + +* the new Nuxt default `srcDir` is `app/` by default, and most things are resolved from there. +* `serverDir` now defaults to `/server` rather than `/server` +* `modules` and `public` are resolved relative to `` by default +* a new `dir.app` is added, which is the directory we look for `router.options.ts` and `spa-loading-template.html` - this defaults to `/` + +
+ +An example v4 folder structure. + +```sh +.output/ +.nuxt/ +app/ + assets/ + components/ + composables/ + layouts/ + middleware/ + pages/ + plugins/ + utils/ + app.vue + router.options.ts +modules/ +node_modules/ +public/ +server/ + api/ + middleware/ + plugins/ + routes/ + utils/ +nuxt.config.ts +``` + +
+ +👉 For more details, see the [PR implementing this change](https://github.com/nuxt/nuxt/pull/27029). + +##### Reasons for Change + +1. **Performance** - placing all your code in the root of your repo causes issues with `.git/` and `node_modules/` folders being scanned/included by FS watchers which can significantly delay startup on non-Mac OSes. +1. **IDE type-safety** - `server/` and the rest of your app are running in two entirely different contexts with different global imports available, and making sure `server/` isn't _inside_ the same folder as the rest of your app is a big first step to ensuring you get good auto-completes in your IDE. + +##### Migration Steps + +1. Create a new directory called `app/`. +1. Move your `assets/`, `components/`, `composables/`, `layouts/`, `middleware/`, `pages/`, `plugins/` and `utils/` folders under it, as well as `app.vue`, `error.vue`. If you have an `app/router-options.ts` or `app/spa-loading-template.html`, these paths remain the same. +1. Make sure your `nuxt.config.ts`, `modules/`, `public/` and `server/` folders remain outside the `app/` folder, in the root of your project. + +However, migration is _not required_. If you wish to keep your current folder structure, Nuxt should auto-detect it. (If it does not, please raise an issue.) You can also force a v3 folder structure with the following configuration: + +```ts +export default defineNuxtConfig({ + // This reverts the new srcDir default from `app` back to your root directory + srcDir: '.', + // This specifies the directory prefix for `app/router.options.ts` and `app/spa-loading-template.html` + dir: { + app: 'app' + } +}) +``` + +#### Shallow Data Reactivity in `useAsyncData` and `useFetch` + +🚦 **Impact Level**: Minimal + +The `data` object returned from `useAsyncData`, `useFetch`, `useLazyAsyncData` and `useLazyFetch` is now a `shallowRef` rather than a `ref`. + +##### What Changed + +When new data is fetched, anything depending on `data` will still be reactive because the entire object is replaced. But if your code changes a property _within_ that data structure, this will not trigger any reactivity in your app. + +##### Reasons for Change + +This brings a **significant** performance improvement for deeply nested objects and arrays because Vue does not need to watch every single property/array for modification. In most cases, `data` should also be immutable. + +##### Migration Steps + +In most cases, no migration steps are required, but if you rely on the reactivity of the data object then you have two options: + +1. You can granularly opt in to deep reactivity on a per-composable basis: + ```diff + - const { data } = useFetch('/api/test') + + const { data } = useFetch('/api/test', { deep: true }) + ``` +1. You can change the default behavior on a project-wide basis (not recommended): + ```ts + export default defineNuxtConfig({ + experimental: { + defaults: { + useAsyncData: { + deep: true + } + } + } + }) + ``` + +#### Absolute Watch Paths in `builder:watch` + +🚦 **Impact Level**: Minimal + +##### What Changed + +The Nuxt `builder:watch` hook now emits a path which is absolute rather than relative to your project `srcDir`. + +##### Reasons for Change + +This allows us to support watching paths which are outside your `srcDir`, and offers better support for layers and other more complex patterns. + +##### Migration Steps + +We have already proactively migrated the public Nuxt modules which we are aware use this hook. See [issue #25339](https://github.com/nuxt/nuxt/issues/25339). + +However, if you are a module author using the `builder:watch` hook and wishing to remain backwards/forwards compatible, you can use the following code to ensure that your code works the same in both Nuxt v3 and Nuxt v4: + + ```diff ++ import { relative, resolve } from 'node:fs' + // ... + nuxt.hook('builder:watch', async (event, path) => { ++ path = relative(nuxt.options.srcDir, resolve(nuxt.options.srcDir, path)) + // ... + }) +``` + +#### Template Compilation Changes + +🚦 **Impact Level**: Minimal + +##### What Changed + +Previously, Nuxt used `lodash/template` to compile templates located on the file system using the `.ejs` file format/syntax. + +In addition, we provided some template utilities (`serialize`, `importName`, `importSources`) which could be used for code-generation within these templates, which are now being removed. + +##### Reasons for Change + +In Nuxt v3 we moved to a 'virtual' syntax with a `getContents()` function which is much more flexible and performant. + +In addition, `lodash/template` has had a succession of security issues. These do not really apply to Nuxt projects because it is being used at build-time, not runtime, and by trusted code. However, they still appear in security audits. Moreover, `lodash` is a hefty dependency and is unused by most projects. + +Finally, providing code serialization functions directly within Nuxt is not ideal. Instead, we maintain projects like [unjs/knitwork](http://github.com/unjs/knitwork) which can be dependencies of your project, and where security issues can be reported/resolved directly without requiring an upgrade of Nuxt itself. + +##### Migration Steps + +We have raised PRs to update modules using EJS syntax, but if you need to do this yourself, you have three backwards/forwards-compatible alternatives: + +* Moving your string interpolation logic directly into `getContents()`. +* Using a custom function to handle the replacement, such as in https://github.com/nuxt-modules/color-mode/pull/240. +* Continuing to use `lodash`, as a dependency of _your_ project rather than Nuxt: + +```diff ++ import { readFileSync } from 'node:fs' ++ import { template } from 'lodash-es' + // ... + addTemplate({ + fileName: 'appinsights-vue.js' + options: { /* some options */ }, +- src: resolver.resolve('./runtime/plugin.ejs'), ++ getContents({ options }) { ++ const contents = readFileSync(resolver.resolve('./runtime/plugin.ejs'), 'utf-8') ++ return template(contents)({ options }) ++ }, + }) +``` + +Finally, if you are using the template utilities (`serialize`, `importName`, `importSources`), you can replace them as follows with utilities from `knitwork`: + +```ts +import { genDynamicImport, genImport, genSafeVariableName } from 'knitwork' + +const serialize = (data: any) => JSON.stringify(data, null, 2).replace(/"{(.+)}"(?=,?$)/gm, r => JSON.parse(r).replace(/^{(.*)}$/, '$1')) + +const importSources = (sources: string | string[], { lazy = false } = {}) => { + return toArray(sources).map((src) => { + if (lazy) { + return `const ${genSafeVariableName(src)} = ${genDynamicImport(src, { comment: `webpackChunkName: ${JSON.stringify(src)}` })}` + } + return genImport(src, genSafeVariableName(src)) + }).join('\n') +} + +const importName = genSafeVariableName +``` ## Nuxt 2 vs Nuxt 3 From cebc89186e30a5e5faea2e1823cd07d5bfcf1488 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Thu, 9 May 2024 18:49:35 +0100 Subject: [PATCH 040/127] feat(kit): add `useRuntimeConfig` and `updateRuntimeConfig` utils (#27117) --- docs/3.api/5.kit/10.runtime-config.md | 27 +++++++ packages/kit/package.json | 2 + packages/kit/src/index.ts | 1 + packages/kit/src/runtime-config.ts | 103 ++++++++++++++++++++++++++ packages/nuxt/src/core/nitro.ts | 22 +----- packages/nuxt/src/core/nuxt.ts | 5 +- packages/schema/src/config/nitro.ts | 19 +++++ pnpm-lock.yaml | 6 ++ 8 files changed, 165 insertions(+), 20 deletions(-) create mode 100644 docs/3.api/5.kit/10.runtime-config.md create mode 100644 packages/kit/src/runtime-config.ts diff --git a/docs/3.api/5.kit/10.runtime-config.md b/docs/3.api/5.kit/10.runtime-config.md new file mode 100644 index 000000000..49f534870 --- /dev/null +++ b/docs/3.api/5.kit/10.runtime-config.md @@ -0,0 +1,27 @@ +--- +title: Runtime Config +description: Nuxt Kit provides a set of utilities to help you access and modify Nuxt runtime configuration. +links: + - label: Source + icon: i-simple-icons-github + to: https://github.com/nuxt/nuxt/blob/main/packages/kit/src/runtime-config.ts + size: xs +--- + +## `useRuntimeConfig` + +At build-time, it is possible to access the resolved Nuxt [runtime config](/docs/guide/going-further/runtime-config). + +### Type + +```ts +function useRuntimeConfig (): Record +``` + +## `updateRuntimeConfig` + +It is also possible to update runtime configuration. This will be merged with the existing runtime configuration, and if Nitro has already been initialized it will trigger an HMR event to reload the Nitro runtime config. + +```ts +function updateRuntimeConfig (config: Record): void | Promise +``` diff --git a/packages/kit/package.json b/packages/kit/package.json index 15ca2e400..5dd4e5569 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -30,10 +30,12 @@ "c12": "^1.10.0", "consola": "^3.2.3", "defu": "^6.1.4", + "destr": "^2.0.3", "globby": "^14.0.1", "hash-sum": "^2.0.0", "ignore": "^5.3.1", "jiti": "^1.21.0", + "klona": "^2.0.6", "knitwork": "^1.1.0", "mlly": "^1.7.0", "pathe": "^1.1.2", diff --git a/packages/kit/src/index.ts b/packages/kit/src/index.ts index fb2350660..405de8606 100644 --- a/packages/kit/src/index.ts +++ b/packages/kit/src/index.ts @@ -10,6 +10,7 @@ export * from './loader/nuxt' // Utils export * from './imports' +export { updateRuntimeConfig, useRuntimeConfig } from './runtime-config' export * from './build' export * from './compatibility' export * from './components' diff --git a/packages/kit/src/runtime-config.ts b/packages/kit/src/runtime-config.ts new file mode 100644 index 000000000..a83358f11 --- /dev/null +++ b/packages/kit/src/runtime-config.ts @@ -0,0 +1,103 @@ +import process from 'node:process' +import destr from 'destr' +import { snakeCase } from 'scule' +import { klona } from 'klona' + +import defu from 'defu' +import { useNuxt } from './context' +import { useNitro } from './nitro' + +/** + * Access 'resolved' Nuxt runtime configuration, with values updated from environment. + * + * This mirrors the runtime behavior of Nitro. + */ +export function useRuntimeConfig () { + const nuxt = useNuxt() + return applyEnv(klona(nuxt.options.nitro.runtimeConfig!), { + prefix: 'NITRO_', + altPrefix: 'NUXT_', + envExpansion: nuxt.options.nitro.experimental?.envExpansion ?? !!process.env.NITRO_ENV_EXPANSION, + }) +} + +/** + * Update Nuxt runtime configuration. + */ +export function updateRuntimeConfig (runtimeConfig: Record) { + const nuxt = useNuxt() + Object.assign(nuxt.options.nitro.runtimeConfig as Record, defu(runtimeConfig, nuxt.options.nitro.runtimeConfig)) + + try { + return useNitro().updateConfig({ runtimeConfig }) + } catch { + // Nitro is not yet initialised - we can safely ignore this error + } +} + +/** + * @internal + * + * https://github.com/unjs/nitro/blob/main/src/runtime/utils.env.ts. + * + * These utils will be replaced by util exposed from nitropack. See https://github.com/unjs/nitro/pull/2404 + * for more context and future plans.) + */ + +type EnvOptions = { + prefix?: string + altPrefix?: string + envExpansion?: boolean +} + +function getEnv (key: string, opts: EnvOptions, env = process.env) { + const envKey = snakeCase(key).toUpperCase() + return destr( + env[opts.prefix + envKey] ?? env[opts.altPrefix + envKey], + ) +} + +function _isObject (input: unknown) { + return typeof input === 'object' && !Array.isArray(input) +} + +function applyEnv ( + obj: Record, + opts: EnvOptions, + parentKey = '', +) { + for (const key in obj) { + const subKey = parentKey ? `${parentKey}_${key}` : key + const envValue = getEnv(subKey, opts) + if (_isObject(obj[key])) { + // Same as before + if (_isObject(envValue)) { + obj[key] = { ...(obj[key] as any), ...(envValue as any) } + applyEnv(obj[key], opts, subKey) + } else if (envValue === undefined) { + // If envValue is undefined + // Then proceed to nested properties + applyEnv(obj[key], opts, subKey) + } else { + // If envValue is a primitive other than undefined + // Then set objValue and ignore the nested properties + obj[key] = envValue ?? obj[key] + } + } else { + obj[key] = envValue ?? obj[key] + } + // Experimental env expansion + if (opts.envExpansion && typeof obj[key] === 'string') { + obj[key] = _expandFromEnv(obj[key]) + } + } + return obj +} + +const envExpandRx = /{{(.*?)}}/g + +function _expandFromEnv (value: string, env: Record = process.env) { + return value.replace(envExpandRx, (match, key) => { + return env[key] || match + }) +} diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index d908f2870..1a5ac75fb 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -12,7 +12,7 @@ import { defu } from 'defu' import fsExtra from 'fs-extra' import { dynamicEventHandler } from 'h3' import { isWindows } from 'std-env' -import type { Nuxt, NuxtOptions, RuntimeConfig } from 'nuxt/schema' +import type { Nuxt, NuxtOptions } from 'nuxt/schema' import { version as nuxtVersion } from '../../package.json' import { distDir } from '../dirs' import { toArray } from '../utils' @@ -27,8 +27,6 @@ const logLevelMapReverse = { export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { // Resolve config - const _nitroConfig = ((nuxt.options as any).nitro || {}) as NitroConfig - const excludePaths = nuxt.options._layers .flatMap(l => [ l.cwd.match(/(?<=\/)node_modules\/(.+)$/)?.[1], @@ -48,7 +46,7 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { .map(m => m.entryPath), ) - const nitroConfig: NitroConfig = defu(_nitroConfig, { + const nitroConfig: NitroConfig = defu(nuxt.options.nitro, { debug: nuxt.options.debug, rootDir: nuxt.options.rootDir, workspaceDir: nuxt.options.workspaceDir, @@ -57,7 +55,7 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { buildDir: nuxt.options.buildDir, experimental: { asyncContext: nuxt.options.experimental.asyncContext, - typescriptBundlerResolution: nuxt.options.future.typescriptBundlerResolution || nuxt.options.typescript?.tsConfig?.compilerOptions?.moduleResolution?.toLowerCase() === 'bundler' || _nitroConfig.typescript?.tsConfig?.compilerOptions?.moduleResolution?.toLowerCase() === 'bundler', + typescriptBundlerResolution: nuxt.options.future.typescriptBundlerResolution || nuxt.options.typescript?.tsConfig?.compilerOptions?.moduleResolution?.toLowerCase() === 'bundler' || nuxt.options.nitro.typescript?.tsConfig?.compilerOptions?.moduleResolution?.toLowerCase() === 'bundler', }, framework: { name: 'nuxt', @@ -110,20 +108,6 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { routeRules: { '/__nuxt_error': { cache: false }, }, - runtimeConfig: { - ...nuxt.options.runtimeConfig, - app: { - ...nuxt.options.runtimeConfig.app, - baseURL: nuxt.options.runtimeConfig.app.baseURL.startsWith('./') - ? nuxt.options.runtimeConfig.app.baseURL.slice(1) - : nuxt.options.runtimeConfig.app.baseURL, - }, - nitro: { - envPrefix: 'NUXT_', - // TODO: address upstream issue with defu types...? - ...nuxt.options.runtimeConfig.nitro satisfies RuntimeConfig['nitro'] as any, - }, - }, appConfig: nuxt.options.appConfig, appConfigFiles: nuxt.options._layers.map( layer => resolve(layer.config.srcDir, 'app.config'), diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index fe2c18908..113d4aea7 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -4,7 +4,7 @@ import ignore from 'ignore' import type { LoadNuxtOptions } from '@nuxt/kit' import { addBuildPlugin, addComponent, addPlugin, addRouteMiddleware, addServerPlugin, addVitePlugin, addWebpackPlugin, installModule, loadNuxtConfig, logger, nuxtCtx, resolveAlias, resolveFiles, resolveIgnorePatterns, resolvePath, tryResolveModule, useNitro } from '@nuxt/kit' import { resolvePath as _resolvePath } from 'mlly' -import type { Nuxt, NuxtHooks, NuxtOptions } from 'nuxt/schema' +import type { Nuxt, NuxtHooks, NuxtOptions, RuntimeConfig } from 'nuxt/schema' import type { PackageJson } from 'pkg-types' import { readPackageJSON, resolvePackageJSON } from 'pkg-types' @@ -600,6 +600,9 @@ export async function loadNuxt (opts: LoadNuxtOptions): Promise { options._modules.push('@nuxt/telemetry') } + // Ensure we share runtime config between Nuxt and Nitro + options.runtimeConfig = options.nitro.runtimeConfig as RuntimeConfig + const nuxt = createNuxt(options) // We register hooks layer-by-layer so any overrides need to be registered separately diff --git a/packages/schema/src/config/nitro.ts b/packages/schema/src/config/nitro.ts index d6ca241c1..5c72ba750 100644 --- a/packages/schema/src/config/nitro.ts +++ b/packages/schema/src/config/nitro.ts @@ -1,4 +1,5 @@ import { defineUntypedSchema } from 'untyped' +import type { RuntimeConfig } from '../types/config' export default defineUntypedSchema({ /** @@ -7,6 +8,24 @@ export default defineUntypedSchema({ * @type {typeof import('nitropack')['NitroConfig']} */ nitro: { + runtimeConfig: { + $resolve: async (val: Record | undefined, get) => { + const runtimeConfig = await get('runtimeConfig') as RuntimeConfig + return { + ...runtimeConfig, + app: { + ...runtimeConfig.app, + baseURL: runtimeConfig.app.baseURL.startsWith('./') + ? runtimeConfig.app.baseURL.slice(1) + : runtimeConfig.app.baseURL, + }, + nitro: { + envPrefix: 'NUXT_', + ...runtimeConfig.nitro, + }, + } + }, + }, routeRules: { $resolve: async (val: Record | undefined, get) => ({ ...await get('routeRules') as Record, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7eba88cbd..8700deebe 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -167,6 +167,9 @@ importers: defu: specifier: ^6.1.4 version: 6.1.4 + destr: + specifier: ^2.0.3 + version: 2.0.3 globby: specifier: ^14.0.1 version: 14.0.1 @@ -179,6 +182,9 @@ importers: jiti: specifier: ^1.21.0 version: 1.21.0 + klona: + specifier: ^2.0.6 + version: 2.0.6 knitwork: specifier: ^1.1.0 version: 1.1.0 From 65a2ec45929e11f390f82d88d6588df7abf07a4e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 9 May 2024 20:06:46 +0100 Subject: [PATCH 041/127] chore(deps): update all non-major dependencies (main) (#27135) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 6 +- packages/kit/package.json | 4 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- packages/ui-templates/package.json | 2 +- packages/vite/package.json | 2 +- pnpm-lock.yaml | 403 ++++++++++++++--------------- 7 files changed, 206 insertions(+), 215 deletions(-) diff --git a/package.json b/package.json index 8449810bb..07b5a76a7 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ }, "devDependencies": { "@eslint/js": "9.2.0", - "@nuxt/eslint-config": "0.3.10", + "@nuxt/eslint-config": "0.3.12", "@nuxt/kit": "workspace:*", "@nuxt/test-utils": "3.12.1", "@nuxt/webpack-builder": "workspace:*", @@ -65,7 +65,7 @@ "eslint-plugin-no-only-tests": "3.1.0", "eslint-plugin-perfectionist": "2.10.0", "eslint-typegen": "0.2.4", - "execa": "9.0.0", + "execa": "9.0.1", "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", @@ -80,7 +80,7 @@ "pathe": "1.1.2", "playwright-core": "1.44.0", "rimraf": "5.0.5", - "semver": "7.6.1", + "semver": "7.6.2", "std-env": "3.7.0", "typescript": "5.4.5", "ufo": "1.5.3", diff --git a/packages/kit/package.json b/packages/kit/package.json index 5dd4e5569..017b34cbc 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -39,9 +39,9 @@ "knitwork": "^1.1.0", "mlly": "^1.7.0", "pathe": "^1.1.2", - "pkg-types": "^1.1.0", + "pkg-types": "^1.1.1", "scule": "^1.3.0", - "semver": "^7.6.1", + "semver": "^7.6.2", "ufo": "^1.5.3", "unctx": "^2.3.1", "unimport": "^3.7.1", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index ed4c7dbaf..ecb5f4447 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -96,7 +96,7 @@ "ohash": "^1.1.3", "pathe": "^1.1.2", "perfect-debounce": "^1.0.0", - "pkg-types": "^1.1.0", + "pkg-types": "^1.1.1", "radix3": "^1.1.2", "scule": "^1.3.0", "std-env": "^3.7.0", diff --git a/packages/schema/package.json b/packages/schema/package.json index 4d792b3cf..302afdfb4 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -67,7 +67,7 @@ "defu": "^6.1.4", "hookable": "^5.5.3", "pathe": "^1.1.2", - "pkg-types": "^1.1.0", + "pkg-types": "^1.1.1", "scule": "^1.3.0", "std-env": "^3.7.0", "ufo": "^1.5.3", diff --git a/packages/ui-templates/package.json b/packages/ui-templates/package.json index 3430e7909..fafe9bb71 100644 --- a/packages/ui-templates/package.json +++ b/packages/ui-templates/package.json @@ -22,7 +22,7 @@ "@types/html-minifier": "4.0.5", "@unocss/reset": "0.60.0", "critters": "0.0.22", - "execa": "9.0.0", + "execa": "9.0.1", "globby": "14.0.1", "html-minifier": "4.0.0", "jiti": "1.21.0", diff --git a/packages/vite/package.json b/packages/vite/package.json index 0570ecf04..8f3db5832 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -54,7 +54,7 @@ "ohash": "^1.1.3", "pathe": "^1.1.2", "perfect-debounce": "^1.0.0", - "pkg-types": "^1.1.0", + "pkg-types": "^1.1.1", "postcss": "^8.4.38", "rollup-plugin-visualizer": "^5.12.0", "std-env": "^3.7.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8700deebe..a88c2e92a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,8 +24,8 @@ importers: specifier: 9.2.0 version: 9.2.0 '@nuxt/eslint-config': - specifier: 0.3.10 - version: 0.3.10(eslint@9.2.0)(typescript@5.4.5) + specifier: 0.3.12 + version: 0.3.12(eslint@9.2.0)(typescript@5.4.5) '@nuxt/kit': specifier: workspace:* version: link:packages/kit @@ -81,8 +81,8 @@ importers: specifier: 0.2.4 version: 0.2.4(eslint@9.2.0) execa: - specifier: 9.0.0 - version: 9.0.0 + specifier: 9.0.1 + version: 9.0.1 fs-extra: specifier: 11.2.0 version: 11.2.0 @@ -126,8 +126,8 @@ importers: specifier: 5.0.5 version: 5.0.5 semver: - specifier: 7.6.1 - version: 7.6.1 + specifier: 7.6.2 + version: 7.6.2 std-env: specifier: 3.7.0 version: 3.7.0 @@ -195,14 +195,14 @@ importers: specifier: ^1.1.2 version: 1.1.2 pkg-types: - specifier: ^1.1.0 - version: 1.1.0 + specifier: ^1.1.1 + version: 1.1.1 scule: specifier: ^1.3.0 version: 1.3.0 semver: - specifier: ^7.6.1 - version: 7.6.1 + specifier: ^7.6.2 + version: 7.6.2 ufo: specifier: ^1.5.3 version: 1.5.3 @@ -361,8 +361,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 pkg-types: - specifier: ^1.1.0 - version: 1.1.0 + specifier: ^1.1.1 + version: 1.1.1 radix3: specifier: ^1.1.2 version: 1.1.2 @@ -458,8 +458,8 @@ importers: specifier: ^1.1.2 version: 1.1.2 pkg-types: - specifier: ^1.1.0 - version: 1.1.0 + specifier: ^1.1.1 + version: 1.1.1 scule: specifier: ^1.3.0 version: 1.3.0 @@ -573,8 +573,8 @@ importers: specifier: 0.0.22 version: 0.0.22 execa: - specifier: 9.0.0 - version: 9.0.0 + specifier: 9.0.1 + version: 9.0.1 globby: specifier: 14.0.1 version: 14.0.1 @@ -672,8 +672,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 pkg-types: - specifier: ^1.1.0 - version: 1.1.0 + specifier: ^1.1.1 + version: 1.1.1 postcss: specifier: ^8.4.38 version: 8.4.38 @@ -1935,13 +1935,13 @@ packages: nuxt: workspace:* vite: 5.2.11 - '@nuxt/eslint-config@0.3.10': - resolution: {integrity: sha512-Hv1ncp0AzRSPD2FYjPW4r1ViSysXjZ2YFFBcfAdKtJtXrch+35B4H1+JXzHQa2P6M1nxMt3riPVSMibS9HkflQ==} + '@nuxt/eslint-config@0.3.12': + resolution: {integrity: sha512-ywGxClwkGPDV59iONa/d2fk3rgVPYxArm8aAmcTPOCbWCypAc/vlNDvgafo9VAljsZCbWj7JjlWmT5UzknwK7w==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@nuxt/eslint-plugin@0.3.10': - resolution: {integrity: sha512-eV9TIpQK6UUN9wZCEuunG0vYXt4yz8RrfvvYC1mwq075kSOQevGWNCQKFE1SKr0YDl4PIIy8wDjchYIwT3gfNg==} + '@nuxt/eslint-plugin@0.3.12': + resolution: {integrity: sha512-RkD+GuQf4aIsq2KioGodrZyouJfyRSbEnsxfJe9IT4hAI/hNznmiBxAklwIxD3DVPOVm1W87+8/vSIqeqFUITA==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -2306,32 +2306,32 @@ packages: resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} - '@stylistic/eslint-plugin-js@1.7.2': - resolution: {integrity: sha512-ZYX7C5p7zlHbACwFLU+lISVh6tdcRP/++PWegh2Sy0UgMT5kU0XkPa2tKWEtJYzZmPhJxu9LxbnWcnE/tTwSDQ==} - engines: {node: ^16.0.0 || >=18.0.0} + '@stylistic/eslint-plugin-js@2.1.0': + resolution: {integrity: sha512-gdXUjGNSsnY6nPyqxu6lmDTtVrwCOjun4x8PUn0x04d5ucLI74N3MT1Q0UhdcOR9No3bo5PGDyBgXK+KmD787A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin-jsx@1.7.2': - resolution: {integrity: sha512-lNZR5PR0HLJPs+kY0y8fy6KroKlYqA5PwsYWpVYWzqZWiL5jgAeUo4s9yLFYjJjzildJ5MsTVMy/xP81Qz6GXg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@stylistic/eslint-plugin-jsx@2.1.0': + resolution: {integrity: sha512-mMD7S+IndZo2vxmwpHVTCwx2O1VdtE5tmpeNwgaEcXODzWV1WTWpnsc/PECQKIr/mkLPFWiSIqcuYNhQ/3l6AQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin-plus@1.7.2': - resolution: {integrity: sha512-luUfRVbBVtt0+/FNt8/76BANJEzb/nHWasHD7UUjyMrch2U9xUKpObrkTCzqBuisKek+uFupwGjqXqDP07+fQw==} + '@stylistic/eslint-plugin-plus@2.1.0': + resolution: {integrity: sha512-S5QAlgYXESJaSBFhBSBLZy9o36gXrXQwWSt6QkO+F0SrT9vpV5JF/VKoh+ojO7tHzd8Ckmyouq02TT9Sv2B0zQ==} peerDependencies: eslint: '*' - '@stylistic/eslint-plugin-ts@1.7.2': - resolution: {integrity: sha512-szX89YPocwCe4T0eT3alj7MwEzDHt5+B+kb/vQfSSLIjI9CGgoWrgj50zU8PtaDctTh4ZieFBzU/lRmkSUo0RQ==} - engines: {node: ^16.0.0 || >=18.0.0} + '@stylistic/eslint-plugin-ts@2.1.0': + resolution: {integrity: sha512-2ioFibufHYBALx2TBrU4KXovCkN8qCqcb9yIHc0fyOfTaO5jw4d56WW7YRcF3Zgde6qFyXwAN6z/+w4pnmos1g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin@1.7.2': - resolution: {integrity: sha512-TesaPR4AOCeD4unwu9gZCdTe8SsUpykriICuwXV8GFBgESuVbfVp+S8g6xTWe9ntVR803bNMtnr2UhxHW0iFqg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@stylistic/eslint-plugin@2.1.0': + resolution: {integrity: sha512-cBBowKP2u/+uE5CzgH5w8pE9VKqcM7BXdIDPIbGt2rmLJGnA6MJPr9vYGaqgMoJFs7R/FzsMQerMvvEP40g2uw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' @@ -2503,8 +2503,8 @@ packages: '@types/yargs@17.0.28': resolution: {integrity: sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==} - '@typescript-eslint/eslint-plugin@7.7.1': - resolution: {integrity: sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q==} + '@typescript-eslint/eslint-plugin@7.8.0': + resolution: {integrity: sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -2514,8 +2514,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.7.1': - resolution: {integrity: sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw==} + '@typescript-eslint/parser@7.8.0': + resolution: {integrity: sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -2524,16 +2524,16 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@6.21.0': - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/scope-manager@7.7.1': resolution: {integrity: sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/type-utils@7.7.1': - resolution: {integrity: sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==} + '@typescript-eslint/scope-manager@7.8.0': + resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/type-utils@7.8.0': + resolution: {integrity: sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -2542,22 +2542,13 @@ packages: typescript: optional: true - '@typescript-eslint/types@6.21.0': - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/types@7.7.1': resolution: {integrity: sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/typescript-estree@6.21.0': - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/types@7.8.0': + resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==} + engines: {node: ^18.18.0 || >=20.0.0} '@typescript-eslint/typescript-estree@7.7.1': resolution: {integrity: sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==} @@ -2568,11 +2559,14 @@ packages: typescript: optional: true - '@typescript-eslint/utils@6.21.0': - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/typescript-estree@7.8.0': + resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true '@typescript-eslint/utils@7.7.1': resolution: {integrity: sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==} @@ -2580,14 +2574,20 @@ packages: peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/visitor-keys@6.21.0': - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/utils@7.8.0': + resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 '@typescript-eslint/visitor-keys@7.7.1': resolution: {integrity: sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/visitor-keys@7.8.0': + resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==} + engines: {node: ^18.18.0 || >=20.0.0} + '@typescript/vfs@1.5.0': resolution: {integrity: sha512-AJS307bPgbsZZ9ggCT3wwpg3VbTKMFNHfaY/uF0ahSkYYrPF2dSSKDNIDIQAHm9qJqbLvCsSJH7yN4Vs/CsMMg==} @@ -3915,8 +3915,8 @@ packages: eslint-config-flat-gitignore@0.1.5: resolution: {integrity: sha512-hEZLwuZjDBGDERA49c2q7vxc8sCGv8EdBp6PQYzGOMcHIgrfG9YOM6s/4jx24zhD+wnK9AI8mgN5RxSss5nClQ==} - eslint-flat-config-utils@0.2.3: - resolution: {integrity: sha512-tfrMNXZfuN4q7sFi1Cr//BN3qdI7c8fLJhbshlp8l9PZIqZ7eVeeyd2Regtu/P9kjOlv18lRlBALzsZaF7ByUg==} + eslint-flat-config-utils@0.2.4: + resolution: {integrity: sha512-k7MJkSIfF0bs5eQu1KXyV0AhsvdsqSt1pQfZNLwf6qkozuHQV6aNHg5f8+3Ya+WTzpB+e7I3hMhs4qBwx7nEkw==} eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} @@ -3961,8 +3961,8 @@ packages: peerDependencies: eslint: '>=8.56.0' - eslint-plugin-vue@9.25.0: - resolution: {integrity: sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==} + eslint-plugin-vue@9.26.0: + resolution: {integrity: sha512-eTvlxXgd4ijE1cdur850G6KalZqk65k1JKoOI2d1kT3hr8sPD07j1q98FRFdNnpxBELGPWxZmInxeHGF/GxtqQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -4055,8 +4055,8 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} - execa@9.0.0: - resolution: {integrity: sha512-YqlYPdTp6UMdt0WEM8QKeBR8ORtgxWP7ZB5NB9AMlfGWg32Fg48j6uZdKfhG2o6cNJBIRPF0Ok93R0vY37oBWQ==} + execa@9.0.1: + resolution: {integrity: sha512-U5ck8xJmf3sVebV1v+Hh436VWHVHUfzkdbKJynd3kCP9sQRDxCY5x2Tml5lGB7XM6lpj6ATfgWWqynDt2MBLJg==} engines: {node: '>=18'} exponential-backoff@3.1.1: @@ -4303,8 +4303,8 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@15.0.0: - resolution: {integrity: sha512-m/C/yR4mjO6pXDTm9/R/SpYTAIyaUB4EOzcaaMEl7mds7Mshct9GfejiJNQGjHHbdMPey13Kpu4TMbYi9ex1pw==} + globals@15.2.0: + resolution: {integrity: sha512-FQ5YwCHZM3nCmtb5FzEWwdUc9K5d3V/w9mzcz8iGD1gC/aOTHc6PouYu0kkKipNJqHAT7m51sqzQjEjIP+cK0A==} engines: {node: '>=18'} globby@11.1.0: @@ -5243,10 +5243,6 @@ packages: resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.4: resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} engines: {node: '>=16 || 14 >=14.17'} @@ -5718,8 +5714,8 @@ packages: resolution: {integrity: sha512-KocF8ve28eFjjuBKKGvzOBGzG8ew2OqOOSxTTZhirkzH7h3BI1vyzqlR0qbfcDBve1Yzo3FVlWUAtCRrbVN8Fw==} engines: {node: '>=14.16'} - pkg-types@1.1.0: - resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==} + pkg-types@1.1.1: + resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==} playwright-core@1.44.0: resolution: {integrity: sha512-ZTbkNpFfYcGWohvTTl+xewITm7EOuqIqex0c7dNZ+aXsbrLj0qI8XlGKfPpipjm0Wny/4Lt4CJsWJk1stVS5qQ==} @@ -6322,8 +6318,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.6.1: - resolution: {integrity: sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA==} + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} hasBin: true @@ -8108,7 +8104,7 @@ snapshots: nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.6.1 + semver: 7.6.2 tar: 6.2.0 transitivePeerDependencies: - encoding @@ -8149,7 +8145,7 @@ snapshots: '@npmcli/fs@3.1.0': dependencies: - semver: 7.6.1 + semver: 7.6.2 '@npmcli/git@5.0.3': dependencies: @@ -8159,7 +8155,7 @@ snapshots: proc-log: 3.0.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.6.1 + semver: 7.6.2 which: 4.0.0 transitivePeerDependencies: - bluebird @@ -8179,7 +8175,7 @@ snapshots: json-parse-even-better-errors: 3.0.0 normalize-package-data: 6.0.0 proc-log: 4.2.0 - semver: 7.6.1 + semver: 7.6.2 transitivePeerDependencies: - bluebird @@ -8217,10 +8213,10 @@ snapshots: global-directory: 4.0.1 magicast: 0.3.4 pathe: 1.1.2 - pkg-types: 1.1.0 + pkg-types: 1.1.1 prompts: 2.4.2 rc9: 2.1.2 - semver: 7.6.1 + semver: 7.6.2 '@nuxt/devtools@1.2.0(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: @@ -8252,10 +8248,10 @@ snapshots: pacote: 18.0.0 pathe: 1.1.2 perfect-debounce: 1.0.0 - pkg-types: 1.1.0 + pkg-types: 1.1.1 rc9: 2.1.2 scule: 1.3.0 - semver: 7.6.1 + semver: 7.6.2 simple-git: 3.24.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.17.2) @@ -8287,22 +8283,22 @@ snapshots: - utf-8-validate - vue - '@nuxt/eslint-config@0.3.10(eslint@9.2.0)(typescript@5.4.5)': + '@nuxt/eslint-config@0.3.12(eslint@9.2.0)(typescript@5.4.5)': dependencies: '@eslint/js': 9.2.0 - '@nuxt/eslint-plugin': 0.3.10(eslint@9.2.0)(typescript@5.4.5) + '@nuxt/eslint-plugin': 0.3.12(eslint@9.2.0)(typescript@5.4.5) '@rushstack/eslint-patch': 1.10.2 - '@stylistic/eslint-plugin': 1.7.2(eslint@9.2.0)(typescript@5.4.5) - '@typescript-eslint/eslint-plugin': 7.7.1(@typescript-eslint/parser@7.7.1(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.7.1(eslint@9.2.0)(typescript@5.4.5) + '@stylistic/eslint-plugin': 2.1.0(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.8.0(@typescript-eslint/parser@7.8.0(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.8.0(eslint@9.2.0)(typescript@5.4.5) eslint: 9.2.0 eslint-config-flat-gitignore: 0.1.5 - eslint-flat-config-utils: 0.2.3 + eslint-flat-config-utils: 0.2.4 eslint-plugin-import-x: 0.5.0(eslint@9.2.0)(typescript@5.4.5) eslint-plugin-jsdoc: 48.2.3(eslint@9.2.0) eslint-plugin-unicorn: 52.0.0(eslint@9.2.0) - eslint-plugin-vue: 9.25.0(eslint@9.2.0) - globals: 15.0.0 + eslint-plugin-vue: 9.26.0(eslint@9.2.0) + globals: 15.2.0 pathe: 1.1.2 tslib: 2.6.2 vue-eslint-parser: 9.4.2(eslint@9.2.0) @@ -8310,10 +8306,10 @@ snapshots: - supports-color - typescript - '@nuxt/eslint-plugin@0.3.10(eslint@9.2.0)(typescript@5.4.5)': + '@nuxt/eslint-plugin@0.3.12(eslint@9.2.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/types': 7.7.1 - '@typescript-eslint/utils': 7.7.1(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) eslint: 9.2.0 transitivePeerDependencies: - supports-color @@ -8683,48 +8679,47 @@ snapshots: '@sindresorhus/merge-streams@4.0.0': {} - '@stylistic/eslint-plugin-js@1.7.2(eslint@9.2.0)': + '@stylistic/eslint-plugin-js@2.1.0(eslint@9.2.0)': dependencies: '@types/eslint': 8.56.10 acorn: 8.11.3 - escape-string-regexp: 4.0.0 eslint: 9.2.0 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-visitor-keys: 4.0.0 + espree: 10.0.1 - '@stylistic/eslint-plugin-jsx@1.7.2(eslint@9.2.0)': + '@stylistic/eslint-plugin-jsx@2.1.0(eslint@9.2.0)': dependencies: - '@stylistic/eslint-plugin-js': 1.7.2(eslint@9.2.0) + '@stylistic/eslint-plugin-js': 2.1.0(eslint@9.2.0) '@types/eslint': 8.56.10 eslint: 9.2.0 estraverse: 5.3.0 picomatch: 4.0.2 - '@stylistic/eslint-plugin-plus@1.7.2(eslint@9.2.0)(typescript@5.4.5)': + '@stylistic/eslint-plugin-plus@2.1.0(eslint@9.2.0)(typescript@5.4.5)': dependencies: '@types/eslint': 8.56.10 - '@typescript-eslint/utils': 6.21.0(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) eslint: 9.2.0 transitivePeerDependencies: - supports-color - typescript - '@stylistic/eslint-plugin-ts@1.7.2(eslint@9.2.0)(typescript@5.4.5)': + '@stylistic/eslint-plugin-ts@2.1.0(eslint@9.2.0)(typescript@5.4.5)': dependencies: - '@stylistic/eslint-plugin-js': 1.7.2(eslint@9.2.0) + '@stylistic/eslint-plugin-js': 2.1.0(eslint@9.2.0) '@types/eslint': 8.56.10 - '@typescript-eslint/utils': 6.21.0(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) eslint: 9.2.0 transitivePeerDependencies: - supports-color - typescript - '@stylistic/eslint-plugin@1.7.2(eslint@9.2.0)(typescript@5.4.5)': + '@stylistic/eslint-plugin@2.1.0(eslint@9.2.0)(typescript@5.4.5)': dependencies: - '@stylistic/eslint-plugin-js': 1.7.2(eslint@9.2.0) - '@stylistic/eslint-plugin-jsx': 1.7.2(eslint@9.2.0) - '@stylistic/eslint-plugin-plus': 1.7.2(eslint@9.2.0)(typescript@5.4.5) - '@stylistic/eslint-plugin-ts': 1.7.2(eslint@9.2.0)(typescript@5.4.5) + '@stylistic/eslint-plugin-js': 2.1.0(eslint@9.2.0) + '@stylistic/eslint-plugin-jsx': 2.1.0(eslint@9.2.0) + '@stylistic/eslint-plugin-plus': 2.1.0(eslint@9.2.0)(typescript@5.4.5) + '@stylistic/eslint-plugin-ts': 2.1.0(eslint@9.2.0)(typescript@5.4.5) '@types/eslint': 8.56.10 eslint: 9.2.0 transitivePeerDependencies: @@ -8938,32 +8933,32 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.1 - '@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.7.1(eslint@9.2.0)(typescript@5.4.5) - '@typescript-eslint/scope-manager': 7.7.1 - '@typescript-eslint/type-utils': 7.7.1(eslint@9.2.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.7.1(eslint@9.2.0)(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.7.1 + '@typescript-eslint/parser': 7.8.0(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.8.0 + '@typescript-eslint/type-utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.8.0 debug: 4.3.4 eslint: 9.2.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.6.1 + semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.7.1(eslint@9.2.0)(typescript@5.4.5)': + '@typescript-eslint/parser@7.8.0(eslint@9.2.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/scope-manager': 7.7.1 - '@typescript-eslint/types': 7.7.1 - '@typescript-eslint/typescript-estree': 7.7.1(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.7.1 + '@typescript-eslint/scope-manager': 7.8.0 + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.8.0 debug: 4.3.4 eslint: 9.2.0 optionalDependencies: @@ -8971,20 +8966,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@6.21.0': - dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 - '@typescript-eslint/scope-manager@7.7.1': dependencies: '@typescript-eslint/types': 7.7.1 '@typescript-eslint/visitor-keys': 7.7.1 - '@typescript-eslint/type-utils@7.7.1(eslint@9.2.0)(typescript@5.4.5)': + '@typescript-eslint/scope-manager@7.8.0': dependencies: - '@typescript-eslint/typescript-estree': 7.7.1(typescript@5.4.5) - '@typescript-eslint/utils': 7.7.1(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/visitor-keys': 7.8.0 + + '@typescript-eslint/type-utils@7.8.0(eslint@9.2.0)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) debug: 4.3.4 eslint: 9.2.0 ts-api-utils: 1.3.0(typescript@5.4.5) @@ -8993,24 +8988,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@6.21.0': {} - '@typescript-eslint/types@7.7.1': {} - '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)': - dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.6.1 - ts-api-utils: 1.3.0(typescript@5.4.5) - optionalDependencies: - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color + '@typescript-eslint/types@7.8.0': {} '@typescript-eslint/typescript-estree@7.7.1(typescript@5.4.5)': dependencies: @@ -9020,26 +9000,27 @@ snapshots: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.4 - semver: 7.6.1 + semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@6.21.0(eslint@9.2.0)(typescript@5.4.5)': + '@typescript-eslint/typescript-estree@7.8.0(typescript@5.4.5)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) - eslint: 9.2.0 - semver: 7.6.1 + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/visitor-keys': 7.8.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 transitivePeerDependencies: - supports-color - - typescript '@typescript-eslint/utils@7.7.1(eslint@9.2.0)(typescript@5.4.5)': dependencies: @@ -9050,21 +9031,35 @@ snapshots: '@typescript-eslint/types': 7.7.1 '@typescript-eslint/typescript-estree': 7.7.1(typescript@5.4.5) eslint: 9.2.0 - semver: 7.6.1 + semver: 7.6.2 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@6.21.0': + '@typescript-eslint/utils@7.8.0(eslint@9.2.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/types': 6.21.0 - eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.8.0 + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) + eslint: 9.2.0 + semver: 7.6.2 + transitivePeerDependencies: + - supports-color + - typescript '@typescript-eslint/visitor-keys@7.7.1': dependencies: '@typescript-eslint/types': 7.7.1 eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@7.8.0': + dependencies: + '@typescript-eslint/types': 7.8.0 + eslint-visitor-keys: 3.4.3 + '@typescript/vfs@1.5.0': dependencies: debug: 4.3.4 @@ -9977,7 +9972,7 @@ snapshots: builtins@5.0.1: dependencies: - semver: 7.6.1 + semver: 7.6.2 bundle-name@3.0.0: dependencies: @@ -9999,7 +9994,7 @@ snapshots: ohash: 1.1.3 pathe: 1.1.2 perfect-debounce: 1.0.0 - pkg-types: 1.1.0 + pkg-types: 1.1.1 rc9: 2.1.2 cac@6.7.14: {} @@ -10084,9 +10079,9 @@ snapshots: ofetch: 1.3.4 open: 9.1.0 pathe: 1.1.2 - pkg-types: 1.1.0 + pkg-types: 1.1.1 scule: 1.3.0 - semver: 7.6.1 + semver: 7.6.2 std-env: 3.7.0 yaml: 2.3.4 @@ -10294,7 +10289,7 @@ snapshots: postcss-modules-scope: 3.2.0(postcss@8.4.38) postcss-modules-values: 4.0.0(postcss@8.4.38) postcss-value-parser: 4.2.0 - semver: 7.6.1 + semver: 7.6.2 optionalDependencies: webpack: 5.91.0 @@ -10545,7 +10540,7 @@ snapshots: '@one-ini/wasm': 0.1.1 commander: 10.0.1 minimatch: 9.0.1 - semver: 7.6.1 + semver: 7.6.2 ee-first@1.1.1: {} @@ -10745,7 +10740,7 @@ snapshots: find-up: 7.0.0 parse-gitignore: 2.0.0 - eslint-flat-config-utils@0.2.3: + eslint-flat-config-utils@0.2.4: dependencies: '@types/eslint': 8.56.10 pathe: 1.1.2 @@ -10768,7 +10763,7 @@ snapshots: get-tsconfig: 4.7.3 is-glob: 4.0.3 minimatch: 9.0.4 - semver: 7.6.1 + semver: 7.6.2 transitivePeerDependencies: - supports-color - typescript @@ -10783,7 +10778,7 @@ snapshots: eslint: 9.2.0 esquery: 1.5.0 is-builtin-module: 3.2.1 - semver: 7.6.1 + semver: 7.6.2 spdx-expression-parse: 4.0.0 transitivePeerDependencies: - supports-color @@ -10819,12 +10814,12 @@ snapshots: read-pkg-up: 7.0.1 regexp-tree: 0.1.27 regjsparser: 0.10.0 - semver: 7.6.1 + semver: 7.6.2 strip-indent: 3.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-vue@9.25.0(eslint@9.2.0): + eslint-plugin-vue@9.26.0(eslint@9.2.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) eslint: 9.2.0 @@ -10832,7 +10827,7 @@ snapshots: natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.16 - semver: 7.6.1 + semver: 7.6.2 vue-eslint-parser: 9.4.2(eslint@9.2.0) xml-name-validator: 4.0.0 transitivePeerDependencies: @@ -10977,7 +10972,7 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 - execa@9.0.0: + execa@9.0.1: dependencies: '@sindresorhus/merge-streams': 4.0.0 cross-spawn: 7.0.3 @@ -11107,7 +11102,7 @@ snapshots: minimatch: 3.1.2 node-abort-controller: 3.1.1 schema-utils: 3.3.0 - semver: 7.6.1 + semver: 7.6.2 tapable: 2.2.1 typescript: 5.4.5 webpack: 5.91.0 @@ -11261,7 +11256,7 @@ snapshots: globals@14.0.0: {} - globals@15.0.0: {} + globals@15.2.0: {} globby@11.1.0: dependencies: @@ -11919,7 +11914,7 @@ snapshots: local-pkg@0.5.0: dependencies: mlly: 1.7.0 - pkg-types: 1.1.0 + pkg-types: 1.1.1 locate-path@5.0.0: dependencies: @@ -11983,7 +11978,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.6.1 + semver: 7.6.2 make-fetch-happen@13.0.0: dependencies: @@ -12414,10 +12409,6 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimatch@9.0.3: - dependencies: - brace-expansion: 2.0.1 - minimatch@9.0.4: dependencies: brace-expansion: 2.0.1 @@ -12491,7 +12482,7 @@ snapshots: dependencies: acorn: 8.11.3 pathe: 1.1.2 - pkg-types: 1.1.0 + pkg-types: 1.1.1 ufo: 1.5.3 mri@1.2.0: {} @@ -12572,13 +12563,13 @@ snapshots: openapi-typescript: 6.7.5 pathe: 1.1.2 perfect-debounce: 1.0.0 - pkg-types: 1.1.0 + pkg-types: 1.1.1 pretty-bytes: 6.1.1 radix3: 1.1.2 rollup: 4.17.2 rollup-plugin-visualizer: 5.12.0(rollup@4.17.2) scule: 1.3.0 - semver: 7.6.1 + semver: 7.6.2 serve-placeholder: 2.0.1 serve-static: 1.15.0 std-env: 3.7.0 @@ -12645,7 +12636,7 @@ snapshots: make-fetch-happen: 13.0.0 nopt: 7.2.0 proc-log: 3.0.0 - semver: 7.6.1 + semver: 7.6.2 tar: 6.2.0 which: 4.0.0 transitivePeerDependencies: @@ -12676,7 +12667,7 @@ snapshots: dependencies: hosted-git-info: 7.0.1 is-core-module: 2.13.1 - semver: 7.6.1 + semver: 7.6.2 validate-npm-package-license: 3.0.4 normalize-path@3.0.0: {} @@ -12689,7 +12680,7 @@ snapshots: npm-install-checks@6.3.0: dependencies: - semver: 7.6.1 + semver: 7.6.2 npm-normalize-package-bin@3.0.1: {} @@ -12697,7 +12688,7 @@ snapshots: dependencies: hosted-git-info: 7.0.1 proc-log: 3.0.0 - semver: 7.6.1 + semver: 7.6.2 validate-npm-package-name: 5.0.0 npm-packlist@8.0.0: @@ -12709,7 +12700,7 @@ snapshots: npm-install-checks: 6.3.0 npm-normalize-package-bin: 3.0.1 npm-package-arg: 11.0.1 - semver: 7.6.1 + semver: 7.6.2 npm-registry-fetch@16.1.0: dependencies: @@ -13006,7 +12997,7 @@ snapshots: pify@6.1.0: {} - pkg-types@1.1.0: + pkg-types@1.1.1: dependencies: confbox: 0.1.7 mlly: 1.7.0 @@ -13068,7 +13059,7 @@ snapshots: cosmiconfig: 9.0.0(typescript@5.4.5) jiti: 1.21.0 postcss: 8.4.38 - semver: 7.6.1 + semver: 7.6.2 optionalDependencies: webpack: 5.91.0 transitivePeerDependencies: @@ -13684,7 +13675,7 @@ snapshots: semver@6.3.1: {} - semver@7.6.1: {} + semver@7.6.2: {} send@0.18.0: dependencies: @@ -14138,7 +14129,7 @@ snapshots: mkdist: 1.3.0(sass@1.69.4)(typescript@5.4.5) mlly: 1.7.0 pathe: 1.1.2 - pkg-types: 1.1.0 + pkg-types: 1.1.1 pretty-bytes: 6.1.1 rollup: 4.17.2 rollup-plugin-dts: 6.1.0(rollup@4.17.2)(typescript@5.4.5) @@ -14211,7 +14202,7 @@ snapshots: magic-string: 0.30.10 mlly: 1.7.0 pathe: 1.1.2 - pkg-types: 1.1.0 + pkg-types: 1.1.1 scule: 1.3.0 strip-literal: 1.3.0 unplugin: 1.10.1 @@ -14384,7 +14375,7 @@ snapshots: magic-string: 0.30.10 mlly: 1.7.0 pathe: 1.1.2 - pkg-types: 1.1.0 + pkg-types: 1.1.1 unplugin: 1.10.1 update-browserslist-db@1.0.13(browserslist@4.23.0): @@ -14504,7 +14495,7 @@ snapshots: fast-glob: 3.3.2 fs-extra: 11.2.0 npm-run-path: 4.0.1 - semver: 7.6.1 + semver: 7.6.2 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) @@ -14701,7 +14692,7 @@ snapshots: vscode-languageclient@7.0.0: dependencies: minimatch: 3.1.2 - semver: 7.6.1 + semver: 7.6.2 vscode-languageserver-protocol: 3.16.0 vscode-languageserver-protocol@3.16.0: @@ -14740,7 +14731,7 @@ snapshots: espree: 9.6.1 esquery: 1.5.0 lodash: 4.17.21 - semver: 7.6.1 + semver: 7.6.2 transitivePeerDependencies: - supports-color @@ -14776,7 +14767,7 @@ snapshots: dependencies: '@volar/typescript': 2.2.0 '@vue/language-core': 2.0.16(typescript@5.4.5) - semver: 7.6.1 + semver: 7.6.2 typescript: 5.4.5 vue-virtual-scroller@2.0.0-beta.8(vue@3.4.27(typescript@5.4.5)): From 416d76ab80e373f165f237c83d55ea1d8e2d7031 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Thu, 9 May 2024 21:47:31 +0100 Subject: [PATCH 042/127] test: re-enable testing js payloads (#27137) --- .github/workflows/ci.yml | 10 ++++++++++ test/fixtures/basic/nuxt.config.ts | 1 + test/utils.ts | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dedcbce08..7bcd0507e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -199,8 +199,17 @@ jobs: context: ["async", "default"] manifest: ["manifest-on", "manifest-off"] version: ["v4", "v3"] + payload: ["json", "js"] node: [18] exclude: + - builder: "webpack" + payload: "js" + - manifest: "manifest-off" + payload: "js" + - context: "default" + payload: "js" + - os: windows-latest + payload: "js" - env: "dev" builder: "webpack" - manifest: "manifest-off" @@ -236,6 +245,7 @@ jobs: TEST_MANIFEST: ${{ matrix.manifest }} TEST_CONTEXT: ${{ matrix.context }} TEST_V4: ${{ matrix.version == 'v4' }} + TEST_PAYLOAD: ${{ matrix.payload }} SKIP_BUNDLE_SIZE: ${{ github.event_name != 'push' || matrix.env == 'dev' || matrix.builder == 'webpack' || matrix.context == 'default' || runner.os == 'Windows' }} - uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1 diff --git a/test/fixtures/basic/nuxt.config.ts b/test/fixtures/basic/nuxt.config.ts index 7064f0eb8..5d675426e 100644 --- a/test/fixtures/basic/nuxt.config.ts +++ b/test/fixtures/basic/nuxt.config.ts @@ -227,6 +227,7 @@ export default defineNuxtConfig({ treeshakeClientOnly: true, asyncContext: process.env.TEST_CONTEXT === 'async', appManifest: process.env.TEST_MANIFEST !== 'manifest-off', + renderJsonPayloads: process.env.TEST_PAYLOAD !== 'js', headNext: true, inlineRouteRules: true, }, diff --git a/test/utils.ts b/test/utils.ts index 09ade8db0..d361832af 100644 --- a/test/utils.ts +++ b/test/utils.ts @@ -6,7 +6,7 @@ import { reactive, ref, shallowReactive, shallowRef } from 'vue' import { createError } from 'h3' import { getBrowser, url, useTestContext } from '@nuxt/test-utils/e2e' -export const isRenderingJson = true +export const isRenderingJson = process.env.TEST_PAYLOAD !== 'js' export async function renderPage (path = '/') { const ctx = useTestContext() From 452604f512b81e8575528e5b687f55137f5787ea Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 10 May 2024 07:12:00 +0100 Subject: [PATCH 043/127] chore(deps): update ossf/scorecard-action action to v2.3.3 (main) (#27139) --- .github/workflows/scorecards.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index e11e58764..2645f4128 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -37,7 +37,7 @@ jobs: persist-credentials: false - name: "Run analysis" - uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # v2.3.1 + uses: ossf/scorecard-action@dc50aa9510b46c811795eb24b2f1ba02a914e534 # v2.3.3 with: results_file: results.sarif results_format: sarif From f465e4d7ebb997f2def8b40f37d8513fde5aebb0 Mon Sep 17 00:00:00 2001 From: Michael McAndrew Date: Sat, 11 May 2024 11:00:32 +0200 Subject: [PATCH 044/127] docs: improve testing component examples (#27138) --- docs/1.getting-started/11.testing.md | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/docs/1.getting-started/11.testing.md b/docs/1.getting-started/11.testing.md index f9eea6d0c..01950066b 100644 --- a/docs/1.getting-started/11.testing.md +++ b/docs/1.getting-started/11.testing.md @@ -160,21 +160,28 @@ export default defineVitestConfig({ `mountSuspended` allows you to mount any Vue component within the Nuxt environment, allowing async setup and access to injections from your Nuxt plugins. For example: ```ts twoslash -import type { Component } from 'vue' import { it, expect } from 'vitest' -declare const SomeComponent: Component -declare const App: Component // ---cut--- // tests/components/SomeComponents.nuxt.spec.ts import { mountSuspended } from '@nuxt/test-utils/runtime' +import { SomeComponent } from '#components' it('can mount some component', async () => { const component = await mountSuspended(SomeComponent) expect(component.text()).toMatchInlineSnapshot( - 'This is an auto-imported component' + '"This is an auto-imported component"' ) }) +``` + +```ts twoslash +import { it, expect } from 'vitest' +// ---cut--- +// tests/components/SomeComponents.nuxt.spec.ts +import { mountSuspended } from '@nuxt/test-utils/runtime' +import App from '~/app.vue' + // tests/App.nuxt.spec.ts it('can also mount an app', async () => { const component = await mountSuspended(App, { route: '/test' }) @@ -199,13 +206,11 @@ The passed in component will be rendered inside a `
Examples: ```ts twoslash -import type { Component } from 'vue' import { it, expect } from 'vitest' -declare const SomeComponent: Component -declare const App: Component // ---cut--- // tests/components/SomeComponents.nuxt.spec.ts import { renderSuspended } from '@nuxt/test-utils/runtime' +import { SomeComponent } from '#components' import { screen } from '@testing-library/vue' it('can render some component', async () => { @@ -215,13 +220,11 @@ it('can render some component', async () => { ``` ```ts twoslash -import type { Component } from 'vue' import { it, expect } from 'vitest' -declare const SomeComponent: Component -declare const App: Component // ---cut--- // tests/App.nuxt.spec.ts import { renderSuspended } from '@nuxt/test-utils/runtime' +import App from '~/app.vue' it('can also render an app', async () => { const html = await renderSuspended(App, { route: '/test' }) From bd07021405cb738b3139ac041696ab18dce5425d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 11 May 2024 10:00:46 +0100 Subject: [PATCH 045/127] chore(deps): update all non-major dependencies (main) (#27144) --- package.json | 6 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- packages/ui-templates/package.json | 2 +- pnpm-lock.yaml | 268 +++++++++++++++-------------- 5 files changed, 143 insertions(+), 137 deletions(-) diff --git a/package.json b/package.json index 07b5a76a7..dda2e79e9 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "eslint-plugin-no-only-tests": "3.1.0", "eslint-plugin-perfectionist": "2.10.0", "eslint-typegen": "0.2.4", - "execa": "9.0.1", + "execa": "9.0.2", "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", @@ -79,7 +79,7 @@ "ofetch": "1.3.4", "pathe": "1.1.2", "playwright-core": "1.44.0", - "rimraf": "5.0.5", + "rimraf": "5.0.6", "semver": "7.6.2", "std-env": "3.7.0", "typescript": "5.4.5", @@ -88,7 +88,7 @@ "vitest-environment-nuxt": "1.0.0", "vue": "3.4.27", "vue-router": "4.3.2", - "vue-tsc": "2.0.16" + "vue-tsc": "2.0.17" }, "packageManager": "pnpm@9.1.0", "engines": { diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index ecb5f4447..a54ff0cc1 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -60,7 +60,7 @@ }, "dependencies": { "@nuxt/devalue": "^2.0.2", - "@nuxt/devtools": "^1.2.0", + "@nuxt/devtools": "^1.3.1", "@nuxt/kit": "workspace:*", "@nuxt/schema": "workspace:*", "@nuxt/telemetry": "^2.5.4", diff --git a/packages/schema/package.json b/packages/schema/package.json index 302afdfb4..81b29ced8 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -44,7 +44,7 @@ "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.27", "@vue/compiler-sfc": "3.4.27", - "@vue/language-core": "2.0.16", + "@vue/language-core": "2.0.17", "c12": "1.10.0", "esbuild-loader": "4.1.0", "h3": "1.11.1", diff --git a/packages/ui-templates/package.json b/packages/ui-templates/package.json index fafe9bb71..5c00c31f5 100644 --- a/packages/ui-templates/package.json +++ b/packages/ui-templates/package.json @@ -22,7 +22,7 @@ "@types/html-minifier": "4.0.5", "@unocss/reset": "0.60.0", "critters": "0.0.22", - "execa": "9.0.1", + "execa": "9.0.2", "globby": "14.0.1", "html-minifier": "4.0.0", "jiti": "1.21.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a88c2e92a..2975343e8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -81,8 +81,8 @@ importers: specifier: 0.2.4 version: 0.2.4(eslint@9.2.0) execa: - specifier: 9.0.1 - version: 9.0.1 + specifier: 9.0.2 + version: 9.0.2 fs-extra: specifier: 11.2.0 version: 11.2.0 @@ -123,8 +123,8 @@ importers: specifier: 1.44.0 version: 1.44.0 rimraf: - specifier: 5.0.5 - version: 5.0.5 + specifier: 5.0.6 + version: 5.0.6 semver: specifier: 7.6.2 version: 7.6.2 @@ -150,8 +150,8 @@ importers: specifier: 4.3.2 version: 4.3.2(vue@3.4.27(typescript@5.4.5)) vue-tsc: - specifier: 2.0.16 - version: 2.0.16(typescript@5.4.5) + specifier: 2.0.17 + version: 2.0.17(typescript@5.4.5) packages/kit: dependencies: @@ -250,8 +250,8 @@ importers: specifier: ^2.0.2 version: 2.0.2 '@nuxt/devtools': - specifier: ^1.2.0 - version: 1.2.0(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + specifier: ^1.3.1 + version: 1.3.1(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -510,8 +510,8 @@ importers: specifier: 3.4.27 version: 3.4.27 '@vue/language-core': - specifier: 2.0.16 - version: 2.0.16(typescript@5.4.5) + specifier: 2.0.17 + version: 2.0.17(typescript@5.4.5) c12: specifier: 1.10.0 version: 1.10.0 @@ -573,8 +573,8 @@ importers: specifier: 0.0.22 version: 0.0.22 execa: - specifier: 9.0.1 - version: 9.0.1 + specifier: 9.0.2 + version: 9.0.2 globby: specifier: 14.0.1 version: 14.0.1 @@ -703,7 +703,7 @@ importers: version: 1.6.0(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@9.2.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.16(typescript@5.4.5)) + version: 0.6.4(eslint@9.2.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.17(typescript@5.4.5)) vue-bundle-renderer: specifier: ^2.1.0 version: 2.1.0 @@ -987,6 +987,9 @@ packages: '@antfu/utils@0.7.7': resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} + '@antfu/utils@0.7.8': + resolution: {integrity: sha512-rWQkqXRESdjXtc+7NRfK9lASQjpXJu1ayp7qi1d23zZorY+wBHVLHHoVcMsEnkqEBWTFqbztO7/QdJFzyEcLTg==} + '@apidevtools/json-schema-ref-parser@11.6.0': resolution: {integrity: sha512-I+d5/XrazqY86/kGsmjVercjjJ+w6MVXJj7vnHfUgXzaoLJAl0/tPk2WXVpHUeRqHqyJ6AGkXBqx6Dc3wJkrCQ==} engines: {node: '>= 16'} @@ -1903,14 +1906,18 @@ packages: resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - '@npmcli/package-json@5.0.3': - resolution: {integrity: sha512-cgsjCvld2wMqkUqvY+SZI+1ZJ7umGBYc9IAKfqJRKJCcs7hCQYxScUgdsyrRINk3VmdCYf9TXiLBHQ6ECTxhtg==} + '@npmcli/package-json@5.1.0': + resolution: {integrity: sha512-1aL4TuVrLS9sf8quCLerU3H9J4vtCtgu8VauYozrmEyU57i/EdKleCnsQ7vpnABIH6c9mnTxcH5sFkO3BlV8wQ==} engines: {node: ^16.14.0 || >=18.0.0} '@npmcli/promise-spawn@7.0.0': resolution: {integrity: sha512-wBqcGsMELZna0jDblGd7UXgOby45TQaMWmbFwWX+SEotk4HV6zG2t6rT9siyLhPk4P6YYqgfL1UO8nMWDBVJXQ==} engines: {node: ^16.14.0 || >=18.0.0} + '@npmcli/redact@2.0.0': + resolution: {integrity: sha512-SEjCPAVHWYUIQR+Yn03kJmrJjZDtJLYpj300m3HV9OTRZNpC5YpbMsM3eTkECyT4aWj8lDr9WeY6TWefpubtYQ==} + engines: {node: ^16.14.0 || >=18.0.0} + '@npmcli/run-script@8.0.0': resolution: {integrity: sha512-5noc+eCQmX1W9nlFUe65n5MIteikd3vOA2sEPdXtlUv68KWyHNFZnT/LDRXu/E4nZ5yxjciP30pADr/GQ97W1w==} engines: {node: ^16.14.0 || >=18.0.0} @@ -1918,18 +1925,18 @@ packages: '@nuxt/devalue@2.0.2': resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} - '@nuxt/devtools-kit@1.2.0': - resolution: {integrity: sha512-T81TQuaN6hbQFzgvQeRAMJjcL4mgWtYvlGTAvtuvd3TFuHV7bMK+tFZaxgJXzIu1/UPO7/aO4VLCB0xl5sSwZw==} + '@nuxt/devtools-kit@1.3.1': + resolution: {integrity: sha512-YckEiiTef3dMckwLLUb+feKV0O8pS9s8ujw/FQ600oQbOCbq6hpWY5HQYxVYc3E41wu87lFiIZ1rnHjO3nM9sw==} peerDependencies: nuxt: workspace:* vite: 5.2.11 - '@nuxt/devtools-wizard@1.2.0': - resolution: {integrity: sha512-qGepEgm7m1q9fmnwcrbijpRgdprPbczStmVlKcONYE/9PrGn+MHeHthJHD0im30FHBVQytbN11jor1sHEauGhA==} + '@nuxt/devtools-wizard@1.3.1': + resolution: {integrity: sha512-t6qTp573s1NWoS1nqOqKRld6wFWDiMzoFojBG8GeqTwPi2NYbjyPbQobmvMGiihkWPudMpChhAhYwTTyCPFE7Q==} hasBin: true - '@nuxt/devtools@1.2.0': - resolution: {integrity: sha512-pdEvZJqovqxJp9E1BJAaGeFdFPEpCKwuuy9l9k4exBvwvxjTfjLeyW7oPD5RUTCGGxhOswgbXwuDrO4k+x2zpA==} + '@nuxt/devtools@1.3.1': + resolution: {integrity: sha512-SuiuqtlN6OMPn7hYqbydcJmRF/L86yxi8ApcjNVnMURYBPaAAN9egkEFpQ6AjzjX+UnaG1hU8FE0w6pWKSRp3A==} hasBin: true peerDependencies: nuxt: workspace:* @@ -2258,6 +2265,9 @@ packages: '@shikijs/core@1.1.6': resolution: {integrity: sha512-kt9hhvrWTm0EPtRDIsoAZnSsFlIDBVBBI5CQewpA/NZCPin+MOKRXg+JiWc4y+8fZ/v0HzfDhu/UC+OTZGMt7A==} + '@shikijs/core@1.3.0': + resolution: {integrity: sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA==} + '@shikijs/transformers@1.1.2': resolution: {integrity: sha512-tldkUMW7RBkU2F6eXbiRMw3ja+hQer1EjwhD2NGOv6K0pgZdVp3JKjU8uisRtg65tyBqrVHq7zlLHVk7EKmUZA==} @@ -2754,17 +2764,17 @@ packages: '@volar/language-core@1.11.1': resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} - '@volar/language-core@2.2.0': - resolution: {integrity: sha512-a8WG9+4OdeNDW4ywABZIM6S6UN7em8uIlM/BZ2pWQUYrVmX+m8sj/X+QadvO+Li/t/LjAqbWJQtVgxdpEWLALQ==} + '@volar/language-core@2.2.2': + resolution: {integrity: sha512-GuvEL4JdxbnLVhPLICncCGT+tVW4cIz9GxXNeDofNnJ4iNTKhr5suGVsA1GLOne9PbraSjn8PlLt+pvLxuRVeQ==} '@volar/source-map@1.11.1': resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} - '@volar/source-map@2.2.0': - resolution: {integrity: sha512-HQlPRlHOVqCCHK8wI76ZldHkEwKsjp7E6idUc36Ekni+KJDNrqgSqPvyHQixybXPHNU7CI9Uxd9/IkxO7LuNBw==} + '@volar/source-map@2.2.2': + resolution: {integrity: sha512-vUwvZuSW6iN4JI9QRinh9EjFasx1TUtnaWMKwgWx08xz1PyYuNkLlWlrZXBZ5GGBhML0u230M/7X+AHY2h9yKg==} - '@volar/typescript@2.2.0': - resolution: {integrity: sha512-wC6l4zLiiCLxF+FGaHCbWlQYf4vMsnRxYhcI6WgvaNppOD6r1g+Ef1RKRJUApALWU46Yy/JDU/TbdV6w/X6Liw==} + '@volar/typescript@2.2.2': + resolution: {integrity: sha512-WcwOREz7+uOrpjUrKhOMaOKKmyPdtqF95HWX7SE0d9hhBB1KkfahxhaAex5U9Bn43LfINHlycLoYCNEtfeKm0g==} '@vue-macros/common@1.10.1': resolution: {integrity: sha512-uftSpfwdwitcQT2lM8aVxcfe5rKQBzC9jMrtJM5sG4hEuFyfIvnJihpPpnaWxY+X4p64k+YYXtBFv+1O5Bq3dg==} @@ -2798,24 +2808,24 @@ packages: '@vue/devtools-api@6.5.1': resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} - '@vue/devtools-applet@7.0.27': - resolution: {integrity: sha512-ubNn/qIn5n3x7YCVSabfQfKL49GoJPJdYu4LfdNz/gZkgb1+djdATpKl/+xzQoOqtGzqnR9nMoCHApAJAgeMyg==} + '@vue/devtools-applet@7.1.3': + resolution: {integrity: sha512-525h17FzUF7ssko/U+yeP5jv0HaGm3eI4dVqncWPRCLTDtOy1V+srjoxYqr5qnzx6AdIU2icPQF2KNomd9FGZw==} peerDependencies: vue: 3.4.27 - '@vue/devtools-core@7.0.27': - resolution: {integrity: sha512-3rbtNGxFFFPfIObgTAPIw0h0rJy+y1PrbfgM9nXRf3/FIJkthfS19yj31pj9EWIqRsyiqK5u1Ni7SAJZ0vsQOA==} + '@vue/devtools-core@7.1.3': + resolution: {integrity: sha512-pVbWi8pf2Z/fZPioYOIgu+cv9pQG55k4D8bL31ec+Wfe+pQR0ImFDu0OhHfch1Ra8uvLLrAZTF4IKeGAkmzD4A==} - '@vue/devtools-kit@7.0.27': - resolution: {integrity: sha512-/A5xM38pPCFX5Yhl/lRFAzjyK6VNsH670nww2WbjFKWqlu3I+lMxWKzQkCW6A1V8bduITgl2kHORfg2gTw6QaA==} + '@vue/devtools-kit@7.1.3': + resolution: {integrity: sha512-NFskFSJMVCBXTkByuk2llzI3KD3Blcm7WqiRorWjD6nClHPgkH5BobDH08rfulqq5ocRt5xV+3qOT1Q9FXJrwQ==} peerDependencies: vue: 3.4.27 - '@vue/devtools-shared@7.0.27': - resolution: {integrity: sha512-4VxtmZ6yjhiSloqZZq2UYU0TBGxOJ8GxWvp5OlAH70zYqi0FIAyWGPkOhvfoZ7DKQyv2UU0mmKzFHjsEkelGyQ==} + '@vue/devtools-shared@7.1.3': + resolution: {integrity: sha512-KJ3AfgjTn3tJz/XKF+BlVShNPecim3G21oHRue+YQOsooW+0s+qXvm09U09aO7yBza5SivL1QgxSrzAbiKWjhQ==} - '@vue/devtools-ui@7.0.27': - resolution: {integrity: sha512-MVcQwqqGNW2poW29OkzOcpNLHb0R/VQECWYiDYvKqjWp3G8M/FS2E5mUnjXxZGpfqHjSEmJs+fFGY8exnYpNng==} + '@vue/devtools-ui@7.1.3': + resolution: {integrity: sha512-gO2EV3T0wO+HK884+m6UgTEirNOuf+k8U4PcR0vIYA97/A9nTzv9HheCRyFMiHMePYxnlBOsgD7K2fp1/M+EWA==} peerDependencies: '@unocss/reset': '>=0.50.0-0' floating-vue: '>=2.0.0-0' @@ -2830,8 +2840,8 @@ packages: typescript: optional: true - '@vue/language-core@2.0.16': - resolution: {integrity: sha512-Bc2sexRH99pznOph8mLw2BlRZ9edm7tW51kcBXgx8adAoOcZUWJj3UNSsdQ6H9Y8meGz7BoazVrVo/jUukIsPw==} + '@vue/language-core@2.0.17': + resolution: {integrity: sha512-tHw2J6G9yL4kn3jN5MftOHEq86Y6qnuohBQ1OHkJ73fAv3OYgwDI1cfX7ds0OEJEycOMG64BA3ql5bDgDa41zw==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -3490,8 +3500,8 @@ packages: resolution: {integrity: sha512-Hq1+lXVgjJjcS/U+uk6+yVmtxami0r0b+xVtlGyABgdz110l/kOnHWvlSI7nVzrTl8GCdZHwZS4pbBFT7hSL/g==} engines: {node: '>=18.0'} - cronstrue@2.49.0: - resolution: {integrity: sha512-FWZBqdStQaPR8ZTBQGALh1EK9Hl1HcG70dyGvD1rKLPafFO3H73o38dz/e8YkIlbLn3JxmBI/f6Doe3Nh+DcEQ==} + cronstrue@2.50.0: + resolution: {integrity: sha512-ULYhWIonJzlScCCQrPUG5uMXzXxSixty4djud9SS37DoNxDdkeRocxzHuAo4ImRBUK+mAuU5X9TSwEDccnnuPg==} hasBin: true cross-spawn@7.0.3: @@ -4055,8 +4065,8 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} - execa@9.0.1: - resolution: {integrity: sha512-U5ck8xJmf3sVebV1v+Hh436VWHVHUfzkdbKJynd3kCP9sQRDxCY5x2Tml5lGB7XM6lpj6ATfgWWqynDt2MBLJg==} + execa@9.0.2: + resolution: {integrity: sha512-oO281GF7ksH/Ogv1xyDf1prvFta/6/XkGKxRUvA3IB2MU1rCJGlFs86HRZhdooow1ISkR0Np0rOxUCIJVw36Rg==} engines: {node: '>=18'} exponential-backoff@3.1.1: @@ -5466,8 +5476,8 @@ packages: resolution: {integrity: sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==} engines: {node: ^16.14.0 || >=18.0.0} - npm-registry-fetch@16.1.0: - resolution: {integrity: sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==} + npm-registry-fetch@17.0.1: + resolution: {integrity: sha512-fLu9MTdZTlJAHUek/VLklE6EpIiP3VZpTiuN7OOMCt2Sd67NCpSEetMaxHHEZiZxllp8ZLsUpvbEszqTFEc+wA==} engines: {node: ^16.14.0 || >=18.0.0} npm-run-path@4.0.1: @@ -5604,8 +5614,8 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - pacote@18.0.0: - resolution: {integrity: sha512-ma7uVt/q3Sb3XbLwUjOeClz+7feHjMOFegHn5whw++x+GzikZkAq/2auklSbRuy6EI2iJh1/ZqCpVaUcxRaeqQ==} + pacote@18.0.6: + resolution: {integrity: sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==} engines: {node: ^16.14.0 || >=18.0.0} hasBin: true @@ -6106,14 +6116,6 @@ packages: read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - read-package-json-fast@3.0.2: - resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - read-package-json@7.0.0: - resolution: {integrity: sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==} - engines: {node: ^16.14.0 || >=18.0.0} - read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} @@ -6243,8 +6245,8 @@ packages: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true - rimraf@5.0.5: - resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} + rimraf@5.0.6: + resolution: {integrity: sha512-X72SgyOf+1lFnGM6gYcmZ4+jMOwuT4E4SajKQzUIlI7EoR5eFHMhS/wf8Ll0mN+w2bxcIVldrJQ6xT7HFQywjg==} engines: {node: '>=14'} hasBin: true @@ -6368,6 +6370,9 @@ packages: shiki@1.1.6: resolution: {integrity: sha512-j4pcpvaQWHb42cHeV+W6P+X/VcK7Y2ctvEham6zB8wsuRQroT6cEMIkiUmBU2Nqg2qnHZDH6ZyRdVldcy0l6xw==} + shiki@1.3.0: + resolution: {integrity: sha512-9aNdQy/etMXctnPzsje1h1XIGm9YfRcSksKOGqZWXA/qP9G18/8fpz5Bjpma8bOgz3tqIpjERAd6/lLjFyzoww==} + side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} @@ -7021,8 +7026,8 @@ packages: vue-tsc: optional: true - vite-plugin-inspect@0.8.3: - resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} + vite-plugin-inspect@0.8.4: + resolution: {integrity: sha512-G0N3rjfw+AiiwnGw50KlObIHYWfulVwaCBUBLh2xTW9G1eM9ocE5olXkEYUbwyTmX+azM8duubi+9w5awdCz+g==} engines: {node: '>=14'} peerDependencies: '@nuxt/kit': '*' @@ -7031,8 +7036,8 @@ packages: '@nuxt/kit': optional: true - vite-plugin-vue-inspector@4.0.2: - resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} + vite-plugin-vue-inspector@5.1.0: + resolution: {integrity: sha512-yIw9dvBz9nQW7DPfbJtUVW6JTnt67hqTPRnTwT2CZWMqDvISyQHRjgKl32nlMh1DRH+92533Sv6t59pWMLUCWA==} peerDependencies: vite: 5.2.11 @@ -7201,8 +7206,8 @@ packages: vue-template-compiler@2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} - vue-tsc@2.0.16: - resolution: {integrity: sha512-/gHAWJa216PeEhfxtAToIbxdWgw01wuQzo48ZUqMYVEyNqDp+OYV9xMO5HaPS2P3Ls0+EsjguMZLY4cGobX4Ew==} + vue-tsc@2.0.17: + resolution: {integrity: sha512-RRZsiCBD1hvATQb321xV+SkRDKsK5hgFQ4WXy5wuYsyyjz8xAK4DjxHkpH7PFoJKUbZTbeW8KzhejzXZS49Tzw==} hasBin: true peerDependencies: typescript: '*' @@ -7344,8 +7349,8 @@ packages: utf-8-validate: optional: true - ws@8.16.0: - resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} + ws@8.17.0: + resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -7423,6 +7428,8 @@ snapshots: '@antfu/utils@0.7.7': {} + '@antfu/utils@0.7.8': {} + '@apidevtools/json-schema-ref-parser@11.6.0': dependencies: '@jsdevtools/ono': 7.1.3 @@ -8167,7 +8174,7 @@ snapshots: '@npmcli/node-gyp@3.0.0': {} - '@npmcli/package-json@5.0.3': + '@npmcli/package-json@5.1.0': dependencies: '@npmcli/git': 5.0.3 glob: 10.3.12 @@ -8183,10 +8190,12 @@ snapshots: dependencies: which: 4.0.0 + '@npmcli/redact@2.0.0': {} + '@npmcli/run-script@8.0.0': dependencies: '@npmcli/node-gyp': 3.0.0 - '@npmcli/package-json': 5.0.3 + '@npmcli/package-json': 5.1.0 '@npmcli/promise-spawn': 7.0.0 node-gyp: 10.1.0 proc-log: 4.2.0 @@ -8197,7 +8206,7 @@ snapshots: '@nuxt/devalue@2.0.2': {} - '@nuxt/devtools-kit@1.2.0(nuxt@packages+nuxt)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))': + '@nuxt/devtools-kit@1.3.1(nuxt@packages+nuxt)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))': dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema @@ -8205,7 +8214,7 @@ snapshots: nuxt: link:packages/nuxt vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) - '@nuxt/devtools-wizard@1.2.0': + '@nuxt/devtools-wizard@1.3.1': dependencies: consola: 3.2.3 diff: 5.2.0 @@ -8218,18 +8227,18 @@ snapshots: rc9: 2.1.2 semver: 7.6.2 - '@nuxt/devtools@1.2.0(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@nuxt/devtools@1.3.1(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: - '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.2.0(nuxt@packages+nuxt)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) - '@nuxt/devtools-wizard': 1.2.0 + '@antfu/utils': 0.7.8 + '@nuxt/devtools-kit': 1.3.1(nuxt@packages+nuxt)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) + '@nuxt/devtools-wizard': 1.3.1 '@nuxt/kit': link:packages/kit - '@vue/devtools-applet': 7.0.27(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) - '@vue/devtools-core': 7.0.27(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) - '@vue/devtools-kit': 7.0.27(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-applet': 7.1.3(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-core': 7.1.3(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5)) birpc: 0.2.17 consola: 3.2.3 - cronstrue: 2.49.0 + cronstrue: 2.50.0 destr: 2.0.3 error-stack-parser-es: 0.1.1 execa: 7.2.0 @@ -8245,7 +8254,7 @@ snapshots: nuxt: link:packages/nuxt nypm: 0.3.8 ohash: 1.1.3 - pacote: 18.0.0 + pacote: 18.0.6 pathe: 1.1.2 perfect-debounce: 1.0.0 pkg-types: 1.1.1 @@ -8256,10 +8265,10 @@ snapshots: sirv: 2.0.4 unimport: 3.7.1(rollup@4.17.2) vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) - vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) - vite-plugin-vue-inspector: 4.0.2(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) + vite-plugin-inspect: 0.8.4(@nuxt/kit@packages+kit)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) + vite-plugin-vue-inspector: 5.1.0(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) which: 3.0.1 - ws: 8.16.0 + ws: 8.17.0 transitivePeerDependencies: - '@unocss/reset' - '@vue/composition-api' @@ -8613,6 +8622,8 @@ snapshots: '@shikijs/core@1.1.6': {} + '@shikijs/core@1.3.0': {} + '@shikijs/transformers@1.1.2': dependencies: shiki: 1.1.2 @@ -9393,21 +9404,21 @@ snapshots: dependencies: '@volar/source-map': 1.11.1 - '@volar/language-core@2.2.0': + '@volar/language-core@2.2.2': dependencies: - '@volar/source-map': 2.2.0 + '@volar/source-map': 2.2.2 '@volar/source-map@1.11.1': dependencies: muggle-string: 0.3.1 - '@volar/source-map@2.2.0': + '@volar/source-map@2.2.2': dependencies: muggle-string: 0.4.1 - '@volar/typescript@2.2.0': + '@volar/typescript@2.2.2': dependencies: - '@volar/language-core': 2.2.0 + '@volar/language-core': 2.2.2 path-browserify: 1.0.1 '@vue-macros/common@1.10.1(rollup@4.17.2)(vue@3.4.27(typescript@5.4.5))': @@ -9472,13 +9483,15 @@ snapshots: '@vue/devtools-api@6.5.1': {} - '@vue/devtools-applet@7.0.27(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@vue/devtools-applet@7.1.3(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: - '@vue/devtools-core': 7.0.27(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) - '@vue/devtools-kit': 7.0.27(vue@3.4.27(typescript@5.4.5)) - '@vue/devtools-shared': 7.0.27 - '@vue/devtools-ui': 7.0.27(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-core': 7.1.3(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-shared': 7.1.3 + '@vue/devtools-ui': 7.1.3(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5)) + lodash-es: 4.17.21 perfect-debounce: 1.0.0 + shiki: 1.3.0 splitpanes: 3.1.5 vue: 3.4.27(typescript@5.4.5) vue-virtual-scroller: 2.0.0-beta.8(vue@3.4.27(typescript@5.4.5)) @@ -9500,10 +9513,10 @@ snapshots: - unocss - vite - '@vue/devtools-core@7.0.27(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@vue/devtools-core@7.1.3(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: - '@vue/devtools-kit': 7.0.27(vue@3.4.27(typescript@5.4.5)) - '@vue/devtools-shared': 7.0.27 + '@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-shared': 7.1.3 mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 @@ -9512,22 +9525,23 @@ snapshots: - vite - vue - '@vue/devtools-kit@7.0.27(vue@3.4.27(typescript@5.4.5))': + '@vue/devtools-kit@7.1.3(vue@3.4.27(typescript@5.4.5))': dependencies: - '@vue/devtools-shared': 7.0.27 + '@vue/devtools-shared': 7.1.3 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 vue: 3.4.27(typescript@5.4.5) - '@vue/devtools-shared@7.0.27': + '@vue/devtools-shared@7.1.3': dependencies: rfdc: 1.3.1 - '@vue/devtools-ui@7.0.27(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))': + '@vue/devtools-ui@7.1.3(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))': dependencies: '@unocss/reset': 0.60.0 + '@vue/devtools-shared': 7.1.3 '@vueuse/components': 10.9.0(vue@3.4.27(typescript@5.4.5)) '@vueuse/core': 10.9.0(vue@3.4.27(typescript@5.4.5)) '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.27(typescript@5.4.5)) @@ -9564,9 +9578,9 @@ snapshots: optionalDependencies: typescript: 5.4.5 - '@vue/language-core@2.0.16(typescript@5.4.5)': + '@vue/language-core@2.0.17(typescript@5.4.5)': dependencies: - '@volar/language-core': 2.2.0 + '@volar/language-core': 2.2.2 '@vue/compiler-dom': 3.4.27 '@vue/shared': 3.4.27 computeds: 0.0.1 @@ -10266,7 +10280,7 @@ snapshots: croner@8.0.1: {} - cronstrue@2.49.0: {} + cronstrue@2.50.0: {} cross-spawn@7.0.3: dependencies: @@ -10955,7 +10969,7 @@ snapshots: human-signals: 4.3.1 is-stream: 3.0.0 merge-stream: 2.0.0 - npm-run-path: 5.1.0 + npm-run-path: 5.3.0 onetime: 6.0.0 signal-exit: 3.0.7 strip-final-newline: 3.0.0 @@ -10972,7 +10986,7 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 - execa@9.0.1: + execa@9.0.2: dependencies: '@sindresorhus/merge-streams': 4.0.0 cross-spawn: 7.0.3 @@ -12702,15 +12716,16 @@ snapshots: npm-package-arg: 11.0.1 semver: 7.6.2 - npm-registry-fetch@16.1.0: + npm-registry-fetch@17.0.1: dependencies: + '@npmcli/redact': 2.0.0 make-fetch-happen: 13.0.0 minipass: 7.0.4 minipass-fetch: 3.0.4 minipass-json-stream: 1.0.1 minizlib: 2.1.2 npm-package-arg: 11.0.1 - proc-log: 3.0.0 + proc-log: 4.2.0 transitivePeerDependencies: - supports-color @@ -12885,10 +12900,11 @@ snapshots: p-try@2.2.0: {} - pacote@18.0.0: + pacote@18.0.6: dependencies: '@npmcli/git': 5.0.3 '@npmcli/installed-package-contents': 2.0.2 + '@npmcli/package-json': 5.1.0 '@npmcli/promise-spawn': 7.0.0 '@npmcli/run-script': 8.0.0 cacache: 18.0.0 @@ -12897,11 +12913,9 @@ snapshots: npm-package-arg: 11.0.1 npm-packlist: 8.0.0 npm-pick-manifest: 9.0.0 - npm-registry-fetch: 16.1.0 + npm-registry-fetch: 17.0.1 proc-log: 4.2.0 promise-retry: 2.0.1 - read-package-json: 7.0.0 - read-package-json-fast: 3.0.2 sigstore: 2.2.2 ssri: 10.0.5 tar: 6.2.0 @@ -13377,18 +13391,6 @@ snapshots: dependencies: pify: 2.3.0 - read-package-json-fast@3.0.2: - dependencies: - json-parse-even-better-errors: 3.0.0 - npm-normalize-package-bin: 3.0.1 - - read-package-json@7.0.0: - dependencies: - glob: 10.3.12 - json-parse-even-better-errors: 3.0.0 - normalize-package-data: 6.0.0 - npm-normalize-package-bin: 3.0.1 - read-pkg-up@7.0.1: dependencies: find-up: 4.1.0 @@ -13583,7 +13585,7 @@ snapshots: dependencies: glob: 7.2.3 - rimraf@5.0.5: + rimraf@5.0.6: dependencies: glob: 10.3.12 @@ -13747,6 +13749,10 @@ snapshots: dependencies: '@shikijs/core': 1.1.6 + shiki@1.3.0: + dependencies: + '@shikijs/core': 1.3.0 + side-channel@1.0.4: dependencies: call-bind: 1.0.7 @@ -14485,7 +14491,7 @@ snapshots: - supports-color - terser - vite-plugin-checker@0.6.4(eslint@9.2.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.16(typescript@5.4.5)): + vite-plugin-checker@0.6.4(eslint@9.2.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.17(typescript@5.4.5)): dependencies: '@babel/code-frame': 7.24.2 ansi-escapes: 4.3.2 @@ -14507,11 +14513,11 @@ snapshots: eslint: 9.2.0 optionator: 0.9.3 typescript: 5.4.5 - vue-tsc: 2.0.16(typescript@5.4.5) + vue-tsc: 2.0.17(typescript@5.4.5) - vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)): + vite-plugin-inspect@0.8.4(@nuxt/kit@packages+kit)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)): dependencies: - '@antfu/utils': 0.7.7 + '@antfu/utils': 0.7.8 '@rollup/pluginutils': 5.1.0(rollup@4.17.2) debug: 4.3.4 error-stack-parser-es: 0.1.1 @@ -14527,7 +14533,7 @@ snapshots: - rollup - supports-color - vite-plugin-vue-inspector@4.0.2(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)): + vite-plugin-vue-inspector@5.1.0(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)): dependencies: '@babel/core': 7.24.5 '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.24.5) @@ -14763,10 +14769,10 @@ snapshots: de-indent: 1.0.2 he: 1.2.0 - vue-tsc@2.0.16(typescript@5.4.5): + vue-tsc@2.0.17(typescript@5.4.5): dependencies: - '@volar/typescript': 2.2.0 - '@vue/language-core': 2.0.16(typescript@5.4.5) + '@volar/typescript': 2.2.2 + '@vue/language-core': 2.0.17(typescript@5.4.5) semver: 7.6.2 typescript: 5.4.5 @@ -14959,7 +14965,7 @@ snapshots: ws@7.5.9: {} - ws@8.16.0: {} + ws@8.17.0: {} xml-name-validator@4.0.0: {} From b5e35e3bd79388b73154e3502544f11c6ece9173 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Sun, 12 May 2024 09:47:15 +0100 Subject: [PATCH 046/127] docs: fix type checking of component testing blocks --- docs/1.getting-started/11.testing.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/1.getting-started/11.testing.md b/docs/1.getting-started/11.testing.md index 01950066b..f6b40016b 100644 --- a/docs/1.getting-started/11.testing.md +++ b/docs/1.getting-started/11.testing.md @@ -161,6 +161,10 @@ export default defineVitestConfig({ ```ts twoslash import { it, expect } from 'vitest' +import type { Component } from 'vue' +declare module '#components' { + export const SomeComponent: Component +} // ---cut--- // tests/components/SomeComponents.nuxt.spec.ts import { mountSuspended } from '@nuxt/test-utils/runtime' @@ -207,6 +211,10 @@ Examples: ```ts twoslash import { it, expect } from 'vitest' +import type { Component } from 'vue' +declare module '#components' { + export const SomeComponent: Component +} // ---cut--- // tests/components/SomeComponents.nuxt.spec.ts import { renderSuspended } from '@nuxt/test-utils/runtime' From dd6da1c61457191e299719a7733d5bd43d4805b0 Mon Sep 17 00:00:00 2001 From: Dominik Opyd Date: Sun, 12 May 2024 10:47:27 +0200 Subject: [PATCH 047/127] docs: add `app.config.ts` to nuxt 4 testing/migration (#27164) --- docs/1.getting-started/12.upgrade.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/1.getting-started/12.upgrade.md b/docs/1.getting-started/12.upgrade.md index 626d63ab4..9c0e79fd6 100644 --- a/docs/1.getting-started/12.upgrade.md +++ b/docs/1.getting-started/12.upgrade.md @@ -100,6 +100,7 @@ app/ pages/ plugins/ utils/ + app.config.ts app.vue router.options.ts modules/ @@ -126,7 +127,7 @@ nuxt.config.ts ##### Migration Steps 1. Create a new directory called `app/`. -1. Move your `assets/`, `components/`, `composables/`, `layouts/`, `middleware/`, `pages/`, `plugins/` and `utils/` folders under it, as well as `app.vue`, `error.vue`. If you have an `app/router-options.ts` or `app/spa-loading-template.html`, these paths remain the same. +1. Move your `assets/`, `components/`, `composables/`, `layouts/`, `middleware/`, `pages/`, `plugins/` and `utils/` folders under it, as well as `app.vue`, `error.vue`, `app.config.ts`. If you have an `app/router-options.ts` or `app/spa-loading-template.html`, these paths remain the same. 1. Make sure your `nuxt.config.ts`, `modules/`, `public/` and `server/` folders remain outside the `app/` folder, in the root of your project. However, migration is _not required_. If you wish to keep your current folder structure, Nuxt should auto-detect it. (If it does not, please raise an issue.) You can also force a v3 folder structure with the following configuration: From f415e9cd0ace4ac1234463dd23483c4028014b29 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 12 May 2024 10:15:37 +0100 Subject: [PATCH 048/127] chore(deps): update all non-major dependencies (main) (#27170) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- packages/ui-templates/package.json | 4 +- pnpm-lock.yaml | 383 ++++++++++++++--------------- 3 files changed, 192 insertions(+), 197 deletions(-) diff --git a/package.json b/package.json index dda2e79e9..2452551db 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ "ofetch": "1.3.4", "pathe": "1.1.2", "playwright-core": "1.44.0", - "rimraf": "5.0.6", + "rimraf": "5.0.7", "semver": "7.6.2", "std-env": "3.7.0", "typescript": "5.4.5", diff --git a/packages/ui-templates/package.json b/packages/ui-templates/package.json index 5c00c31f5..a7389b18a 100644 --- a/packages/ui-templates/package.json +++ b/packages/ui-templates/package.json @@ -20,7 +20,7 @@ }, "devDependencies": { "@types/html-minifier": "4.0.5", - "@unocss/reset": "0.60.0", + "@unocss/reset": "0.60.1", "critters": "0.0.22", "execa": "9.0.2", "globby": "14.0.1", @@ -30,7 +30,7 @@ "pathe": "1.1.2", "prettier": "3.2.5", "scule": "1.3.0", - "unocss": "0.60.0", + "unocss": "0.60.1", "vite": "5.2.11" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2975343e8..621aff284 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -123,8 +123,8 @@ importers: specifier: 1.44.0 version: 1.44.0 rimraf: - specifier: 5.0.6 - version: 5.0.6 + specifier: 5.0.7 + version: 5.0.7 semver: specifier: 7.6.2 version: 7.6.2 @@ -251,7 +251,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.3.1 - version: 1.3.1(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 1.3.1(@unocss/reset@0.60.1)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -567,8 +567,8 @@ importers: specifier: 4.0.5 version: 4.0.5 '@unocss/reset': - specifier: 0.60.0 - version: 0.60.0 + specifier: 0.60.1 + version: 0.60.1 critters: specifier: 0.0.22 version: 0.0.22 @@ -597,8 +597,8 @@ importers: specifier: 1.3.0 version: 1.3.0 unocss: - specifier: 0.60.0 - version: 0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) + specifier: 0.60.1 + version: 0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) vite: specifier: 5.2.11 version: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) @@ -984,9 +984,6 @@ packages: '@antfu/install-pkg@0.1.1': resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} - '@antfu/utils@0.7.7': - resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} - '@antfu/utils@0.7.8': resolution: {integrity: sha512-rWQkqXRESdjXtc+7NRfK9lASQjpXJu1ayp7qi1d23zZorY+wBHVLHHoVcMsEnkqEBWTFqbztO7/QdJFzyEcLTg==} @@ -2621,89 +2618,89 @@ packages: peerDependencies: vue: 3.4.27 - '@unocss/astro@0.60.0': - resolution: {integrity: sha512-clZuuNWFpNpr8OGm4vr/t3cD++S9rqK1jsZKkT0Wuu8/IKkZx/4x0BTn82KhaB4o5RJWwwtkfX65AePn6D+62g==} + '@unocss/astro@0.60.1': + resolution: {integrity: sha512-I9PQTJqtv4/9MK32W9RtPHAskpTXYAyshFAgGMdWQVA7gLVwSZoT2vuOnT32KEb1OqvW9fwwjJHiNRxSCn44ew==} peerDependencies: vite: 5.2.11 peerDependenciesMeta: vite: optional: true - '@unocss/cli@0.60.0': - resolution: {integrity: sha512-TzBhbOfd7Rl+NsqHjQSFLoc8aMJcfRRMZ3BXuIa3EhGuT0r4e1H7CENUQXl7ijNLVL9XL2SyrV68cDvEeQfMZA==} + '@unocss/cli@0.60.1': + resolution: {integrity: sha512-hNtlc7qhUh0ZxqIzxASMu7NyBwWdspEbQ/VgDPoqPErp+ipuLteW97GAUFG1p5AoSO/xJ5i1HuwGja760urt8w==} engines: {node: '>=14'} hasBin: true - '@unocss/config@0.60.0': - resolution: {integrity: sha512-y8zTM/qhZ5p2zhtgjsqL4BDjDXes1i72kNts/A85adNTx9ffZG+0dbrH2DLoBKp6aAb51AOo5OcG5cllSbNrDQ==} + '@unocss/config@0.60.1': + resolution: {integrity: sha512-9moB8hgEfJ5q7W8w40dANbdFZRlJdJbCIzTraUwpiTWjzYdct8XPNYmyterVt0LZ8b85LOk14PKPXjp1IiksSw==} engines: {node: '>=14'} - '@unocss/core@0.60.0': - resolution: {integrity: sha512-i1j5i/4xiCfogobaOdQCQUEy/Ch8mBtKgpfUIreJtElaF15uIjT2t/G0y7qUz87ZNl+wJoPcWkcSC92HVnjXwg==} + '@unocss/core@0.60.1': + resolution: {integrity: sha512-Ks+BZeJRlH+51sHfxZMYwlRnAy6Kl0nZGfhrU7NRjWCN9QhQDx99zRoo9mqOAZyT16Sj731j6+T0tT0pXHxpkg==} - '@unocss/extractor-arbitrary-variants@0.60.0': - resolution: {integrity: sha512-f6o2KsCP+BYzYRjeBkjiquh5eM1oRv/wNu1a1triNk9pmmD3nUWRY0ImaXRkSbgHpAjVEDloOpqPdMTO408ePg==} + '@unocss/extractor-arbitrary-variants@0.60.1': + resolution: {integrity: sha512-/HRBMU6AlQuozfYjg77GYF3lsdArM44ycEO6rDWw4QgBvNI6XFY9W3QKcuqI0ABVQdqAc3v4qkUaTNctFi+RAw==} - '@unocss/inspector@0.60.0': - resolution: {integrity: sha512-aw9wkEslDnuQNEQkffCVvYJEljB9y/jkNM/i/YBjDYsTYOa/p63NVju9Bn0l3+uUiH6Nsws2JJ1q3xIulhZEIw==} + '@unocss/inspector@0.60.1': + resolution: {integrity: sha512-SqEdmrLrzEaQpfiY/Cfo/4+JlIQ1i0A5ISsFQeJAUZo2BKndV3JM8UzwdMc1SI3+bWx7wKSFtFWxboXpHv5pRw==} - '@unocss/postcss@0.60.0': - resolution: {integrity: sha512-FlEAUWSywKZ55IJbhM0vJ39mDHWveT06Bu4l7TYLgdQ6BJHDIncatMg3GQ9L8RTEbXGGjhnOs3EJyd1ZHEzBUw==} + '@unocss/postcss@0.60.1': + resolution: {integrity: sha512-zGimdFqB+tFbcS0Xs4hauNB9HSxdB3Yzi4Ow7EDqYiO87SNS/lLAvAut9nsd4cVfkpm3bnkTc5R/vBmwY67o0g==} engines: {node: '>=14'} peerDependencies: postcss: ^8.4.21 - '@unocss/preset-attributify@0.60.0': - resolution: {integrity: sha512-FJZCKy6Wf6qc9EXFei4txy9nYkKotoPD/20NfA+beYS3XbVxAxQy6d454fe9DDK99QfJeEJd8xhaWJFCweiQWw==} + '@unocss/preset-attributify@0.60.1': + resolution: {integrity: sha512-nWsuMLXdAI+X9OP8iv/hEWRevE+7Rmet95O+A/O/75GmXcv6KRkTGnrkIse9ne2Mqfb1BG5g4OgvROpk+PFvYg==} - '@unocss/preset-icons@0.60.0': - resolution: {integrity: sha512-8DD9PURCfAtN5nlpOAz5ocV8NG1bb1u83WIGYu+uuVbmFUiMVP4RIEtS1+/dXBEtl0EA7rgN9qI5EmzPDrLd1Q==} + '@unocss/preset-icons@0.60.1': + resolution: {integrity: sha512-rev1cUvfdYG48avJaXuL7DPgFoSuTktL2L3uA0+V/zgcdxPLQ2dI/nO3gMnt1VCvz7mRWK6Lh3wRhiNzkUfGmw==} - '@unocss/preset-mini@0.60.0': - resolution: {integrity: sha512-N0XqjuMRjtRUYeE5ELxOcraEwUWkhQum+qIhr0ZZCCoGQpa/u1MRCkwNcBSEy70HZMoyesYVtxiOz0CgAWRSQw==} + '@unocss/preset-mini@0.60.1': + resolution: {integrity: sha512-X0V2wBZFRDxdRKkiC9t++7CsfkXtH0p6adVCoFzEi3fTy6XPTmBNZJ0VqLKj9Nm5hOm459x1CKn2gLEVIZkR3Q==} - '@unocss/preset-tagify@0.60.0': - resolution: {integrity: sha512-7uEnjqQN+zdfBpDwzfVB/rnriqa6jxImMv3g8nQ0A3boopaB+JBuqlSr3/sUmb8YJh9U+F5l8zShjLkPOz9gkg==} + '@unocss/preset-tagify@0.60.1': + resolution: {integrity: sha512-uJOx5y9ubvstiJInZoVWEVjbV9cMy60Fi9NQwLr/Z9umsp26wb3UNCxYyuDwA9OGYUgcwllieCr2CfleEohKJA==} - '@unocss/preset-typography@0.60.0': - resolution: {integrity: sha512-rHzAZa5MqJGpSxL3OhDQZ6Nk9jTDhiEKB3s7xR4bfwKtEuMiTZAzrOl6DDKnAgjH2H2cXfgFpQP+kLjoYgyNkA==} + '@unocss/preset-typography@0.60.1': + resolution: {integrity: sha512-KVlS3ToBHdtqKjOk584tPAkETqSUZ1Q+rEYUwW+go0+DLWo7FBttZD6pnsvyCimhebho+YfaLy6LVXzfFAyZGw==} - '@unocss/preset-uno@0.60.0': - resolution: {integrity: sha512-aMoja25jfz80N/TYysMe1RAy0yhONUgl3Eh3Z4EIJrdsHXxuBicO1Wa/EbI8Mc4dY+NPETTC/5JF1SH+yWihGA==} + '@unocss/preset-uno@0.60.1': + resolution: {integrity: sha512-yATReqn3CqGKMsR+0J8kRrE/nkxxPEreColHDURyiEJSpkL+oTtIlyx5E4DKuzs1Ih8GmVNIoIp6uTCKCfBi+w==} - '@unocss/preset-web-fonts@0.60.0': - resolution: {integrity: sha512-muiQSNq9TmidlMPb9dvX+u5DGNPWfuOKhTTPA2Ia/ZmOUo3SfX2LQq2af7QfjoDuAGnLo3ZZf0qyP1Ao9YsbrA==} + '@unocss/preset-web-fonts@0.60.1': + resolution: {integrity: sha512-LEzUCEfXiED/CGKfaFj9n3TW/vpiLQl4Qhjq56KVF2Ml3TWs3tt1ihT6MrxmmC7o4VjSSkJxgOa9n6ruSqvcGA==} - '@unocss/preset-wind@0.60.0': - resolution: {integrity: sha512-utfAJ15tfnPg9r5rfCnBwGRMvhtFiqp8f/YQdrREsnAJRqcfzA6E2Tdh67GyOjPRBjNusw+WmV4K2tltzKbdOQ==} + '@unocss/preset-wind@0.60.1': + resolution: {integrity: sha512-3RHDbVNyOWuRyt61XXqJ1jmHo6PV2LTrCbgEX0NvMBROfEP4p2G627t9fhls1cpNIe/HW5NFmiHjRZNFqCRdpA==} - '@unocss/reset@0.60.0': - resolution: {integrity: sha512-r4NUPb/je10ZUrdncSuHipeDqBn7gY5HEcdAx2Rse+O/yWJimVsBkb5sGU1na9fhUwxv0cYIiFiqoQaKzcnCpQ==} + '@unocss/reset@0.60.1': + resolution: {integrity: sha512-lOgbSVm8CDY11aEWusYrCcstvmm+Z/vc4/oYNcbECSAsbzsREPTmcMonhSFxav52jbmuTk5MP3cuHYVEJLuQ3A==} - '@unocss/rule-utils@0.60.0': - resolution: {integrity: sha512-YDXSUQceqMSVG51F5yTTPSadrV7YrbRX3VnaSE5NopyyYKRWT6/0dl68riTOjtJfVcm55vl7ZhwNFobAdtOfYA==} + '@unocss/rule-utils@0.60.1': + resolution: {integrity: sha512-UlP6Og/wOA00Uj3sZLlGVOAeP0XmwtBGBBBJp0OUskHDhXKOQyS4QqGa2hRhFPsINYEOBp+N5PeemuUxcYBrSQ==} engines: {node: '>=14'} - '@unocss/scope@0.60.0': - resolution: {integrity: sha512-BegakMMkFGWGTRro+CSZVEGS81k00HlYiT81bbDtjFifiJVv6K13U3S2YqBaUS7zlECCYhMr4Bpv8Rr78j66Bw==} + '@unocss/scope@0.60.1': + resolution: {integrity: sha512-yTR9a5v3ZqTecQX8yN4yjAmKJralxip8Robc16Kt7AnkZtrenMRefgXANNpOk2MFhT72Nkpk9jPJbE7t9hacgQ==} - '@unocss/transformer-attributify-jsx-babel@0.60.0': - resolution: {integrity: sha512-GpBqGZZ9+sja9JapQRBvlD1o3GFumsbAvd/HmnXyDH7WLYO/y/HPA8/4Ar2ieGqcE0IlVVoTj8B2ruf5umhaWQ==} + '@unocss/transformer-attributify-jsx-babel@0.60.1': + resolution: {integrity: sha512-NFOu8ErOUe9YPXTADSinoTSeZ0lZHrqGQoiXStMEQpAFUINb2wtgRsCJddK/T/0lHjO3gMdEt3SdIirH97zOSw==} - '@unocss/transformer-attributify-jsx@0.60.0': - resolution: {integrity: sha512-0uBTvcYLtkCHJ2491orUGpZ3Pw43NPZu/nn06P4FMyyudmCgBd5z9bl5bGiCY6MbIRDyGEGGMEWF87s80FnLPw==} + '@unocss/transformer-attributify-jsx@0.60.1': + resolution: {integrity: sha512-wpGQ1uylJ3JFu8TuEFSpPeNAxisG3ThnsAvZRHqRH7QPr3aWc9bxxZ+Zv1d3dsBHIr5KrHtuo2SKj9od/HawnA==} - '@unocss/transformer-compile-class@0.60.0': - resolution: {integrity: sha512-PEfz9q11KBQR1UP5NB2K4qcjh+LLCXIL4wBKz7qhKkjjyGr7rCRrfLtbZv/1QmgKST+WHbK7uKkRYm/kBbFdyA==} + '@unocss/transformer-compile-class@0.60.1': + resolution: {integrity: sha512-WGm17yibXbj3b+n3l4QsfDBVhT+r34l92yV5r/ZRdCpsUFIc1xknx3XtAwat3jMyC0I7162PuV7Qi8XC8v2Tmg==} - '@unocss/transformer-directives@0.60.0': - resolution: {integrity: sha512-ZG+TvpvimH5LkFkqz27BQryhF8oeM+mUkD9oV+DhtQBadV5pcMvi40NB5VEeDj3dsogHTMrl13dsHXdrINI7jQ==} + '@unocss/transformer-directives@0.60.1': + resolution: {integrity: sha512-rdR4SPjU6s8sX+rtyP7Ma0enK8P1Cn0VOmcv5eb//KqYuCP0shOkw/RAHkPm3qdcIr/swio3vsdZI0Ag5lkRLQ==} - '@unocss/transformer-variant-group@0.60.0': - resolution: {integrity: sha512-00PikfUfJN+LdTaoILA+iXbPB5J8/zX1RcJx1DwKF2iRfKNmSu9+jsyNN0zyQX2jOVXY4UuK3x8LJ1qtZl1edA==} + '@unocss/transformer-variant-group@0.60.1': + resolution: {integrity: sha512-SNDyLGgQa7WFLg+i6lfr8TV1sFTkOD58QI95DTcYOwzm2V1Bw5c/4CLKumKaDL/F2nElgSlnOUExsrn4Pla4Qg==} - '@unocss/vite@0.60.0': - resolution: {integrity: sha512-Xyqg+slwR+y5eggPZu74OwVZrIyYe+Ut3WzdmM3mgHBh+ty8Ci85ndm71K5wagyDNvbfLj5gA10h14n3OyB9RQ==} + '@unocss/vite@0.60.1': + resolution: {integrity: sha512-Uyarp5LJVU12FZ/YzD8av4UMbxy8O9EN5XVJRH6MOGSY8Hnjq8g5AUudDr2JH3zVIWVNe4mavcAU/vaLVEK6nA==} peerDependencies: vite: 5.2.11 @@ -6245,9 +6242,9 @@ packages: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true - rimraf@5.0.6: - resolution: {integrity: sha512-X72SgyOf+1lFnGM6gYcmZ4+jMOwuT4E4SajKQzUIlI7EoR5eFHMhS/wf8Ll0mN+w2bxcIVldrJQ6xT7HFQywjg==} - engines: {node: '>=14'} + rimraf@5.0.7: + resolution: {integrity: sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==} + engines: {node: '>=14.18'} hasBin: true rollup-plugin-dts@6.1.0: @@ -6850,11 +6847,11 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - unocss@0.60.0: - resolution: {integrity: sha512-jVNrjjR9j/PQylfF1z8sz2L2sTnnmGRUTXKQmCTURBBnk2Q9VqoYIvShppPUn4dWvnOy5Xj2gPIXBMin56nt0Q==} + unocss@0.60.1: + resolution: {integrity: sha512-E7xlV7Kbe+Cgl/y2QHNI31IfdY3J7/XsptOJLaQCtfbejX/sJMgQ8GiFOL+MGyssqeMWWayUiBhCN2UX9GXsMg==} engines: {node: '>=14'} peerDependencies: - '@unocss/webpack': 0.60.0 + '@unocss/webpack': 0.60.1 vite: 5.2.11 peerDependenciesMeta: '@unocss/webpack': @@ -7426,8 +7423,6 @@ snapshots: execa: 5.1.1 find-up: 5.0.0 - '@antfu/utils@0.7.7': {} - '@antfu/utils@0.7.8': {} '@apidevtools/json-schema-ref-parser@11.6.0': @@ -8019,7 +8014,7 @@ snapshots: '@iconify/utils@2.1.23': dependencies: '@antfu/install-pkg': 0.1.1 - '@antfu/utils': 0.7.7 + '@antfu/utils': 0.7.8 '@iconify/types': 2.0.0 debug: 4.3.4 kolorist: 1.8.0 @@ -8227,13 +8222,13 @@ snapshots: rc9: 2.1.2 semver: 7.6.2 - '@nuxt/devtools@1.3.1(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@nuxt/devtools@1.3.1(@unocss/reset@0.60.1)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: '@antfu/utils': 0.7.8 '@nuxt/devtools-kit': 1.3.1(nuxt@packages+nuxt)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) '@nuxt/devtools-wizard': 1.3.1 '@nuxt/kit': link:packages/kit - '@vue/devtools-applet': 7.1.3(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-applet': 7.1.3(@unocss/reset@0.60.1)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-core': 7.1.3(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5)) birpc: 0.2.17 @@ -8419,7 +8414,7 @@ snapshots: remark-parse: 11.0.0 remark-rehype: 11.1.0 scule: 1.3.0 - shiki: 1.1.6 + shiki: 1.3.0 ufo: 1.5.3 unified: 11.0.4 unist-builder: 4.0.0 @@ -9106,33 +9101,33 @@ snapshots: unhead: 1.9.10 vue: 3.4.27(typescript@5.4.5) - '@unocss/astro@0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))': + '@unocss/astro@0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))': dependencies: - '@unocss/core': 0.60.0 - '@unocss/reset': 0.60.0 - '@unocss/vite': 0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) + '@unocss/core': 0.60.1 + '@unocss/reset': 0.60.1 + '@unocss/vite': 0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - rollup - '@unocss/astro@0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))': + '@unocss/astro@0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))': dependencies: - '@unocss/core': 0.60.0 - '@unocss/reset': 0.60.0 - '@unocss/vite': 0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) + '@unocss/core': 0.60.1 + '@unocss/reset': 0.60.1 + '@unocss/vite': 0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - rollup - '@unocss/cli@0.60.0(rollup@4.17.2)': + '@unocss/cli@0.60.1(rollup@4.17.2)': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.17.2) - '@unocss/config': 0.60.0 - '@unocss/core': 0.60.0 - '@unocss/preset-uno': 0.60.0 + '@unocss/config': 0.60.1 + '@unocss/core': 0.60.1 + '@unocss/preset-uno': 0.60.1 cac: 6.7.14 chokidar: 3.6.0 colorette: 2.0.20 @@ -9144,124 +9139,124 @@ snapshots: transitivePeerDependencies: - rollup - '@unocss/config@0.60.0': + '@unocss/config@0.60.1': dependencies: - '@unocss/core': 0.60.0 + '@unocss/core': 0.60.1 unconfig: 0.3.13 - '@unocss/core@0.60.0': {} + '@unocss/core@0.60.1': {} - '@unocss/extractor-arbitrary-variants@0.60.0': + '@unocss/extractor-arbitrary-variants@0.60.1': dependencies: - '@unocss/core': 0.60.0 + '@unocss/core': 0.60.1 - '@unocss/inspector@0.60.0': + '@unocss/inspector@0.60.1': dependencies: - '@unocss/core': 0.60.0 - '@unocss/rule-utils': 0.60.0 + '@unocss/core': 0.60.1 + '@unocss/rule-utils': 0.60.1 gzip-size: 6.0.0 sirv: 2.0.4 - '@unocss/postcss@0.60.0(postcss@8.4.38)': + '@unocss/postcss@0.60.1(postcss@8.4.38)': dependencies: - '@unocss/config': 0.60.0 - '@unocss/core': 0.60.0 - '@unocss/rule-utils': 0.60.0 + '@unocss/config': 0.60.1 + '@unocss/core': 0.60.1 + '@unocss/rule-utils': 0.60.1 css-tree: 2.3.1 fast-glob: 3.3.2 magic-string: 0.30.10 postcss: 8.4.38 - '@unocss/preset-attributify@0.60.0': + '@unocss/preset-attributify@0.60.1': dependencies: - '@unocss/core': 0.60.0 + '@unocss/core': 0.60.1 - '@unocss/preset-icons@0.60.0': + '@unocss/preset-icons@0.60.1': dependencies: '@iconify/utils': 2.1.23 - '@unocss/core': 0.60.0 + '@unocss/core': 0.60.1 ofetch: 1.3.4 transitivePeerDependencies: - supports-color - '@unocss/preset-mini@0.60.0': + '@unocss/preset-mini@0.60.1': dependencies: - '@unocss/core': 0.60.0 - '@unocss/extractor-arbitrary-variants': 0.60.0 - '@unocss/rule-utils': 0.60.0 + '@unocss/core': 0.60.1 + '@unocss/extractor-arbitrary-variants': 0.60.1 + '@unocss/rule-utils': 0.60.1 - '@unocss/preset-tagify@0.60.0': + '@unocss/preset-tagify@0.60.1': dependencies: - '@unocss/core': 0.60.0 + '@unocss/core': 0.60.1 - '@unocss/preset-typography@0.60.0': + '@unocss/preset-typography@0.60.1': dependencies: - '@unocss/core': 0.60.0 - '@unocss/preset-mini': 0.60.0 + '@unocss/core': 0.60.1 + '@unocss/preset-mini': 0.60.1 - '@unocss/preset-uno@0.60.0': + '@unocss/preset-uno@0.60.1': dependencies: - '@unocss/core': 0.60.0 - '@unocss/preset-mini': 0.60.0 - '@unocss/preset-wind': 0.60.0 - '@unocss/rule-utils': 0.60.0 + '@unocss/core': 0.60.1 + '@unocss/preset-mini': 0.60.1 + '@unocss/preset-wind': 0.60.1 + '@unocss/rule-utils': 0.60.1 - '@unocss/preset-web-fonts@0.60.0': + '@unocss/preset-web-fonts@0.60.1': dependencies: - '@unocss/core': 0.60.0 + '@unocss/core': 0.60.1 ofetch: 1.3.4 - '@unocss/preset-wind@0.60.0': + '@unocss/preset-wind@0.60.1': dependencies: - '@unocss/core': 0.60.0 - '@unocss/preset-mini': 0.60.0 - '@unocss/rule-utils': 0.60.0 + '@unocss/core': 0.60.1 + '@unocss/preset-mini': 0.60.1 + '@unocss/rule-utils': 0.60.1 - '@unocss/reset@0.60.0': {} + '@unocss/reset@0.60.1': {} - '@unocss/rule-utils@0.60.0': + '@unocss/rule-utils@0.60.1': dependencies: - '@unocss/core': 0.60.0 + '@unocss/core': 0.60.1 magic-string: 0.30.10 - '@unocss/scope@0.60.0': {} + '@unocss/scope@0.60.1': {} - '@unocss/transformer-attributify-jsx-babel@0.60.0': + '@unocss/transformer-attributify-jsx-babel@0.60.1': dependencies: '@babel/core': 7.24.5 '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5) '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5) - '@unocss/core': 0.60.0 + '@unocss/core': 0.60.1 transitivePeerDependencies: - supports-color - '@unocss/transformer-attributify-jsx@0.60.0': + '@unocss/transformer-attributify-jsx@0.60.1': dependencies: - '@unocss/core': 0.60.0 + '@unocss/core': 0.60.1 - '@unocss/transformer-compile-class@0.60.0': + '@unocss/transformer-compile-class@0.60.1': dependencies: - '@unocss/core': 0.60.0 + '@unocss/core': 0.60.1 - '@unocss/transformer-directives@0.60.0': + '@unocss/transformer-directives@0.60.1': dependencies: - '@unocss/core': 0.60.0 - '@unocss/rule-utils': 0.60.0 + '@unocss/core': 0.60.1 + '@unocss/rule-utils': 0.60.1 css-tree: 2.3.1 - '@unocss/transformer-variant-group@0.60.0': + '@unocss/transformer-variant-group@0.60.1': dependencies: - '@unocss/core': 0.60.0 + '@unocss/core': 0.60.1 - '@unocss/vite@0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))': + '@unocss/vite@0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.17.2) - '@unocss/config': 0.60.0 - '@unocss/core': 0.60.0 - '@unocss/inspector': 0.60.0 - '@unocss/scope': 0.60.0 - '@unocss/transformer-directives': 0.60.0 + '@unocss/config': 0.60.1 + '@unocss/core': 0.60.1 + '@unocss/inspector': 0.60.1 + '@unocss/scope': 0.60.1 + '@unocss/transformer-directives': 0.60.1 chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.10 @@ -9269,15 +9264,15 @@ snapshots: transitivePeerDependencies: - rollup - '@unocss/vite@0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))': + '@unocss/vite@0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.17.2) - '@unocss/config': 0.60.0 - '@unocss/core': 0.60.0 - '@unocss/inspector': 0.60.0 - '@unocss/scope': 0.60.0 - '@unocss/transformer-directives': 0.60.0 + '@unocss/config': 0.60.1 + '@unocss/core': 0.60.1 + '@unocss/inspector': 0.60.1 + '@unocss/scope': 0.60.1 + '@unocss/transformer-directives': 0.60.1 chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.10 @@ -9483,12 +9478,12 @@ snapshots: '@vue/devtools-api@6.5.1': {} - '@vue/devtools-applet@7.1.3(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@vue/devtools-applet@7.1.3(@unocss/reset@0.60.1)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: '@vue/devtools-core': 7.1.3(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-shared': 7.1.3 - '@vue/devtools-ui': 7.1.3(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-ui': 7.1.3(@unocss/reset@0.60.1)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5)) lodash-es: 4.17.21 perfect-debounce: 1.0.0 shiki: 1.3.0 @@ -9538,9 +9533,9 @@ snapshots: dependencies: rfdc: 1.3.1 - '@vue/devtools-ui@7.1.3(@unocss/reset@0.60.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))': + '@vue/devtools-ui@7.1.3(@unocss/reset@0.60.1)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))': dependencies: - '@unocss/reset': 0.60.0 + '@unocss/reset': 0.60.1 '@vue/devtools-shared': 7.1.3 '@vueuse/components': 10.9.0(vue@3.4.27(typescript@5.4.5)) '@vueuse/core': 10.9.0(vue@3.4.27(typescript@5.4.5)) @@ -9548,7 +9543,7 @@ snapshots: colord: 2.9.3 floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)) focus-trap: 7.5.4 - unocss: 0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) + unocss: 0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) vue: 3.4.27(typescript@5.4.5) transitivePeerDependencies: - '@vue/composition-api' @@ -13585,7 +13580,7 @@ snapshots: dependencies: glob: 7.2.3 - rimraf@5.0.6: + rimraf@5.0.7: dependencies: glob: 10.3.12 @@ -14149,7 +14144,7 @@ snapshots: unconfig@0.3.13: dependencies: - '@antfu/utils': 0.7.7 + '@antfu/utils': 0.7.8 defu: 6.1.4 jiti: 1.21.0 @@ -14252,28 +14247,28 @@ snapshots: universalify@2.0.0: {} - unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)): + unocss@0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)): dependencies: - '@unocss/astro': 0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) - '@unocss/cli': 0.60.0(rollup@4.17.2) - '@unocss/core': 0.60.0 - '@unocss/extractor-arbitrary-variants': 0.60.0 - '@unocss/postcss': 0.60.0(postcss@8.4.38) - '@unocss/preset-attributify': 0.60.0 - '@unocss/preset-icons': 0.60.0 - '@unocss/preset-mini': 0.60.0 - '@unocss/preset-tagify': 0.60.0 - '@unocss/preset-typography': 0.60.0 - '@unocss/preset-uno': 0.60.0 - '@unocss/preset-web-fonts': 0.60.0 - '@unocss/preset-wind': 0.60.0 - '@unocss/reset': 0.60.0 - '@unocss/transformer-attributify-jsx': 0.60.0 - '@unocss/transformer-attributify-jsx-babel': 0.60.0 - '@unocss/transformer-compile-class': 0.60.0 - '@unocss/transformer-directives': 0.60.0 - '@unocss/transformer-variant-group': 0.60.0 - '@unocss/vite': 0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) + '@unocss/astro': 0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) + '@unocss/cli': 0.60.1(rollup@4.17.2) + '@unocss/core': 0.60.1 + '@unocss/extractor-arbitrary-variants': 0.60.1 + '@unocss/postcss': 0.60.1(postcss@8.4.38) + '@unocss/preset-attributify': 0.60.1 + '@unocss/preset-icons': 0.60.1 + '@unocss/preset-mini': 0.60.1 + '@unocss/preset-tagify': 0.60.1 + '@unocss/preset-typography': 0.60.1 + '@unocss/preset-uno': 0.60.1 + '@unocss/preset-web-fonts': 0.60.1 + '@unocss/preset-wind': 0.60.1 + '@unocss/reset': 0.60.1 + '@unocss/transformer-attributify-jsx': 0.60.1 + '@unocss/transformer-attributify-jsx-babel': 0.60.1 + '@unocss/transformer-compile-class': 0.60.1 + '@unocss/transformer-directives': 0.60.1 + '@unocss/transformer-variant-group': 0.60.1 + '@unocss/vite': 0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: @@ -14281,28 +14276,28 @@ snapshots: - rollup - supports-color - unocss@0.60.0(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)): + unocss@0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)): dependencies: - '@unocss/astro': 0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) - '@unocss/cli': 0.60.0(rollup@4.17.2) - '@unocss/core': 0.60.0 - '@unocss/extractor-arbitrary-variants': 0.60.0 - '@unocss/postcss': 0.60.0(postcss@8.4.38) - '@unocss/preset-attributify': 0.60.0 - '@unocss/preset-icons': 0.60.0 - '@unocss/preset-mini': 0.60.0 - '@unocss/preset-tagify': 0.60.0 - '@unocss/preset-typography': 0.60.0 - '@unocss/preset-uno': 0.60.0 - '@unocss/preset-web-fonts': 0.60.0 - '@unocss/preset-wind': 0.60.0 - '@unocss/reset': 0.60.0 - '@unocss/transformer-attributify-jsx': 0.60.0 - '@unocss/transformer-attributify-jsx-babel': 0.60.0 - '@unocss/transformer-compile-class': 0.60.0 - '@unocss/transformer-directives': 0.60.0 - '@unocss/transformer-variant-group': 0.60.0 - '@unocss/vite': 0.60.0(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) + '@unocss/astro': 0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) + '@unocss/cli': 0.60.1(rollup@4.17.2) + '@unocss/core': 0.60.1 + '@unocss/extractor-arbitrary-variants': 0.60.1 + '@unocss/postcss': 0.60.1(postcss@8.4.38) + '@unocss/preset-attributify': 0.60.1 + '@unocss/preset-icons': 0.60.1 + '@unocss/preset-mini': 0.60.1 + '@unocss/preset-tagify': 0.60.1 + '@unocss/preset-typography': 0.60.1 + '@unocss/preset-uno': 0.60.1 + '@unocss/preset-web-fonts': 0.60.1 + '@unocss/preset-wind': 0.60.1 + '@unocss/reset': 0.60.1 + '@unocss/transformer-attributify-jsx': 0.60.1 + '@unocss/transformer-attributify-jsx-babel': 0.60.1 + '@unocss/transformer-compile-class': 0.60.1 + '@unocss/transformer-directives': 0.60.1 + '@unocss/transformer-variant-group': 0.60.1 + '@unocss/vite': 0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: From 2417c044d3a3948723bb8d1f8a038c40abc7647b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 15:18:07 +0100 Subject: [PATCH 049/127] chore(deps): update all non-major dependencies (main) (#27173) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 4 +- .github/workflows/scorecards.yml | 2 +- package.json | 2 +- packages/nuxt/package.json | 2 +- packages/ui-templates/package.json | 4 +- packages/vite/package.json | 2 +- pnpm-lock.yaml | 558 ++++++++++++++--------------- 7 files changed, 287 insertions(+), 287 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7bcd0507e..b2ebdcf60 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -83,7 +83,7 @@ jobs: run: pnpm install - name: Initialize CodeQL - uses: github/codeql-action/init@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3.25.4 + uses: github/codeql-action/init@b7cec7526559c32f1616476ff32d17ba4c59b2d6 # v3.25.5 with: languages: javascript queries: +security-and-quality @@ -95,7 +95,7 @@ jobs: path: packages - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3.25.4 + uses: github/codeql-action/analyze@b7cec7526559c32f1616476ff32d17ba4c59b2d6 # v3.25.5 with: category: "/language:javascript" diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 2645f4128..61e0ca708 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -68,7 +68,7 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3.25.4 + uses: github/codeql-action/upload-sarif@b7cec7526559c32f1616476ff32d17ba4c59b2d6 # v3.25.5 if: github.repository == 'nuxt/nuxt' && success() with: sarif_file: results.sarif diff --git a/package.json b/package.json index 2452551db..95c932c7e 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "vue-router": "4.3.2", "vue-tsc": "2.0.17" }, - "packageManager": "pnpm@9.1.0", + "packageManager": "pnpm@9.1.1", "engines": { "node": "^16.10.0 || >=18.0.0" }, diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index a54ff0cc1..98d3ec945 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -76,7 +76,7 @@ "defu": "^6.1.4", "destr": "^2.0.3", "devalue": "^5.0.0", - "esbuild": "^0.21.1", + "esbuild": "^0.21.2", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "fs-extra": "^11.2.0", diff --git a/packages/ui-templates/package.json b/packages/ui-templates/package.json index a7389b18a..3be1cd8c1 100644 --- a/packages/ui-templates/package.json +++ b/packages/ui-templates/package.json @@ -20,7 +20,7 @@ }, "devDependencies": { "@types/html-minifier": "4.0.5", - "@unocss/reset": "0.60.1", + "@unocss/reset": "0.60.2", "critters": "0.0.22", "execa": "9.0.2", "globby": "14.0.1", @@ -30,7 +30,7 @@ "pathe": "1.1.2", "prettier": "3.2.5", "scule": "1.3.0", - "unocss": "0.60.1", + "unocss": "0.60.2", "vite": "5.2.11" } } diff --git a/packages/vite/package.json b/packages/vite/package.json index 8f3db5832..c94a1a2d2 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -41,7 +41,7 @@ "consola": "^3.2.3", "cssnano": "^7.0.1", "defu": "^6.1.4", - "esbuild": "^0.21.1", + "esbuild": "^0.21.2", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "externality": "^1.0.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 621aff284..9f1026d91 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -251,7 +251,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.3.1 - version: 1.3.1(@unocss/reset@0.60.1)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 1.3.1(@unocss/reset@0.60.2)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -301,8 +301,8 @@ importers: specifier: ^5.0.0 version: 5.0.0 esbuild: - specifier: ^0.21.1 - version: 0.21.1 + specifier: ^0.21.2 + version: 0.21.2 escape-string-regexp: specifier: ^5.0.0 version: 5.0.0 @@ -567,8 +567,8 @@ importers: specifier: 4.0.5 version: 4.0.5 '@unocss/reset': - specifier: 0.60.1 - version: 0.60.1 + specifier: 0.60.2 + version: 0.60.2 critters: specifier: 0.0.22 version: 0.0.22 @@ -597,8 +597,8 @@ importers: specifier: 1.3.0 version: 1.3.0 unocss: - specifier: 0.60.1 - version: 0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) + specifier: 0.60.2 + version: 0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) vite: specifier: 5.2.11 version: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) @@ -633,8 +633,8 @@ importers: specifier: ^6.1.4 version: 6.1.4 esbuild: - specifier: ^0.21.1 - version: 0.21.1 + specifier: ^0.21.2 + version: 0.21.2 escape-string-regexp: specifier: ^5.0.0 version: 5.0.0 @@ -1197,8 +1197,8 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.21.1': - resolution: {integrity: sha512-O7yppwipkXvnEPjzkSXJRk2g4bS8sUx9p9oXHq9MU/U7lxUzZVsnFZMDTmeeX9bfQxrFcvOacl/ENgOh0WP9pA==} + '@esbuild/aix-ppc64@0.21.2': + resolution: {integrity: sha512-/c7hocx0pm14bHQlqUVKmxwdT/e5/KkyoY1W8F9lk/8CkE037STDDz8PXUP/LE6faj2HqchvDs9GcShxFhI78Q==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] @@ -1221,8 +1221,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.21.1': - resolution: {integrity: sha512-jXhccq6es+onw7x8MxoFnm820mz7sGa9J14kLADclmiEUH4fyj+FjR6t0M93RgtlI/awHWhtF0Wgfhqgf9gDZA==} + '@esbuild/android-arm64@0.21.2': + resolution: {integrity: sha512-SGZKngoTWVUriO5bDjI4WDGsNx2VKZoXcds+ita/kVYB+8IkSCKDRDaK+5yu0b5S0eq6B3S7fpiEvpsa2ammlQ==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -1245,8 +1245,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.21.1': - resolution: {integrity: sha512-hh3jKWikdnTtHCglDAeVO3Oyh8MaH8xZUaWMiCCvJ9/c3NtPqZq+CACOlGTxhddypXhl+8B45SeceYBfB/e8Ow==} + '@esbuild/android-arm@0.21.2': + resolution: {integrity: sha512-G1ve3b4FeyJeyCjB4MX1CiWyTaIJwT9wAYE+8+IRA53YoN/reC/Bf2GDRXAzDTnh69Fpl+1uIKg76DiB3U6vwQ==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -1269,8 +1269,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.21.1': - resolution: {integrity: sha512-NPObtlBh4jQHE01gJeucqEhdoD/4ya2owSIS8lZYS58aR0x7oZo9lB2lVFxgTANSa5MGCBeoQtr+yA9oKCGPvA==} + '@esbuild/android-x64@0.21.2': + resolution: {integrity: sha512-1wzzNoj2QtNkAYwIcWJ66UTRA80+RTQ/kuPMtEuP0X6dp5Ar23Dn566q3aV61h4EYrrgGlOgl/HdcqN/2S/2vg==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -1293,8 +1293,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.21.1': - resolution: {integrity: sha512-BLT7TDzqsVlQRmJfO/FirzKlzmDpBWwmCUlyggfzUwg1cAxVxeA4O6b1XkMInlxISdfPAOunV9zXjvh5x99Heg==} + '@esbuild/darwin-arm64@0.21.2': + resolution: {integrity: sha512-ZyMkPWc5eTROcLOA10lEqdDSTc6ds6nuh3DeHgKip/XJrYjZDfnkCVSty8svWdy+SC1f77ULtVeIqymTzaB6/Q==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -1317,8 +1317,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.21.1': - resolution: {integrity: sha512-D3h3wBQmeS/vp93O4B+SWsXB8HvRDwMyhTNhBd8yMbh5wN/2pPWRW5o/hM3EKgk9bdKd9594lMGoTCTiglQGRQ==} + '@esbuild/darwin-x64@0.21.2': + resolution: {integrity: sha512-K4ZdVq1zP9v51h/cKVna7im7G0zGTKKB6bP2yJiSmHjjOykbd8DdhrSi8V978sF69rkwrn8zCyL2t6I3ei6j9A==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -1341,8 +1341,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.21.1': - resolution: {integrity: sha512-/uVdqqpNKXIxT6TyS/oSK4XE4xWOqp6fh4B5tgAwozkyWdylcX+W4YF2v6SKsL4wCQ5h1bnaSNjWPXG/2hp8AQ==} + '@esbuild/freebsd-arm64@0.21.2': + resolution: {integrity: sha512-4kbOGdpA61CXqadD+Gb/Pw3YXamQGiz9mal/h93rFVSjr5cgMnmJd/gbfPRm+3BMifvnaOfS1gNWaIDxkE2A3A==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -1365,8 +1365,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.21.1': - resolution: {integrity: sha512-paAkKN1n1jJitw+dAoR27TdCzxRl1FOEITx3h201R6NoXUojpMzgMLdkXVgCvaCSCqwYkeGLoe9UVNRDKSvQgw==} + '@esbuild/freebsd-x64@0.21.2': + resolution: {integrity: sha512-ShS+R09nuHzDBfPeMUliKZX27Wrmr8UFp93aFf/S8p+++x5BZ+D344CLKXxmY6qzgTL3mILSImPCNJOzD6+RRg==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -1389,8 +1389,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.21.1': - resolution: {integrity: sha512-G65d08YoH00TL7Xg4LaL3gLV21bpoAhQ+r31NUu013YB7KK0fyXIt05VbsJtpqh/6wWxoLJZOvQHYnodRrnbUQ==} + '@esbuild/linux-arm64@0.21.2': + resolution: {integrity: sha512-Hdu8BL+AmO+eCDvvT6kz/fPQhvuHL8YK4ExKZfANWsNe1kFGOHw7VJvS/FKSLFqheXmB3rTF3xFQIgUWPYsGnA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -1413,8 +1413,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.21.1': - resolution: {integrity: sha512-tRHnxWJnvNnDpNVnsyDhr1DIQZUfCXlHSCDohbXFqmg9W4kKR7g8LmA3kzcwbuxbRMKeit8ladnCabU5f2traA==} + '@esbuild/linux-arm@0.21.2': + resolution: {integrity: sha512-nnGXjOAv+7cM3LYRx4tJsYdgy8dGDGkAzF06oIDGppWbUkUKN9SmgQA8H0KukpU0Pjrj9XmgbWqMVSX/U7eeTA==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -1437,8 +1437,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.21.1': - resolution: {integrity: sha512-tt/54LqNNAqCz++QhxoqB9+XqdsaZOtFD/srEhHYwBd3ZUOepmR1Eeot8bS+Q7BiEvy9vvKbtpHf+r6q8hF5UA==} + '@esbuild/linux-ia32@0.21.2': + resolution: {integrity: sha512-m73BOCW2V9lcj7RtEMi+gBfHC6n3+VHpwQXP5offtQMPLDkpVolYn1YGXxOZ9hp4h3UPRKuezL7WkBsw+3EB3Q==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -1461,8 +1461,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.21.1': - resolution: {integrity: sha512-MhNalK6r0nZD0q8VzUBPwheHzXPr9wronqmZrewLfP7ui9Fv1tdPmg6e7A8lmg0ziQCziSDHxh3cyRt4YMhGnQ==} + '@esbuild/linux-loong64@0.21.2': + resolution: {integrity: sha512-84eYHwwWHq3myIY/6ikALMcnwkf6Qo7NIq++xH0x+cJuUNpdwh8mlpUtRY+JiGUc60yu7ElWBbVHGWTABTclGw==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -1485,8 +1485,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.21.1': - resolution: {integrity: sha512-YCKVY7Zen5rwZV+nZczOhFmHaeIxR4Zn3jcmNH53LbgF6IKRwmrMywqDrg4SiSNApEefkAbPSIzN39FC8VsxPg==} + '@esbuild/linux-mips64el@0.21.2': + resolution: {integrity: sha512-9siSZngT0/ZKG+AH+/agwKF29LdCxw4ODi/PiE0F52B2rtLozlDP92umf8G2GPoVV611LN4pZ+nSTckebOscUA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -1509,8 +1509,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.21.1': - resolution: {integrity: sha512-bw7bcQ+270IOzDV4mcsKAnDtAFqKO0jVv3IgRSd8iM0ac3L8amvCrujRVt1ajBTJcpDaFhIX+lCNRKteoDSLig==} + '@esbuild/linux-ppc64@0.21.2': + resolution: {integrity: sha512-y0T4aV2CA+ic04ULya1A/8M2RDpDSK2ckgTj6jzHKFJvCq0jQg8afQQIn4EM0G8u2neyOiNHgSF9YKPfuqKOVw==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -1533,8 +1533,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.21.1': - resolution: {integrity: sha512-ARmDRNkcOGOm1AqUBSwRVDfDeD9hGYRfkudP2QdoonBz1ucWVnfBPfy7H4JPI14eYtZruRSczJxyu7SRYDVOcg==} + '@esbuild/linux-riscv64@0.21.2': + resolution: {integrity: sha512-x5ssCdXmZC86L2Li1qQPF/VaC4VP20u/Zm8jlAu9IiVOVi79YsSz6cpPDYZl1rfKSHYCJW9XBfFCo66S5gVPSA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -1557,8 +1557,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.21.1': - resolution: {integrity: sha512-o73TcUNMuoTZlhwFdsgr8SfQtmMV58sbgq6gQq9G1xUiYnHMTmJbwq65RzMx89l0iya69lR4bxBgtWiiOyDQZA==} + '@esbuild/linux-s390x@0.21.2': + resolution: {integrity: sha512-NP7fTpGSFWdXyvp8iAFU04uFh9ARoplFVM/m+8lTRpaYG+2ytHPZWyscSsMM6cvObSIK2KoPHXiZD4l99WaxbQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -1581,8 +1581,8 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.21.1': - resolution: {integrity: sha512-da4/1mBJwwgJkbj4fMH7SOXq2zapgTo0LKXX1VUZ0Dxr+e8N0WbS80nSZ5+zf3lvpf8qxrkZdqkOqFfm57gXwA==} + '@esbuild/linux-x64@0.21.2': + resolution: {integrity: sha512-giZ/uOxWDKda44ZuyfKbykeXznfuVNkTgXOUOPJIjbayJV6FRpQ4zxUy9JMBPLaK9IJcdWtaoeQrYBMh3Rr4vQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -1605,8 +1605,8 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.21.1': - resolution: {integrity: sha512-CPWs0HTFe5woTJN5eKPvgraUoRHrCtzlYIAv9wBC+FAyagBSaf+UdZrjwYyTGnwPGkThV4OCI7XibZOnPvONVw==} + '@esbuild/netbsd-x64@0.21.2': + resolution: {integrity: sha512-IeFMfGFSQfIj1d4XU+6lkbFzMR+mFELUUVYrZ+jvWzG4NGvs6o53ReEHLHpYkjRbdEjJy2W3lTekTxrFHW7YJg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -1629,8 +1629,8 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.21.1': - resolution: {integrity: sha512-xxhTm5QtzNLc24R0hEkcH+zCx/o49AsdFZ0Cy5zSd/5tOj4X2g3/2AJB625NoadUuc4A8B3TenLJoYdWYOYCew==} + '@esbuild/openbsd-x64@0.21.2': + resolution: {integrity: sha512-48QhWD6WxcebNNaE4FCwgvQVUnAycuTd+BdvA/oZu+/MmbpU8pY2dMEYlYzj5uNHWIG5jvdDmFXu0naQeOWUoA==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -1653,8 +1653,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.21.1': - resolution: {integrity: sha512-CWibXszpWys1pYmbr9UiKAkX6x+Sxw8HWtw1dRESK1dLW5fFJ6rMDVw0o8MbadusvVQx1a8xuOxnHXT941Hp1A==} + '@esbuild/sunos-x64@0.21.2': + resolution: {integrity: sha512-90r3nTBLgdIgD4FCVV9+cR6Hq2Dzs319icVsln+NTmTVwffWcCqXGml8rAoocHuJ85kZK36DCteii96ba/PX8g==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1677,8 +1677,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.21.1': - resolution: {integrity: sha512-jb5B4k+xkytGbGUS4T+Z89cQJ9DJ4lozGRSV+hhfmCPpfJ3880O31Q1srPCimm+V6UCbnigqD10EgDNgjvjerQ==} + '@esbuild/win32-arm64@0.21.2': + resolution: {integrity: sha512-sNndlsBT8OeE/MZDSGpRDJlWuhjuUz/dn80nH0EP4ZzDUYvMDVa7G87DVpweBrn4xdJYyXS/y4CQNrf7R2ODXg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1701,8 +1701,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.21.1': - resolution: {integrity: sha512-PgyFvjJhXqHn1uxPhyN1wZ6dIomKjiLUQh1LjFvjiV1JmnkZ/oMPrfeEAZg5R/1ftz4LZWZr02kefNIQ5SKREQ==} + '@esbuild/win32-ia32@0.21.2': + resolution: {integrity: sha512-Ti2QChGNFzWhUNNVuU4w21YkYTErsNh3h+CzvlEhzgRbwsJ7TrWQqRzW3bllLKKvTppuF3DJ3XP1GEg11AfrEQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1725,8 +1725,8 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.21.1': - resolution: {integrity: sha512-W9NttRZQR5ehAiqHGDnvfDaGmQOm6Fi4vSlce8mjM75x//XKuVAByohlEX6N17yZnVXxQFuh4fDRunP8ca6bfA==} + '@esbuild/win32-x64@0.21.2': + resolution: {integrity: sha512-VEfTCZicoZnZ6sGkjFPGRFFJuL2fZn2bLhsekZl1CJslflp2cJS/VoKs1jMk+3pDfsGW6CfQVUckP707HwbXeQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -2618,89 +2618,89 @@ packages: peerDependencies: vue: 3.4.27 - '@unocss/astro@0.60.1': - resolution: {integrity: sha512-I9PQTJqtv4/9MK32W9RtPHAskpTXYAyshFAgGMdWQVA7gLVwSZoT2vuOnT32KEb1OqvW9fwwjJHiNRxSCn44ew==} + '@unocss/astro@0.60.2': + resolution: {integrity: sha512-H8kJHj8aCQXksr0o7OpHqNkzm0RmpOm+qCt8vRcJJVFrdzQyaIQ/vyq3BUTV0Ex6OSzPirTe8fOaWoZdKtKf2Q==} peerDependencies: vite: 5.2.11 peerDependenciesMeta: vite: optional: true - '@unocss/cli@0.60.1': - resolution: {integrity: sha512-hNtlc7qhUh0ZxqIzxASMu7NyBwWdspEbQ/VgDPoqPErp+ipuLteW97GAUFG1p5AoSO/xJ5i1HuwGja760urt8w==} + '@unocss/cli@0.60.2': + resolution: {integrity: sha512-zX7eM95UI6LpKRfHTr8T2gSlFFXemPUswBxR5H4vPVlLeeCOhJWfc04vGdtSwoix5qFdnhQWIwzXGXAaB+kwoA==} engines: {node: '>=14'} hasBin: true - '@unocss/config@0.60.1': - resolution: {integrity: sha512-9moB8hgEfJ5q7W8w40dANbdFZRlJdJbCIzTraUwpiTWjzYdct8XPNYmyterVt0LZ8b85LOk14PKPXjp1IiksSw==} + '@unocss/config@0.60.2': + resolution: {integrity: sha512-EEgivE1xEnamAsYMcmjUmLJjOa9dBdV2zygT/blSFyX6rMfA4OuRlZ8hgfeWrHImZGiTXUU0jV2EaRmK9jEImQ==} engines: {node: '>=14'} - '@unocss/core@0.60.1': - resolution: {integrity: sha512-Ks+BZeJRlH+51sHfxZMYwlRnAy6Kl0nZGfhrU7NRjWCN9QhQDx99zRoo9mqOAZyT16Sj731j6+T0tT0pXHxpkg==} + '@unocss/core@0.60.2': + resolution: {integrity: sha512-9i+eAJAqvy9bv0vrQxUU7VtR+wO6Vfk6dqrPHKRV/vlbwRT18v/C++dQ2L6PLM1CKxgNTeld0iTlpo8J3xZlxQ==} - '@unocss/extractor-arbitrary-variants@0.60.1': - resolution: {integrity: sha512-/HRBMU6AlQuozfYjg77GYF3lsdArM44ycEO6rDWw4QgBvNI6XFY9W3QKcuqI0ABVQdqAc3v4qkUaTNctFi+RAw==} + '@unocss/extractor-arbitrary-variants@0.60.2': + resolution: {integrity: sha512-uO4ZPUcaYvyWshXnqzFnSWeh+Du6xVYwaz3oBKq4n7Ryw2Grc0IhiZe6n9MC8w6nkbopdo6ngr5LnFGp86horQ==} - '@unocss/inspector@0.60.1': - resolution: {integrity: sha512-SqEdmrLrzEaQpfiY/Cfo/4+JlIQ1i0A5ISsFQeJAUZo2BKndV3JM8UzwdMc1SI3+bWx7wKSFtFWxboXpHv5pRw==} + '@unocss/inspector@0.60.2': + resolution: {integrity: sha512-tc+TtTA7yNCS10oT7MfI2rEv1KErwLgEDRvBLCM1vsXmjzsGxkhqnT3vT5pqRkENYh/QhmIfpz1899GvH8WBMQ==} - '@unocss/postcss@0.60.1': - resolution: {integrity: sha512-zGimdFqB+tFbcS0Xs4hauNB9HSxdB3Yzi4Ow7EDqYiO87SNS/lLAvAut9nsd4cVfkpm3bnkTc5R/vBmwY67o0g==} + '@unocss/postcss@0.60.2': + resolution: {integrity: sha512-fGXzhx5bh1iYxQ0wThmUsu+KMxCTqZsQQZ/a2kbTNzmOIslX1/cCWaQ62BWsfER7rOnZVG6DzGR+3CzVcDzuXg==} engines: {node: '>=14'} peerDependencies: postcss: ^8.4.21 - '@unocss/preset-attributify@0.60.1': - resolution: {integrity: sha512-nWsuMLXdAI+X9OP8iv/hEWRevE+7Rmet95O+A/O/75GmXcv6KRkTGnrkIse9ne2Mqfb1BG5g4OgvROpk+PFvYg==} + '@unocss/preset-attributify@0.60.2': + resolution: {integrity: sha512-PQDObhVtopL/eEceAHX/pBmPQhm50l4yhTu/pMH31hL13DuRYODngWe00jjgmMRTwIAFpMpDVKk2GjxeD05+cQ==} - '@unocss/preset-icons@0.60.1': - resolution: {integrity: sha512-rev1cUvfdYG48avJaXuL7DPgFoSuTktL2L3uA0+V/zgcdxPLQ2dI/nO3gMnt1VCvz7mRWK6Lh3wRhiNzkUfGmw==} + '@unocss/preset-icons@0.60.2': + resolution: {integrity: sha512-knE4CKn4tgjvyZQSZTuC5FIO2/jcP1AWBvpWyJTax5kcKAIrL8IU4b7PhiPwPrQpe0LBTtyQKWCXqWXp7DhDwA==} - '@unocss/preset-mini@0.60.1': - resolution: {integrity: sha512-X0V2wBZFRDxdRKkiC9t++7CsfkXtH0p6adVCoFzEi3fTy6XPTmBNZJ0VqLKj9Nm5hOm459x1CKn2gLEVIZkR3Q==} + '@unocss/preset-mini@0.60.2': + resolution: {integrity: sha512-Vp5UWzD9FgxeYNhyJIXjMt8HyL7joGJWzmFa2zR8ZAYZ+WIIIJWtxa+9/H8gJgnGTWa2H9oyj9h3IqOYT/lmSg==} - '@unocss/preset-tagify@0.60.1': - resolution: {integrity: sha512-uJOx5y9ubvstiJInZoVWEVjbV9cMy60Fi9NQwLr/Z9umsp26wb3UNCxYyuDwA9OGYUgcwllieCr2CfleEohKJA==} + '@unocss/preset-tagify@0.60.2': + resolution: {integrity: sha512-M730DpoPJ8/uG7aKme9EYrzspr0WfKp7z3CTpb2hb4YHuiCXmiTjdxo5xa9vK3ZGQTZlUkG0rz3TLw8tRKqRDg==} - '@unocss/preset-typography@0.60.1': - resolution: {integrity: sha512-KVlS3ToBHdtqKjOk584tPAkETqSUZ1Q+rEYUwW+go0+DLWo7FBttZD6pnsvyCimhebho+YfaLy6LVXzfFAyZGw==} + '@unocss/preset-typography@0.60.2': + resolution: {integrity: sha512-QKJi1LbC/f8RwwSwV6yQCXu/8wlBcrNyKiUSe7o9I2NYP+mzINlp64pXEP43UtUQo6x8Dil/TuzpRqMFPG/pMA==} - '@unocss/preset-uno@0.60.1': - resolution: {integrity: sha512-yATReqn3CqGKMsR+0J8kRrE/nkxxPEreColHDURyiEJSpkL+oTtIlyx5E4DKuzs1Ih8GmVNIoIp6uTCKCfBi+w==} + '@unocss/preset-uno@0.60.2': + resolution: {integrity: sha512-ggOCehuBm6depGV+79heBlcYlwgcfbIMLnxbywZPIrLwPB/4YaTArBcG4giKILyu4p2PcodAZvfv4uYXrLaE5Q==} - '@unocss/preset-web-fonts@0.60.1': - resolution: {integrity: sha512-LEzUCEfXiED/CGKfaFj9n3TW/vpiLQl4Qhjq56KVF2Ml3TWs3tt1ihT6MrxmmC7o4VjSSkJxgOa9n6ruSqvcGA==} + '@unocss/preset-web-fonts@0.60.2': + resolution: {integrity: sha512-1lHZVOR6JHkPOvFBQeqZLoAwDk9spUxrX2WfLSVL+sCuBLLeo8voa/LnCxPxKiQwKZGEEoh+qM2MKsLnRd+P6w==} - '@unocss/preset-wind@0.60.1': - resolution: {integrity: sha512-3RHDbVNyOWuRyt61XXqJ1jmHo6PV2LTrCbgEX0NvMBROfEP4p2G627t9fhls1cpNIe/HW5NFmiHjRZNFqCRdpA==} + '@unocss/preset-wind@0.60.2': + resolution: {integrity: sha512-9Ml2Wyn7LAcKfqHMJmflT/jdz5eLZtm3SEZKH5Lfk5MOyeVm6NDXjXK140u3zaP5tGKqtO6akJZGtYktWJ6+WQ==} - '@unocss/reset@0.60.1': - resolution: {integrity: sha512-lOgbSVm8CDY11aEWusYrCcstvmm+Z/vc4/oYNcbECSAsbzsREPTmcMonhSFxav52jbmuTk5MP3cuHYVEJLuQ3A==} + '@unocss/reset@0.60.2': + resolution: {integrity: sha512-kM0DYAcbmzpAyHefa/W+cifBTScWeZGsNpKagMQ6vci6OlTUiDB1GcmhQZ6dC0Ks59GtPmRbzZLaK1MgG6ayrA==} - '@unocss/rule-utils@0.60.1': - resolution: {integrity: sha512-UlP6Og/wOA00Uj3sZLlGVOAeP0XmwtBGBBBJp0OUskHDhXKOQyS4QqGa2hRhFPsINYEOBp+N5PeemuUxcYBrSQ==} + '@unocss/rule-utils@0.60.2': + resolution: {integrity: sha512-pg3XbU0s0TmmRk0UkSV6wTlca+Zz5xe9V+Mk8a5QqVp0oJ2jNWHO9AfzF4NcvTzM2zV2a/WbpjSBgoK8iAz3zg==} engines: {node: '>=14'} - '@unocss/scope@0.60.1': - resolution: {integrity: sha512-yTR9a5v3ZqTecQX8yN4yjAmKJralxip8Robc16Kt7AnkZtrenMRefgXANNpOk2MFhT72Nkpk9jPJbE7t9hacgQ==} + '@unocss/scope@0.60.2': + resolution: {integrity: sha512-pdwNZzQBb6rllgCwirPPrydDZH2XL0DI8/W7iM1RKYiNeDYjoDAWdVD46CrRmxadiHesrhdIwDL6rQz7Q7bl0w==} - '@unocss/transformer-attributify-jsx-babel@0.60.1': - resolution: {integrity: sha512-NFOu8ErOUe9YPXTADSinoTSeZ0lZHrqGQoiXStMEQpAFUINb2wtgRsCJddK/T/0lHjO3gMdEt3SdIirH97zOSw==} + '@unocss/transformer-attributify-jsx-babel@0.60.2': + resolution: {integrity: sha512-mb66b39qsjyH7+XqC/0ciLdPatVKH5CfMDxUMvzczuFTQ/+V3VAN/Mm6Ru+oxMgbf7qPTALSnLgu6RUhEldTzA==} - '@unocss/transformer-attributify-jsx@0.60.1': - resolution: {integrity: sha512-wpGQ1uylJ3JFu8TuEFSpPeNAxisG3ThnsAvZRHqRH7QPr3aWc9bxxZ+Zv1d3dsBHIr5KrHtuo2SKj9od/HawnA==} + '@unocss/transformer-attributify-jsx@0.60.2': + resolution: {integrity: sha512-GZbtuZLz3COMhEqdc33zmn8cKupAzVeLcAV66EL+zj7hfZIvrIEs5RFajtzlkQa7RC5YOOjZfHxMccGBEP1RMQ==} - '@unocss/transformer-compile-class@0.60.1': - resolution: {integrity: sha512-WGm17yibXbj3b+n3l4QsfDBVhT+r34l92yV5r/ZRdCpsUFIc1xknx3XtAwat3jMyC0I7162PuV7Qi8XC8v2Tmg==} + '@unocss/transformer-compile-class@0.60.2': + resolution: {integrity: sha512-dZfkGsqd7mdyRRCG8om5lTxQ4CjaaDka8gPbVawbDkK4U53G2vnN3daVlE7UflUXS32hOPj16RfOcb8cH+pypw==} - '@unocss/transformer-directives@0.60.1': - resolution: {integrity: sha512-rdR4SPjU6s8sX+rtyP7Ma0enK8P1Cn0VOmcv5eb//KqYuCP0shOkw/RAHkPm3qdcIr/swio3vsdZI0Ag5lkRLQ==} + '@unocss/transformer-directives@0.60.2': + resolution: {integrity: sha512-p4ZtXoz1mZ125WfANFAD6pXwQJdA4lfff5abZfoDiTPLvtvYQFmwGCeBXUnEKAnBnTwwiBD2zsIwGfumWAsqrA==} - '@unocss/transformer-variant-group@0.60.1': - resolution: {integrity: sha512-SNDyLGgQa7WFLg+i6lfr8TV1sFTkOD58QI95DTcYOwzm2V1Bw5c/4CLKumKaDL/F2nElgSlnOUExsrn4Pla4Qg==} + '@unocss/transformer-variant-group@0.60.2': + resolution: {integrity: sha512-2eE2MZhFhNj+3fxO9VE1yC8LddUn9vetNZKrgGlegrBH/jOL9Pn/vygBmMAg1XFLEgC3DtvwdzCKMVttV30Ivw==} - '@unocss/vite@0.60.1': - resolution: {integrity: sha512-Uyarp5LJVU12FZ/YzD8av4UMbxy8O9EN5XVJRH6MOGSY8Hnjq8g5AUudDr2JH3zVIWVNe4mavcAU/vaLVEK6nA==} + '@unocss/vite@0.60.2': + resolution: {integrity: sha512-+gBjyT5z/aZgPIZxpUbiXyOt1diY9YQfIJStOhBG0MP6daMdDX78SnDuUq/zKMk9EJuZ3FxhbZF5dYSD4bhJmw==} peerDependencies: vite: 5.2.11 @@ -3895,8 +3895,8 @@ packages: engines: {node: '>=12'} hasBin: true - esbuild@0.21.1: - resolution: {integrity: sha512-GPqx+FX7mdqulCeQ4TsGZQ3djBJkx5k7zBGtqt9ycVlWNg8llJ4RO9n2vciu8BN2zAEs6lPbPl0asZsAh7oWzg==} + esbuild@0.21.2: + resolution: {integrity: sha512-LmHPAa5h4tSxz+g/D8IHY6wCjtIiFx8I7/Q0Aq+NmvtoYvyMnJU0KQJcqB6QH30X9x/W4CemgUtPgQDZFca5SA==} engines: {node: '>=12'} hasBin: true @@ -6847,11 +6847,11 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - unocss@0.60.1: - resolution: {integrity: sha512-E7xlV7Kbe+Cgl/y2QHNI31IfdY3J7/XsptOJLaQCtfbejX/sJMgQ8GiFOL+MGyssqeMWWayUiBhCN2UX9GXsMg==} + unocss@0.60.2: + resolution: {integrity: sha512-Cj1IXS+VZuiZtQxHn/ffAAN422gUusUEgF1RS83WyNB0kMsJyIxb9KK9N425QAvQvsKpL5GrZs5KoNtU3zGMog==} engines: {node: '>=14'} peerDependencies: - '@unocss/webpack': 0.60.1 + '@unocss/webpack': 0.60.2 vite: 5.2.11 peerDependenciesMeta: '@unocss/webpack': @@ -7679,7 +7679,7 @@ snapshots: '@esbuild/aix-ppc64@0.20.2': optional: true - '@esbuild/aix-ppc64@0.21.1': + '@esbuild/aix-ppc64@0.21.2': optional: true '@esbuild/android-arm64@0.18.20': @@ -7691,7 +7691,7 @@ snapshots: '@esbuild/android-arm64@0.20.2': optional: true - '@esbuild/android-arm64@0.21.1': + '@esbuild/android-arm64@0.21.2': optional: true '@esbuild/android-arm@0.18.20': @@ -7703,7 +7703,7 @@ snapshots: '@esbuild/android-arm@0.20.2': optional: true - '@esbuild/android-arm@0.21.1': + '@esbuild/android-arm@0.21.2': optional: true '@esbuild/android-x64@0.18.20': @@ -7715,7 +7715,7 @@ snapshots: '@esbuild/android-x64@0.20.2': optional: true - '@esbuild/android-x64@0.21.1': + '@esbuild/android-x64@0.21.2': optional: true '@esbuild/darwin-arm64@0.18.20': @@ -7727,7 +7727,7 @@ snapshots: '@esbuild/darwin-arm64@0.20.2': optional: true - '@esbuild/darwin-arm64@0.21.1': + '@esbuild/darwin-arm64@0.21.2': optional: true '@esbuild/darwin-x64@0.18.20': @@ -7739,7 +7739,7 @@ snapshots: '@esbuild/darwin-x64@0.20.2': optional: true - '@esbuild/darwin-x64@0.21.1': + '@esbuild/darwin-x64@0.21.2': optional: true '@esbuild/freebsd-arm64@0.18.20': @@ -7751,7 +7751,7 @@ snapshots: '@esbuild/freebsd-arm64@0.20.2': optional: true - '@esbuild/freebsd-arm64@0.21.1': + '@esbuild/freebsd-arm64@0.21.2': optional: true '@esbuild/freebsd-x64@0.18.20': @@ -7763,7 +7763,7 @@ snapshots: '@esbuild/freebsd-x64@0.20.2': optional: true - '@esbuild/freebsd-x64@0.21.1': + '@esbuild/freebsd-x64@0.21.2': optional: true '@esbuild/linux-arm64@0.18.20': @@ -7775,7 +7775,7 @@ snapshots: '@esbuild/linux-arm64@0.20.2': optional: true - '@esbuild/linux-arm64@0.21.1': + '@esbuild/linux-arm64@0.21.2': optional: true '@esbuild/linux-arm@0.18.20': @@ -7787,7 +7787,7 @@ snapshots: '@esbuild/linux-arm@0.20.2': optional: true - '@esbuild/linux-arm@0.21.1': + '@esbuild/linux-arm@0.21.2': optional: true '@esbuild/linux-ia32@0.18.20': @@ -7799,7 +7799,7 @@ snapshots: '@esbuild/linux-ia32@0.20.2': optional: true - '@esbuild/linux-ia32@0.21.1': + '@esbuild/linux-ia32@0.21.2': optional: true '@esbuild/linux-loong64@0.18.20': @@ -7811,7 +7811,7 @@ snapshots: '@esbuild/linux-loong64@0.20.2': optional: true - '@esbuild/linux-loong64@0.21.1': + '@esbuild/linux-loong64@0.21.2': optional: true '@esbuild/linux-mips64el@0.18.20': @@ -7823,7 +7823,7 @@ snapshots: '@esbuild/linux-mips64el@0.20.2': optional: true - '@esbuild/linux-mips64el@0.21.1': + '@esbuild/linux-mips64el@0.21.2': optional: true '@esbuild/linux-ppc64@0.18.20': @@ -7835,7 +7835,7 @@ snapshots: '@esbuild/linux-ppc64@0.20.2': optional: true - '@esbuild/linux-ppc64@0.21.1': + '@esbuild/linux-ppc64@0.21.2': optional: true '@esbuild/linux-riscv64@0.18.20': @@ -7847,7 +7847,7 @@ snapshots: '@esbuild/linux-riscv64@0.20.2': optional: true - '@esbuild/linux-riscv64@0.21.1': + '@esbuild/linux-riscv64@0.21.2': optional: true '@esbuild/linux-s390x@0.18.20': @@ -7859,7 +7859,7 @@ snapshots: '@esbuild/linux-s390x@0.20.2': optional: true - '@esbuild/linux-s390x@0.21.1': + '@esbuild/linux-s390x@0.21.2': optional: true '@esbuild/linux-x64@0.18.20': @@ -7871,7 +7871,7 @@ snapshots: '@esbuild/linux-x64@0.20.2': optional: true - '@esbuild/linux-x64@0.21.1': + '@esbuild/linux-x64@0.21.2': optional: true '@esbuild/netbsd-x64@0.18.20': @@ -7883,7 +7883,7 @@ snapshots: '@esbuild/netbsd-x64@0.20.2': optional: true - '@esbuild/netbsd-x64@0.21.1': + '@esbuild/netbsd-x64@0.21.2': optional: true '@esbuild/openbsd-x64@0.18.20': @@ -7895,7 +7895,7 @@ snapshots: '@esbuild/openbsd-x64@0.20.2': optional: true - '@esbuild/openbsd-x64@0.21.1': + '@esbuild/openbsd-x64@0.21.2': optional: true '@esbuild/sunos-x64@0.18.20': @@ -7907,7 +7907,7 @@ snapshots: '@esbuild/sunos-x64@0.20.2': optional: true - '@esbuild/sunos-x64@0.21.1': + '@esbuild/sunos-x64@0.21.2': optional: true '@esbuild/win32-arm64@0.18.20': @@ -7919,7 +7919,7 @@ snapshots: '@esbuild/win32-arm64@0.20.2': optional: true - '@esbuild/win32-arm64@0.21.1': + '@esbuild/win32-arm64@0.21.2': optional: true '@esbuild/win32-ia32@0.18.20': @@ -7931,7 +7931,7 @@ snapshots: '@esbuild/win32-ia32@0.20.2': optional: true - '@esbuild/win32-ia32@0.21.1': + '@esbuild/win32-ia32@0.21.2': optional: true '@esbuild/win32-x64@0.18.20': @@ -7943,7 +7943,7 @@ snapshots: '@esbuild/win32-x64@0.20.2': optional: true - '@esbuild/win32-x64@0.21.1': + '@esbuild/win32-x64@0.21.2': optional: true '@eslint-community/eslint-utils@4.4.0(eslint@9.2.0)': @@ -8222,13 +8222,13 @@ snapshots: rc9: 2.1.2 semver: 7.6.2 - '@nuxt/devtools@1.3.1(@unocss/reset@0.60.1)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@nuxt/devtools@1.3.1(@unocss/reset@0.60.2)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: '@antfu/utils': 0.7.8 '@nuxt/devtools-kit': 1.3.1(nuxt@packages+nuxt)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) '@nuxt/devtools-wizard': 1.3.1 '@nuxt/kit': link:packages/kit - '@vue/devtools-applet': 7.1.3(@unocss/reset@0.60.1)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-applet': 7.1.3(@unocss/reset@0.60.2)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-core': 7.1.3(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5)) birpc: 0.2.17 @@ -9101,33 +9101,33 @@ snapshots: unhead: 1.9.10 vue: 3.4.27(typescript@5.4.5) - '@unocss/astro@0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))': + '@unocss/astro@0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))': dependencies: - '@unocss/core': 0.60.1 - '@unocss/reset': 0.60.1 - '@unocss/vite': 0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) + '@unocss/core': 0.60.2 + '@unocss/reset': 0.60.2 + '@unocss/vite': 0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - rollup - '@unocss/astro@0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))': + '@unocss/astro@0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))': dependencies: - '@unocss/core': 0.60.1 - '@unocss/reset': 0.60.1 - '@unocss/vite': 0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) + '@unocss/core': 0.60.2 + '@unocss/reset': 0.60.2 + '@unocss/vite': 0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - rollup - '@unocss/cli@0.60.1(rollup@4.17.2)': + '@unocss/cli@0.60.2(rollup@4.17.2)': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.17.2) - '@unocss/config': 0.60.1 - '@unocss/core': 0.60.1 - '@unocss/preset-uno': 0.60.1 + '@unocss/config': 0.60.2 + '@unocss/core': 0.60.2 + '@unocss/preset-uno': 0.60.2 cac: 6.7.14 chokidar: 3.6.0 colorette: 2.0.20 @@ -9139,124 +9139,124 @@ snapshots: transitivePeerDependencies: - rollup - '@unocss/config@0.60.1': + '@unocss/config@0.60.2': dependencies: - '@unocss/core': 0.60.1 + '@unocss/core': 0.60.2 unconfig: 0.3.13 - '@unocss/core@0.60.1': {} + '@unocss/core@0.60.2': {} - '@unocss/extractor-arbitrary-variants@0.60.1': + '@unocss/extractor-arbitrary-variants@0.60.2': dependencies: - '@unocss/core': 0.60.1 + '@unocss/core': 0.60.2 - '@unocss/inspector@0.60.1': + '@unocss/inspector@0.60.2': dependencies: - '@unocss/core': 0.60.1 - '@unocss/rule-utils': 0.60.1 + '@unocss/core': 0.60.2 + '@unocss/rule-utils': 0.60.2 gzip-size: 6.0.0 sirv: 2.0.4 - '@unocss/postcss@0.60.1(postcss@8.4.38)': + '@unocss/postcss@0.60.2(postcss@8.4.38)': dependencies: - '@unocss/config': 0.60.1 - '@unocss/core': 0.60.1 - '@unocss/rule-utils': 0.60.1 + '@unocss/config': 0.60.2 + '@unocss/core': 0.60.2 + '@unocss/rule-utils': 0.60.2 css-tree: 2.3.1 fast-glob: 3.3.2 magic-string: 0.30.10 postcss: 8.4.38 - '@unocss/preset-attributify@0.60.1': + '@unocss/preset-attributify@0.60.2': dependencies: - '@unocss/core': 0.60.1 + '@unocss/core': 0.60.2 - '@unocss/preset-icons@0.60.1': + '@unocss/preset-icons@0.60.2': dependencies: '@iconify/utils': 2.1.23 - '@unocss/core': 0.60.1 + '@unocss/core': 0.60.2 ofetch: 1.3.4 transitivePeerDependencies: - supports-color - '@unocss/preset-mini@0.60.1': + '@unocss/preset-mini@0.60.2': dependencies: - '@unocss/core': 0.60.1 - '@unocss/extractor-arbitrary-variants': 0.60.1 - '@unocss/rule-utils': 0.60.1 + '@unocss/core': 0.60.2 + '@unocss/extractor-arbitrary-variants': 0.60.2 + '@unocss/rule-utils': 0.60.2 - '@unocss/preset-tagify@0.60.1': + '@unocss/preset-tagify@0.60.2': dependencies: - '@unocss/core': 0.60.1 + '@unocss/core': 0.60.2 - '@unocss/preset-typography@0.60.1': + '@unocss/preset-typography@0.60.2': dependencies: - '@unocss/core': 0.60.1 - '@unocss/preset-mini': 0.60.1 + '@unocss/core': 0.60.2 + '@unocss/preset-mini': 0.60.2 - '@unocss/preset-uno@0.60.1': + '@unocss/preset-uno@0.60.2': dependencies: - '@unocss/core': 0.60.1 - '@unocss/preset-mini': 0.60.1 - '@unocss/preset-wind': 0.60.1 - '@unocss/rule-utils': 0.60.1 + '@unocss/core': 0.60.2 + '@unocss/preset-mini': 0.60.2 + '@unocss/preset-wind': 0.60.2 + '@unocss/rule-utils': 0.60.2 - '@unocss/preset-web-fonts@0.60.1': + '@unocss/preset-web-fonts@0.60.2': dependencies: - '@unocss/core': 0.60.1 + '@unocss/core': 0.60.2 ofetch: 1.3.4 - '@unocss/preset-wind@0.60.1': + '@unocss/preset-wind@0.60.2': dependencies: - '@unocss/core': 0.60.1 - '@unocss/preset-mini': 0.60.1 - '@unocss/rule-utils': 0.60.1 + '@unocss/core': 0.60.2 + '@unocss/preset-mini': 0.60.2 + '@unocss/rule-utils': 0.60.2 - '@unocss/reset@0.60.1': {} + '@unocss/reset@0.60.2': {} - '@unocss/rule-utils@0.60.1': + '@unocss/rule-utils@0.60.2': dependencies: - '@unocss/core': 0.60.1 + '@unocss/core': 0.60.2 magic-string: 0.30.10 - '@unocss/scope@0.60.1': {} + '@unocss/scope@0.60.2': {} - '@unocss/transformer-attributify-jsx-babel@0.60.1': + '@unocss/transformer-attributify-jsx-babel@0.60.2': dependencies: '@babel/core': 7.24.5 '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5) '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5) - '@unocss/core': 0.60.1 + '@unocss/core': 0.60.2 transitivePeerDependencies: - supports-color - '@unocss/transformer-attributify-jsx@0.60.1': + '@unocss/transformer-attributify-jsx@0.60.2': dependencies: - '@unocss/core': 0.60.1 + '@unocss/core': 0.60.2 - '@unocss/transformer-compile-class@0.60.1': + '@unocss/transformer-compile-class@0.60.2': dependencies: - '@unocss/core': 0.60.1 + '@unocss/core': 0.60.2 - '@unocss/transformer-directives@0.60.1': + '@unocss/transformer-directives@0.60.2': dependencies: - '@unocss/core': 0.60.1 - '@unocss/rule-utils': 0.60.1 + '@unocss/core': 0.60.2 + '@unocss/rule-utils': 0.60.2 css-tree: 2.3.1 - '@unocss/transformer-variant-group@0.60.1': + '@unocss/transformer-variant-group@0.60.2': dependencies: - '@unocss/core': 0.60.1 + '@unocss/core': 0.60.2 - '@unocss/vite@0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))': + '@unocss/vite@0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.17.2) - '@unocss/config': 0.60.1 - '@unocss/core': 0.60.1 - '@unocss/inspector': 0.60.1 - '@unocss/scope': 0.60.1 - '@unocss/transformer-directives': 0.60.1 + '@unocss/config': 0.60.2 + '@unocss/core': 0.60.2 + '@unocss/inspector': 0.60.2 + '@unocss/scope': 0.60.2 + '@unocss/transformer-directives': 0.60.2 chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.10 @@ -9264,15 +9264,15 @@ snapshots: transitivePeerDependencies: - rollup - '@unocss/vite@0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))': + '@unocss/vite@0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.17.2) - '@unocss/config': 0.60.1 - '@unocss/core': 0.60.1 - '@unocss/inspector': 0.60.1 - '@unocss/scope': 0.60.1 - '@unocss/transformer-directives': 0.60.1 + '@unocss/config': 0.60.2 + '@unocss/core': 0.60.2 + '@unocss/inspector': 0.60.2 + '@unocss/scope': 0.60.2 + '@unocss/transformer-directives': 0.60.2 chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.10 @@ -9478,12 +9478,12 @@ snapshots: '@vue/devtools-api@6.5.1': {} - '@vue/devtools-applet@7.1.3(@unocss/reset@0.60.1)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@vue/devtools-applet@7.1.3(@unocss/reset@0.60.2)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: '@vue/devtools-core': 7.1.3(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-shared': 7.1.3 - '@vue/devtools-ui': 7.1.3(@unocss/reset@0.60.1)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-ui': 7.1.3(@unocss/reset@0.60.2)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5)) lodash-es: 4.17.21 perfect-debounce: 1.0.0 shiki: 1.3.0 @@ -9533,9 +9533,9 @@ snapshots: dependencies: rfdc: 1.3.1 - '@vue/devtools-ui@7.1.3(@unocss/reset@0.60.1)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))': + '@vue/devtools-ui@7.1.3(@unocss/reset@0.60.2)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))': dependencies: - '@unocss/reset': 0.60.1 + '@unocss/reset': 0.60.2 '@vue/devtools-shared': 7.1.3 '@vueuse/components': 10.9.0(vue@3.4.27(typescript@5.4.5)) '@vueuse/core': 10.9.0(vue@3.4.27(typescript@5.4.5)) @@ -9543,7 +9543,7 @@ snapshots: colord: 2.9.3 floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)) focus-trap: 7.5.4 - unocss: 0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) + unocss: 0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) vue: 3.4.27(typescript@5.4.5) transitivePeerDependencies: - '@vue/composition-api' @@ -10708,31 +10708,31 @@ snapshots: '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 - esbuild@0.21.1: + esbuild@0.21.2: optionalDependencies: - '@esbuild/aix-ppc64': 0.21.1 - '@esbuild/android-arm': 0.21.1 - '@esbuild/android-arm64': 0.21.1 - '@esbuild/android-x64': 0.21.1 - '@esbuild/darwin-arm64': 0.21.1 - '@esbuild/darwin-x64': 0.21.1 - '@esbuild/freebsd-arm64': 0.21.1 - '@esbuild/freebsd-x64': 0.21.1 - '@esbuild/linux-arm': 0.21.1 - '@esbuild/linux-arm64': 0.21.1 - '@esbuild/linux-ia32': 0.21.1 - '@esbuild/linux-loong64': 0.21.1 - '@esbuild/linux-mips64el': 0.21.1 - '@esbuild/linux-ppc64': 0.21.1 - '@esbuild/linux-riscv64': 0.21.1 - '@esbuild/linux-s390x': 0.21.1 - '@esbuild/linux-x64': 0.21.1 - '@esbuild/netbsd-x64': 0.21.1 - '@esbuild/openbsd-x64': 0.21.1 - '@esbuild/sunos-x64': 0.21.1 - '@esbuild/win32-arm64': 0.21.1 - '@esbuild/win32-ia32': 0.21.1 - '@esbuild/win32-x64': 0.21.1 + '@esbuild/aix-ppc64': 0.21.2 + '@esbuild/android-arm': 0.21.2 + '@esbuild/android-arm64': 0.21.2 + '@esbuild/android-x64': 0.21.2 + '@esbuild/darwin-arm64': 0.21.2 + '@esbuild/darwin-x64': 0.21.2 + '@esbuild/freebsd-arm64': 0.21.2 + '@esbuild/freebsd-x64': 0.21.2 + '@esbuild/linux-arm': 0.21.2 + '@esbuild/linux-arm64': 0.21.2 + '@esbuild/linux-ia32': 0.21.2 + '@esbuild/linux-loong64': 0.21.2 + '@esbuild/linux-mips64el': 0.21.2 + '@esbuild/linux-ppc64': 0.21.2 + '@esbuild/linux-riscv64': 0.21.2 + '@esbuild/linux-s390x': 0.21.2 + '@esbuild/linux-x64': 0.21.2 + '@esbuild/netbsd-x64': 0.21.2 + '@esbuild/openbsd-x64': 0.21.2 + '@esbuild/sunos-x64': 0.21.2 + '@esbuild/win32-arm64': 0.21.2 + '@esbuild/win32-ia32': 0.21.2 + '@esbuild/win32-x64': 0.21.2 escalade@3.1.1: {} @@ -14247,28 +14247,28 @@ snapshots: universalify@2.0.0: {} - unocss@0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)): + unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)): dependencies: - '@unocss/astro': 0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) - '@unocss/cli': 0.60.1(rollup@4.17.2) - '@unocss/core': 0.60.1 - '@unocss/extractor-arbitrary-variants': 0.60.1 - '@unocss/postcss': 0.60.1(postcss@8.4.38) - '@unocss/preset-attributify': 0.60.1 - '@unocss/preset-icons': 0.60.1 - '@unocss/preset-mini': 0.60.1 - '@unocss/preset-tagify': 0.60.1 - '@unocss/preset-typography': 0.60.1 - '@unocss/preset-uno': 0.60.1 - '@unocss/preset-web-fonts': 0.60.1 - '@unocss/preset-wind': 0.60.1 - '@unocss/reset': 0.60.1 - '@unocss/transformer-attributify-jsx': 0.60.1 - '@unocss/transformer-attributify-jsx-babel': 0.60.1 - '@unocss/transformer-compile-class': 0.60.1 - '@unocss/transformer-directives': 0.60.1 - '@unocss/transformer-variant-group': 0.60.1 - '@unocss/vite': 0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) + '@unocss/astro': 0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) + '@unocss/cli': 0.60.2(rollup@4.17.2) + '@unocss/core': 0.60.2 + '@unocss/extractor-arbitrary-variants': 0.60.2 + '@unocss/postcss': 0.60.2(postcss@8.4.38) + '@unocss/preset-attributify': 0.60.2 + '@unocss/preset-icons': 0.60.2 + '@unocss/preset-mini': 0.60.2 + '@unocss/preset-tagify': 0.60.2 + '@unocss/preset-typography': 0.60.2 + '@unocss/preset-uno': 0.60.2 + '@unocss/preset-web-fonts': 0.60.2 + '@unocss/preset-wind': 0.60.2 + '@unocss/reset': 0.60.2 + '@unocss/transformer-attributify-jsx': 0.60.2 + '@unocss/transformer-attributify-jsx-babel': 0.60.2 + '@unocss/transformer-compile-class': 0.60.2 + '@unocss/transformer-directives': 0.60.2 + '@unocss/transformer-variant-group': 0.60.2 + '@unocss/vite': 0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: @@ -14276,28 +14276,28 @@ snapshots: - rollup - supports-color - unocss@0.60.1(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)): + unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)): dependencies: - '@unocss/astro': 0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) - '@unocss/cli': 0.60.1(rollup@4.17.2) - '@unocss/core': 0.60.1 - '@unocss/extractor-arbitrary-variants': 0.60.1 - '@unocss/postcss': 0.60.1(postcss@8.4.38) - '@unocss/preset-attributify': 0.60.1 - '@unocss/preset-icons': 0.60.1 - '@unocss/preset-mini': 0.60.1 - '@unocss/preset-tagify': 0.60.1 - '@unocss/preset-typography': 0.60.1 - '@unocss/preset-uno': 0.60.1 - '@unocss/preset-web-fonts': 0.60.1 - '@unocss/preset-wind': 0.60.1 - '@unocss/reset': 0.60.1 - '@unocss/transformer-attributify-jsx': 0.60.1 - '@unocss/transformer-attributify-jsx-babel': 0.60.1 - '@unocss/transformer-compile-class': 0.60.1 - '@unocss/transformer-directives': 0.60.1 - '@unocss/transformer-variant-group': 0.60.1 - '@unocss/vite': 0.60.1(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) + '@unocss/astro': 0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) + '@unocss/cli': 0.60.2(rollup@4.17.2) + '@unocss/core': 0.60.2 + '@unocss/extractor-arbitrary-variants': 0.60.2 + '@unocss/postcss': 0.60.2(postcss@8.4.38) + '@unocss/preset-attributify': 0.60.2 + '@unocss/preset-icons': 0.60.2 + '@unocss/preset-mini': 0.60.2 + '@unocss/preset-tagify': 0.60.2 + '@unocss/preset-typography': 0.60.2 + '@unocss/preset-uno': 0.60.2 + '@unocss/preset-web-fonts': 0.60.2 + '@unocss/preset-wind': 0.60.2 + '@unocss/reset': 0.60.2 + '@unocss/transformer-attributify-jsx': 0.60.2 + '@unocss/transformer-attributify-jsx-babel': 0.60.2 + '@unocss/transformer-compile-class': 0.60.2 + '@unocss/transformer-directives': 0.60.2 + '@unocss/transformer-variant-group': 0.60.2 + '@unocss/vite': 0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: From 69860d952a72a95238b5dad8e82ecc3191d19122 Mon Sep 17 00:00:00 2001 From: Alexander Lichter Date: Mon, 13 May 2024 16:39:52 +0200 Subject: [PATCH 050/127] docs: add video links for more context (#27174) --- docs/1.getting-started/11.testing.md | 4 ++++ docs/1.getting-started/12.upgrade.md | 4 ++++ docs/1.getting-started/3.configuration.md | 4 ++++ docs/1.getting-started/6.data-fetching.md | 8 ++++++++ docs/1.getting-started/7.state-management.md | 8 ++++++++ docs/1.getting-started/8.server.md | 4 ++++ docs/1.getting-started/9.layers.md | 2 +- docs/2.guide/1.concepts/1.auto-imports.md | 8 ++++++++ docs/2.guide/1.concepts/8.typescript.md | 4 ++++ docs/2.guide/2.directory-structure/1.plugins.md | 4 ++++ docs/2.guide/3.going-further/1.experimental-features.md | 8 ++++++++ docs/2.guide/3.going-further/10.runtime-config.md | 4 ++++ docs/3.api/2.composables/use-fetch.md | 4 ++++ docs/3.api/2.composables/use-nuxt-app.md | 4 ++++ docs/3.api/2.composables/use-state.md | 4 ++++ 15 files changed, 73 insertions(+), 1 deletion(-) diff --git a/docs/1.getting-started/11.testing.md b/docs/1.getting-started/11.testing.md index f6b40016b..3454b103b 100644 --- a/docs/1.getting-started/11.testing.md +++ b/docs/1.getting-started/11.testing.md @@ -10,6 +10,10 @@ If you are a module author, you can find more specific information in the [Modul Nuxt offers first-class support for end-to-end and unit testing of your Nuxt application via `@nuxt/test-utils`, a library of test utilities and configuration that currently powers the [tests we use on Nuxt itself](https://github.com/nuxt/nuxt/tree/main/test) and tests throughout the module ecosystem. +::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=yGzwk9xi9gU" target="_blank"} +Watch a video from Alexander Lichter about getting started with the `@nuxt/test-utils`. +:: + ## Installation In order to allow you to manage your other testing dependencies, `@nuxt/test-utils` ships with various optional peer dependencies. For example: diff --git a/docs/1.getting-started/12.upgrade.md b/docs/1.getting-started/12.upgrade.md index 9c0e79fd6..07a8f5294 100644 --- a/docs/1.getting-started/12.upgrade.md +++ b/docs/1.getting-started/12.upgrade.md @@ -25,6 +25,10 @@ Nuxt 4 is planned to be released **on or before June 14** (though obviously this Until then, it is possible to test many of Nuxt 4's breaking changes on the nightly release channel. +::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=r4wFKlcJK6c" target="_blank"} +Watch a video from Alexander Lichter showing how to opt in to Nuxt 4's breaking changes already. +:: + ### Opting in to Nuxt 4 First, opt in to the nightly release channel [following these steps](/docs/guide/going-further/nightly-release-channel#opting-in). diff --git a/docs/1.getting-started/3.configuration.md b/docs/1.getting-started/3.configuration.md index c14e01f2f..49a0822ec 100644 --- a/docs/1.getting-started/3.configuration.md +++ b/docs/1.getting-started/3.configuration.md @@ -46,6 +46,10 @@ export default defineNuxtConfig({ }) ``` +::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=DFZI2iVCrNc" target="_blank"} +Watch a video from Alexander Lichter about the env-aware `nuxt.config.ts`. +:: + ::note If you're authoring layers, you can also use the `$meta` key to provide metadata that you or the consumers of your layer might use. :: diff --git a/docs/1.getting-started/6.data-fetching.md b/docs/1.getting-started/6.data-fetching.md index 3a26848ae..32976b1f2 100644 --- a/docs/1.getting-started/6.data-fetching.md +++ b/docs/1.getting-started/6.data-fetching.md @@ -54,6 +54,10 @@ const { data: count } = await useFetch('/api/count') This composable is a wrapper around the [`useAsyncData`](/docs/api/composables/use-async-data) composable and `$fetch` utility. +::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=njsGVmcWviY" target="_blank"} +Watch the video from Alexander Lichter to avoid using `useFetch` the wrong way! +:: + :read-more{to="/docs/api/composables/use-fetch"} :link-example{to="/docs/examples/features/data-fetching"} @@ -93,6 +97,10 @@ The `useAsyncData` composable is responsible for wrapping async logic and return It's developer experience sugar for the most common use case. :: +::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=0X-aOpSGabA" target="_blank"} +Watch a video from Alexander Lichter to dig deeper into the difference between `useFetch` and `useAsyncData`. +:: + There are some cases when using the [`useFetch`](/docs/api/composables/use-fetch) composable is not appropriate, for example when a CMS or a third-party provide their own query layer. In this case, you can use [`useAsyncData`](/docs/api/composables/use-async-data) to wrap your calls and still keep the benefits provided by the composable. ```vue [pages/users.vue] diff --git a/docs/1.getting-started/7.state-management.md b/docs/1.getting-started/7.state-management.md index d9edf3f16..4957fb4a1 100644 --- a/docs/1.getting-started/7.state-management.md +++ b/docs/1.getting-started/7.state-management.md @@ -8,6 +8,10 @@ Nuxt provides the [`useState`](/docs/api/composables/use-state) composable to cr [`useState`](/docs/api/composables/use-state) is an SSR-friendly [`ref`](https://vuejs.org/api/reactivity-core.html#ref) replacement. Its value will be preserved after server-side rendering (during client-side hydration) and shared across all components using a unique key. +::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=mv0WcBABcIk" target="_blank"} +Watch a video from Alexander Lichter about why and when to use `useState()`. +:: + ::important Because the data inside [`useState`](/docs/api/composables/use-state) will be serialized to JSON, it is important that it does not contain anything that cannot be serialized, such as classes, functions or symbols. :: @@ -208,6 +212,10 @@ const color = useColor() // Same as useState('color') ``` +::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=dZSNW07sO-A" target="_blank"} +Watch a video from Daniel Roe on how to deal with global state and SSR in Nuxt. +:: + ## Using third-party libraries Nuxt **used to rely** on the Vuex library to provide global state management. If you are migrating from Nuxt 2, please head to [the migration guide](/docs/migration/configuration#vuex). diff --git a/docs/1.getting-started/8.server.md b/docs/1.getting-started/8.server.md index 49e0f2146..2a67cc394 100644 --- a/docs/1.getting-started/8.server.md +++ b/docs/1.getting-started/8.server.md @@ -20,6 +20,10 @@ Using Nitro gives Nuxt superpowers: Nitro is internally using [h3](https://github.com/unjs/h3), a minimal H(TTP) framework built for high performance and portability. +::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=DkvgJa-X31k" target="_blank"} +Watch a video from Alexander Lichter to understand the responsibilities of Nuxt and Nitro in your application. +:: + ## Server Endpoints & Middleware You can easily manage the server-only part of your Nuxt app, from API endpoints to middleware. diff --git a/docs/1.getting-started/9.layers.md b/docs/1.getting-started/9.layers.md index 0c2550794..7e05dadaf 100644 --- a/docs/1.getting-started/9.layers.md +++ b/docs/1.getting-started/9.layers.md @@ -51,7 +51,7 @@ Read more about layers in the **Layer Author Guide**. Watch a video from Learn Vue about Nuxt Layers. :: -::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=fr5yo3aVkfA&t=271s" target="_blank"} +::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=fr5yo3aVkfA" target="_blank"} Watch a video from Alexander Lichter about Nuxt Layers. :: diff --git a/docs/2.guide/1.concepts/1.auto-imports.md b/docs/2.guide/1.concepts/1.auto-imports.md index 0fd8a3b63..a7e24cd84 100644 --- a/docs/2.guide/1.concepts/1.auto-imports.md +++ b/docs/2.guide/1.concepts/1.auto-imports.md @@ -60,6 +60,10 @@ That means that (with very few exceptions) you cannot use them outside a Nuxt pl If you get an error message like `Nuxt instance is unavailable` then it probably means you are calling a Nuxt composable in the wrong place in the Vue or Nuxt lifecycle. +::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=ofuKRZLtOdY" target="_blank"} +Watch a video from Alexander Lichter about handling async code in composables and fixing `Nuxt instance is unavailable` in your app. +:: + ::read-more{to="/docs/guide/going-further/experimental-features#asynccontext" icon="i-ph-star-duotone"} Checkout the `asyncContext` experimental feature to use Nuxt composables in async functions. :: @@ -168,3 +172,7 @@ export default defineNuxtConfig({ } }) ``` + +::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=FT2LQJ2NvVI" target="_blank"} +Watch a video from Alexander Lichter on how to easily set up custom auto imports. +:: diff --git a/docs/2.guide/1.concepts/8.typescript.md b/docs/2.guide/1.concepts/8.typescript.md index 3c57bd746..4e07f3563 100644 --- a/docs/2.guide/1.concepts/8.typescript.md +++ b/docs/2.guide/1.concepts/8.typescript.md @@ -65,6 +65,10 @@ This file contains the recommended basic TypeScript configuration for your proje [Read more about how to extend this configuration](/docs/guide/directory-structure/tsconfig). +::tip{icon="i-ph-video-duotone" to="https://youtu.be/umLI7SlPygY" target="_blank"} +Watch a video from Daniel Roe explaining built-in Nuxt aliases. +:: + ::note Nitro also [auto-generates types](/docs/guide/concepts/server-engine#typed-api-routes) for API routes. Plus, Nuxt also generates types for globally available components and [auto-imports from your composables](/docs/guide/directory-structure/composables), plus other core functionality. :: diff --git a/docs/2.guide/2.directory-structure/1.plugins.md b/docs/2.guide/2.directory-structure/1.plugins.md index 3753847b5..b525b1f4c 100644 --- a/docs/2.guide/2.directory-structure/1.plugins.md +++ b/docs/2.guide/2.directory-structure/1.plugins.md @@ -76,6 +76,10 @@ export default defineNuxtPlugin({ }) ``` +::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=2aXZyXB1QGQ" target="_blank"} +Watch a video from Alexander Lichter about the Object Syntax for Nuxt plugins. +:: + ::note If you are using the object-syntax, the properties may be statically analyzed in future to produce a more optimized build. So you should not define them at runtime. :br For example, setting `enforce: import.meta.server ? 'pre' : 'post'` would defeat any future optimization Nuxt is able to do for your plugins. diff --git a/docs/2.guide/3.going-further/1.experimental-features.md b/docs/2.guide/3.going-further/1.experimental-features.md index fd6ad8d44..1a45323bd 100644 --- a/docs/2.guide/3.going-further/1.experimental-features.md +++ b/docs/2.guide/3.going-further/1.experimental-features.md @@ -306,6 +306,10 @@ Out of the box, this will enable typed usage of [`navigateTo`](/docs/api/utils/n You can even get typed params within a page by using `const route = useRoute('route-name')`. +::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=SXk-L19gTZk" target="_blank"} +Watch a video from Daniel Roe explaining type-safe routing in Nuxt. +:: + ## watcher Set an alternative watcher that will be used as the watching service for Nuxt. @@ -340,6 +344,10 @@ export default defineNuxtConfig({ }) ``` +::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=1jUupYHVvrU" target="_blank"} +Watch a video from Alexander Lichter about the experimental `sharedPrerenderData` setting. +:: + It is particularly important when enabling this feature to make sure that any unique key of your data is always resolvable to the same data. For example, if you are using `useAsyncData` to fetch data related to a particular page, you should provide a key that uniquely matches that data. (`useFetch` diff --git a/docs/2.guide/3.going-further/10.runtime-config.md b/docs/2.guide/3.going-further/10.runtime-config.md index e84823704..9a1832ad5 100644 --- a/docs/2.guide/3.going-further/10.runtime-config.md +++ b/docs/2.guide/3.going-further/10.runtime-config.md @@ -61,6 +61,10 @@ Setting the default of `runtimeConfig` values to *differently named environment It is advised to use environment variables that match the structure of your `runtimeConfig` object. :: +::tip{icon="i-ph-video-duotone" to="https://youtu.be/_FYV5WfiWvs" target="_blank"} +Watch a video from Alexander Lichter showcasing the top mistake developers make using runtimeConfig. +:: + #### Example ```sh [.env] diff --git a/docs/3.api/2.composables/use-fetch.md b/docs/3.api/2.composables/use-fetch.md index e0149ce11..82a55be72 100644 --- a/docs/3.api/2.composables/use-fetch.md +++ b/docs/3.api/2.composables/use-fetch.md @@ -66,6 +66,10 @@ const { data, pending, error, refresh } = await useFetch('/api/auth/login', { `useFetch` is a reserved function name transformed by the compiler, so you should not name your own function `useFetch`. :: +::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=njsGVmcWviY" target="_blank"} +Watch the video from Alexander Lichter to avoid using `useFetch` the wrong way! +:: + :link-example{to="/docs/examples/advanced/use-custom-fetch-composable"} :read-more{to="/docs/getting-started/data-fetching"} diff --git a/docs/3.api/2.composables/use-nuxt-app.md b/docs/3.api/2.composables/use-nuxt-app.md index 87c7be741..860cb89c2 100644 --- a/docs/3.api/2.composables/use-nuxt-app.md +++ b/docs/3.api/2.composables/use-nuxt-app.md @@ -138,6 +138,10 @@ Nuxt exposes the following properties through `ssrContext`: Since [Nuxt v3.4](https://nuxt.com/blog/v3-4#payload-enhancements), it is possible to define your own reducer/reviver for types that are not supported by Nuxt. + ::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=8w6ffRBs8a4" target="_blank"} + Watch a video from Alexander Lichter about serializing payloads, especially with regards to classes. + :: + In the example below, we define a reducer (or a serializer) and a reviver (or deserializer) for the [Luxon](https://moment.github.io/luxon/#/) DateTime class, using a payload plugin. ```ts [plugins/date-time-payload.ts] diff --git a/docs/3.api/2.composables/use-state.md b/docs/3.api/2.composables/use-state.md index dccccae07..513bd407c 100644 --- a/docs/3.api/2.composables/use-state.md +++ b/docs/3.api/2.composables/use-state.md @@ -25,6 +25,10 @@ Because the data inside `useState` will be serialized to JSON, it is important t `useState` is a reserved function name transformed by the compiler, so you should not name your own function `useState`. :: +::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=mv0WcBABcIk" target="_blank"} +Watch a video from Alexander Lichter about why and when to use `useState()`. +:: + ## Using `shallowRef` If you don't need your state to be deeply reactive, you can combine `useState` with [`shallowRef`](https://vuejs.org/api/reactivity-advanced.html#shallowref). This can improve performance when your state contains large objects and arrays. From 5c34676159b4ffdc4cb0d3012890f7b0cbfdc44c Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Mon, 13 May 2024 18:45:21 +0100 Subject: [PATCH 051/127] feat(schema): remove some experimental options for v4 (#27132) --- docs/1.getting-started/12.upgrade.md | 71 ++++++++++++++++++- .../1.experimental-features.md | 10 +++ packages/schema/src/config/experimental.ts | 54 ++++++++++++-- test/basic.test.ts | 23 +++--- 4 files changed, 140 insertions(+), 18 deletions(-) diff --git a/docs/1.getting-started/12.upgrade.md b/docs/1.getting-started/12.upgrade.md index 07a8f5294..283fd68e5 100644 --- a/docs/1.getting-started/12.upgrade.md +++ b/docs/1.getting-started/12.upgrade.md @@ -35,7 +35,7 @@ First, opt in to the nightly release channel [following these steps](/docs/guide Then you can set your `compatibilityVersion` to match Nuxt 4 behavior: -```ts +```ts twoslash [nuxt.config.ts] export default defineNuxtConfig({ future: { compatibilityVersion: 4, @@ -46,6 +46,7 @@ export default defineNuxtConfig({ // app: 'app' // }, // experimental: { + // sharedPrerenderData: false, // compileTemplate: true, // templateUtils: true, // relativeWatchPaths: true, @@ -136,7 +137,7 @@ nuxt.config.ts However, migration is _not required_. If you wish to keep your current folder structure, Nuxt should auto-detect it. (If it does not, please raise an issue.) You can also force a v3 folder structure with the following configuration: -```ts +```ts [nuxt.config.ts] export default defineNuxtConfig({ // This reverts the new srcDir default from `app` back to your root directory srcDir: '.', @@ -147,6 +148,47 @@ export default defineNuxtConfig({ }) ``` +#### Shared Prerender Data + +🚦 **Impact Level**: Medium + +##### What Changed + +We enabled a previously experimental feature to share data from `useAsyncData` and `useFetch` calls, across different pages. See [original PR](https://github.com/nuxt/nuxt/pull/24894). + +##### Reasons for Change + +This feature automatically shares payload _data_ between pages that are prerendered. This can result in a significant performance improvement when prerendering sites that use `useAsyncData` or `useFetch` and fetch the same data in different pages. + +For example, if your site requires a `useFetch` call for every page (for example, to get navigation data for a menu, or site settings from a CMS), this data would only be fetched once when prerendering the first page that uses it, and then cached for use when prerendering other pages. + +##### Migration Steps + +Make sure that any unique key of your data is always resolvable to the same data. For example, if you are using `useAsyncData` to fetch data related to a particular page, you should provide a key that uniquely matches that data. (`useFetch` should do this automatically for you.) + +```ts [app/pages/test/[slug\\].vue] +// This would be unsafe in a dynamic page (e.g. `[slug].vue`) because the route slug makes a difference +// to the data fetched, but Nuxt can't know that because it's not reflected in the key. +const route = useRoute() +const { data } = await useAsyncData(async () => { + return await $fetch(`/api/my-page/${route.params.slug}`) +}) +// Instead, you should use a key that uniquely identifies the data fetched. +const { data } = await useAsyncData(route.params.slug, async () => { + return await $fetch(`/api/my-page/${route.params.slug}`) +}) +``` + +Alternatively, you can disable this feature with: + +```ts twoslash [nuxt.config.ts] +export default defineNuxtConfig({ + experimental: { + sharedPrerenderData: false + } +}) +``` + #### Shallow Data Reactivity in `useAsyncData` and `useFetch` 🚦 **Impact Level**: Minimal @@ -171,7 +213,7 @@ In most cases, no migration steps are required, but if you rely on the reactivit + const { data } = useFetch('/api/test', { deep: true }) ``` 1. You can change the default behavior on a project-wide basis (not recommended): - ```ts + ```ts twoslash [nuxt.config.ts] export default defineNuxtConfig({ experimental: { defaults: { @@ -270,6 +312,29 @@ const importSources = (sources: string | string[], { lazy = false } = {}) => { const importName = genSafeVariableName ``` +#### Removal of Experimental Features + +🚦 **Impact Level**: Minimal + +##### What Changed + +Four experimental features are no longer configurable in Nuxt 4: + +* `treeshakeClientOnly` will be `true` (default since v3.0) +* `configSchema` will be `true` (default since v3.3) +* `polyfillVueUseHead` will be `false` (default since v3.4) +* `respectNoSSRHeader` will be `false` (default since v3.4) + +##### Reasons for Change + +These options have been set to their current values for some time and we do not have a reason to believe that they need to remain configurable. + +##### Migration Steps + +* `polyfillVueUseHead` is implementable in user-land with [this plugin](https://github.com/nuxt/nuxt/blob/f209158352b09d1986aa320e29ff36353b91c358/packages/nuxt/src/head/runtime/plugins/vueuse-head-polyfill.ts#L10-L11) + +* `respectNoSSRHeader`is implementable in user-land with [server middleware](https://github.com/nuxt/nuxt/blob/c660b39447f0d5b8790c0826092638d321cd6821/packages/nuxt/src/core/runtime/nitro/no-ssr.ts#L8-L9) + ## Nuxt 2 vs Nuxt 3 In the table below, there is a quick comparison between 3 versions of Nuxt: diff --git a/docs/2.guide/3.going-further/1.experimental-features.md b/docs/2.guide/3.going-further/1.experimental-features.md index 1a45323bd..691a2187c 100644 --- a/docs/2.guide/3.going-further/1.experimental-features.md +++ b/docs/2.guide/3.going-further/1.experimental-features.md @@ -386,6 +386,16 @@ This option allows exposing some route metadata defined in `definePageMeta` at b This only works with static or strings/arrays rather than variables or conditional assignment. See [original issue](https://github.com/nuxt/nuxt/issues/24770) for more information and context. + + ## cookieStore Enables CookieStore support to listen for cookie updates (if supported by the browser) and refresh `useCookie` ref values. diff --git a/packages/schema/src/config/experimental.ts b/packages/schema/src/config/experimental.ts index b50629cba..92c3d7a70 100644 --- a/packages/schema/src/config/experimental.ts +++ b/packages/schema/src/config/experimental.ts @@ -136,8 +136,18 @@ export default defineUntypedSchema({ /** * Tree shakes contents of client-only components from server bundle. * @see [Nuxt PR #5750](https://github.com/nuxt/framework/pull/5750) + * @deprecated This option will no longer be configurable in Nuxt v4 */ - treeshakeClientOnly: true, + treeshakeClientOnly: { + async $resolve (val, get) { + const isV4 = ((await get('future') as Record).compatibilityVersion === 4) + if (isV4 && val === false) { + console.warn('Enabling `experimental.treeshakeClientOnly` in v4 compatibility mode as it will no longer be configurable in Nuxt v4.') + return true + } + return val ?? true + }, + }, /** * Emit `app:chunkError` hook when there is an error loading vite/webpack @@ -246,19 +256,51 @@ export default defineUntypedSchema({ /** * Config schema support * @see [Nuxt Issue #15592](https://github.com/nuxt/nuxt/issues/15592) + * @deprecated This option will no longer be configurable in Nuxt v4 */ - configSchema: true, + configSchema: { + async $resolve (val, get) { + const isV4 = ((await get('future') as Record).compatibilityVersion === 4) + if (isV4 && val === false) { + console.warn('Enabling `experimental.configSchema` in v4 compatibility mode as it will no longer be configurable in Nuxt v4.') + return true + } + return val ?? true + }, + }, /** * Whether or not to add a compatibility layer for modules, plugins or user code relying on the old * `@vueuse/head` API. * - * This can be disabled for most Nuxt sites to reduce the client-side bundle by ~0.5kb. + * This is disabled to reduce the client-side bundle by ~0.5kb. + * @deprecated This feature will be removed in Nuxt v4. */ - polyfillVueUseHead: false, + polyfillVueUseHead: { + async $resolve (val, get) { + const isV4 = ((await get('future') as Record).compatibilityVersion === 4) + if (isV4 && val === true) { + console.warn('Disabling `experimental.polyfillVueUseHead` in v4 compatibility mode as it will no longer be configurable in Nuxt v4.') + return false + } + return val ?? false + }, + }, - /** Allow disabling Nuxt SSR responses by setting the `x-nuxt-no-ssr` header. */ - respectNoSSRHeader: false, + /** + * Allow disabling Nuxt SSR responses by setting the `x-nuxt-no-ssr` header. + * @deprecated This feature will be removed in Nuxt v4. + */ + respectNoSSRHeader: { + async $resolve (val, get) { + const isV4 = ((await get('future') as Record).compatibilityVersion === 4) + if (isV4 && val === true) { + console.warn('Disabling `experimental.respectNoSSRHeader` in v4 compatibility mode as it will no longer be configurable in Nuxt v4.') + return false + } + return val ?? false + }, + }, /** Resolve `~`, `~~`, `@` and `@@` aliases located within layers with respect to their layer source and root directories. */ localLayerAliases: true, diff --git a/test/basic.test.ts b/test/basic.test.ts index aa64efe29..c2a1e887a 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -13,6 +13,7 @@ import type { NuxtIslandResponse } from '#app' const isWebpack = process.env.TEST_BUILDER === 'webpack' const isTestingAppManifest = process.env.TEST_MANIFEST !== 'manifest-off' +const isV4 = process.env.TEST_V4 === 'true' await setup({ rootDir: fileURLToPath(new URL('./fixtures/basic', import.meta.url)), @@ -57,7 +58,14 @@ describe('server api', () => { describe('route rules', () => { it('should enable spa mode', async () => { - const { script, attrs } = parseData(await $fetch('/route-rules/spa')) + const headHtml = await $fetch('/route-rules/spa') + + // SPA should render appHead tags + expect(headHtml).toContain('') + expect(headHtml).toContain('') + expect(headHtml).toContain('') + + const { script, attrs } = parseData(headHtml) expect(script.serverRendered).toEqual(false) if (isRenderingJson) { expect(attrs['data-ssr']).toEqual('false') @@ -876,7 +884,7 @@ describe('head tags', () => { expect(headHtml).toContain('') }) - it('SPA should render appHead tags', async () => { + it.skipIf(isV4)('SPA should render appHead tags', async () => { const headHtml = await $fetch('/head', { headers: { 'x-nuxt-no-ssr': '1' } }) expect(headHtml).toContain('') @@ -884,7 +892,7 @@ describe('head tags', () => { expect(headHtml).toContain('') }) - it('legacy vueuse/head works', async () => { + it.skipIf(isV4)('legacy vueuse/head works', async () => { const headHtml = await $fetch('/vueuse-head') expect(headHtml).toContain('using provides usehead and updateDOM - VueUse head polyfill test') }) @@ -2187,7 +2195,6 @@ describe('component islands', () => { result.html = result.html.replace(/ data-island-uid="([^"]*)"/g, '') if (isDev()) { - result.head.link = result.head.link.filter(l => !l.href.includes('@nuxt+ui-templates')) const fixtureDir = normalize(fileURLToPath(new URL('./fixtures/basic', import.meta.url))) for (const link of result.head.link) { link.href = link.href.replace(fixtureDir, '/').replaceAll('//', '/') @@ -2210,14 +2217,12 @@ describe('component islands', () => { } `) } else if (isDev() && !isWebpack) { + // TODO: resolve dev bug triggered by earlier fetch of /vueuse-head page + // https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/core/runtime/nitro/renderer.ts#L139 + result.head.link = result.head.link.filter(h => !h.href.includes('SharedComponent')) expect(result.head).toMatchInlineSnapshot(` { "link": [ - { - "href": "/_nuxt/components/SharedComponent.vue?vue&type=style&index=0&scoped=3ee84738&lang.css", - "key": "island-link", - "rel": "stylesheet", - }, { "href": "/_nuxt/components/islands/PureComponent.vue?vue&type=style&index=0&scoped=c0c0cf89&lang.css", "key": "island-link", From 41874cb35c804858e179a77f38c990e14258007c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 18:45:40 +0100 Subject: [PATCH 052/127] chore(deps): update devdependency execa to v9.1.0 (main) (#27192) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- packages/ui-templates/package.json | 2 +- pnpm-lock.yaml | 14 +++++++------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 95c932c7e..8ba517cb9 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "eslint-plugin-no-only-tests": "3.1.0", "eslint-plugin-perfectionist": "2.10.0", "eslint-typegen": "0.2.4", - "execa": "9.0.2", + "execa": "9.1.0", "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", diff --git a/packages/ui-templates/package.json b/packages/ui-templates/package.json index 3be1cd8c1..cb7efc63c 100644 --- a/packages/ui-templates/package.json +++ b/packages/ui-templates/package.json @@ -22,7 +22,7 @@ "@types/html-minifier": "4.0.5", "@unocss/reset": "0.60.2", "critters": "0.0.22", - "execa": "9.0.2", + "execa": "9.1.0", "globby": "14.0.1", "html-minifier": "4.0.0", "jiti": "1.21.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9f1026d91..45fa3dd7f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -81,8 +81,8 @@ importers: specifier: 0.2.4 version: 0.2.4(eslint@9.2.0) execa: - specifier: 9.0.2 - version: 9.0.2 + specifier: 9.1.0 + version: 9.1.0 fs-extra: specifier: 11.2.0 version: 11.2.0 @@ -573,8 +573,8 @@ importers: specifier: 0.0.22 version: 0.0.22 execa: - specifier: 9.0.2 - version: 9.0.2 + specifier: 9.1.0 + version: 9.1.0 globby: specifier: 14.0.1 version: 14.0.1 @@ -4062,8 +4062,8 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} - execa@9.0.2: - resolution: {integrity: sha512-oO281GF7ksH/Ogv1xyDf1prvFta/6/XkGKxRUvA3IB2MU1rCJGlFs86HRZhdooow1ISkR0Np0rOxUCIJVw36Rg==} + execa@9.1.0: + resolution: {integrity: sha512-lSgHc4Elo2m6bUDhc3Hl/VxvUDJdQWI40RZ4KMY9bKRc+hgMOT7II/JjbNDhI8VnMtrCb7U/fhpJIkLORZozWw==} engines: {node: '>=18'} exponential-backoff@3.1.1: @@ -10981,7 +10981,7 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 - execa@9.0.2: + execa@9.1.0: dependencies: '@sindresorhus/merge-streams': 4.0.0 cross-spawn: 7.0.3 From 89baee0493249719c3ae1552f83f4c3ceffacddb Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Mon, 13 May 2024 21:23:15 +0100 Subject: [PATCH 053/127] fix(nuxt): scan folder indices for middleware (#27187) --- docs/1.getting-started/12.upgrade.md | 28 ++++++++++++++++++++++++++++ packages/kit/src/plugin.ts | 7 ------- packages/nuxt/src/core/app.ts | 9 +++++++-- 3 files changed, 35 insertions(+), 9 deletions(-) diff --git a/docs/1.getting-started/12.upgrade.md b/docs/1.getting-started/12.upgrade.md index 283fd68e5..87105806b 100644 --- a/docs/1.getting-started/12.upgrade.md +++ b/docs/1.getting-started/12.upgrade.md @@ -252,6 +252,34 @@ However, if you are a module author using the `builder:watch` hook and wishing t }) ``` +#### Directory index scanning + +🚦 **Impact Level**: Medium + +##### What Changed + +Child folders in your `middleware/` folder are also scanned for `index` files and these are now also registered as middleware in your project. + +##### Reasons for Change + +Nuxt scans a number of folders automatically, including `middleware/` and `plugins/`. + +Child folders in your `plugins/` folder are scanned for `index` files and we wanted to make this behavior consistent between scanned directories. + +##### Migration Steps + +Probably no migration is necessary but if you wish to revert to previous behavior you can add a hook to filter out these middleware: + +```ts +export default defineNuxtConfig({ + hooks: { + 'app:resolve'(app) { + app.middleware = app.middleware.filter(mw => !/\/index\.[^/]+$/.test(mw.path)) + } + } +}) +``` + #### Template Compilation Changes 🚦 **Impact Level**: Minimal diff --git a/packages/kit/src/plugin.ts b/packages/kit/src/plugin.ts index 5421c3027..8905c1127 100644 --- a/packages/kit/src/plugin.ts +++ b/packages/kit/src/plugin.ts @@ -3,7 +3,6 @@ import type { NuxtPlugin, NuxtPluginTemplate } from '@nuxt/schema' import { useNuxt } from './context' import { addTemplate } from './template' import { resolveAlias } from './resolve' -import { logger } from './logger' /** * Normalize a nuxt plugin object @@ -20,12 +19,6 @@ export function normalizePlugin (plugin: NuxtPlugin | string): NuxtPlugin { throw new Error('Invalid plugin. src option is required: ' + JSON.stringify(plugin)) } - // TODO: only scan top-level files #18418 - const nonTopLevelPlugin = plugin.src.match(/\/plugins\/[^/]+\/index\.[^/]+$/i) - if (nonTopLevelPlugin && nonTopLevelPlugin.length > 0 && !useNuxt().options.plugins.find(i => (typeof i === 'string' ? i : i.src).endsWith(nonTopLevelPlugin[0]))) { - logger.warn(`[deprecation] You are using a plugin that is within a subfolder of your plugins directory without adding it to your config explicitly. You can move it to the top-level plugins directory, or include the file '~${nonTopLevelPlugin[0]}' in your plugins config (https://nuxt.com/docs/api/nuxt-config#plugins-1) to remove this warning.`) - } - // Normalize full path to plugin plugin.src = normalize(resolveAlias(plugin.src)) diff --git a/packages/nuxt/src/core/app.ts b/packages/nuxt/src/core/app.ts index 8f694f035..552015c40 100644 --- a/packages/nuxt/src/core/app.ts +++ b/packages/nuxt/src/core/app.ts @@ -179,7 +179,12 @@ export async function resolveApp (nuxt: Nuxt, app: NuxtApp) { app.middleware = [] for (const config of reversedConfigs) { const middlewareDir = (config.rootDir === nuxt.options.rootDir ? nuxt.options : config).dir?.middleware || 'middleware' - const middlewareFiles = await resolveFiles(config.srcDir, `${middlewareDir}/*{${nuxt.options.extensions.join(',')}}`) + const middlewareFiles = await resolveFiles(config.srcDir, [ + `${middlewareDir}/*{${nuxt.options.extensions.join(',')}}`, + ...nuxt.options.future.compatibilityVersion === 4 + ? [`${middlewareDir}/*/index{${nuxt.options.extensions.join(',')}}`] + : [], + ]) for (const file of middlewareFiles) { const name = getNameFromPath(file) if (!name) { @@ -200,7 +205,7 @@ export async function resolveApp (nuxt: Nuxt, app: NuxtApp) { ...config.srcDir ? await resolveFiles(config.srcDir, [ `${pluginDir}/*{${nuxt.options.extensions.join(',')}}`, - `${pluginDir}/*/index{${nuxt.options.extensions.join(',')}}`, // TODO: remove, only scan top-level plugins #18418 + `${pluginDir}/*/index{${nuxt.options.extensions.join(',')}}`, ]) : [], ].map(plugin => normalizePlugin(plugin as NuxtPlugin))) From 341fbe60f90a6079a391d573569ac9f32552051c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Bedn=C3=A1r?= <33372892+jakubednar@users.noreply.github.com> Date: Mon, 13 May 2024 22:59:33 +0200 Subject: [PATCH 054/127] docs: add module execution order (#27178) --- docs/2.guide/2.directory-structure/1.modules.md | 6 +++++- packages/schema/src/config/common.ts | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/2.guide/2.directory-structure/1.modules.md b/docs/2.guide/2.directory-structure/1.modules.md index 2664e5601..ce9de8f9f 100644 --- a/docs/2.guide/2.directory-structure/1.modules.md +++ b/docs/2.guide/2.directory-structure/1.modules.md @@ -46,7 +46,11 @@ export default defineEventHandler(() => { When starting Nuxt, the `hello` module will be registered and the `/api/hello` route will be available. -Local modules are registered in alphabetical order. You can change the order by adding a number to the front of each directory name: +Modules are executed in the following sequence: +- First, the modules defined in [`nuxt.config.ts`](/docs/api/nuxt-config#modules-1) are loaded. +- Then, modules found in the `modules/` directory are executed, and they load in alphabetical order. + +You can change the order of local module by adding a number to the front of each directory name: ```bash [Directory structure] modules/ diff --git a/packages/schema/src/config/common.ts b/packages/schema/src/config/common.ts index 42191feac..b42b9a5e5 100644 --- a/packages/schema/src/config/common.ts +++ b/packages/schema/src/config/common.ts @@ -236,7 +236,8 @@ export default defineUntypedSchema({ * * Nuxt tries to resolve each item in the modules array using node require path * (in `node_modules`) and then will be resolved from project `srcDir` if `~` alias is used. - * @note Modules are executed sequentially so the order is important. + * @note Modules are executed sequentially so the order is important. First, the modules defined in `nuxt.config.ts` are loaded. Then, modules found in the `modules/` + * directory are executed, and they load in alphabetical order. * @example * ```js * modules: [ From 3fbd301e44a60d2ede8602c9975f0982f29a73ab Mon Sep 17 00:00:00 2001 From: Ryota Watanabe <43837308+wattanx@users.noreply.github.com> Date: Wed, 15 May 2024 00:29:41 +0900 Subject: [PATCH 055/127] docs: mark bridge as stable (#27212) --- docs/1.getting-started/12.upgrade.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/1.getting-started/12.upgrade.md b/docs/1.getting-started/12.upgrade.md index 87105806b..e237f06eb 100644 --- a/docs/1.getting-started/12.upgrade.md +++ b/docs/1.getting-started/12.upgrade.md @@ -370,7 +370,7 @@ In the table below, there is a quick comparison between 3 versions of Nuxt: Feature / Version | Nuxt 2 | Nuxt Bridge | Nuxt 3 -------------------------|-----------------|------------------|--------- Vue | 2 | 2 | 3 -Stability | 😊 Stable | 😌 Semi-stable | 😊 Stable +Stability | 😊 Stable | 😊 Stable | 😊 Stable Performance | 🏎 Fast | ✈️ Faster | 🚀 Fastest Nitro Engine | ❌ | ✅ | ✅ ESM support | 🌙 Partial | 👍 Better | ✅ From b90936b4f13ec71c6f2cfc33f63b7bce83d83b5d Mon Sep 17 00:00:00 2001 From: Martins Zeltins <34019878+martinszeltins@users.noreply.github.com> Date: Tue, 14 May 2024 18:55:35 +0300 Subject: [PATCH 056/127] docs: explain how environment variables work in production (#27189) --- docs/2.guide/2.directory-structure/2.env.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/docs/2.guide/2.directory-structure/2.env.md b/docs/2.guide/2.directory-structure/2.env.md index 660a8138d..0a39c625a 100644 --- a/docs/2.guide/2.directory-structure/2.env.md +++ b/docs/2.guide/2.directory-structure/2.env.md @@ -33,11 +33,25 @@ npx nuxi dev --dotenv .env.local When updating `.env` in development mode, the Nuxt instance is automatically restarted to apply new values to the `process.env`. -## Production Preview +## Production **After your server is built**, you are responsible for setting environment variables when you run the server. -Your `.env` file will not be read at this point. How you do this is different for every environment. +Your `.env` files will not be read at this point. How you do this is different for every environment. + +This design decision was made to ensure compatibility across various deployment environments, some of which may not have a traditional file system available, such as serverless platforms or edge networks like Cloudflare Workers. + +Since `.env` files are not used in production, you must explicitly set environment variables using the tools and methods provided by your hosting environment. Here are some common approaches: + +* You can pass the environment variables as arguments using the terminal: + + `$ DATABASE_HOST=mydatabaseconnectionstring node .output/server/index.mjs` + +* You can set environment variables in shell configuration files like `.bashrc` or `.profile`. + +* Many cloud service providers, such as Vercel, Netlify, and AWS, provide interfaces for setting environment variables via their dashboards, CLI tools or configuration files. + +## Production Preview For local production preview purpose, we recommend using [`nuxi preview`](/docs/api/commands/preview) since using this command, the `.env` file will be loaded into `process.env` for convenience. Note that this command requires dependencies to be installed in the package directory. From 7189dafd263add882424df8360506421912f748c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 14 May 2024 11:43:40 -0500 Subject: [PATCH 057/127] chore(deps): update all non-major dependencies (main) (#27215) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- .github/workflows/release-pr.yml | 2 +- package.json | 4 +- pnpm-lock.yaml | 162 +++++++++++++++---------------- 4 files changed, 85 insertions(+), 85 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b2ebdcf60..f27fa3e1e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -248,7 +248,7 @@ jobs: TEST_PAYLOAD: ${{ matrix.payload }} SKIP_BUNDLE_SIZE: ${{ github.event_name != 'push' || matrix.env == 'dev' || matrix.builder == 'webpack' || matrix.context == 'default' || runner.os == 'Windows' }} - - uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1 + - uses: codecov/codecov-action@6d798873df2b1b8e5846dba6fb86631229fbcb17 # v4.4.0 if: github.event_name != 'push' && matrix.env == 'built' && matrix.builder == 'vite' && matrix.context == 'default' && matrix.os == 'ubuntu-latest' && matrix.manifest == 'manifest-on' with: token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/release-pr.yml b/.github/workflows/release-pr.yml index 6558f9b7f..6b1c713b4 100644 --- a/.github/workflows/release-pr.yml +++ b/.github/workflows/release-pr.yml @@ -22,7 +22,7 @@ jobs: steps: - name: Ensure action is by maintainer - uses: octokit/request-action@21d174fc38ff59af9cf4d7e07347d29df6dbaa99 # v2.3.0 + uses: octokit/request-action@872c5c97b3c85c23516a572f02b31401ef82415d # v2.3.1 id: check_role with: route: GET /repos/nuxt/nuxt/collaborators/${{ github.event.comment.user.login }} diff --git a/package.json b/package.json index 8ba517cb9..a3e094b22 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@testing-library/vue": "8.0.3", "@types/eslint__js": "8.42.3", "@types/fs-extra": "11.0.4", - "@types/node": "20.12.11", + "@types/node": "20.12.12", "@types/semver": "7.5.8", "@vitest/coverage-v8": "1.6.0", "@vue/test-utils": "2.4.6", @@ -69,7 +69,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "14.10.1", + "happy-dom": "14.10.2", "jiti": "1.21.0", "markdownlint-cli": "0.40.0", "nitropack": "2.9.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 45fa3dd7f..1ed01153f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,7 +31,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.1 - version: 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) + version: 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.2)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.10.2)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -45,14 +45,14 @@ importers: specifier: 11.0.4 version: 11.0.4 '@types/node': - specifier: 20.12.11 - version: 20.12.11 + specifier: 20.12.12 + version: 20.12.12 '@types/semver': specifier: 7.5.8 version: 7.5.8 '@vitest/coverage-v8': specifier: 1.6.0 - version: 1.6.0(vitest@1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0)) + version: 1.6.0(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.10.2)(sass@1.69.4)(terser@5.27.0)) '@vue/test-utils': specifier: 2.4.6 version: 2.4.6 @@ -93,8 +93,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 14.10.1 - version: 14.10.1 + specifier: 14.10.2 + version: 14.10.2 jiti: specifier: 1.21.0 version: 1.21.0 @@ -139,10 +139,10 @@ importers: version: 1.5.3 vitest: specifier: 1.6.0 - version: 1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) + version: 1.6.0(@types/node@20.12.12)(happy-dom@14.10.2)(sass@1.69.4)(terser@5.27.0) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) + version: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.2)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.10.2)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) vue: specifier: 3.4.27 version: 3.4.27(typescript@5.4.5) @@ -236,10 +236,10 @@ importers: version: 2.0.0(sass@1.69.4)(typescript@5.4.5) vite: specifier: 5.2.11 - version: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + version: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0) vitest: specifier: 1.6.0 - version: 1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) + version: 1.6.0(@types/node@20.12.12)(happy-dom@14.10.2)(sass@1.69.4)(terser@5.27.0) webpack: specifier: 5.91.0 version: 5.91.0 @@ -441,7 +441,7 @@ importers: version: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) vitest: specifier: 1.6.0 - version: 1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) + version: 1.6.0(@types/node@20.12.10)(happy-dom@14.10.2)(sass@1.69.4)(terser@5.27.0) packages/schema: dependencies: @@ -499,10 +499,10 @@ importers: version: 1.9.10 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 5.0.4(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vitejs/plugin-vue-jsx': specifier: 3.1.0 - version: 3.1.0(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 3.1.0(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/compiler-core': specifier: 3.4.27 version: 3.4.27 @@ -541,7 +541,7 @@ importers: version: 1.9.0 vite: specifier: 5.2.11 - version: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + version: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0) vue: specifier: 3.4.27 version: 3.4.27(typescript@5.4.5) @@ -598,10 +598,10 @@ importers: version: 1.3.0 unocss: specifier: 0.60.2 - version: 0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) + version: 0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)) vite: specifier: 5.2.11 - version: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + version: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0) packages/vite: dependencies: @@ -613,10 +613,10 @@ importers: version: 5.0.5(rollup@4.17.2) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 5.0.4(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 3.1.0(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.38) @@ -697,13 +697,13 @@ importers: version: 1.10.1 vite: specifier: 5.2.11 - version: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + version: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0) vite-node: specifier: ^1.6.0 - version: 1.6.0(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + version: 1.6.0(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@9.2.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.17(typescript@5.4.5)) + version: 0.6.4(eslint@9.2.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.17(typescript@5.4.5)) vue-bundle-renderer: specifier: ^2.1.0 version: 2.1.0 @@ -926,7 +926,7 @@ importers: version: 1.3.4 vitest: specifier: 1.5.3 - version: 1.5.3(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) + version: 1.5.3(@types/node@20.12.12)(happy-dom@14.10.2)(sass@1.69.4)(terser@5.27.0) vue: specifier: 3.4.27 version: 3.4.27(typescript@5.4.5) @@ -2446,8 +2446,8 @@ packages: '@types/node@20.12.10': resolution: {integrity: sha512-Eem5pH9pmWBHoGAT8Dr5fdc5rYA+4NAovdM4EktRPVAAiJhmWWfQrA0cFhAbOsQdSfIHjAud6YdkbL69+zSKjw==} - '@types/node@20.12.11': - resolution: {integrity: sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==} + '@types/node@20.12.12': + resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -4346,8 +4346,8 @@ packages: h3@1.11.1: resolution: {integrity: sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==} - happy-dom@14.10.1: - resolution: {integrity: sha512-GRbrZYIezi8+tTtffF4v2QcF8bk1h2loUTO5VYQz3GZdrL08Vk0fI+bwf/vFEBf4C/qVf/easLJ/MY1wwdhytA==} + happy-dom@14.10.2: + resolution: {integrity: sha512-n9A1h5X4OCJ1ACjjrLQJQ10F02dkGj9wpPdtam/LsxPHfcpsRp55Kfrruz/LVbDuM4QLwgZ56jr4OSVImWZkhQ==} engines: {node: '>=16.0.0'} has-bigints@1.0.2: @@ -8045,7 +8045,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.5 '@types/istanbul-reports': 3.0.3 - '@types/node': 20.12.11 + '@types/node': 20.12.12 '@types/yargs': 17.0.28 chalk: 4.1.2 @@ -8347,7 +8347,7 @@ snapshots: rc9: 2.1.2 std-env: 3.7.0 - '@nuxt/test-utils@3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))': + '@nuxt/test-utils@3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.2)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.10.2)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))': dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema @@ -8372,16 +8372,16 @@ snapshots: ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.1 - vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) + vite: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.2)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.10.2)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) vue: 3.4.27(typescript@5.4.5) vue-router: 4.3.2(vue@3.4.27(typescript@5.4.5)) optionalDependencies: '@testing-library/vue': 8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)) '@vue/test-utils': 2.4.6 - happy-dom: 14.10.1 + happy-dom: 14.10.2 playwright-core: 1.44.0 - vitest: 1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) + vitest: 1.6.0(@types/node@20.12.12)(happy-dom@14.10.2)(sass@1.69.4)(terser@5.27.0) '@nuxtjs/mdc@0.5.0': dependencies: @@ -8765,14 +8765,14 @@ snapshots: '@types/clean-css@4.2.11': dependencies: - '@types/node': 20.12.11 + '@types/node': 20.12.12 source-map: 0.6.1 '@types/clear@0.1.4': {} '@types/connect@3.4.37': dependencies: - '@types/node': 20.12.11 + '@types/node': 20.12.12 '@types/debug@4.1.12': dependencies: @@ -8817,7 +8817,7 @@ snapshots: '@types/http-proxy@1.17.14': dependencies: - '@types/node': 20.12.11 + '@types/node': 20.12.12 '@types/istanbul-lib-coverage@2.0.5': {} @@ -8833,7 +8833,7 @@ snapshots: '@types/jsonfile@6.1.2': dependencies: - '@types/node': 20.12.11 + '@types/node': 20.12.12 '@types/lodash-es@4.17.12': dependencies: @@ -8849,13 +8849,13 @@ snapshots: '@types/node-sass@4.11.6': dependencies: - '@types/node': 20.12.11 + '@types/node': 20.12.12 '@types/node@20.12.10': dependencies: undici-types: 5.26.5 - '@types/node@20.12.11': + '@types/node@20.12.12': dependencies: undici-types: 5.26.5 @@ -8916,7 +8916,7 @@ snapshots: '@types/webpack-sources@3.2.1': dependencies: - '@types/node': 20.12.11 + '@types/node': 20.12.12 '@types/source-list-map': 0.1.4 source-map: 0.7.4 @@ -8926,7 +8926,7 @@ snapshots: '@types/webpack@4.41.34': dependencies: - '@types/node': 20.12.11 + '@types/node': 20.12.12 '@types/tapable': 1.0.10 '@types/uglify-js': 3.17.3 '@types/webpack-sources': 3.2.1 @@ -9111,13 +9111,13 @@ snapshots: transitivePeerDependencies: - rollup - '@unocss/astro@0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))': + '@unocss/astro@0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))': dependencies: '@unocss/core': 0.60.2 '@unocss/reset': 0.60.2 - '@unocss/vite': 0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) + '@unocss/vite': 0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: - vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - rollup @@ -9264,7 +9264,7 @@ snapshots: transitivePeerDependencies: - rollup - '@unocss/vite@0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))': + '@unocss/vite@0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.17.2) @@ -9276,7 +9276,7 @@ snapshots: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.10 - vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - rollup @@ -9298,12 +9298,12 @@ snapshots: - encoding - supports-color - '@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: '@babel/core': 7.24.5 '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.5) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.5) - vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0) vue: 3.4.27(typescript@5.4.5) transitivePeerDependencies: - supports-color @@ -9313,12 +9313,12 @@ snapshots: vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) vue: 3.4.27(typescript@5.4.5) - '@vitejs/plugin-vue@5.0.4(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@vitejs/plugin-vue@5.0.4(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: - vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0) vue: 3.4.27(typescript@5.4.5) - '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))': + '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.10.2)(sass@1.69.4)(terser@5.27.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -9333,7 +9333,7 @@ snapshots: std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 - vitest: 1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0) + vitest: 1.6.0(@types/node@20.12.12)(happy-dom@14.10.2)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - supports-color @@ -11324,7 +11324,7 @@ snapshots: transitivePeerDependencies: - uWebSockets.js - happy-dom@14.10.1: + happy-dom@14.10.2: dependencies: entities: 4.5.0 webidl-conversions: 7.0.0 @@ -11761,7 +11761,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.12.11 + '@types/node': 20.12.12 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -11769,13 +11769,13 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.12.11 + '@types/node': 20.12.12 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.12.11 + '@types/node': 20.12.12 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -14276,9 +14276,9 @@ snapshots: - rollup - supports-color - unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)): + unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)): dependencies: - '@unocss/astro': 0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) + '@unocss/astro': 0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)) '@unocss/cli': 0.60.2(rollup@4.17.2) '@unocss/core': 0.60.2 '@unocss/extractor-arbitrary-variants': 0.60.2 @@ -14297,9 +14297,9 @@ snapshots: '@unocss/transformer-compile-class': 0.60.2 '@unocss/transformer-directives': 0.60.2 '@unocss/transformer-variant-group': 0.60.2 - '@unocss/vite': 0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0)) + '@unocss/vite': 0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: - vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - postcss - rollup @@ -14435,13 +14435,13 @@ snapshots: dependencies: vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0) - vite-node@1.5.3(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0): + vite-node@1.5.3(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0): dependencies: cac: 6.7.14 debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - '@types/node' - less @@ -14469,13 +14469,13 @@ snapshots: - supports-color - terser - vite-node@1.6.0(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0): + vite-node@1.6.0(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0): dependencies: cac: 6.7.14 debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - '@types/node' - less @@ -14486,7 +14486,7 @@ snapshots: - supports-color - terser - vite-plugin-checker@0.6.4(eslint@9.2.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.17(typescript@5.4.5)): + vite-plugin-checker@0.6.4(eslint@9.2.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.17(typescript@5.4.5)): dependencies: '@babel/code-frame': 7.24.2 ansi-escapes: 4.3.2 @@ -14499,7 +14499,7 @@ snapshots: semver: 7.6.2 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 - vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -14554,20 +14554,20 @@ snapshots: sass: 1.69.4 terser: 5.27.0 - vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0): + vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0): dependencies: esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.17.2 optionalDependencies: - '@types/node': 20.12.11 + '@types/node': 20.12.12 fsevents: 2.3.3 sass: 1.69.4 terser: 5.27.0 - vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)): + vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.2)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.10.2)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)): dependencies: - '@nuxt/test-utils': 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.1)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) + '@nuxt/test-utils': 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.10.2)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.10.2)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -14584,7 +14584,7 @@ snapshots: - vue - vue-router - vitest@1.5.3(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0): + vitest@1.5.3(@types/node@20.12.12)(happy-dom@14.10.2)(sass@1.69.4)(terser@5.27.0): dependencies: '@vitest/expect': 1.5.3 '@vitest/runner': 1.5.3 @@ -14603,12 +14603,12 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.5.1 tinypool: 0.8.4 - vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) - vite-node: 1.5.3(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0) + vite-node: 1.5.3(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0) why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.12.11 - happy-dom: 14.10.1 + '@types/node': 20.12.12 + happy-dom: 14.10.2 transitivePeerDependencies: - less - lightningcss @@ -14618,7 +14618,7 @@ snapshots: - supports-color - terser - vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0): + vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.10.2)(sass@1.69.4)(terser@5.27.0): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -14642,7 +14642,7 @@ snapshots: why-is-node-running: 2.2.2 optionalDependencies: '@types/node': 20.12.10 - happy-dom: 14.10.1 + happy-dom: 14.10.2 transitivePeerDependencies: - less - lightningcss @@ -14652,7 +14652,7 @@ snapshots: - supports-color - terser - vitest@1.6.0(@types/node@20.12.11)(happy-dom@14.10.1)(sass@1.69.4)(terser@5.27.0): + vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.10.2)(sass@1.69.4)(terser@5.27.0): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -14671,12 +14671,12 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.5.1 tinypool: 0.8.4 - vite: 5.2.11(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) - vite-node: 1.6.0(@types/node@20.12.11)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0) + vite-node: 1.6.0(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0) why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.12.11 - happy-dom: 14.10.1 + '@types/node': 20.12.12 + happy-dom: 14.10.2 transitivePeerDependencies: - less - lightningcss From b96b62ecd2daf412ddc9b02cdc15f82a34a231ab Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Tue, 14 May 2024 19:54:37 +0200 Subject: [PATCH 058/127] refactor: improve regexp performance (#27207) --- eslint.config.mjs | 4 ++ package.json | 1 + packages/kit/src/compatibility.ts | 2 +- packages/kit/src/internal/template.ts | 2 +- packages/kit/src/runtime-config.ts | 2 +- packages/kit/src/template.ts | 4 +- .../src/components/client-fallback-auto-id.ts | 4 +- .../nuxt/src/components/islandsTransform.ts | 2 +- packages/nuxt/src/components/loader.ts | 2 +- packages/nuxt/src/components/module.ts | 2 +- packages/nuxt/src/components/scan.ts | 4 +- packages/nuxt/src/components/templates.ts | 4 +- packages/nuxt/src/components/tree-shake.ts | 2 +- packages/nuxt/src/core/builder.ts | 2 +- packages/nuxt/src/core/nitro.ts | 2 +- packages/nuxt/src/core/nuxt.ts | 2 +- .../src/core/plugins/import-protection.ts | 2 +- .../src/core/runtime/nitro/dev-server-logs.ts | 4 +- .../nuxt/src/core/runtime/nitro/renderer.ts | 2 +- packages/nuxt/src/core/templates.ts | 2 +- packages/nuxt/src/core/utils/plugins.ts | 2 +- .../pages/runtime/plugins/prerender.server.ts | 2 +- packages/nuxt/src/pages/utils.ts | 8 ++-- packages/nuxt/test/treeshake-client.test.ts | 2 +- packages/ui-templates/lib/dev.ts | 2 +- packages/ui-templates/lib/render.ts | 22 ++++----- packages/vite/src/plugins/composable-keys.ts | 6 +-- packages/vite/src/plugins/ssr-styles.ts | 2 +- packages/vite/src/utils/index.ts | 2 +- packages/webpack/src/configs/server.ts | 2 +- packages/webpack/src/plugins/vue/util.ts | 2 +- packages/webpack/src/utils/config.ts | 2 +- pnpm-lock.yaml | 47 +++++++++++++++++++ scripts/update-changelog.ts | 2 +- test/basic.test.ts | 18 +++---- test/utils.ts | 2 +- 36 files changed, 113 insertions(+), 61 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index c4e282b67..8f4fc6a46 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -5,6 +5,7 @@ import noOnlyTests from 'eslint-plugin-no-only-tests' import typegen from 'eslint-typegen' // @ts-expect-error missing types import perfectionist from 'eslint-plugin-perfectionist' +import regex from 'eslint-plugin-regexp' export default createConfigForNuxt({ features: { @@ -216,6 +217,9 @@ export default createConfigForNuxt({ 'vue/multi-word-component-names': 'off', }, }, + + // @ts-ignore types misaligned + regex.configs['flat/recommended'], ) // Generate type definitions for the eslint config diff --git a/package.json b/package.json index a3e094b22..0620a07d0 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "eslint": "9.2.0", "eslint-plugin-no-only-tests": "3.1.0", "eslint-plugin-perfectionist": "2.10.0", + "eslint-plugin-regexp": "^2.5.0", "eslint-typegen": "0.2.4", "execa": "9.1.0", "fs-extra": "11.2.0", diff --git a/packages/kit/src/compatibility.ts b/packages/kit/src/compatibility.ts index a03813dd4..b2720f05c 100644 --- a/packages/kit/src/compatibility.ts +++ b/packages/kit/src/compatibility.ts @@ -4,7 +4,7 @@ import type { Nuxt, NuxtCompatibility, NuxtCompatibilityIssues } from '@nuxt/sch import { useNuxt } from './context' export function normalizeSemanticVersion (version: string) { - return version.replace(/-[0-9]+\.[0-9a-f]+/, '') // Remove edge prefix + return version.replace(/-\d+\.[0-9a-f]+/, '') // Remove edge prefix } const builderMap = { diff --git a/packages/kit/src/internal/template.ts b/packages/kit/src/internal/template.ts index 9349f704d..5b40a2a21 100644 --- a/packages/kit/src/internal/template.ts +++ b/packages/kit/src/internal/template.ts @@ -27,7 +27,7 @@ export async function compileTemplate (template: NuxtTemplate, ctx: any) { } /** @deprecated */ -const serialize = (data: any) => JSON.stringify(data, null, 2).replace(/"{(.+)}"(?=,?$)/gm, r => JSON.parse(r).replace(/^{(.*)}$/, '$1')) +const serialize = (data: any) => JSON.stringify(data, null, 2).replace(/"\{(.+)\}"(?=,?$)/gm, r => JSON.parse(r).replace(/^\{(.*)\}$/, '$1')) /** @deprecated */ const importSources = (sources: string | string[], { lazy = false } = {}) => { diff --git a/packages/kit/src/runtime-config.ts b/packages/kit/src/runtime-config.ts index a83358f11..f6e014fd3 100644 --- a/packages/kit/src/runtime-config.ts +++ b/packages/kit/src/runtime-config.ts @@ -94,7 +94,7 @@ function applyEnv ( return obj } -const envExpandRx = /{{(.*?)}}/g +const envExpandRx = /\{\{(.*?)\}\}/g function _expandFromEnv (value: string, env: Record = process.env) { return value.replace(envExpandRx, (match, key) => { diff --git a/packages/kit/src/template.ts b/packages/kit/src/template.ts index 9290e62fd..4aa9ec147 100644 --- a/packages/kit/src/template.ts +++ b/packages/kit/src/template.ts @@ -202,7 +202,7 @@ export async function _generateTypes (nuxt: Nuxt) { } else { const path = stats?.isFile() // remove extension - ? relativePath.replace(/(?<=\w)\.\w+$/g, '') + ? relativePath.replace(/\b\.\w+$/g, '') // non-existent file probably shouldn't be resolved : aliases[alias] @@ -230,7 +230,7 @@ export async function _generateTypes (nuxt: Nuxt) { tsConfig.compilerOptions!.paths[alias] = await Promise.all(paths.map(async (path: string) => { if (!isAbsolute(path)) { return path } const stats = await fsp.stat(path).catch(() => null /* file does not exist */) - return relativeWithDot(nuxt.options.buildDir, stats?.isFile() ? path.replace(/(?<=\w)\.\w+$/g, '') /* remove extension */ : path) + return relativeWithDot(nuxt.options.buildDir, stats?.isFile() ? path.replace(/\b\.\w+$/g, '') /* remove extension */ : path) })) } diff --git a/packages/nuxt/src/components/client-fallback-auto-id.ts b/packages/nuxt/src/components/client-fallback-auto-id.ts index 19b5a3998..7aa42f1d0 100644 --- a/packages/nuxt/src/components/client-fallback-auto-id.ts +++ b/packages/nuxt/src/components/client-fallback-auto-id.ts @@ -10,7 +10,7 @@ interface LoaderOptions { transform?: ComponentsOptions['transform'] rootDir: string } -const CLIENT_FALLBACK_RE = /<(NuxtClientFallback|nuxt-client-fallback)( [^>]*)?>/ +const CLIENT_FALLBACK_RE = /<(?:NuxtClientFallback|nuxt-client-fallback)(?: [^>]*)?>/ const CLIENT_FALLBACK_GLOBAL_RE = /<(NuxtClientFallback|nuxt-client-fallback)( [^>]*)?>/g export const clientFallbackAutoIdPlugin = createUnplugin((options: LoaderOptions) => { const exclude = options.transform?.exclude || [] @@ -37,7 +37,7 @@ export const clientFallbackAutoIdPlugin = createUnplugin((options: LoaderOptions s.replace(CLIENT_FALLBACK_GLOBAL_RE, (full, name, attrs) => { count++ - if (/ :?uid=/g.test(attrs)) { return full } + if (/ :?uid=/.test(attrs)) { return full } return `<${name} :uid="'${hash(relativeID)}' + JSON.stringify($props) + '${count}'" ${attrs ?? ''}>` }) diff --git a/packages/nuxt/src/components/islandsTransform.ts b/packages/nuxt/src/components/islandsTransform.ts index 6e018dc16..ac5a95493 100644 --- a/packages/nuxt/src/components/islandsTransform.ts +++ b/packages/nuxt/src/components/islandsTransform.ts @@ -25,7 +25,7 @@ interface ComponentChunkOptions { } const SCRIPT_RE = /]*>/g -const HAS_SLOT_OR_CLIENT_RE = /(]*>)|(nuxt-client)/ +const HAS_SLOT_OR_CLIENT_RE = /]*>|nuxt-client/ const TEMPLATE_RE = / ``` +### Passing Params to Dynamic Routes + +In this example, we pass the `id` param to link to the route `~/pages/posts/[id].vue`. + +```vue [pages/index.vue] + +``` + +::tip +Check out the Pages panel in Nuxt DevTools to see the route name and the params it might take. +:: + ### Handling 404s When using `` for `/public` directory files or when pointing to a different app on the same domain, you should use the `external` prop. From b4002f37d1ffc934796b34ce8862a39970aa153b Mon Sep 17 00:00:00 2001 From: Julien Huang Date: Tue, 21 May 2024 10:18:36 +0200 Subject: [PATCH 082/127] feat(nuxt): check schema/kit versions when loading nuxt (#27224) --- docs/2.guide/3.going-further/4.kit.md | 4 ++ packages/nuxt/package.json | 1 + packages/nuxt/src/core/nuxt.ts | 19 ++++++++ packages/nuxt/test/load-nuxt.test.ts | 64 ++++++++++++++++++++++++++- pnpm-lock.yaml | 3 ++ 5 files changed, 90 insertions(+), 1 deletion(-) diff --git a/docs/2.guide/3.going-further/4.kit.md b/docs/2.guide/3.going-further/4.kit.md index 061073751..226762b89 100644 --- a/docs/2.guide/3.going-further/4.kit.md +++ b/docs/2.guide/3.going-further/4.kit.md @@ -15,6 +15,10 @@ Discover all Nuxt Kit utilities. You can install the latest Nuxt Kit by adding it to the `dependencies` section of your `package.json`. However, please consider always explicitly installing the `@nuxt/kit` package even if it is already installed by Nuxt. +::note +`@nuxt/kit` and `@nuxt/schema` are key dependencies for Nuxt. If you are installing it separately, make sure that the versions of `@nuxt/kit` and `@nuxt/schema` are equal to or greater than your `nuxt` version to avoid any unexpected behavior. +:: + ```json [package.json] { "dependencies": { diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 6fffff3ad..ab4a078a5 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -99,6 +99,7 @@ "pkg-types": "^1.1.1", "radix3": "^1.1.2", "scule": "^1.3.0", + "semver": "^7.6.2", "std-env": "^3.7.0", "strip-literal": "^2.1.0", "ufo": "^1.5.3", diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index 390683579..e607ce443 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -13,6 +13,7 @@ import fse from 'fs-extra' import { withTrailingSlash, withoutLeadingSlash } from 'ufo' import defu from 'defu' +import { gte } from 'semver' import pagesModule from '../pages/module' import metaModule from '../head/module' import componentsModule from '../components/module' @@ -63,6 +64,11 @@ const nightlies = { '@nuxt/kit': '@nuxt/kit-nightly', } +const keyDependencies = [ + '@nuxt/kit', + '@nuxt/schema', +] + async function initNuxt (nuxt: Nuxt) { // Register user hooks for (const config of nuxt.options._layers.map(layer => layer.config).reverse()) { @@ -616,6 +622,8 @@ export async function loadNuxt (opts: LoadNuxtOptions): Promise { const nuxt = createNuxt(options) + await Promise.all(keyDependencies.map(dependency => checkDependencyVersion(dependency, nuxt._version))) + // We register hooks layer-by-layer so any overrides need to be registered separately if (opts.overrides?.hooks) { nuxt.hooks.addHooks(opts.overrides.hooks) @@ -632,4 +640,15 @@ export async function loadNuxt (opts: LoadNuxtOptions): Promise { return nuxt } +async function checkDependencyVersion (name: string, nuxtVersion: string): Promise { + const path = await resolvePath(name).catch(() => null) + + if (!path) { return } + const { version } = await readPackageJSON(path) + + if (version && gte(nuxtVersion, version)) { + console.warn(`[nuxt] Expected \`${name}\` to be at least \`${nuxtVersion}\` but got \`${version}\`. This might lead to unexpected behavior. Check your package.json or refresh your lockfile.`) + } +} + const RESTART_RE = /^(?:app|error|app\.config)\.(?:js|ts|mjs|jsx|tsx|vue)$/i diff --git a/packages/nuxt/test/load-nuxt.test.ts b/packages/nuxt/test/load-nuxt.test.ts index d6207329c..7efadc7e4 100644 --- a/packages/nuxt/test/load-nuxt.test.ts +++ b/packages/nuxt/test/load-nuxt.test.ts @@ -1,11 +1,32 @@ import { fileURLToPath } from 'node:url' -import { describe, expect, it } from 'vitest' +import { afterEach, describe, expect, it, vi } from 'vitest' import { normalize } from 'pathe' import { withoutTrailingSlash } from 'ufo' +import { readPackageJSON } from 'pkg-types' +import { inc } from 'semver' import { loadNuxt } from '../src' +import { version } from '../package.json' const repoRoot = withoutTrailingSlash(normalize(fileURLToPath(new URL('../../../', import.meta.url)))) +vi.stubGlobal('console', { + ...console, + error: vi.fn(console.error), + warn: vi.fn(console.warn), +}) + +vi.mock('pkg-types', async (og) => { + const originalPkgTypes = (await og()) + return { + ...originalPkgTypes, + readPackageJSON: vi.fn(originalPkgTypes.readPackageJSON), + } +}) + +afterEach(() => { + vi.clearAllMocks() +}) + describe('loadNuxt', () => { it('respects hook overrides', async () => { let hookRan = false @@ -24,3 +45,44 @@ describe('loadNuxt', () => { expect(hookRan).toBe(true) }) }) + +describe('dependency mismatch', () => { + it('expect mismatched dependency to log a warning', async () => { + vi.mocked(readPackageJSON).mockReturnValue(Promise.resolve({ + version: '3.0.0', + })) + + const nuxt = await loadNuxt({ + cwd: repoRoot, + }) + + expect(console.warn).toHaveBeenCalledWith(`[nuxt] Expected \`@nuxt/kit\` to be at least \`${version}\` but got \`3.0.0\`. This might lead to unexpected behavior. Check your package.json or refresh your lockfile.`) + expect(console.warn).toHaveBeenCalledWith(`[nuxt] Expected \`@nuxt/schema\` to be at least \`${version}\` but got \`3.0.0\`. This might lead to unexpected behavior. Check your package.json or refresh your lockfile.`) + + vi.mocked(readPackageJSON).mockRestore() + await nuxt.close() + }) + it.each([ + { + name: 'nuxt version is lower', + depVersion: inc(version, 'minor'), + }, + { + name: 'version matches', + depVersion: version, + }, + ])('expect no warning when $name.', async ({ depVersion }) => { + vi.mocked(readPackageJSON).mockReturnValue(Promise.resolve({ + depVersion, + })) + + const nuxt = await loadNuxt({ + cwd: repoRoot, + }) + + expect(console.warn).not.toHaveBeenCalled() + + await nuxt.close() + vi.mocked(readPackageJSON).mockRestore() + }) +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2fa988d46..2388ae56e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -369,6 +369,9 @@ importers: scule: specifier: ^1.3.0 version: 1.3.0 + semver: + specifier: ^7.6.2 + version: 7.6.2 std-env: specifier: ^3.7.0 version: 3.7.0 From c0b3d0329a3936f535966937c514ed7146194c08 Mon Sep 17 00:00:00 2001 From: yubo Date: Tue, 21 May 2024 16:27:32 +0800 Subject: [PATCH 083/127] docs: add additional example for setting `baseURL` and `cdnURL` (#27273) --- packages/schema/src/config/app.ts | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/packages/schema/src/config/app.ts b/packages/schema/src/config/app.ts index f9ad11e8c..3b0feb2cd 100644 --- a/packages/schema/src/config/app.ts +++ b/packages/schema/src/config/app.ts @@ -45,7 +45,17 @@ export default defineUntypedSchema({ /** * The base path of your Nuxt application. * - * This can be set at runtime by setting the NUXT_APP_BASE_URL environment variable. + * For example: + * @example + * ```ts + * export default defineNuxtConfig({ + * app: { + * baseURL: '/prefix/' + * } + * }) + * ``` + * + * This can also be set at runtime by setting the NUXT_APP_BASE_URL environment variable. * @example * ```bash * NUXT_APP_BASE_URL=/prefix/ node .output/server/index.mjs @@ -63,6 +73,16 @@ export default defineUntypedSchema({ /** * An absolute URL to serve the public folder from (production-only). * + * For example: + * @example + * ```ts + * export default defineNuxtConfig({ + * app: { + * cdnURL: 'https://mycdn.org/' + * } + * }) + * ``` + * * This can be set to a different value at runtime by setting the `NUXT_APP_CDN_URL` environment variable. * @example * ```bash From 2e25afdfb85d46ca523b60adad79612cdc93e5ce Mon Sep 17 00:00:00 2001 From: Nicolas Payot Date: Tue, 21 May 2024 15:42:19 +0200 Subject: [PATCH 084/127] feat(schema): add experimental `multiApp` flag (#27291) --- packages/schema/src/config/experimental.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/schema/src/config/experimental.ts b/packages/schema/src/config/experimental.ts index 92c3d7a70..ef3cde775 100644 --- a/packages/schema/src/config/experimental.ts +++ b/packages/schema/src/config/experimental.ts @@ -45,6 +45,11 @@ export default defineUntypedSchema({ * @type {3 | 4} */ compatibilityVersion: 3, + /** + * This enables early access to the experimental multi-app support. + * @see [Nuxt Issue #21635](https://github.com/nuxt/nuxt/issues/21635) + */ + multiApp: false, /** * This enables 'Bundler' module resolution mode for TypeScript, which is the recommended setting * for frameworks like Nuxt and Vite. From d35e9cd3f5249ceef595ea57934f06161b13c6f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Tue, 21 May 2024 15:58:33 +0200 Subject: [PATCH 085/127] docs: update readme for Nuxt 2 NES and support --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index c054f7cff..9570d902e 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,7 @@ It provides a number of features that make it easy to build fast, SEO-friendly, - ❤️ [Contribute](#contribute) - 🏠 [Local Development](#local-development) - ⛰️ [Nuxt 2](#nuxt-2) +- 🛟 [Professional Support](#professional-support) - 🔗 [Follow us](#follow-us) - ⚖️ [License](#license) @@ -104,6 +105,13 @@ Follow the docs to [Set Up Your Local Development Environment](https://nuxt.com/ You can find the code for Nuxt 2 on the [`2.x` branch](https://github.com/nuxt/nuxt/tree/2.x) and the documentation at [v2.nuxt.com](https://v2.nuxt.com). +If you expect to be using Nuxt 2 beyond the EOL (End of Life) date (June 30, 2024), and still need a maintained version that can satisfy security and browser compatibility requirements, make sure to check out [HeroDevs’ NES (Never-Ending Support) Nuxt 2](https://www.herodevs.com/support/nuxt-nes?utm_source=nuxt-github&utm_medium=nuxt-readme). + +## 🛟 Professional Support + +- Technical audit & consulting: [Nuxt Experts](https://nuxt.com/enterprise/support) +- Custom development & more: [Nuxt Agencies Partners](https://nuxt.com/enterprise/agencies) + ## 🔗 Follow us

From e5649613c7571a3343e70b7f7562ae392c71f0bf Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 21 May 2024 15:06:27 +0100 Subject: [PATCH 086/127] fix(nuxt): invert version check --- packages/nuxt/src/core/nuxt.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index e607ce443..f80bd1155 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -646,7 +646,7 @@ async function checkDependencyVersion (name: string, nuxtVersion: string): Promi if (!path) { return } const { version } = await readPackageJSON(path) - if (version && gte(nuxtVersion, version)) { + if (version && !gte(nuxtVersion, version)) { console.warn(`[nuxt] Expected \`${name}\` to be at least \`${nuxtVersion}\` but got \`${version}\`. This might lead to unexpected behavior. Check your package.json or refresh your lockfile.`) } } From a531e6f466371c5326a5f2d97434f682cef05d5f Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 21 May 2024 16:55:22 +0100 Subject: [PATCH 087/127] fix(nuxt): exempt equality check for kit/schema version --- packages/nuxt/src/core/nuxt.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index f80bd1155..e3aac3646 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -13,7 +13,7 @@ import fse from 'fs-extra' import { withTrailingSlash, withoutLeadingSlash } from 'ufo' import defu from 'defu' -import { gte } from 'semver' +import { gt } from 'semver' import pagesModule from '../pages/module' import metaModule from '../head/module' import componentsModule from '../components/module' @@ -646,7 +646,7 @@ async function checkDependencyVersion (name: string, nuxtVersion: string): Promi if (!path) { return } const { version } = await readPackageJSON(path) - if (version && !gte(nuxtVersion, version)) { + if (version && gt(nuxtVersion, version)) { console.warn(`[nuxt] Expected \`${name}\` to be at least \`${nuxtVersion}\` but got \`${version}\`. This might lead to unexpected behavior. Check your package.json or refresh your lockfile.`) } } From 8a759bc6fe402bb6fc8dc0ae25401992a16d5880 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 21 May 2024 23:58:38 +0100 Subject: [PATCH 088/127] fix(nuxt): use `undefined` rather than `null` for data fetching defaults (#27294) --- docs/1.getting-started/12.upgrade.md | 31 ++++++ packages/nuxt/index.d.ts | 6 ++ .../nuxt/src/app/composables/asyncData.ts | 54 ++++++----- packages/nuxt/src/app/composables/error.ts | 5 +- packages/nuxt/src/app/composables/fetch.ts | 21 ++-- packages/nuxt/src/app/defaults.js | 2 + packages/nuxt/src/app/nuxt.ts | 8 +- packages/nuxt/src/core/templates.ts | 13 ++- packages/schema/src/config/experimental.ts | 12 +++ test/basic.test.ts | 10 +- test/fixtures/basic-types/types.ts | 97 ++++++++++--------- .../immediate-remove-unmounted.vue | 8 +- test/nuxt/composables.test.ts | 25 ++--- 13 files changed, 188 insertions(+), 104 deletions(-) create mode 100644 packages/nuxt/src/app/defaults.js diff --git a/docs/1.getting-started/12.upgrade.md b/docs/1.getting-started/12.upgrade.md index e237f06eb..4e0301db9 100644 --- a/docs/1.getting-started/12.upgrade.md +++ b/docs/1.getting-started/12.upgrade.md @@ -189,6 +189,37 @@ export default defineNuxtConfig({ }) ``` +#### Default `data` and `error` values in `useAsyncData` and `useFetch` + +🚦 **Impact Level**: Minimal + +##### What Changed + +`data` and `error` objects returned from `useAsyncData` will now default to `undefined`. + +##### Reasons for Change + +Previously `data` was initialized to `null` but reset in `clearNuxtData` to `undefined`. `error` was initialized to `null`. This change is to bring greater consistency. + +##### Migration Steps + +If you encounter any issues you can revert back to the previous behavior with: + +```ts twoslash [nuxt.config.ts] +export default defineNuxtConfig({ + experimental: { + defaults: { + useAsyncData: { + value: 'null', + errorValue: 'null' + } + } + } +}) +``` + +Please report an issue if you are doing this, as we do not plan to keep this as configurable. + #### Shallow Data Reactivity in `useAsyncData` and `useFetch` 🚦 **Impact Level**: Minimal diff --git a/packages/nuxt/index.d.ts b/packages/nuxt/index.d.ts index 225634824..ba2935d80 100644 --- a/packages/nuxt/index.d.ts +++ b/packages/nuxt/index.d.ts @@ -19,4 +19,10 @@ declare global { } } +declare module '#app/defaults' { + type DefaultAsyncDataErrorValue = undefined + type DefaultAsyncDataValue = undefined + type DefaultErrorValue = undefined +} + export {} diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index 5e9f9bf08..262a1ee54 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -10,6 +10,9 @@ import { onNuxtReady } from './ready' // @ts-expect-error virtual file import { asyncDataDefaults } from '#build/nuxt.config.mjs' +// TODO: temporary module for backwards compatibility +import type { DefaultAsyncDataErrorValue, DefaultAsyncDataValue } from '#app/defaults' + export type AsyncDataRequestStatus = 'idle' | 'pending' | 'success' | 'error' export type _Transform = (input: Input) => Output | Promise @@ -42,7 +45,7 @@ export interface AsyncDataOptions< ResT, DataT = ResT, PickKeys extends KeysOf = KeysOf, - DefaultT = null, + DefaultT = DefaultAsyncDataValue, > { /** * Whether to fetch on the server side. @@ -117,7 +120,7 @@ export interface _AsyncData { refresh: (opts?: AsyncDataExecuteOptions) => Promise execute: (opts?: AsyncDataExecuteOptions) => Promise clear: () => void - error: Ref + error: Ref status: Ref } @@ -138,11 +141,11 @@ export function useAsyncData< NuxtErrorDataT = unknown, DataT = ResT, PickKeys extends KeysOf = KeysOf, - DefaultT = null, + DefaultT = DefaultAsyncDataValue, > ( handler: (ctx?: NuxtApp) => Promise, options?: AsyncDataOptions -): AsyncData | DefaultT, (NuxtErrorDataT extends Error | NuxtError ? NuxtErrorDataT : NuxtError) | null> +): AsyncData | DefaultT, (NuxtErrorDataT extends Error | NuxtError ? NuxtErrorDataT : NuxtError) | DefaultAsyncDataErrorValue> /** * Provides access to data that resolves asynchronously in an SSR-friendly composable. * See {@link https://nuxt.com/docs/api/composables/use-async-data} @@ -158,7 +161,7 @@ export function useAsyncData< > ( handler: (ctx?: NuxtApp) => Promise, options?: AsyncDataOptions -): AsyncData | DefaultT, (NuxtErrorDataT extends Error | NuxtError ? NuxtErrorDataT : NuxtError) | null> +): AsyncData | DefaultT, (NuxtErrorDataT extends Error | NuxtError ? NuxtErrorDataT : NuxtError) | DefaultAsyncDataErrorValue> /** * Provides access to data that resolves asynchronously in an SSR-friendly composable. * See {@link https://nuxt.com/docs/api/composables/use-async-data} @@ -171,12 +174,12 @@ export function useAsyncData< NuxtErrorDataT = unknown, DataT = ResT, PickKeys extends KeysOf = KeysOf, - DefaultT = null, + DefaultT = DefaultAsyncDataValue, > ( key: string, handler: (ctx?: NuxtApp) => Promise, options?: AsyncDataOptions -): AsyncData | DefaultT, (NuxtErrorDataT extends Error | NuxtError ? NuxtErrorDataT : NuxtError) | null> +): AsyncData | DefaultT, (NuxtErrorDataT extends Error | NuxtError ? NuxtErrorDataT : NuxtError) | DefaultAsyncDataErrorValue> /** * Provides access to data that resolves asynchronously in an SSR-friendly composable. * See {@link https://nuxt.com/docs/api/composables/use-async-data} @@ -194,14 +197,14 @@ export function useAsyncData< key: string, handler: (ctx?: NuxtApp) => Promise, options?: AsyncDataOptions -): AsyncData | DefaultT, (NuxtErrorDataT extends Error | NuxtError ? NuxtErrorDataT : NuxtError) | null> +): AsyncData | DefaultT, (NuxtErrorDataT extends Error | NuxtError ? NuxtErrorDataT : NuxtError) | DefaultAsyncDataErrorValue> export function useAsyncData< ResT, NuxtErrorDataT = unknown, DataT = ResT, PickKeys extends KeysOf = KeysOf, - DefaultT = null, -> (...args: any[]): AsyncData, (NuxtErrorDataT extends Error | NuxtError ? NuxtErrorDataT : NuxtError) | null> { + DefaultT = DefaultAsyncDataValue, +> (...args: any[]): AsyncData, (NuxtErrorDataT extends Error | NuxtError ? NuxtErrorDataT : NuxtError) | DefaultAsyncDataErrorValue> { const autoKey = typeof args[args.length - 1] === 'string' ? args.pop() : undefined if (typeof args[0] !== 'string') { args.unshift(autoKey) } @@ -233,7 +236,7 @@ export function useAsyncData< } // Used to get default values - const getDefault = () => null + const getDefault = () => asyncDataDefaults.value const getDefaultCachedData = () => nuxtApp.isHydrating ? nuxtApp.payload.data[key] : nuxtApp.static.data[key] // Apply defaults @@ -250,11 +253,12 @@ export function useAsyncData< console.warn('[nuxt] `boolean` values are deprecated for the `dedupe` option of `useAsyncData` and will be removed in the future. Use \'cancel\' or \'defer\' instead.') } + // TODO: make more precise when v4 lands const hasCachedData = () => options.getCachedData!(key, nuxtApp) != null // Create or use a shared asyncData entity if (!nuxtApp._asyncData[key] || !options.immediate) { - nuxtApp.payload._errors[key] ??= null + nuxtApp.payload._errors[key] ??= asyncDataDefaults.errorValue const _ref = options.deep ? ref : shallowRef @@ -307,7 +311,7 @@ export function useAsyncData< nuxtApp.payload.data[key] = result asyncData.data.value = result - asyncData.error.value = null + asyncData.error.value = asyncDataDefaults.errorValue asyncData.status.value = 'success' }) .catch((error: any) => { @@ -404,11 +408,11 @@ export function useLazyAsyncData< DataE = Error, DataT = ResT, PickKeys extends KeysOf = KeysOf, - DefaultT = null, + DefaultT = DefaultAsyncDataValue, > ( handler: (ctx?: NuxtApp) => Promise, options?: Omit, 'lazy'> -): AsyncData | DefaultT, DataE | null> +): AsyncData | DefaultT, DataE | DefaultAsyncDataValue> export function useLazyAsyncData< ResT, DataE = Error, @@ -418,18 +422,18 @@ export function useLazyAsyncData< > ( handler: (ctx?: NuxtApp) => Promise, options?: Omit, 'lazy'> -): AsyncData | DefaultT, DataE | null> +): AsyncData | DefaultT, DataE | DefaultAsyncDataValue> export function useLazyAsyncData< ResT, DataE = Error, DataT = ResT, PickKeys extends KeysOf = KeysOf, - DefaultT = null, + DefaultT = DefaultAsyncDataValue, > ( key: string, handler: (ctx?: NuxtApp) => Promise, options?: Omit, 'lazy'> -): AsyncData | DefaultT, DataE | null> +): AsyncData | DefaultT, DataE | DefaultAsyncDataValue> export function useLazyAsyncData< ResT, DataE = Error, @@ -440,15 +444,15 @@ export function useLazyAsyncData< key: string, handler: (ctx?: NuxtApp) => Promise, options?: Omit, 'lazy'> -): AsyncData | DefaultT, DataE | null> +): AsyncData | DefaultT, DataE | DefaultAsyncDataValue> export function useLazyAsyncData< ResT, DataE = Error, DataT = ResT, PickKeys extends KeysOf = KeysOf, - DefaultT = null, -> (...args: any[]): AsyncData | DefaultT, DataE | null> { + DefaultT = DefaultAsyncDataValue, +> (...args: any[]): AsyncData | DefaultT, DataE | DefaultAsyncDataValue> { const autoKey = typeof args[args.length - 1] === 'string' ? args.pop() : undefined if (typeof args[0] !== 'string') { args.unshift(autoKey) } const [key, handler, options = {}] = args as [string, (ctx?: NuxtApp) => Promise, AsyncDataOptions] @@ -463,12 +467,12 @@ export function useLazyAsyncData< } /** @since 3.1.0 */ -export function useNuxtData (key: string): { data: Ref } { +export function useNuxtData (key: string): { data: Ref } { const nuxtApp = useNuxtApp() // Initialize value when key is not already set if (!(key in nuxtApp.payload.data)) { - nuxtApp.payload.data[key] = null + nuxtApp.payload.data[key] = asyncDataDefaults.value } return { @@ -520,12 +524,12 @@ function clearNuxtDataByKey (nuxtApp: NuxtApp, key: string): void { } if (key in nuxtApp.payload._errors) { - nuxtApp.payload._errors[key] = null + nuxtApp.payload._errors[key] = asyncDataDefaults.errorValue } if (nuxtApp._asyncData[key]) { nuxtApp._asyncData[key]!.data.value = undefined - nuxtApp._asyncData[key]!.error.value = null + nuxtApp._asyncData[key]!.error.value = asyncDataDefaults.errorValue nuxtApp._asyncData[key]!.pending.value = false nuxtApp._asyncData[key]!.status.value = 'idle' } diff --git a/packages/nuxt/src/app/composables/error.ts b/packages/nuxt/src/app/composables/error.ts index 2a76c389a..69b56e1c2 100644 --- a/packages/nuxt/src/app/composables/error.ts +++ b/packages/nuxt/src/app/composables/error.ts @@ -4,6 +4,9 @@ import { toRef } from 'vue' import { useNuxtApp } from '../nuxt' import { useRouter } from './router' +// @ts-expect-error virtual file +import { nuxtDefaultErrorValue } from '#build/nuxt.config.mjs' + export const NUXT_ERROR_SIGNATURE = '__nuxt_error' /** @since 3.0.0 */ @@ -47,7 +50,7 @@ export const clearError = async (options: { redirect?: string } = {}) => { await useRouter().replace(options.redirect) } - error.value = null + error.value = nuxtDefaultErrorValue } /** @since 3.0.0 */ diff --git a/packages/nuxt/src/app/composables/fetch.ts b/packages/nuxt/src/app/composables/fetch.ts index d7b50ab71..e06ec2330 100644 --- a/packages/nuxt/src/app/composables/fetch.ts +++ b/packages/nuxt/src/app/composables/fetch.ts @@ -8,6 +8,9 @@ import { useRequestFetch } from './ssr' import type { AsyncData, AsyncDataOptions, KeysOf, MultiWatchSources, PickFrom } from './asyncData' import { useAsyncData } from './asyncData' +// TODO: temporary module for backwards compatibility +import type { DefaultAsyncDataErrorValue, DefaultAsyncDataValue } from '#app/defaults' + // @ts-expect-error virtual file import { fetchDefaults } from '#build/nuxt.config.mjs' @@ -30,7 +33,7 @@ export interface UseFetchOptions< ResT, DataT = ResT, PickKeys extends KeysOf = KeysOf, - DefaultT = null, + DefaultT = DefaultAsyncDataValue, R extends NitroFetchRequest = string & {}, M extends AvailableRouterMethod = AvailableRouterMethod, > extends Omit, 'watch'>, ComputedFetchOptions { @@ -54,11 +57,11 @@ export function useFetch< _ResT = ResT extends void ? FetchResult : ResT, DataT = _ResT, PickKeys extends KeysOf = KeysOf, - DefaultT = null, + DefaultT = DefaultAsyncDataValue, > ( request: Ref | ReqT | (() => ReqT), opts?: UseFetchOptions<_ResT, DataT, PickKeys, DefaultT, ReqT, Method> -): AsyncData | DefaultT, ErrorT | null> +): AsyncData | DefaultT, ErrorT | DefaultAsyncDataErrorValue> /** * Fetch data from an API endpoint with an SSR-friendly composable. * See {@link https://nuxt.com/docs/api/composables/use-fetch} @@ -77,7 +80,7 @@ export function useFetch< > ( request: Ref | ReqT | (() => ReqT), opts?: UseFetchOptions<_ResT, DataT, PickKeys, DefaultT, ReqT, Method> -): AsyncData | DefaultT, ErrorT | null> +): AsyncData | DefaultT, ErrorT | DefaultAsyncDataErrorValue> export function useFetch< ResT = void, ErrorT = FetchError, @@ -86,7 +89,7 @@ export function useFetch< _ResT = ResT extends void ? FetchResult : ResT, DataT = _ResT, PickKeys extends KeysOf = KeysOf, - DefaultT = null, + DefaultT = DefaultAsyncDataValue, > ( request: Ref | ReqT | (() => ReqT), arg1?: string | UseFetchOptions<_ResT, DataT, PickKeys, DefaultT, ReqT, Method>, @@ -190,11 +193,11 @@ export function useLazyFetch< _ResT = ResT extends void ? FetchResult : ResT, DataT = _ResT, PickKeys extends KeysOf = KeysOf, - DefaultT = null, + DefaultT = DefaultAsyncDataValue, > ( request: Ref | ReqT | (() => ReqT), opts?: Omit, 'lazy'> -): AsyncData | DefaultT, ErrorT | null> +): AsyncData | DefaultT, ErrorT | DefaultAsyncDataErrorValue> export function useLazyFetch< ResT = void, ErrorT = FetchError, @@ -207,7 +210,7 @@ export function useLazyFetch< > ( request: Ref | ReqT | (() => ReqT), opts?: Omit, 'lazy'> -): AsyncData | DefaultT, ErrorT | null> +): AsyncData | DefaultT, ErrorT | DefaultAsyncDataErrorValue> export function useLazyFetch< ResT = void, ErrorT = FetchError, @@ -216,7 +219,7 @@ export function useLazyFetch< _ResT = ResT extends void ? FetchResult : ResT, DataT = _ResT, PickKeys extends KeysOf = KeysOf, - DefaultT = null, + DefaultT = DefaultAsyncDataValue, > ( request: Ref | ReqT | (() => ReqT), arg1?: string | Omit, 'lazy'>, diff --git a/packages/nuxt/src/app/defaults.js b/packages/nuxt/src/app/defaults.js new file mode 100644 index 000000000..8a0e47a14 --- /dev/null +++ b/packages/nuxt/src/app/defaults.js @@ -0,0 +1,2 @@ +// TODO: temporary module for backwards compatibility +export {} diff --git a/packages/nuxt/src/app/nuxt.ts b/packages/nuxt/src/app/nuxt.ts index bc9cdceda..ae3137a7e 100644 --- a/packages/nuxt/src/app/nuxt.ts +++ b/packages/nuxt/src/app/nuxt.ts @@ -23,6 +23,8 @@ import type { ViewTransition } from './plugins/view-transitions.client' // @ts-expect-error virtual file import { appId } from '#build/nuxt.config.mjs' +// TODO: temporary module for backwards compatibility +import type { DefaultAsyncDataErrorValue, DefaultErrorValue } from '#app/defaults' import type { NuxtAppLiterals } from '#app' function getNuxtAppCtx (appName = appId || 'nuxt-app') { @@ -92,8 +94,8 @@ export interface NuxtPayload { state: Record once: Set config?: Pick - error?: NuxtError | null - _errors: Record + error?: NuxtError | DefaultErrorValue + _errors: Record [key: string]: unknown } @@ -122,7 +124,7 @@ interface _NuxtApp { _asyncData: Record pending: Ref - error: Ref + error: Ref status: Ref } | undefined> diff --git a/packages/nuxt/src/core/templates.ts b/packages/nuxt/src/core/templates.ts index d3df9846a..c7246f42e 100644 --- a/packages/nuxt/src/core/templates.ts +++ b/packages/nuxt/src/core/templates.ts @@ -130,6 +130,12 @@ declare module '#app' { } } +declare module '#app/defaults' { + type DefaultAsyncDataErrorValue = ${ctx.nuxt.options.future.compatibilityVersion === 4 ? 'undefined' : 'null'} + type DefaultAsyncDataValue = ${ctx.nuxt.options.future.compatibilityVersion === 4 ? 'undefined' : 'null'} + type DefaultErrorValue = ${ctx.nuxt.options.future.compatibilityVersion === 4 ? 'undefined' : 'null'} +} + declare module 'vue' { interface ComponentCustomProperties extends NuxtAppInjections { } } @@ -393,7 +399,12 @@ export const nuxtConfigTemplate: NuxtTemplate = { `export const devRootDir = ${ctx.nuxt.options.dev ? JSON.stringify(ctx.nuxt.options.rootDir) : 'null'}`, `export const devLogs = ${JSON.stringify(ctx.nuxt.options.features.devLogs)}`, `export const nuxtLinkDefaults = ${JSON.stringify(ctx.nuxt.options.experimental.defaults.nuxtLink)}`, - `export const asyncDataDefaults = ${JSON.stringify(ctx.nuxt.options.experimental.defaults.useAsyncData)}`, + `export const asyncDataDefaults = ${JSON.stringify({ + ...ctx.nuxt.options.experimental.defaults.useAsyncData, + value: ctx.nuxt.options.experimental.defaults.useAsyncData.value === 'null' ? null : undefined, + errorValue: ctx.nuxt.options.experimental.defaults.useAsyncData.errorValue === 'null' ? null : undefined, + })}`, + `export const nuxtDefaultErrorValue = ${ctx.nuxt.options.future.compatibilityVersion === 4 ? 'undefined' : 'null'}`, `export const fetchDefaults = ${JSON.stringify(fetchDefaults)}`, `export const vueAppRootContainer = ${ctx.nuxt.options.app.rootId ? `'#${ctx.nuxt.options.app.rootId}'` : `'body > ${ctx.nuxt.options.app.rootTag}'`}`, `export const viewTransition = ${ctx.nuxt.options.experimental.viewTransition}`, diff --git a/packages/schema/src/config/experimental.ts b/packages/schema/src/config/experimental.ts index ef3cde775..2d8b14d7e 100644 --- a/packages/schema/src/config/experimental.ts +++ b/packages/schema/src/config/experimental.ts @@ -415,6 +415,18 @@ export default defineUntypedSchema({ * Options that apply to `useAsyncData` (and also therefore `useFetch`) */ useAsyncData: { + /** @type {'undefined' | 'null'} */ + value: { + async $resolve (val, get) { + return val ?? ((await get('future') as Record).compatibilityVersion === 4 ? 'undefined' : 'null') + }, + }, + /** @type {'undefined' | 'null'} */ + errorValue: { + async $resolve (val, get) { + return val ?? ((await get('future') as Record).compatibilityVersion === 4 ? 'undefined' : 'null') + }, + }, deep: { async $resolve (val, get) { return val ?? !((await get('future') as Record).compatibilityVersion === 4) diff --git a/test/basic.test.ts b/test/basic.test.ts index 9e4e0b602..41bd0c5f1 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -2433,21 +2433,23 @@ describe.skipIf(isWindows)('useAsyncData', () => { }) it('data is null after navigation when immediate false', async () => { + const defaultValue = isV4 ? 'undefined' : 'null' + const { page } = await renderPage('/useAsyncData/immediate-remove-unmounted') - expect(await page.locator('#immediate-data').getByText('null').textContent()).toBe('null') + expect(await page.locator('#immediate-data').getByText(defaultValue).textContent()).toBe(defaultValue) await page.click('#execute-btn') - expect(await page.locator('#immediate-data').getByText(',').textContent()).not.toContain('null') + expect(await page.locator('#immediate-data').getByText(',').textContent()).not.toContain(defaultValue) await page.click('#to-index') await page.waitForFunction(() => window.useNuxtApp?.()._route.fullPath === '/') await page.click('#to-immediate-remove-unmounted') await page.waitForFunction(() => window.useNuxtApp?.()._route.fullPath === '/useAsyncData/immediate-remove-unmounted') - expect(await page.locator('#immediate-data').getByText('null').textContent()).toBe('null') + expect(await page.locator('#immediate-data').getByText(defaultValue).textContent()).toBe(defaultValue) await page.click('#execute-btn') - expect(await page.locator('#immediate-data').getByText(',').textContent()).not.toContain('null') + expect(await page.locator('#immediate-data').getByText(',').textContent()).not.toContain(defaultValue) await page.close() }) diff --git a/test/fixtures/basic-types/types.ts b/test/fixtures/basic-types/types.ts index 9ab1f42b2..586fb7c52 100644 --- a/test/fixtures/basic-types/types.ts +++ b/test/fixtures/basic-types/types.ts @@ -11,6 +11,9 @@ import type { NavigateToOptions } from '#app/composables/router' import { NuxtLayout, NuxtLink, NuxtPage, ServerComponent, WithTypes } from '#components' import { useRouter } from '#imports' +// TODO: temporary module for backwards compatibility +import type { DefaultAsyncDataErrorValue, DefaultAsyncDataValue } from '#app/defaults' + interface TestResponse { message: string } describe('API routes', () => { @@ -31,61 +34,61 @@ describe('API routes', () => { }) it('works with useAsyncData', () => { - expectTypeOf(useAsyncData('api-hello', () => $fetch('/api/hello')).data).toEqualTypeOf>() - expectTypeOf(useAsyncData('api-hey', () => $fetch('/api/hey')).data).toEqualTypeOf>() - expectTypeOf(useAsyncData('api-hey-with-pick', () => $fetch('/api/hey'), { pick: ['baz'] }).data).toEqualTypeOf>() - expectTypeOf(useAsyncData('api-union', () => $fetch('/api/union')).data).toEqualTypeOf>() - expectTypeOf(useAsyncData('api-union-with-pick', () => $fetch('/api/union'), { pick: ['type'] }).data).toEqualTypeOf>() + expectTypeOf(useAsyncData('api-hello', () => $fetch('/api/hello')).data).toEqualTypeOf>() + expectTypeOf(useAsyncData('api-hey', () => $fetch('/api/hey')).data).toEqualTypeOf>() + expectTypeOf(useAsyncData('api-hey-with-pick', () => $fetch('/api/hey'), { pick: ['baz'] }).data).toEqualTypeOf>() + expectTypeOf(useAsyncData('api-union', () => $fetch('/api/union')).data).toEqualTypeOf>() + expectTypeOf(useAsyncData('api-union-with-pick', () => $fetch('/api/union'), { pick: ['type'] }).data).toEqualTypeOf>() expectTypeOf(useAsyncData('api-other', () => $fetch('/api/other')).data).toEqualTypeOf>() - expectTypeOf(useAsyncData('api-generics', () => $fetch('/test')).data).toEqualTypeOf>() + expectTypeOf(useAsyncData('api-generics', () => $fetch('/test')).data).toEqualTypeOf>() - expectTypeOf(useAsyncData('api-error-generics', () => $fetch('/error')).error).toEqualTypeOf | null>>() - expectTypeOf(useAsyncData('api-error-generics', () => $fetch('/error')).error).toEqualTypeOf | null>>() + expectTypeOf(useAsyncData('api-error-generics', () => $fetch('/error')).error).toEqualTypeOf | DefaultAsyncDataErrorValue>>() + expectTypeOf(useAsyncData('api-error-generics', () => $fetch('/error')).error).toEqualTypeOf | DefaultAsyncDataErrorValue>>() // backwards compatibility - expectTypeOf(useAsyncData('api-error-generics', () => $fetch('/error')).error).toEqualTypeOf>() - expectTypeOf(useAsyncData>('api-error-generics', () => $fetch('/error')).error).toEqualTypeOf | null>>() + expectTypeOf(useAsyncData('api-error-generics', () => $fetch('/error')).error).toEqualTypeOf>() + expectTypeOf(useAsyncData>('api-error-generics', () => $fetch('/error')).error).toEqualTypeOf | DefaultAsyncDataErrorValue>>() - expectTypeOf(useLazyAsyncData('lazy-api-hello', () => $fetch('/api/hello')).data).toEqualTypeOf>() - expectTypeOf(useLazyAsyncData('lazy-api-hey', () => $fetch('/api/hey')).data).toEqualTypeOf>() - expectTypeOf(useLazyAsyncData('lazy-api-hey-with-pick', () => $fetch('/api/hey'), { pick: ['baz'] }).data).toEqualTypeOf>() - expectTypeOf(useLazyAsyncData('lazy-api-union', () => $fetch('/api/union')).data).toEqualTypeOf>() - expectTypeOf(useLazyAsyncData('lazy-api-union-with-pick', () => $fetch('/api/union'), { pick: ['type'] }).data).toEqualTypeOf>() + expectTypeOf(useLazyAsyncData('lazy-api-hello', () => $fetch('/api/hello')).data).toEqualTypeOf>() + expectTypeOf(useLazyAsyncData('lazy-api-hey', () => $fetch('/api/hey')).data).toEqualTypeOf>() + expectTypeOf(useLazyAsyncData('lazy-api-hey-with-pick', () => $fetch('/api/hey'), { pick: ['baz'] }).data).toEqualTypeOf>() + expectTypeOf(useLazyAsyncData('lazy-api-union', () => $fetch('/api/union')).data).toEqualTypeOf>() + expectTypeOf(useLazyAsyncData('lazy-api-union-with-pick', () => $fetch('/api/union'), { pick: ['type'] }).data).toEqualTypeOf>() expectTypeOf(useLazyAsyncData('lazy-api-other', () => $fetch('/api/other')).data).toEqualTypeOf>() - expectTypeOf(useLazyAsyncData('lazy-api-generics', () => $fetch('/test')).data).toEqualTypeOf>() + expectTypeOf(useLazyAsyncData('lazy-api-generics', () => $fetch('/test')).data).toEqualTypeOf>() - expectTypeOf(useLazyAsyncData('lazy-error-generics', () => $fetch('/error')).error).toEqualTypeOf>() - expectTypeOf(useLazyAsyncData('lazy-error-generics', () => $fetch('/error')).error).toEqualTypeOf>() + expectTypeOf(useLazyAsyncData('lazy-error-generics', () => $fetch('/error')).error).toEqualTypeOf>() + expectTypeOf(useLazyAsyncData('lazy-error-generics', () => $fetch('/error')).error).toEqualTypeOf>() }) it('works with useFetch', () => { - expectTypeOf(useFetch('/api/hello').data).toEqualTypeOf>() - expectTypeOf(useFetch('/api/hey').data).toEqualTypeOf>() - expectTypeOf(useFetch('/api/hey', { method: 'GET' }).data).toEqualTypeOf>() - expectTypeOf(useFetch('/api/hey', { method: 'get' }).data).toEqualTypeOf>() - expectTypeOf(useFetch('/api/hey', { method: 'POST' }).data).toEqualTypeOf>() - expectTypeOf(useFetch('/api/hey', { method: 'post' }).data).toEqualTypeOf>() + expectTypeOf(useFetch('/api/hello').data).toEqualTypeOf>() + expectTypeOf(useFetch('/api/hey').data).toEqualTypeOf>() + expectTypeOf(useFetch('/api/hey', { method: 'GET' }).data).toEqualTypeOf>() + expectTypeOf(useFetch('/api/hey', { method: 'get' }).data).toEqualTypeOf>() + expectTypeOf(useFetch('/api/hey', { method: 'POST' }).data).toEqualTypeOf>() + expectTypeOf(useFetch('/api/hey', { method: 'post' }).data).toEqualTypeOf>() // @ts-expect-error not a valid method useFetch('/api/hey', { method: 'PATCH' }) - expectTypeOf(useFetch('/api/hey', { pick: ['baz'] }).data).toEqualTypeOf>() - expectTypeOf(useFetch('/api/union').data).toEqualTypeOf>() - expectTypeOf(useFetch('/api/union', { pick: ['type'] }).data).toEqualTypeOf>() + expectTypeOf(useFetch('/api/hey', { pick: ['baz'] }).data).toEqualTypeOf>() + expectTypeOf(useFetch('/api/union').data).toEqualTypeOf>() + expectTypeOf(useFetch('/api/union', { pick: ['type'] }).data).toEqualTypeOf>() expectTypeOf(useFetch('/api/other').data).toEqualTypeOf>() - expectTypeOf(useFetch('/test').data).toEqualTypeOf>() - expectTypeOf(useFetch('/test', { method: 'POST' }).data).toEqualTypeOf>() + expectTypeOf(useFetch('/test').data).toEqualTypeOf>() + expectTypeOf(useFetch('/test', { method: 'POST' }).data).toEqualTypeOf>() - expectTypeOf(useFetch('/error').error).toEqualTypeOf>() - expectTypeOf(useFetch('/error').error).toEqualTypeOf>() + expectTypeOf(useFetch('/error').error).toEqualTypeOf>() + expectTypeOf(useFetch('/error').error).toEqualTypeOf>() - expectTypeOf(useLazyFetch('/api/hello').data).toEqualTypeOf>() - expectTypeOf(useLazyFetch('/api/hey').data).toEqualTypeOf>() - expectTypeOf(useLazyFetch('/api/hey', { pick: ['baz'] }).data).toEqualTypeOf>() - expectTypeOf(useLazyFetch('/api/union').data).toEqualTypeOf>() - expectTypeOf(useLazyFetch('/api/union', { pick: ['type'] }).data).toEqualTypeOf>() + expectTypeOf(useLazyFetch('/api/hello').data).toEqualTypeOf>() + expectTypeOf(useLazyFetch('/api/hey').data).toEqualTypeOf>() + expectTypeOf(useLazyFetch('/api/hey', { pick: ['baz'] }).data).toEqualTypeOf>() + expectTypeOf(useLazyFetch('/api/union').data).toEqualTypeOf>() + expectTypeOf(useLazyFetch('/api/union', { pick: ['type'] }).data).toEqualTypeOf>() expectTypeOf(useLazyFetch('/api/other').data).toEqualTypeOf>() - expectTypeOf(useLazyFetch('/test').data).toEqualTypeOf>() + expectTypeOf(useLazyFetch('/test').data).toEqualTypeOf>() - expectTypeOf(useLazyFetch('/error').error).toEqualTypeOf>() - expectTypeOf(useLazyFetch('/error').error).toEqualTypeOf>() + expectTypeOf(useLazyFetch('/error').error).toEqualTypeOf>() + expectTypeOf(useLazyFetch('/error').error).toEqualTypeOf>() }) }) @@ -421,10 +424,10 @@ describe('composables', () => { expectTypeOf(useLazyAsyncData(() => $fetch('/test'), { default: () => 'test' }).data).toEqualTypeOf>() // transform must match the explicit generic because of typescript limitations microsoft/TypeScript#14400 - expectTypeOf(useFetch('/test', { transform: () => 'transformed' }).data).toEqualTypeOf>() - expectTypeOf(useLazyFetch('/test', { transform: () => 'transformed' }).data).toEqualTypeOf>() - expectTypeOf(useAsyncData(() => $fetch('/test'), { transform: () => 'transformed' }).data).toEqualTypeOf>() - expectTypeOf(useLazyAsyncData(() => $fetch('/test'), { transform: () => 'transformed' }).data).toEqualTypeOf>() + expectTypeOf(useFetch('/test', { transform: () => 'transformed' }).data).toEqualTypeOf>() + expectTypeOf(useLazyFetch('/test', { transform: () => 'transformed' }).data).toEqualTypeOf>() + expectTypeOf(useAsyncData(() => $fetch('/test'), { transform: () => 'transformed' }).data).toEqualTypeOf>() + expectTypeOf(useLazyAsyncData(() => $fetch('/test'), { transform: () => 'transformed' }).data).toEqualTypeOf>() expectTypeOf(useFetch('/test', { default: () => 'test', transform: () => 'transformed' }).data).toEqualTypeOf>() expectTypeOf(useLazyFetch('/test', { default: () => 'test', transform: () => 'transformed' }).data).toEqualTypeOf>() @@ -439,7 +442,7 @@ describe('composables', () => { return data.foo }, }) - expectTypeOf(data).toEqualTypeOf>() + expectTypeOf(data).toEqualTypeOf>() }) it('infer request url string literal from server/api routes', () => { @@ -448,8 +451,8 @@ describe('composables', () => { expectTypeOf(useFetch(dynamicStringUrl).data).toEqualTypeOf>() // request param should infer string literal type / show auto-complete hint base on server routes, ex: '/api/hello' - expectTypeOf(useFetch('/api/hello').data).toEqualTypeOf>() - expectTypeOf(useLazyFetch('/api/hello').data).toEqualTypeOf>() + expectTypeOf(useFetch('/api/hello').data).toEqualTypeOf>() + expectTypeOf(useLazyFetch('/api/hello').data).toEqualTypeOf>() // request can accept string literal and Request object type expectTypeOf(useFetch('https://example.com/api').data).toEqualTypeOf>() @@ -519,7 +522,7 @@ describe('composables', () => { it('correctly types returns when using with getCachedData', () => { expectTypeOf(useAsyncData('test', () => Promise.resolve({ foo: 1 }), { getCachedData: key => useNuxtApp().payload.data[key], - }).data).toEqualTypeOf>() + }).data).toEqualTypeOf>() useAsyncData('test', () => Promise.resolve({ foo: 1 }), { // @ts-expect-error cached data should return the same as value of fetcher getCachedData: () => ({ bar: 2 }), diff --git a/test/fixtures/basic/pages/useAsyncData/immediate-remove-unmounted.vue b/test/fixtures/basic/pages/useAsyncData/immediate-remove-unmounted.vue index 8e6b5a295..9ed094026 100644 --- a/test/fixtures/basic/pages/useAsyncData/immediate-remove-unmounted.vue +++ b/test/fixtures/basic/pages/useAsyncData/immediate-remove-unmounted.vue @@ -2,7 +2,7 @@

immediate-remove-unmounted.vue
- {{ data === null ? "null" : data }} + {{ data === null ? "null" : (data === undefined ? 'undefined' : data) }}