@ant-design/x-markdown-mini 0.1.0-beta.0 → 0.1.0-beta.1
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/components/Markdown/index.acss +65 -7
- package/dist/components/MiniNodeRenderer/index.acss +19 -4
- package/dist/components/MiniNodeRenderer/index.axml +109 -29
- package/dist/components/MiniNodeRenderer/index.js +12 -0
- package/dist/components/MiniNodeRenderer/index.sjs +48 -0
- package/dist/es/Markdown/index.acss +65 -7
- package/dist/es/MiniNodeRenderer/index.acss +19 -4
- package/dist/es/MiniNodeRenderer/index.axml +109 -29
- package/dist/es/MiniNodeRenderer/index.js +12 -0
- package/dist/es/MiniNodeRenderer/index.sjs +48 -0
- package/dist/index.d.mts +39 -1
- package/dist/index.d.ts +39 -1
- package/dist/index.js +134 -56
- package/dist/index.mjs +134 -56
- package/dist/miniprogram_dist/components/Markdown/index.json +1 -1
- package/dist/miniprogram_dist/components/Markdown/index.wxss +65 -7
- package/dist/miniprogram_dist/components/MiniNodeRenderer/index.js +12 -0
- package/dist/miniprogram_dist/components/MiniNodeRenderer/index.json +1 -1
- package/dist/miniprogram_dist/components/MiniNodeRenderer/index.wxml +98 -21
- package/dist/miniprogram_dist/components/MiniNodeRenderer/index.wxs +41 -0
- package/dist/miniprogram_dist/components/MiniNodeRenderer/index.wxss +13 -2
- package/dist/miniprogram_dist/es/Markdown/index.json +1 -1
- package/dist/miniprogram_dist/es/Markdown/index.wxss +65 -7
- package/dist/miniprogram_dist/es/MiniNodeRenderer/index.js +12 -0
- package/dist/miniprogram_dist/es/MiniNodeRenderer/index.json +1 -1
- package/dist/miniprogram_dist/es/MiniNodeRenderer/index.wxml +98 -21
- package/dist/miniprogram_dist/es/MiniNodeRenderer/index.wxs +41 -0
- package/dist/miniprogram_dist/es/MiniNodeRenderer/index.wxss +13 -2
- package/dist/miniprogram_dist/index.js +134 -56
- package/dist/miniprogram_dist/plugins/CodeHighlight/index.js +13 -5
- package/dist/miniprogram_dist/plugins/CodeHighlight/style.wxss +41 -31
- package/dist/miniprogram_dist/plugins/Latex/index.js +44 -23
- package/dist/miniprogram_dist/plugins/Latex/style.wxss +11 -11
- package/dist/miniprogram_dist/shared/flattenInline.js +33 -5
- package/dist/plugins/CodeHighlight/index.d.mts +1 -1
- package/dist/plugins/CodeHighlight/index.d.ts +1 -1
- package/dist/plugins/CodeHighlight/index.js +13 -5
- package/dist/plugins/CodeHighlight/index.mjs +13 -5
- package/dist/plugins/CodeHighlight/style.acss +41 -31
- package/dist/plugins/Latex/index.d.mts +1 -1
- package/dist/plugins/Latex/index.d.ts +1 -1
- package/dist/plugins/Latex/index.js +44 -23
- package/dist/plugins/Latex/index.mjs +47 -23
- package/dist/plugins/Latex/style.acss +11 -6
- package/dist/shared/flattenInline.js +33 -5
- package/dist/{types-CegkonfJ.d.mts → types-BcxGtbQZ.d.mts} +25 -0
- package/dist/{types-CegkonfJ.d.ts → types-BcxGtbQZ.d.ts} +25 -0
- package/package.json +3 -2
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
|
|
1
21
|
// node_modules/katex/dist/katex.mjs
|
|
2
22
|
var ParseError = class _ParseError extends Error {
|
|
3
23
|
// The underlying error message without any context added.
|
|
@@ -14497,6 +14517,10 @@ var katex = {
|
|
|
14497
14517
|
};
|
|
14498
14518
|
|
|
14499
14519
|
// src/plugins/shared/htmlToMiniNodes.ts
|
|
14520
|
+
var CLOSE_TAG_RE = /<\/(\w+)\s*>/y;
|
|
14521
|
+
var OPEN_TAG_RE = /<(\w+)((?:\s+[^>]*?)?)(\/?)>/y;
|
|
14522
|
+
var KATEX_CLOSE_SPAN_RE = /<\/span\s*>/iy;
|
|
14523
|
+
var KATEX_OPEN_SPAN_RE = /<span[\s>]/iy;
|
|
14500
14524
|
function htmlToMiniNodes(html, escapeText) {
|
|
14501
14525
|
var _a;
|
|
14502
14526
|
const root = { name: "root", children: [] };
|
|
@@ -14534,7 +14558,8 @@ function htmlToMiniNodes(html, escapeText) {
|
|
|
14534
14558
|
}
|
|
14535
14559
|
while (i < html.length) {
|
|
14536
14560
|
if (html[i] === "<") {
|
|
14537
|
-
|
|
14561
|
+
CLOSE_TAG_RE.lastIndex = i;
|
|
14562
|
+
const closeMatch = CLOSE_TAG_RE.exec(html);
|
|
14538
14563
|
if (closeMatch) {
|
|
14539
14564
|
const closeTag = closeMatch[1].toLowerCase();
|
|
14540
14565
|
for (let j = stack.length - 1; j > 0; j--) {
|
|
@@ -14546,7 +14571,8 @@ function htmlToMiniNodes(html, escapeText) {
|
|
|
14546
14571
|
i += closeMatch[0].length;
|
|
14547
14572
|
continue;
|
|
14548
14573
|
}
|
|
14549
|
-
|
|
14574
|
+
OPEN_TAG_RE.lastIndex = i;
|
|
14575
|
+
const tagMatch = OPEN_TAG_RE.exec(html);
|
|
14550
14576
|
if (tagMatch) {
|
|
14551
14577
|
const rawTag = tagMatch[1].toLowerCase();
|
|
14552
14578
|
const attrStr = tagMatch[2];
|
|
@@ -14557,8 +14583,10 @@ function htmlToMiniNodes(html, escapeText) {
|
|
|
14557
14583
|
while (si < html.length && depth > 0) {
|
|
14558
14584
|
const next = html.indexOf("<", si);
|
|
14559
14585
|
if (next === -1) break;
|
|
14560
|
-
|
|
14561
|
-
const
|
|
14586
|
+
KATEX_CLOSE_SPAN_RE.lastIndex = next;
|
|
14587
|
+
const csm = KATEX_CLOSE_SPAN_RE.exec(html);
|
|
14588
|
+
KATEX_OPEN_SPAN_RE.lastIndex = next;
|
|
14589
|
+
const osm = KATEX_OPEN_SPAN_RE.exec(html);
|
|
14562
14590
|
if (csm) {
|
|
14563
14591
|
depth--;
|
|
14564
14592
|
si = next + csm[0].length;
|
|
@@ -14657,29 +14685,25 @@ function inlineStart(src) {
|
|
|
14657
14685
|
return void 0;
|
|
14658
14686
|
}
|
|
14659
14687
|
function renderKatex(tex, displayMode, options) {
|
|
14688
|
+
let html;
|
|
14660
14689
|
try {
|
|
14661
|
-
|
|
14690
|
+
html = katex.renderToString(tex, __spreadProps(__spreadValues({
|
|
14662
14691
|
displayMode,
|
|
14663
|
-
|
|
14664
|
-
|
|
14665
|
-
|
|
14666
|
-
|
|
14667
|
-
|
|
14668
|
-
|
|
14669
|
-
|
|
14670
|
-
|
|
14692
|
+
output: "html"
|
|
14693
|
+
}, options.katexOptions), {
|
|
14694
|
+
// The plugin owns error handling: force KaTeX to throw on invalid input
|
|
14695
|
+
// so we never emit its red `.katex-error` markup. This is intentionally
|
|
14696
|
+
// set after the spread so a caller's `throwOnError: false` cannot re-enable
|
|
14697
|
+
// the broken-formula output (common during streaming of partial formulas).
|
|
14698
|
+
throwOnError: true
|
|
14699
|
+
}));
|
|
14671
14700
|
} catch (err) {
|
|
14672
|
-
|
|
14673
|
-
return options.onError(tex, err);
|
|
14674
|
-
}
|
|
14675
|
-
return [
|
|
14676
|
-
{
|
|
14677
|
-
name: "span",
|
|
14678
|
-
attrs: { class: "katex-error" },
|
|
14679
|
-
children: [{ name: "text", attrs: { value: err.message } }]
|
|
14680
|
-
}
|
|
14681
|
-
];
|
|
14701
|
+
return options.onError ? options.onError(tex, err) : [];
|
|
14682
14702
|
}
|
|
14703
|
+
const nodes = htmlToMiniNodes(html, false);
|
|
14704
|
+
const wrapper = displayMode ? "div" : "span";
|
|
14705
|
+
const className = displayMode ? "katex-display" : "katex-inline";
|
|
14706
|
+
return [{ name: wrapper, attrs: { class: className }, children: nodes }];
|
|
14683
14707
|
}
|
|
14684
14708
|
function Latex(options = {}) {
|
|
14685
14709
|
return {
|
|
@@ -209,6 +209,7 @@
|
|
|
209
209
|
/* Note: '>' child combinators replaced with ' ' (descendant) for mini-program compat */
|
|
210
210
|
|
|
211
211
|
.katex {
|
|
212
|
+
display: inline-block;
|
|
212
213
|
font-family: KaTeX_Main, "PingFang SC", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
213
214
|
font-size: 1em;
|
|
214
215
|
font-weight: normal;
|
|
@@ -218,6 +219,10 @@
|
|
|
218
219
|
-webkit-font-smoothing: antialiased;
|
|
219
220
|
}
|
|
220
221
|
|
|
222
|
+
/* mini-program 无原生 <span>,KaTeX 节点渲染为 <view>/<text>;未带显式 display
|
|
223
|
+
的原子默认 inline-block,结构性 class 规则(.base/.vlist* 等)按特异性覆盖。 */
|
|
224
|
+
.katex view { display: inline-block; vertical-align: baseline; }
|
|
225
|
+
|
|
221
226
|
.katex * {
|
|
222
227
|
-ms-high-contrast-adjust: none !important;
|
|
223
228
|
border-color: currentColor;
|
|
@@ -281,13 +286,13 @@
|
|
|
281
286
|
position: relative;
|
|
282
287
|
}
|
|
283
288
|
|
|
284
|
-
.katex .vlist
|
|
289
|
+
.katex .vlist view {
|
|
285
290
|
display: block;
|
|
286
291
|
height: 0;
|
|
287
292
|
position: relative;
|
|
288
293
|
}
|
|
289
294
|
|
|
290
|
-
.katex .vlist
|
|
295
|
+
.katex .vlist view view { display: inline-block; }
|
|
291
296
|
|
|
292
297
|
.katex .vlist .pstrut {
|
|
293
298
|
overflow: hidden;
|
|
@@ -326,7 +331,7 @@
|
|
|
326
331
|
|
|
327
332
|
.katex .msupsub { text-align: left; }
|
|
328
333
|
|
|
329
|
-
.katex .mfrac
|
|
334
|
+
.katex .mfrac view view { text-align: center; }
|
|
330
335
|
|
|
331
336
|
.katex .mfrac .frac-line {
|
|
332
337
|
display: inline-block;
|
|
@@ -354,7 +359,7 @@
|
|
|
354
359
|
.katex .llap .fix, .katex .rlap .fix, .katex .clap .fix { display: inline-block; }
|
|
355
360
|
.katex .llap .inner { right: 0; }
|
|
356
361
|
.katex .rlap .inner, .katex .clap .inner { left: 0; }
|
|
357
|
-
.katex .clap .inner
|
|
362
|
+
.katex .clap .inner view { margin-left: -50%; margin-right: 50%; }
|
|
358
363
|
|
|
359
364
|
.katex .rule {
|
|
360
365
|
display: inline-block;
|
|
@@ -529,8 +534,8 @@
|
|
|
529
534
|
.katex .delimsizing.size3 { font-family: KaTeX_Size3; }
|
|
530
535
|
.katex .delimsizing.size4 { font-family: KaTeX_Size4; }
|
|
531
536
|
|
|
532
|
-
.katex .delimsizing.mult .delim-size1
|
|
533
|
-
.katex .delimsizing.mult .delim-size4
|
|
537
|
+
.katex .delimsizing.mult .delim-size1 view { font-family: KaTeX_Size1; }
|
|
538
|
+
.katex .delimsizing.mult .delim-size4 view { font-family: KaTeX_Size4; }
|
|
534
539
|
|
|
535
540
|
.katex .nulldelimiter { display: inline-block; width: 0.12em; }
|
|
536
541
|
.katex .delimcenter { position: relative; }
|
|
@@ -1,8 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
8
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
10
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11
|
+
var __spreadValues = (a, b) => {
|
|
12
|
+
for (var prop in b || (b = {}))
|
|
13
|
+
if (__hasOwnProp.call(b, prop))
|
|
14
|
+
__defNormalProp(a, prop, b[prop]);
|
|
15
|
+
if (__getOwnPropSymbols)
|
|
16
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
17
|
+
if (__propIsEnum.call(b, prop))
|
|
18
|
+
__defNormalProp(a, prop, b[prop]);
|
|
19
|
+
}
|
|
20
|
+
return a;
|
|
21
|
+
};
|
|
22
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
6
23
|
var __export = (target, all) => {
|
|
7
24
|
for (var name in all)
|
|
8
25
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -34,16 +51,23 @@ const INLINE_TAGS = {
|
|
|
34
51
|
const TAG_CLASS = {
|
|
35
52
|
strong: "md-strong",
|
|
36
53
|
em: "md-em",
|
|
37
|
-
del: "md-del"
|
|
38
|
-
code
|
|
54
|
+
del: "md-del"
|
|
55
|
+
// 'code' 不在此处加类:行内 codespan 由 transformer 直接打 md-inline-code,
|
|
56
|
+
// 而代码块内的 <code>(在 <pre> 中)不应带行内药丸底色。
|
|
39
57
|
// 'span' 不附加额外 class
|
|
40
58
|
};
|
|
59
|
+
function isKatex(node) {
|
|
60
|
+
var _a;
|
|
61
|
+
const cls = (_a = node.attrs) == null ? void 0 : _a.class;
|
|
62
|
+
return typeof cls === "string" && cls.indexOf("katex") > -1;
|
|
63
|
+
}
|
|
41
64
|
function walk(node) {
|
|
65
|
+
if (isKatex(node)) return node;
|
|
42
66
|
if (!node.children || node.children.length === 0) return node;
|
|
43
67
|
if (node.name === "a") {
|
|
44
|
-
return {
|
|
68
|
+
return __spreadProps(__spreadValues({}, node), { children: flattenChildren(node.children) });
|
|
45
69
|
}
|
|
46
|
-
return {
|
|
70
|
+
return __spreadProps(__spreadValues({}, node), { children: flattenChildren(node.children) });
|
|
47
71
|
}
|
|
48
72
|
function flattenChildren(children) {
|
|
49
73
|
const out = [];
|
|
@@ -65,8 +89,12 @@ function flattenOne(n, classChain, out) {
|
|
|
65
89
|
out.push({ name: "br", attrs: {} });
|
|
66
90
|
return;
|
|
67
91
|
}
|
|
92
|
+
if (isKatex(n)) {
|
|
93
|
+
out.push(n);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
68
96
|
if (n.name === "a") {
|
|
69
|
-
out.push({
|
|
97
|
+
out.push(__spreadProps(__spreadValues({}, n), { children: flattenChildren((_d = n.children) != null ? _d : []) }));
|
|
70
98
|
return;
|
|
71
99
|
}
|
|
72
100
|
if (n.name === "img") {
|
|
@@ -41,6 +41,22 @@ interface XMarkdownExtension {
|
|
|
41
41
|
/** Marked tokenizer overrides (forwarded to marked). */
|
|
42
42
|
tokenizer?: MarkedExtension['tokenizer'];
|
|
43
43
|
}
|
|
44
|
+
/** Context passed to a code-block header renderer. */
|
|
45
|
+
interface CodeHeaderContext {
|
|
46
|
+
/** Resolved language id ('' when the fence has no language). */
|
|
47
|
+
lang: string;
|
|
48
|
+
/** Raw code text — the clipboard payload. */
|
|
49
|
+
text: string;
|
|
50
|
+
token: Tokens.Code;
|
|
51
|
+
}
|
|
52
|
+
/** Context passed to a table header renderer. */
|
|
53
|
+
interface TableHeaderContext {
|
|
54
|
+
/** Raw markdown source of the table — the clipboard payload. */
|
|
55
|
+
markdown: string;
|
|
56
|
+
token: Tokens.Table;
|
|
57
|
+
}
|
|
58
|
+
type CodeHeaderRenderer = (ctx: CodeHeaderContext) => MiniNode | MiniNode[] | null;
|
|
59
|
+
type TableHeaderRenderer = (ctx: TableHeaderContext) => MiniNode | MiniNode[] | null;
|
|
44
60
|
/** 渲染上下文:transformer 共用的公共配置。 */
|
|
45
61
|
interface RenderContext {
|
|
46
62
|
/** 是否启用块级动画 */
|
|
@@ -57,6 +73,13 @@ interface RenderContext {
|
|
|
57
73
|
* Colocated tokenizer+renderer extensions registered on the instance.
|
|
58
74
|
*/
|
|
59
75
|
extensions?: readonly XMarkdownExtension[];
|
|
76
|
+
/**
|
|
77
|
+
* Code-block header config. `true`/undefined = default (language + copy
|
|
78
|
+
* button); `false` = no header; function = custom header nodes.
|
|
79
|
+
*/
|
|
80
|
+
codeHeader?: boolean | CodeHeaderRenderer;
|
|
81
|
+
/** Table header config. Same semantics as `codeHeader`. */
|
|
82
|
+
tableHeader?: boolean | TableHeaderRenderer;
|
|
60
83
|
/**
|
|
61
84
|
* Recursively render an inline token array to MiniNode[]. Provided by the
|
|
62
85
|
* platform transformer; used by custom extension miniRenderers that emit
|
|
@@ -76,6 +99,8 @@ interface MiniNode {
|
|
|
76
99
|
attrs?: Record<string, string | number | boolean>;
|
|
77
100
|
/** 子节点 */
|
|
78
101
|
children?: MiniNode[];
|
|
102
|
+
/** 代码块/表格顶部 header 栏(语言/标题 + 复制按钮)。 */
|
|
103
|
+
header?: MiniNode[];
|
|
79
104
|
/** 是否开启动画 */
|
|
80
105
|
animate?: boolean;
|
|
81
106
|
}
|
|
@@ -41,6 +41,22 @@ interface XMarkdownExtension {
|
|
|
41
41
|
/** Marked tokenizer overrides (forwarded to marked). */
|
|
42
42
|
tokenizer?: MarkedExtension['tokenizer'];
|
|
43
43
|
}
|
|
44
|
+
/** Context passed to a code-block header renderer. */
|
|
45
|
+
interface CodeHeaderContext {
|
|
46
|
+
/** Resolved language id ('' when the fence has no language). */
|
|
47
|
+
lang: string;
|
|
48
|
+
/** Raw code text — the clipboard payload. */
|
|
49
|
+
text: string;
|
|
50
|
+
token: Tokens.Code;
|
|
51
|
+
}
|
|
52
|
+
/** Context passed to a table header renderer. */
|
|
53
|
+
interface TableHeaderContext {
|
|
54
|
+
/** Raw markdown source of the table — the clipboard payload. */
|
|
55
|
+
markdown: string;
|
|
56
|
+
token: Tokens.Table;
|
|
57
|
+
}
|
|
58
|
+
type CodeHeaderRenderer = (ctx: CodeHeaderContext) => MiniNode | MiniNode[] | null;
|
|
59
|
+
type TableHeaderRenderer = (ctx: TableHeaderContext) => MiniNode | MiniNode[] | null;
|
|
44
60
|
/** 渲染上下文:transformer 共用的公共配置。 */
|
|
45
61
|
interface RenderContext {
|
|
46
62
|
/** 是否启用块级动画 */
|
|
@@ -57,6 +73,13 @@ interface RenderContext {
|
|
|
57
73
|
* Colocated tokenizer+renderer extensions registered on the instance.
|
|
58
74
|
*/
|
|
59
75
|
extensions?: readonly XMarkdownExtension[];
|
|
76
|
+
/**
|
|
77
|
+
* Code-block header config. `true`/undefined = default (language + copy
|
|
78
|
+
* button); `false` = no header; function = custom header nodes.
|
|
79
|
+
*/
|
|
80
|
+
codeHeader?: boolean | CodeHeaderRenderer;
|
|
81
|
+
/** Table header config. Same semantics as `codeHeader`. */
|
|
82
|
+
tableHeader?: boolean | TableHeaderRenderer;
|
|
60
83
|
/**
|
|
61
84
|
* Recursively render an inline token array to MiniNode[]. Provided by the
|
|
62
85
|
* platform transformer; used by custom extension miniRenderers that emit
|
|
@@ -76,6 +99,8 @@ interface MiniNode {
|
|
|
76
99
|
attrs?: Record<string, string | number | boolean>;
|
|
77
100
|
/** 子节点 */
|
|
78
101
|
children?: MiniNode[];
|
|
102
|
+
/** 代码块/表格顶部 header 栏(语言/标题 + 复制按钮)。 */
|
|
103
|
+
header?: MiniNode[];
|
|
79
104
|
/** 是否开启动画 */
|
|
80
105
|
animate?: boolean;
|
|
81
106
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ant-design/x-markdown-mini",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.1",
|
|
4
4
|
"description": "多小程序场景下的高性能、强扩展、流式友好的 Markdown 渲染器",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"dist"
|
|
32
32
|
],
|
|
33
33
|
"scripts": {
|
|
34
|
-
"build": "tsup && node scripts/patch-modern-regex.mjs && node scripts/copy-miniprogram-dist.mjs && node scripts/copy-component-assets.mjs",
|
|
34
|
+
"build": "node scripts/clean.mjs && tsup && node scripts/patch-modern-regex.mjs && node scripts/copy-miniprogram-dist.mjs && node scripts/copy-component-assets.mjs",
|
|
35
35
|
"clean": "node scripts/clean.mjs",
|
|
36
36
|
"clean:all": "node scripts/clean.mjs --all",
|
|
37
37
|
"test": "vitest run --coverage",
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
"bench:check": "npm run bench && node scripts/check-bench.mjs --threshold 0.10",
|
|
43
43
|
"bench:update": "npm run bench && node scripts/bench-update.mjs",
|
|
44
44
|
"bench:compare": "tsx benchmark/compare.ts",
|
|
45
|
+
"check:examples": "node scripts/check-examples.mjs",
|
|
45
46
|
"lint": "eslint src --ext .ts",
|
|
46
47
|
"docs": "npm run build && cd docs-site && npm run dev",
|
|
47
48
|
"docs:build": "npm run build && cd docs-site && npm run build",
|