From 4a90bafb3ce451f5c6dd14266f3092c09c81d216 Mon Sep 17 00:00:00 2001 From: Chris Date: Wed, 13 Mar 2024 09:56:56 -0700 Subject: [PATCH] chore: wip --- bun.lockb | Bin 870160 -> 874192 bytes package.json | 1 + storage/framework/core/actions/build.ts | 2 +- storage/framework/core/actions/src/dev/api.ts | 4 +- .../core/actions/src/dev/components.ts | 4 +- storage/framework/core/ai/build.ts | 2 +- storage/framework/core/alias/build.ts | 2 +- storage/framework/core/alias/src/index.ts | 12 +- storage/framework/core/analytics/build.ts | 2 +- storage/framework/core/build/build.ts | 3 +- storage/framework/core/build/package.json | 5 +- storage/framework/core/cache/build.ts | 2 +- storage/framework/core/chat/build.ts | 2 +- storage/framework/core/cli/build.ts | 2 +- storage/framework/core/cli/src/exec.ts | 4 +- storage/framework/core/cloud/build.ts | 2 +- storage/framework/core/collections/build.ts | 2 +- storage/framework/core/config/build.ts | 2 +- storage/framework/core/database/build.ts | 2 +- storage/framework/core/datetime/build.ts | 2 +- storage/framework/core/desktop/build.ts | 2 +- storage/framework/core/development/build.ts | 2 +- storage/framework/core/dns/build.ts | 2 +- storage/framework/core/docs/build.ts | 3 +- storage/framework/core/docs/package.json | 2 - storage/framework/core/docs/src/index.ts | 2 +- storage/framework/core/email/build.ts | 2 +- storage/framework/core/enums/build.ts | 2 +- storage/framework/core/env/build.ts | 2 +- .../framework/core/error-handling/build.ts | 2 +- storage/framework/core/eslint-config/build.ts | 2 +- storage/framework/core/events/build.ts | 2 +- storage/framework/core/faker/build.ts | 2 +- storage/framework/core/git/build.ts | 2 +- storage/framework/core/health/build.ts | 2 +- storage/framework/core/http/build.ts | 2 +- storage/framework/core/lint/build.ts | 2 +- storage/framework/core/logging/build.ts | 2 +- storage/framework/core/logging/src/index.ts | 7 +- storage/framework/core/notifications/build.ts | 2 +- storage/framework/core/objects/build.ts | 2 +- storage/framework/core/orm/build.ts | 2 +- storage/framework/core/package.json | 11 +- storage/framework/core/path/build.ts | 2 +- storage/framework/core/path/src/paths.ts | 19 +- storage/framework/core/payments/build.ts | 2 +- storage/framework/core/push/build.ts | 2 +- storage/framework/core/query-builder/build.ts | 2 +- storage/framework/core/queue/build.ts | 2 +- storage/framework/core/realtime/build.ts | 2 +- storage/framework/core/repl/build.ts | 2 +- storage/framework/core/router/build.ts | 5 +- storage/framework/core/scheduler/build.ts | 2 +- storage/framework/core/search-engine/build.ts | 2 +- storage/framework/core/security/build.ts | 2 +- storage/framework/core/server/build.ts | 2 +- storage/framework/core/shell/build.ts | 2 +- storage/framework/core/slug/build.ts | 2 +- storage/framework/core/sms/build.ts | 2 +- storage/framework/core/storage/build.ts | 2 +- storage/framework/core/strings/build.ts | 2 +- storage/framework/core/testing/build.ts | 2 +- storage/framework/core/tsconfig.json | 1 + storage/framework/core/tunnel/build.ts | 2 +- storage/framework/core/types/build.ts | 2 +- storage/framework/core/ui/build.ts | 2 +- storage/framework/core/utils/build.ts | 2 +- storage/framework/core/validation/build.ts | 3 +- .../framework/core/validation/package.json | 3 +- .../core/{vite => vite-config}/README.md | 4 +- storage/framework/core/vite-config/build.ts | 64 ++ .../framework/core/vite-config/package.json | 122 +++ .../core/{vite => vite-config}/src/api.ts | 0 .../{vite => vite-config}/src/components.ts | 0 .../{vite => vite-config}/src/dashboard.ts | 0 .../core/{vite => vite-config}/src/desktop.ts | 0 .../{vite => vite-config}/src/example-vue.ts | 0 .../{vite => vite-config}/src/example-wc.ts | 0 .../{vite => vite-config}/src/functions.ts | 0 .../core/{vite => vite-config}/src/index.ts | 6 +- .../{vite => vite-config}/src/system-tray.ts | 0 .../core/{vite => vite-config}/src/views.ts | 0 .../src/web-components.ts | 0 .../tests/example.test.ts | 0 .../core/{vite => vite-config}/tsconfig.json | 0 storage/framework/core/vite-plugin/README.md | 59 ++ .../core/{vite => vite-plugin}/build.ts | 1 - .../core/{vite => vite-plugin}/package.json | 4 +- .../src}/auto-imports.ts | 0 .../plugin => vite-plugin/src}/components.ts | 0 .../plugin => vite-plugin/src}/css-engine.ts | 0 .../plugin => vite-plugin/src}/devtools.ts | 0 .../src/plugin => vite-plugin/src}/docs.ts | 0 .../src/plugin => vite-plugin/src}/fonts.ts | 0 .../src/plugin => vite-plugin/src}/i18n.ts | 0 .../framework/core/vite-plugin/src/index.ts | 16 + .../src/plugin => vite-plugin/src}/inspect.ts | 0 .../src/plugin => vite-plugin/src}/layouts.ts | 0 .../plugin => vite-plugin/src}/markdown.ts | 0 .../src/plugin => vite-plugin/src}/pages.ts | 0 .../src/plugin => vite-plugin/src}/presets.ts | 0 .../src/plugin => vite-plugin/src}/pwa.ts | 0 .../src/plugin => vite-plugin/src}/router.ts | 0 .../src/plugin => vite-plugin/src}/stacks.ts | 0 .../plugin => vite-plugin/src}/ui-engine.ts | 0 .../core/vite-plugin/tests/example.test.ts | 5 + .../framework/core/vite-plugin/tsconfig.json | 3 + storage/framework/core/vite/src/plugins.ts | 12 - storage/framework/core/whois/build.ts | 2 +- storage/framework/docs/package.json | 2 +- storage/framework/types/auto-imports.d.ts | 801 +++++++++--------- storage/framework/types/dashboard-router.d.ts | 140 +-- .../framework/views/dashboard/package.json | 4 +- 113 files changed, 782 insertions(+), 654 deletions(-) rename storage/framework/core/{vite => vite-config}/README.md (92%) create mode 100644 storage/framework/core/vite-config/build.ts create mode 100644 storage/framework/core/vite-config/package.json rename storage/framework/core/{vite => vite-config}/src/api.ts (100%) rename storage/framework/core/{vite => vite-config}/src/components.ts (100%) rename storage/framework/core/{vite => vite-config}/src/dashboard.ts (100%) rename storage/framework/core/{vite => vite-config}/src/desktop.ts (100%) rename storage/framework/core/{vite => vite-config}/src/example-vue.ts (100%) rename storage/framework/core/{vite => vite-config}/src/example-wc.ts (100%) rename storage/framework/core/{vite => vite-config}/src/functions.ts (100%) rename storage/framework/core/{vite => vite-config}/src/index.ts (84%) rename storage/framework/core/{vite => vite-config}/src/system-tray.ts (100%) rename storage/framework/core/{vite => vite-config}/src/views.ts (100%) rename storage/framework/core/{vite => vite-config}/src/web-components.ts (100%) rename storage/framework/core/{vite => vite-config}/tests/example.test.ts (100%) rename storage/framework/core/{vite => vite-config}/tsconfig.json (100%) create mode 100644 storage/framework/core/vite-plugin/README.md rename storage/framework/core/{vite => vite-plugin}/build.ts (98%) rename storage/framework/core/{vite => vite-plugin}/package.json (97%) rename storage/framework/core/{vite/src/plugin => vite-plugin/src}/auto-imports.ts (100%) rename storage/framework/core/{vite/src/plugin => vite-plugin/src}/components.ts (100%) rename storage/framework/core/{vite/src/plugin => vite-plugin/src}/css-engine.ts (100%) rename storage/framework/core/{vite/src/plugin => vite-plugin/src}/devtools.ts (100%) rename storage/framework/core/{vite/src/plugin => vite-plugin/src}/docs.ts (100%) rename storage/framework/core/{vite/src/plugin => vite-plugin/src}/fonts.ts (100%) rename storage/framework/core/{vite/src/plugin => vite-plugin/src}/i18n.ts (100%) create mode 100644 storage/framework/core/vite-plugin/src/index.ts rename storage/framework/core/{vite/src/plugin => vite-plugin/src}/inspect.ts (100%) rename storage/framework/core/{vite/src/plugin => vite-plugin/src}/layouts.ts (100%) rename storage/framework/core/{vite/src/plugin => vite-plugin/src}/markdown.ts (100%) rename storage/framework/core/{vite/src/plugin => vite-plugin/src}/pages.ts (100%) rename storage/framework/core/{vite/src/plugin => vite-plugin/src}/presets.ts (100%) rename storage/framework/core/{vite/src/plugin => vite-plugin/src}/pwa.ts (100%) rename storage/framework/core/{vite/src/plugin => vite-plugin/src}/router.ts (100%) rename storage/framework/core/{vite/src/plugin => vite-plugin/src}/stacks.ts (100%) rename storage/framework/core/{vite/src/plugin => vite-plugin/src}/ui-engine.ts (100%) create mode 100644 storage/framework/core/vite-plugin/tests/example.test.ts create mode 100644 storage/framework/core/vite-plugin/tsconfig.json delete mode 100644 storage/framework/core/vite/src/plugins.ts diff --git a/bun.lockb b/bun.lockb index 0029de7dbf5f0b47a54f4336d58d3929a3432e55..96780654046b817f5f574aa89b54b97c246b4932 100755 GIT binary patch delta 197859 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

~)l2pq$&a@@T)%D5GN%FQ%xbfo? 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 diff --git a/package.json b/package.json index ac8459c412..8353482f3f 100644 --- a/package.json +++ b/package.json @@ -112,6 +112,7 @@ "storage/framework/core", "storage/framework/core/*", "storage/framework/core/bun-create/*", + "storage/framework/core/components/*", "storage/framework/docs", "storage/framework/email", "storage/framework/libs/*", diff --git a/storage/framework/core/actions/build.ts b/storage/framework/core/actions/build.ts index f13cb67632..3631f2fcc1 100644 --- a/storage/framework/core/actions/build.ts +++ b/storage/framework/core/actions/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/actions/src/dev/api.ts b/storage/framework/core/actions/src/dev/api.ts index a9fc32bd12..38a7b3d033 100644 --- a/storage/framework/core/actions/src/dev/api.ts +++ b/storage/framework/core/actions/src/dev/api.ts @@ -5,14 +5,14 @@ import { config } from '@stacksjs/config' const options = parseOptions() -log.debug('Running API dev server via', `bunx vite --config ${p.vitePath('src/api.ts')}`, options) +log.debug('Running API dev server via', `bunx vite --config ${p.viteConfigPath('src/api.ts')}`, options) serve({ port: config.ports?.api, // defaults to 3008 }) // the reason we start a Vite dev server next is because we need the Bun server proxied by vite -await runCommand(`bunx vite --config ${p.vitePath('src/api.ts')}`, { +await runCommand(`bunx vite --config ${p.viteConfigPath('src/api.ts')}`, { // ...options, cwd: p.frameworkPath(), }) diff --git a/storage/framework/core/actions/src/dev/components.ts b/storage/framework/core/actions/src/dev/components.ts index 7bc3521638..7dd524dd4c 100644 --- a/storage/framework/core/actions/src/dev/components.ts +++ b/storage/framework/core/actions/src/dev/components.ts @@ -1,4 +1,4 @@ -import { frameworkPath, vitePath } from '@stacksjs/path' +import { frameworkPath, viteConfigPath } from '@stacksjs/path' import { parseOptions, runCommand } from '@stacksjs/cli' import type { DeployOptions } from '@stacksjs/types' @@ -8,7 +8,7 @@ if (options.verbose) // eslint-disable-next-line no-console console.log('dev components options', options) -await runCommand(`bunx vite --config ${vitePath('src/components.ts')}`, { +await runCommand(`bunx vite --config ${viteConfigPath('src/components.ts')}`, { ...options, cwd: frameworkPath(), }) diff --git a/storage/framework/core/ai/build.ts b/storage/framework/core/ai/build.ts index 1ebd78e7ba..595ef40639 100644 --- a/storage/framework/core/ai/build.ts +++ b/storage/framework/core/ai/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/alias/build.ts b/storage/framework/core/alias/build.ts index abc6e9499c..46b7ed28dc 100644 --- a/storage/framework/core/alias/build.ts +++ b/storage/framework/core/alias/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/alias/src/index.ts b/storage/framework/core/alias/src/index.ts index 235ab8a057..28a24de140 100644 --- a/storage/framework/core/alias/src/index.ts +++ b/storage/framework/core/alias/src/index.ts @@ -105,8 +105,10 @@ export const alias: Record = { '@stacksjs/utils/*': p.utilsPath('src/*'), '@stacksjs/validation': p.validationPath('src/index.ts'), '@stacksjs/validation/*': p.validationPath('src/*'), - '@stacksjs/vite': p.vitePath('src/index.ts'), - '@stacksjs/vite/*': p.vitePath('src/*'), + '@stacksjs/vite-config': p.viteConfigPath('src/index.ts'), + '@stacksjs/vite-config/*': p.viteConfigPath('src/*'), + '@stacksjs/vite-plugin': p.vitePluginPath('src/index.ts'), + '@stacksjs/vite-plugin/*': p.vitePluginPath('src/*'), '@stacksjs/x-ray': p.xRayPath('src/index.ts'), '@stacksjs/x-ray/*': p.xRayPath('src/*'), @@ -200,8 +202,10 @@ export const alias: Record = { 'stacks/utils/*': p.utilsPath('src/*'), 'stacks/validation': p.validationPath('src/index.ts'), 'stacks/validation/*': p.validationPath('src/*'), - 'stacks/vite': p.vitePath('src/index.ts'), - 'stacks/vite/*': p.vitePath('src/*'), + 'stacks/vite-config': p.viteConfigPath('src/index.ts'), + 'stacks/vite-config/*': p.viteConfigPath('src/*'), + 'stacks/vite-plugin': p.vitePluginPath('src/index.ts'), + 'stacks/vite-plugin/*': p.vitePluginPath('src/*'), 'stacks/x-ray': p.xRayPath('src/index.ts'), 'stacks/x-ray/*': p.xRayPath('src/*'), '~/app/*': p.appPath('*'), diff --git a/storage/framework/core/analytics/build.ts b/storage/framework/core/analytics/build.ts index f09f60c10e..6cd3cdda85 100644 --- a/storage/framework/core/analytics/build.ts +++ b/storage/framework/core/analytics/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/build/build.ts b/storage/framework/core/build/build.ts index 71cbd0023c..5eca8ef722 100644 --- a/storage/framework/core/build/build.ts +++ b/storage/framework/core/build/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from './src' const { startTime } = await intro({ dir: import.meta.dir, @@ -15,7 +15,6 @@ const result = await Bun.build({ '@stacksjs/path', '@stacksjs/storage', '@stacksjs/cli', - '@stacksjs/vite', ], }) diff --git a/storage/framework/core/build/package.json b/storage/framework/core/build/package.json index 4ff28c4c76..f7528ff78a 100644 --- a/storage/framework/core/build/package.json +++ b/storage/framework/core/build/package.json @@ -51,12 +51,13 @@ "prepublishOnly": "bun run build" }, "peerDependencies": { - "@stacksjs/vite": "workspace:*", "bun-plugin-dts-auto": "^0.10.0", "vue-docgen-web-types": "^0.1.8" }, "dependencies": { - "@stacksjs/vite": "workspace:*", + "@stacksjs/cli": "workspace:*", + "@stacksjs/path": "workspace:*", + "@stacksjs/storage": "workspace:*", "bun-plugin-dts-auto": "^0.10.0", "vue-docgen-web-types": "^0.1.8" }, diff --git a/storage/framework/core/cache/build.ts b/storage/framework/core/cache/build.ts index 5b198a7c8f..8185580b3e 100644 --- a/storage/framework/core/cache/build.ts +++ b/storage/framework/core/cache/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/chat/build.ts b/storage/framework/core/chat/build.ts index 73ba97f253..1e43c60a87 100644 --- a/storage/framework/core/chat/build.ts +++ b/storage/framework/core/chat/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/cli/build.ts b/storage/framework/core/cli/build.ts index e1afb389fe..2df00dd296 100644 --- a/storage/framework/core/cli/build.ts +++ b/storage/framework/core/cli/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/cli/src/exec.ts b/storage/framework/core/cli/src/exec.ts index 112a0a87e4..684f011061 100644 --- a/storage/framework/core/cli/src/exec.ts +++ b/storage/framework/core/cli/src/exec.ts @@ -41,7 +41,7 @@ export async function exec(command: string | string[], options?: CliOptions): Pr stdout: (options?.silent || options?.quiet) ? 'ignore' : (options?.stdin ? options.stdin : (options?.stdout || 'inherit')), stderr: (options?.silent || options?.quiet) ? 'ignore' : (options?.stderr || 'inherit'), detached: options?.background || false, - cwd: options?.cwd || import.meta.dir, + cwd: options?.cwd || process.cwd(), // env: { ...e, ...options?.env }, onExit(subprocess, exitCode, signalCode, error) { exitHandler('spawn', subprocess, exitCode, signalCode, error) @@ -100,7 +100,7 @@ export async function execSync(command: string | string[], options?: CliOptions) stdin: options?.stdin ?? 'inherit', stdout: options?.stdout ?? 'pipe', stderr: options?.stderr ?? 'inherit', - cwd: options?.cwd ?? import.meta.dir, + cwd: options?.cwd ?? process.cwd(), // env: { ...Bun.env, ...options?.env }, onExit(subprocess, exitCode, signalCode, error) { exitHandler('spawnSync', subprocess, exitCode, signalCode, error) diff --git a/storage/framework/core/cloud/build.ts b/storage/framework/core/cloud/build.ts index 311ab288b8..98da452fb9 100644 --- a/storage/framework/core/cloud/build.ts +++ b/storage/framework/core/cloud/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/collections/build.ts b/storage/framework/core/collections/build.ts index 3d45f1f3ca..278dfa9a8e 100644 --- a/storage/framework/core/collections/build.ts +++ b/storage/framework/core/collections/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/config/build.ts b/storage/framework/core/config/build.ts index dc796e4bf0..bc71fdf531 100644 --- a/storage/framework/core/config/build.ts +++ b/storage/framework/core/config/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/database/build.ts b/storage/framework/core/database/build.ts index 546a3681f9..284c3b1ffa 100644 --- a/storage/framework/core/database/build.ts +++ b/storage/framework/core/database/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/datetime/build.ts b/storage/framework/core/datetime/build.ts index aefdbcb047..9ba6165238 100644 --- a/storage/framework/core/datetime/build.ts +++ b/storage/framework/core/datetime/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/desktop/build.ts b/storage/framework/core/desktop/build.ts index b229badecd..1e66651a27 100644 --- a/storage/framework/core/desktop/build.ts +++ b/storage/framework/core/desktop/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/development/build.ts b/storage/framework/core/development/build.ts index b229badecd..1e66651a27 100644 --- a/storage/framework/core/development/build.ts +++ b/storage/framework/core/development/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/dns/build.ts b/storage/framework/core/dns/build.ts index 0cb0cef24b..078dbe60ca 100644 --- a/storage/framework/core/dns/build.ts +++ b/storage/framework/core/dns/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/docs/build.ts b/storage/framework/core/docs/build.ts index bc1dbe667d..cab7e0d069 100644 --- a/storage/framework/core/docs/build.ts +++ b/storage/framework/core/docs/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, @@ -15,7 +15,6 @@ const result = await Bun.build({ '@stacksjs/config', '@stacksjs/alias', '@stacksjs/path', - '@stacksjs/vite', '@stacksjs/server', '@stacksjs/env', '@stacksjs/cli', diff --git a/storage/framework/core/docs/package.json b/storage/framework/core/docs/package.json index 3b4b57ccca..287f5228a5 100644 --- a/storage/framework/core/docs/package.json +++ b/storage/framework/core/docs/package.json @@ -51,7 +51,6 @@ "@stacksjs/config": "workspace:*", "@stacksjs/path": "workspace:*", "@stacksjs/server": "workspace:*", - "@stacksjs/vite": "workspace:*", "vitepress": "1.0.0-rc.45", "vitepress-plugin-twoslash": "^0.10.2" }, @@ -60,7 +59,6 @@ "@stacksjs/config": "workspace:*", "@stacksjs/path": "workspace:*", "@stacksjs/server": "workspace:*", - "@stacksjs/vite": "workspace:*", "vitepress": "1.0.0-rc.45", "vitepress-plugin-twoslash": "^0.10.2" }, diff --git a/storage/framework/core/docs/src/index.ts b/storage/framework/core/docs/src/index.ts index 1c8a9354c0..79e3da3679 100644 --- a/storage/framework/core/docs/src/index.ts +++ b/storage/framework/core/docs/src/index.ts @@ -6,7 +6,7 @@ import { docs } from '@stacksjs/config' import { server } from '@stacksjs/server' import { kolorist as c } from '@stacksjs/cli' import { withPwa } from '@vite-pwa/vitepress' -import { version } from '../../../../../package.json' +import { version } from '../package.json' import { pwaDocs as pwa } from './scripts/pwa' export const frameworkDefaults = { diff --git a/storage/framework/core/email/build.ts b/storage/framework/core/email/build.ts index 512843f259..f2e810dd1a 100644 --- a/storage/framework/core/email/build.ts +++ b/storage/framework/core/email/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/enums/build.ts b/storage/framework/core/enums/build.ts index 7ce2f1bd5d..4d5a02421d 100644 --- a/storage/framework/core/enums/build.ts +++ b/storage/framework/core/enums/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/env/build.ts b/storage/framework/core/env/build.ts index 8bf2d71840..1500463a4d 100644 --- a/storage/framework/core/env/build.ts +++ b/storage/framework/core/env/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/error-handling/build.ts b/storage/framework/core/error-handling/build.ts index 1b1160f435..bc69a3bffc 100644 --- a/storage/framework/core/error-handling/build.ts +++ b/storage/framework/core/error-handling/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/eslint-config/build.ts b/storage/framework/core/eslint-config/build.ts index 817fdc4077..b582304b7c 100644 --- a/storage/framework/core/eslint-config/build.ts +++ b/storage/framework/core/eslint-config/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/events/build.ts b/storage/framework/core/events/build.ts index b229badecd..1e66651a27 100644 --- a/storage/framework/core/events/build.ts +++ b/storage/framework/core/events/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/faker/build.ts b/storage/framework/core/faker/build.ts index 31645ad4b6..b7dac4c818 100644 --- a/storage/framework/core/faker/build.ts +++ b/storage/framework/core/faker/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/git/build.ts b/storage/framework/core/git/build.ts index 1db148803d..00ad301681 100644 --- a/storage/framework/core/git/build.ts +++ b/storage/framework/core/git/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/health/build.ts b/storage/framework/core/health/build.ts index b229badecd..1e66651a27 100644 --- a/storage/framework/core/health/build.ts +++ b/storage/framework/core/health/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/http/build.ts b/storage/framework/core/http/build.ts index 7ce2f1bd5d..4d5a02421d 100644 --- a/storage/framework/core/http/build.ts +++ b/storage/framework/core/http/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/lint/build.ts b/storage/framework/core/lint/build.ts index 26116da5c4..6e6fa1a13d 100644 --- a/storage/framework/core/lint/build.ts +++ b/storage/framework/core/lint/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/logging/build.ts b/storage/framework/core/logging/build.ts index 756c49f9c2..b718233835 100644 --- a/storage/framework/core/logging/build.ts +++ b/storage/framework/core/logging/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/logging/src/index.ts b/storage/framework/core/logging/src/index.ts index bbf9e421e8..8ba84158fd 100644 --- a/storage/framework/core/logging/src/index.ts +++ b/storage/framework/core/logging/src/index.ts @@ -3,13 +3,14 @@ import { appendFile, mkdir } from 'node:fs/promises' import { dirname } from 'node:path' import { consola, createConsola } from 'consola' import { ExitCode } from '@stacksjs/types' -import { config } from '@stacksjs/config' import { handleError } from '@stacksjs/error-handling' import type { Prompt } from '@stacksjs/cli' import { buddyOptions, prompt as getPrompt } from '@stacksjs/cli' import { logsPath } from '@stacksjs/path' -export function logLevel() { +export async function logLevel() { + const config = await import('@stacksjs/config') + /** * This regex checks for: * - --verbose true or --verbose=true exactly at the end of the string ($ denotes the end of the string). @@ -30,7 +31,7 @@ export function logLevel() { } export const logger = createConsola({ - level: logLevel(), + level: await logLevel(), // fancy: true, // formatOptions: { // columns: 80, diff --git a/storage/framework/core/notifications/build.ts b/storage/framework/core/notifications/build.ts index d6572b28cd..847f5a7fd5 100644 --- a/storage/framework/core/notifications/build.ts +++ b/storage/framework/core/notifications/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/objects/build.ts b/storage/framework/core/objects/build.ts index eb44665e09..23a4e3d6a2 100644 --- a/storage/framework/core/objects/build.ts +++ b/storage/framework/core/objects/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/orm/build.ts b/storage/framework/core/orm/build.ts index b229badecd..1e66651a27 100644 --- a/storage/framework/core/orm/build.ts +++ b/storage/framework/core/orm/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/package.json b/storage/framework/core/package.json index a5c147b587..03deb41a58 100644 --- a/storage/framework/core/package.json +++ b/storage/framework/core/package.json @@ -326,11 +326,6 @@ "bun": "./validation/src/index.ts", "types": "./validation/dist/index.d.ts", "import": "./validation/dist/index.js" - }, - "./vite": { - "bun": "./vite/src/index.ts", - "types": "./vite/dist/index.d.ts", - "import": "./vite/dist/index.js" } }, "types": "./types/dist/index.d.ts", @@ -400,7 +395,8 @@ "@stacksjs/ui": "workspace:*", "@stacksjs/utils": "workspace:*", "@stacksjs/validation": "workspace:*", - "@stacksjs/vite": "workspace:*" + "@stacksjs/vite-config": "workspace:*", + "@stacksjs/vite-plugin": "workspace:*" }, "dependencies": { "@stacksjs/actions": "workspace:*", @@ -448,6 +444,7 @@ "@stacksjs/ui": "workspace:*", "@stacksjs/utils": "workspace:*", "@stacksjs/validation": "workspace:*", - "@stacksjs/vite": "workspace:*" + "@stacksjs/vite-config": "workspace:*", + "@stacksjs/vite-plugin": "workspace:*" } } diff --git a/storage/framework/core/path/build.ts b/storage/framework/core/path/build.ts index a25917bb14..f989ed61f6 100644 --- a/storage/framework/core/path/build.ts +++ b/storage/framework/core/path/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/path/src/paths.ts b/storage/framework/core/path/src/paths.ts index 71cb090045..739312c0b0 100644 --- a/storage/framework/core/path/src/paths.ts +++ b/storage/framework/core/path/src/paths.ts @@ -1220,13 +1220,23 @@ export function validationPath(path?: string) { } /** - * Returns the path to the `vite` directory within the core directory. + * Returns the path to the `vite-config` directory within the core directory. + * + * @param path - The relative path to the file or directory within the vite-config directory. + * @returns The absolute path to the specified file or directory within the vite-config directory. + */ +export function viteConfigPath(path?: string) { + return corePath(`vite-config/${path || ''}`) +} + +/** + * Returns the path to the `vite-plugin` directory within the core directory. * * @param path - The relative path to the file or directory within the vite directory. * @returns The absolute path to the specified file or directory within the vite directory. */ -export function vitePath(path?: string) { - return corePath(`vite/${path || ''}`) +export function vitePluginPath(path?: string) { + return corePath(`vite-plugin/${path || ''}`) } /** @@ -1351,7 +1361,8 @@ export const path = { userNotificationsPath, utilsPath, validationPath, - vitePath, + viteConfigPath, + vitePluginPath, xRayPath, homeDir, diff --git a/storage/framework/core/payments/build.ts b/storage/framework/core/payments/build.ts index b229badecd..1e66651a27 100644 --- a/storage/framework/core/payments/build.ts +++ b/storage/framework/core/payments/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/push/build.ts b/storage/framework/core/push/build.ts index 7ce2f1bd5d..4d5a02421d 100644 --- a/storage/framework/core/push/build.ts +++ b/storage/framework/core/push/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/query-builder/build.ts b/storage/framework/core/query-builder/build.ts index 5ccb71ee92..3d9c4fa38b 100644 --- a/storage/framework/core/query-builder/build.ts +++ b/storage/framework/core/query-builder/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/queue/build.ts b/storage/framework/core/queue/build.ts index b229badecd..1e66651a27 100644 --- a/storage/framework/core/queue/build.ts +++ b/storage/framework/core/queue/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/realtime/build.ts b/storage/framework/core/realtime/build.ts index b229badecd..1e66651a27 100644 --- a/storage/framework/core/realtime/build.ts +++ b/storage/framework/core/realtime/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/repl/build.ts b/storage/framework/core/repl/build.ts index 686ae24fc7..680c7d77c6 100644 --- a/storage/framework/core/repl/build.ts +++ b/storage/framework/core/repl/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/router/build.ts b/storage/framework/core/router/build.ts index 796595742e..23575cb212 100644 --- a/storage/framework/core/router/build.ts +++ b/storage/framework/core/router/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, @@ -11,8 +11,11 @@ const result = await Bun.build({ target: 'bun', external: [ + '@stacksjs/path', + '@stacksjs/types', '@stacksjs/config', '@stacksjs/logging', + '@stacksjs/strings', ], }) diff --git a/storage/framework/core/scheduler/build.ts b/storage/framework/core/scheduler/build.ts index 0ac12509aa..ac8e18ab89 100644 --- a/storage/framework/core/scheduler/build.ts +++ b/storage/framework/core/scheduler/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/search-engine/build.ts b/storage/framework/core/search-engine/build.ts index d393162e72..2a11ea1ff9 100644 --- a/storage/framework/core/search-engine/build.ts +++ b/storage/framework/core/search-engine/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/security/build.ts b/storage/framework/core/security/build.ts index 4eed2a760f..26cd093211 100644 --- a/storage/framework/core/security/build.ts +++ b/storage/framework/core/security/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/server/build.ts b/storage/framework/core/server/build.ts index 781e1cfa1e..d28886e499 100644 --- a/storage/framework/core/server/build.ts +++ b/storage/framework/core/server/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/shell/build.ts b/storage/framework/core/shell/build.ts index 2838b216c2..45cea00e06 100644 --- a/storage/framework/core/shell/build.ts +++ b/storage/framework/core/shell/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/slug/build.ts b/storage/framework/core/slug/build.ts index 7ce2f1bd5d..4d5a02421d 100644 --- a/storage/framework/core/slug/build.ts +++ b/storage/framework/core/slug/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/sms/build.ts b/storage/framework/core/sms/build.ts index adaf6440b4..5f104e45bc 100644 --- a/storage/framework/core/sms/build.ts +++ b/storage/framework/core/sms/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/storage/build.ts b/storage/framework/core/storage/build.ts index aa29384d56..9adf029689 100644 --- a/storage/framework/core/storage/build.ts +++ b/storage/framework/core/storage/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/strings/build.ts b/storage/framework/core/strings/build.ts index f6b19ecf6f..c92f480c9f 100644 --- a/storage/framework/core/strings/build.ts +++ b/storage/framework/core/strings/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/testing/build.ts b/storage/framework/core/testing/build.ts index 5e214a0ed1..62c882b66e 100644 --- a/storage/framework/core/testing/build.ts +++ b/storage/framework/core/testing/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/tsconfig.json b/storage/framework/core/tsconfig.json index f554e042ce..860378631e 100644 --- a/storage/framework/core/tsconfig.json +++ b/storage/framework/core/tsconfig.json @@ -11,6 +11,7 @@ "module": "esnext", "moduleResolution": "bundler", "paths": { +// "vite": ["../../../node_modules/vite/dist/node"], "@stacksjs/*": ["./*/src"], "stacks/*": ["./*/src"], "buddy": ["./buddy/src/index.ts"], diff --git a/storage/framework/core/tunnel/build.ts b/storage/framework/core/tunnel/build.ts index b229badecd..1e66651a27 100644 --- a/storage/framework/core/tunnel/build.ts +++ b/storage/framework/core/tunnel/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/types/build.ts b/storage/framework/core/types/build.ts index bedae0be03..5e57b33331 100644 --- a/storage/framework/core/types/build.ts +++ b/storage/framework/core/types/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/ui/build.ts b/storage/framework/core/ui/build.ts index 226fce59cf..060c9608bf 100644 --- a/storage/framework/core/ui/build.ts +++ b/storage/framework/core/ui/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/utils/build.ts b/storage/framework/core/utils/build.ts index 497ff5fc18..fa5e953b55 100644 --- a/storage/framework/core/utils/build.ts +++ b/storage/framework/core/utils/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/core/validation/build.ts b/storage/framework/core/validation/build.ts index bc64c24034..cdd13cb289 100644 --- a/storage/framework/core/validation/build.ts +++ b/storage/framework/core/validation/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, @@ -12,7 +12,6 @@ const result = await Bun.build({ external: [ '@vinejs/vine', - '@stacksjs/vite', '@stacksjs/strings', '@stacksjs/types', '@dinero.js/currencies', diff --git a/storage/framework/core/validation/package.json b/storage/framework/core/validation/package.json index 7c4bcaab1d..15042356d9 100644 --- a/storage/framework/core/validation/package.json +++ b/storage/framework/core/validation/package.json @@ -58,7 +58,6 @@ "@vinejs/vine": "^1.7.1" }, "devDependencies": { - "@stacksjs/development": "workspace:*", - "@stacksjs/vite": "workspace:*" + "@stacksjs/development": "workspace:*" } } diff --git a/storage/framework/core/vite/README.md b/storage/framework/core/vite-config/README.md similarity index 92% rename from storage/framework/core/vite/README.md rename to storage/framework/core/vite-config/README.md index 64f3661bd3..88549c3632 100644 --- a/storage/framework/core/vite/README.md +++ b/storage/framework/core/vite-config/README.md @@ -15,13 +15,13 @@ wip wip ```bash -bun install -d @stacksjs/vite +bun install -d @stacksjs/vite-config ``` Now, you can use it in your project: ```js -import vite from '@stacksjs/vite' +import vite from '@stacksjs/vite-config' // wip ``` diff --git a/storage/framework/core/vite-config/build.ts b/storage/framework/core/vite-config/build.ts new file mode 100644 index 0000000000..0c11795ae7 --- /dev/null +++ b/storage/framework/core/vite-config/build.ts @@ -0,0 +1,64 @@ +import { intro, outro } from '../build/src' + +const { startTime } = await intro({ + dir: import.meta.dir, +}) + +const result = await Bun.build({ + entrypoints: ['./src/index.ts'], + outdir: './dist', + format: 'esm', + target: 'bun', + + external: [ + '@stacksjs/cli', + '@stacksjs/config', + '@stacksjs/env', + '@stacksjs/error-handling', + '@stacksjs/path', + '@stacksjs/server', + '@stacksjs/types', + '@stacksjs/utils', + '@stacksjs/vite-plugin', + 'export-size', + 'hookable', + 'js-yaml', + 'macroable', + 'neverthrow', + 'perfect-debounce', + 'vue', + 'vueuse', + 'yaml', + 'vite', + 'vite-plugin-inspect', + 'vite-plugin-vue-layouts', + 'vite-ssg-sitemap', + 'vitepress', + 'vite-plugin-pwa', + 'vite-plugin-pages', + 'vite-plugin-webfont-dl', + 'vite-plugin-vue-devtools', + 'unocss', + '@vitejs/plugin-vue', + 'unplugin-auto-import/vite', + 'unplugin-vue-components/vite', + 'unplugin-vue-macros/vite', + 'unplugin-vue-markdown/vite', + 'unplugin-vue-router', + 'unplugin-vue-router/vite', + '@intlify/unplugin-vue-i18n/vite', + 'defu', + 'markdown-it-shikiji', + 'markdown-it-link-attributes', + 'unocss/vite', + '@unhead/vue', + 'bun', + // 'lightningcss', + ], +}) + +await outro({ + dir: import.meta.dir, + startTime, + result, +}) diff --git a/storage/framework/core/vite-config/package.json b/storage/framework/core/vite-config/package.json new file mode 100644 index 0000000000..ecb6e90346 --- /dev/null +++ b/storage/framework/core/vite-config/package.json @@ -0,0 +1,122 @@ +{ + "name": "@stacksjs/vite-config", + "type": "module", + "version": "0.60.2", + "description": "The Stacks Vite configurations.", + "author": "Chris Breuer", + "license": "MIT", + "funding": "https://github.com/sponsors/chrisbbreuer", + "homepage": "https://github.com/stacksjs/stacks/tree/main/storage/framework/core/vite#readme", + "repository": { + "type": "git", + "url": "git+https://github.com/stacksjs/stacks.git", + "directory": "./storage/framework/core/vite" + }, + "bugs": { + "url": "https://github.com/stacksjs/stacks/issues" + }, + "keywords": [ + "vite", + "configs", + "vite-plugin", + "stacks" + ], + "exports": { + ".": { + "bun": "./src/index.ts", + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + }, + "./plugin": { + "bun": "./src/index.ts", + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + }, + "./plugin/*": { + "bun": "./src/*" + }, + "./desktop": { + "bun": "./src/desktop.ts", + "types": "./dist/desktop.d.ts", + "import": "./dist/desktop.mjs" + }, + "./example/web-components": { + "bun": "./src/example-wc.ts", + "types": "./dist/example-wc.d.ts", + "import": "./dist/example-wc.mjs" + }, + "./example/vue-components": { + "bun": "./src/example-vue.ts", + "types": "./dist/example-vue.d.ts", + "import": "./dist/example-vue.mjs" + }, + "./functions": { + "bun": "./src/functions.ts", + "types": "./dist/functions.d.ts", + "import": "./dist/functions.mjs" + }, + "./stacks": { + "bun": "./src/stacks.ts", + "types": "./dist/stacks.d.ts", + "import": "./dist/stacks.mjs" + }, + "./views": { + "bun": "./src/views.ts", + "types": "./dist/views.d.ts", + "import": "./dist/views.mjs" + }, + "./vue-components": { + "bun": "./src/components.ts", + "types": "./dist/vue-components.d.ts", + "import": "./dist/vue-components.mjs" + }, + "./web-components": { + "bun": "./src/web-components.ts", + "types": "./dist/web-components.d.ts", + "import": "./dist/web-components.mjs" + } + }, + "module": "dist/index.js", + "types": "dist/index.d.ts", + "contributors": [ + "Chris Breuer " + ], + "files": [ + "README.md", + "dist", + "src" + ], + "scripts": { + "build": "bun build.ts", + "typecheck": "bun --bun tsc --noEmit", + "prepublishOnly": "bun run build" + }, + "dependencies": { + "@stacksjs/alias": "workspace:*", + "@stacksjs/config": "workspace:*", + "@stacksjs/docs": "workspace:*", + "@stacksjs/env": "workspace:*", + "@stacksjs/path": "workspace:*", + "@stacksjs/server": "workspace:*", + "@stacksjs/storage": "workspace:*", + "@stacksjs/types": "workspace:*", + "@stacksjs/utils": "workspace:*", + "@vitejs/plugin-vue": "^5.0.4", + "markdown-it-link-attributes": "^4.0.1", + "markdown-it-shiki": "^0.9.0", + "unplugin-auto-import": "^0.17.5", + "unplugin-vue-components": "^0.26.0", + "vite": "^5.1.6", + "vite-plugin-full-reload": "^1.1.0", + "vite-plugin-inspect": "^0.8.3", + "vite-plugin-pages": "^0.32.0", + "vite-plugin-pwa": "^0.19.2", + "vite-plugin-vue-markdown": "^0.23.8", + "vite-ssg": "^0.23.6", + "vite-ssg-sitemap": "^0.6.1" + }, + "devDependencies": { + "@babel/preset-typescript": "latest", + "@stacksjs/development": "workspace:*" + } +} diff --git a/storage/framework/core/vite/src/api.ts b/storage/framework/core/vite-config/src/api.ts similarity index 100% rename from storage/framework/core/vite/src/api.ts rename to storage/framework/core/vite-config/src/api.ts diff --git a/storage/framework/core/vite/src/components.ts b/storage/framework/core/vite-config/src/components.ts similarity index 100% rename from storage/framework/core/vite/src/components.ts rename to storage/framework/core/vite-config/src/components.ts diff --git a/storage/framework/core/vite/src/dashboard.ts b/storage/framework/core/vite-config/src/dashboard.ts similarity index 100% rename from storage/framework/core/vite/src/dashboard.ts rename to storage/framework/core/vite-config/src/dashboard.ts diff --git a/storage/framework/core/vite/src/desktop.ts b/storage/framework/core/vite-config/src/desktop.ts similarity index 100% rename from storage/framework/core/vite/src/desktop.ts rename to storage/framework/core/vite-config/src/desktop.ts diff --git a/storage/framework/core/vite/src/example-vue.ts b/storage/framework/core/vite-config/src/example-vue.ts similarity index 100% rename from storage/framework/core/vite/src/example-vue.ts rename to storage/framework/core/vite-config/src/example-vue.ts diff --git a/storage/framework/core/vite/src/example-wc.ts b/storage/framework/core/vite-config/src/example-wc.ts similarity index 100% rename from storage/framework/core/vite/src/example-wc.ts rename to storage/framework/core/vite-config/src/example-wc.ts diff --git a/storage/framework/core/vite/src/functions.ts b/storage/framework/core/vite-config/src/functions.ts similarity index 100% rename from storage/framework/core/vite/src/functions.ts rename to storage/framework/core/vite-config/src/functions.ts diff --git a/storage/framework/core/vite/src/index.ts b/storage/framework/core/vite-config/src/index.ts similarity index 84% rename from storage/framework/core/vite/src/index.ts rename to storage/framework/core/vite-config/src/index.ts index 0d69b5690b..d464596a15 100644 --- a/storage/framework/core/vite/src/index.ts +++ b/storage/framework/core/vite-config/src/index.ts @@ -1,18 +1,16 @@ -export type { BuildOptions as ViteBuildOptions, ViteDevServer } from 'vite' // import type { Env } from '@stacksjs/env' // export function loadEnv(...args: Parameters): Env { // return viteLoadEnv(...args) as unknown as Env // } +export type { BuildOptions as ViteBuildOptions, ViteDevServer } from 'vite' + export * as vueComponentExample from './example-vue' export * as webComponentExample from './example-wc' export * as functions from './functions' export * as views from './views' export * as vueComponents from './components' export * as webComponents from './web-components' -export * from './plugins' -export * as stacks from './plugins' -export { docsEngine } from './plugin/docs' // export { ViteDevServer, ViteBuildOptions } diff --git a/storage/framework/core/vite/src/system-tray.ts b/storage/framework/core/vite-config/src/system-tray.ts similarity index 100% rename from storage/framework/core/vite/src/system-tray.ts rename to storage/framework/core/vite-config/src/system-tray.ts diff --git a/storage/framework/core/vite/src/views.ts b/storage/framework/core/vite-config/src/views.ts similarity index 100% rename from storage/framework/core/vite/src/views.ts rename to storage/framework/core/vite-config/src/views.ts diff --git a/storage/framework/core/vite/src/web-components.ts b/storage/framework/core/vite-config/src/web-components.ts similarity index 100% rename from storage/framework/core/vite/src/web-components.ts rename to storage/framework/core/vite-config/src/web-components.ts diff --git a/storage/framework/core/vite/tests/example.test.ts b/storage/framework/core/vite-config/tests/example.test.ts similarity index 100% rename from storage/framework/core/vite/tests/example.test.ts rename to storage/framework/core/vite-config/tests/example.test.ts diff --git a/storage/framework/core/vite/tsconfig.json b/storage/framework/core/vite-config/tsconfig.json similarity index 100% rename from storage/framework/core/vite/tsconfig.json rename to storage/framework/core/vite-config/tsconfig.json diff --git a/storage/framework/core/vite-plugin/README.md b/storage/framework/core/vite-plugin/README.md new file mode 100644 index 0000000000..c2ae4f1373 --- /dev/null +++ b/storage/framework/core/vite-plugin/README.md @@ -0,0 +1,59 @@ +# Vite Plugin Stacks + +This package contains the Stacks Vite plugin. + +## ☘️ Features + +wip + +- ⚡️ + +wip + +## 🤖 Usage + +wip + +```bash +bun install -d @stacksjs/vite-plugin +``` + +Now, you can use it in your project: + +```js +import vite from '@stacksjs/vite-plugin' + +// wip +``` + +Learn more in the docs. + +## 🧪 Testing + +```bash +bun test +``` + +## 📈 Changelog + +Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently. + +## 🚜 Contributing + +Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details. + +## 🏝 Community + +For help, discussion about best practices, or any other conversation that would benefit from being searchable: + +[Discussions on GitHub](https://github.com/stacksjs/stacks/discussions) + +For casual chit-chat with others using this package: + +[Join the Stacks Discord Server](https://discord.gg/stacksjs) + +## 📄 License + +The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/stacks/tree/main/LICENSE.md) for more information. + +Made with 💙 diff --git a/storage/framework/core/vite/build.ts b/storage/framework/core/vite-plugin/build.ts similarity index 98% rename from storage/framework/core/vite/build.ts rename to storage/framework/core/vite-plugin/build.ts index f4cd068692..f2b7e3d9c4 100644 --- a/storage/framework/core/vite/build.ts +++ b/storage/framework/core/vite-plugin/build.ts @@ -19,7 +19,6 @@ const result = await Bun.build({ '@stacksjs/server', '@stacksjs/types', '@stacksjs/utils', - '@stacksjs/vite', 'export-size', 'hookable', 'js-yaml', diff --git a/storage/framework/core/vite/package.json b/storage/framework/core/vite-plugin/package.json similarity index 97% rename from storage/framework/core/vite/package.json rename to storage/framework/core/vite-plugin/package.json index d8c32b200e..7df71a8b08 100644 --- a/storage/framework/core/vite/package.json +++ b/storage/framework/core/vite-plugin/package.json @@ -1,8 +1,8 @@ { - "name": "@stacksjs/vite", + "name": "@stacksjs/vite-plugin", "type": "module", "version": "0.60.2", - "description": "The Stacks Vite plugin.", + "description": "The Stacks Vite plugins.", "author": "Chris Breuer", "license": "MIT", "funding": "https://github.com/sponsors/chrisbbreuer", diff --git a/storage/framework/core/vite/src/plugin/auto-imports.ts b/storage/framework/core/vite-plugin/src/auto-imports.ts similarity index 100% rename from storage/framework/core/vite/src/plugin/auto-imports.ts rename to storage/framework/core/vite-plugin/src/auto-imports.ts diff --git a/storage/framework/core/vite/src/plugin/components.ts b/storage/framework/core/vite-plugin/src/components.ts similarity index 100% rename from storage/framework/core/vite/src/plugin/components.ts rename to storage/framework/core/vite-plugin/src/components.ts diff --git a/storage/framework/core/vite/src/plugin/css-engine.ts b/storage/framework/core/vite-plugin/src/css-engine.ts similarity index 100% rename from storage/framework/core/vite/src/plugin/css-engine.ts rename to storage/framework/core/vite-plugin/src/css-engine.ts diff --git a/storage/framework/core/vite/src/plugin/devtools.ts b/storage/framework/core/vite-plugin/src/devtools.ts similarity index 100% rename from storage/framework/core/vite/src/plugin/devtools.ts rename to storage/framework/core/vite-plugin/src/devtools.ts diff --git a/storage/framework/core/vite/src/plugin/docs.ts b/storage/framework/core/vite-plugin/src/docs.ts similarity index 100% rename from storage/framework/core/vite/src/plugin/docs.ts rename to storage/framework/core/vite-plugin/src/docs.ts diff --git a/storage/framework/core/vite/src/plugin/fonts.ts b/storage/framework/core/vite-plugin/src/fonts.ts similarity index 100% rename from storage/framework/core/vite/src/plugin/fonts.ts rename to storage/framework/core/vite-plugin/src/fonts.ts diff --git a/storage/framework/core/vite/src/plugin/i18n.ts b/storage/framework/core/vite-plugin/src/i18n.ts similarity index 100% rename from storage/framework/core/vite/src/plugin/i18n.ts rename to storage/framework/core/vite-plugin/src/i18n.ts diff --git a/storage/framework/core/vite-plugin/src/index.ts b/storage/framework/core/vite-plugin/src/index.ts new file mode 100644 index 0000000000..456f952e3f --- /dev/null +++ b/storage/framework/core/vite-plugin/src/index.ts @@ -0,0 +1,16 @@ +export * from './auto-imports' +export * from './components' +export * from './css-engine' +export * from './devtools' +export * from './docs' +export * from './fonts' +export * from './i18n' +export * from './inspect' +export * from './layouts' +export * from './markdown' +export * from './pages' +export * from './presets' +export * from './pwa' +export * from './router' +export * from './stacks' +export * from './ui-engine' diff --git a/storage/framework/core/vite/src/plugin/inspect.ts b/storage/framework/core/vite-plugin/src/inspect.ts similarity index 100% rename from storage/framework/core/vite/src/plugin/inspect.ts rename to storage/framework/core/vite-plugin/src/inspect.ts diff --git a/storage/framework/core/vite/src/plugin/layouts.ts b/storage/framework/core/vite-plugin/src/layouts.ts similarity index 100% rename from storage/framework/core/vite/src/plugin/layouts.ts rename to storage/framework/core/vite-plugin/src/layouts.ts diff --git a/storage/framework/core/vite/src/plugin/markdown.ts b/storage/framework/core/vite-plugin/src/markdown.ts similarity index 100% rename from storage/framework/core/vite/src/plugin/markdown.ts rename to storage/framework/core/vite-plugin/src/markdown.ts diff --git a/storage/framework/core/vite/src/plugin/pages.ts b/storage/framework/core/vite-plugin/src/pages.ts similarity index 100% rename from storage/framework/core/vite/src/plugin/pages.ts rename to storage/framework/core/vite-plugin/src/pages.ts diff --git a/storage/framework/core/vite/src/plugin/presets.ts b/storage/framework/core/vite-plugin/src/presets.ts similarity index 100% rename from storage/framework/core/vite/src/plugin/presets.ts rename to storage/framework/core/vite-plugin/src/presets.ts diff --git a/storage/framework/core/vite/src/plugin/pwa.ts b/storage/framework/core/vite-plugin/src/pwa.ts similarity index 100% rename from storage/framework/core/vite/src/plugin/pwa.ts rename to storage/framework/core/vite-plugin/src/pwa.ts diff --git a/storage/framework/core/vite/src/plugin/router.ts b/storage/framework/core/vite-plugin/src/router.ts similarity index 100% rename from storage/framework/core/vite/src/plugin/router.ts rename to storage/framework/core/vite-plugin/src/router.ts diff --git a/storage/framework/core/vite/src/plugin/stacks.ts b/storage/framework/core/vite-plugin/src/stacks.ts similarity index 100% rename from storage/framework/core/vite/src/plugin/stacks.ts rename to storage/framework/core/vite-plugin/src/stacks.ts diff --git a/storage/framework/core/vite/src/plugin/ui-engine.ts b/storage/framework/core/vite-plugin/src/ui-engine.ts similarity index 100% rename from storage/framework/core/vite/src/plugin/ui-engine.ts rename to storage/framework/core/vite-plugin/src/ui-engine.ts diff --git a/storage/framework/core/vite-plugin/tests/example.test.ts b/storage/framework/core/vite-plugin/tests/example.test.ts new file mode 100644 index 0000000000..ca8394afb7 --- /dev/null +++ b/storage/framework/core/vite-plugin/tests/example.test.ts @@ -0,0 +1,5 @@ +describe('example test', () => { + it('assert', () => { + expect(1).toBe(1) + }) +}) diff --git a/storage/framework/core/vite-plugin/tsconfig.json b/storage/framework/core/vite-plugin/tsconfig.json new file mode 100644 index 0000000000..3c43903cfd --- /dev/null +++ b/storage/framework/core/vite-plugin/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../tsconfig.json" +} diff --git a/storage/framework/core/vite/src/plugins.ts b/storage/framework/core/vite/src/plugins.ts deleted file mode 100644 index 55c01d179a..0000000000 --- a/storage/framework/core/vite/src/plugins.ts +++ /dev/null @@ -1,12 +0,0 @@ -export { uiEngine } from './plugin/ui-engine' -export { autoImports } from './plugin/auto-imports' -export { inspect } from './plugin/inspect' -export { cssEngine } from './plugin/css-engine' -export { components } from './plugin/components' -export { pages } from './plugin/pages' -export { pwa } from './plugin/pwa' -export { layouts } from './plugin/layouts' -export { devtools } from './plugin/devtools' -export { markdown } from './plugin/markdown' -export { i18n } from './plugin/i18n' -export { router } from './plugin/router' diff --git a/storage/framework/core/whois/build.ts b/storage/framework/core/whois/build.ts index c9c533c5da..93d07e59dd 100644 --- a/storage/framework/core/whois/build.ts +++ b/storage/framework/core/whois/build.ts @@ -1,4 +1,4 @@ -import { intro, outro } from '@stacksjs/build' +import { intro, outro } from '../build/src' const { startTime } = await intro({ dir: import.meta.dir, diff --git a/storage/framework/docs/package.json b/storage/framework/docs/package.json index 2462bfb9e6..d682428ce0 100644 --- a/storage/framework/docs/package.json +++ b/storage/framework/docs/package.json @@ -15,7 +15,7 @@ "@stacksjs/path": "workspace:*", "@stacksjs/server": "workspace:*", "@stacksjs/storage": "workspace:*", - "@stacksjs/vite": "workspace:*", + "@stacksjs/vite-config": "workspace:*", "vitepress": "1.0.0-rc.45" } } diff --git a/storage/framework/types/auto-imports.d.ts b/storage/framework/types/auto-imports.d.ts index 81a7f47ae3..f8847625f8 100644 --- a/storage/framework/types/auto-imports.d.ts +++ b/storage/framework/types/auto-imports.d.ts @@ -43,6 +43,7 @@ declare global { const MenuItem: typeof import('../core/ui/src/components/menu')['MenuItem'] const MenuItems: typeof import('../core/ui/src/components/menu')['MenuItems'] const Middleware: typeof import('../core/router/src/middleware')['Middleware'] + const Migration: typeof import('../core/database/src/types')['Migration'] const MoneyValidator: typeof import('../core/validation/src/types/money')['MoneyValidator'] const MysqlDialect: typeof import('../core/query-builder/src/kysely')['MysqlDialect'] const Ok: typeof import('../core/error-handling/src/index')['Ok'] @@ -66,6 +67,7 @@ declare global { const RuleString: typeof import('../core/validation/src/validate')['RuleString'] const Schedule: typeof import('../core/scheduler/src/schedule')['Schedule'] const ScheduleImpl: typeof import('../core/scheduler/src/index')['ScheduleImpl'] + const Schema: typeof import('../core/database/src/schema')['Schema'] const SocialLinkIcon: typeof import('../core/types/src/docs')['SocialLinkIcon'] const StacksError: typeof import('../core/error-handling/src/handler')['StacksError'] const Store: typeof import('../core/ui/src/index')['Store'] @@ -90,32 +92,32 @@ declare global { const VineString: typeof import('../core/validation/src/validate')['VineString'] const _dirname: typeof import('../core/storage/src/helpers')['_dirname'] const acceptHMRUpdate: typeof import('pinia')['acceptHMRUpdate'] - const actionsPath: typeof import('../core/path/src/index')['actionsPath'] + const actionsPath: typeof import('../core/path/src/paths')['actionsPath'] const add: typeof import('../core/utils/src/currency')['add'] const addDomain: typeof import('../core/dns/src/drivers/aws')['addDomain'] const afterAll: typeof import('../core/testing/src/index')['afterAll'] const afterEach: typeof import('../core/testing/src/index')['afterEach'] - const aiPath: typeof import('../core/path/src/index')['aiPath'] + const aiPath: typeof import('../core/path/src/paths')['aiPath'] const alias: typeof import('../core/alias/src/index')['alias'] - const aliasPath: typeof import('../core/path/src/index')['aliasPath'] + const aliasPath: typeof import('../core/path/src/paths')['aliasPath'] const all: typeof import('../core/events/src/index')['all'] const allocate: typeof import('../core/utils/src/currency')['allocate'] - const analyticsPath: typeof import('../core/path/src/index')['analyticsPath'] + const analyticsPath: typeof import('../core/path/src/paths')['analyticsPath'] const and: typeof import('../core/utils/src/math')['and'] const anyOf: typeof import('../core/utils/src/regex')['anyOf'] - const appPath: typeof import('../core/path/src/index')['appPath'] + const appPath: typeof import('../core/path/src/paths')['appPath'] const archive: typeof import('../core/storage/src/zip')['archive'] const arrays: typeof import('../core/index')['arrays'] - const arraysPath: typeof import('../core/path/src/index')['arraysPath'] + const arraysPath: typeof import('../core/path/src/paths')['arraysPath'] const assert: typeof import('../core/testing/src/index')['assert'] - const assetsPath: typeof import('../core/path/src/index')['assetsPath'] + const assetsPath: typeof import('../core/path/src/paths')['assetsPath'] const asyncComputed: typeof import('../core/utils/src/vendors')['asyncComputed'] const auth: typeof import('../core/auth/src/index')['auth'] - const authPath: typeof import('../core/path/src/index')['authPath'] + const authPath: typeof import('../core/path/src/paths')['authPath'] const autoResetRef: typeof import('../core/utils/src/vendors')['autoResetRef'] const base64Encode: typeof import('../core/security/src/hash')['base64Encode'] const base64Verify: typeof import('../core/security/src/hash')['base64Verify'] - const basename: typeof import('../core/path/src/index')['basename'] + const basename: typeof import('../core/path/src/paths')['basename'] const batchInvoke: typeof import('../core/utils/src/function')['batchInvoke'] const bcryptEncode: typeof import('../core/security/src/hash')['bcryptEncode'] const bcryptVerify: typeof import('../core/security/src/hash')['bcryptVerify'] @@ -129,11 +131,11 @@ declare global { const breakpointsTailwind: typeof import('../core/utils/src/vendors')['breakpointsTailwind'] const breakpointsVuetify: typeof import('../core/utils/src/vendors')['breakpointsVuetify'] const buddy: typeof import('../core/index')['buddy'] - const buddyPath: typeof import('../core/path/src/index')['buddyPath'] - const buildEnginePath: typeof import('../core/path/src/index')['buildEnginePath'] - const buildPath: typeof import('../core/path/src/index')['buildPath'] + const buddyPath: typeof import('../core/path/src/paths')['buddyPath'] + const buildEnginePath: typeof import('../core/path/src/paths')['buildEnginePath'] + const buildPath: typeof import('../core/path/src/paths')['buildPath'] const cache: typeof import('../core/index')['cache'] - const cachePath: typeof import('../core/path/src/index')['cachePath'] + const cachePath: typeof import('../core/path/src/paths')['cachePath'] const calculateDelay: typeof import('../core/utils/src/retry')['calculateDelay'] const calculatePagination: typeof import('../core/search-engine/src/index')['calculatePagination'] const carriageReturn: typeof import('../core/utils/src/regex')['carriageReturn'] @@ -143,21 +145,21 @@ declare global { const charIn: typeof import('../core/utils/src/regex')['charIn'] const charNotIn: typeof import('../core/utils/src/regex')['charNotIn'] const chat: typeof import('../core/index')['chat'] - const chatPath: typeof import('../core/path/src/index')['chatPath'] + const chatPath: typeof import('../core/path/src/paths')['chatPath'] const clamp: typeof import('../core/utils/src/math')['clamp'] const cleanProject: typeof import('../core/utils/src/clean')['cleanProject'] const clearUndefined: typeof import('../core/objects/src/index')['clearUndefined'] const cli: typeof import('../core/index')['cli'] - const cliPath: typeof import('../core/path/src/index')['cliPath'] + const cliPath: typeof import('../core/path/src/paths')['cliPath'] const client: typeof import('../core/search-engine/src/index')['client'] const cloneFnJSON: typeof import('../core/utils/src/vendors')['cloneFnJSON'] const cloud: typeof import('../core/index')['cloud'] - const cloudPath: typeof import('../core/path/src/index')['cloudPath'] + const cloudPath: typeof import('../core/path/src/paths')['cloudPath'] const collections: typeof import('../core/index')['collections'] - const collectionsPath: typeof import('../core/path/src/index')['collectionsPath'] - const commandsPath: typeof import('../core/path/src/index')['commandsPath'] + const collectionsPath: typeof import('../core/path/src/paths')['collectionsPath'] + const commandsPath: typeof import('../core/path/src/paths')['commandsPath'] const compare: typeof import('../core/utils/src/currency')['compare'] - const componentsPath: typeof import('../core/path/src/index')['componentsPath'] + const componentsPath: typeof import('../core/path/src/paths')['componentsPath'] const compress: typeof import('../core/storage/src/zip')['compress'] const computed: typeof import('vue')['computed'] const computedAsync: typeof import('../core/utils/src/vendors')['computedAsync'] @@ -166,7 +168,7 @@ declare global { const computedSignal: typeof import('../core/signals/src/index')['computedSignal'] const computedWithControl: typeof import('../core/utils/src/vendors')['computedWithControl'] const config: typeof import('../core/index')['config'] - const configPath: typeof import('../core/path/src/index')['configPath'] + const configPath: typeof import('../core/path/src/paths')['configPath'] const consola: typeof import('../core/logging/src/index')['consola'] const controlledComputed: typeof import('../core/utils/src/vendors')['controlledComputed'] const controlledRef: typeof import('../core/utils/src/vendors')['controlledRef'] @@ -174,8 +176,8 @@ declare global { const copy: typeof import('../core/storage/src/copy')['copy'] const copyFile: typeof import('../core/storage/src/copy')['copyFile'] const copyFolder: typeof import('../core/storage/src/copy')['copyFolder'] - const coreEnvPath: typeof import('../core/path/src/index')['coreEnvPath'] - const corePath: typeof import('../core/path/src/index')['corePath'] + const coreEnvPath: typeof import('../core/path/src/paths')['coreEnvPath'] + const corePath: typeof import('../core/path/src/paths')['corePath'] const count: typeof import('../../../resources/functions/counter')['count'] const createApp: typeof import('vue')['createApp'] const createComponent: typeof import('../core/actions/src/index')['createComponent'] @@ -211,13 +213,13 @@ declare global { const createUnrefFn: typeof import('../core/utils/src/vendors')['createUnrefFn'] const currency: typeof import('../core/utils/src/currency')['currency'] const currentPage: typeof import('../core/search-engine/src/index')['currentPage'] - const customElementsDataPath: typeof import('../core/path/src/index')['customElementsDataPath'] + const customElementsDataPath: typeof import('../core/path/src/paths')['customElementsDataPath'] const customRef: typeof import('vue')['customRef'] const customStorageEventName: typeof import('../core/utils/src/vendors')['customStorageEventName'] const dashboardPath: typeof import('../core/path/src/index')['dashboardPath'] - const databasePath: typeof import('../core/path/src/index')['databasePath'] + const databasePath: typeof import('../core/path/src/paths')['databasePath'] const dateFormat: typeof import('../core/datetime/src/index')['dateFormat'] - const datetimePath: typeof import('../core/path/src/index')['datetimePath'] + const datetimePath: typeof import('../core/path/src/paths')['datetimePath'] const db: typeof import('../core/database/src/index')['db'] const dbDialect: typeof import('../core/database/src/index')['dbDialect'] const dd: typeof import('../core/logging/src/index')['dd'] @@ -250,7 +252,7 @@ declare global { const defineLibrary: typeof import('../core/utils/src/config')['defineLibrary'] const defineLoader: typeof import('vue-router/auto')['defineLoader'] const defineNotification: typeof import('../core/utils/src/config')['defineNotification'] - const definePage: typeof import('unplugin-vue-router/runtime')['_definePage'] + const definePage: typeof import('unplugin-vue-router/runtime')['definePage'] const definePayment: typeof import('../core/utils/src/config')['definePayment'] const defineQueue: typeof import('../core/utils/src/config')['defineQueue'] const defineSearchEngine: typeof import('../core/utils/src/config')['defineSearchEngine'] @@ -270,20 +272,20 @@ declare global { const deleteGlob: typeof import('../core/storage/src/delete')['deleteGlob'] const deleteHostedZone: typeof import('../core/dns/src/drivers/aws')['deleteHostedZone'] const deleteHostedZoneRecords: typeof import('../core/dns/src/drivers/aws')['deleteHostedZoneRecords'] - const delimiter: typeof import('../core/path/src/index')['delimiter'] + const delimiter: typeof import('../core/path/src/paths')['delimiter'] const describe: typeof import('../core/testing/src/index')['describe'] const desktop: typeof import('../core/desktop/src/index')['desktop'] - const desktopPath: typeof import('../core/path/src/index')['desktopPath'] + const desktopPath: typeof import('../core/path/src/paths')['desktopPath'] const determineDebugLevel: typeof import('../core/utils/src/helpers')['determineDebugLevel'] const determineResetPreset: typeof import('../core/utils/src/helpers')['determineResetPreset'] - const developmentPath: typeof import('../core/path/src/index')['developmentPath'] + const developmentPath: typeof import('../core/path/src/paths')['developmentPath'] const digit: typeof import('../core/utils/src/regex')['digit'] const dinero: typeof import('../core/utils/src/currency')['dinero'] - const dirname: typeof import('../core/path/src/index')['dirname'] + const dirname: typeof import('../core/path/src/paths')['dirname'] const dispatch: typeof import('../core/events/src/index')['dispatch'] - const dnsPath: typeof import('../core/path/src/index')['dnsPath'] + const dnsPath: typeof import('../core/path/src/paths')['dnsPath'] const docsConfig: typeof import('../core/index')['docsConfig'] - const docsPath: typeof import('../core/path/src/index')['docsPath'] + const docsPath: typeof import('../core/path/src/paths')['docsPath'] const doesExist: typeof import('../core/storage/src/files')['doesExist'] const doesFolderExist: typeof import('../core/storage/src/folders')['doesFolderExist'] const doesNotExist: typeof import('../core/storage/src/files')['doesNotExist'] @@ -295,33 +297,33 @@ declare global { const effect: typeof import('../core/signals/src/index')['effect'] const effectScope: typeof import('vue')['effectScope'] const email: typeof import('../core/index')['email'] - const emailPath: typeof import('../core/path/src/index')['emailPath'] + const emailPath: typeof import('../core/path/src/paths')['emailPath'] const encrypt: typeof import('../core/security/src/crypt')['encrypt'] const ensureProjectIsInitialized: typeof import('../core/utils/src/helpers')['ensureProjectIsInitialized'] const enums: typeof import('../core/env/src/index')['enums'] - const enumsPath: typeof import('../core/path/src/index')['enumsPath'] + const enumsPath: typeof import('../core/path/src/paths')['enumsPath'] const env: typeof import('../core/env/src/index')['env'] const envKeys: typeof import('../env')['envKeys'] const envSchema: typeof import('../core/env/src/types')['envSchema'] const equal: typeof import('../core/utils/src/currency')['equal'] const err: typeof import('../core/error-handling/src/index')['err'] const errAsync: typeof import('../core/error-handling/src/index')['errAsync'] - const errorHandlingPath: typeof import('../core/path/src/index')['errorHandlingPath'] + const errorHandlingPath: typeof import('../core/path/src/paths')['errorHandlingPath'] const eslint: typeof import('../core/lint/src/index')['eslint'] - const eslintPath: typeof import('../core/path/src/index')['eslintPath'] + const eslintPath: typeof import('../core/path/src/paths')['eslintPath'] const events: typeof import('../core/events/src/index')['events'] - const eventsPath: typeof import('../core/path/src/index')['eventsPath'] + const eventsPath: typeof import('../core/path/src/paths')['eventsPath'] const exactly: typeof import('../core/utils/src/regex')['exactly'] - const examplesPath: typeof import('../core/path/src/index')['examplesPath'] + const examplesPath: typeof import('../core/path/src/paths')['examplesPath'] const executeTransition: typeof import('../core/utils/src/vendors')['executeTransition'] const exists: typeof import('../core/storage/src/fs')['exists'] const existsSync: typeof import('../core/storage/src/fs')['existsSync'] const expect: typeof import('../core/testing/src/index')['expect'] const expo: typeof import('../core/push/src/drivers/index')['expo'] const extendRef: typeof import('../core/utils/src/vendors')['extendRef'] - const extname: typeof import('../core/path/src/index')['extname'] + const extname: typeof import('../core/path/src/paths')['extname'] const faker: typeof import('../core/faker/src/index')['faker'] - const fakerPath: typeof import('../core/path/src/index')['fakerPath'] + const fakerPath: typeof import('../core/path/src/paths')['fakerPath'] const fathomWip: typeof import('../core/analytics/src/drivers/fathom')['fathomWip'] const fcm: typeof import('../core/push/src/drivers/index')['fcm'] const feature: typeof import('../core/testing/src/index')['feature'] @@ -329,23 +331,27 @@ declare global { const filterName: typeof import('../core/search-engine/src/index')['filterName'] const filters: typeof import('../core/search-engine/src/index')['filters'] const findHostedZone: typeof import('../core/dns/src/drivers/aws')['findHostedZone'] + const findProjectPath: typeof import('../core/path/src/paths')['findProjectPath'] + const findStacksProjects: typeof import('../core/utils/src/find')['findStacksProjects'] const folders: typeof import('../core/storage/src/folders')['folders'] const format: typeof import('../core/path/src/index')['format'] const formatTimeAgo: typeof import('../core/utils/src/vendors')['formatTimeAgo'] - const frameworkCloudPath: typeof import('../core/path/src/index')['frameworkCloudPath'] - const frameworkPath: typeof import('../core/path/src/index')['frameworkPath'] + const frameworkCloudPath: typeof import('../core/path/src/paths')['frameworkCloudPath'] + const frameworkPath: typeof import('../core/path/src/paths')['frameworkPath'] const frameworkVersion: typeof import('../core/utils/src/helpers')['frameworkVersion'] const fromPromise: typeof import('../core/error-handling/src/index')['fromPromise'] const fromSafePromise: typeof import('../core/error-handling/src/index')['fromSafePromise'] const fromThrowable: typeof import('../core/error-handling/src/index')['fromThrowable'] const fs: typeof import('../core/storage/src/fs')['fs'] const functions: typeof import('../core/build/src/index')['functions'] - const functionsPath: typeof import('../core/path/src/index')['functionsPath'] + const functionsPath: typeof import('../core/path/src/paths')['functionsPath'] const generate: typeof import('../core/actions/src/generate/index')['generate'] const generateAppKey: typeof import('../core/security/src/key')['generateAppKey'] const generateComponentMeta: typeof import('../core/actions/src/generate/index')['generateComponentMeta'] + const generateCoreSymlink: typeof import('../core/actions/src/generate/index')['generateCoreSymlink'] const generateIdeHelpers: typeof import('../core/actions/src/generate/index')['generateIdeHelpers'] const generateLibEntries: typeof import('../core/actions/src/generate/index')['generateLibEntries'] + const generateMigrationFile: typeof import('../core/database/src/migrations')['generateMigrationFile'] const generateMigrations: typeof import('../core/actions/src/generate/index')['generateMigrations'] const generatePkgxConfig: typeof import('../core/actions/src/generate/index')['generatePkgxConfig'] const generateSeeder: typeof import('../core/actions/src/generate/index')['generateSeeder'] @@ -364,7 +370,7 @@ declare global { const getNameservers: typeof import('../core/dns/src/drivers/aws')['getNameservers'] const getSSRHandler: typeof import('../core/utils/src/vendors')['getSSRHandler'] const getTypeName: typeof import('../core/types/src/helpers')['getTypeName'] - const gitPath: typeof import('../core/path/src/index')['gitPath'] + const gitPath: typeof import('../core/path/src/paths')['gitPath'] const glob: typeof import('../core/storage/src/glob')['glob'] const global: typeof import('../core/utils/src/regex')['global'] const goToNextPage: typeof import('../core/search-engine/src/index')['goToNextPage'] @@ -392,9 +398,10 @@ declare global { const haveSameAmount: typeof import('../core/utils/src/currency')['haveSameAmount'] const haveSameCurrency: typeof import('../core/utils/src/currency')['haveSameCurrency'] const healthNotificationsWip: typeof import('../core/health/src/notifications/index')['healthNotificationsWip'] - const healthPath: typeof import('../core/path/src/index')['healthPath'] + const healthPath: typeof import('../core/path/src/paths')['healthPath'] const helpers: typeof import('../core/storage/src/helpers')['helpers'] const hits: typeof import('../core/search-engine/src/index')['hits'] + const homeDir: typeof import('../core/path/src/paths')['homeDir'] const ignorableWatch: typeof import('../core/utils/src/vendors')['ignorableWatch'] const increment: typeof import('../../../resources/functions/counter')['increment'] const index: typeof import('../core/search-engine/src/index')['index'] @@ -404,10 +411,11 @@ declare global { const injectHead: typeof import('@unhead/vue')['injectHead'] const injectLocal: typeof import('../core/utils/src/vendors')['injectLocal'] const installIfVersionMismatch: typeof import('../core/utils/src/helpers')['installIfVersionMismatch'] + const intro: typeof import('../core/build/src/index')['intro'] const invoke: typeof import('../core/actions/src/generate/index')['invoke'] const invokeModel: typeof import('../core/ai/src/utils/client-bedrock-runtime')['invokeModel'] const invokeModelWithResponseStream: typeof import('../core/ai/src/utils/client-bedrock-runtime')['invokeModelWithResponseStream'] - const isAbsolute: typeof import('../core/path/src/index')['isAbsolute'] + const isAbsolute: typeof import('../core/path/src/paths')['isAbsolute'] const isAppKeySet: typeof import('../core/utils/src/helpers')['isAppKeySet'] const isArray: typeof import('../core/validation/src/is')['isArray'] const isBoolean: typeof import('../core/validation/src/is')['isBoolean'] @@ -459,31 +467,32 @@ declare global { const isZero: typeof import('../core/utils/src/currency')['isZero'] const it: typeof import('../core/testing/src/index')['it'] const jest: typeof import('../core/testing/src/index')['jest'] - const jobsPath: typeof import('../core/path/src/index')['jobsPath'] - const join: typeof import('../core/path/src/index')['join'] - const langPath: typeof import('../core/path/src/index')['langPath'] + const jobsPath: typeof import('../core/path/src/paths')['jobsPath'] + const join: typeof import('../core/path/src/paths')['join'] + const langPath: typeof import('../core/path/src/paths')['langPath'] const lastPageNumber: typeof import('../core/search-engine/src/index')['lastPageNumber'] - const layoutsPath: typeof import('../core/path/src/index')['layoutsPath'] + const layoutsPath: typeof import('../core/path/src/paths')['layoutsPath'] const lessThan: typeof import('../core/utils/src/currency')['lessThan'] const lessThanOrEqual: typeof import('../core/utils/src/currency')['lessThanOrEqual'] const letter: typeof import('../core/utils/src/regex')['letter'] - const libraryEntryPath: typeof import('../core/path/src/index')['libraryEntryPath'] - const libsEntriesPath: typeof import('../core/path/src/index')['libsEntriesPath'] - const libsPath: typeof import('../core/path/src/index')['libsPath'] + const libraryEntryPath: typeof import('../core/path/src/paths')['libraryEntryPath'] + const libsEntriesPath: typeof import('../core/path/src/paths')['libsEntriesPath'] + const libsPath: typeof import('../core/path/src/paths')['libsPath'] const linefeed: typeof import('../core/utils/src/regex')['linefeed'] - const lintPath: typeof import('../core/path/src/index')['lintPath'] + const lintPath: typeof import('../core/path/src/paths')['lintPath'] const listFoundationModels: typeof import('../core/ai/src/utils/client-bedrock')['listFoundationModels'] const listen: typeof import('../core/events/src/index')['listen'] - const listenersPath: typeof import('../core/path/src/index')['listenersPath'] + const listenersPath: typeof import('../core/path/src/paths')['listenersPath'] const loadYaml: typeof import('../core/utils/src/helpers')['loadYaml'] + const localTunnel: typeof import('../core/tunnel/src/index')['localTunnel'] const log: typeof import('../core/logging/src/index')['log'] const logFilePath: typeof import('../core/logging/src/index')['logFilePath'] const logLevel: typeof import('../core/logging/src/index')['logLevel'] const logger: typeof import('../core/logging/src/index')['logger'] - const loggingPath: typeof import('../core/path/src/index')['loggingPath'] + const loggingPath: typeof import('../core/path/src/paths')['loggingPath'] const logicNot: typeof import('../core/utils/src/math')['logicNot'] const logicOr: typeof import('../core/utils/src/math')['logicOr'] - const logsPath: typeof import('../core/path/src/index')['logsPath'] + const logsPath: typeof import('../core/path/src/paths')['logsPath'] const loop: typeof import('../core/utils/src/base')['loop'] const makeComponent: typeof import('../core/actions/src/index')['makeComponent'] const makeDatabase: typeof import('../core/actions/src/index')['makeDatabase'] @@ -509,28 +518,28 @@ declare global { const mitt: typeof import('../core/events/src/index')['mitt'] const mkdirSync: typeof import('../core/storage/src/fs')['mkdirSync'] const mock: typeof import('../core/testing/src/index')['mock'] - const modelsPath: typeof import('../core/path/src/index')['modelsPath'] - const modulesPath: typeof import('../core/path/src/index')['modulesPath'] + const modelsPath: typeof import('../core/path/src/paths')['modelsPath'] + const modulesPath: typeof import('../core/path/src/paths')['modulesPath'] const money: typeof import('../core/utils/src/currency')['money'] const multiline: typeof import('../core/utils/src/regex')['multiline'] const multiply: typeof import('../core/utils/src/currency')['multiply'] const nexmo: typeof import('../core/sms/src/drivers/index')['nexmo'] const nextTick: typeof import('vue')['nextTick'] const noNull: typeof import('../core/utils/src/guards')['noNull'] - const normalize: typeof import('../core/path/src/index')['normalize'] + const normalize: typeof import('../core/path/src/paths')['normalize'] const normalizeScale: typeof import('../core/utils/src/currency')['normalizeScale'] const normalizeString: typeof import('../core/path/src/index')['normalizeString'] const not: typeof import('../core/utils/src/regex')['not'] const notNullish: typeof import('../core/utils/src/guards')['notNullish'] const notUndefined: typeof import('../core/utils/src/guards')['notUndefined'] const notification: typeof import('../core/notifications/src/index')['notification'] - const notificationsPath: typeof import('../core/path/src/index')['notificationsPath'] - const now: typeof import('../core/datetime/src/index')['now'] + const notificationsPath: typeof import('../core/path/src/paths')['notificationsPath'] + const now: typeof import('../core/database/src/utils')['now'] const objectEntries: typeof import('../core/objects/src/index')['objectEntries'] const objectKeys: typeof import('../core/objects/src/index')['objectKeys'] const objectMap: typeof import('../core/objects/src/index')['objectMap'] const objectPick: typeof import('../core/objects/src/index')['objectPick'] - const objectsPath: typeof import('../core/path/src/index')['objectsPath'] + const objectsPath: typeof import('../core/path/src/paths')['objectsPath'] const off: typeof import('../core/events/src/index')['off'] const ohdearWip: typeof import('../core/health/src/drivers/ohdear')['ohdearWip'] const ok: typeof import('../core/error-handling/src/index')['ok'] @@ -557,40 +566,41 @@ declare global { const onStartTyping: typeof import('../core/utils/src/vendors')['onStartTyping'] const onUnmounted: typeof import('vue')['onUnmounted'] const onUpdated: typeof import('vue')['onUpdated'] - const onboardingPath: typeof import('../core/path/src/index')['onboardingPath'] + const onboardingPath: typeof import('../core/path/src/paths')['onboardingPath'] const oneOrMore: typeof import('../core/utils/src/regex')['oneOrMore'] const openShell: typeof import('../core/desktop/src/index')['openShell'] const openaiWip: typeof import('../core/ai/src/drivers/openai')['openaiWip'] const or: typeof import('../core/utils/src/math')['or'] const originRequestFunctionHash: typeof import('../core/utils/src/hash')['originRequestFunctionHash'] - const ormPath: typeof import('../core/path/src/index')['ormPath'] + const ormPath: typeof import('../core/path/src/paths')['ormPath'] + const outro: typeof import('../core/build/src/index')['outro'] const p: typeof import('../core/utils/src/p')['p'] - const packageJsonPath: typeof import('../core/path/src/index')['packageJsonPath'] + const packageJsonPath: typeof import('../core/path/src/paths')['packageJsonPath'] const packageManager: typeof import('../core/utils/src/helpers')['packageManager'] const parse: typeof import('../core/path/src/index')['parse'] const parseYaml: typeof import('../core/utils/src/helpers')['parseYaml'] - const path: typeof import('../core/path/src/index')['path'] - const pathPath: typeof import('../core/path/src/index')['pathPath'] + const path: typeof import('../core/path/src/paths')['path'] + const pathPath: typeof import('../core/path/src/paths')['pathPath'] const pausableWatch: typeof import('../core/utils/src/vendors')['pausableWatch'] - const paymentsPath: typeof import('../core/path/src/index')['paymentsPath'] + const paymentsPath: typeof import('../core/path/src/paths')['paymentsPath'] const perPage: typeof import('../core/search-engine/src/index')['perPage'] const playwrightConfig: typeof import('../core/playwright.config')['default'] const plivo: typeof import('../core/sms/src/drivers/index')['plivo'] const preferredDark: typeof import('../../../resources/functions/dark')['preferredDark'] const presetForms: typeof import('../core/ui/src/index')['presetForms'] const process: typeof import('../core/env/src/index')['process'] - const projectConfigPath: typeof import('../core/path/src/index')['projectConfigPath'] - const projectPath: typeof import('../core/path/src/index')['projectPath'] - const projectStoragePath: typeof import('../core/path/src/index')['projectStoragePath'] + const projectConfigPath: typeof import('../core/path/src/paths')['projectConfigPath'] + const projectPath: typeof import('../core/path/src/paths')['projectPath'] + const projectStoragePath: typeof import('../core/path/src/paths')['projectStoragePath'] const provide: typeof import('vue')['provide'] const provideLocal: typeof import('../core/utils/src/vendors')['provideLocal'] - const publicPath: typeof import('../core/path/src/index')['publicPath'] - const pushPath: typeof import('../core/path/src/index')['pushPath'] + const publicPath: typeof import('../core/path/src/paths')['publicPath'] + const pushPath: typeof import('../core/path/src/paths')['pushPath'] const put: typeof import('../core/storage/src/files')['put'] const query: typeof import('../core/search-engine/src/index')['query'] - const queryBuilderPath: typeof import('../core/path/src/index')['queryBuilderPath'] + const queryBuilderPath: typeof import('../core/path/src/paths')['queryBuilderPath'] const queue: typeof import('../core/index')['queue'] - const queuePath: typeof import('../core/path/src/index')['queuePath'] + const queuePath: typeof import('../core/path/src/paths')['queuePath'] const rand: typeof import('../core/utils/src/math')['rand'] const reactify: typeof import('../core/utils/src/vendors')['reactify'] const reactifyObject: typeof import('../core/utils/src/vendors')['reactifyObject'] @@ -598,12 +608,13 @@ declare global { const reactiveComputed: typeof import('../core/utils/src/vendors')['reactiveComputed'] const reactiveOmit: typeof import('../core/utils/src/vendors')['reactiveOmit'] const reactivePick: typeof import('../core/utils/src/vendors')['reactivePick'] + const readFileSync: typeof import('../core/storage/src/fs')['readFileSync'] const readJsonFile: typeof import('../core/storage/src/files')['readJsonFile'] const readPackageJson: typeof import('../core/storage/src/files')['readPackageJson'] const readTextFile: typeof import('../core/storage/src/files')['readTextFile'] const readableSize: typeof import('../core/utils/src/vendors')['readableSize'] const readonly: typeof import('vue')['readonly'] - const realtimePath: typeof import('../core/path/src/index')['realtimePath'] + const realtimePath: typeof import('../core/path/src/paths')['realtimePath'] const realtimeWip: typeof import('../core/realtime/src/drivers/index')['realtimeWip'] const ref: typeof import('vue')['ref'] const refAutoReset: typeof import('../core/utils/src/vendors')['refAutoReset'] @@ -611,23 +622,23 @@ declare global { const refDefault: typeof import('../core/utils/src/vendors')['refDefault'] const refThrottled: typeof import('../core/utils/src/vendors')['refThrottled'] const refWithControl: typeof import('../core/utils/src/vendors')['refWithControl'] - const relative: typeof import('../core/path/src/index')['relative'] - const relativeActionsPath: typeof import('../core/path/src/index')['relativeActionsPath'] + const relative: typeof import('../core/path/src/paths')['relative'] + const relativeActionsPath: typeof import('../core/path/src/paths')['relativeActionsPath'] const renderHeadToString: typeof import('../core/utils/src/vendors')['renderHeadToString'] - const replPath: typeof import('../core/path/src/index')['replPath'] + const replPath: typeof import('../core/path/src/paths')['replPath'] const request: typeof import('../core/router/src/request')['request'] - const resolve: typeof import('../core/path/src/index')['resolve'] + const resolve: typeof import('../core/path/src/paths')['resolve'] const resolveComponent: typeof import('vue')['resolveComponent'] const resolveRef: typeof import('../core/utils/src/vendors')['resolveRef'] const resolveUnref: typeof import('../core/utils/src/vendors')['resolveUnref'] - const resourcesPath: typeof import('../core/path/src/index')['resourcesPath'] + const resourcesPath: typeof import('../core/path/src/paths')['resourcesPath'] const results: typeof import('../core/search-engine/src/index')['results'] const retry: typeof import('../core/utils/src/retry')['retry'] const rimraf: typeof import('../core/utils/src/delete')['rimraf'] const root: typeof import('../core/signals/src/index')['root'] const route: typeof import('../core/router/src/router')['route'] - const routerPath: typeof import('../core/path/src/index')['routerPath'] - const routesPath: typeof import('../core/path/src/index')['routesPath'] + const routerPath: typeof import('../core/path/src/paths')['routerPath'] + const routesPath: typeof import('../core/path/src/paths')['routesPath'] const runAction: typeof import('../core/actions/src/helpers/utils')['runAction'] const runActions: typeof import('../core/actions/src/helpers/utils')['runActions'] const runAdd: typeof import('../core/actions/src/index')['runAdd'] @@ -646,37 +657,38 @@ declare global { const runNpmScript: typeof import('../core/utils/src/helpers')['runNpmScript'] const runSystemTrayDevServer: typeof import('../core/actions/src/dev/index')['runSystemTrayDevServer'] const runViewsDevServer: typeof import('../core/actions/src/dev/index')['runViewsDevServer'] - const runtimePath: typeof import('../core/path/src/index')['runtimePath'] + const runtimePath: typeof import('../core/path/src/paths')['runtimePath'] const schedule: typeof import('../core/scheduler/src/schedule')['default'] - const schedulerPath: typeof import('../core/path/src/index')['schedulerPath'] - const scriptsPath: typeof import('../core/path/src/index')['scriptsPath'] - const searchEnginePath: typeof import('../core/path/src/index')['searchEnginePath'] + const schedulerPath: typeof import('../core/path/src/paths')['schedulerPath'] + const scriptsPath: typeof import('../core/path/src/paths')['scriptsPath'] + const searchEnginePath: typeof import('../core/path/src/paths')['searchEnginePath'] const searchFilters: typeof import('../core/search-engine/src/index')['searchFilters'] const searchParams: typeof import('../core/search-engine/src/index')['searchParams'] - const securityPath: typeof import('../core/path/src/index')['securityPath'] + const securityPath: typeof import('../core/path/src/paths')['securityPath'] const semver: typeof import('../core/utils/src/versions')['semver'] const sendAt: typeof import('../core/scheduler/src/schedule')['sendAt'] - const sep: typeof import('../core/path/src/index')['sep'] + const sep: typeof import('../core/path/src/paths')['sep'] const serve: typeof import('../core/router/src/server')['serve'] const server: typeof import('../core/server/src/index')['server'] - const serverPath: typeof import('../core/path/src/index')['serverPath'] + const serverPath: typeof import('../core/path/src/paths')['serverPath'] const serverResponse: typeof import('../core/router/src/server')['serverResponse'] - const serverlessPath: typeof import('../core/path/src/index')['serverlessPath'] + const serverlessPath: typeof import('../core/path/src/paths')['serverlessPath'] const setActivePinia: typeof import('pinia')['setActivePinia'] const setEnvValue: typeof import('../core/utils/src/helpers')['setEnvValue'] const setMapStoreSuffix: typeof import('pinia')['setMapStoreSuffix'] const setSSRHandler: typeof import('../core/utils/src/vendors')['setSSRHandler'] const setSystemTime: typeof import('../core/testing/src/index')['setSystemTime'] const setTotalHits: typeof import('../core/search-engine/src/index')['setTotalHits'] - const settingsPath: typeof import('../core/path/src/index')['settingsPath'] + const settingsPath: typeof import('../core/path/src/paths')['settingsPath'] const shallowReactive: typeof import('vue')['shallowReactive'] const shallowReadonly: typeof import('vue')['shallowReadonly'] const shallowRef: typeof import('vue')['shallowRef'] + const shellPath: typeof import('../core/path/src/paths')['shellPath'] const signal: typeof import('../core/signals/src/index')['signal'] const sleep: typeof import('../core/utils/src/sleep')['sleep'] - const slugPath: typeof import('../core/path/src/index')['slugPath'] + const slugPath: typeof import('../core/path/src/paths')['slugPath'] const sms77: typeof import('../core/sms/src/drivers/index')['sms77'] - const smsPath: typeof import('../core/path/src/index')['smsPath'] + const smsPath: typeof import('../core/path/src/paths')['smsPath'] const sns: typeof import('../core/sms/src/drivers/index')['sns'] const sort: typeof import('../core/search-engine/src/index')['sort'] const sorts: typeof import('../core/search-engine/src/index')['sorts'] @@ -684,14 +696,14 @@ declare global { const sql: typeof import('../core/query-builder/src/kysely')['sql'] const src: typeof import('../core/scheduler/src/index')['default'] const stacks: typeof import('../core/build/src/index')['stacks'] - const stacksPath: typeof import('../core/path/src/index')['stacksPath'] + const stacksPath: typeof import('../core/path/src/paths')['stacksPath'] const sticky: typeof import('../core/utils/src/regex')['sticky'] const storage: typeof import('../core/storage/src/index')['storage'] - const storagePath: typeof import('../core/path/src/index')['storagePath'] + const storagePath: typeof import('../core/path/src/paths')['storagePath'] const storeToRefs: typeof import('pinia')['storeToRefs'] - const storesPath: typeof import('../core/path/src/index')['storesPath'] + const storesPath: typeof import('../core/path/src/paths')['storesPath'] const strings: typeof import('../core/index')['strings'] - const stringsPath: typeof import('../core/path/src/index')['stringsPath'] + const stringsPath: typeof import('../core/path/src/paths')['stringsPath'] const stripe: typeof import('../core/payments/src/index')['stripe'] const subtract: typeof import('../core/utils/src/currency')['subtract'] const syncRef: typeof import('../core/utils/src/vendors')['syncRef'] @@ -702,18 +714,18 @@ declare global { const templateRef: typeof import('../core/utils/src/vendors')['templateRef'] const termii: typeof import('../core/sms/src/drivers/index')['termii'] const test: typeof import('../core/testing/src/index')['test'] - const testingPath: typeof import('../core/path/src/index')['testingPath'] + const testingPath: typeof import('../core/path/src/paths')['testingPath'] const testingThis: typeof import('../core/desktop/src/system-tray')['testingThis'] - const testsPath: typeof import('../core/path/src/index')['testsPath'] + const testsPath: typeof import('../core/path/src/paths')['testsPath'] const throttle: typeof import('../core/utils/src/throttle')['throttle'] const throttledRef: typeof import('../core/utils/src/vendors')['throttledRef'] const throttledWatch: typeof import('../core/utils/src/vendors')['throttledWatch'] const tick: typeof import('../core/signals/src/index')['tick'] const timeout: typeof import('../core/scheduler/src/schedule')['timeout'] const tinker: typeof import('../core/repl/src/index')['tinker'] - const tinkerPath: typeof import('../core/path/src/index')['tinkerPath'] + const tinkerPath: typeof import('../core/path/src/paths')['tinkerPath'] const toDecimal: typeof import('../core/utils/src/currency')['toDecimal'] - const toNamespacedPath: typeof import('../core/path/src/index')['toNamespacedPath'] + const toNamespacedPath: typeof import('../core/path/src/paths')['toNamespacedPath'] const toRaw: typeof import('vue')['toRaw'] const toReactive: typeof import('../core/utils/src/vendors')['toReactive'] const toRef: typeof import('vue')['toRef'] @@ -733,9 +745,9 @@ declare global { const tryOnScopeDispose: typeof import('../core/utils/src/vendors')['tryOnScopeDispose'] const tryOnUnmounted: typeof import('../core/utils/src/vendors')['tryOnUnmounted'] const twilio: typeof import('../core/sms/src/drivers/index')['twilio'] - const typesPath: typeof import('../core/path/src/index')['typesPath'] + const typesPath: typeof import('../core/path/src/paths')['typesPath'] const ui: typeof import('../core/ui/src/index')['ui'] - const uiPath: typeof import('../core/path/src/index')['uiPath'] + const uiPath: typeof import('../core/path/src/paths')['uiPath'] const unarchive: typeof import('../core/storage/src/zip')['unarchive'] const unicode: typeof import('../core/utils/src/regex')['unicode'] const unit: typeof import('../core/testing/src/index')['unit'] @@ -939,22 +951,22 @@ declare global { const useWindowFocus: typeof import('../core/utils/src/vendors')['useWindowFocus'] const useWindowScroll: typeof import('../core/utils/src/vendors')['useWindowScroll'] const useWindowSize: typeof import('../core/utils/src/vendors')['useWindowSize'] - const userActionsPath: typeof import('../core/path/src/index')['userActionsPath'] - const userEventsPath: typeof import('../core/path/src/index')['userEventsPath'] - const userJobsPath: typeof import('../core/path/src/index')['userJobsPath'] - const userListenersPath: typeof import('../core/path/src/index')['userListenersPath'] - const userMiddlewarePath: typeof import('../core/path/src/index')['userMiddlewarePath'] - const userModelsPath: typeof import('../core/path/src/index')['userModelsPath'] - const userNotificationsPath: typeof import('../core/path/src/index')['userNotificationsPath'] - const utilsPath: typeof import('../core/path/src/index')['utilsPath'] + const userActionsPath: typeof import('../core/path/src/paths')['userActionsPath'] + const userEventsPath: typeof import('../core/path/src/paths')['userEventsPath'] + const userJobsPath: typeof import('../core/path/src/paths')['userJobsPath'] + const userListenersPath: typeof import('../core/path/src/paths')['userListenersPath'] + const userMiddlewarePath: typeof import('../core/path/src/paths')['userMiddlewarePath'] + const userModelsPath: typeof import('../core/path/src/paths')['userModelsPath'] + const userNotificationsPath: typeof import('../core/path/src/paths')['userNotificationsPath'] + const utilsPath: typeof import('../core/path/src/paths')['utilsPath'] const validate: typeof import('../core/validation/src/validate')['validate'] - const validationPath: typeof import('../core/path/src/index')['validationPath'] + const validationPath: typeof import('../core/path/src/paths')['validationPath'] const validator: typeof import('../core/validation/src/validate')['validator'] const verifyHash: typeof import('../core/security/src/hash')['verifyHash'] const version: typeof import('../core/utils/src/versions')['version'] const views: typeof import('../core/build/src/index')['views'] - const viewsPath: typeof import('../core/path/src/index')['viewsPath'] - const vitePath: typeof import('../core/path/src/index')['vitePath'] + const viewsPath: typeof import('../core/path/src/paths')['viewsPath'] + const vitePath: typeof import('../core/path/src/paths')['vitePath'] const vueComponentExample: typeof import('../core/build/src/index')['vueComponentExample'] const vueComponents: typeof import('../core/build/src/index')['vueComponents'] const wait: typeof import('../core/utils/src/sleep')['wait'] @@ -992,7 +1004,8 @@ declare global { const writeJsonFile: typeof import('../core/storage/src/files')['writeJsonFile'] const writeNameserversToConfig: typeof import('../core/dns/src/drivers/aws')['writeNameserversToConfig'] const writeTextFile: typeof import('../core/storage/src/files')['writeTextFile'] - const xRayPath: typeof import('../core/path/src/index')['xRayPath'] + const writeToLogFile: typeof import('../core/logging/src/index')['writeToLogFile'] + const xRayPath: typeof import('../core/path/src/paths')['xRayPath'] const zip: typeof import('../core/storage/src/zip')['zip'] } // for type re-export @@ -1021,6 +1034,7 @@ declare module 'vue' { readonly LogTypes: UnwrapRef readonly Macroable: UnwrapRef readonly Middleware: UnwrapRef + readonly Migration: UnwrapRef readonly MoneyValidator: UnwrapRef readonly MysqlDialect: UnwrapRef readonly Ok: UnwrapRef @@ -1037,6 +1051,7 @@ declare module 'vue' { readonly RuleObject: UnwrapRef readonly RuleString: UnwrapRef readonly Schedule: UnwrapRef + readonly Schema: UnwrapRef readonly SocialLinkIcon: UnwrapRef readonly StacksError: UnwrapRef readonly Store: UnwrapRef @@ -1053,37 +1068,32 @@ declare module 'vue' { readonly VineString: UnwrapRef readonly _dirname: UnwrapRef readonly acceptHMRUpdate: UnwrapRef - readonly actionsPath: UnwrapRef + readonly actionsPath: UnwrapRef readonly add: UnwrapRef readonly addDomain: UnwrapRef - readonly afterAll: UnwrapRef - readonly afterEach: UnwrapRef - readonly aiPath: UnwrapRef + readonly aiPath: UnwrapRef readonly alias: UnwrapRef - readonly aliasPath: UnwrapRef + readonly aliasPath: UnwrapRef readonly all: UnwrapRef readonly allocate: UnwrapRef - readonly analyticsPath: UnwrapRef + readonly analyticsPath: UnwrapRef readonly and: UnwrapRef readonly anyOf: UnwrapRef - readonly appPath: UnwrapRef + readonly appPath: UnwrapRef readonly archive: UnwrapRef readonly arrays: UnwrapRef - readonly arraysPath: UnwrapRef - readonly assert: UnwrapRef - readonly assetsPath: UnwrapRef + readonly arraysPath: UnwrapRef + readonly assetsPath: UnwrapRef readonly asyncComputed: UnwrapRef readonly auth: UnwrapRef - readonly authPath: UnwrapRef + readonly authPath: UnwrapRef readonly autoResetRef: UnwrapRef readonly base64Encode: UnwrapRef readonly base64Verify: UnwrapRef - readonly basename: UnwrapRef + readonly basename: UnwrapRef readonly batchInvoke: UnwrapRef readonly bcryptEncode: UnwrapRef readonly bcryptVerify: UnwrapRef - readonly beforeAll: UnwrapRef - readonly beforeEach: UnwrapRef readonly breakpointsAntDesign: UnwrapRef readonly breakpointsBootstrapV5: UnwrapRef readonly breakpointsMasterCss: UnwrapRef @@ -1092,11 +1102,11 @@ declare module 'vue' { readonly breakpointsTailwind: UnwrapRef readonly breakpointsVuetify: UnwrapRef readonly buddy: UnwrapRef - readonly buddyPath: UnwrapRef - readonly buildEnginePath: UnwrapRef - readonly buildPath: UnwrapRef + readonly buddyPath: UnwrapRef + readonly buildEnginePath: UnwrapRef + readonly buildPath: UnwrapRef readonly cache: UnwrapRef - readonly cachePath: UnwrapRef + readonly cachePath: UnwrapRef readonly calculateDelay: UnwrapRef readonly calculatePagination: UnwrapRef readonly carriageReturn: UnwrapRef @@ -1106,30 +1116,29 @@ declare module 'vue' { readonly charIn: UnwrapRef readonly charNotIn: UnwrapRef readonly chat: UnwrapRef - readonly chatPath: UnwrapRef + readonly chatPath: UnwrapRef readonly clamp: UnwrapRef readonly cleanProject: UnwrapRef readonly clearUndefined: UnwrapRef readonly cli: UnwrapRef - readonly cliPath: UnwrapRef + readonly cliPath: UnwrapRef readonly client: UnwrapRef readonly cloneFnJSON: UnwrapRef readonly cloud: UnwrapRef - readonly cloudPath: UnwrapRef + readonly cloudPath: UnwrapRef readonly collections: UnwrapRef - readonly collectionsPath: UnwrapRef - readonly commandsPath: UnwrapRef + readonly collectionsPath: UnwrapRef + readonly commandsPath: UnwrapRef readonly compare: UnwrapRef - readonly componentsPath: UnwrapRef + readonly componentsPath: UnwrapRef readonly compress: UnwrapRef readonly computed: UnwrapRef readonly computedAsync: UnwrapRef readonly computedEager: UnwrapRef readonly computedInject: UnwrapRef - readonly computedSignal: UnwrapRef readonly computedWithControl: UnwrapRef readonly config: UnwrapRef - readonly configPath: UnwrapRef + readonly configPath: UnwrapRef readonly consola: UnwrapRef readonly controlledComputed: UnwrapRef readonly controlledRef: UnwrapRef @@ -1137,8 +1146,8 @@ declare module 'vue' { readonly copy: UnwrapRef readonly copyFile: UnwrapRef readonly copyFolder: UnwrapRef - readonly coreEnvPath: UnwrapRef - readonly corePath: UnwrapRef + readonly coreEnvPath: UnwrapRef + readonly corePath: UnwrapRef readonly count: UnwrapRef readonly createApp: UnwrapRef readonly createComponent: UnwrapRef @@ -1174,12 +1183,11 @@ declare module 'vue' { readonly createUnrefFn: UnwrapRef readonly currency: UnwrapRef readonly currentPage: UnwrapRef - readonly customElementsDataPath: UnwrapRef + readonly customElementsDataPath: UnwrapRef readonly customRef: UnwrapRef readonly customStorageEventName: UnwrapRef - readonly databasePath: UnwrapRef - readonly dateFormat: UnwrapRef - readonly datetimePath: UnwrapRef + readonly databasePath: UnwrapRef + readonly datetimePath: UnwrapRef readonly db: UnwrapRef readonly dbDialect: UnwrapRef readonly dd: UnwrapRef @@ -1210,9 +1218,8 @@ declare module 'vue' { readonly defineHashing: UnwrapRef readonly defineJob: UnwrapRef readonly defineLibrary: UnwrapRef - readonly defineLoader: UnwrapRef readonly defineNotification: UnwrapRef - readonly definePage: UnwrapRef + readonly definePage: UnwrapRef readonly definePayment: UnwrapRef readonly defineQueue: UnwrapRef readonly defineSearchEngine: UnwrapRef @@ -1232,20 +1239,19 @@ declare module 'vue' { readonly deleteGlob: UnwrapRef readonly deleteHostedZone: UnwrapRef readonly deleteHostedZoneRecords: UnwrapRef - readonly delimiter: UnwrapRef - readonly describe: UnwrapRef + readonly delimiter: UnwrapRef readonly desktop: UnwrapRef - readonly desktopPath: UnwrapRef + readonly desktopPath: UnwrapRef readonly determineDebugLevel: UnwrapRef readonly determineResetPreset: UnwrapRef - readonly developmentPath: UnwrapRef + readonly developmentPath: UnwrapRef readonly digit: UnwrapRef readonly dinero: UnwrapRef - readonly dirname: UnwrapRef + readonly dirname: UnwrapRef readonly dispatch: UnwrapRef - readonly dnsPath: UnwrapRef + readonly dnsPath: UnwrapRef readonly docsConfig: UnwrapRef - readonly docsPath: UnwrapRef + readonly docsPath: UnwrapRef readonly doesExist: UnwrapRef readonly doesFolderExist: UnwrapRef readonly doesNotExist: UnwrapRef @@ -1254,35 +1260,33 @@ declare module 'vue' { readonly dumpYaml: UnwrapRef readonly eagerComputed: UnwrapRef readonly echo: UnwrapRef - readonly effect: UnwrapRef readonly effectScope: UnwrapRef readonly email: UnwrapRef - readonly emailPath: UnwrapRef + readonly emailPath: UnwrapRef readonly encrypt: UnwrapRef readonly ensureProjectIsInitialized: UnwrapRef readonly enums: UnwrapRef - readonly enumsPath: UnwrapRef + readonly enumsPath: UnwrapRef readonly env: UnwrapRef readonly envSchema: UnwrapRef readonly equal: UnwrapRef readonly err: UnwrapRef readonly errAsync: UnwrapRef - readonly errorHandlingPath: UnwrapRef + readonly errorHandlingPath: UnwrapRef readonly eslint: UnwrapRef - readonly eslintPath: UnwrapRef + readonly eslintPath: UnwrapRef readonly events: UnwrapRef - readonly eventsPath: UnwrapRef + readonly eventsPath: UnwrapRef readonly exactly: UnwrapRef - readonly examplesPath: UnwrapRef + readonly examplesPath: UnwrapRef readonly executeTransition: UnwrapRef readonly exists: UnwrapRef readonly existsSync: UnwrapRef - readonly expect: UnwrapRef readonly expo: UnwrapRef readonly extendRef: UnwrapRef - readonly extname: UnwrapRef + readonly extname: UnwrapRef readonly faker: UnwrapRef - readonly fakerPath: UnwrapRef + readonly fakerPath: UnwrapRef readonly fathomWip: UnwrapRef readonly fcm: UnwrapRef readonly feature: UnwrapRef @@ -1290,23 +1294,25 @@ declare module 'vue' { readonly filterName: UnwrapRef readonly filters: UnwrapRef readonly findHostedZone: UnwrapRef + readonly findProjectPath: UnwrapRef + readonly findStacksProjects: UnwrapRef readonly folders: UnwrapRef - readonly format: UnwrapRef readonly formatTimeAgo: UnwrapRef - readonly frameworkCloudPath: UnwrapRef - readonly frameworkPath: UnwrapRef + readonly frameworkCloudPath: UnwrapRef + readonly frameworkPath: UnwrapRef readonly frameworkVersion: UnwrapRef readonly fromPromise: UnwrapRef readonly fromSafePromise: UnwrapRef readonly fromThrowable: UnwrapRef readonly fs: UnwrapRef - readonly functions: UnwrapRef - readonly functionsPath: UnwrapRef + readonly functionsPath: UnwrapRef readonly generate: UnwrapRef readonly generateAppKey: UnwrapRef readonly generateComponentMeta: UnwrapRef + readonly generateCoreSymlink: UnwrapRef readonly generateIdeHelpers: UnwrapRef readonly generateLibEntries: UnwrapRef + readonly generateMigrationFile: UnwrapRef readonly generateMigrations: UnwrapRef readonly generatePkgxConfig: UnwrapRef readonly generateSeeder: UnwrapRef @@ -1325,7 +1331,7 @@ declare module 'vue' { readonly getNameservers: UnwrapRef readonly getSSRHandler: UnwrapRef readonly getTypeName: UnwrapRef - readonly gitPath: UnwrapRef + readonly gitPath: UnwrapRef readonly glob: UnwrapRef readonly global: UnwrapRef readonly goToNextPage: UnwrapRef @@ -1353,9 +1359,10 @@ declare module 'vue' { readonly haveSameAmount: UnwrapRef readonly haveSameCurrency: UnwrapRef readonly healthNotificationsWip: UnwrapRef - readonly healthPath: UnwrapRef + readonly healthPath: UnwrapRef readonly helpers: UnwrapRef readonly hits: UnwrapRef + readonly homeDir: UnwrapRef readonly ignorableWatch: UnwrapRef readonly increment: UnwrapRef readonly index: UnwrapRef @@ -1365,10 +1372,11 @@ declare module 'vue' { readonly injectHead: UnwrapRef readonly injectLocal: UnwrapRef readonly installIfVersionMismatch: UnwrapRef + readonly intro: UnwrapRef readonly invoke: UnwrapRef readonly invokeModel: UnwrapRef readonly invokeModelWithResponseStream: UnwrapRef - readonly isAbsolute: UnwrapRef + readonly isAbsolute: UnwrapRef readonly isAppKeySet: UnwrapRef readonly isArray: UnwrapRef readonly isBoolean: UnwrapRef @@ -1418,32 +1426,31 @@ declare module 'vue' { readonly isUndefined: UnwrapRef readonly isWindow: UnwrapRef readonly isZero: UnwrapRef - readonly it: UnwrapRef - readonly jobsPath: UnwrapRef - readonly join: UnwrapRef - readonly langPath: UnwrapRef + readonly jobsPath: UnwrapRef + readonly join: UnwrapRef + readonly langPath: UnwrapRef readonly lastPageNumber: UnwrapRef - readonly layoutsPath: UnwrapRef + readonly layoutsPath: UnwrapRef readonly lessThan: UnwrapRef readonly lessThanOrEqual: UnwrapRef readonly letter: UnwrapRef - readonly libraryEntryPath: UnwrapRef - readonly libsEntriesPath: UnwrapRef - readonly libsPath: UnwrapRef + readonly libraryEntryPath: UnwrapRef + readonly libsEntriesPath: UnwrapRef + readonly libsPath: UnwrapRef readonly linefeed: UnwrapRef - readonly lintPath: UnwrapRef + readonly lintPath: UnwrapRef readonly listFoundationModels: UnwrapRef readonly listen: UnwrapRef - readonly listenersPath: UnwrapRef + readonly listenersPath: UnwrapRef readonly loadYaml: UnwrapRef + readonly localTunnel: UnwrapRef readonly log: UnwrapRef - readonly logFilePath: UnwrapRef readonly logLevel: UnwrapRef readonly logger: UnwrapRef - readonly loggingPath: UnwrapRef + readonly loggingPath: UnwrapRef readonly logicNot: UnwrapRef readonly logicOr: UnwrapRef - readonly logsPath: UnwrapRef + readonly logsPath: UnwrapRef readonly loop: UnwrapRef readonly makeComponent: UnwrapRef readonly makeDatabase: UnwrapRef @@ -1468,28 +1475,27 @@ declare module 'vue' { readonly minimum: UnwrapRef readonly mitt: UnwrapRef readonly mkdirSync: UnwrapRef - readonly modelsPath: UnwrapRef - readonly modulesPath: UnwrapRef + readonly modelsPath: UnwrapRef + readonly modulesPath: UnwrapRef readonly money: UnwrapRef readonly multiline: UnwrapRef readonly multiply: UnwrapRef readonly nexmo: UnwrapRef readonly nextTick: UnwrapRef readonly noNull: UnwrapRef - readonly normalize: UnwrapRef + readonly normalize: UnwrapRef readonly normalizeScale: UnwrapRef - readonly normalizeString: UnwrapRef readonly not: UnwrapRef readonly notNullish: UnwrapRef readonly notUndefined: UnwrapRef readonly notification: UnwrapRef - readonly notificationsPath: UnwrapRef - readonly now: UnwrapRef + readonly notificationsPath: UnwrapRef + readonly now: UnwrapRef readonly objectEntries: UnwrapRef readonly objectKeys: UnwrapRef readonly objectMap: UnwrapRef readonly objectPick: UnwrapRef - readonly objectsPath: UnwrapRef + readonly objectsPath: UnwrapRef readonly off: UnwrapRef readonly ohdearWip: UnwrapRef readonly ok: UnwrapRef @@ -1516,39 +1522,38 @@ declare module 'vue' { readonly onStartTyping: UnwrapRef readonly onUnmounted: UnwrapRef readonly onUpdated: UnwrapRef - readonly onboardingPath: UnwrapRef + readonly onboardingPath: UnwrapRef readonly oneOrMore: UnwrapRef readonly openShell: UnwrapRef readonly or: UnwrapRef readonly originRequestFunctionHash: UnwrapRef - readonly ormPath: UnwrapRef - readonly p: UnwrapRef - readonly packageJsonPath: UnwrapRef + readonly ormPath: UnwrapRef + readonly outro: UnwrapRef + readonly packageJsonPath: UnwrapRef readonly packageManager: UnwrapRef - readonly parse: UnwrapRef readonly parseYaml: UnwrapRef - readonly path: UnwrapRef - readonly pathPath: UnwrapRef + readonly path: UnwrapRef + readonly pathPath: UnwrapRef readonly pausableWatch: UnwrapRef - readonly paymentsPath: UnwrapRef + readonly paymentsPath: UnwrapRef readonly perPage: UnwrapRef readonly playwrightConfig: UnwrapRef readonly plivo: UnwrapRef readonly preferredDark: UnwrapRef readonly presetForms: UnwrapRef readonly process: UnwrapRef - readonly projectConfigPath: UnwrapRef - readonly projectPath: UnwrapRef - readonly projectStoragePath: UnwrapRef + readonly projectConfigPath: UnwrapRef + readonly projectPath: UnwrapRef + readonly projectStoragePath: UnwrapRef readonly provide: UnwrapRef readonly provideLocal: UnwrapRef - readonly publicPath: UnwrapRef - readonly pushPath: UnwrapRef + readonly publicPath: UnwrapRef + readonly pushPath: UnwrapRef readonly put: UnwrapRef readonly query: UnwrapRef - readonly queryBuilderPath: UnwrapRef + readonly queryBuilderPath: UnwrapRef readonly queue: UnwrapRef - readonly queuePath: UnwrapRef + readonly queuePath: UnwrapRef readonly rand: UnwrapRef readonly reactify: UnwrapRef readonly reactifyObject: UnwrapRef @@ -1556,12 +1561,13 @@ declare module 'vue' { readonly reactiveComputed: UnwrapRef readonly reactiveOmit: UnwrapRef readonly reactivePick: UnwrapRef + readonly readFileSync: UnwrapRef readonly readJsonFile: UnwrapRef readonly readPackageJson: UnwrapRef readonly readTextFile: UnwrapRef readonly readableSize: UnwrapRef readonly readonly: UnwrapRef - readonly realtimePath: UnwrapRef + readonly realtimePath: UnwrapRef readonly realtimeWip: UnwrapRef readonly ref: UnwrapRef readonly refAutoReset: UnwrapRef @@ -1569,23 +1575,21 @@ declare module 'vue' { readonly refDefault: UnwrapRef readonly refThrottled: UnwrapRef readonly refWithControl: UnwrapRef - readonly relative: UnwrapRef - readonly relativeActionsPath: UnwrapRef + readonly relative: UnwrapRef + readonly relativeActionsPath: UnwrapRef readonly renderHeadToString: UnwrapRef - readonly replPath: UnwrapRef + readonly replPath: UnwrapRef readonly request: UnwrapRef - readonly resolve: UnwrapRef + readonly resolve: UnwrapRef readonly resolveComponent: UnwrapRef readonly resolveRef: UnwrapRef readonly resolveUnref: UnwrapRef - readonly resourcesPath: UnwrapRef + readonly resourcesPath: UnwrapRef readonly results: UnwrapRef readonly retry: UnwrapRef - readonly rimraf: UnwrapRef - readonly root: UnwrapRef readonly route: UnwrapRef - readonly routerPath: UnwrapRef - readonly routesPath: UnwrapRef + readonly routerPath: UnwrapRef + readonly routesPath: UnwrapRef readonly runAction: UnwrapRef readonly runActions: UnwrapRef readonly runAdd: UnwrapRef @@ -1597,54 +1601,52 @@ declare module 'vue' { readonly runDesktopDevServer: UnwrapRef readonly runDevServer: UnwrapRef readonly runDocsDevServer: UnwrapRef - readonly runExample: UnwrapRef readonly runFrontendDevServer: UnwrapRef readonly runMake: UnwrapRef readonly runNpmScript: UnwrapRef readonly runSystemTrayDevServer: UnwrapRef - readonly runtimePath: UnwrapRef + readonly runtimePath: UnwrapRef readonly schedule: UnwrapRef - readonly schedulerPath: UnwrapRef - readonly scriptsPath: UnwrapRef - readonly searchEnginePath: UnwrapRef + readonly schedulerPath: UnwrapRef + readonly scriptsPath: UnwrapRef + readonly searchEnginePath: UnwrapRef readonly searchFilters: UnwrapRef readonly searchParams: UnwrapRef - readonly securityPath: UnwrapRef + readonly securityPath: UnwrapRef readonly sendAt: UnwrapRef - readonly sep: UnwrapRef + readonly sep: UnwrapRef readonly serve: UnwrapRef readonly server: UnwrapRef - readonly serverPath: UnwrapRef + readonly serverPath: UnwrapRef readonly serverResponse: UnwrapRef - readonly serverlessPath: UnwrapRef + readonly serverlessPath: UnwrapRef readonly setActivePinia: UnwrapRef readonly setEnvValue: UnwrapRef readonly setMapStoreSuffix: UnwrapRef readonly setSSRHandler: UnwrapRef readonly setTotalHits: UnwrapRef - readonly settingsPath: UnwrapRef + readonly settingsPath: UnwrapRef readonly shallowReactive: UnwrapRef readonly shallowReadonly: UnwrapRef readonly shallowRef: UnwrapRef - readonly signal: UnwrapRef + readonly shellPath: UnwrapRef readonly sleep: UnwrapRef - readonly slugPath: UnwrapRef + readonly slugPath: UnwrapRef readonly sms77: UnwrapRef - readonly smsPath: UnwrapRef + readonly smsPath: UnwrapRef readonly sns: UnwrapRef readonly sort: UnwrapRef readonly sorts: UnwrapRef readonly sql: UnwrapRef readonly src: UnwrapRef - readonly stacks: UnwrapRef - readonly stacksPath: UnwrapRef + readonly stacksPath: UnwrapRef readonly sticky: UnwrapRef readonly storage: UnwrapRef - readonly storagePath: UnwrapRef + readonly storagePath: UnwrapRef readonly storeToRefs: UnwrapRef - readonly storesPath: UnwrapRef + readonly storesPath: UnwrapRef readonly strings: UnwrapRef - readonly stringsPath: UnwrapRef + readonly stringsPath: UnwrapRef readonly stripe: UnwrapRef readonly subtract: UnwrapRef readonly syncRef: UnwrapRef @@ -1654,19 +1656,17 @@ declare module 'vue' { readonly telnyx: UnwrapRef readonly templateRef: UnwrapRef readonly termii: UnwrapRef - readonly test: UnwrapRef - readonly testingPath: UnwrapRef + readonly testingPath: UnwrapRef readonly testingThis: UnwrapRef - readonly testsPath: UnwrapRef + readonly testsPath: UnwrapRef readonly throttle: UnwrapRef readonly throttledRef: UnwrapRef readonly throttledWatch: UnwrapRef - readonly tick: UnwrapRef readonly timeout: UnwrapRef readonly tinker: UnwrapRef - readonly tinkerPath: UnwrapRef + readonly tinkerPath: UnwrapRef readonly toDecimal: UnwrapRef - readonly toNamespacedPath: UnwrapRef + readonly toNamespacedPath: UnwrapRef readonly toRaw: UnwrapRef readonly toReactive: UnwrapRef readonly toRef: UnwrapRef @@ -1685,9 +1685,9 @@ declare module 'vue' { readonly tryOnScopeDispose: UnwrapRef readonly tryOnUnmounted: UnwrapRef readonly twilio: UnwrapRef - readonly typesPath: UnwrapRef + readonly typesPath: UnwrapRef readonly ui: UnwrapRef - readonly uiPath: UnwrapRef + readonly uiPath: UnwrapRef readonly unarchive: UnwrapRef readonly unicode: UnwrapRef readonly unit: UnwrapRef @@ -1887,24 +1887,21 @@ declare module 'vue' { readonly useWindowFocus: UnwrapRef readonly useWindowScroll: UnwrapRef readonly useWindowSize: UnwrapRef - readonly userActionsPath: UnwrapRef - readonly userEventsPath: UnwrapRef - readonly userJobsPath: UnwrapRef - readonly userListenersPath: UnwrapRef - readonly userMiddlewarePath: UnwrapRef - readonly userModelsPath: UnwrapRef - readonly userNotificationsPath: UnwrapRef - readonly utilsPath: UnwrapRef + readonly userActionsPath: UnwrapRef + readonly userEventsPath: UnwrapRef + readonly userJobsPath: UnwrapRef + readonly userListenersPath: UnwrapRef + readonly userMiddlewarePath: UnwrapRef + readonly userModelsPath: UnwrapRef + readonly userNotificationsPath: UnwrapRef + readonly utilsPath: UnwrapRef readonly validate: UnwrapRef - readonly validationPath: UnwrapRef + readonly validationPath: UnwrapRef readonly validator: UnwrapRef readonly verifyHash: UnwrapRef readonly version: UnwrapRef - readonly views: UnwrapRef - readonly viewsPath: UnwrapRef - readonly vitePath: UnwrapRef - readonly vueComponentExample: UnwrapRef - readonly vueComponents: UnwrapRef + readonly viewsPath: UnwrapRef + readonly vitePath: UnwrapRef readonly wait: UnwrapRef readonly waitUntil: UnwrapRef readonly waitWhile: UnwrapRef @@ -1923,8 +1920,6 @@ declare module 'vue' { readonly watchThrottled: UnwrapRef readonly watchTriggerable: UnwrapRef readonly watchWithFilter: UnwrapRef - readonly webComponentExample: UnwrapRef - readonly webComponents: UnwrapRef readonly websiteSourceHash: UnwrapRef readonly whenever: UnwrapRef readonly whitespace: UnwrapRef @@ -1940,7 +1935,8 @@ declare module 'vue' { readonly writeJsonFile: UnwrapRef readonly writeNameserversToConfig: UnwrapRef readonly writeTextFile: UnwrapRef - readonly xRayPath: UnwrapRef + readonly writeToLogFile: UnwrapRef + readonly xRayPath: UnwrapRef readonly zip: UnwrapRef } } @@ -1962,6 +1958,7 @@ declare module '@vue/runtime-core' { readonly LogTypes: UnwrapRef readonly Macroable: UnwrapRef readonly Middleware: UnwrapRef + readonly Migration: UnwrapRef readonly MoneyValidator: UnwrapRef readonly MysqlDialect: UnwrapRef readonly Ok: UnwrapRef @@ -1978,6 +1975,7 @@ declare module '@vue/runtime-core' { readonly RuleObject: UnwrapRef readonly RuleString: UnwrapRef readonly Schedule: UnwrapRef + readonly Schema: UnwrapRef readonly SocialLinkIcon: UnwrapRef readonly StacksError: UnwrapRef readonly Store: UnwrapRef @@ -1994,37 +1992,32 @@ declare module '@vue/runtime-core' { readonly VineString: UnwrapRef readonly _dirname: UnwrapRef readonly acceptHMRUpdate: UnwrapRef - readonly actionsPath: UnwrapRef + readonly actionsPath: UnwrapRef readonly add: UnwrapRef readonly addDomain: UnwrapRef - readonly afterAll: UnwrapRef - readonly afterEach: UnwrapRef - readonly aiPath: UnwrapRef + readonly aiPath: UnwrapRef readonly alias: UnwrapRef - readonly aliasPath: UnwrapRef + readonly aliasPath: UnwrapRef readonly all: UnwrapRef readonly allocate: UnwrapRef - readonly analyticsPath: UnwrapRef + readonly analyticsPath: UnwrapRef readonly and: UnwrapRef readonly anyOf: UnwrapRef - readonly appPath: UnwrapRef + readonly appPath: UnwrapRef readonly archive: UnwrapRef readonly arrays: UnwrapRef - readonly arraysPath: UnwrapRef - readonly assert: UnwrapRef - readonly assetsPath: UnwrapRef + readonly arraysPath: UnwrapRef + readonly assetsPath: UnwrapRef readonly asyncComputed: UnwrapRef readonly auth: UnwrapRef - readonly authPath: UnwrapRef + readonly authPath: UnwrapRef readonly autoResetRef: UnwrapRef readonly base64Encode: UnwrapRef readonly base64Verify: UnwrapRef - readonly basename: UnwrapRef + readonly basename: UnwrapRef readonly batchInvoke: UnwrapRef readonly bcryptEncode: UnwrapRef readonly bcryptVerify: UnwrapRef - readonly beforeAll: UnwrapRef - readonly beforeEach: UnwrapRef readonly breakpointsAntDesign: UnwrapRef readonly breakpointsBootstrapV5: UnwrapRef readonly breakpointsMasterCss: UnwrapRef @@ -2033,11 +2026,11 @@ declare module '@vue/runtime-core' { readonly breakpointsTailwind: UnwrapRef readonly breakpointsVuetify: UnwrapRef readonly buddy: UnwrapRef - readonly buddyPath: UnwrapRef - readonly buildEnginePath: UnwrapRef - readonly buildPath: UnwrapRef + readonly buddyPath: UnwrapRef + readonly buildEnginePath: UnwrapRef + readonly buildPath: UnwrapRef readonly cache: UnwrapRef - readonly cachePath: UnwrapRef + readonly cachePath: UnwrapRef readonly calculateDelay: UnwrapRef readonly calculatePagination: UnwrapRef readonly carriageReturn: UnwrapRef @@ -2047,30 +2040,29 @@ declare module '@vue/runtime-core' { readonly charIn: UnwrapRef readonly charNotIn: UnwrapRef readonly chat: UnwrapRef - readonly chatPath: UnwrapRef + readonly chatPath: UnwrapRef readonly clamp: UnwrapRef readonly cleanProject: UnwrapRef readonly clearUndefined: UnwrapRef readonly cli: UnwrapRef - readonly cliPath: UnwrapRef + readonly cliPath: UnwrapRef readonly client: UnwrapRef readonly cloneFnJSON: UnwrapRef readonly cloud: UnwrapRef - readonly cloudPath: UnwrapRef + readonly cloudPath: UnwrapRef readonly collections: UnwrapRef - readonly collectionsPath: UnwrapRef - readonly commandsPath: UnwrapRef + readonly collectionsPath: UnwrapRef + readonly commandsPath: UnwrapRef readonly compare: UnwrapRef - readonly componentsPath: UnwrapRef + readonly componentsPath: UnwrapRef readonly compress: UnwrapRef readonly computed: UnwrapRef readonly computedAsync: UnwrapRef readonly computedEager: UnwrapRef readonly computedInject: UnwrapRef - readonly computedSignal: UnwrapRef readonly computedWithControl: UnwrapRef readonly config: UnwrapRef - readonly configPath: UnwrapRef + readonly configPath: UnwrapRef readonly consola: UnwrapRef readonly controlledComputed: UnwrapRef readonly controlledRef: UnwrapRef @@ -2078,8 +2070,8 @@ declare module '@vue/runtime-core' { readonly copy: UnwrapRef readonly copyFile: UnwrapRef readonly copyFolder: UnwrapRef - readonly coreEnvPath: UnwrapRef - readonly corePath: UnwrapRef + readonly coreEnvPath: UnwrapRef + readonly corePath: UnwrapRef readonly count: UnwrapRef readonly createApp: UnwrapRef readonly createComponent: UnwrapRef @@ -2115,12 +2107,11 @@ declare module '@vue/runtime-core' { readonly createUnrefFn: UnwrapRef readonly currency: UnwrapRef readonly currentPage: UnwrapRef - readonly customElementsDataPath: UnwrapRef + readonly customElementsDataPath: UnwrapRef readonly customRef: UnwrapRef readonly customStorageEventName: UnwrapRef - readonly databasePath: UnwrapRef - readonly dateFormat: UnwrapRef - readonly datetimePath: UnwrapRef + readonly databasePath: UnwrapRef + readonly datetimePath: UnwrapRef readonly db: UnwrapRef readonly dbDialect: UnwrapRef readonly dd: UnwrapRef @@ -2151,9 +2142,8 @@ declare module '@vue/runtime-core' { readonly defineHashing: UnwrapRef readonly defineJob: UnwrapRef readonly defineLibrary: UnwrapRef - readonly defineLoader: UnwrapRef readonly defineNotification: UnwrapRef - readonly definePage: UnwrapRef + readonly definePage: UnwrapRef readonly definePayment: UnwrapRef readonly defineQueue: UnwrapRef readonly defineSearchEngine: UnwrapRef @@ -2173,20 +2163,19 @@ declare module '@vue/runtime-core' { readonly deleteGlob: UnwrapRef readonly deleteHostedZone: UnwrapRef readonly deleteHostedZoneRecords: UnwrapRef - readonly delimiter: UnwrapRef - readonly describe: UnwrapRef + readonly delimiter: UnwrapRef readonly desktop: UnwrapRef - readonly desktopPath: UnwrapRef + readonly desktopPath: UnwrapRef readonly determineDebugLevel: UnwrapRef readonly determineResetPreset: UnwrapRef - readonly developmentPath: UnwrapRef + readonly developmentPath: UnwrapRef readonly digit: UnwrapRef readonly dinero: UnwrapRef - readonly dirname: UnwrapRef + readonly dirname: UnwrapRef readonly dispatch: UnwrapRef - readonly dnsPath: UnwrapRef + readonly dnsPath: UnwrapRef readonly docsConfig: UnwrapRef - readonly docsPath: UnwrapRef + readonly docsPath: UnwrapRef readonly doesExist: UnwrapRef readonly doesFolderExist: UnwrapRef readonly doesNotExist: UnwrapRef @@ -2195,35 +2184,33 @@ declare module '@vue/runtime-core' { readonly dumpYaml: UnwrapRef readonly eagerComputed: UnwrapRef readonly echo: UnwrapRef - readonly effect: UnwrapRef readonly effectScope: UnwrapRef readonly email: UnwrapRef - readonly emailPath: UnwrapRef + readonly emailPath: UnwrapRef readonly encrypt: UnwrapRef readonly ensureProjectIsInitialized: UnwrapRef readonly enums: UnwrapRef - readonly enumsPath: UnwrapRef + readonly enumsPath: UnwrapRef readonly env: UnwrapRef readonly envSchema: UnwrapRef readonly equal: UnwrapRef readonly err: UnwrapRef readonly errAsync: UnwrapRef - readonly errorHandlingPath: UnwrapRef + readonly errorHandlingPath: UnwrapRef readonly eslint: UnwrapRef - readonly eslintPath: UnwrapRef + readonly eslintPath: UnwrapRef readonly events: UnwrapRef - readonly eventsPath: UnwrapRef + readonly eventsPath: UnwrapRef readonly exactly: UnwrapRef - readonly examplesPath: UnwrapRef + readonly examplesPath: UnwrapRef readonly executeTransition: UnwrapRef readonly exists: UnwrapRef readonly existsSync: UnwrapRef - readonly expect: UnwrapRef readonly expo: UnwrapRef readonly extendRef: UnwrapRef - readonly extname: UnwrapRef + readonly extname: UnwrapRef readonly faker: UnwrapRef - readonly fakerPath: UnwrapRef + readonly fakerPath: UnwrapRef readonly fathomWip: UnwrapRef readonly fcm: UnwrapRef readonly feature: UnwrapRef @@ -2231,23 +2218,25 @@ declare module '@vue/runtime-core' { readonly filterName: UnwrapRef readonly filters: UnwrapRef readonly findHostedZone: UnwrapRef + readonly findProjectPath: UnwrapRef + readonly findStacksProjects: UnwrapRef readonly folders: UnwrapRef - readonly format: UnwrapRef readonly formatTimeAgo: UnwrapRef - readonly frameworkCloudPath: UnwrapRef - readonly frameworkPath: UnwrapRef + readonly frameworkCloudPath: UnwrapRef + readonly frameworkPath: UnwrapRef readonly frameworkVersion: UnwrapRef readonly fromPromise: UnwrapRef readonly fromSafePromise: UnwrapRef readonly fromThrowable: UnwrapRef readonly fs: UnwrapRef - readonly functions: UnwrapRef - readonly functionsPath: UnwrapRef + readonly functionsPath: UnwrapRef readonly generate: UnwrapRef readonly generateAppKey: UnwrapRef readonly generateComponentMeta: UnwrapRef + readonly generateCoreSymlink: UnwrapRef readonly generateIdeHelpers: UnwrapRef readonly generateLibEntries: UnwrapRef + readonly generateMigrationFile: UnwrapRef readonly generateMigrations: UnwrapRef readonly generatePkgxConfig: UnwrapRef readonly generateSeeder: UnwrapRef @@ -2266,7 +2255,7 @@ declare module '@vue/runtime-core' { readonly getNameservers: UnwrapRef readonly getSSRHandler: UnwrapRef readonly getTypeName: UnwrapRef - readonly gitPath: UnwrapRef + readonly gitPath: UnwrapRef readonly glob: UnwrapRef readonly global: UnwrapRef readonly goToNextPage: UnwrapRef @@ -2294,9 +2283,10 @@ declare module '@vue/runtime-core' { readonly haveSameAmount: UnwrapRef readonly haveSameCurrency: UnwrapRef readonly healthNotificationsWip: UnwrapRef - readonly healthPath: UnwrapRef + readonly healthPath: UnwrapRef readonly helpers: UnwrapRef readonly hits: UnwrapRef + readonly homeDir: UnwrapRef readonly ignorableWatch: UnwrapRef readonly increment: UnwrapRef readonly index: UnwrapRef @@ -2306,10 +2296,11 @@ declare module '@vue/runtime-core' { readonly injectHead: UnwrapRef readonly injectLocal: UnwrapRef readonly installIfVersionMismatch: UnwrapRef + readonly intro: UnwrapRef readonly invoke: UnwrapRef readonly invokeModel: UnwrapRef readonly invokeModelWithResponseStream: UnwrapRef - readonly isAbsolute: UnwrapRef + readonly isAbsolute: UnwrapRef readonly isAppKeySet: UnwrapRef readonly isArray: UnwrapRef readonly isBoolean: UnwrapRef @@ -2359,32 +2350,31 @@ declare module '@vue/runtime-core' { readonly isUndefined: UnwrapRef readonly isWindow: UnwrapRef readonly isZero: UnwrapRef - readonly it: UnwrapRef - readonly jobsPath: UnwrapRef - readonly join: UnwrapRef - readonly langPath: UnwrapRef + readonly jobsPath: UnwrapRef + readonly join: UnwrapRef + readonly langPath: UnwrapRef readonly lastPageNumber: UnwrapRef - readonly layoutsPath: UnwrapRef + readonly layoutsPath: UnwrapRef readonly lessThan: UnwrapRef readonly lessThanOrEqual: UnwrapRef readonly letter: UnwrapRef - readonly libraryEntryPath: UnwrapRef - readonly libsEntriesPath: UnwrapRef - readonly libsPath: UnwrapRef + readonly libraryEntryPath: UnwrapRef + readonly libsEntriesPath: UnwrapRef + readonly libsPath: UnwrapRef readonly linefeed: UnwrapRef - readonly lintPath: UnwrapRef + readonly lintPath: UnwrapRef readonly listFoundationModels: UnwrapRef readonly listen: UnwrapRef - readonly listenersPath: UnwrapRef + readonly listenersPath: UnwrapRef readonly loadYaml: UnwrapRef + readonly localTunnel: UnwrapRef readonly log: UnwrapRef - readonly logFilePath: UnwrapRef readonly logLevel: UnwrapRef readonly logger: UnwrapRef - readonly loggingPath: UnwrapRef + readonly loggingPath: UnwrapRef readonly logicNot: UnwrapRef readonly logicOr: UnwrapRef - readonly logsPath: UnwrapRef + readonly logsPath: UnwrapRef readonly loop: UnwrapRef readonly makeComponent: UnwrapRef readonly makeDatabase: UnwrapRef @@ -2409,28 +2399,27 @@ declare module '@vue/runtime-core' { readonly minimum: UnwrapRef readonly mitt: UnwrapRef readonly mkdirSync: UnwrapRef - readonly modelsPath: UnwrapRef - readonly modulesPath: UnwrapRef + readonly modelsPath: UnwrapRef + readonly modulesPath: UnwrapRef readonly money: UnwrapRef readonly multiline: UnwrapRef readonly multiply: UnwrapRef readonly nexmo: UnwrapRef readonly nextTick: UnwrapRef readonly noNull: UnwrapRef - readonly normalize: UnwrapRef + readonly normalize: UnwrapRef readonly normalizeScale: UnwrapRef - readonly normalizeString: UnwrapRef readonly not: UnwrapRef readonly notNullish: UnwrapRef readonly notUndefined: UnwrapRef readonly notification: UnwrapRef - readonly notificationsPath: UnwrapRef - readonly now: UnwrapRef + readonly notificationsPath: UnwrapRef + readonly now: UnwrapRef readonly objectEntries: UnwrapRef readonly objectKeys: UnwrapRef readonly objectMap: UnwrapRef readonly objectPick: UnwrapRef - readonly objectsPath: UnwrapRef + readonly objectsPath: UnwrapRef readonly off: UnwrapRef readonly ohdearWip: UnwrapRef readonly ok: UnwrapRef @@ -2457,39 +2446,38 @@ declare module '@vue/runtime-core' { readonly onStartTyping: UnwrapRef readonly onUnmounted: UnwrapRef readonly onUpdated: UnwrapRef - readonly onboardingPath: UnwrapRef + readonly onboardingPath: UnwrapRef readonly oneOrMore: UnwrapRef readonly openShell: UnwrapRef readonly or: UnwrapRef readonly originRequestFunctionHash: UnwrapRef - readonly ormPath: UnwrapRef - readonly p: UnwrapRef - readonly packageJsonPath: UnwrapRef + readonly ormPath: UnwrapRef + readonly outro: UnwrapRef + readonly packageJsonPath: UnwrapRef readonly packageManager: UnwrapRef - readonly parse: UnwrapRef readonly parseYaml: UnwrapRef - readonly path: UnwrapRef - readonly pathPath: UnwrapRef + readonly path: UnwrapRef + readonly pathPath: UnwrapRef readonly pausableWatch: UnwrapRef - readonly paymentsPath: UnwrapRef + readonly paymentsPath: UnwrapRef readonly perPage: UnwrapRef readonly playwrightConfig: UnwrapRef readonly plivo: UnwrapRef readonly preferredDark: UnwrapRef readonly presetForms: UnwrapRef readonly process: UnwrapRef - readonly projectConfigPath: UnwrapRef - readonly projectPath: UnwrapRef - readonly projectStoragePath: UnwrapRef + readonly projectConfigPath: UnwrapRef + readonly projectPath: UnwrapRef + readonly projectStoragePath: UnwrapRef readonly provide: UnwrapRef readonly provideLocal: UnwrapRef - readonly publicPath: UnwrapRef - readonly pushPath: UnwrapRef + readonly publicPath: UnwrapRef + readonly pushPath: UnwrapRef readonly put: UnwrapRef readonly query: UnwrapRef - readonly queryBuilderPath: UnwrapRef + readonly queryBuilderPath: UnwrapRef readonly queue: UnwrapRef - readonly queuePath: UnwrapRef + readonly queuePath: UnwrapRef readonly rand: UnwrapRef readonly reactify: UnwrapRef readonly reactifyObject: UnwrapRef @@ -2497,12 +2485,13 @@ declare module '@vue/runtime-core' { readonly reactiveComputed: UnwrapRef readonly reactiveOmit: UnwrapRef readonly reactivePick: UnwrapRef + readonly readFileSync: UnwrapRef readonly readJsonFile: UnwrapRef readonly readPackageJson: UnwrapRef readonly readTextFile: UnwrapRef readonly readableSize: UnwrapRef readonly readonly: UnwrapRef - readonly realtimePath: UnwrapRef + readonly realtimePath: UnwrapRef readonly realtimeWip: UnwrapRef readonly ref: UnwrapRef readonly refAutoReset: UnwrapRef @@ -2510,23 +2499,21 @@ declare module '@vue/runtime-core' { readonly refDefault: UnwrapRef readonly refThrottled: UnwrapRef readonly refWithControl: UnwrapRef - readonly relative: UnwrapRef - readonly relativeActionsPath: UnwrapRef + readonly relative: UnwrapRef + readonly relativeActionsPath: UnwrapRef readonly renderHeadToString: UnwrapRef - readonly replPath: UnwrapRef + readonly replPath: UnwrapRef readonly request: UnwrapRef - readonly resolve: UnwrapRef + readonly resolve: UnwrapRef readonly resolveComponent: UnwrapRef readonly resolveRef: UnwrapRef readonly resolveUnref: UnwrapRef - readonly resourcesPath: UnwrapRef + readonly resourcesPath: UnwrapRef readonly results: UnwrapRef readonly retry: UnwrapRef - readonly rimraf: UnwrapRef - readonly root: UnwrapRef readonly route: UnwrapRef - readonly routerPath: UnwrapRef - readonly routesPath: UnwrapRef + readonly routerPath: UnwrapRef + readonly routesPath: UnwrapRef readonly runAction: UnwrapRef readonly runActions: UnwrapRef readonly runAdd: UnwrapRef @@ -2538,54 +2525,52 @@ declare module '@vue/runtime-core' { readonly runDesktopDevServer: UnwrapRef readonly runDevServer: UnwrapRef readonly runDocsDevServer: UnwrapRef - readonly runExample: UnwrapRef readonly runFrontendDevServer: UnwrapRef readonly runMake: UnwrapRef readonly runNpmScript: UnwrapRef readonly runSystemTrayDevServer: UnwrapRef - readonly runtimePath: UnwrapRef + readonly runtimePath: UnwrapRef readonly schedule: UnwrapRef - readonly schedulerPath: UnwrapRef - readonly scriptsPath: UnwrapRef - readonly searchEnginePath: UnwrapRef + readonly schedulerPath: UnwrapRef + readonly scriptsPath: UnwrapRef + readonly searchEnginePath: UnwrapRef readonly searchFilters: UnwrapRef readonly searchParams: UnwrapRef - readonly securityPath: UnwrapRef + readonly securityPath: UnwrapRef readonly sendAt: UnwrapRef - readonly sep: UnwrapRef + readonly sep: UnwrapRef readonly serve: UnwrapRef readonly server: UnwrapRef - readonly serverPath: UnwrapRef + readonly serverPath: UnwrapRef readonly serverResponse: UnwrapRef - readonly serverlessPath: UnwrapRef + readonly serverlessPath: UnwrapRef readonly setActivePinia: UnwrapRef readonly setEnvValue: UnwrapRef readonly setMapStoreSuffix: UnwrapRef readonly setSSRHandler: UnwrapRef readonly setTotalHits: UnwrapRef - readonly settingsPath: UnwrapRef + readonly settingsPath: UnwrapRef readonly shallowReactive: UnwrapRef readonly shallowReadonly: UnwrapRef readonly shallowRef: UnwrapRef - readonly signal: UnwrapRef + readonly shellPath: UnwrapRef readonly sleep: UnwrapRef - readonly slugPath: UnwrapRef + readonly slugPath: UnwrapRef readonly sms77: UnwrapRef - readonly smsPath: UnwrapRef + readonly smsPath: UnwrapRef readonly sns: UnwrapRef readonly sort: UnwrapRef readonly sorts: UnwrapRef readonly sql: UnwrapRef readonly src: UnwrapRef - readonly stacks: UnwrapRef - readonly stacksPath: UnwrapRef + readonly stacksPath: UnwrapRef readonly sticky: UnwrapRef readonly storage: UnwrapRef - readonly storagePath: UnwrapRef + readonly storagePath: UnwrapRef readonly storeToRefs: UnwrapRef - readonly storesPath: UnwrapRef + readonly storesPath: UnwrapRef readonly strings: UnwrapRef - readonly stringsPath: UnwrapRef + readonly stringsPath: UnwrapRef readonly stripe: UnwrapRef readonly subtract: UnwrapRef readonly syncRef: UnwrapRef @@ -2595,19 +2580,17 @@ declare module '@vue/runtime-core' { readonly telnyx: UnwrapRef readonly templateRef: UnwrapRef readonly termii: UnwrapRef - readonly test: UnwrapRef - readonly testingPath: UnwrapRef + readonly testingPath: UnwrapRef readonly testingThis: UnwrapRef - readonly testsPath: UnwrapRef + readonly testsPath: UnwrapRef readonly throttle: UnwrapRef readonly throttledRef: UnwrapRef readonly throttledWatch: UnwrapRef - readonly tick: UnwrapRef readonly timeout: UnwrapRef readonly tinker: UnwrapRef - readonly tinkerPath: UnwrapRef + readonly tinkerPath: UnwrapRef readonly toDecimal: UnwrapRef - readonly toNamespacedPath: UnwrapRef + readonly toNamespacedPath: UnwrapRef readonly toRaw: UnwrapRef readonly toReactive: UnwrapRef readonly toRef: UnwrapRef @@ -2626,9 +2609,9 @@ declare module '@vue/runtime-core' { readonly tryOnScopeDispose: UnwrapRef readonly tryOnUnmounted: UnwrapRef readonly twilio: UnwrapRef - readonly typesPath: UnwrapRef + readonly typesPath: UnwrapRef readonly ui: UnwrapRef - readonly uiPath: UnwrapRef + readonly uiPath: UnwrapRef readonly unarchive: UnwrapRef readonly unicode: UnwrapRef readonly unit: UnwrapRef @@ -2828,24 +2811,21 @@ declare module '@vue/runtime-core' { readonly useWindowFocus: UnwrapRef readonly useWindowScroll: UnwrapRef readonly useWindowSize: UnwrapRef - readonly userActionsPath: UnwrapRef - readonly userEventsPath: UnwrapRef - readonly userJobsPath: UnwrapRef - readonly userListenersPath: UnwrapRef - readonly userMiddlewarePath: UnwrapRef - readonly userModelsPath: UnwrapRef - readonly userNotificationsPath: UnwrapRef - readonly utilsPath: UnwrapRef + readonly userActionsPath: UnwrapRef + readonly userEventsPath: UnwrapRef + readonly userJobsPath: UnwrapRef + readonly userListenersPath: UnwrapRef + readonly userMiddlewarePath: UnwrapRef + readonly userModelsPath: UnwrapRef + readonly userNotificationsPath: UnwrapRef + readonly utilsPath: UnwrapRef readonly validate: UnwrapRef - readonly validationPath: UnwrapRef + readonly validationPath: UnwrapRef readonly validator: UnwrapRef readonly verifyHash: UnwrapRef readonly version: UnwrapRef - readonly views: UnwrapRef - readonly viewsPath: UnwrapRef - readonly vitePath: UnwrapRef - readonly vueComponentExample: UnwrapRef - readonly vueComponents: UnwrapRef + readonly viewsPath: UnwrapRef + readonly vitePath: UnwrapRef readonly wait: UnwrapRef readonly waitUntil: UnwrapRef readonly waitWhile: UnwrapRef @@ -2864,8 +2844,6 @@ declare module '@vue/runtime-core' { readonly watchThrottled: UnwrapRef readonly watchTriggerable: UnwrapRef readonly watchWithFilter: UnwrapRef - readonly webComponentExample: UnwrapRef - readonly webComponents: UnwrapRef readonly websiteSourceHash: UnwrapRef readonly whenever: UnwrapRef readonly whitespace: UnwrapRef @@ -2881,7 +2859,8 @@ declare module '@vue/runtime-core' { readonly writeJsonFile: UnwrapRef readonly writeNameserversToConfig: UnwrapRef readonly writeTextFile: UnwrapRef - readonly xRayPath: UnwrapRef + readonly writeToLogFile: UnwrapRef + readonly xRayPath: UnwrapRef readonly zip: UnwrapRef } } diff --git a/storage/framework/types/dashboard-router.d.ts b/storage/framework/types/dashboard-router.d.ts index 51afef6119..85980a4267 100644 --- a/storage/framework/types/dashboard-router.d.ts +++ b/storage/framework/types/dashboard-router.d.ts @@ -5,39 +5,18 @@ // It's recommended to commit this file. // Make sure to add this file to your tsconfig.json file as an "includes" or "files" entry. -/// - -import type { - // type safe route locations - RouteLocationTypedList, - RouteLocationResolvedTypedList, - RouteLocationNormalizedTypedList, - RouteLocationNormalizedLoadedTypedList, - RouteLocationAsString, - RouteLocationAsRelativeTypedList, - RouteLocationAsPathTypedList, - - // helper types - // route definitions - RouteRecordInfo, - ParamValue, - ParamValueOneOrMore, - ParamValueZeroOrMore, - ParamValueZeroOrOne, - - // vue-router extensions - _RouterTyped, - RouterLinkTyped, - RouterLinkPropsTyped, - NavigationGuard, - UseLinkFnTyped, - - // data fetching - _DataLoader, - _DefineLoaderOptions, -} from 'unplugin-vue-router/types' - declare module 'vue-router/auto-routes' { + import type { + RouteRecordInfo, + ParamValue, + ParamValueOneOrMore, + ParamValueZeroOrMore, + ParamValueZeroOrOne, + } from 'unplugin-vue-router/types' + + /** + * Route name map generated by unplugin-vue-router + */ export interface RouteNamedMap { '/': RouteRecordInfo<'/', '/', Record, Record>, '/commands/': RouteRecordInfo<'/commands/', '/commands', Record, Record>, @@ -63,100 +42,3 @@ declare module 'vue-router/auto-routes' { '/teams/[id]': RouteRecordInfo<'/teams/[id]', '/teams/:id', { id: ParamValue }, { id: ParamValue }>, } } - -declare module 'vue-router/auto' { - import type { RouteNamedMap } from 'vue-router/auto-routes' - - export type RouterTyped = _RouterTyped - - /** - * Type safe version of `RouteLocationNormalized` (the type of `to` and `from` in navigation guards). - * Allows passing the name of the route to be passed as a generic. - */ - export type RouteLocationNormalized = RouteLocationNormalizedTypedList[Name] - - /** - * Type safe version of `RouteLocationNormalizedLoaded` (the return type of `useRoute()`). - * Allows passing the name of the route to be passed as a generic. - */ - export type RouteLocationNormalizedLoaded = RouteLocationNormalizedLoadedTypedList[Name] - - /** - * Type safe version of `RouteLocationResolved` (the returned route of `router.resolve()`). - * Allows passing the name of the route to be passed as a generic. - */ - export type RouteLocationResolved = RouteLocationResolvedTypedList[Name] - - /** - * Type safe version of `RouteLocation` . Allows passing the name of the route to be passed as a generic. - */ - export type RouteLocation = RouteLocationTypedList[Name] - - /** - * Type safe version of `RouteLocationRaw` . Allows passing the name of the route to be passed as a generic. - */ - export type RouteLocationRaw = - | RouteLocationAsString - | RouteLocationAsRelativeTypedList[Name] - | RouteLocationAsPathTypedList[Name] - - /** - * Generate a type safe params for a route location. Requires the name of the route to be passed as a generic. - */ - export type RouteParams = RouteNamedMap[Name]['params'] - /** - * Generate a type safe raw params for a route location. Requires the name of the route to be passed as a generic. - */ - export type RouteParamsRaw = RouteNamedMap[Name]['paramsRaw'] - - export function useRouter(): RouterTyped - export function useRoute(name?: Name): RouteLocationNormalizedLoadedTypedList[Name] - - export const useLink: UseLinkFnTyped - - export function onBeforeRouteLeave(guard: NavigationGuard): void - export function onBeforeRouteUpdate(guard: NavigationGuard): void - - export const RouterLink: RouterLinkTyped - export const RouterLinkProps: RouterLinkPropsTyped - - // Experimental Data Fetching - - export function defineLoader< - P extends Promise, - Name extends keyof RouteNamedMap = keyof RouteNamedMap, - isLazy extends boolean = false, - >( - name: Name, - loader: (route: RouteLocationNormalizedLoaded) => P, - options?: _DefineLoaderOptions, - ): _DataLoader, isLazy> - export function defineLoader< - P extends Promise, - isLazy extends boolean = false, - >( - loader: (route: RouteLocationNormalizedLoaded) => P, - options?: _DefineLoaderOptions, - ): _DataLoader, isLazy> - - export { - _definePage as definePage, - _HasDataLoaderMeta as HasDataLoaderMeta, - _setupDataFetchingGuard as setupDataFetchingGuard, - _stopDataFetchingScope as stopDataFetchingScope, - } from 'unplugin-vue-router/runtime' -} - -declare module 'vue-router' { - import type { RouteNamedMap } from 'vue-router/auto-routes' - - export interface TypesConfig { - beforeRouteUpdate: NavigationGuard - beforeRouteLeave: NavigationGuard - - $route: RouteLocationNormalizedLoadedTypedList[keyof RouteNamedMap] - $router: _RouterTyped - - RouterLink: RouterLinkTyped - } -} diff --git a/storage/framework/views/dashboard/package.json b/storage/framework/views/dashboard/package.json index b708d396b0..f950138cc8 100644 --- a/storage/framework/views/dashboard/package.json +++ b/storage/framework/views/dashboard/package.json @@ -40,9 +40,9 @@ "src" ], "scripts": { - "dev": "bunx vite -c ../../core/vite/src/dashboard.ts", + "dev": "bunx --bun vite -c ../../core/vite/src/dashboard.ts", "dev:app": "bunx tauri dev", - "build": "bunx vite build -c ../../core/vite/src/dashboard.ts", + "build": "bunx --bun vite build -c ../../core/vite/src/dashboard.ts", "build:app": "bunx tauri build", "prepublishOnly": "bun run build", "typecheck": "bun --bun tsc --noEmit"