vitepress 1.3.4 → 1.4.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.
package/dist/node/cli.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as getDefaultExportFromCjs, q as c, t as clearCache, n as init, b as build, o as serve, v as version, p as createServer } from './serve-CFRRJDfQ.js';
1
+ import { q as getDefaultExportFromCjs, t as c, u as clearCache, l as init, b as build, n as serve, v as version, o as createServer } from './serve-Bvg4Nr_L.js';
2
2
  import { createLogger } from 'vite';
3
3
  import 'path';
4
4
  import 'shiki';
@@ -17,8 +17,6 @@ import 'node:stream';
17
17
  import 'node:string_decoder';
18
18
  import 'util';
19
19
  import 'os';
20
- import 'assert';
21
- import 'events';
22
20
  import 'stream';
23
21
  import 'readline';
24
22
  import 'child_process';
@@ -27,276 +25,289 @@ import 'zlib';
27
25
  import '@vue/shared';
28
26
  import 'node:readline';
29
27
  import 'node:tty';
30
- import 'http';
31
- import 'querystring';
28
+ import 'node:zlib';
29
+ import 'node:http';
30
+ import 'node:timers';
31
+ import 'node:querystring';
32
32
  import 'tty';
33
33
  import 'constants';
34
+ import 'assert';
34
35
  import 'node:crypto';
35
36
  import 'minisearch';
36
37
 
37
- function hasKey(obj, keys) {
38
- var o = obj;
39
- keys.slice(0, -1).forEach(function (key) {
40
- o = o[key] || {};
41
- });
42
-
43
- var key = keys[keys.length - 1];
44
- return key in o;
45
- }
38
+ var minimist$1;
39
+ var hasRequiredMinimist;
46
40
 
47
- function isNumber(x) {
48
- if (typeof x === 'number') { return true; }
49
- if ((/^0x[0-9a-f]+$/i).test(x)) { return true; }
50
- return (/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/).test(x);
51
- }
41
+ function requireMinimist () {
42
+ if (hasRequiredMinimist) return minimist$1;
43
+ hasRequiredMinimist = 1;
52
44
 
53
- function isConstructorOrProto(obj, key) {
54
- return (key === 'constructor' && typeof obj[key] === 'function') || key === '__proto__';
55
- }
56
-
57
- var minimist = function (args, opts) {
58
- if (!opts) { opts = {}; }
59
-
60
- var flags = {
61
- bools: {},
62
- strings: {},
63
- unknownFn: null,
64
- };
45
+ function hasKey(obj, keys) {
46
+ var o = obj;
47
+ keys.slice(0, -1).forEach(function (key) {
48
+ o = o[key] || {};
49
+ });
65
50
 
66
- if (typeof opts.unknown === 'function') {
67
- flags.unknownFn = opts.unknown;
51
+ var key = keys[keys.length - 1];
52
+ return key in o;
68
53
  }
69
54
 
70
- if (typeof opts.boolean === 'boolean' && opts.boolean) {
71
- flags.allBools = true;
72
- } else {
73
- [].concat(opts.boolean).filter(Boolean).forEach(function (key) {
74
- flags.bools[key] = true;
75
- });
55
+ function isNumber(x) {
56
+ if (typeof x === 'number') { return true; }
57
+ if ((/^0x[0-9a-f]+$/i).test(x)) { return true; }
58
+ return (/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/).test(x);
76
59
  }
77
60
 
78
- var aliases = {};
79
-
80
- function aliasIsBoolean(key) {
81
- return aliases[key].some(function (x) {
82
- return flags.bools[x];
83
- });
61
+ function isConstructorOrProto(obj, key) {
62
+ return (key === 'constructor' && typeof obj[key] === 'function') || key === '__proto__';
84
63
  }
85
64
 
86
- Object.keys(opts.alias || {}).forEach(function (key) {
87
- aliases[key] = [].concat(opts.alias[key]);
88
- aliases[key].forEach(function (x) {
89
- aliases[x] = [key].concat(aliases[key].filter(function (y) {
90
- return x !== y;
91
- }));
92
- });
93
- });
94
-
95
- [].concat(opts.string).filter(Boolean).forEach(function (key) {
96
- flags.strings[key] = true;
97
- if (aliases[key]) {
98
- [].concat(aliases[key]).forEach(function (k) {
99
- flags.strings[k] = true;
100
- });
101
- }
102
- });
103
-
104
- var defaults = opts.default || {};
65
+ minimist$1 = function (args, opts) {
66
+ if (!opts) { opts = {}; }
105
67
 
106
- var argv = { _: [] };
107
-
108
- function argDefined(key, arg) {
109
- return (flags.allBools && (/^--[^=]+$/).test(arg))
110
- || flags.strings[key]
111
- || flags.bools[key]
112
- || aliases[key];
113
- }
68
+ var flags = {
69
+ bools: {},
70
+ strings: {},
71
+ unknownFn: null,
72
+ };
114
73
 
115
- function setKey(obj, keys, value) {
116
- var o = obj;
117
- for (var i = 0; i < keys.length - 1; i++) {
118
- var key = keys[i];
119
- if (isConstructorOrProto(o, key)) { return; }
120
- if (o[key] === undefined) { o[key] = {}; }
121
- if (
122
- o[key] === Object.prototype
123
- || o[key] === Number.prototype
124
- || o[key] === String.prototype
125
- ) {
126
- o[key] = {};
127
- }
128
- if (o[key] === Array.prototype) { o[key] = []; }
129
- o = o[key];
74
+ if (typeof opts.unknown === 'function') {
75
+ flags.unknownFn = opts.unknown;
130
76
  }
131
77
 
132
- var lastKey = keys[keys.length - 1];
133
- if (isConstructorOrProto(o, lastKey)) { return; }
134
- if (
135
- o === Object.prototype
136
- || o === Number.prototype
137
- || o === String.prototype
138
- ) {
139
- o = {};
140
- }
141
- if (o === Array.prototype) { o = []; }
142
- if (o[lastKey] === undefined || flags.bools[lastKey] || typeof o[lastKey] === 'boolean') {
143
- o[lastKey] = value;
144
- } else if (Array.isArray(o[lastKey])) {
145
- o[lastKey].push(value);
78
+ if (typeof opts.boolean === 'boolean' && opts.boolean) {
79
+ flags.allBools = true;
146
80
  } else {
147
- o[lastKey] = [o[lastKey], value];
81
+ [].concat(opts.boolean).filter(Boolean).forEach(function (key) {
82
+ flags.bools[key] = true;
83
+ });
148
84
  }
149
- }
150
85
 
151
- function setArg(key, val, arg) {
152
- if (arg && flags.unknownFn && !argDefined(key, arg)) {
153
- if (flags.unknownFn(arg) === false) { return; }
86
+ var aliases = {};
87
+
88
+ function aliasIsBoolean(key) {
89
+ return aliases[key].some(function (x) {
90
+ return flags.bools[x];
91
+ });
154
92
  }
155
93
 
156
- var value = !flags.strings[key] && isNumber(val)
157
- ? Number(val)
158
- : val;
159
- setKey(argv, key.split('.'), value);
94
+ Object.keys(opts.alias || {}).forEach(function (key) {
95
+ aliases[key] = [].concat(opts.alias[key]);
96
+ aliases[key].forEach(function (x) {
97
+ aliases[x] = [key].concat(aliases[key].filter(function (y) {
98
+ return x !== y;
99
+ }));
100
+ });
101
+ });
160
102
 
161
- (aliases[key] || []).forEach(function (x) {
162
- setKey(argv, x.split('.'), value);
103
+ [].concat(opts.string).filter(Boolean).forEach(function (key) {
104
+ flags.strings[key] = true;
105
+ if (aliases[key]) {
106
+ [].concat(aliases[key]).forEach(function (k) {
107
+ flags.strings[k] = true;
108
+ });
109
+ }
163
110
  });
164
- }
165
111
 
166
- Object.keys(flags.bools).forEach(function (key) {
167
- setArg(key, defaults[key] === undefined ? false : defaults[key]);
168
- });
112
+ var defaults = opts.default || {};
169
113
 
170
- var notFlags = [];
114
+ var argv = { _: [] };
171
115
 
172
- if (args.indexOf('--') !== -1) {
173
- notFlags = args.slice(args.indexOf('--') + 1);
174
- args = args.slice(0, args.indexOf('--'));
175
- }
116
+ function argDefined(key, arg) {
117
+ return (flags.allBools && (/^--[^=]+$/).test(arg))
118
+ || flags.strings[key]
119
+ || flags.bools[key]
120
+ || aliases[key];
121
+ }
176
122
 
177
- for (var i = 0; i < args.length; i++) {
178
- var arg = args[i];
179
- var key;
180
- var next;
181
-
182
- if ((/^--.+=/).test(arg)) {
183
- // Using [\s\S] instead of . because js doesn't support the
184
- // 'dotall' regex modifier. See:
185
- // http://stackoverflow.com/a/1068308/13216
186
- var m = arg.match(/^--([^=]+)=([\s\S]*)$/);
187
- key = m[1];
188
- var value = m[2];
189
- if (flags.bools[key]) {
190
- value = value !== 'false';
123
+ function setKey(obj, keys, value) {
124
+ var o = obj;
125
+ for (var i = 0; i < keys.length - 1; i++) {
126
+ var key = keys[i];
127
+ if (isConstructorOrProto(o, key)) { return; }
128
+ if (o[key] === undefined) { o[key] = {}; }
129
+ if (
130
+ o[key] === Object.prototype
131
+ || o[key] === Number.prototype
132
+ || o[key] === String.prototype
133
+ ) {
134
+ o[key] = {};
135
+ }
136
+ if (o[key] === Array.prototype) { o[key] = []; }
137
+ o = o[key];
191
138
  }
192
- setArg(key, value, arg);
193
- } else if ((/^--no-.+/).test(arg)) {
194
- key = arg.match(/^--no-(.+)/)[1];
195
- setArg(key, false, arg);
196
- } else if ((/^--.+/).test(arg)) {
197
- key = arg.match(/^--(.+)/)[1];
198
- next = args[i + 1];
139
+
140
+ var lastKey = keys[keys.length - 1];
141
+ if (isConstructorOrProto(o, lastKey)) { return; }
199
142
  if (
200
- next !== undefined
201
- && !(/^(-|--)[^-]/).test(next)
202
- && !flags.bools[key]
203
- && !flags.allBools
204
- && (aliases[key] ? !aliasIsBoolean(key) : true)
143
+ o === Object.prototype
144
+ || o === Number.prototype
145
+ || o === String.prototype
205
146
  ) {
206
- setArg(key, next, arg);
207
- i += 1;
208
- } else if ((/^(true|false)$/).test(next)) {
209
- setArg(key, next === 'true', arg);
210
- i += 1;
147
+ o = {};
148
+ }
149
+ if (o === Array.prototype) { o = []; }
150
+ if (o[lastKey] === undefined || flags.bools[lastKey] || typeof o[lastKey] === 'boolean') {
151
+ o[lastKey] = value;
152
+ } else if (Array.isArray(o[lastKey])) {
153
+ o[lastKey].push(value);
211
154
  } else {
212
- setArg(key, flags.strings[key] ? '' : true, arg);
155
+ o[lastKey] = [o[lastKey], value];
213
156
  }
214
- } else if ((/^-[^-]+/).test(arg)) {
215
- var letters = arg.slice(1, -1).split('');
157
+ }
216
158
 
217
- var broken = false;
218
- for (var j = 0; j < letters.length; j++) {
219
- next = arg.slice(j + 2);
159
+ function setArg(key, val, arg) {
160
+ if (arg && flags.unknownFn && !argDefined(key, arg)) {
161
+ if (flags.unknownFn(arg) === false) { return; }
162
+ }
220
163
 
221
- if (next === '-') {
222
- setArg(letters[j], next, arg);
223
- continue;
224
- }
164
+ var value = !flags.strings[key] && isNumber(val)
165
+ ? Number(val)
166
+ : val;
167
+ setKey(argv, key.split('.'), value);
225
168
 
226
- if ((/[A-Za-z]/).test(letters[j]) && next[0] === '=') {
227
- setArg(letters[j], next.slice(1), arg);
228
- broken = true;
229
- break;
230
- }
169
+ (aliases[key] || []).forEach(function (x) {
170
+ setKey(argv, x.split('.'), value);
171
+ });
172
+ }
231
173
 
232
- if (
233
- (/[A-Za-z]/).test(letters[j])
234
- && (/-?\d+(\.\d*)?(e-?\d+)?$/).test(next)
235
- ) {
236
- setArg(letters[j], next, arg);
237
- broken = true;
238
- break;
239
- }
174
+ Object.keys(flags.bools).forEach(function (key) {
175
+ setArg(key, defaults[key] === undefined ? false : defaults[key]);
176
+ });
240
177
 
241
- if (letters[j + 1] && letters[j + 1].match(/\W/)) {
242
- setArg(letters[j], arg.slice(j + 2), arg);
243
- broken = true;
244
- break;
245
- } else {
246
- setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg);
247
- }
248
- }
178
+ var notFlags = [];
179
+
180
+ if (args.indexOf('--') !== -1) {
181
+ notFlags = args.slice(args.indexOf('--') + 1);
182
+ args = args.slice(0, args.indexOf('--'));
183
+ }
249
184
 
250
- key = arg.slice(-1)[0];
251
- if (!broken && key !== '-') {
185
+ for (var i = 0; i < args.length; i++) {
186
+ var arg = args[i];
187
+ var key;
188
+ var next;
189
+
190
+ if ((/^--.+=/).test(arg)) {
191
+ // Using [\s\S] instead of . because js doesn't support the
192
+ // 'dotall' regex modifier. See:
193
+ // http://stackoverflow.com/a/1068308/13216
194
+ var m = arg.match(/^--([^=]+)=([\s\S]*)$/);
195
+ key = m[1];
196
+ var value = m[2];
197
+ if (flags.bools[key]) {
198
+ value = value !== 'false';
199
+ }
200
+ setArg(key, value, arg);
201
+ } else if ((/^--no-.+/).test(arg)) {
202
+ key = arg.match(/^--no-(.+)/)[1];
203
+ setArg(key, false, arg);
204
+ } else if ((/^--.+/).test(arg)) {
205
+ key = arg.match(/^--(.+)/)[1];
206
+ next = args[i + 1];
252
207
  if (
253
- args[i + 1]
254
- && !(/^(-|--)[^-]/).test(args[i + 1])
208
+ next !== undefined
209
+ && !(/^(-|--)[^-]/).test(next)
255
210
  && !flags.bools[key]
211
+ && !flags.allBools
256
212
  && (aliases[key] ? !aliasIsBoolean(key) : true)
257
213
  ) {
258
- setArg(key, args[i + 1], arg);
214
+ setArg(key, next, arg);
259
215
  i += 1;
260
- } else if (args[i + 1] && (/^(true|false)$/).test(args[i + 1])) {
261
- setArg(key, args[i + 1] === 'true', arg);
216
+ } else if ((/^(true|false)$/).test(next)) {
217
+ setArg(key, next === 'true', arg);
262
218
  i += 1;
263
219
  } else {
264
220
  setArg(key, flags.strings[key] ? '' : true, arg);
265
221
  }
266
- }
267
- } else {
268
- if (!flags.unknownFn || flags.unknownFn(arg) !== false) {
269
- argv._.push(flags.strings._ || !isNumber(arg) ? arg : Number(arg));
270
- }
271
- if (opts.stopEarly) {
272
- argv._.push.apply(argv._, args.slice(i + 1));
273
- break;
222
+ } else if ((/^-[^-]+/).test(arg)) {
223
+ var letters = arg.slice(1, -1).split('');
224
+
225
+ var broken = false;
226
+ for (var j = 0; j < letters.length; j++) {
227
+ next = arg.slice(j + 2);
228
+
229
+ if (next === '-') {
230
+ setArg(letters[j], next, arg);
231
+ continue;
232
+ }
233
+
234
+ if ((/[A-Za-z]/).test(letters[j]) && next[0] === '=') {
235
+ setArg(letters[j], next.slice(1), arg);
236
+ broken = true;
237
+ break;
238
+ }
239
+
240
+ if (
241
+ (/[A-Za-z]/).test(letters[j])
242
+ && (/-?\d+(\.\d*)?(e-?\d+)?$/).test(next)
243
+ ) {
244
+ setArg(letters[j], next, arg);
245
+ broken = true;
246
+ break;
247
+ }
248
+
249
+ if (letters[j + 1] && letters[j + 1].match(/\W/)) {
250
+ setArg(letters[j], arg.slice(j + 2), arg);
251
+ broken = true;
252
+ break;
253
+ } else {
254
+ setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg);
255
+ }
256
+ }
257
+
258
+ key = arg.slice(-1)[0];
259
+ if (!broken && key !== '-') {
260
+ if (
261
+ args[i + 1]
262
+ && !(/^(-|--)[^-]/).test(args[i + 1])
263
+ && !flags.bools[key]
264
+ && (aliases[key] ? !aliasIsBoolean(key) : true)
265
+ ) {
266
+ setArg(key, args[i + 1], arg);
267
+ i += 1;
268
+ } else if (args[i + 1] && (/^(true|false)$/).test(args[i + 1])) {
269
+ setArg(key, args[i + 1] === 'true', arg);
270
+ i += 1;
271
+ } else {
272
+ setArg(key, flags.strings[key] ? '' : true, arg);
273
+ }
274
+ }
275
+ } else {
276
+ if (!flags.unknownFn || flags.unknownFn(arg) !== false) {
277
+ argv._.push(flags.strings._ || !isNumber(arg) ? arg : Number(arg));
278
+ }
279
+ if (opts.stopEarly) {
280
+ argv._.push.apply(argv._, args.slice(i + 1));
281
+ break;
282
+ }
274
283
  }
275
284
  }
276
- }
277
285
 
278
- Object.keys(defaults).forEach(function (k) {
279
- if (!hasKey(argv, k.split('.'))) {
280
- setKey(argv, k.split('.'), defaults[k]);
286
+ Object.keys(defaults).forEach(function (k) {
287
+ if (!hasKey(argv, k.split('.'))) {
288
+ setKey(argv, k.split('.'), defaults[k]);
281
289
 
282
- (aliases[k] || []).forEach(function (x) {
283
- setKey(argv, x.split('.'), defaults[k]);
290
+ (aliases[k] || []).forEach(function (x) {
291
+ setKey(argv, x.split('.'), defaults[k]);
292
+ });
293
+ }
294
+ });
295
+
296
+ if (opts['--']) {
297
+ argv['--'] = notFlags.slice();
298
+ } else {
299
+ notFlags.forEach(function (k) {
300
+ argv._.push(k);
284
301
  });
285
302
  }
286
- });
287
-
288
- if (opts['--']) {
289
- argv['--'] = notFlags.slice();
290
- } else {
291
- notFlags.forEach(function (k) {
292
- argv._.push(k);
293
- });
294
- }
295
303
 
296
- return argv;
297
- };
304
+ return argv;
305
+ };
306
+ return minimist$1;
307
+ }
298
308
 
299
- var minimist$1 = /*@__PURE__*/getDefaultExportFromCjs(minimist);
309
+ var minimistExports = requireMinimist();
310
+ var minimist = /*@__PURE__*/getDefaultExportFromCjs(minimistExports);
300
311
 
301
312
  function bindShortcuts(server, createDevServer) {
302
313
  if (!server.httpServer || !process.stdin.isTTY || process.env.CI) {
@@ -382,7 +393,7 @@ const SHORTCUTS = [
382
393
  }
383
394
  ];
384
395
 
385
- const argv = minimist$1(process.argv.slice(2));
396
+ const argv = minimist(process.argv.slice(2));
386
397
  const logVersion = (logger = createLogger()) => {
387
398
  logger.info(`
388
399
  ${c.green(`${c.bold("vitepress")} v${version}`)}
@@ -7,8 +7,8 @@ export { DefaultTheme, HeadConfig, Header, SiteData } from '../../types/shared.j
7
7
  import { Options as Options$4 } from '@vitejs/plugin-vue';
8
8
  import { UseDarkOptions } from '@vueuse/core';
9
9
  import { TransformOptions } from 'stream';
10
- import { ThemeRegistrationAny, BuiltinTheme, LanguageInput, ShikiTransformer, Highlighter } from 'shiki';
11
- import glob from 'fast-glob';
10
+ import { BuiltinTheme, Highlighter } from 'shiki';
11
+ import { ThemeRegistrationAny, LanguageInput, ShikiTransformer } from '@shikijs/types';
12
12
  import { Root } from 'postcss';
13
13
  import { IncomingMessage, ServerResponse } from 'http';
14
14
  import { Server, ListenOptions } from 'net';
@@ -1955,8 +1955,10 @@ interface TocPluginOptions {
1955
1955
  }
1956
1956
 
1957
1957
  declare namespace anchor {
1958
- export type RenderHref = (slug: string, state: StateCore) => string;
1959
- export type RenderAttrs = (slug: string, state: StateCore) => Record<string, string | number>;
1958
+ export type Token = Token
1959
+ export type State = StateCore
1960
+ export type RenderHref = (slug: string, state: State) => string;
1961
+ export type RenderAttrs = (slug: string, state: State) => Record<string, string | number>;
1960
1962
 
1961
1963
  export interface PermalinkOptions {
1962
1964
  class?: string,
@@ -1989,7 +1991,7 @@ declare namespace anchor {
1989
1991
  placement?: 'before' | 'after'
1990
1992
  }
1991
1993
 
1992
- export type PermalinkGenerator = (slug: string, opts: PermalinkOptions, state: StateCore, index: number) => void;
1994
+ export type PermalinkGenerator = (slug: string, opts: PermalinkOptions, state: State, index: number) => void;
1993
1995
 
1994
1996
  export interface AnchorInfo {
1995
1997
  slug: string;
@@ -2000,6 +2002,7 @@ declare namespace anchor {
2000
2002
  level?: number | number[];
2001
2003
 
2002
2004
  slugify?(str: string): string;
2005
+ slugifyWithState?(str: string, state: State): string;
2003
2006
  getTokensText?(tokens: Token[]): string;
2004
2007
 
2005
2008
  uniqueSlugStartIndex?: number;
@@ -2387,6 +2390,20 @@ declare function resolveUserConfig(root: string, command: 'serve' | 'build', mod
2387
2390
  declare function mergeConfig(a: UserConfig, b: UserConfig, isRoot?: boolean): Record<string, any>;
2388
2391
  declare function resolveSiteData(root: string, userConfig?: UserConfig, command?: 'serve' | 'build', mode?: string): Promise<SiteData>;
2389
2392
 
2393
+ interface GlobOptions {
2394
+ absolute?: boolean;
2395
+ cwd?: string;
2396
+ patterns?: string | string[];
2397
+ ignore?: string | string[];
2398
+ dot?: boolean;
2399
+ deep?: number;
2400
+ followSymbolicLinks?: boolean;
2401
+ caseSensitiveMatch?: boolean;
2402
+ expandDirectories?: boolean;
2403
+ onlyDirectories?: boolean;
2404
+ onlyFiles?: boolean;
2405
+ }
2406
+
2390
2407
  interface ContentOptions<T = ContentData[]> {
2391
2408
  /**
2392
2409
  * Include src?
@@ -2424,11 +2441,11 @@ interface ContentOptions<T = ContentData[]> {
2424
2441
  */
2425
2442
  transform?: (data: ContentData[]) => T | Promise<T>;
2426
2443
  /**
2427
- * Options to pass to `fast-glob`.
2444
+ * Options to pass to `tinyglobby`.
2428
2445
  * You'll need to manually specify `node_modules` and `dist` in
2429
2446
  * `globOptions.ignore` if you've overridden it.
2430
2447
  */
2431
- globOptions?: glob.Options;
2448
+ globOptions?: GlobOptions;
2432
2449
  }
2433
2450
  interface ContentData {
2434
2451
  url: string;