@slidev/parser 0.48.0-beta.8 → 0.48.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/{chunk-TPG7RJUH.mjs → chunk-OWSVF5RT.mjs} +16 -27
- package/dist/core.d.mts +1 -2
- package/dist/core.mjs +1 -3
- package/dist/fs.d.mts +2 -2
- package/dist/fs.mjs +3 -5
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -3
- package/package.json +2 -2
|
@@ -30,14 +30,16 @@ var toString = (v) => Object.prototype.toString.call(v);
|
|
|
30
30
|
function notNullish(v) {
|
|
31
31
|
return v != null;
|
|
32
32
|
}
|
|
33
|
-
function isTruthy(v) {
|
|
34
|
-
return Boolean(v);
|
|
35
|
-
}
|
|
36
33
|
var isNumber = (val) => typeof val === "number";
|
|
37
34
|
var isObject = (val) => toString(val) === "[object Object]";
|
|
38
35
|
function slash(str) {
|
|
39
36
|
return str.replace(/\\/g, "/");
|
|
40
37
|
}
|
|
38
|
+
function ensurePrefix(prefix, str) {
|
|
39
|
+
if (!str.startsWith(prefix))
|
|
40
|
+
return prefix + str;
|
|
41
|
+
return str;
|
|
42
|
+
}
|
|
41
43
|
function objectMap(obj, fn) {
|
|
42
44
|
return Object.fromEntries(
|
|
43
45
|
Object.entries(obj).map(([k, v]) => fn(k, v)).filter(notNullish)
|
|
@@ -85,7 +87,9 @@ function getDefaultConfig() {
|
|
|
85
87
|
titleTemplate: "%s - Slidev",
|
|
86
88
|
addons: [],
|
|
87
89
|
remoteAssets: false,
|
|
88
|
-
monaco:
|
|
90
|
+
monaco: true,
|
|
91
|
+
monacoTypesSource: "local",
|
|
92
|
+
monacoTypesAdditionalPackages: [],
|
|
89
93
|
download: false,
|
|
90
94
|
export: {},
|
|
91
95
|
info: false,
|
|
@@ -251,18 +255,18 @@ function stringify(data) {
|
|
|
251
255
|
}
|
|
252
256
|
function stringifySlide(data, idx = 0) {
|
|
253
257
|
return data.raw.startsWith("---") || idx === 0 ? data.raw : `---
|
|
254
|
-
${
|
|
255
|
-
${data.raw}`}`;
|
|
258
|
+
${ensurePrefix("\n", data.raw)}`;
|
|
256
259
|
}
|
|
257
260
|
function prettifySlide(data) {
|
|
258
|
-
data.content
|
|
261
|
+
const trimed = data.content.trim();
|
|
262
|
+
data.content = trimed ? `
|
|
259
263
|
${data.content.trim()}
|
|
260
|
-
|
|
261
|
-
data.raw =
|
|
262
|
-
${
|
|
264
|
+
` : "";
|
|
265
|
+
data.raw = data.frontmatterRaw ? data.frontmatterStyle === "yaml" ? `\`\`\`yaml
|
|
266
|
+
${data.frontmatterRaw.trim()}
|
|
263
267
|
\`\`\`
|
|
264
268
|
${data.content}` : `---
|
|
265
|
-
${
|
|
269
|
+
${data.frontmatterRaw.trim()}
|
|
266
270
|
---
|
|
267
271
|
${data.content}` : data.content;
|
|
268
272
|
if (data.note)
|
|
@@ -271,8 +275,6 @@ ${data.content}` : data.content;
|
|
|
271
275
|
${data.note.trim()}
|
|
272
276
|
-->
|
|
273
277
|
`;
|
|
274
|
-
else
|
|
275
|
-
data.raw += "\n";
|
|
276
278
|
return data;
|
|
277
279
|
}
|
|
278
280
|
function prettify(data) {
|
|
@@ -414,18 +416,6 @@ async function parse(markdown, filepath, extensions) {
|
|
|
414
416
|
function mergeFeatureFlags(a, b) {
|
|
415
417
|
return objectMap(a, (k, v) => [k, v || b[k]]);
|
|
416
418
|
}
|
|
417
|
-
function scanMonacoModules(md) {
|
|
418
|
-
const typeModules = /* @__PURE__ */ new Set();
|
|
419
|
-
md.replace(/^```(\w+?)\s*{monaco([\w:,-]*)}[\s\n]*([\s\S]+?)^```/mg, (full, lang = "ts", options, code) => {
|
|
420
|
-
options = options || "";
|
|
421
|
-
lang = lang.trim();
|
|
422
|
-
if (lang === "ts" || lang === "typescript") {
|
|
423
|
-
Array.from(code.matchAll(/\s+from\s+(["'])([\/\w@-]+)\1/g)).map((i) => i[2]).filter(isTruthy).map((i) => typeModules.add(i));
|
|
424
|
-
}
|
|
425
|
-
return "";
|
|
426
|
-
});
|
|
427
|
-
return Array.from(typeModules);
|
|
428
|
-
}
|
|
429
419
|
|
|
430
420
|
export {
|
|
431
421
|
slash,
|
|
@@ -442,6 +432,5 @@ export {
|
|
|
442
432
|
detectFeatures,
|
|
443
433
|
parseSlide,
|
|
444
434
|
parse,
|
|
445
|
-
mergeFeatureFlags
|
|
446
|
-
scanMonacoModules
|
|
435
|
+
mergeFeatureFlags
|
|
447
436
|
};
|
package/dist/core.d.mts
CHANGED
|
@@ -22,6 +22,5 @@ declare function detectFeatures(code: string): SlidevFeatureFlags;
|
|
|
22
22
|
declare function parseSlide(raw: string): Omit<SourceSlideInfo, 'filepath' | 'index' | 'start' | 'end'>;
|
|
23
23
|
declare function parse(markdown: string, filepath: string, extensions?: SlidevPreparserExtension[]): Promise<SlidevMarkdown>;
|
|
24
24
|
declare function mergeFeatureFlags(a: SlidevFeatureFlags, b: SlidevFeatureFlags): SlidevFeatureFlags;
|
|
25
|
-
declare function scanMonacoModules(md: string): string[];
|
|
26
25
|
|
|
27
|
-
export { detectFeatures, getDefaultConfig, mergeFeatureFlags, parse, parseAspectRatio, parseRangeString, parseSlide, prettify, prettifySlide, resolveConfig, resolveFonts,
|
|
26
|
+
export { detectFeatures, getDefaultConfig, mergeFeatureFlags, parse, parseAspectRatio, parseRangeString, parseSlide, prettify, prettifySlide, resolveConfig, resolveFonts, stringify, stringifySlide, verifyConfig };
|
package/dist/core.mjs
CHANGED
|
@@ -10,11 +10,10 @@ import {
|
|
|
10
10
|
prettifySlide,
|
|
11
11
|
resolveConfig,
|
|
12
12
|
resolveFonts,
|
|
13
|
-
scanMonacoModules,
|
|
14
13
|
stringify,
|
|
15
14
|
stringifySlide,
|
|
16
15
|
verifyConfig
|
|
17
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-OWSVF5RT.mjs";
|
|
18
17
|
export {
|
|
19
18
|
detectFeatures,
|
|
20
19
|
getDefaultConfig,
|
|
@@ -27,7 +26,6 @@ export {
|
|
|
27
26
|
prettifySlide,
|
|
28
27
|
resolveConfig,
|
|
29
28
|
resolveFonts,
|
|
30
|
-
scanMonacoModules,
|
|
31
29
|
stringify,
|
|
32
30
|
stringifySlide,
|
|
33
31
|
verifyConfig
|
package/dist/fs.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PreparserExtensionLoader, SlidevData, SlidevMarkdown } from '@slidev/types';
|
|
2
|
-
export { detectFeatures, getDefaultConfig, mergeFeatureFlags, parse, parseAspectRatio, parseRangeString, parseSlide, prettify, prettifySlide, resolveConfig, resolveFonts,
|
|
2
|
+
export { detectFeatures, getDefaultConfig, mergeFeatureFlags, parse, parseAspectRatio, parseRangeString, parseSlide, prettify, prettifySlide, resolveConfig, resolveFonts, stringify, stringifySlide, verifyConfig } from './core.mjs';
|
|
3
3
|
|
|
4
4
|
declare function injectPreparserExtensionLoader(fn: PreparserExtensionLoader): void;
|
|
5
5
|
/**
|
|
@@ -7,7 +7,7 @@ declare function injectPreparserExtensionLoader(fn: PreparserExtensionLoader): v
|
|
|
7
7
|
* because config and themeMeta depends on the theme to be loaded.
|
|
8
8
|
*/
|
|
9
9
|
type LoadedSlidevData = Omit<SlidevData, 'config' | 'themeMeta'>;
|
|
10
|
-
declare function load(userRoot: string, filepath: string, content?: string): Promise<LoadedSlidevData>;
|
|
10
|
+
declare function load(userRoot: string, filepath: string, content?: string, mode?: string): Promise<LoadedSlidevData>;
|
|
11
11
|
declare function save(markdown: SlidevMarkdown): Promise<void>;
|
|
12
12
|
|
|
13
13
|
export { type LoadedSlidevData, injectPreparserExtensionLoader, load, save };
|
package/dist/fs.mjs
CHANGED
|
@@ -10,12 +10,11 @@ import {
|
|
|
10
10
|
prettifySlide,
|
|
11
11
|
resolveConfig,
|
|
12
12
|
resolveFonts,
|
|
13
|
-
scanMonacoModules,
|
|
14
13
|
slash,
|
|
15
14
|
stringify,
|
|
16
15
|
stringifySlide,
|
|
17
16
|
verifyConfig
|
|
18
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-OWSVF5RT.mjs";
|
|
19
18
|
|
|
20
19
|
// src/fs.ts
|
|
21
20
|
import { promises as fs } from "node:fs";
|
|
@@ -25,7 +24,7 @@ var preparserExtensionLoader = null;
|
|
|
25
24
|
function injectPreparserExtensionLoader(fn) {
|
|
26
25
|
preparserExtensionLoader = fn;
|
|
27
26
|
}
|
|
28
|
-
async function load(userRoot, filepath, content) {
|
|
27
|
+
async function load(userRoot, filepath, content, mode) {
|
|
29
28
|
const markdown = content ?? await fs.readFile(filepath, "utf-8");
|
|
30
29
|
let extensions;
|
|
31
30
|
if (preparserExtensionLoader) {
|
|
@@ -38,7 +37,7 @@ async function load(userRoot, filepath, content) {
|
|
|
38
37
|
hm = lines.slice(1, hEnd).join("\n");
|
|
39
38
|
}
|
|
40
39
|
const o = YAML.load(hm) ?? {};
|
|
41
|
-
extensions = await preparserExtensionLoader(o, filepath);
|
|
40
|
+
extensions = await preparserExtensionLoader(o, filepath, mode);
|
|
42
41
|
}
|
|
43
42
|
const markdownFiles = {};
|
|
44
43
|
const slides = [];
|
|
@@ -109,7 +108,6 @@ export {
|
|
|
109
108
|
resolveConfig,
|
|
110
109
|
resolveFonts,
|
|
111
110
|
save,
|
|
112
|
-
scanMonacoModules,
|
|
113
111
|
stringify,
|
|
114
112
|
stringifySlide,
|
|
115
113
|
verifyConfig
|
package/dist/index.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { detectFeatures, getDefaultConfig, mergeFeatureFlags, parse, parseAspectRatio, parseRangeString, parseSlide, prettify, prettifySlide, resolveConfig, resolveFonts,
|
|
1
|
+
export { detectFeatures, getDefaultConfig, mergeFeatureFlags, parse, parseAspectRatio, parseRangeString, parseSlide, prettify, prettifySlide, resolveConfig, resolveFonts, stringify, stringifySlide, verifyConfig } from './core.mjs';
|
|
2
2
|
import '@slidev/types';
|
package/dist/index.mjs
CHANGED
|
@@ -10,11 +10,10 @@ import {
|
|
|
10
10
|
prettifySlide,
|
|
11
11
|
resolveConfig,
|
|
12
12
|
resolveFonts,
|
|
13
|
-
scanMonacoModules,
|
|
14
13
|
stringify,
|
|
15
14
|
stringifySlide,
|
|
16
15
|
verifyConfig
|
|
17
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-OWSVF5RT.mjs";
|
|
18
17
|
export {
|
|
19
18
|
detectFeatures,
|
|
20
19
|
getDefaultConfig,
|
|
@@ -27,7 +26,6 @@ export {
|
|
|
27
26
|
prettifySlide,
|
|
28
27
|
resolveConfig,
|
|
29
28
|
resolveFonts,
|
|
30
|
-
scanMonacoModules,
|
|
31
29
|
stringify,
|
|
32
30
|
stringifySlide,
|
|
33
31
|
verifyConfig
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@slidev/parser",
|
|
3
|
-
"version": "0.48.0
|
|
3
|
+
"version": "0.48.0",
|
|
4
4
|
"description": "Markdown parser for Slidev",
|
|
5
5
|
"author": "antfu <anthonyfu117@hotmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"js-yaml": "^4.1.0",
|
|
43
|
-
"@slidev/types": "0.48.0
|
|
43
|
+
"@slidev/types": "0.48.0"
|
|
44
44
|
},
|
|
45
45
|
"scripts": {
|
|
46
46
|
"build": "rimraf dist && tsup src/index.ts src/core.ts src/fs.ts",
|