diff --git a/package.json b/package.json index 9558b09b..0c50ab0e 100644 --- a/package.json +++ b/package.json @@ -52,13 +52,9 @@ "vite": "5.0.11", "vitest": "^1.1.1" }, - "pnpm": { - "overrides": { - "rollup": "^4.2.0" - } - }, "resolutions": { - "@pergel/nuxt": "link:./packages/nuxt" + "@pergel/nuxt": "link:./packages/nuxt", + "unbuild": "3.0.0-rc.1" }, "simple-git-hooks": { "pre-commit": "pnpm lint-staged" diff --git a/packages/nuxt/build.config.ts b/packages/nuxt/build.config.ts index 937b68c5..96556d05 100644 --- a/packages/nuxt/build.config.ts +++ b/packages/nuxt/build.config.ts @@ -1,8 +1,14 @@ +import { join } from 'node:path' +import { readFileSync } from 'node:fs' import { defineBuildConfig } from 'unbuild' import pkgBox from '../box/package.json' +import graphql from '../graphql/package.json' +import s3 from '../s3/package.json' -const externalBox = Object.keys(pkgBox.dependencies) +const version = JSON.parse( + readFileSync(join(__dirname, 'package.json'), 'utf-8'), +).version export const external = [ 'consola', @@ -25,30 +31,39 @@ export const external = [ 'lucia', '@lucia-auth/adapter-drizzle', '@lucia-auth/adapter-postgresql', + 'chokidar', + '@nuxt/kit', + '@nuxt/schema', + 'globby', 'fsevents', 'node:path', 'node:fs', + '@pergel/cli/types', + 'defu', + 'pathe', 'node:http', 'node:child_process', 'node:stream', 'node:url', 'slugify', + 'c12', + 'ioredis', + '#pergel-useGlobalContext', + '#pergel-usePergelState', '@pergel/module-box', - ...externalBox, + '@aws-sdk/client-ses', + ...Object.keys(pkgBox.dependencies), + ...Object.keys(graphql.dependencies), + ...Object.keys(s3.dependencies), ] export default defineBuildConfig([ - // Auto preset { externals: [ ...external, ], - rollup: { - inlineDependencies: true, - output: { - preserveModules: true, - strict: true, - preserveModulesRoot: 'src', - }, + replace: { + __VERSION__: JSON.stringify(version), }, + failOnWarn: false, }, ]) diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index aa8f6d2a..787dbc90 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -1,7 +1,7 @@ { "name": "@pergel/nuxt", "type": "module", - "version": "0.7.25", + "version": "0.7.36", "description": "Nuxt Full Stack modules. Start your next nuxt project fast and strong.", "author": "Mehmet @productdevbook", "license": "MIT", @@ -61,43 +61,45 @@ "dependencies": { "@nuxt/devtools": "^1.0.8", "@nuxt/devtools-kit": "^1.0.8", - "@nuxt/kit": "^3.9.1", - "@vueuse/core": "^10.7.1", + "@nuxt/kit": "^3.9.3", + "@vueuse/core": "^10.7.2", "defu": "^6.1.4", + "globby": "^14.0.0", "local-pkg": "^0.5.0", "minimatch": "^9.0.3", - "pathe": "^1.1.1", + "pathe": "^1.1.2", "sirv": "^2.0.4", "yaml": "^2.3.4" }, "devDependencies": { - "@aws-sdk/client-ses": "^3.485.0", + "@aws-sdk/client-ses": "^3.499.0", "@faker-js/faker": "^8.3.1", - "@iconify-json/carbon": "^1.1.27", - "@iconify-json/ph": "^1.1.9", - "@json2csv/node": "^7.0.4", + "@iconify-json/carbon": "^1.1.28", + "@iconify-json/ph": "^1.1.10", + "@json2csv/node": "^7.0.5", "@lucia-auth/adapter-drizzle": "1.0.0-beta.6", "@lucia-auth/adapter-postgresql": "3.0.0-beta.9", "@nuxt/devtools-ui-kit": "^1.0.8", "@nuxt/module-builder": "^0.5.5", - "@nuxt/schema": "^3.9.1", - "@nuxt/test-utils": "^3.9.0", - "@pergel/cli": "^0.6.1", + "@nuxt/schema": "^3.9.3", + "@nuxt/test-utils": "^3.10.0", + "@pergel/cli": "^0.6.2", "@pergel/graphql": "workspace:^", "@pergel/module-box": "workspace:^", "@pergel/module-s3": "workspace:^", - "@types/node": "^20.10.7", + "@types/node": "^20.11.6", "@types/node-cron": "^3.0.11", - "bullmq": "^5.1.1", + "bullmq": "^5.1.5", "esbuild-plugin-file-path-extensions": "^2.0.0", - "json-schema-to-typescript": "^13.1.1", + "h3": "^1.10.1", + "json-schema-to-typescript": "^13.1.2", "lucia": "3.0.0-beta.14", "node-cron": "^3.0.3", - "nuxt": "^3.9.1", - "oslo": "^0.27.0", + "nuxt": "^3.9.3", + "oslo": "^0.27.1", "p-timeout": "^6.1.2", "typescript": "^5.3.3", - "vitest": "^1.1.3" + "vitest": "^1.2.1" }, "publishConfig": { "access": "public" diff --git a/packages/nuxt/src/module.ts b/packages/nuxt/src/module.ts index dea8dec8..6ec26471 100644 --- a/packages/nuxt/src/module.ts +++ b/packages/nuxt/src/module.ts @@ -1,6 +1,9 @@ import { join, relative } from 'node:path' import { writeFileSync } from 'node:fs' import { + addImportsDir, + addPlugin, + addServerHandler, addServerImportsDir, addTemplate, createResolver, @@ -8,6 +11,7 @@ import { logger, } from '@nuxt/kit' import YAML from 'yaml' +import { globbySync } from 'globby' import defu from 'defu' import type { NuxtConfigLayer } from '@nuxt/schema' @@ -16,10 +20,12 @@ import { version } from '../package.json' import { setupDevToolsUI } from './devtools' import { DEVTOOLS_MODULE_KEY, DEVTOOLS_MODULE_NAME } from './constants' import { useNitroImports, useNuxtImports } from './runtime/core/utils/useImports' + import { setupPergel } from './runtime/core/setupPergel' import { generateReadmeJson } from './runtime/core/utils/generateYaml' import { setupModules } from './runtime/core/setupModules' -import type { PergelOptions, ResolvedPergelOptions } from './runtime/core/types/nuxtModule' +import type { PergelModuleNames, PergelOptions, ResolvedPergelOptions } from './runtime/core/types/nuxtModule' +import type { PergelH3ContextItem } from './runtime/modules' export interface ModulePublicRuntimeConfig { slugify: { @@ -34,6 +40,14 @@ declare module '@nuxt/schema' { interface PublicRuntimeConfig extends ModulePublicRuntimeConfig { } } +declare module 'h3' { + interface H3EventContext { + pergelContext: { + [key: string]: PergelH3ContextItem + } + } +} + export default defineNuxtModule({ meta: { name: DEVTOOLS_MODULE_NAME, @@ -81,6 +95,35 @@ export default defineNuxtModule({ } const _resolver = createResolver(import.meta.url) + + addServerImportsDir(_resolver.resolve('./runtime/composables')) + + // Nitro auto imports + nuxt.hook('nitro:config', (config) => { + if (config.imports) { + config.imports.imports = config.imports.imports || [] + + config.imports.imports.push({ + name: 'usePergelContext', + from: _resolver.resolve('./runtime/server/utils/usePergelContext'), + }) + + config.imports.imports.push({ + name: 'getPergelContext', + from: _resolver.resolve('./runtime/server/utils/getPergelContext'), + }) + + config.alias = config.alias || {} + + config.alias['#pergel/usePergelContext'] = _resolver.resolve( + './runtime/server/utils/usePergelContext', + ) + } + }) + + addImportsDir(_resolver.resolve('./runtime/composables')) + addPlugin(_resolver.resolve('./runtime/plugin')) + await setupPergel({ options: pergelOptions, nuxt, @@ -88,6 +131,31 @@ export default defineNuxtModule({ version, }) + async function moduleSetup() { + const modules = globbySync('./runtime/modules/**/index.@(ts|mjs)', { + cwd: _resolver.resolve('./'), + onlyFiles: true, + deep: 2, + }) + + const modulesResolve: { + name: PergelModuleNames + path: string + }[] = [] + + for await (const module of modules) { + const moduleName = module.replace('./runtime/modules/', '').replace('/index.ts', '').replace('/index.mjs', '') + modulesResolve.push({ + name: moduleName as PergelModuleNames, + path: _resolver.resolve(module), + }) + } + + nuxt._pergel.resolveModules = modulesResolve + } + + await moduleSetup() + const { saveNitroImports } = useNitroImports(nuxt) const { saveNuxtImports } = useNuxtImports(nuxt) @@ -110,11 +178,8 @@ export default defineNuxtModule({ await setupModules({ nuxt, - resolver: _resolver, }) - addServerImportsDir(_resolver.resolve('./runtime/composables')) - saveNitroImports() saveNuxtImports() @@ -122,6 +187,11 @@ export default defineNuxtModule({ nuxt, }) + addServerHandler({ + handler: _resolver.resolve('./runtime/serverContext'), + middleware: true, + }) + nuxt._pergel.devServerHandler.forEach(({ fn }) => fn()) for (const project of Object.keys(nuxt._pergel.dts)) { @@ -132,7 +202,7 @@ export default defineNuxtModule({ write: true, getContents: () => /* ts */` ${contents} - + ${declareModules} `.trim(), }) diff --git a/packages/nuxt/src/runtime/composables/useClient.ts b/packages/nuxt/src/runtime/composables/useClient.ts deleted file mode 100644 index 2161e526..00000000 --- a/packages/nuxt/src/runtime/composables/useClient.ts +++ /dev/null @@ -1,86 +0,0 @@ -import type { H3Event } from 'h3' -import { camelCase } from 'scule' -import type { - S3Client, -} from '@aws-sdk/client-s3' -import type { Redis } from 'ioredis' -import type { SESClient } from '@aws-sdk/client-ses' -import type { PostgresJsDatabase } from 'drizzle-orm/postgres-js' -import type { S3ModuleRuntimeConfig } from '../modules/S3/types' -import type { PostgresJSModuleRuntimeConfig } from '../modules/drizzle/types' -import { usePergelRuntime } from '../core/utils/usePergelRuntime' -import type { BullMQModuleRuntimeConfig } from '../modules/bullmq/types' -import type { SesModuleRuntimeConfig } from '../modules/ses/types' -import type { PergelGlobalContext } from '#pergel/types' - -interface MapType { - s3?: { - client?: S3Client - } - drizzle?: { - postgressJSClient: PostgresJsDatabase - } - bullmq?: { - client?: Redis - } - ses?: { - client?: SESClient - } -} - -interface RuntimeConfigType { - s3?: S3ModuleRuntimeConfig - drizzle?: PostgresJSModuleRuntimeConfig - bullmq?: BullMQModuleRuntimeConfig - ses?: SesModuleRuntimeConfig -} - -type RuntimeConfigTypeKeys = keyof RuntimeConfigType - -const pergelGlobalContext = new Map() - -export async function globalContext( - data: PergelGlobalContext, - clientObject: (runtime: RuntimeConfigType[T]) => MapType, - event?: H3Event, - additionalMapValues?: object, -) { - const mergedProjectName = camelCase(`${data.moduleName}-${data.projectName}`) - let moduleData = pergelGlobalContext.get(mergedProjectName) as MapType - const { selectProject } = usePergelRuntime({ - moduleName: data.moduleName, - projectName: data.projectName, - }, event) - - if (moduleData) { - return { - selectData: moduleData, - runtime: selectProject, - } - } - - const returnData = clientObject(selectProject as RuntimeConfigType[T]) as MapType[T] - if (!returnData) - throw new Error(`${data.moduleName} is not defined`) - - moduleData ??= {} as MapType - moduleData = returnData as MapType - - pergelGlobalContext.set(mergedProjectName, { - ...returnData as MapType, - ...additionalMapValues, - }) - - return { - selectData: moduleData, - runtime: selectProject, - } -} - -export function getGlobalContextItem(this: { - projectName: string - moduleName: string -}) { - const mergedProjectName = camelCase(`${this.moduleName}-${this.projectName}`) - return pergelGlobalContext.get(mergedProjectName) -} diff --git a/packages/nuxt/src/runtime/core/setupModules.ts b/packages/nuxt/src/runtime/core/setupModules.ts index 3a915078..76d60fc1 100644 --- a/packages/nuxt/src/runtime/core/setupModules.ts +++ b/packages/nuxt/src/runtime/core/setupModules.ts @@ -1,12 +1,9 @@ import { join } from 'node:path' -import { readdirSync } from 'node:fs' import type { Nuxt } from '@nuxt/schema' -import type { Resolver } from '@nuxt/kit' import consola from 'consola' import { camelCase } from 'scule' import { generatePergelTemplate } from './utils/generatePergelTemplate' import { generateProjectReadme } from './utils/generateYaml' -import { firstLetterUppercase } from './utils/utils' import type { PergelModule } from './types/module' import type { PergelModuleNames, ResolvedPergelOptions } from './types/nuxtModule' @@ -26,7 +23,7 @@ class CircularDependencyError extends Error { } } -async function initModules(nuxt: Nuxt, resolver: Resolver) { +async function initModules(nuxt: Nuxt) { const projects = nuxt._pergel.rootOptions.projects const prepareModules: PrepareModules = {} @@ -60,22 +57,14 @@ async function initModules(nuxt: Nuxt, resolver: Resolver) { const module = (nuxt._pergel.projects[projectName as any] as any)[moduleName as any] try { - const getIndexExt = () => { - const datas = readdirSync(resolver.resolve(join('runtime', 'modules', moduleName))) - const indexExt = datas.find( - file => file.includes('index') - && !file.includes('.d.'), - ) - if (!indexExt) - throw new Error(`Module ${moduleName} does not have index file`) - - return indexExt - } - const indexPath = getIndexExt() - - pergelModule = await import( - resolver.resolve(join('runtime', 'modules', moduleName, indexPath)) - ).then(m => m.default).catch((res) => { + const modulePath = nuxt._pergel.resolveModules.find( + module => module.name === moduleName, + ) + + if (!modulePath) + throw new Error(`Module ${moduleName} does not exist`) + + pergelModule = await import(modulePath.path).then(m => m.default).catch((res) => { consola.error(`Module ${moduleName} failed to import`) consola.error(res) }) @@ -103,8 +92,8 @@ async function initModules(nuxt: Nuxt, resolver: Resolver) { projectName, rootModuleDir: join(nuxt._pergel.rootDir, `${moduleName}-${projectName}`), serverDir: join(nuxt._pergel.serverDir, `${moduleName}-${projectName}`), - projectNameCamelCase: camelCase(`${firstLetterUppercase(projectName)}`, { normalize: true }), - projectNameCamelCaseWithPergel: camelCase(`pergel${firstLetterUppercase(projectName)}`, { normalize: true }), + projectNameCamelCase: camelCase(projectName, { normalize: true }), + projectNameCamelCaseWithPergel: camelCase(`pergel-${projectName}`, { normalize: true }), }, rootOptions: module, }) @@ -194,7 +183,6 @@ function smartSortModules(projectName: string, modules: PrepareModules): string[ } export async function setupModules(data: { - resolver: Resolver nuxt: Nuxt }) { const projects = data.nuxt._pergel.rootOptions.projects @@ -203,7 +191,7 @@ export async function setupModules(data: { if (!projects || !(_projects.length > 0)) return - const prepareModules = await initModules(data.nuxt, data.resolver) + const prepareModules = await initModules(data.nuxt) for await (const [projectName, _modules] of Object.entries(projects)) { const sortedModules = smartSortModules(projectName, prepareModules) @@ -274,8 +262,8 @@ export async function setupModules(data: { projectName, rootModuleDir: join(data.nuxt._pergel.rootDir, `${moduleName}-${projectName}`), serverDir: join(data.nuxt._pergel.serverDir, `${moduleName}-${projectName}`), - projectNameCamelCase: camelCase(`${firstLetterUppercase(projectName)}`), - projectNameCamelCaseWithPergel: camelCase(`pergel${firstLetterUppercase(projectName)}`), + projectNameCamelCase: camelCase(projectName, { normalize: true }), + projectNameCamelCaseWithPergel: camelCase(`pergel-${projectName}`, { normalize: true }), }, rootOptions: module, }) diff --git a/packages/nuxt/src/runtime/core/setupPergel.ts b/packages/nuxt/src/runtime/core/setupPergel.ts index c47ed84e..d77663d7 100644 --- a/packages/nuxt/src/runtime/core/setupPergel.ts +++ b/packages/nuxt/src/runtime/core/setupPergel.ts @@ -145,6 +145,7 @@ export async function setupPergel( debug: false, serverDir: resolve(resolveDir, serverDir), watchDirs: [], + resolveModules: [], } satisfies ResolvedPergelOptions) nuxt._pergel = resolvedPergelOptions as any } diff --git a/packages/nuxt/src/runtime/core/types/nuxtModule.ts b/packages/nuxt/src/runtime/core/types/nuxtModule.ts index b733adde..3f19fc81 100644 --- a/packages/nuxt/src/runtime/core/types/nuxtModule.ts +++ b/packages/nuxt/src/runtime/core/types/nuxtModule.ts @@ -24,7 +24,6 @@ export interface PergelNuxtModules { ionic?: true | IonicInterface } -// @MODULE export interface ResolvedPergelNuxtModuleConfig { S3?: true ses?: true @@ -227,6 +226,11 @@ export interface ResolvedPergelOptions { projectName: string moduleName: string }[] + + resolveModules: { + name: PergelModuleNames + path: string + }[] } export interface NuxtPergel extends Nuxt { diff --git a/packages/nuxt/src/runtime/core/utils/generatePergelTemplate.ts b/packages/nuxt/src/runtime/core/utils/generatePergelTemplate.ts index 6d8f70f6..e408882c 100644 --- a/packages/nuxt/src/runtime/core/utils/generatePergelTemplate.ts +++ b/packages/nuxt/src/runtime/core/utils/generatePergelTemplate.ts @@ -4,7 +4,7 @@ import type { Nuxt } from '@nuxt/schema' import { addTemplate } from '@nuxt/kit' import type { NuxtPergel } from '../types/nuxtModule' import { useNitroImports, useNuxtImports } from './useImports' -import { firstLetterUppercase, reformatSourceCode } from './utils' +import { reformatSourceCode } from './utils' export function generatePergelTemplate( data: { @@ -36,7 +36,7 @@ export function generatePergelTemplate( } for (const [projectName, value] of Object.entries(functionsContents)) { - const funcName = camelCase(`pergel${firstLetterUppercase(projectName)}`) + const funcName = camelCase(`pergel-${projectName}`) /** * Export pergel function diff --git a/packages/nuxt/src/runtime/modules/S3/composables/useS3.ts b/packages/nuxt/src/runtime/modules/S3/composables/useS3.ts index d260054b..4fd29548 100644 --- a/packages/nuxt/src/runtime/modules/S3/composables/useS3.ts +++ b/packages/nuxt/src/runtime/modules/S3/composables/useS3.ts @@ -18,21 +18,23 @@ import type { } from '@aws-sdk/client-s3' import { getSignedUrl } from '@aws-sdk/s3-request-presigner' import type { S3ModuleRuntimeConfig } from '../types' -import { globalContext } from '../../../composables/useClient' import type { PartinalKey } from '../../../core/types/module' +import { usePergelContext } from '../../../server/utils/usePergelContext' import type { PergelGlobalContextOmitModule } from '#pergel/types' export async function usePergelS3( this: PergelGlobalContextOmitModule, - pergel?: PergelGlobalContextOmitModule, - event?: H3Event, + params: { + pergel?: PergelGlobalContextOmitModule + event: H3Event | false + }, ) { - const context = pergel || this + const context = params.pergel || this if (!context || !context.projectName) throw new Error('Pergel is not defined') - const { selectData, runtime } = await globalContext<'s3'>({ + const { selectData, runtime } = await usePergelContext<'s3'>({ moduleName: 'S3', projectName: context.projectName, }, (runtime) => { @@ -51,7 +53,7 @@ export async function usePergelS3( }), }, } - }, event) + }, params.event) if (!selectData?.s3?.client || !runtime) throw new Error('S3 is not defined') diff --git a/packages/nuxt/src/runtime/modules/S3/index.ts b/packages/nuxt/src/runtime/modules/S3/index.ts index 126ac76c..bfd8d09d 100644 --- a/packages/nuxt/src/runtime/modules/S3/index.ts +++ b/packages/nuxt/src/runtime/modules/S3/index.ts @@ -46,7 +46,7 @@ export default definePergelModule({ content: /* TypeScript */ ` function S3() { return { - client: getGlobalContextItem.bind({ + client: getPergelContext.bind({ ...ctx, moduleName: '${options.moduleName}', }), diff --git a/packages/nuxt/src/runtime/modules/S3/server/s3.ts b/packages/nuxt/src/runtime/modules/S3/server/s3.ts index 29d615f6..edb95b24 100644 --- a/packages/nuxt/src/runtime/modules/S3/server/s3.ts +++ b/packages/nuxt/src/runtime/modules/S3/server/s3.ts @@ -4,8 +4,11 @@ import { usePergelS3 } from '../composables/useS3' export default defineEventHandler(async (event) => { const projectName = getRouterParam(event, 'projectName') const { listAllObjects } = await usePergelS3.call(null as any, { - projectName: projectName as any, - }, event) + event, + pergel: { + projectName: projectName as any, + }, + }) const listAll = await listAllObjects() return listAll }) diff --git a/packages/nuxt/src/runtime/modules/box/plugins/neoconfetti.ts b/packages/nuxt/src/runtime/modules/box/plugins/neoconfetti.ts index 31d8010b..3643b652 100644 --- a/packages/nuxt/src/runtime/modules/box/plugins/neoconfetti.ts +++ b/packages/nuxt/src/runtime/modules/box/plugins/neoconfetti.ts @@ -1,7 +1,7 @@ import { vConfetti } from '@neoconfetti/vue' import { defineNuxtPlugin } from '#imports' -export default defineNuxtPlugin((app) => { +export default defineNuxtPlugin((app: any) => { // Register the directive app.vueApp.directive('confetti', vConfetti) }) diff --git a/packages/nuxt/src/runtime/modules/bullmq/composables/nitro/plugin.ts b/packages/nuxt/src/runtime/modules/bullmq/composables/nitro/plugin.ts index 2ff9346e..73ffdb90 100644 --- a/packages/nuxt/src/runtime/modules/bullmq/composables/nitro/plugin.ts +++ b/packages/nuxt/src/runtime/modules/bullmq/composables/nitro/plugin.ts @@ -18,8 +18,13 @@ export function definePergelNitroBullMQPlugin( return defineNitroPlugin(async (nitro) => { data.setup({ useScheduler: () => useScheduler.call({ - ...data.pergel || this, nitro, + ...data.pergel || this, + }, { + pergel: { + ...data.pergel || this, + }, + event: false, }) as Scheduler, }, nitro) diff --git a/packages/nuxt/src/runtime/modules/bullmq/composables/nitro/useRedis.ts b/packages/nuxt/src/runtime/modules/bullmq/composables/nitro/useBullMQRedisClient.ts similarity index 90% rename from packages/nuxt/src/runtime/modules/bullmq/composables/nitro/useRedis.ts rename to packages/nuxt/src/runtime/modules/bullmq/composables/nitro/useBullMQRedisClient.ts index 3f67de5e..a722fc82 100644 --- a/packages/nuxt/src/runtime/modules/bullmq/composables/nitro/useRedis.ts +++ b/packages/nuxt/src/runtime/modules/bullmq/composables/nitro/useBullMQRedisClient.ts @@ -2,7 +2,7 @@ import { Redis } from 'ioredis' import type { RedisOptions } from 'ioredis' import type { H3Event } from 'h3' -import { globalContext } from '../../../../composables/useClient' +import { usePergelContext } from '../../../../server/utils/usePergelContext' import type { PergelGlobalContextOmitModule } from '#pergel/types' export async function useBullMQRedisClient( @@ -10,7 +10,7 @@ export async function useBullMQRedisClient( params: { options: RedisOptions context?: PergelGlobalContextOmitModule - event?: H3Event + event: H3Event | false }, ) { const context = params.context ?? this @@ -18,7 +18,7 @@ export async function useBullMQRedisClient( if (!context || !context.projectName) throw new Error('Pergel BullMQ is not defined') - const { selectData } = await globalContext<'bullmq'>({ + const { selectData } = await usePergelContext<'bullmq'>({ projectName: context.projectName, moduleName: 'bullmq', }, (runtime) => { diff --git a/packages/nuxt/src/runtime/modules/bullmq/composables/nitro/useScheduler.ts b/packages/nuxt/src/runtime/modules/bullmq/composables/nitro/useScheduler.ts index e9dc513e..a9a4bcd3 100644 --- a/packages/nuxt/src/runtime/modules/bullmq/composables/nitro/useScheduler.ts +++ b/packages/nuxt/src/runtime/modules/bullmq/composables/nitro/useScheduler.ts @@ -4,8 +4,10 @@ import type { NitroApp } from 'nitropack' import type { Job } from 'bullmq' import { Queue, Worker } from 'bullmq' -import { getGlobalContextItem } from '../../../../composables/useClient' -import { useBullMQRedisClient } from './useRedis' +import type { H3Event } from 'h3' + +import { getPergelContext } from '../../../../server/utils/getPergelContext' +import { useBullMQRedisClient } from './useBullMQRedisClient' import type { PergelGlobalContextOmitModule } from '#pergel/types' export type Scheduler = ReturnType> @@ -21,17 +23,27 @@ export function useScheduler( this: PergelGlobalContextOmitModule & { nitro?: NitroApp }, - pergel?: PergelGlobalContextOmitModule, + params: { + pergel?: PergelGlobalContextOmitModule + /** + * If server/plugin in used, event false + */ + event: H3Event | false + }, ) { - const _pergel: PergelGlobalContextOmitModule = pergel || this + const _pergel: PergelGlobalContextOmitModule = params.pergel || this if (!_pergel) throw new Error('Pergel not found') - let redisConnection = getGlobalContextItem.call({ - ..._pergel, - moduleName: 'bullmq', - })?.bullmq?.client || null + let redisConnection = params.event + ? getPergelContext.call({ + moduleName: 'bullmq', + projectName: _pergel.projectName, + }, { + event: params.event, + })?.bullmq?.client || null + : null function onErrorDefault(source: string) { return (error: Error) => { @@ -124,6 +136,7 @@ export function useScheduler( maxRetriesPerRequest: null, enableReadyCheck: false, }, + event: false, }) if (client && !redisConnection) diff --git a/packages/nuxt/src/runtime/modules/bullmq/index.ts b/packages/nuxt/src/runtime/modules/bullmq/index.ts index 3fb07299..fd2b96ec 100644 --- a/packages/nuxt/src/runtime/modules/bullmq/index.ts +++ b/packages/nuxt/src/runtime/modules/bullmq/index.ts @@ -66,7 +66,7 @@ export interface BullmqContext { return { nitroPlugin: (definePergelNitroBullMQPlugin).bind(ctx), useScheduler: (useScheduler).bind(ctx), - client: getGlobalContextItem.bind({ + client: getPergelContext.bind({ ...ctx, moduleName: '${options.moduleName}', }), diff --git a/packages/nuxt/src/runtime/modules/drizzle/drivers/postgres/export.ts b/packages/nuxt/src/runtime/modules/drizzle/drivers/postgres/export.ts index aba82173..463dc51f 100644 --- a/packages/nuxt/src/runtime/modules/drizzle/drivers/postgres/export.ts +++ b/packages/nuxt/src/runtime/modules/drizzle/drivers/postgres/export.ts @@ -3,24 +3,23 @@ import type { H3Event } from 'h3' import postgres from 'postgres' import consola from 'consola' import { sql } from 'drizzle-orm' -import type { NitroApp } from 'nitropack' import type { PostgresJSOptions } from '../../types' -import { globalContext } from '../../../../composables/useClient' +import { usePergelContext } from '../../../../server/utils/usePergelContext' + import type { PergelGlobalContextOmitModule } from '#pergel/types' export async function connectPostgresJS(this: PergelGlobalContextOmitModule, params: { pgOptions?: PostgresJSOptions - event?: H3Event + event: H3Event | false context?: PergelGlobalContextOmitModule drizzleConfig?: Parameters[1] - nitro?: NitroApp }) { const context = params.context ?? this if (!context || !context.projectName) throw new Error('Pergel is not defined') - const { selectData } = await globalContext<'drizzle'>({ + const { selectData } = await usePergelContext<'drizzle'>({ moduleName: 'drizzle', projectName: context.projectName, }, (runtime) => { diff --git a/packages/nuxt/src/runtime/modules/drizzle/index.ts b/packages/nuxt/src/runtime/modules/drizzle/index.ts index 6439eaf6..5a57f058 100644 --- a/packages/nuxt/src/runtime/modules/drizzle/index.ts +++ b/packages/nuxt/src/runtime/modules/drizzle/index.ts @@ -175,6 +175,10 @@ export default definePergelModule({ ${camelCase(options._driver.name ?? 'postgresjs')}() { return { connect: connectPostgresJS.bind(ctx), + client: getPergelContext.bind({ + ...ctx, + moduleName: '${options.moduleName}', + }), } }, ` @@ -247,10 +251,6 @@ export default definePergelModule({ return { ${returnDriver} schema: tables${pascalCase(options.projectName)}, - client: getGlobalContextItem.bind({ - ...ctx, - moduleName: '${options.moduleName}', - }), } } `, diff --git a/packages/nuxt/src/runtime/modules/index.ts b/packages/nuxt/src/runtime/modules/index.ts new file mode 100644 index 00000000..0f8fba73 --- /dev/null +++ b/packages/nuxt/src/runtime/modules/index.ts @@ -0,0 +1,21 @@ +import type { + S3Client, +} from '@aws-sdk/client-s3' +import type { Redis } from 'ioredis' +import type { SESClient } from '@aws-sdk/client-ses' +import type { PostgresJsDatabase } from 'drizzle-orm/postgres-js' + +export interface PergelH3ContextItem { + s3?: { + client?: S3Client + } + drizzle?: { + postgressJSClient: PostgresJsDatabase + } + bullmq?: { + client?: Redis + } + ses?: { + client?: SESClient + } +} diff --git a/packages/nuxt/src/runtime/modules/ses/composables/usePergelSES.ts b/packages/nuxt/src/runtime/modules/ses/composables/usePergelSES.ts index a448b1c3..078ca59f 100644 --- a/packages/nuxt/src/runtime/modules/ses/composables/usePergelSES.ts +++ b/packages/nuxt/src/runtime/modules/ses/composables/usePergelSES.ts @@ -1,7 +1,7 @@ import { CreateTemplateCommand, type CreateTemplateCommandInput, SESClient, SendEmailCommand, type SendEmailCommandInput } from '@aws-sdk/client-ses' import type { H3Event } from 'h3' import { templates } from '../templates' -import { globalContext } from '../../../composables/useClient' +import { usePergelContext } from '../../../server/utils/usePergelContext' import type { PergelGlobalContextOmitModule } from '#pergel/types' export interface Credentials { @@ -11,8 +11,8 @@ export interface Credentials { export async function usePergelSES( this: PergelGlobalContextOmitModule, - event?: H3Event, - params?: { + params: { + event: H3Event | false context?: PergelGlobalContextOmitModule }, ) { @@ -21,7 +21,7 @@ export async function usePergelSES( if (!context || !context.projectName) throw new Error('Pergel is not defined') - const { selectData } = await globalContext<'ses'>({ + const { selectData } = await usePergelContext<'ses'>({ moduleName: 'ses', projectName: context.projectName, }, (runtime) => { @@ -39,7 +39,7 @@ export async function usePergelSES( }), }, } - }, event) + }, params.event) if (!selectData?.ses?.client) throw new Error('SES is not defined') diff --git a/packages/nuxt/src/runtime/modules/ses/index.ts b/packages/nuxt/src/runtime/modules/ses/index.ts index f9f7c435..074fa535 100644 --- a/packages/nuxt/src/runtime/modules/ses/index.ts +++ b/packages/nuxt/src/runtime/modules/ses/index.ts @@ -29,7 +29,7 @@ export default definePergelModule({ function ses() { return { use: usePergelSES.bind(ctx), - client: getGlobalContextItem.bind({ + client: getPergelContext.bind({ ...ctx, moduleName: '${options.moduleName}', }), diff --git a/packages/nuxt/src/runtime/plugin.ts b/packages/nuxt/src/runtime/plugin.ts index 3cd306c6..dd9e3b27 100644 --- a/packages/nuxt/src/runtime/plugin.ts +++ b/packages/nuxt/src/runtime/plugin.ts @@ -1,5 +1,9 @@ import { defineNuxtPlugin } from '#imports' -export default defineNuxtPlugin(() => { - // console.warn('Plugin injected by my-module!') +export default defineNuxtPlugin({ + order: -40, + enforce: 'pre', + setup() { + + }, }) diff --git a/packages/nuxt/src/runtime/server/utils/getPergelContext.ts b/packages/nuxt/src/runtime/server/utils/getPergelContext.ts new file mode 100644 index 00000000..2b49bb80 --- /dev/null +++ b/packages/nuxt/src/runtime/server/utils/getPergelContext.ts @@ -0,0 +1,17 @@ +import type { H3Event } from 'h3' + +export function getPergelContext(this: { + projectName: string + moduleName?: string +}, params: { + event: H3Event +}) { + if (!params.event.context.pergelContext) + return {} + + if (this.projectName && this.moduleName) + return (params.event.context.pergelContext as any)[this.projectName][this.moduleName] ?? {} + + if (this.projectName) + return params.event.context.pergelContext[this.projectName] ?? {} +} diff --git a/packages/nuxt/src/runtime/server/utils/usePergelContext.ts b/packages/nuxt/src/runtime/server/utils/usePergelContext.ts new file mode 100644 index 00000000..370c1415 --- /dev/null +++ b/packages/nuxt/src/runtime/server/utils/usePergelContext.ts @@ -0,0 +1,74 @@ +import type { H3Event } from 'h3' + +import type { S3ModuleRuntimeConfig } from '../../modules/S3/types' +import type { PostgresJSModuleRuntimeConfig } from '../../modules/drizzle/types' +import { usePergelRuntime } from '../../core/utils/usePergelRuntime' +import type { BullMQModuleRuntimeConfig } from '../../modules/bullmq/types' +import type { SesModuleRuntimeConfig } from '../../modules/ses/types' +import type { PergelH3ContextItem } from '../../modules' +import type { PergelGlobalContext } from '#pergel/types' + +interface RuntimeConfigType { + s3?: S3ModuleRuntimeConfig + drizzle?: PostgresJSModuleRuntimeConfig + bullmq?: BullMQModuleRuntimeConfig + ses?: SesModuleRuntimeConfig +} + +type RuntimeConfigTypeKeys = keyof RuntimeConfigType + +export async function usePergelContext( + data: PergelGlobalContext, + clientObject: (runtime: RuntimeConfigType[T]) => PergelH3ContextItem, + event: H3Event | false, + additionalMapValues?: object, +) { + // const mergedProjectName = camelCase(`${data.moduleName}-${data.projectName}`) + + if (event) { + let moduleData = event.context.pergelContext[data.projectName] as PergelH3ContextItem + const { selectProject } = usePergelRuntime({ + moduleName: data.moduleName, + projectName: data.projectName, + }, event) + + if (moduleData) { + return { + selectData: moduleData, + runtime: selectProject, + } + } + + const returnData = clientObject(selectProject as RuntimeConfigType[T]) as PergelH3ContextItem[T] + if (!returnData) + throw new Error(`${data.moduleName} is not defined`) + + moduleData ??= {} as PergelH3ContextItem + moduleData = returnData as PergelH3ContextItem + + event.context.pergelContext[data.projectName] = { + ...returnData as PergelH3ContextItem, + ...additionalMapValues, + } + + return { + selectData: moduleData, + runtime: selectProject, + } + } + else { + const { selectProject } = usePergelRuntime({ + moduleName: data.moduleName, + projectName: data.projectName, + }) + + const returnData = clientObject(selectProject as RuntimeConfigType[T]) as PergelH3ContextItem[T] + if (!returnData) + throw new Error(`${data.moduleName} is not defined`) + + return { + selectData: returnData as PergelH3ContextItem, + runtime: selectProject, + } + } +} diff --git a/packages/nuxt/src/runtime/serverContext/index.ts b/packages/nuxt/src/runtime/serverContext/index.ts new file mode 100644 index 00000000..5a8397ea --- /dev/null +++ b/packages/nuxt/src/runtime/serverContext/index.ts @@ -0,0 +1,7 @@ +import type { H3Event } from 'h3' +import { defineEventHandler } from 'h3' + +export default defineEventHandler(async (event: H3Event) => { + if (!event.context.pergelContext) + event.context.pergelContext = {} +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9b638054..41cf591f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,7 +6,7 @@ settings: overrides: '@pergel/nuxt': link:./packages/nuxt - rollup: ^4.2.0 + unbuild: 3.0.0-rc.1 importers: @@ -233,14 +233,17 @@ importers: specifier: ^1.0.8 version: 1.0.8(nuxt@3.9.3)(rollup@4.9.6)(vite@5.0.11) '@nuxt/kit': - specifier: ^3.9.1 + specifier: ^3.9.3 version: 3.9.3(rollup@4.9.6) '@vueuse/core': - specifier: ^10.7.1 + specifier: ^10.7.2 version: 10.7.2(vue@3.4.15) defu: specifier: ^6.1.4 version: 6.1.4 + globby: + specifier: ^14.0.0 + version: 14.0.0 local-pkg: specifier: ^0.5.0 version: 0.5.0 @@ -248,7 +251,7 @@ importers: specifier: ^9.0.3 version: 9.0.3 pathe: - specifier: ^1.1.1 + specifier: ^1.1.2 version: 1.1.2 sirv: specifier: ^2.0.4 @@ -258,19 +261,19 @@ importers: version: 2.3.4 devDependencies: '@aws-sdk/client-ses': - specifier: ^3.485.0 - version: 3.496.0 + specifier: ^3.499.0 + version: 3.499.0 '@faker-js/faker': specifier: ^8.3.1 version: 8.3.1 '@iconify-json/carbon': - specifier: ^1.1.27 + specifier: ^1.1.28 version: 1.1.28 '@iconify-json/ph': - specifier: ^1.1.9 + specifier: ^1.1.10 version: 1.1.10 '@json2csv/node': - specifier: ^7.0.4 + specifier: ^7.0.5 version: 7.0.5 '@lucia-auth/adapter-drizzle': specifier: 1.0.0-beta.6 @@ -280,19 +283,19 @@ importers: version: 3.0.0-beta.9(lucia@3.0.0-beta.14)(pg@8.11.3)(postgres@3.4.3) '@nuxt/devtools-ui-kit': specifier: ^1.0.8 - version: 1.0.8(@nuxt/devtools@1.0.8)(@vue/compiler-core@3.4.15)(nuxt@3.9.3)(postcss@8.4.33)(rollup@4.9.6)(vite@5.0.11)(vue@3.4.15)(webpack@5.89.0) + version: 1.0.8(@nuxt/devtools@1.0.8)(@vue/compiler-core@3.4.15)(nuxt@3.9.3)(postcss@8.4.33)(rollup@4.9.6)(vite@5.0.11)(vue@3.4.15)(webpack@5.90.0) '@nuxt/module-builder': specifier: ^0.5.5 version: 0.5.5(@nuxt/kit@3.9.3)(nuxi@3.10.0)(typescript@5.3.3) '@nuxt/schema': - specifier: ^3.9.1 + specifier: ^3.9.3 version: 3.9.3(rollup@4.9.6) '@nuxt/test-utils': - specifier: ^3.9.0 - version: 3.10.0(h3@1.10.0)(rollup@4.9.6)(vite@5.0.11)(vitest@1.2.1)(vue-router@4.2.5)(vue@3.4.15) + specifier: ^3.10.0 + version: 3.10.0(h3@1.10.1)(rollup@4.9.6)(vite@5.0.11)(vitest@1.2.1)(vue-router@4.2.5)(vue@3.4.15) '@pergel/cli': - specifier: ^0.6.1 - version: 0.6.1 + specifier: ^0.6.2 + version: 0.6.2 '@pergel/graphql': specifier: workspace:^ version: link:../graphql @@ -303,19 +306,22 @@ importers: specifier: workspace:^ version: link:../s3 '@types/node': - specifier: ^20.10.7 - version: 20.11.5 + specifier: ^20.11.6 + version: 20.11.6 '@types/node-cron': specifier: ^3.0.11 version: 3.0.11 bullmq: - specifier: ^5.1.1 - version: 5.1.4 + specifier: ^5.1.5 + version: 5.1.5 esbuild-plugin-file-path-extensions: specifier: ^2.0.0 version: 2.0.0 + h3: + specifier: ^1.10.1 + version: 1.10.1 json-schema-to-typescript: - specifier: ^13.1.1 + specifier: ^13.1.2 version: 13.1.2 lucia: specifier: 3.0.0-beta.14 @@ -324,10 +330,10 @@ importers: specifier: ^3.0.3 version: 3.0.3 nuxt: - specifier: ^3.9.1 - version: 3.9.3(@types/node@20.11.5)(eslint@8.56.0)(rollup@4.9.6)(typescript@5.3.3)(vite@5.0.11) + specifier: ^3.9.3 + version: 3.9.3(@types/node@20.11.6)(eslint@8.56.0)(rollup@4.9.6)(typescript@5.3.3)(vite@5.0.11) oslo: - specifier: ^0.27.0 + specifier: ^0.27.1 version: 0.27.1 p-timeout: specifier: ^6.1.2 @@ -336,8 +342,8 @@ importers: specifier: ^5.3.3 version: 5.3.3 vitest: - specifier: ^1.1.3 - version: 1.2.1(@types/node@20.11.5) + specifier: ^1.2.1 + version: 1.2.1(@types/node@20.11.6) packages/nuxt/build-script/drizzle: {} @@ -867,6 +873,57 @@ packages: tslib: 2.6.2 transitivePeerDependencies: - aws-crt + dev: false + + /@aws-sdk/client-ses@3.499.0: + resolution: {integrity: sha512-KibTMz6HO75niU4Rpp9e1fGpfuwLOhCuaHM4ddnn6fsE76HJnu0RcnORdt+KGC0HLUcGwiw1Z4pQXC0MCGTsSA==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sts': 3.499.0 + '@aws-sdk/core': 3.496.0 + '@aws-sdk/credential-provider-node': 3.499.0 + '@aws-sdk/middleware-host-header': 3.496.0 + '@aws-sdk/middleware-logger': 3.496.0 + '@aws-sdk/middleware-recursion-detection': 3.496.0 + '@aws-sdk/middleware-signing': 3.496.0 + '@aws-sdk/middleware-user-agent': 3.496.0 + '@aws-sdk/region-config-resolver': 3.496.0 + '@aws-sdk/types': 3.496.0 + '@aws-sdk/util-endpoints': 3.496.0 + '@aws-sdk/util-user-agent-browser': 3.496.0 + '@aws-sdk/util-user-agent-node': 3.496.0 + '@smithy/config-resolver': 2.1.1 + '@smithy/core': 1.3.1 + '@smithy/fetch-http-handler': 2.4.1 + '@smithy/hash-node': 2.1.1 + '@smithy/invalid-dependency': 2.1.1 + '@smithy/middleware-content-length': 2.1.1 + '@smithy/middleware-endpoint': 2.4.1 + '@smithy/middleware-retry': 2.1.1 + '@smithy/middleware-serde': 2.1.1 + '@smithy/middleware-stack': 2.1.1 + '@smithy/node-config-provider': 2.2.1 + '@smithy/node-http-handler': 2.3.1 + '@smithy/protocol-http': 3.1.1 + '@smithy/smithy-client': 2.3.1 + '@smithy/types': 2.9.1 + '@smithy/url-parser': 2.1.1 + '@smithy/util-base64': 2.1.1 + '@smithy/util-body-length-browser': 2.1.1 + '@smithy/util-body-length-node': 2.2.1 + '@smithy/util-defaults-mode-browser': 2.1.1 + '@smithy/util-defaults-mode-node': 2.1.1 + '@smithy/util-endpoints': 1.1.1 + '@smithy/util-retry': 2.1.1 + '@smithy/util-utf8': 2.1.1 + '@smithy/util-waiter': 2.1.1 + fast-xml-parser: 4.2.5 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: true /@aws-sdk/client-sso@3.496.0: resolution: {integrity: sha512-fuaMuxKg7CMUsP9l3kxYWCOxFsBjdA0xj5nlikaDm1661/gB4KkAiGqRY8LsQkpNXvXU8Nj+f7oCFADFyGYzyw==} @@ -958,6 +1015,55 @@ packages: tslib: 2.6.2 transitivePeerDependencies: - aws-crt + dev: false + + /@aws-sdk/client-sts@3.499.0: + resolution: {integrity: sha512-Eyj9STw2DXMtXL5V/v0HYHO6+JjGPi257M5IYyxwqlvRchq6jbOsedobfxclB/gBUyBRtZdnyAIS8uCKjb4kpA==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/core': 3.496.0 + '@aws-sdk/credential-provider-node': 3.499.0 + '@aws-sdk/middleware-host-header': 3.496.0 + '@aws-sdk/middleware-logger': 3.496.0 + '@aws-sdk/middleware-recursion-detection': 3.496.0 + '@aws-sdk/middleware-user-agent': 3.496.0 + '@aws-sdk/region-config-resolver': 3.496.0 + '@aws-sdk/types': 3.496.0 + '@aws-sdk/util-endpoints': 3.496.0 + '@aws-sdk/util-user-agent-browser': 3.496.0 + '@aws-sdk/util-user-agent-node': 3.496.0 + '@smithy/config-resolver': 2.1.1 + '@smithy/core': 1.3.1 + '@smithy/fetch-http-handler': 2.4.1 + '@smithy/hash-node': 2.1.1 + '@smithy/invalid-dependency': 2.1.1 + '@smithy/middleware-content-length': 2.1.1 + '@smithy/middleware-endpoint': 2.4.1 + '@smithy/middleware-retry': 2.1.1 + '@smithy/middleware-serde': 2.1.1 + '@smithy/middleware-stack': 2.1.1 + '@smithy/node-config-provider': 2.2.1 + '@smithy/node-http-handler': 2.3.1 + '@smithy/protocol-http': 3.1.1 + '@smithy/smithy-client': 2.3.1 + '@smithy/types': 2.9.1 + '@smithy/url-parser': 2.1.1 + '@smithy/util-base64': 2.1.1 + '@smithy/util-body-length-browser': 2.1.1 + '@smithy/util-body-length-node': 2.2.1 + '@smithy/util-defaults-mode-browser': 2.1.1 + '@smithy/util-defaults-mode-node': 2.1.1 + '@smithy/util-endpoints': 1.1.1 + '@smithy/util-middleware': 2.1.1 + '@smithy/util-retry': 2.1.1 + '@smithy/util-utf8': 2.1.1 + fast-xml-parser: 4.2.5 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: true /@aws-sdk/core@3.496.0: resolution: {integrity: sha512-yT+ug7Cw/3eJi7x2es0+46x12+cIJm5Xv+GPWsrTFD1TKgqO/VPEgfDtHFagDNbFmjNQA65Ygc/kEdIX9ICX/A==} @@ -1013,6 +1119,26 @@ packages: tslib: 2.6.2 transitivePeerDependencies: - aws-crt + dev: false + + /@aws-sdk/credential-provider-node@3.499.0: + resolution: {integrity: sha512-EsiSevVmcVSMIq7D9siSH/XVc5I0vMntg1rx6KQdng1Fq8X/RBL5t9wSWEwOl7KFo5HlEsWrLWIpo1WHuzIL/w==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/credential-provider-env': 3.496.0 + '@aws-sdk/credential-provider-ini': 3.496.0 + '@aws-sdk/credential-provider-process': 3.496.0 + '@aws-sdk/credential-provider-sso': 3.496.0 + '@aws-sdk/credential-provider-web-identity': 3.496.0 + '@aws-sdk/types': 3.496.0 + '@smithy/credential-provider-imds': 2.2.1 + '@smithy/property-provider': 2.1.1 + '@smithy/shared-ini-file-loader': 2.3.1 + '@smithy/types': 2.9.1 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: true /@aws-sdk/credential-provider-process@3.496.0: resolution: {integrity: sha512-/YZscCTGOKVmGr916Th4XF8Sz6JDtZ/n2loHG9exok9iy/qIbACsTRNLP9zexPxhPoue/oZqecY5xbVljfY34A==} @@ -2166,6 +2292,14 @@ packages: requiresBuild: true optional: true + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + optional: true + /@esbuild/android-arm64@0.18.20: resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} @@ -2183,6 +2317,14 @@ packages: requiresBuild: true optional: true + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + /@esbuild/android-arm@0.18.20: resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} @@ -2200,6 +2342,14 @@ packages: requiresBuild: true optional: true + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + /@esbuild/android-x64@0.18.20: resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} @@ -2217,6 +2367,14 @@ packages: requiresBuild: true optional: true + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + /@esbuild/darwin-arm64@0.18.20: resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} @@ -2234,6 +2392,14 @@ packages: requiresBuild: true optional: true + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + /@esbuild/darwin-x64@0.18.20: resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} @@ -2251,6 +2417,14 @@ packages: requiresBuild: true optional: true + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + /@esbuild/freebsd-arm64@0.18.20: resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} @@ -2268,6 +2442,14 @@ packages: requiresBuild: true optional: true + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + /@esbuild/freebsd-x64@0.18.20: resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} @@ -2285,6 +2467,14 @@ packages: requiresBuild: true optional: true + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + /@esbuild/linux-arm64@0.18.20: resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} @@ -2302,6 +2492,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-arm@0.18.20: resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} @@ -2319,6 +2517,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-ia32@0.18.20: resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} @@ -2336,6 +2542,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-loong64@0.18.20: resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} @@ -2353,6 +2567,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-mips64el@0.18.20: resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} @@ -2370,6 +2592,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-ppc64@0.18.20: resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} @@ -2387,6 +2617,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-riscv64@0.18.20: resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} @@ -2404,6 +2642,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-s390x@0.18.20: resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} @@ -2421,6 +2667,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-x64@0.18.20: resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} @@ -2438,6 +2692,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/netbsd-x64@0.18.20: resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} @@ -2455,6 +2717,14 @@ packages: requiresBuild: true optional: true + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + optional: true + /@esbuild/openbsd-x64@0.18.20: resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} @@ -2472,6 +2742,14 @@ packages: requiresBuild: true optional: true + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + optional: true + /@esbuild/sunos-x64@0.18.20: resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} @@ -2489,6 +2767,14 @@ packages: requiresBuild: true optional: true + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + optional: true + /@esbuild/win32-arm64@0.18.20: resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} @@ -2506,6 +2792,14 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + /@esbuild/win32-ia32@0.18.20: resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} @@ -2523,17 +2817,33 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + /@esbuild/win32-x64@0.18.20: resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true - dev: false + dev: false + optional: true + + /@esbuild/win32-x64@0.19.11: + resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true optional: true - /@esbuild/win32-x64@0.19.11: - resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -3325,6 +3635,20 @@ packages: local-pkg: 0.4.3 transitivePeerDependencies: - supports-color + dev: false + + /@iconify/utils@2.1.17: + resolution: {integrity: sha512-YSzYJwMsCUq1kayUqhQnmJ8mrz4R+CZp/nwc68CEEgWG20eqDplAwyIHKVAzrIRUBzgfgYkGgJSs/z+RaKkKtw==} + dependencies: + '@antfu/install-pkg': 0.1.1 + '@antfu/utils': 0.7.7 + '@iconify/types': 2.0.0 + debug: 4.3.4 + kolorist: 1.8.0 + local-pkg: 0.5.0 + transitivePeerDependencies: + - supports-color + dev: true /@iconify/vue@4.1.1(vue@3.4.15): resolution: {integrity: sha512-RL85Bm/DAe8y6rT6pux7D2FJSiUEM/TPfyK7GrbAOfTSwrhvwJW+S5yijdGcmtXouA8MtuH9C7l4hiSE4mLMjg==} @@ -3914,7 +4238,7 @@ packages: /@miyaneee/rollup-plugin-json5@1.2.0(rollup@4.9.6): resolution: {integrity: sha512-JjTIaXZp9WzhUHpElrqPnl1AzBi/rvRs065F71+aTmlqvTMVkdbjZ8vfFl4nRlgJy+TPBw69ZK4pwFdmOAt4aA==} peerDependencies: - rollup: ^4.2.0 + rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.9.6) json5: 2.2.3 @@ -4321,22 +4645,37 @@ packages: resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /@npmcli/package-json@5.0.0: + resolution: {integrity: sha512-OI2zdYBLhQ7kpNPaJxiflofYIpkNLi+lnGdzqUOfRmCF3r2l1nadcjtCYMJKv/Utm/ZtlffaUuTiAktPHbc17g==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@npmcli/git': 5.0.4 + glob: 10.3.10 + hosted-git-info: 7.0.1 + json-parse-even-better-errors: 3.0.1 + normalize-package-data: 6.0.0 + proc-log: 3.0.0 + semver: 7.5.4 + transitivePeerDependencies: + - bluebird + /@npmcli/promise-spawn@7.0.1: resolution: {integrity: sha512-P4KkF9jX3y+7yFUxgcUdDtLy+t4OlDGuEBLNs57AZsfSfg+uV6MLndqGpnl4831ggaEdXwR50XFoZP4VFtHolg==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: which: 4.0.0 - /@npmcli/run-script@7.0.3: - resolution: {integrity: sha512-ZMWGLHpzMq3rBGIwPyeaoaleaLMvrBrH8nugHxTi5ACkJZXTxXPtVuEH91ifgtss5hUwJQ2VDnzDBWPmz78rvg==} + /@npmcli/run-script@7.0.4: + resolution: {integrity: sha512-9ApYM/3+rBt9V80aYg6tZfzj3UWdiYyCt7gJUD1VJKvWF5nwKDSICXbYIQbspFTq6TOpbsEtIC0LArB8d9PFmg==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: '@npmcli/node-gyp': 3.0.0 + '@npmcli/package-json': 5.0.0 '@npmcli/promise-spawn': 7.0.1 node-gyp: 10.0.1 - read-package-json-fast: 3.0.2 which: 4.0.0 transitivePeerDependencies: + - bluebird - supports-color /@nrwl/tao@17.2.8: @@ -4363,8 +4702,8 @@ packages: '@nuxt/kit': 3.9.3(rollup@4.9.6) '@nuxt/schema': 3.9.3(rollup@4.9.6) execa: 7.2.0 - nuxt: 3.9.3(@types/node@20.11.5)(eslint@8.56.0)(rollup@4.9.6)(typescript@5.3.3)(vite@5.0.11) - vite: 5.0.11(@types/node@20.11.5) + nuxt: 3.9.3(@types/node@20.11.6)(eslint@8.56.0)(rollup@4.9.6)(typescript@5.3.3)(vite@5.0.11) + vite: 5.0.11(@types/node@20.11.6) transitivePeerDependencies: - rollup - supports-color @@ -4385,7 +4724,7 @@ packages: - supports-color dev: true - /@nuxt/devtools-ui-kit@1.0.8(@nuxt/devtools@1.0.8)(@vue/compiler-core@3.4.15)(nuxt@3.9.3)(postcss@8.4.33)(rollup@4.9.6)(vite@5.0.11)(vue@3.4.15)(webpack@5.89.0): + /@nuxt/devtools-ui-kit@1.0.8(@nuxt/devtools@1.0.8)(@vue/compiler-core@3.4.15)(nuxt@3.9.3)(postcss@8.4.33)(rollup@4.9.6)(vite@5.0.11)(vue@3.4.15)(webpack@5.90.0): resolution: {integrity: sha512-oPkyQ+nkvCvveWxHWAHpZt9uEycHFD00Rh46KYKe5KLl81Wr/L3KacIIYpiocPog0YZZhjvX5CmrIe8zXopNOA==} peerDependencies: '@nuxt/devtools': 1.0.8 @@ -4399,7 +4738,7 @@ packages: '@nuxt/kit': 3.9.3(rollup@4.9.6) '@nuxtjs/color-mode': 3.3.2(rollup@4.9.6) '@unocss/core': 0.58.3 - '@unocss/nuxt': 0.58.3(postcss@8.4.33)(rollup@4.9.6)(vite@5.0.11)(webpack@5.89.0) + '@unocss/nuxt': 0.58.3(postcss@8.4.33)(rollup@4.9.6)(vite@5.0.11)(webpack@5.90.0) '@unocss/preset-attributify': 0.58.3 '@unocss/preset-icons': 0.58.3 '@unocss/preset-mini': 0.58.3 @@ -4476,8 +4815,8 @@ packages: launch-editor: 2.6.1 local-pkg: 0.5.0 magicast: 0.3.3 - nuxt: 3.9.3(@types/node@20.11.5)(eslint@8.56.0)(rollup@4.9.6)(typescript@5.3.3)(vite@5.0.11) - nypm: 0.3.4 + nuxt: 3.9.3(@types/node@20.11.6)(eslint@8.56.0)(rollup@4.9.6)(typescript@5.3.3)(vite@5.0.11) + nypm: 0.3.6 ohash: 1.1.3 pacote: 17.0.6 pathe: 1.1.2 @@ -4489,8 +4828,8 @@ packages: simple-git: 3.22.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.9.6) - vite: 5.0.11(@types/node@20.11.5) - vite-plugin-inspect: 0.8.1(@nuxt/kit@3.9.3)(rollup@4.9.6)(vite@5.0.11) + vite: 5.0.11(@types/node@20.11.6) + vite-plugin-inspect: 0.8.3(@nuxt/kit@3.9.3)(rollup@4.9.6)(vite@5.0.11) vite-plugin-vue-inspector: 4.0.2(vite@5.0.11) which: 3.0.1 ws: 8.16.0 @@ -4527,7 +4866,7 @@ packages: local-pkg: 0.5.0 magicast: 0.3.3 nuxt: 3.9.3(@types/node@20.11.5)(eslint@8.56.0)(typescript@5.3.3)(vite@5.0.11) - nypm: 0.3.4 + nypm: 0.3.6 ohash: 1.1.3 pacote: 17.0.6 pathe: 1.1.2 @@ -4540,7 +4879,7 @@ packages: sirv: 2.0.4 unimport: 3.7.1(rollup@4.9.6) vite: 5.0.11(@types/node@20.11.5) - vite-plugin-inspect: 0.8.1(@nuxt/kit@3.9.3)(rollup@4.9.6)(vite@5.0.11) + vite-plugin-inspect: 0.8.3(@nuxt/kit@3.9.3)(vite@5.0.11) vite-plugin-vue-inspector: 4.0.2(vite@5.0.11) which: 3.0.1 ws: 8.16.0 @@ -4591,7 +4930,7 @@ packages: mlly: 1.5.0 nuxi: 3.10.0 pathe: 1.1.2 - unbuild: 2.0.0(typescript@5.3.3) + unbuild: 3.0.0-rc.1(typescript@5.3.3) transitivePeerDependencies: - sass - supports-color @@ -4642,7 +4981,7 @@ packages: - rollup - supports-color - /@nuxt/test-utils@3.10.0(h3@1.10.0)(rollup@4.9.6)(vite@5.0.11)(vitest@1.2.1)(vue-router@4.2.5)(vue@3.4.15): + /@nuxt/test-utils@3.10.0(h3@1.10.1)(rollup@4.9.6)(vite@5.0.11)(vitest@1.2.1)(vue-router@4.2.5)(vue@3.4.15): resolution: {integrity: sha512-9ZKKrccCUyZP0P9/BdTNHWwTRvIbBnrmDvqvO0dQpTiUhgDVeO1vdG40o4e4olw7sbzUP51C8uA0OkRur/zBvQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -4689,7 +5028,7 @@ packages: execa: 8.0.1 fake-indexeddb: 5.0.2 get-port-please: 3.1.2 - h3: 1.10.0 + h3: 1.10.1 local-pkg: 0.5.0 magic-string: 0.30.5 node-fetch-native: 1.6.1 @@ -4702,9 +5041,9 @@ packages: ufo: 1.3.2 unenv: 1.9.0 unplugin: 1.6.0 - vite: 5.0.11(@types/node@20.11.5) - vitest: 1.2.1(@types/node@20.11.5) - vitest-environment-nuxt: 1.0.0(h3@1.10.0)(rollup@4.9.6)(vite@5.0.11)(vitest@1.2.1)(vue-router@4.2.5)(vue@3.4.15) + vite: 5.0.11(@types/node@20.11.6) + vitest: 1.2.1(@types/node@20.11.6) + vitest-environment-nuxt: 1.0.0(h3@1.10.1)(rollup@4.9.6)(vite@5.0.11)(vitest@1.2.1)(vue-router@4.2.5)(vue@3.4.15) vue: 3.4.15(typescript@5.3.3) vue-router: 4.2.5(vue@3.4.15) transitivePeerDependencies: @@ -4774,6 +5113,65 @@ packages: - vti - vue-tsc + /@nuxt/vite-builder@3.9.3(@types/node@20.11.6)(eslint@8.56.0)(rollup@4.9.6)(typescript@5.3.3)(vue@3.4.15): + resolution: {integrity: sha512-HruOrxn0g6TS31j3jycJvGZ7pt3JNEbcXNByVh7YJwQx6ToFX8kPWRu4LPeMhrLYvZzeUr2w3iELBECFxbDmvw==} + engines: {node: ^14.18.0 || >=16.10.0} + peerDependencies: + vue: ^3.3.4 + dependencies: + '@nuxt/kit': 3.9.3(rollup@4.9.6) + '@rollup/plugin-replace': 5.0.5(rollup@4.9.6) + '@vitejs/plugin-vue': 5.0.3(vite@5.0.11)(vue@3.4.15) + '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.0.11)(vue@3.4.15) + autoprefixer: 10.4.17(postcss@8.4.33) + clear: 0.1.0 + consola: 3.2.3 + cssnano: 6.0.3(postcss@8.4.33) + defu: 6.1.4 + esbuild: 0.19.12 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + externality: 1.0.2 + fs-extra: 11.2.0 + get-port-please: 3.1.2 + h3: 1.10.1 + knitwork: 1.0.0 + magic-string: 0.30.5 + mlly: 1.5.0 + ohash: 1.1.3 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + postcss: 8.4.33 + rollup-plugin-visualizer: 5.12.0(rollup@4.9.6) + std-env: 3.7.0 + strip-literal: 2.0.0 + ufo: 1.3.2 + unplugin: 1.6.0 + vite: 5.0.11(@types/node@20.11.6) + vite-node: 1.2.1(@types/node@20.11.6) + vite-plugin-checker: 0.6.2(eslint@8.56.0)(typescript@5.3.3)(vite@5.0.11) + vue: 3.4.15(typescript@5.3.3) + vue-bundle-renderer: 2.0.0 + transitivePeerDependencies: + - '@types/node' + - eslint + - less + - lightningcss + - meow + - optionator + - rollup + - sass + - stylelint + - stylus + - sugarss + - supports-color + - terser + - typescript + - vls + - vti + - vue-tsc + /@nuxtjs/color-mode@3.3.2(rollup@4.9.6): resolution: {integrity: sha512-BLpBfrYZngV2QWFQ4HNEFwAXa3Pno43Ge+2XHcZJTTa1Z4KzRLvOwku8yiyV3ovIaaXKGwduBdv3Z5Ocdp0/+g==} dependencies: @@ -4996,7 +5394,7 @@ packages: '@oku-ui/slot': 0.6.1(vue@3.4.15) '@oku-ui/use-composable': 0.6.1(vue@3.4.15) '@oku-ui/utils': 0.6.1(vue@3.4.15) - '@types/node': 20.11.5 + '@types/node': 20.11.6 vue: 3.4.15(typescript@5.3.3) transitivePeerDependencies: - '@vue/composition-api' @@ -5105,7 +5503,7 @@ packages: '@oku-ui/slot': 0.6.1(vue@3.4.15) '@oku-ui/use-composable': 0.6.1(vue@3.4.15) '@oku-ui/utils': 0.6.1(vue@3.4.15) - '@types/node': 20.11.5 + '@types/node': 20.11.6 aria-hidden: 1.2.3 vue: 3.4.15(typescript@5.3.3) transitivePeerDependencies: @@ -5762,23 +6160,6 @@ packages: webcrypto-core: 1.7.7 dev: false - /@pergel/cli@0.6.1: - resolution: {integrity: sha512-uJLChkRgo+SaF2DpfA0Ml7ul38B+MZfl2zhMH8e4jwLZqUVl41KxNviKaaWRqxSsbkkuvmXonwomk+Tbz6sBpw==} - engines: {node: '>=20'} - hasBin: true - dependencies: - '@antfu/ni': 0.21.12 - '@clack/prompts': 0.7.0 - c12: 1.6.1 - citty: 0.1.5 - consola: 3.2.3 - giget: 1.2.1 - globby: 14.0.0 - pathe: 1.1.2 - picocolors: 1.0.0 - shelljs: 0.8.5 - dev: true - /@pergel/cli@0.6.2: resolution: {integrity: sha512-aYvkhdarAhteUP4T7kkdCW7K8UNY4NjOl46AdqBtV3gdDQlehO3eHuw2BlZb1/ywtdhKl3d9EOvxvPblkLaKQQ==} engines: {node: '>=20'} @@ -5838,7 +6219,7 @@ packages: resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.2.0 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: rollup: optional: true @@ -5850,7 +6231,7 @@ packages: resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.2.0 + rollup: ^2.68.0||^3.0.0||^4.0.0 peerDependenciesMeta: rollup: optional: true @@ -5867,7 +6248,7 @@ packages: resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.2.0 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: rollup: optional: true @@ -5881,7 +6262,7 @@ packages: resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.2.0 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: rollup: optional: true @@ -5893,7 +6274,7 @@ packages: resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.2.0 + rollup: ^2.78.0||^3.0.0||^4.0.0 peerDependenciesMeta: rollup: optional: true @@ -5910,7 +6291,7 @@ packages: resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.2.0 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: rollup: optional: true @@ -5923,7 +6304,7 @@ packages: resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.2.0 + rollup: ^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: rollup: optional: true @@ -5937,7 +6318,7 @@ packages: resolution: {integrity: sha512-gpC4R1G9Ni92ZIRTexqbhX7U+9estZrbhP+9SRb0DW9xpB9g7j34r+J2hqrcW/lRI7dJaU84MxZM0Rt82tqYPQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.2.0 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: rollup: optional: true @@ -5949,7 +6330,7 @@ packages: resolution: {integrity: sha512-RpupciIeZMUqhgFE97ba0s98mOFS7CWzN3EJNhJkqSv9XLlWYtwVdtE6cDw6ASOF/sZVFS7kRJXftaqM2Vakdw==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.2.0 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: rollup: optional: true @@ -5971,7 +6352,7 @@ packages: resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.2.0 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: rollup: optional: true @@ -6690,20 +7071,20 @@ packages: /@types/fs-extra@8.1.5: resolution: {integrity: sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==} dependencies: - '@types/node': 20.11.5 + '@types/node': 20.11.6 dev: false /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.11.5 + '@types/node': 20.11.6 dev: true /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.11.5 + '@types/node': 20.11.6 /@types/js-yaml@4.0.9: resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} @@ -6740,6 +7121,11 @@ packages: dependencies: undici-types: 5.26.5 + /@types/node@20.11.6: + resolution: {integrity: sha512-+EOokTnksGVgip2PbYbr3xnR7kZigh4LbybAfBAw5BpnQ+FqBYUsvCEjYd70IXKlbohQ64mzEYmMtlWUY8q//Q==} + dependencies: + undici-types: 5.26.5 + /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true @@ -6777,7 +7163,7 @@ packages: /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.11.5 + '@types/node': 20.11.6 dev: false /@types/zen-observable@0.8.3: @@ -6964,7 +7350,7 @@ packages: '@unocss/core': 0.58.3 '@unocss/reset': 0.58.3 '@unocss/vite': 0.58.3(rollup@4.9.6)(vite@5.0.11) - vite: 5.0.11(@types/node@20.11.5) + vite: 5.0.11(@types/node@20.11.6) transitivePeerDependencies: - rollup dev: true @@ -7018,7 +7404,7 @@ packages: sirv: 2.0.4 dev: true - /@unocss/nuxt@0.58.3(postcss@8.4.33)(rollup@4.9.6)(vite@5.0.11)(webpack@5.89.0): + /@unocss/nuxt@0.58.3(postcss@8.4.33)(rollup@4.9.6)(vite@5.0.11)(webpack@5.90.0): resolution: {integrity: sha512-dDQVKb8VtJt2/8SE6/vK1foEaqoTXVUUVq/TT7rSRLHdvRSVKE7M2eeoTS+k38RYdeooMx9YCtzwZDxun6caeQ==} dependencies: '@nuxt/kit': 3.9.3(rollup@4.9.6) @@ -7033,7 +7419,7 @@ packages: '@unocss/preset-wind': 0.58.3 '@unocss/reset': 0.58.3 '@unocss/vite': 0.58.3(rollup@4.9.6)(vite@5.0.11) - '@unocss/webpack': 0.58.3(rollup@4.9.6)(webpack@5.89.0) + '@unocss/webpack': 0.58.3(rollup@4.9.6)(webpack@5.90.0) unocss: 0.58.3(@unocss/webpack@0.58.3)(postcss@8.4.33)(rollup@4.9.6)(vite@5.0.11) transitivePeerDependencies: - postcss @@ -7067,7 +7453,7 @@ packages: /@unocss/preset-icons@0.58.3: resolution: {integrity: sha512-SA4Eu4rOQ9+zUgIyK6RacS01ygm0PJWkqKlD8ccrBqEyZapqiU+vLL+v6X8YVjoZjR+5CVgcMD5Km7zEQgqXQw==} dependencies: - '@iconify/utils': 2.1.16 + '@iconify/utils': 2.1.17 '@unocss/core': 0.58.3 ofetch: 1.3.3 transitivePeerDependencies: @@ -7187,12 +7573,12 @@ packages: chokidar: 3.5.3 fast-glob: 3.3.2 magic-string: 0.30.5 - vite: 5.0.11(@types/node@20.11.5) + vite: 5.0.11(@types/node@20.11.6) transitivePeerDependencies: - rollup dev: true - /@unocss/webpack@0.58.3(rollup@4.9.6)(webpack@5.89.0): + /@unocss/webpack@0.58.3(rollup@4.9.6)(webpack@5.90.0): resolution: {integrity: sha512-pBPM27+vnyOZzR7aLGrWAlVgpVZU5I0+57eRQFpnGUggOU3ppDdb0B9KdZ9KY96fxmfIQHc8BLKfSXSbVV//7A==} peerDependencies: webpack: ^4 || ^5 @@ -7205,7 +7591,7 @@ packages: fast-glob: 3.3.2 magic-string: 0.30.5 unplugin: 1.6.0 - webpack: 5.89.0(esbuild@0.19.11) + webpack: 5.90.0(esbuild@0.19.11) webpack-sources: 3.2.3 transitivePeerDependencies: - rollup @@ -7259,7 +7645,7 @@ packages: '@babel/core': 7.23.7 '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.7) '@vue/babel-plugin-jsx': 1.2.0(@babel/core@7.23.7) - vite: 5.0.11(@types/node@20.11.5) + vite: 5.0.11(@types/node@20.11.6) vue: 3.4.15(typescript@5.3.3) transitivePeerDependencies: - supports-color @@ -7271,7 +7657,7 @@ packages: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.0.11(@types/node@20.11.5) + vite: 5.0.11(@types/node@20.11.6) vue: 3.4.15(typescript@5.3.3) /@vitest/expect@1.2.1: @@ -8136,6 +8522,7 @@ packages: engines: {node: '>= 5.10.0'} dependencies: big-integer: 1.6.52 + dev: true /bplist-parser@0.3.2: resolution: {integrity: sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==} @@ -8216,6 +8603,23 @@ packages: uuid: 9.0.1 transitivePeerDependencies: - supports-color + dev: false + + /bullmq@5.1.5: + resolution: {integrity: sha512-Rc9QGHrj/wJ8RMENKa839o1pJmdicg7KBTfmVU8YqYuEK2JcMSJaKMg2XrAi7sdYSawgOJgC/kiW9fCGYEj6Yg==} + dependencies: + cron-parser: 4.9.0 + glob: 8.1.0 + ioredis: 5.3.2 + lodash: 4.17.21 + msgpackr: 1.10.1 + node-abort-controller: 3.1.1 + semver: 7.5.4 + tslib: 2.6.2 + uuid: 9.0.1 + transitivePeerDependencies: + - supports-color + dev: true /bumpp@9.3.0: resolution: {integrity: sha512-P46VikoEZadYCqx7mbClKlaJnOyvc+JfRJPRf1YwlOjwqeYmutgFe1w9hvfXe819VhpU0N0TNXtxyVAUlAgaNA==} @@ -8236,6 +8640,13 @@ packages: engines: {node: '>=12'} dependencies: run-applescript: 5.0.0 + dev: true + + /bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + dependencies: + run-applescript: 7.0.0 /busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} @@ -9089,6 +9500,11 @@ packages: dependencies: bplist-parser: 0.2.0 untildify: 4.0.0 + dev: true + + /default-browser-id@5.0.0: + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} /default-browser@4.0.0: resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} @@ -9098,6 +9514,14 @@ packages: default-browser-id: 3.0.0 execa: 7.2.0 titleize: 3.0.0 + dev: true + + /default-browser@5.2.1: + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.0 /defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} @@ -9586,6 +10010,36 @@ packages: '@esbuild/win32-ia32': 0.19.11 '@esbuild/win32-x64': 0.19.11 + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -10834,6 +11288,19 @@ packages: uncrypto: 0.1.3 unenv: 1.9.0 + /h3@1.10.1: + resolution: {integrity: sha512-UBAUp47hmm4BB5/njB4LrEa9gpuvZj4/Qf/ynSMzO6Ku2RXaouxEfiG2E2IFnv6fxbhAkzjasDxmo6DFdEeXRg==} + dependencies: + cookie-es: 1.0.0 + defu: 6.1.4 + destr: 2.0.2 + iron-webcrypto: 1.0.0 + ohash: 1.1.3 + radix3: 1.1.0 + ufo: 1.3.2 + uncrypto: 0.1.3 + unenv: 1.9.0 + /hanji@0.0.5: resolution: {integrity: sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==} dependencies: @@ -11470,7 +11937,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.11.5 + '@types/node': 20.11.6 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -11832,7 +12299,7 @@ packages: consola: 3.2.3 defu: 6.1.4 get-port-please: 3.1.2 - h3: 1.10.0 + h3: 1.10.1 http-shutdown: 1.2.2 jiti: 1.21.0 mlly: 1.5.0 @@ -12432,7 +12899,7 @@ packages: citty: 0.1.5 cssnano: 6.0.3(postcss@8.4.33) defu: 6.1.4 - esbuild: 0.19.11 + esbuild: 0.19.12 fs-extra: 11.2.0 globby: 13.2.2 jiti: 1.21.0 @@ -12596,14 +13063,14 @@ packages: defu: 6.1.4 destr: 2.0.2 dot-prop: 8.0.2 - esbuild: 0.19.11 + esbuild: 0.19.12 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 etag: 1.8.1 fs-extra: 11.2.0 globby: 14.0.0 gzip-size: 7.0.0 - h3: 1.10.0 + h3: 1.10.1 hookable: 5.5.3 httpxy: 0.1.5 is-primitive: 3.0.1 @@ -12905,10 +13372,115 @@ packages: - rollup - supports-color - vite - - vue - dev: false + - vue + dev: false + + /nuxt@3.9.3(@types/node@20.11.5)(eslint@8.56.0)(rollup@4.9.6)(typescript@5.3.3)(vite@5.0.11): + resolution: {integrity: sha512-IzBJAJImqCGfspVZzvznrALnFIJ5rPe+VJvY8OiccwRzWT8sEygVRjh3Mc64yWV6P59rz497wp9RBBBhuV2MVA==} + engines: {node: ^14.18.0 || >=16.10.0} + hasBin: true + peerDependencies: + '@parcel/watcher': ^2.1.0 + '@types/node': ^14.18.0 || >=16.10.0 + peerDependenciesMeta: + '@parcel/watcher': + optional: true + '@types/node': + optional: true + dependencies: + '@nuxt/devalue': 2.0.2 + '@nuxt/devtools': 1.0.8(nuxt@3.9.3)(rollup@4.9.6)(vite@5.0.11) + '@nuxt/kit': 3.9.3(rollup@4.9.6) + '@nuxt/schema': 3.9.3(rollup@4.9.6) + '@nuxt/telemetry': 2.5.3(rollup@4.9.6) + '@nuxt/ui-templates': 1.3.1 + '@nuxt/vite-builder': 3.9.3(@types/node@20.11.5)(eslint@8.56.0)(rollup@4.9.6)(typescript@5.3.3)(vue@3.4.15) + '@types/node': 20.11.5 + '@unhead/dom': 1.8.10 + '@unhead/ssr': 1.8.10 + '@unhead/vue': 1.8.10(vue@3.4.15) + '@vue/shared': 3.4.15 + acorn: 8.11.3 + c12: 1.6.1 + chokidar: 3.5.3 + cookie-es: 1.0.0 + defu: 6.1.4 + destr: 2.0.2 + devalue: 4.3.2 + esbuild: 0.19.11 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + fs-extra: 11.2.0 + globby: 14.0.0 + h3: 1.10.0 + hookable: 5.5.3 + jiti: 1.21.0 + klona: 2.0.6 + knitwork: 1.0.0 + magic-string: 0.30.5 + mlly: 1.5.0 + nitropack: 2.8.1 + nuxi: 3.10.0 + nypm: 0.3.4 + ofetch: 1.3.3 + ohash: 1.1.3 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + radix3: 1.1.0 + scule: 1.2.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + ufo: 1.3.2 + ultrahtml: 1.5.2 + uncrypto: 0.1.3 + unctx: 2.3.1 + unenv: 1.9.0 + unimport: 3.7.1(rollup@4.9.6) + unplugin: 1.6.0 + unplugin-vue-router: 0.7.0(rollup@4.9.6)(vue-router@4.2.5)(vue@3.4.15) + untyped: 1.4.2 + vue: 3.4.15(typescript@5.3.3) + vue-bundle-renderer: 2.0.0 + vue-devtools-stub: 0.1.0 + vue-router: 4.2.5(vue@3.4.15) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/kv' + - bluebird + - bufferutil + - encoding + - eslint + - idb-keyval + - less + - lightningcss + - meow + - optionator + - rollup + - sass + - stylelint + - stylus + - sugarss + - supports-color + - terser + - typescript + - utf-8-validate + - vite + - vls + - vti + - vue-tsc + - xml2js - /nuxt@3.9.3(@types/node@20.11.5)(eslint@8.56.0)(rollup@4.9.6)(typescript@5.3.3)(vite@5.0.11): + /nuxt@3.9.3(@types/node@20.11.5)(eslint@8.56.0)(typescript@5.3.3)(vite@5.0.11): resolution: {integrity: sha512-IzBJAJImqCGfspVZzvznrALnFIJ5rPe+VJvY8OiccwRzWT8sEygVRjh3Mc64yWV6P59rz497wp9RBBBhuV2MVA==} engines: {node: ^14.18.0 || >=16.10.0} hasBin: true @@ -12922,7 +13494,7 @@ packages: optional: true dependencies: '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 1.0.8(nuxt@3.9.3)(rollup@4.9.6)(vite@5.0.11) + '@nuxt/devtools': 1.0.8(nuxt@3.9.3)(vite@5.0.11) '@nuxt/kit': 3.9.3(rollup@4.9.6) '@nuxt/schema': 3.9.3(rollup@4.9.6) '@nuxt/telemetry': 2.5.3(rollup@4.9.6) @@ -13012,8 +13584,9 @@ packages: - vti - vue-tsc - xml2js + dev: true - /nuxt@3.9.3(@types/node@20.11.5)(eslint@8.56.0)(typescript@5.3.3)(vite@5.0.11): + /nuxt@3.9.3(@types/node@20.11.6)(eslint@8.56.0)(rollup@4.9.6)(typescript@5.3.3)(vite@5.0.11): resolution: {integrity: sha512-IzBJAJImqCGfspVZzvznrALnFIJ5rPe+VJvY8OiccwRzWT8sEygVRjh3Mc64yWV6P59rz497wp9RBBBhuV2MVA==} engines: {node: ^14.18.0 || >=16.10.0} hasBin: true @@ -13027,13 +13600,13 @@ packages: optional: true dependencies: '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 1.0.8(nuxt@3.9.3)(vite@5.0.11) + '@nuxt/devtools': 1.0.8(nuxt@3.9.3)(rollup@4.9.6)(vite@5.0.11) '@nuxt/kit': 3.9.3(rollup@4.9.6) '@nuxt/schema': 3.9.3(rollup@4.9.6) '@nuxt/telemetry': 2.5.3(rollup@4.9.6) '@nuxt/ui-templates': 1.3.1 - '@nuxt/vite-builder': 3.9.3(@types/node@20.11.5)(eslint@8.56.0)(rollup@4.9.6)(typescript@5.3.3)(vue@3.4.15) - '@types/node': 20.11.5 + '@nuxt/vite-builder': 3.9.3(@types/node@20.11.6)(eslint@8.56.0)(rollup@4.9.6)(typescript@5.3.3)(vue@3.4.15) + '@types/node': 20.11.6 '@unhead/dom': 1.8.10 '@unhead/ssr': 1.8.10 '@unhead/vue': 1.8.10(vue@3.4.15) @@ -13050,7 +13623,7 @@ packages: estree-walker: 3.0.3 fs-extra: 11.2.0 globby: 14.0.0 - h3: 1.10.0 + h3: 1.10.1 hookable: 5.5.3 jiti: 1.21.0 klona: 2.0.6 @@ -13117,7 +13690,6 @@ packages: - vti - vue-tsc - xml2js - dev: true /nx@17.2.8: resolution: {integrity: sha512-rM5zXbuXLEuqQqcjVjClyvHwRJwt+NVImR2A6KFNG40Z60HP6X12wAxxeLHF5kXXTDRU0PFhf/yACibrpbPrAw==} @@ -13191,6 +13763,16 @@ packages: pathe: 1.1.2 ufo: 1.3.2 + /nypm@0.3.6: + resolution: {integrity: sha512-2CATJh3pd6CyNfU5VZM7qSwFu0ieyabkEdnogE30Obn1czrmOYiZ8DOZLe1yBdLKWoyD3Mcy2maUs+0MR3yVjQ==} + engines: {node: ^14.16.0 || >=16.10.0} + hasBin: true + dependencies: + citty: 0.1.5 + execa: 8.0.1 + pathe: 1.1.2 + ufo: 1.3.2 + /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -13245,6 +13827,15 @@ packages: resolution: {integrity: sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==} dev: false + /open@10.0.3: + resolution: {integrity: sha512-dtbI5oW7987hwC9qjJTyABldTaa19SuyJse1QboWv3b0qCcrrLNVDqBx1XgELAjh9QTVQaP/C5b1nhQebd1H2A==} + engines: {node: '>=18'} + dependencies: + default-browser: 5.2.1 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 3.1.0 + /open@7.4.2: resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} engines: {node: '>=8'} @@ -13269,6 +13860,7 @@ packages: define-lazy-prop: 3.0.0 is-inside-container: 1.0.0 is-wsl: 2.2.0 + dev: true /openapi-typescript@6.7.4: resolution: {integrity: sha512-EZyeW9Wy7UDCKv0iYmKrq2pVZtquXiD/YHiUClAKqiMi42nodx/EQH11K6fLqjt1IZlJmVokrAsExsBMM2RROQ==} @@ -13421,7 +14013,7 @@ packages: '@npmcli/git': 5.0.4 '@npmcli/installed-package-contents': 2.0.2 '@npmcli/promise-spawn': 7.0.1 - '@npmcli/run-script': 7.0.3 + '@npmcli/run-script': 7.0.4 cacache: 18.0.2 fs-minipass: 3.0.3 minipass: 7.0.4 @@ -14509,7 +15101,7 @@ packages: resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} engines: {node: '>=16'} peerDependencies: - rollup: ^4.2.0 + rollup: ^3.29.4 || ^4 typescript: ^4.5 || ^5.0 dependencies: magic-string: 0.30.5 @@ -14524,7 +15116,7 @@ packages: engines: {node: '>=14'} hasBin: true peerDependencies: - rollup: ^4.2.0 + rollup: 2.x || 3.x || 4.x peerDependenciesMeta: rollup: optional: true @@ -14567,6 +15159,11 @@ packages: engines: {node: '>=12'} dependencies: execa: 5.1.1 + dev: true + + /run-applescript@7.0.0: + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} /run-async@2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} @@ -15410,7 +16007,7 @@ packages: mkdirp: 1.0.4 yallist: 4.0.0 - /terser-webpack-plugin@5.3.10(esbuild@0.19.11)(webpack@5.89.0): + /terser-webpack-plugin@5.3.10(esbuild@0.19.11)(webpack@5.90.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -15432,7 +16029,7 @@ packages: schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.27.0 - webpack: 5.89.0(esbuild@0.19.11) + webpack: 5.90.0(esbuild@0.19.11) dev: true /terser@5.27.0: @@ -15500,6 +16097,7 @@ packages: /titleize@3.0.0: resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} engines: {node: '>=12'} + dev: true /tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} @@ -15698,11 +16296,11 @@ packages: /ultrahtml@1.5.2: resolution: {integrity: sha512-qh4mBffhlkiXwDAOxvSGxhL0QEQsTbnP9BozOK3OYPEGvPvdWzvAUaXNtUSMdNsKDtuyjEbyVUPFZ52SSLhLqw==} - /unbuild@2.0.0(typescript@5.3.3): - resolution: {integrity: sha512-JWCUYx3Oxdzvw2J9kTAp+DKE8df/BnH/JTSj6JyA4SH40ECdFu7FoJJcrm8G92B7TjofQ6GZGjJs50TRxoH6Wg==} + /unbuild@3.0.0-rc.1(typescript@5.3.3): + resolution: {integrity: sha512-hvJItFEoE/qRBS7V4hBzTGcdP8s2OZAW5D4qHf5uHbrDZUwU5kaNFSXDjkZtubRcKwSVPtYOOhv8E9UZg1duUw==} hasBin: true peerDependencies: - typescript: ^5.1.6 + typescript: ^5.3.3 peerDependenciesMeta: typescript: optional: true @@ -15717,8 +16315,8 @@ packages: citty: 0.1.5 consola: 3.2.3 defu: 6.1.4 - esbuild: 0.19.11 - globby: 13.2.2 + esbuild: 0.19.12 + globby: 14.0.0 hookable: 5.5.3 jiti: 1.21.0 magic-string: 0.30.5 @@ -15731,6 +16329,7 @@ packages: rollup-plugin-dts: 6.1.0(rollup@4.9.6)(typescript@5.3.3) scule: 1.2.0 typescript: 5.3.3 + ufo: 1.3.2 untyped: 1.4.2 transitivePeerDependencies: - sass @@ -15877,8 +16476,8 @@ packages: '@unocss/transformer-directives': 0.58.3 '@unocss/transformer-variant-group': 0.58.3 '@unocss/vite': 0.58.3(rollup@4.9.6)(vite@5.0.11) - '@unocss/webpack': 0.58.3(rollup@4.9.6)(webpack@5.89.0) - vite: 5.0.11(@types/node@20.11.5) + '@unocss/webpack': 0.58.3(rollup@4.9.6)(webpack@5.90.0) + vite: 5.0.11(@types/node@20.11.6) transitivePeerDependencies: - postcss - rollup @@ -15963,7 +16562,7 @@ packages: anymatch: 3.1.3 chokidar: 3.5.3 destr: 2.0.2 - h3: 1.10.0 + h3: 1.10.1 ioredis: 5.3.2 listhen: 1.5.6 lru-cache: 10.1.0 @@ -16145,6 +16744,26 @@ packages: - supports-color - terser + /vite-node@1.2.1(@types/node@20.11.6): + resolution: {integrity: sha512-fNzHmQUSOY+y30naohBvSW7pPn/xn3Ib/uqm+5wAJQJiqQsU0NBR78XdRJb04l4bOFKjpTWld0XAfkKlrDbySg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.0.11(@types/node@20.11.6) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + /vite-plugin-checker@0.6.2(eslint@8.56.0)(typescript@5.3.3)(vite@5.0.11): resolution: {integrity: sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==} engines: {node: '>=14.16'} @@ -16191,14 +16810,14 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.3.3 - vite: 5.0.11(@types/node@20.11.5) + vite: 5.0.11(@types/node@20.11.6) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - /vite-plugin-inspect@0.8.1(@nuxt/kit@3.9.3)(rollup@4.9.6)(vite@5.0.11): - resolution: {integrity: sha512-oPBPVGp6tBd5KdY/qY6lrbLXqrbHRG0hZLvEaJfiZ/GQfDB+szRuLHblQh1oi1Hhh8GeLit/50l4xfs2SA+TCA==} + /vite-plugin-inspect@0.8.3(@nuxt/kit@3.9.3)(rollup@4.9.6)(vite@5.0.11): + resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} engines: {node: '>=14'} peerDependencies: '@nuxt/kit': '*' @@ -16213,13 +16832,40 @@ packages: debug: 4.3.4 error-stack-parser-es: 0.1.1 fs-extra: 11.2.0 - open: 9.1.0 + open: 10.0.3 + perfect-debounce: 1.0.0 + picocolors: 1.0.0 + sirv: 2.0.4 + vite: 5.0.11(@types/node@20.11.6) + transitivePeerDependencies: + - rollup + - supports-color + + /vite-plugin-inspect@0.8.3(@nuxt/kit@3.9.3)(vite@5.0.11): + resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': '*' + vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + dependencies: + '@antfu/utils': 0.7.7 + '@nuxt/kit': 3.9.3(rollup@4.9.6) + '@rollup/pluginutils': 5.1.0(rollup@4.9.6) + debug: 4.3.4 + error-stack-parser-es: 0.1.1 + fs-extra: 11.2.0 + open: 10.0.3 + perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 vite: 5.0.11(@types/node@20.11.5) transitivePeerDependencies: - rollup - supports-color + dev: true /vite-plugin-vue-inspector@4.0.2(vite@5.0.11): resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} @@ -16235,7 +16881,7 @@ packages: '@vue/compiler-dom': 3.4.15 kolorist: 1.8.0 magic-string: 0.30.5 - vite: 5.0.11(@types/node@20.11.5) + vite: 5.0.11(@types/node@20.11.6) transitivePeerDependencies: - supports-color @@ -16274,10 +16920,117 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(h3@1.10.0)(rollup@4.9.6)(vite@5.0.11)(vitest@1.2.1)(vue-router@4.2.5)(vue@3.4.15): + /vite@5.0.11(@types/node@20.11.6): + resolution: {integrity: sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.6 + esbuild: 0.19.11 + postcss: 8.4.33 + rollup: 4.9.6 + optionalDependencies: + fsevents: 2.3.3 + + /vite@5.0.12(@types/node@20.11.5): + resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.5 + esbuild: 0.19.12 + postcss: 8.4.33 + rollup: 4.9.6 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vite@5.0.12(@types/node@20.11.6): + resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.6 + esbuild: 0.19.12 + postcss: 8.4.33 + rollup: 4.9.6 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest-environment-nuxt@1.0.0(h3@1.10.1)(rollup@4.9.6)(vite@5.0.11)(vitest@1.2.1)(vue-router@4.2.5)(vue@3.4.15): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.10.0(h3@1.10.0)(rollup@4.9.6)(vite@5.0.11)(vitest@1.2.1)(vue-router@4.2.5)(vue@3.4.15) + '@nuxt/test-utils': 3.10.0(h3@1.10.1)(rollup@4.9.6)(vite@5.0.11)(vitest@1.2.1)(vue-router@4.2.5)(vue@3.4.15) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -16340,7 +17093,7 @@ packages: strip-literal: 1.3.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.0.11(@types/node@20.11.5) + vite: 5.0.12(@types/node@20.11.5) vite-node: 1.2.1(@types/node@20.11.5) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -16353,6 +17106,63 @@ packages: - terser dev: true + /vitest@1.2.1(@types/node@20.11.6): + resolution: {integrity: sha512-TRph8N8rnSDa5M2wKWJCMnztCZS9cDcgVTQ6tsTFTG/odHJ4l5yNVqvbeDJYJRZ6is3uxaEpFs8LL6QM+YFSdA==} + 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.0.0 + '@vitest/ui': ^1.0.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 + dependencies: + '@types/node': 20.11.6 + '@vitest/expect': 1.2.1 + '@vitest/runner': 1.2.1 + '@vitest/snapshot': 1.2.1 + '@vitest/spy': 1.2.1 + '@vitest/utils': 1.2.1 + acorn-walk: 8.3.2 + cac: 6.7.14 + chai: 4.4.1 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.5 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 1.3.0 + tinybench: 2.6.0 + tinypool: 0.8.2 + vite: 5.0.12(@types/node@20.11.6) + vite-node: 1.2.1(@types/node@20.11.6) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /vscode-jsonrpc@6.0.0: resolution: {integrity: sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==} engines: {node: '>=8.0.0 || >=10.0.0'} @@ -16534,8 +17344,8 @@ packages: /webpack-virtual-modules@0.6.1: resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} - /webpack@5.89.0(esbuild@0.19.11): - resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==} + /webpack@5.90.0(esbuild@0.19.11): + resolution: {integrity: sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -16565,7 +17375,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(esbuild@0.19.11)(webpack@5.89.0) + terser-webpack-plugin: 5.3.10(esbuild@0.19.11)(webpack@5.90.0) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 675f534b..71cda832 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,6 +1,6 @@ packages: - playground - - 'packages/**' + - 'packages/**/*' - 'test/fixtures/*' - .histoire - 'themes/**' diff --git a/themes/pergel-auth/server/api/auth/login.post.ts b/themes/pergel-auth/server/api/auth/login.post.ts index 0ba75040..e1ce7a50 100644 --- a/themes/pergel-auth/server/api/auth/login.post.ts +++ b/themes/pergel-auth/server/api/auth/login.post.ts @@ -2,7 +2,9 @@ import { Argon2id } from 'oslo/password' import { auth } from '#changeName/lucia' export default eventHandler(async (event) => { - const db = await pergelChangeName().drizzle().postgresjs().connect({}) + const db = await pergelChangeName().drizzle().postgresjs().connect({ + event, + }) const body = await readBody(event) const username = body.username if ( diff --git a/themes/pergel-auth/server/api/auth/signup.post.ts b/themes/pergel-auth/server/api/auth/signup.post.ts index e5eb8864..23413781 100644 --- a/themes/pergel-auth/server/api/auth/signup.post.ts +++ b/themes/pergel-auth/server/api/auth/signup.post.ts @@ -1,7 +1,9 @@ import { auth } from '#changeName/lucia' export default eventHandler(async (event) => { - const db = await pergelChangeName().drizzle().postgresjs().connect({}) + const db = await pergelChangeName().drizzle().postgresjs().connect({ + event, + }) const body = await readBody(event) const username = body.username diff --git a/themes/pergel-auth/server/lucia-changeName/index.ts b/themes/pergel-auth/server/lucia-changeName/index.ts index 1507a852..46d7f78d 100644 --- a/themes/pergel-auth/server/lucia-changeName/index.ts +++ b/themes/pergel-auth/server/lucia-changeName/index.ts @@ -1,6 +1,8 @@ import { session, user } from '#changeName/drizzle/schema' -const connect = await pergelChangeName().drizzle().postgresjs().connect({}) +const connect = await pergelChangeName().drizzle().postgresjs().connect({ + event: false, +}) export const auth = pergelChangeName().lucia().use({ db: connect,