valaxy 1.0.0-rc.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/client/.gitignore +7 -0
  2. package/client/components/ValaxyLocalSearch.vue +1 -1
  3. package/client/composables/app/useValaxyHead.ts +1 -1
  4. package/client/composables/features/collapse-code.ts +1 -1
  5. package/client/composables/features/copy-markdown.ts +20 -6
  6. package/client/composables/search/useLocalSearch.ts +5 -5
  7. package/client/index.d.ts +1 -0
  8. package/client/index.html +1 -0
  9. package/client/modules/devtools.ts +53 -58
  10. package/client/modules/unhead.ts +9 -1
  11. package/client/setup/main.ts +1 -1
  12. package/client/setups.ts +2 -5
  13. package/client/shims.d.ts +7 -0
  14. package/client/styles/css-vars/borders.css +1 -1
  15. package/client/styles/css-vars/function.css +0 -4
  16. package/client/styles/css-vars/palette.css +10 -19
  17. package/client/tsconfig.json +1 -3
  18. package/client/types/index.ts +0 -6
  19. package/client/utils/content.ts +5 -0
  20. package/dist/node/cli/index.d.mts +18 -3
  21. package/dist/node/cli/index.mjs +24 -13
  22. package/dist/node/index.d.mts +148 -32
  23. package/dist/node/index.mjs +28 -17
  24. package/dist/shared/{valaxy.Cb_HdczD.mjs → valaxy.BVZF0N6Q.mjs} +8551 -5215
  25. package/dist/shared/{valaxy.CmvWuejN.d.mts → valaxy.CjaAzLmd.d.mts} +7 -3
  26. package/dist/types/index.d.mts +2 -2
  27. package/package.json +65 -51
  28. package/shared/node/i18n.ts +1 -1
  29. package/types/config.ts +5 -3
  30. package/types/frontmatter/page.ts +2 -0
  31. package/vendor/README.md +29 -0
  32. package/vendor/components/LICENSE +21 -0
  33. package/vendor/components/index.d.mts +3 -0
  34. package/vendor/components/index.mjs +2 -0
  35. package/vendor/components/src-S1kwY0Q8.mjs +660 -0
  36. package/vendor/components/utils-BfjsfvcK.mjs +229 -0
  37. package/vendor/i18n/LICENSE +20 -0
  38. package/vendor/i18n/index.d.mts +7 -0
  39. package/vendor/i18n/index.mjs +1389 -0
  40. package/vendor/i18n/types.d.ts +48 -0
  41. package/{LICENSE → vendor/layouts/LICENSE} +1 -1
  42. package/vendor/layouts/client.d.ts +11 -0
  43. package/vendor/layouts/index.d.mts +86 -0
  44. package/vendor/layouts/index.mjs +235 -0
  45. package/vendor/layouts/layoutName-DVkP7Qpo.mjs +82 -0
  46. package/vendor/layouts/runtime.d.mts +72 -0
  47. package/vendor/layouts/runtime.mjs +284 -0
  48. package/vendor/sources.json +46 -0
  49. package/client/components/builtin/ValaxyMermaid.vue +0 -86
  50. package/client/modules/mermaid.ts +0 -26
  51. package/client/setup/mermaid.ts +0 -22
@@ -1,6 +1,5 @@
1
- import * as vite from 'vite';
2
- import { UserConfig, InlineConfig, ViteDevServer, PluginOption, Plugin } from 'vite';
3
- import { S as SiteConfig, D as DefaultTheme, R as RuntimeConfig, a as RedirectItem, V as ValaxyConfig, P as PartialDeep, b as ValaxyAddon, U as UserSiteConfig } from '../shared/valaxy.CmvWuejN.mjs';
1
+ import { Plugin, UserConfig, InlineConfig, ViteDevServer, PluginOption } from 'vite';
2
+ import { SiteConfig, DefaultTheme, RuntimeConfig, RedirectItem, ValaxyConfig, PartialDeep, ValaxyAddon, UserSiteConfig } from '../types/index.mjs';
4
3
  import Vue from '@vitejs/plugin-vue';
5
4
  import { Hookable } from 'hookable';
6
5
  import { PluginVisualizerOptions } from 'rollup-plugin-visualizer';
@@ -8,16 +7,16 @@ import { presetAttributify, presetIcons, presetTypography, presetWind4 } from 'u
8
7
  import { VitePluginConfig } from 'unocss/vite';
9
8
  import Components from 'unplugin-vue-components/vite';
10
9
  import Markdown from 'unplugin-vue-markdown/vite';
11
- import Layouts from 'vite-plugin-vue-layouts-next';
12
10
  import { EditableTreeNode } from 'vue-router/unplugin';
13
11
  import Router from 'vue-router/vite';
14
12
  import { MarkdownEnv } from 'unplugin-vue-markdown/types';
13
+ import { ValaxyDevtoolsAddon } from '@valaxyjs/devtools/plugin';
15
14
  import { Argv } from 'yargs';
16
15
  import { KatexOptions } from 'katex';
17
- import MarkdownIt, { MarkdownItOptions, Env, MarkdownIt as MarkdownIt$1, StateCore, Token } from 'markdown-it';
16
+ import { MarkdownExitOptions, MarkdownExit, StateCore, Token } from 'markdown-exit';
18
17
  import { ThemeRegistration, BuiltinTheme, LanguageInput, ShikiTransformer, Highlighter } from 'shiki';
19
18
  import { Header } from '@valaxyjs/utils';
20
- export { CreateCliOptions, createCli, registerDevCommand, run, startValaxyDev } from './cli/index.mjs';
19
+ export { CreateCliOptions, createCli, desktopRuntimeVersion, execBuild, registerDevCommand, run, startValaxyDev } from './cli/index.mjs';
21
20
  import { Awaitable } from '@antfu/utils';
22
21
  import * as defu from 'defu';
23
22
  import '@vueuse/integrations/useFuse';
@@ -27,6 +26,48 @@ import 'vue-router';
27
26
  import '@vueuse/core';
28
27
  import '@unhead/schema-org';
29
28
 
29
+ //#region src/types.d.ts
30
+ interface Options {
31
+ /**
32
+ * Relative path to the directory to search for layout components.
33
+ * @default 'src/layouts'
34
+ */
35
+ layoutsDirs: string | string[];
36
+ /**
37
+ * Valid file extensions for layout components.
38
+ * @default ['vue']
39
+ */
40
+ extensions: string[];
41
+ /**
42
+ * List of path globs to exclude when resolving layouts.
43
+ */
44
+ exclude: string[];
45
+ /**
46
+ * Normalized layout name/key to use as the default layout
47
+ * (for example, myDefault.vue -> my-default)
48
+ * @default 'default'
49
+ */
50
+ defaultLayout: string;
51
+ /**
52
+ * Layout name/key to render when a page asks for a layout that does not exist.
53
+ * Defaults to `defaultLayout`.
54
+ */
55
+ fallbackLayout?: string;
56
+ /**
57
+ * `sync` bundles a layout into the main chunk, `async` lazy-loads it.
58
+ * Defaults to `sync` for `default` (and for every layout under `VITE_SSG`), `async` otherwise.
59
+ */
60
+ importMode: (name: string) => 'sync' | 'async';
61
+ /**
62
+ * Whether nested routes should inherit the default layout from parent routes.
63
+ * When false, if a child route has its own layout, the parent route won't use the default layout.
64
+ * @default true
65
+ */
66
+ inheritDefaultLayout: boolean;
67
+ }
68
+ type UserOptions = Partial<Options>;
69
+ declare function Layout(userOptions?: UserOptions): Plugin;
70
+
30
71
  interface ValaxyFileInfo {
31
72
  /**
32
73
  * file path id
@@ -295,21 +336,15 @@ interface TocPluginOptions {
295
336
  linkClass?: string;
296
337
  }
297
338
 
298
- type MarkdownItPresetName = 'default' | 'zero' | 'commonmark';
299
- type AsyncHighlighter = (str: string, lang: string, attrs: string) => string | Promise<string>;
300
- interface MarkdownItAsyncOptions extends Omit<MarkdownItOptions, 'highlight'> {
301
- highlight?: AsyncHighlighter | null;
302
- /** Emit a warning when an async renderer is called through render(). */
303
- warnOnSyncRender?: boolean;
304
- }
305
- declare class MarkdownItAsync extends MarkdownIt {
306
- private readonly pendingHighlights;
307
- private readonly warnOnSyncRender;
308
- private disableSyncRenderWarning;
309
- constructor(presetName: MarkdownItPresetName, options?: MarkdownItAsyncOptions);
310
- constructor(options?: MarkdownItAsyncOptions);
311
- render(src: string, env?: Env): string;
312
- renderAsync(src: string, env?: Env): Promise<string>;
339
+ /**
340
+ * The Markdown renderer used by every Valaxy compile path.
341
+ *
342
+ * Keep the concrete parser behind this module so page compilation, excerpts,
343
+ * search, and RSS share the same async rendering semantics.
344
+ */
345
+ type MarkdownRenderer = MarkdownExit;
346
+ interface MarkdownRendererOptions extends Omit<MarkdownExitOptions, 'highlight'> {
347
+ highlight?: ((str: string, lang: string, attrs: string) => string | Promise<string>) | null;
313
348
  }
314
349
 
315
350
  interface BlockItem {
@@ -357,19 +392,25 @@ interface MarkdownAnchorOptions {
357
392
  * Extend Markdown options
358
393
  * @zh 扩展 Markdown 配置,包含代码高亮、Markdown-it 和插件配置
359
394
  */
360
- interface MarkdownOptions extends MarkdownItAsyncOptions {
395
+ interface MarkdownOptions extends MarkdownRendererOptions {
396
+ /**
397
+ * Cache repeated highlighted code blocks (up to 8 MiB per highlighter).
398
+ * Enabled for built-in transforms. Custom codeTransformers/shikiSetup must
399
+ * opt in only when their output depends solely on the code, language and attrs.
400
+ */
401
+ highlightCache?: boolean;
361
402
  /**
362
403
  * Setup markdown-it instance before applying plugins
363
404
  */
364
- preConfig?: (md: MarkdownItAsync) => void;
405
+ preConfig?: (md: MarkdownRenderer) => void;
365
406
  /**
366
407
  * markdown-it options
367
408
  */
368
- options?: MarkdownIt$1['options'];
409
+ options?: MarkdownRenderer['options'];
369
410
  /**
370
411
  * config markdown-it
371
412
  */
372
- config?: (md: MarkdownItAsync) => void;
413
+ config?: (md: MarkdownRenderer) => void;
373
414
  anchor?: MarkdownAnchorOptions;
374
415
  attrs?: {
375
416
  leftDelimiter?: string;
@@ -553,7 +594,11 @@ interface ContentLoaderContext {
553
594
  }
554
595
  interface ContentLoader {
555
596
  name: string;
597
+ /** Validate the complete output before writing; fail production builds on errors. */
598
+ strict?: boolean;
556
599
  load: (ctx: ContentLoaderContext) => Promise<ContentItem[]> | ContentItem[];
600
+ /** Publish associated metadata only after content has been validated and written. */
601
+ onLoaded?: (ctx: ContentLoaderContext) => void | Promise<void>;
557
602
  /**
558
603
  * Polling interval (ms) for dev mode.
559
604
  * undefined = no polling
@@ -814,7 +859,7 @@ interface ValaxyExtendConfig {
814
859
  * - `true` (default): all pages render KaTeX, unless `frontmatter.katex: false`
815
860
  * - `false`: no pages render KaTeX by default, but individual pages can opt-in via `frontmatter.katex: true`
816
861
  *
817
- * @see [Example | Valaxy](https://valaxy.site/examples/katex)
862
+ * @see [Example | Valaxy](https://valaxy.site/examples/math)
818
863
  * @see https://katex.org/
819
864
  * @default true
820
865
  */
@@ -878,7 +923,7 @@ interface ValaxyExtendConfig {
878
923
  /**
879
924
  * @see https://github.com/loicduong/vite-plugin-vue-layouts-next
880
925
  */
881
- layouts?: Parameters<typeof Layouts>[0];
926
+ layouts?: Parameters<typeof Layout>[0];
882
927
  /**
883
928
  * @see https://router.vuejs.org/file-based-routing/
884
929
  */
@@ -918,10 +963,19 @@ interface ValaxyExtendConfig {
918
963
  };
919
964
  /**
920
965
  * @experimental
921
- * Enable Vue Devtools & Valaxy Devtools
922
- * @see https://devtools-next.vuejs.org/
966
+ * Enable Vite DevTools, Valaxy DevTools and Vue DevTools
967
+ * @see https://devtools.vite.dev/
923
968
  */
924
969
  devtools?: boolean;
970
+ /**
971
+ * Enable the local, read-only MCP endpoint during development.
972
+ * @zh 开启开发环境的本地只读 MCP 服务,默认关闭。
973
+ * @default false
974
+ */
975
+ mcp?: boolean | {
976
+ /** Include drafts in MCP results. Password-protected pages remain excluded. */
977
+ includeDrafts?: boolean;
978
+ };
925
979
  /**
926
980
  * @en config for markdown (include markdown-it plugins)
927
981
  * @zh markdown 相关配置
@@ -1008,10 +1062,14 @@ interface ValaxyAddonResolver {
1008
1062
  options: Record<string, any>;
1009
1063
  configFile?: string;
1010
1064
  pkg: Record<string, any>;
1065
+ /** Loaded only when development tools are enabled. */
1066
+ devtools?: ValaxyDevtoolsAddon;
1011
1067
  extendCli?: ValaxyAddonExtendCli;
1012
1068
  setup?: (node: ValaxyNode) => void;
1013
1069
  }
1014
1070
  type ValaxyNodeAddon = ValaxyAddon & {
1071
+ /** Loaded only when development tools are enabled. */
1072
+ devtools?: ValaxyDevtoolsAddon;
1015
1073
  extendCli?: ValaxyAddonExtendCli;
1016
1074
  setup?: ValaxyAddonResolver['setup'];
1017
1075
  };
@@ -1160,6 +1218,57 @@ declare const customElements: Set<string>;
1160
1218
  */
1161
1219
  declare const defaultViteConfig: UserConfig;
1162
1220
 
1221
+ interface ContentDiagnostic {
1222
+ code: string;
1223
+ severity: 'error' | 'warning';
1224
+ message: string;
1225
+ hint: string;
1226
+ line?: number;
1227
+ }
1228
+ interface ContentPageInfo {
1229
+ path: string;
1230
+ /** Routes after configured build-time hooks; runtime router changes are excluded. */
1231
+ routes: {
1232
+ path: string;
1233
+ aliases: string[];
1234
+ previewPath: string;
1235
+ layout: string | false;
1236
+ }[];
1237
+ /** Only public article metadata, never raw configuration or frontmatter. */
1238
+ metadata: Record<string, string | string[] | boolean>;
1239
+ draft: boolean;
1240
+ hidden: boolean;
1241
+ includedInProductionRoutes: boolean;
1242
+ }
1243
+ interface ContentCheckResult {
1244
+ path: string;
1245
+ ok: boolean;
1246
+ page?: ContentPageInfo;
1247
+ diagnostics: ContentDiagnostic[];
1248
+ /** At most 100 diagnostics are returned; this counts all detected diagnostics. */
1249
+ totalDiagnostics: number;
1250
+ }
1251
+ interface ContentServiceOptions {
1252
+ /** Apply the MCP visibility policy. CLI/API callers can inspect their own private files. */
1253
+ publicOnly?: boolean;
1254
+ includeDrafts?: boolean;
1255
+ /** Resolved Vite base, when called from a running development server. */
1256
+ base?: string;
1257
+ /** Resolved Vite public directory; false disables public assets. */
1258
+ publicDir?: string | false;
1259
+ }
1260
+
1261
+ /**
1262
+ * Inspect Markdown through Valaxy's route pipeline without starting a server.
1263
+ * Configured route/Markdown hooks run as they do during route generation. Scans
1264
+ * are serialized and rebuilt per request so edits and removals are observable.
1265
+ */
1266
+ declare function createContentService(app: ValaxyNode, settings?: ContentServiceOptions): {
1267
+ inspectPage: (path: string) => Promise<ContentPageInfo>;
1268
+ checkPage: (path: string) => Promise<ContentCheckResult>;
1269
+ dispose: () => Promise<void>;
1270
+ };
1271
+
1163
1272
  declare let version: string;
1164
1273
 
1165
1274
  declare const GLOBAL_STATE: {
@@ -1167,6 +1276,12 @@ declare const GLOBAL_STATE: {
1167
1276
  server: ViteDevServer | undefined;
1168
1277
  };
1169
1278
 
1279
+ /**
1280
+ * Load content from all loaders and write .md files to cache directory.
1281
+ * Uses digest-based incremental caching to skip unchanged files.
1282
+ */
1283
+ declare function loadAllContent(loaders: ContentLoader[], ctx: ContentLoaderContext): Promise<void>;
1284
+
1170
1285
  /**
1171
1286
  * Post process valaxyOptions
1172
1287
  * @param valaxyOptions
@@ -1200,7 +1315,7 @@ declare function createValaxyPlugin(options: ResolvedValaxyOptions, serverOption
1200
1315
  * with valaxyPrefix
1201
1316
  */
1202
1317
  declare function getServerInfoText(msg: string): string;
1203
- declare function createServer(valaxyApp: ValaxyNode, viteConfig?: InlineConfig, serverOptions?: ValaxyServerOptions): Promise<vite.ViteDevServer>;
1318
+ declare function createServer(valaxyApp: ValaxyNode, viteConfig?: InlineConfig, serverOptions?: ValaxyServerOptions): Promise<ViteDevServer>;
1204
1319
 
1205
1320
  /**
1206
1321
  * @see https://github.com/mdn/dom-examples/blob/main/web-crypto/encrypt-decrypt/aes-cbc.js
@@ -1212,6 +1327,7 @@ declare function encryptContent(content: string, options: {
1212
1327
  salt: Uint8Array;
1213
1328
  }): Promise<string>;
1214
1329
 
1330
+ /** Read commit timestamps from the file's repository, following renames. */
1215
1331
  declare function getGitTimestamp(file: string, type?: 'created' | 'updated'): Promise<number>;
1216
1332
 
1217
1333
  /**
@@ -1251,5 +1367,5 @@ declare function toAtFS(path: string): string;
1251
1367
  declare function resolveImportPath(importName: string, ensure?: true): Promise<string>;
1252
1368
  declare function resolveImportPath(importName: string, ensure?: boolean): Promise<string | undefined>;
1253
1369
 
1254
- export { $t, ALL_ROUTE, EXCERPT_SEPARATOR, GLOBAL_STATE, PATHNAME_PROTOCOL_RE, StateManager, ViteValaxyPlugins, build, createMemoryReleasePlugin, createServer, createValaxyPlugin, customElements, defaultSiteConfig, defaultValaxyConfig, defaultViteConfig, defineAddon, defineConfig, defineContentLoader, defineSiteConfig, defineTheme, defineUnoSetup, defineValaxyAddon, defineValaxyConfig, defineValaxyTheme, encryptContent, generateClientRedirects, getGitTimestamp, getIndexHtml, getServerInfoText, isExternal, isInstalledGlobally, isKatexEnabled, isKatexPluginNeeded, isMathJaxEnabled, isPath, loadConfigFromFile, mergeValaxyConfig, mergeViteConfigs, postProcessForSSG, processValaxyOptions, resolveAddonsConfig, resolveImportPath, resolveImportUrl, resolveOptions, resolveSiteConfig, resolveSiteConfigFromRoot, resolveThemeConfigFromRoot, resolveThemeValaxyConfig, resolveUserThemeConfig, resolveValaxyConfig, resolveValaxyConfigFromRoot, ssgBuild, toAtFS, transformObject, version };
1255
- export type { CdnModule, ContentItem, ContentLoader, ContentLoaderContext, GroupIconOptions, GroupIconValue, HookResult, LoadConfigFromFileOptions, MdAfterRenderContext, ResolvedConfig, ResolvedValaxyOptions, UnoSetup, UserInputConfig, UserValaxyNodeConfig, ValaxyAddonCliContext, ValaxyAddonExport, ValaxyAddonExtendCli, ValaxyAddonFn, ValaxyAddonLike, ValaxyAddonResolver, ValaxyAddons, ValaxyApp, ValaxyConfigExport, ValaxyConfigExtendKey, ValaxyConfigFn, ValaxyEntryOptions, ValaxyExtendConfig, ValaxyFileInfo, ValaxyHooks, ValaxyNode, ValaxyNodeAddon, ValaxyNodeConfig, ValaxyPickConfig, ValaxyServerOptions, ValaxyTheme };
1370
+ export { $t, ALL_ROUTE, EXCERPT_SEPARATOR, GLOBAL_STATE, PATHNAME_PROTOCOL_RE, StateManager, ViteValaxyPlugins, build, createContentService, createMemoryReleasePlugin, createServer, createValaxyNode, createValaxyPlugin, customElements, defaultSiteConfig, defaultValaxyConfig, defaultViteConfig, defineAddon, defineConfig, defineContentLoader, defineSiteConfig, defineTheme, defineUnoSetup, defineValaxyAddon, defineValaxyConfig, defineValaxyTheme, encryptContent, generateClientRedirects, getGitTimestamp, getIndexHtml, getServerInfoText, isExternal, isInstalledGlobally, isKatexEnabled, isKatexPluginNeeded, isMathJaxEnabled, isPath, loadAllContent, loadConfigFromFile, mergeValaxyConfig, mergeViteConfigs, postProcessForSSG, processValaxyOptions, resolveAddonsConfig, resolveImportPath, resolveImportUrl, resolveOptions, resolveSiteConfig, resolveSiteConfigFromRoot, resolveThemeConfigFromRoot, resolveThemeValaxyConfig, resolveUserThemeConfig, resolveValaxyConfig, resolveValaxyConfigFromRoot, ssgBuild, toAtFS, transformObject, version };
1371
+ export type { CdnModule, ContentCheckResult, ContentDiagnostic, ContentItem, ContentLoader, ContentLoaderContext, ContentPageInfo, ContentServiceOptions, GroupIconOptions, GroupIconValue, HookResult, LoadConfigFromFileOptions, MarkdownRenderer, MdAfterRenderContext, ResolvedConfig, ResolvedValaxyOptions, UnoSetup, UserInputConfig, UserValaxyNodeConfig, ValaxyAddonCliContext, ValaxyAddonExport, ValaxyAddonExtendCli, ValaxyAddonFn, ValaxyAddonLike, ValaxyAddonResolver, ValaxyAddons, ValaxyApp, ValaxyConfigExport, ValaxyConfigExtendKey, ValaxyConfigFn, ValaxyEntryOptions, ValaxyExtendConfig, ValaxyFileInfo, ValaxyHooks, ValaxyNode, ValaxyNodeAddon, ValaxyNodeConfig, ValaxyPickConfig, ValaxyServerOptions, ValaxyTheme };
@@ -1,4 +1,4 @@
1
- export { A as ALL_ROUTE, E as EXCERPT_SEPARATOR, G as GLOBAL_STATE, P as PATHNAME_PROTOCOL_RE, S as StateManager, V as ViteValaxyPlugins, b as build, c as createCli, a as createMemoryReleasePlugin, d as createServer, e as createValaxyPlugin, f as customElements, g as defaultSiteConfig, h as defaultValaxyConfig, i as defaultViteConfig, j as defineAddon, k as defineConfig, l as defineSiteConfig, m as defineTheme, n as defineValaxyAddon, o as defineValaxyConfig, p as defineValaxyTheme, q as encryptContent, r as generateClientRedirects, s as getGitTimestamp, t as getIndexHtml, u as getServerInfoText, v as isExternal, w as isInstalledGlobally, x as isKatexEnabled, y as isKatexPluginNeeded, z as isMathJaxEnabled, B as isPath, C as loadConfigFromFile, D as mergeValaxyConfig, F as mergeViteConfigs, H as postProcessForSSG, I as processValaxyOptions, J as registerDevCommand, K as resolveAddonsConfig, L as resolveImportPath, M as resolveImportUrl, N as resolveOptions, O as resolveSiteConfig, Q as resolveSiteConfigFromRoot, R as resolveThemeConfigFromRoot, T as resolveThemeValaxyConfig, U as resolveUserThemeConfig, W as resolveValaxyConfig, X as resolveValaxyConfigFromRoot, Y as run, Z as ssgBuild, _ as startValaxyDev, $ as toAtFS, a0 as transformObject, a1 as version } from '../shared/valaxy.Cb_HdczD.mjs';
1
+ export { A as ALL_ROUTE, E as EXCERPT_SEPARATOR, G as GLOBAL_STATE, P as PATHNAME_PROTOCOL_RE, S as StateManager, V as ViteValaxyPlugins, b as build, c as createCli, a as createContentService, d as createMemoryReleasePlugin, e as createServer, f as createValaxyNode, g as createValaxyPlugin, h as customElements, i as defaultSiteConfig, j as defaultValaxyConfig, k as defaultViteConfig, l as defineAddon, m as defineConfig, n as defineSiteConfig, o as defineTheme, p as defineValaxyAddon, q as defineValaxyConfig, r as defineValaxyTheme, s as desktopRuntimeVersion, t as encryptContent, u as execBuild, v as generateClientRedirects, w as getGitTimestamp, x as getIndexHtml, y as getServerInfoText, z as isExternal, B as isInstalledGlobally, C as isKatexEnabled, D as isKatexPluginNeeded, F as isMathJaxEnabled, H as isPath, I as loadAllContent, J as loadConfigFromFile, K as mergeValaxyConfig, L as mergeViteConfigs, M as postProcessForSSG, N as processValaxyOptions, O as registerDevCommand, Q as resolveAddonsConfig, R as resolveImportPath, T as resolveImportUrl, U as resolveOptions, W as resolveSiteConfig, X as resolveSiteConfigFromRoot, Y as resolveThemeConfigFromRoot, Z as resolveThemeValaxyConfig, _ as resolveUserThemeConfig, $ as resolveValaxyConfig, a0 as resolveValaxyConfigFromRoot, a1 as run, a2 as ssgBuild, a3 as startValaxyDev, a4 as toAtFS, a5 as transformObject, a6 as version } from '../shared/valaxy.BVZF0N6Q.mjs';
2
2
  import 'node:path';
3
3
  import 'consola';
4
4
  import 'fs-extra';
@@ -8,8 +8,8 @@ import 'define-config-ts';
8
8
  import 'yargs';
9
9
  import 'yargs/helpers';
10
10
  import 'node:os';
11
- import 'fast-glob';
12
11
  import 'gray-matter';
12
+ import 'tinyglobby';
13
13
  import 'js-yaml';
14
14
  import '@antfu/utils';
15
15
  import 'debug';
@@ -23,22 +23,35 @@ import 'cross-spawn';
23
23
  import 'mlly';
24
24
  import 'resolve-global';
25
25
  import '@valaxyjs/utils';
26
+ import 'node:fs';
26
27
  import 'node:fs/promises';
27
28
  import 'dayjs';
28
29
  import 'feed';
29
- import 'markdown-it';
30
+ import 'markdown-exit';
30
31
  import 'table';
31
32
  import 'hookable';
32
- import 'node:fs';
33
- import '@intlify/unplugin-vue-i18n/vite';
34
- import '@unhead/addons/vite';
35
- import 'unplugin-vue-components/vite';
36
- import 'vite-plugin-vue-layouts-next';
33
+ import '@unhead/bundler/vite';
37
34
  import 'vitepress-plugin-group-icons';
38
- import 'p-map';
35
+ import 'local-pkg';
36
+ import 'picomatch';
37
+ import 'chokidar';
38
+ import 'unplugin';
39
+ import 'unplugin-utils';
40
+ import 'obug';
41
+ import 'magic-string';
39
42
  import 'node:buffer';
43
+ import 'p-map';
44
+ import '@intlify/shared';
45
+ import '@intlify/bundle-utils';
46
+ import '@rollup/pluginutils';
47
+ import 'vue/compiler-sfc';
48
+ import 'picocolors';
49
+ import '@eslint-community/eslint-utils';
50
+ import '@intlify/vue-i18n-extensions';
51
+ import '@typescript-eslint/scope-manager';
40
52
  import 'minisearch';
41
53
  import '@shikijs/transformers';
54
+ import 'lru-cache';
42
55
  import 'shiki';
43
56
  import 'css-i18n';
44
57
  import 'markdown-it-anchor';
@@ -52,31 +65,29 @@ import 'markdown-it-container';
52
65
  import 'katex';
53
66
  import 'katex/contrib/mhchem';
54
67
  import 'unplugin-vue-markdown/vite';
55
- import 'js-base64';
56
- import 'lru-cache';
57
68
  import 'jiti';
58
69
  import 'unocss';
59
70
  import 'pascalcase';
60
71
  import 'html-to-text';
61
72
  import 'vue-router/vite';
62
- import 'node:child_process';
63
- import 'node:v8';
64
73
  import 'vite-ssg-sitemap';
65
74
  import '@unhead/vue/server';
75
+ import 'vue-router/unplugin';
76
+ import 'node:child_process';
66
77
  import '@clack/prompts';
67
78
  import 'node:net';
68
79
  import 'node:readline';
69
80
  import 'qrcode';
70
81
  import 'ejs';
71
82
 
72
- function $t(key) {
73
- return `$locale:${key}`;
74
- }
75
-
76
83
  function defineUnoSetup(fn) {
77
84
  return fn;
78
85
  }
79
86
 
87
+ function $t(key) {
88
+ return `$locale:${key}`;
89
+ }
90
+
80
91
  function defineContentLoader(loader) {
81
92
  return loader;
82
93
  }