valaxy 0.17.0-beta.3 → 0.17.0-beta.4

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.
@@ -563,6 +563,12 @@ type PartialDeep<T> = {
563
563
  interface RuntimeConfig {
564
564
  addons: Record<string, ValaxyAddon>;
565
565
  }
566
+ interface Pkg {
567
+ name: string;
568
+ version: string;
569
+ homepage?: string;
570
+ [key: string]: any;
571
+ }
566
572
  interface ValaxyConfig<ThemeConfig = DefaultTheme.Config> {
567
573
  siteConfig: SiteConfig;
568
574
  /**
@@ -575,12 +581,7 @@ interface ValaxyConfig<ThemeConfig = DefaultTheme.Config> {
575
581
  * @description 主题配置
576
582
  */
577
583
  themeConfig: ThemeConfig & {
578
- pkg: {
579
- name: string;
580
- version: string;
581
- homepage?: string;
582
- [key: string]: any;
583
- };
584
+ pkg: Pkg;
584
585
  };
585
586
  /**
586
587
  * generated by runtime
@@ -603,4 +604,4 @@ type UserSiteConfig = PartialDeep<SiteConfig>;
603
604
  */
604
605
  type UserValaxyConfig<ThemeConfig = DefaultTheme.Config> = PartialDeep<ValaxyConfig<ThemeConfig>>;
605
606
 
606
- export { type Album as A, DefaultTheme as D, type ExcerptType as E, type FuseListItem as F, type PartialDeep as P, type RuntimeConfig as R, type SiteConfig as S, type UserSiteConfig as U, type ValaxyConfig as V, type ValaxyAddon as a, type Post as b, type SocialLink as c, type RedirectRule as d, type UserValaxyConfig as e, type Photo as f, type PageFrontMatter as g, type PostFrontMatter as h, type Page as i };
607
+ export { type Album as A, DefaultTheme as D, type ExcerptType as E, type FuseListItem as F, type PartialDeep as P, type RedirectRule as R, type SocialLink as S, type UserSiteConfig as U, type ValaxyAddon as V, type Post as a, type SiteConfig as b, type RuntimeConfig as c, type Pkg as d, type ValaxyConfig as e, type UserValaxyConfig as f, type Photo as g, type PageFrontMatter as h, type PostFrontMatter as i, type Page as j };
@@ -563,6 +563,12 @@ type PartialDeep<T> = {
563
563
  interface RuntimeConfig {
564
564
  addons: Record<string, ValaxyAddon>;
565
565
  }
566
+ interface Pkg {
567
+ name: string;
568
+ version: string;
569
+ homepage?: string;
570
+ [key: string]: any;
571
+ }
566
572
  interface ValaxyConfig<ThemeConfig = DefaultTheme.Config> {
567
573
  siteConfig: SiteConfig;
568
574
  /**
@@ -575,12 +581,7 @@ interface ValaxyConfig<ThemeConfig = DefaultTheme.Config> {
575
581
  * @description 主题配置
576
582
  */
577
583
  themeConfig: ThemeConfig & {
578
- pkg: {
579
- name: string;
580
- version: string;
581
- homepage?: string;
582
- [key: string]: any;
583
- };
584
+ pkg: Pkg;
584
585
  };
585
586
  /**
586
587
  * generated by runtime
@@ -603,4 +604,4 @@ type UserSiteConfig = PartialDeep<SiteConfig>;
603
604
  */
604
605
  type UserValaxyConfig<ThemeConfig = DefaultTheme.Config> = PartialDeep<ValaxyConfig<ThemeConfig>>;
605
606
 
606
- export { type Album as A, DefaultTheme as D, type ExcerptType as E, type FuseListItem as F, type PartialDeep as P, type RuntimeConfig as R, type SiteConfig as S, type UserSiteConfig as U, type ValaxyConfig as V, type ValaxyAddon as a, type Post as b, type SocialLink as c, type RedirectRule as d, type UserValaxyConfig as e, type Photo as f, type PageFrontMatter as g, type PostFrontMatter as h, type Page as i };
607
+ export { type Album as A, DefaultTheme as D, type ExcerptType as E, type FuseListItem as F, type PartialDeep as P, type RedirectRule as R, type SocialLink as S, type UserSiteConfig as U, type ValaxyAddon as V, type Post as a, type SiteConfig as b, type RuntimeConfig as c, type Pkg as d, type ValaxyConfig as e, type UserValaxyConfig as f, type Photo as g, type PageFrontMatter as h, type PostFrontMatter as i, type Page as j };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk45B2VOLUcjs = require('../../chunk-45B2VOLU.cjs');require('../../chunk-GXMNHGBP.cjs');exports.cli = _chunk45B2VOLUcjs.G; exports.run = _chunk45B2VOLUcjs.H;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkJO3TW6XWcjs = require('../../chunk-JO3TW6XW.cjs');require('../../chunk-TEOGEXZQ.cjs');exports.cli = _chunkJO3TW6XWcjs.M; exports.run = _chunkJO3TW6XWcjs.N;
@@ -1,2 +1,2 @@
1
1
  import {createRequire as __createRequire} from 'module';var require=__createRequire(import.meta.url);
2
- import{G as a,H as b}from"../../chunk-2HLMSZO4.mjs";import"../../chunk-WSC7UAH5.mjs";export{a as cli,b as run};
2
+ import{M as a,N as b}from"../../chunk-U67MKQRJ.mjs";import"../../chunk-ZO24WTQL.mjs";export{a as cli,b as run};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk45B2VOLUcjs = require('../chunk-45B2VOLU.cjs');require('../chunk-GXMNHGBP.cjs');exports.build = _chunk45B2VOLUcjs.B; exports.cli = _chunk45B2VOLUcjs.G; exports.createServer = _chunk45B2VOLUcjs.F; exports.defaultSiteConfig = _chunk45B2VOLUcjs.t; exports.defaultValaxyConfig = _chunk45B2VOLUcjs.u; exports.defineAddon = _chunk45B2VOLUcjs.n; exports.defineConfig = _chunk45B2VOLUcjs.s; exports.defineSiteConfig = _chunk45B2VOLUcjs.q; exports.defineTheme = _chunk45B2VOLUcjs.p; exports.defineUnoSetup = _chunk45B2VOLUcjs.v; exports.defineValaxyAddon = _chunk45B2VOLUcjs.m; exports.defineValaxyConfig = _chunk45B2VOLUcjs.r; exports.defineValaxyTheme = _chunk45B2VOLUcjs.o; exports.ensurePrefix = _chunk45B2VOLUcjs.d; exports.generateClientRedirects = _chunk45B2VOLUcjs.E; exports.getGitTimestamp = _chunk45B2VOLUcjs.a; exports.getIndexHtml = _chunk45B2VOLUcjs.A; exports.isExternal = _chunk45B2VOLUcjs.b; exports.isPath = _chunk45B2VOLUcjs.f; exports.mergeValaxyConfig = _chunk45B2VOLUcjs.g; exports.mergeViteConfigs = _chunk45B2VOLUcjs.z; exports.postProcessForSSG = _chunk45B2VOLUcjs.D; exports.processValaxyOptions = _chunk45B2VOLUcjs.w; exports.resolveAddonConfig = _chunk45B2VOLUcjs.j; exports.resolveImportPath = _chunk45B2VOLUcjs.l; exports.resolveOptions = _chunk45B2VOLUcjs.x; exports.resolveThemeValaxyConfig = _chunk45B2VOLUcjs.y; exports.resolveValaxyConfig = _chunk45B2VOLUcjs.i; exports.resolveValaxyConfigFromRoot = _chunk45B2VOLUcjs.h; exports.run = _chunk45B2VOLUcjs.H; exports.slash = _chunk45B2VOLUcjs.c; exports.ssgBuild = _chunk45B2VOLUcjs.C; exports.toAtFS = _chunk45B2VOLUcjs.e; exports.transformObject = _chunk45B2VOLUcjs.k;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkJO3TW6XWcjs = require('../chunk-JO3TW6XW.cjs');require('../chunk-TEOGEXZQ.cjs');exports.build = _chunkJO3TW6XWcjs.H; exports.cli = _chunkJO3TW6XWcjs.M; exports.createServer = _chunkJO3TW6XWcjs.L; exports.defaultSiteConfig = _chunkJO3TW6XWcjs.k; exports.defaultValaxyConfig = _chunkJO3TW6XWcjs.o; exports.defineAddon = _chunkJO3TW6XWcjs.v; exports.defineConfig = _chunkJO3TW6XWcjs.q; exports.defineSiteConfig = _chunkJO3TW6XWcjs.l; exports.defineTheme = _chunkJO3TW6XWcjs.A; exports.defineUnoSetup = _chunkJO3TW6XWcjs.B; exports.defineValaxyAddon = _chunkJO3TW6XWcjs.u; exports.defineValaxyConfig = _chunkJO3TW6XWcjs.p; exports.defineValaxyTheme = _chunkJO3TW6XWcjs.z; exports.ensurePrefix = _chunkJO3TW6XWcjs.e; exports.generateClientRedirects = _chunkJO3TW6XWcjs.K; exports.getGitTimestamp = _chunkJO3TW6XWcjs.a; exports.getIndexHtml = _chunkJO3TW6XWcjs.G; exports.isExternal = _chunkJO3TW6XWcjs.c; exports.isPath = _chunkJO3TW6XWcjs.g; exports.loadConfig = _chunkJO3TW6XWcjs.i; exports.loadConfigFromFile = _chunkJO3TW6XWcjs.j; exports.mergeValaxyConfig = _chunkJO3TW6XWcjs.s; exports.mergeViteConfigs = _chunkJO3TW6XWcjs.F; exports.postProcessForSSG = _chunkJO3TW6XWcjs.J; exports.processValaxyOptions = _chunkJO3TW6XWcjs.C; exports.resolveAddonConfig = _chunkJO3TW6XWcjs.w; exports.resolveImportPath = _chunkJO3TW6XWcjs.b; exports.resolveOptions = _chunkJO3TW6XWcjs.D; exports.resolveSiteConfig = _chunkJO3TW6XWcjs.n; exports.resolveSiteConfigFromRoot = _chunkJO3TW6XWcjs.m; exports.resolveThemeConfigFromRoot = _chunkJO3TW6XWcjs.x; exports.resolveThemeValaxyConfig = _chunkJO3TW6XWcjs.E; exports.resolveUserThemeConfig = _chunkJO3TW6XWcjs.y; exports.resolveValaxyConfig = _chunkJO3TW6XWcjs.t; exports.resolveValaxyConfigFromRoot = _chunkJO3TW6XWcjs.r; exports.run = _chunkJO3TW6XWcjs.N; exports.slash = _chunkJO3TW6XWcjs.d; exports.ssgBuild = _chunkJO3TW6XWcjs.I; exports.toAtFS = _chunkJO3TW6XWcjs.f; exports.transformObject = _chunkJO3TW6XWcjs.h;
@@ -2,7 +2,8 @@ import { ViteSSGOptions } from 'vite-ssg';
2
2
  export { cli, run } from './cli/index.cjs';
3
3
  import * as vite from 'vite';
4
4
  import { UserConfig, InlineConfig } from 'vite';
5
- import { D as DefaultTheme, V as ValaxyConfig, P as PartialDeep, a as ValaxyAddon, R as RuntimeConfig, U as UserSiteConfig, S as SiteConfig } from '../config-OaNeBI1c.cjs';
5
+ import * as valaxy_types from 'valaxy/types';
6
+ import { DefaultTheme, ValaxyConfig, PartialDeep, ValaxyAddon, RuntimeConfig, SiteConfig, UserSiteConfig } from 'valaxy/types';
6
7
  import Vue from '@vitejs/plugin-vue';
7
8
  import Components from 'unplugin-vue-components/vite';
8
9
  import { VitePluginConfig } from 'unocss/vite';
@@ -21,6 +22,7 @@ import { TocPluginOptions } from '@mdit-vue/plugin-toc';
21
22
  import { ComponentPluginOptions } from '@mdit-vue/plugin-component';
22
23
  import { Awaitable } from '@antfu/utils';
23
24
  import * as defu from 'defu';
25
+ import { P as PartialDeep$1 } from '../config-hKSeaczj.cjs';
24
26
  import 'yargs';
25
27
  import 'medium-zoom';
26
28
  import '@vueuse/integrations/useFuse';
@@ -123,6 +125,10 @@ type HookResult = Promise<void> | void;
123
125
  interface ValaxyHooks {
124
126
  'options:resolved': () => HookResult;
125
127
  'config:init': () => HookResult;
128
+ /**
129
+ * @see valaxy/node/plugins/vueRouter.ts extendRoute
130
+ */
131
+ 'vue-router:extendRoute': (route: EditableTreeNode) => HookResult;
126
132
  'build:before': () => HookResult;
127
133
  'build:after': () => HookResult;
128
134
  }
@@ -170,6 +176,7 @@ interface ValaxyExtendConfig {
170
176
  /**
171
177
  * @experimental
172
178
  * Enable Vue Devtools & Valaxy Devtools
179
+ * @see https://devtools-next.vuejs.org/
173
180
  */
174
181
  devtools?: boolean;
175
182
  /**
@@ -298,12 +305,90 @@ declare function ssgBuild(options: ResolvedValaxyOptions, viteConfig?: InlineCon
298
305
  declare function postProcessForSSG(options: ResolvedValaxyOptions): Promise<void>;
299
306
  declare function generateClientRedirects(options: ResolvedValaxyOptions): Promise<void>;
300
307
 
308
+ interface LoadConfigFromFileOptions {
309
+ cwd?: string;
310
+ valaxyOptions?: ResolvedValaxyOptions;
311
+ }
312
+ type UserInputConfig = Record<string, any>;
313
+ interface ResolvedConfig<T extends UserInputConfig = UserInputConfig> {
314
+ config: T;
315
+ configFile: string;
316
+ }
317
+ declare function loadConfig<T extends UserInputConfig = UserInputConfig>(options: {
318
+ name: string;
319
+ cwd: string;
320
+ }): ResolvedConfig<T>;
321
+ declare function loadConfigFromFile<T extends UserInputConfig>(file: string, options?: LoadConfigFromFileOptions): Promise<ResolvedConfig<T>>;
322
+
323
+ declare const defaultValaxyConfig: ValaxyNodeConfig;
324
+ /**
325
+ * Type helper for valaxy.config.ts
326
+ */
327
+ declare function defineValaxyConfig<ThemeConfig>(config: UserValaxyNodeConfig<ThemeConfig>): PartialDeep$1<ValaxyNodeConfig<ThemeConfig>>;
328
+ declare const defineConfig: typeof defineValaxyConfig;
329
+ declare function resolveValaxyConfigFromRoot(root: string, options?: ResolvedValaxyOptions): Promise<ResolvedConfig<ValaxyNodeConfig>>;
330
+ /**
331
+ * merge valaxy.config
332
+ * (source, default)
333
+ */
334
+ declare const mergeValaxyConfig: <Source extends {
335
+ [x: string]: any;
336
+ [x: number]: any;
337
+ [x: symbol]: any;
338
+ }, Defaults extends ({
339
+ [x: string]: any;
340
+ [x: number]: any;
341
+ [x: symbol]: any;
342
+ } | (number | boolean | any[] | Record<never, any> | null | undefined))[]>(source: Source, ...defaults: Defaults) => defu.Defu<Source, Defaults>;
343
+ /**
344
+ * resolve user valaxy config
345
+ * options only have userRoot
346
+ * @param options
347
+ */
348
+ declare function resolveValaxyConfig(options: ValaxyEntryOptions): Promise<{
349
+ config: ValaxyNodeConfig;
350
+ configFile: string;
351
+ theme: string;
352
+ }>;
353
+
301
354
  declare function defineValaxyAddon<AddonOptions = object>(addonFunc: (addonOptions?: AddonOptions, valaxyOptions?: ResolvedValaxyOptions) => ValaxyAddon & {
302
355
  setup?: ValaxyAddonResolver['setup'];
303
356
  }): (addonOptions?: AddonOptions, valaxyOptions?: ResolvedValaxyOptions) => ValaxyAddon & {
304
357
  setup?: ValaxyAddonResolver['setup'];
305
358
  };
306
359
  declare const defineAddon: typeof defineValaxyAddon;
360
+ declare function resolveAddonConfig(addons: ValaxyAddonResolver[], _options?: ResolvedValaxyOptions): Promise<ValaxyNodeConfig>;
361
+
362
+ declare const defaultSiteConfig: SiteConfig;
363
+ /**
364
+ * Type helper for site.config.ts
365
+ * @param config
366
+ */
367
+ declare function defineSiteConfig(config: UserSiteConfig): valaxy_types.PartialDeep<SiteConfig>;
368
+ /**
369
+ * resolve valaxy config from special root
370
+ */
371
+ declare function resolveSiteConfigFromRoot(root: string): Promise<ResolvedConfig<valaxy_types.PartialDeep<SiteConfig>>>;
372
+ /**
373
+ * resolve site.config.ts and merge with default
374
+ * @param root
375
+ */
376
+ declare function resolveSiteConfig(root: string): Promise<{
377
+ siteConfig: valaxy_types.PartialDeep<SiteConfig>;
378
+ siteConfigFile: string;
379
+ }>;
380
+
381
+ /**
382
+ * resolve theme config from special root
383
+ */
384
+ declare function resolveThemeConfigFromRoot(root: string): Promise<ResolvedConfig<DefaultTheme.Config>>;
385
+ /**
386
+ * resolve theme.config.ts and merge with default
387
+ */
388
+ declare function resolveUserThemeConfig(options: ResolvedValaxyOptions): Promise<{
389
+ themeConfig: DefaultTheme.Config;
390
+ themeConfigFile: string;
391
+ }>;
307
392
  type ValaxyConfigExtendKey = 'vite' | 'vue' | 'unocss' | 'unocssPresets' | 'markdown' | 'extendMd' | 'addons';
308
393
  type ValaxyPickConfig = Pick<ValaxyNodeConfig, ValaxyConfigExtendKey>;
309
394
  type ValaxyTheme<ThemeConfig = DefaultTheme.Config> = ValaxyPickConfig & {
@@ -312,18 +397,6 @@ type ValaxyTheme<ThemeConfig = DefaultTheme.Config> = ValaxyPickConfig & {
312
397
  declare function defineValaxyTheme<ThemeConfig = DefaultTheme.Config>(theme: ValaxyTheme<ThemeConfig> | ((options: ResolvedValaxyOptions<ThemeConfig>) => ValaxyTheme<ThemeConfig>)): ValaxyTheme<ThemeConfig> | ((options: ResolvedValaxyOptions<ThemeConfig>) => ValaxyTheme<ThemeConfig>);
313
398
  declare const defineTheme: typeof defineValaxyTheme;
314
399
 
315
- /**
316
- * Type helper for site.config.ts
317
- * @param config
318
- */
319
- declare function defineSiteConfig(config: UserSiteConfig): PartialDeep<SiteConfig>;
320
- /**
321
- * Type helper for valaxy.config.ts
322
- */
323
- declare function defineValaxyConfig<ThemeConfig>(config: UserValaxyNodeConfig<ThemeConfig>): PartialDeep<ValaxyNodeConfig<ThemeConfig>>;
324
- declare const defineConfig: typeof defineValaxyConfig;
325
- declare const defaultSiteConfig: SiteConfig;
326
- declare const defaultValaxyConfig: ValaxyNodeConfig;
327
400
  type UnoSetup = () => Awaitable<Partial<VitePluginConfig> | undefined>;
328
401
  declare function defineUnoSetup(fn: UnoSetup): UnoSetup;
329
402
 
@@ -331,6 +404,8 @@ declare function createServer(options: ResolvedValaxyOptions, viteConfig?: Inlin
331
404
 
332
405
  declare function getGitTimestamp(file: string, type?: 'created' | 'updated'): Promise<number>;
333
406
 
407
+ declare function resolveImportPath(importName: string, ensure?: true): string;
408
+
334
409
  /**
335
410
  * is url external (http/https:)
336
411
  * @param str
@@ -344,44 +419,10 @@ declare function slash(str: string): string;
344
419
  declare function ensurePrefix(prefix: string, str: string): string;
345
420
  declare function toAtFS(path: string): string;
346
421
  declare function isPath(name: string): boolean;
347
-
348
- /**
349
- * merge valaxy.config
350
- * (source, default)
351
- */
352
- declare const mergeValaxyConfig: <Source extends {
353
- [x: string]: any;
354
- [x: number]: any;
355
- [x: symbol]: any;
356
- }, Defaults extends ({
357
- [x: string]: any;
358
- [x: number]: any;
359
- [x: symbol]: any;
360
- } | (number | boolean | any[] | Record<never, any> | null | undefined))[]>(source: Source, ...defaults: Defaults) => defu.Defu<Source, Defaults>;
361
- /**
362
- * resolve valaxy config from special root
363
- */
364
- declare function resolveValaxyConfigFromRoot(root: string, options?: ResolvedValaxyOptions): Promise<{
365
- config: ValaxyNodeConfig;
366
- configFile: string;
367
- }>;
368
- /**
369
- * resolve user valaxy config
370
- * options only have userRoot
371
- * @param options
372
- */
373
- declare function resolveValaxyConfig(options: ValaxyEntryOptions): Promise<{
374
- config: ValaxyNodeConfig;
375
- configFile: string;
376
- theme: string;
377
- }>;
378
- declare function resolveAddonConfig(addons: ValaxyAddonResolver[], options?: ResolvedValaxyOptions): Promise<ValaxyNodeConfig>;
379
-
380
422
  /**
381
423
  * transform obj for vite code
382
424
  * @param obj
383
425
  */
384
426
  declare function transformObject(obj: any): string;
385
- declare function resolveImportPath(importName: string, ensure?: true): string;
386
427
 
387
- export { type HookResult, type ResolvedValaxyOptions, type UnoSetup, type UserValaxyNodeConfig, type ValaxyAddonExport, type ValaxyAddonFn, type ValaxyAddonLike, type ValaxyAddonResolver, type ValaxyAddons, type ValaxyConfigExport, type ValaxyConfigExtendKey, type ValaxyConfigFn, type ValaxyEntryOptions, type ValaxyExtendConfig, type ValaxyHooks, type ValaxyNode, type ValaxyNodeConfig, type ValaxyPickConfig, type ValaxyServerOptions, type ValaxyTheme, build, createServer, defaultSiteConfig, defaultValaxyConfig, defineAddon, defineConfig, defineSiteConfig, defineTheme, defineUnoSetup, defineValaxyAddon, defineValaxyConfig, defineValaxyTheme, ensurePrefix, generateClientRedirects, getGitTimestamp, getIndexHtml, isExternal, isPath, mergeValaxyConfig, mergeViteConfigs, postProcessForSSG, processValaxyOptions, resolveAddonConfig, resolveImportPath, resolveOptions, resolveThemeValaxyConfig, resolveValaxyConfig, resolveValaxyConfigFromRoot, slash, ssgBuild, toAtFS, transformObject };
428
+ export { type HookResult, type LoadConfigFromFileOptions, type ResolvedConfig, type ResolvedValaxyOptions, type UnoSetup, type UserInputConfig, type UserValaxyNodeConfig, type ValaxyAddonExport, type ValaxyAddonFn, type ValaxyAddonLike, type ValaxyAddonResolver, type ValaxyAddons, type ValaxyConfigExport, type ValaxyConfigExtendKey, type ValaxyConfigFn, type ValaxyEntryOptions, type ValaxyExtendConfig, type ValaxyHooks, type ValaxyNode, type ValaxyNodeConfig, type ValaxyPickConfig, type ValaxyServerOptions, type ValaxyTheme, build, createServer, defaultSiteConfig, defaultValaxyConfig, defineAddon, defineConfig, defineSiteConfig, defineTheme, defineUnoSetup, defineValaxyAddon, defineValaxyConfig, defineValaxyTheme, ensurePrefix, generateClientRedirects, getGitTimestamp, getIndexHtml, isExternal, isPath, loadConfig, loadConfigFromFile, mergeValaxyConfig, mergeViteConfigs, postProcessForSSG, processValaxyOptions, resolveAddonConfig, resolveImportPath, resolveOptions, resolveSiteConfig, resolveSiteConfigFromRoot, resolveThemeConfigFromRoot, resolveThemeValaxyConfig, resolveUserThemeConfig, resolveValaxyConfig, resolveValaxyConfigFromRoot, slash, ssgBuild, toAtFS, transformObject };
@@ -2,7 +2,8 @@ import { ViteSSGOptions } from 'vite-ssg';
2
2
  export { cli, run } from './cli/index.js';
3
3
  import * as vite from 'vite';
4
4
  import { UserConfig, InlineConfig } from 'vite';
5
- import { D as DefaultTheme, V as ValaxyConfig, P as PartialDeep, a as ValaxyAddon, R as RuntimeConfig, U as UserSiteConfig, S as SiteConfig } from '../config-OaNeBI1c.js';
5
+ import * as valaxy_types from 'valaxy/types';
6
+ import { DefaultTheme, ValaxyConfig, PartialDeep, ValaxyAddon, RuntimeConfig, SiteConfig, UserSiteConfig } from 'valaxy/types';
6
7
  import Vue from '@vitejs/plugin-vue';
7
8
  import Components from 'unplugin-vue-components/vite';
8
9
  import { VitePluginConfig } from 'unocss/vite';
@@ -21,6 +22,7 @@ import { TocPluginOptions } from '@mdit-vue/plugin-toc';
21
22
  import { ComponentPluginOptions } from '@mdit-vue/plugin-component';
22
23
  import { Awaitable } from '@antfu/utils';
23
24
  import * as defu from 'defu';
25
+ import { P as PartialDeep$1 } from '../config-hKSeaczj.js';
24
26
  import 'yargs';
25
27
  import 'medium-zoom';
26
28
  import '@vueuse/integrations/useFuse';
@@ -123,6 +125,10 @@ type HookResult = Promise<void> | void;
123
125
  interface ValaxyHooks {
124
126
  'options:resolved': () => HookResult;
125
127
  'config:init': () => HookResult;
128
+ /**
129
+ * @see valaxy/node/plugins/vueRouter.ts extendRoute
130
+ */
131
+ 'vue-router:extendRoute': (route: EditableTreeNode) => HookResult;
126
132
  'build:before': () => HookResult;
127
133
  'build:after': () => HookResult;
128
134
  }
@@ -170,6 +176,7 @@ interface ValaxyExtendConfig {
170
176
  /**
171
177
  * @experimental
172
178
  * Enable Vue Devtools & Valaxy Devtools
179
+ * @see https://devtools-next.vuejs.org/
173
180
  */
174
181
  devtools?: boolean;
175
182
  /**
@@ -298,12 +305,90 @@ declare function ssgBuild(options: ResolvedValaxyOptions, viteConfig?: InlineCon
298
305
  declare function postProcessForSSG(options: ResolvedValaxyOptions): Promise<void>;
299
306
  declare function generateClientRedirects(options: ResolvedValaxyOptions): Promise<void>;
300
307
 
308
+ interface LoadConfigFromFileOptions {
309
+ cwd?: string;
310
+ valaxyOptions?: ResolvedValaxyOptions;
311
+ }
312
+ type UserInputConfig = Record<string, any>;
313
+ interface ResolvedConfig<T extends UserInputConfig = UserInputConfig> {
314
+ config: T;
315
+ configFile: string;
316
+ }
317
+ declare function loadConfig<T extends UserInputConfig = UserInputConfig>(options: {
318
+ name: string;
319
+ cwd: string;
320
+ }): ResolvedConfig<T>;
321
+ declare function loadConfigFromFile<T extends UserInputConfig>(file: string, options?: LoadConfigFromFileOptions): Promise<ResolvedConfig<T>>;
322
+
323
+ declare const defaultValaxyConfig: ValaxyNodeConfig;
324
+ /**
325
+ * Type helper for valaxy.config.ts
326
+ */
327
+ declare function defineValaxyConfig<ThemeConfig>(config: UserValaxyNodeConfig<ThemeConfig>): PartialDeep$1<ValaxyNodeConfig<ThemeConfig>>;
328
+ declare const defineConfig: typeof defineValaxyConfig;
329
+ declare function resolveValaxyConfigFromRoot(root: string, options?: ResolvedValaxyOptions): Promise<ResolvedConfig<ValaxyNodeConfig>>;
330
+ /**
331
+ * merge valaxy.config
332
+ * (source, default)
333
+ */
334
+ declare const mergeValaxyConfig: <Source extends {
335
+ [x: string]: any;
336
+ [x: number]: any;
337
+ [x: symbol]: any;
338
+ }, Defaults extends ({
339
+ [x: string]: any;
340
+ [x: number]: any;
341
+ [x: symbol]: any;
342
+ } | (number | boolean | any[] | Record<never, any> | null | undefined))[]>(source: Source, ...defaults: Defaults) => defu.Defu<Source, Defaults>;
343
+ /**
344
+ * resolve user valaxy config
345
+ * options only have userRoot
346
+ * @param options
347
+ */
348
+ declare function resolveValaxyConfig(options: ValaxyEntryOptions): Promise<{
349
+ config: ValaxyNodeConfig;
350
+ configFile: string;
351
+ theme: string;
352
+ }>;
353
+
301
354
  declare function defineValaxyAddon<AddonOptions = object>(addonFunc: (addonOptions?: AddonOptions, valaxyOptions?: ResolvedValaxyOptions) => ValaxyAddon & {
302
355
  setup?: ValaxyAddonResolver['setup'];
303
356
  }): (addonOptions?: AddonOptions, valaxyOptions?: ResolvedValaxyOptions) => ValaxyAddon & {
304
357
  setup?: ValaxyAddonResolver['setup'];
305
358
  };
306
359
  declare const defineAddon: typeof defineValaxyAddon;
360
+ declare function resolveAddonConfig(addons: ValaxyAddonResolver[], _options?: ResolvedValaxyOptions): Promise<ValaxyNodeConfig>;
361
+
362
+ declare const defaultSiteConfig: SiteConfig;
363
+ /**
364
+ * Type helper for site.config.ts
365
+ * @param config
366
+ */
367
+ declare function defineSiteConfig(config: UserSiteConfig): valaxy_types.PartialDeep<SiteConfig>;
368
+ /**
369
+ * resolve valaxy config from special root
370
+ */
371
+ declare function resolveSiteConfigFromRoot(root: string): Promise<ResolvedConfig<valaxy_types.PartialDeep<SiteConfig>>>;
372
+ /**
373
+ * resolve site.config.ts and merge with default
374
+ * @param root
375
+ */
376
+ declare function resolveSiteConfig(root: string): Promise<{
377
+ siteConfig: valaxy_types.PartialDeep<SiteConfig>;
378
+ siteConfigFile: string;
379
+ }>;
380
+
381
+ /**
382
+ * resolve theme config from special root
383
+ */
384
+ declare function resolveThemeConfigFromRoot(root: string): Promise<ResolvedConfig<DefaultTheme.Config>>;
385
+ /**
386
+ * resolve theme.config.ts and merge with default
387
+ */
388
+ declare function resolveUserThemeConfig(options: ResolvedValaxyOptions): Promise<{
389
+ themeConfig: DefaultTheme.Config;
390
+ themeConfigFile: string;
391
+ }>;
307
392
  type ValaxyConfigExtendKey = 'vite' | 'vue' | 'unocss' | 'unocssPresets' | 'markdown' | 'extendMd' | 'addons';
308
393
  type ValaxyPickConfig = Pick<ValaxyNodeConfig, ValaxyConfigExtendKey>;
309
394
  type ValaxyTheme<ThemeConfig = DefaultTheme.Config> = ValaxyPickConfig & {
@@ -312,18 +397,6 @@ type ValaxyTheme<ThemeConfig = DefaultTheme.Config> = ValaxyPickConfig & {
312
397
  declare function defineValaxyTheme<ThemeConfig = DefaultTheme.Config>(theme: ValaxyTheme<ThemeConfig> | ((options: ResolvedValaxyOptions<ThemeConfig>) => ValaxyTheme<ThemeConfig>)): ValaxyTheme<ThemeConfig> | ((options: ResolvedValaxyOptions<ThemeConfig>) => ValaxyTheme<ThemeConfig>);
313
398
  declare const defineTheme: typeof defineValaxyTheme;
314
399
 
315
- /**
316
- * Type helper for site.config.ts
317
- * @param config
318
- */
319
- declare function defineSiteConfig(config: UserSiteConfig): PartialDeep<SiteConfig>;
320
- /**
321
- * Type helper for valaxy.config.ts
322
- */
323
- declare function defineValaxyConfig<ThemeConfig>(config: UserValaxyNodeConfig<ThemeConfig>): PartialDeep<ValaxyNodeConfig<ThemeConfig>>;
324
- declare const defineConfig: typeof defineValaxyConfig;
325
- declare const defaultSiteConfig: SiteConfig;
326
- declare const defaultValaxyConfig: ValaxyNodeConfig;
327
400
  type UnoSetup = () => Awaitable<Partial<VitePluginConfig> | undefined>;
328
401
  declare function defineUnoSetup(fn: UnoSetup): UnoSetup;
329
402
 
@@ -331,6 +404,8 @@ declare function createServer(options: ResolvedValaxyOptions, viteConfig?: Inlin
331
404
 
332
405
  declare function getGitTimestamp(file: string, type?: 'created' | 'updated'): Promise<number>;
333
406
 
407
+ declare function resolveImportPath(importName: string, ensure?: true): string;
408
+
334
409
  /**
335
410
  * is url external (http/https:)
336
411
  * @param str
@@ -344,44 +419,10 @@ declare function slash(str: string): string;
344
419
  declare function ensurePrefix(prefix: string, str: string): string;
345
420
  declare function toAtFS(path: string): string;
346
421
  declare function isPath(name: string): boolean;
347
-
348
- /**
349
- * merge valaxy.config
350
- * (source, default)
351
- */
352
- declare const mergeValaxyConfig: <Source extends {
353
- [x: string]: any;
354
- [x: number]: any;
355
- [x: symbol]: any;
356
- }, Defaults extends ({
357
- [x: string]: any;
358
- [x: number]: any;
359
- [x: symbol]: any;
360
- } | (number | boolean | any[] | Record<never, any> | null | undefined))[]>(source: Source, ...defaults: Defaults) => defu.Defu<Source, Defaults>;
361
- /**
362
- * resolve valaxy config from special root
363
- */
364
- declare function resolveValaxyConfigFromRoot(root: string, options?: ResolvedValaxyOptions): Promise<{
365
- config: ValaxyNodeConfig;
366
- configFile: string;
367
- }>;
368
- /**
369
- * resolve user valaxy config
370
- * options only have userRoot
371
- * @param options
372
- */
373
- declare function resolveValaxyConfig(options: ValaxyEntryOptions): Promise<{
374
- config: ValaxyNodeConfig;
375
- configFile: string;
376
- theme: string;
377
- }>;
378
- declare function resolveAddonConfig(addons: ValaxyAddonResolver[], options?: ResolvedValaxyOptions): Promise<ValaxyNodeConfig>;
379
-
380
422
  /**
381
423
  * transform obj for vite code
382
424
  * @param obj
383
425
  */
384
426
  declare function transformObject(obj: any): string;
385
- declare function resolveImportPath(importName: string, ensure?: true): string;
386
427
 
387
- export { type HookResult, type ResolvedValaxyOptions, type UnoSetup, type UserValaxyNodeConfig, type ValaxyAddonExport, type ValaxyAddonFn, type ValaxyAddonLike, type ValaxyAddonResolver, type ValaxyAddons, type ValaxyConfigExport, type ValaxyConfigExtendKey, type ValaxyConfigFn, type ValaxyEntryOptions, type ValaxyExtendConfig, type ValaxyHooks, type ValaxyNode, type ValaxyNodeConfig, type ValaxyPickConfig, type ValaxyServerOptions, type ValaxyTheme, build, createServer, defaultSiteConfig, defaultValaxyConfig, defineAddon, defineConfig, defineSiteConfig, defineTheme, defineUnoSetup, defineValaxyAddon, defineValaxyConfig, defineValaxyTheme, ensurePrefix, generateClientRedirects, getGitTimestamp, getIndexHtml, isExternal, isPath, mergeValaxyConfig, mergeViteConfigs, postProcessForSSG, processValaxyOptions, resolveAddonConfig, resolveImportPath, resolveOptions, resolveThemeValaxyConfig, resolveValaxyConfig, resolveValaxyConfigFromRoot, slash, ssgBuild, toAtFS, transformObject };
428
+ export { type HookResult, type LoadConfigFromFileOptions, type ResolvedConfig, type ResolvedValaxyOptions, type UnoSetup, type UserInputConfig, type UserValaxyNodeConfig, type ValaxyAddonExport, type ValaxyAddonFn, type ValaxyAddonLike, type ValaxyAddonResolver, type ValaxyAddons, type ValaxyConfigExport, type ValaxyConfigExtendKey, type ValaxyConfigFn, type ValaxyEntryOptions, type ValaxyExtendConfig, type ValaxyHooks, type ValaxyNode, type ValaxyNodeConfig, type ValaxyPickConfig, type ValaxyServerOptions, type ValaxyTheme, build, createServer, defaultSiteConfig, defaultValaxyConfig, defineAddon, defineConfig, defineSiteConfig, defineTheme, defineUnoSetup, defineValaxyAddon, defineValaxyConfig, defineValaxyTheme, ensurePrefix, generateClientRedirects, getGitTimestamp, getIndexHtml, isExternal, isPath, loadConfig, loadConfigFromFile, mergeValaxyConfig, mergeViteConfigs, postProcessForSSG, processValaxyOptions, resolveAddonConfig, resolveImportPath, resolveOptions, resolveSiteConfig, resolveSiteConfigFromRoot, resolveThemeConfigFromRoot, resolveThemeValaxyConfig, resolveUserThemeConfig, resolveValaxyConfig, resolveValaxyConfigFromRoot, slash, ssgBuild, toAtFS, transformObject };
@@ -1,2 +1,2 @@
1
1
  import {createRequire as __createRequire} from 'module';var require=__createRequire(import.meta.url);
2
- import{A,B,C,D,E,F,G,H,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"../chunk-2HLMSZO4.mjs";import"../chunk-WSC7UAH5.mjs";export{B as build,G as cli,F as createServer,t as defaultSiteConfig,u as defaultValaxyConfig,n as defineAddon,s as defineConfig,q as defineSiteConfig,p as defineTheme,v as defineUnoSetup,m as defineValaxyAddon,r as defineValaxyConfig,o as defineValaxyTheme,d as ensurePrefix,E as generateClientRedirects,a as getGitTimestamp,A as getIndexHtml,b as isExternal,f as isPath,g as mergeValaxyConfig,z as mergeViteConfigs,D as postProcessForSSG,w as processValaxyOptions,j as resolveAddonConfig,l as resolveImportPath,x as resolveOptions,y as resolveThemeValaxyConfig,i as resolveValaxyConfig,h as resolveValaxyConfigFromRoot,H as run,c as slash,C as ssgBuild,e as toAtFS,k as transformObject};
2
+ import{A,B,C,D,E,F,G,H,I,J,K,L,M,N,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"../chunk-U67MKQRJ.mjs";import"../chunk-ZO24WTQL.mjs";export{H as build,M as cli,L as createServer,k as defaultSiteConfig,o as defaultValaxyConfig,v as defineAddon,q as defineConfig,l as defineSiteConfig,A as defineTheme,B as defineUnoSetup,u as defineValaxyAddon,p as defineValaxyConfig,z as defineValaxyTheme,e as ensurePrefix,K as generateClientRedirects,a as getGitTimestamp,G as getIndexHtml,c as isExternal,g as isPath,i as loadConfig,j as loadConfigFromFile,s as mergeValaxyConfig,F as mergeViteConfigs,J as postProcessForSSG,C as processValaxyOptions,w as resolveAddonConfig,b as resolveImportPath,D as resolveOptions,n as resolveSiteConfig,m as resolveSiteConfigFromRoot,x as resolveThemeConfigFromRoot,E as resolveThemeValaxyConfig,y as resolveUserThemeConfig,t as resolveValaxyConfig,r as resolveValaxyConfigFromRoot,N as run,d as slash,I as ssgBuild,f as toAtFS,h as transformObject};
@@ -1 +1 @@
1
- "use strict";var _chunkGXMNHGBPcjs = require('../chunk-GXMNHGBP.cjs');_chunkGXMNHGBPcjs.e.call(void 0, );_chunkGXMNHGBPcjs.e.call(void 0, );_chunkGXMNHGBPcjs.e.call(void 0, );_chunkGXMNHGBPcjs.e.call(void 0, );_chunkGXMNHGBPcjs.e.call(void 0, );_chunkGXMNHGBPcjs.e.call(void 0, );_chunkGXMNHGBPcjs.e.call(void 0, );
1
+ "use strict";var _chunkTEOGEXZQcjs = require('../chunk-TEOGEXZQ.cjs');_chunkTEOGEXZQcjs.e.call(void 0, );_chunkTEOGEXZQcjs.e.call(void 0, );_chunkTEOGEXZQcjs.e.call(void 0, );_chunkTEOGEXZQcjs.e.call(void 0, );_chunkTEOGEXZQcjs.e.call(void 0, );_chunkTEOGEXZQcjs.e.call(void 0, );_chunkTEOGEXZQcjs.e.call(void 0, );
@@ -1,5 +1,5 @@
1
- import { b as Post } from '../config-OaNeBI1c.cjs';
2
- export { A as Album, D as DefaultTheme, E as ExcerptType, F as FuseListItem, i as Page, g as PageFrontMatter, P as PartialDeep, f as Photo, h as PostFrontMatter, d as RedirectRule, R as RuntimeConfig, S as SiteConfig, c as SocialLink, U as UserSiteConfig, e as UserValaxyConfig, a as ValaxyAddon, V as ValaxyConfig } from '../config-OaNeBI1c.cjs';
1
+ import { a as Post } from '../config-hKSeaczj.cjs';
2
+ export { A as Album, D as DefaultTheme, E as ExcerptType, F as FuseListItem, j as Page, h as PageFrontMatter, P as PartialDeep, g as Photo, d as Pkg, i as PostFrontMatter, R as RedirectRule, c as RuntimeConfig, b as SiteConfig, S as SocialLink, U as UserSiteConfig, f as UserValaxyConfig, V as ValaxyAddon, e as ValaxyConfig } from '../config-hKSeaczj.cjs';
3
3
  import 'medium-zoom';
4
4
  import '@vueuse/integrations/useFuse';
5
5
  import 'vanilla-lazyload';
@@ -1,5 +1,5 @@
1
- import { b as Post } from '../config-OaNeBI1c.js';
2
- export { A as Album, D as DefaultTheme, E as ExcerptType, F as FuseListItem, i as Page, g as PageFrontMatter, P as PartialDeep, f as Photo, h as PostFrontMatter, d as RedirectRule, R as RuntimeConfig, S as SiteConfig, c as SocialLink, U as UserSiteConfig, e as UserValaxyConfig, a as ValaxyAddon, V as ValaxyConfig } from '../config-OaNeBI1c.js';
1
+ import { a as Post } from '../config-hKSeaczj.js';
2
+ export { A as Album, D as DefaultTheme, E as ExcerptType, F as FuseListItem, j as Page, h as PageFrontMatter, P as PartialDeep, g as Photo, d as Pkg, i as PostFrontMatter, R as RedirectRule, c as RuntimeConfig, b as SiteConfig, S as SocialLink, U as UserSiteConfig, f as UserValaxyConfig, V as ValaxyAddon, e as ValaxyConfig } from '../config-hKSeaczj.js';
3
3
  import 'medium-zoom';
4
4
  import '@vueuse/integrations/useFuse';
5
5
  import 'vanilla-lazyload';
@@ -1,2 +1,2 @@
1
1
  import {createRequire as __createRequire} from 'module';var require=__createRequire(import.meta.url);
2
- import{d as e}from"../chunk-WSC7UAH5.mjs";e();e();e();e();e();e();e();
2
+ import{d as e}from"../chunk-ZO24WTQL.mjs";e();e();e();e();e();e();e();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "valaxy",
3
3
  "type": "module",
4
- "version": "0.17.0-beta.3",
4
+ "version": "0.17.0-beta.4",
5
5
  "description": "📄 Vite & Vue powered static blog generator.",
6
6
  "author": {
7
7
  "email": "me@yunyoujun.cn",
@@ -23,7 +23,8 @@
23
23
  ".": {
24
24
  "types": "./index.d.ts",
25
25
  "import": "./dist/node/index.mjs",
26
- "require": "./dist/node/index.cjs"
26
+ "require": "./dist/node/index.cjs",
27
+ "default": "./dist/node/index.mjs"
27
28
  },
28
29
  "./client/*": "./client/*",
29
30
  "./client": "./client/index.ts",
@@ -49,6 +50,7 @@
49
50
  "client",
50
51
  "dist",
51
52
  "index.d.ts",
53
+ "shims.d.ts",
52
54
  "types"
53
55
  ],
54
56
  "engines": {
@@ -56,17 +58,17 @@
56
58
  },
57
59
  "dependencies": {
58
60
  "@antfu/utils": "^0.7.7",
59
- "@ctrl/tinycolor": "^4.0.2",
61
+ "@ctrl/tinycolor": "^4.0.3",
60
62
  "@iconify-json/carbon": "^1.1.27",
61
- "@iconify-json/ri": "^1.1.18",
63
+ "@iconify-json/ri": "^1.1.19",
62
64
  "@intlify/unplugin-vue-i18n": "^2.0.0",
63
65
  "@types/body-scroll-lock": "^3.1.2",
64
66
  "@types/katex": "^0.16.7",
65
- "@unhead/addons": "^1.8.9",
66
- "@unhead/schema-org": "^1.8.9",
67
- "@unhead/vue": "^1.8.9",
67
+ "@unhead/addons": "^1.8.10",
68
+ "@unhead/schema-org": "^1.8.10",
69
+ "@unhead/vue": "^1.8.10",
68
70
  "@vitejs/plugin-vue": "^5.0.3",
69
- "@vue/devtools-api": "^7.0.10",
71
+ "@vue/devtools-api": "^7.0.11",
70
72
  "@vueuse/core": "^10.7.2",
71
73
  "@vueuse/integrations": "^10.7.2",
72
74
  "body-scroll-lock": "4.0.0-beta.0",
@@ -101,9 +103,10 @@
101
103
  "open": "10.0.3",
102
104
  "ora": "^8.0.1",
103
105
  "pascalcase": "^2.0.0",
106
+ "pathe": "^1.1.2",
104
107
  "pinia": "^2.1.7",
105
108
  "qrcode": "^1.5.3",
106
- "sass": "^1.69.7",
109
+ "sass": "^1.70.0",
107
110
  "shiki": "^0.14.7",
108
111
  "star-markdown-css": "^0.4.2",
109
112
  "unconfig": "^0.3.11",
@@ -111,12 +114,12 @@
111
114
  "unplugin-vue-components": "^0.26.0",
112
115
  "unplugin-vue-router": "^0.7.0",
113
116
  "vanilla-lazyload": "^17.8.5",
114
- "vite": "^5.0.11",
115
- "vite-plugin-vue-devtools": "^7.0.10",
117
+ "vite": "^5.0.12",
118
+ "vite-plugin-vue-devtools": "^7.0.11",
116
119
  "vite-plugin-vue-layouts": "0.11.0",
117
120
  "vite-ssg": "0.23.6",
118
121
  "vite-ssg-sitemap": "0.6.1",
119
- "vue": "^3.4.13",
122
+ "vue": "^3.4.15",
120
123
  "vue-i18n": "^9.9.0",
121
124
  "vue-router": "^4.2.5",
122
125
  "yargs": "^17.7.2"
@@ -145,7 +148,7 @@
145
148
  },
146
149
  "scripts": {
147
150
  "build": "rimraf dist && tsup --splitting",
148
- "dev": "tsup --splitting --watch",
151
+ "dev": "tsup --watch",
149
152
  "preview": "vite preview",
150
153
  "preview-https": "serve dist"
151
154
  }