@ant-design/x-markdown-mini 0.1.0-beta.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/LICENSE +21 -0
- package/README.md +216 -0
- package/dist/components/Markdown/index.acss +103 -0
- package/dist/components/Markdown/index.axml +12 -0
- package/dist/components/Markdown/index.js +93 -0
- package/dist/components/Markdown/index.json +7 -0
- package/dist/components/MiniNodeRenderer/index.acss +11 -0
- package/dist/components/MiniNodeRenderer/index.axml +113 -0
- package/dist/components/MiniNodeRenderer/index.js +37 -0
- package/dist/components/MiniNodeRenderer/index.json +7 -0
- package/dist/components/MiniNodeRenderer/index.sjs +63 -0
- package/dist/es/Markdown/index.acss +103 -0
- package/dist/es/Markdown/index.axml +12 -0
- package/dist/es/Markdown/index.js +93 -0
- package/dist/es/Markdown/index.json +7 -0
- package/dist/es/MiniNodeRenderer/index.acss +11 -0
- package/dist/es/MiniNodeRenderer/index.axml +113 -0
- package/dist/es/MiniNodeRenderer/index.js +37 -0
- package/dist/es/MiniNodeRenderer/index.json +7 -0
- package/dist/es/MiniNodeRenderer/index.sjs +63 -0
- package/dist/index.d.mts +508 -0
- package/dist/index.d.ts +508 -0
- package/dist/index.js +3151 -0
- package/dist/index.mjs +3111 -0
- package/dist/miniprogram_dist/components/Markdown/index.js +85 -0
- package/dist/miniprogram_dist/components/Markdown/index.json +10 -0
- package/dist/miniprogram_dist/components/Markdown/index.wxml +11 -0
- package/dist/miniprogram_dist/components/Markdown/index.wxss +103 -0
- package/dist/miniprogram_dist/components/MiniNodeRenderer/index.js +39 -0
- package/dist/miniprogram_dist/components/MiniNodeRenderer/index.json +10 -0
- package/dist/miniprogram_dist/components/MiniNodeRenderer/index.wxml +112 -0
- package/dist/miniprogram_dist/components/MiniNodeRenderer/index.wxs +40 -0
- package/dist/miniprogram_dist/components/MiniNodeRenderer/index.wxss +11 -0
- package/dist/miniprogram_dist/es/Markdown/index.js +85 -0
- package/dist/miniprogram_dist/es/Markdown/index.json +10 -0
- package/dist/miniprogram_dist/es/Markdown/index.wxml +11 -0
- package/dist/miniprogram_dist/es/Markdown/index.wxss +103 -0
- package/dist/miniprogram_dist/es/MiniNodeRenderer/index.js +39 -0
- package/dist/miniprogram_dist/es/MiniNodeRenderer/index.json +10 -0
- package/dist/miniprogram_dist/es/MiniNodeRenderer/index.wxml +112 -0
- package/dist/miniprogram_dist/es/MiniNodeRenderer/index.wxs +40 -0
- package/dist/miniprogram_dist/es/MiniNodeRenderer/index.wxss +11 -0
- package/dist/miniprogram_dist/index.js +3151 -0
- package/dist/miniprogram_dist/plugins/CodeHighlight/index.js +8038 -0
- package/dist/miniprogram_dist/plugins/CodeHighlight/style.wxss +105 -0
- package/dist/miniprogram_dist/plugins/Latex/index.js +14728 -0
- package/dist/miniprogram_dist/plugins/Latex/style.wxss +648 -0
- package/dist/miniprogram_dist/shared/flattenInline.js +100 -0
- package/dist/plugins/CodeHighlight/index.d.mts +27 -0
- package/dist/plugins/CodeHighlight/index.d.ts +27 -0
- package/dist/plugins/CodeHighlight/index.js +8038 -0
- package/dist/plugins/CodeHighlight/index.mjs +8028 -0
- package/dist/plugins/CodeHighlight/style.acss +105 -0
- package/dist/plugins/Latex/index.d.mts +12 -0
- package/dist/plugins/Latex/index.d.ts +12 -0
- package/dist/plugins/Latex/index.js +14728 -0
- package/dist/plugins/Latex/index.mjs +14705 -0
- package/dist/plugins/Latex/style.acss +648 -0
- package/dist/shared/flattenInline.js +100 -0
- package/dist/types-CegkonfJ.d.mts +83 -0
- package/dist/types-CegkonfJ.d.ts +83 -0
- package/package.json +93 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var flattenInline_exports = {};
|
|
20
|
+
__export(flattenInline_exports, {
|
|
21
|
+
flattenInlineNodes: () => flattenInlineNodes
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(flattenInline_exports);
|
|
24
|
+
function flattenInlineNodes(nodes) {
|
|
25
|
+
return nodes.map(walk);
|
|
26
|
+
}
|
|
27
|
+
const INLINE_TAGS = {
|
|
28
|
+
strong: true,
|
|
29
|
+
em: true,
|
|
30
|
+
del: true,
|
|
31
|
+
code: true,
|
|
32
|
+
span: true
|
|
33
|
+
};
|
|
34
|
+
const TAG_CLASS = {
|
|
35
|
+
strong: "md-strong",
|
|
36
|
+
em: "md-em",
|
|
37
|
+
del: "md-del",
|
|
38
|
+
code: "md-inline-code"
|
|
39
|
+
// 'span' 不附加额外 class
|
|
40
|
+
};
|
|
41
|
+
function walk(node) {
|
|
42
|
+
if (!node.children || node.children.length === 0) return node;
|
|
43
|
+
if (node.name === "a") {
|
|
44
|
+
return { ...node, children: flattenChildren(node.children) };
|
|
45
|
+
}
|
|
46
|
+
return { ...node, children: flattenChildren(node.children) };
|
|
47
|
+
}
|
|
48
|
+
function flattenChildren(children) {
|
|
49
|
+
const out = [];
|
|
50
|
+
for (const c of children) {
|
|
51
|
+
flattenOne(c, "", out);
|
|
52
|
+
}
|
|
53
|
+
return out;
|
|
54
|
+
}
|
|
55
|
+
function flattenOne(n, classChain, out) {
|
|
56
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
57
|
+
if (n.name === "text") {
|
|
58
|
+
const value = (_b = (_a = n.attrs) == null ? void 0 : _a.value) != null ? _b : "";
|
|
59
|
+
if (!value) return;
|
|
60
|
+
const merged = mergeClass(classChain, (_c = n.attrs) == null ? void 0 : _c.class);
|
|
61
|
+
out.push({ name: "text", attrs: merged ? { value, class: merged } : { value } });
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
if (n.name === "br") {
|
|
65
|
+
out.push({ name: "br", attrs: {} });
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
if (n.name === "a") {
|
|
69
|
+
out.push({ ...n, children: flattenChildren((_d = n.children) != null ? _d : []) });
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (n.name === "img") {
|
|
73
|
+
out.push(n);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (INLINE_TAGS[n.name]) {
|
|
77
|
+
const next = mergeClass(
|
|
78
|
+
classChain,
|
|
79
|
+
(_e = n.attrs) == null ? void 0 : _e.class,
|
|
80
|
+
(_f = TAG_CLASS[n.name]) != null ? _f : ""
|
|
81
|
+
);
|
|
82
|
+
for (const c of (_g = n.children) != null ? _g : []) flattenOne(c, next, out);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
out.push(walk(n));
|
|
86
|
+
}
|
|
87
|
+
function mergeClass(...parts) {
|
|
88
|
+
const seen = /* @__PURE__ */ new Set();
|
|
89
|
+
for (const p of parts) {
|
|
90
|
+
if (!p) continue;
|
|
91
|
+
for (const tok of p.split(/\s+/)) {
|
|
92
|
+
if (tok) seen.add(tok);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return Array.from(seen).join(" ");
|
|
96
|
+
}
|
|
97
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
98
|
+
0 && (module.exports = {
|
|
99
|
+
flattenInlineNodes
|
|
100
|
+
});
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Token, Tokens, MarkedExtension } from 'marked';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A tokenizer + renderer extension colocated on a single object — the
|
|
5
|
+
* preferred shape for new XMarkdownMini extensions. Structurally mirrors
|
|
6
|
+
* marked's `TokenizerAndRendererExtension` but adds `miniRenderer` so the
|
|
7
|
+
* renderer can return `MiniNode` directly instead of HTML.
|
|
8
|
+
*/
|
|
9
|
+
interface XMarkdownTokenizerExtension {
|
|
10
|
+
/** Token.type produced by this tokenizer. */
|
|
11
|
+
name: string;
|
|
12
|
+
/** Tokenizer level: 'block' or 'inline'. */
|
|
13
|
+
level?: 'block' | 'inline';
|
|
14
|
+
/** Marked start hook: returns the index of the next potential match. */
|
|
15
|
+
start?: (src: string) => number | undefined;
|
|
16
|
+
/** Marked tokenizer hook. */
|
|
17
|
+
tokenizer?: (this: any, src: string, tokens: Token[]) => Tokens.Generic | undefined;
|
|
18
|
+
/** Optional child token names (forwarded to marked). */
|
|
19
|
+
childTokens?: string[];
|
|
20
|
+
/** Preferred: return a MiniNode tree directly for this token. */
|
|
21
|
+
miniRenderer?: (token: Token, ctx: RenderContext) => MiniNode | MiniNode[] | null | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* marked-style HTML renderer. When present without `miniRenderer`, the HTML
|
|
24
|
+
* output is run through `htmlToMiniNodes` and the result is used.
|
|
25
|
+
*/
|
|
26
|
+
renderer?: (this: any, token: Token) => string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Preferred extension shape for `XMarkdownMiniOptions.extensions`. A subset of
|
|
30
|
+
* `MarkedExtension` whose tokenizer entries carry `miniRenderer` / `renderer`
|
|
31
|
+
* alongside the tokenizer. `MarkedExtension`s (e.g. community plugins that
|
|
32
|
+
* only emit HTML) are also accepted in the same array.
|
|
33
|
+
*/
|
|
34
|
+
interface XMarkdownExtension {
|
|
35
|
+
/** Tokenizer entries with colocated mini-program renderers. */
|
|
36
|
+
extensions?: XMarkdownTokenizerExtension[];
|
|
37
|
+
/** Marked walkTokens hook (forwarded to marked). */
|
|
38
|
+
walkTokens?: MarkedExtension['walkTokens'];
|
|
39
|
+
/** Marked hooks (forwarded to marked). */
|
|
40
|
+
hooks?: MarkedExtension['hooks'];
|
|
41
|
+
/** Marked tokenizer overrides (forwarded to marked). */
|
|
42
|
+
tokenizer?: MarkedExtension['tokenizer'];
|
|
43
|
+
}
|
|
44
|
+
/** 渲染上下文:transformer 共用的公共配置。 */
|
|
45
|
+
interface RenderContext {
|
|
46
|
+
/** 是否启用块级动画 */
|
|
47
|
+
animation?: boolean;
|
|
48
|
+
/** 文本是否可选择 */
|
|
49
|
+
selectable?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* 是否对文本节点的 value 做 HTML 实体转义。
|
|
52
|
+
* - true(默认):用于会解码实体的平台节点容器
|
|
53
|
+
* - false:用于自渲染组件(<text>{{value}}</text> 不解码实体)
|
|
54
|
+
*/
|
|
55
|
+
escapeText?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Colocated tokenizer+renderer extensions registered on the instance.
|
|
58
|
+
*/
|
|
59
|
+
extensions?: readonly XMarkdownExtension[];
|
|
60
|
+
/**
|
|
61
|
+
* Recursively render an inline token array to MiniNode[]. Provided by the
|
|
62
|
+
* platform transformer; used by custom extension miniRenderers that emit
|
|
63
|
+
* tokens with children (e.g. <custom-tag>inner</custom-tag>).
|
|
64
|
+
*/
|
|
65
|
+
renderInlineTokens?: (tokens: Token[]) => MiniNode[];
|
|
66
|
+
}
|
|
67
|
+
interface MiniNode {
|
|
68
|
+
/** 标签名,小写 */
|
|
69
|
+
name: string;
|
|
70
|
+
/**
|
|
71
|
+
* 自定义组件原始标签名。仅由 `components` 白名单合成的节点携带,等于 `name`,
|
|
72
|
+
* 用于宿主页面在作用域插槽 / dispatcher 里按 `node.tag` 分发(对齐 markdown-x 约定)。
|
|
73
|
+
*/
|
|
74
|
+
tag?: string;
|
|
75
|
+
/** 属性,class/style 等小写 */
|
|
76
|
+
attrs?: Record<string, string | number | boolean>;
|
|
77
|
+
/** 子节点 */
|
|
78
|
+
children?: MiniNode[];
|
|
79
|
+
/** 是否开启动画 */
|
|
80
|
+
animate?: boolean;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export type { MiniNode as M, XMarkdownExtension as X };
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Token, Tokens, MarkedExtension } from 'marked';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A tokenizer + renderer extension colocated on a single object — the
|
|
5
|
+
* preferred shape for new XMarkdownMini extensions. Structurally mirrors
|
|
6
|
+
* marked's `TokenizerAndRendererExtension` but adds `miniRenderer` so the
|
|
7
|
+
* renderer can return `MiniNode` directly instead of HTML.
|
|
8
|
+
*/
|
|
9
|
+
interface XMarkdownTokenizerExtension {
|
|
10
|
+
/** Token.type produced by this tokenizer. */
|
|
11
|
+
name: string;
|
|
12
|
+
/** Tokenizer level: 'block' or 'inline'. */
|
|
13
|
+
level?: 'block' | 'inline';
|
|
14
|
+
/** Marked start hook: returns the index of the next potential match. */
|
|
15
|
+
start?: (src: string) => number | undefined;
|
|
16
|
+
/** Marked tokenizer hook. */
|
|
17
|
+
tokenizer?: (this: any, src: string, tokens: Token[]) => Tokens.Generic | undefined;
|
|
18
|
+
/** Optional child token names (forwarded to marked). */
|
|
19
|
+
childTokens?: string[];
|
|
20
|
+
/** Preferred: return a MiniNode tree directly for this token. */
|
|
21
|
+
miniRenderer?: (token: Token, ctx: RenderContext) => MiniNode | MiniNode[] | null | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* marked-style HTML renderer. When present without `miniRenderer`, the HTML
|
|
24
|
+
* output is run through `htmlToMiniNodes` and the result is used.
|
|
25
|
+
*/
|
|
26
|
+
renderer?: (this: any, token: Token) => string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Preferred extension shape for `XMarkdownMiniOptions.extensions`. A subset of
|
|
30
|
+
* `MarkedExtension` whose tokenizer entries carry `miniRenderer` / `renderer`
|
|
31
|
+
* alongside the tokenizer. `MarkedExtension`s (e.g. community plugins that
|
|
32
|
+
* only emit HTML) are also accepted in the same array.
|
|
33
|
+
*/
|
|
34
|
+
interface XMarkdownExtension {
|
|
35
|
+
/** Tokenizer entries with colocated mini-program renderers. */
|
|
36
|
+
extensions?: XMarkdownTokenizerExtension[];
|
|
37
|
+
/** Marked walkTokens hook (forwarded to marked). */
|
|
38
|
+
walkTokens?: MarkedExtension['walkTokens'];
|
|
39
|
+
/** Marked hooks (forwarded to marked). */
|
|
40
|
+
hooks?: MarkedExtension['hooks'];
|
|
41
|
+
/** Marked tokenizer overrides (forwarded to marked). */
|
|
42
|
+
tokenizer?: MarkedExtension['tokenizer'];
|
|
43
|
+
}
|
|
44
|
+
/** 渲染上下文:transformer 共用的公共配置。 */
|
|
45
|
+
interface RenderContext {
|
|
46
|
+
/** 是否启用块级动画 */
|
|
47
|
+
animation?: boolean;
|
|
48
|
+
/** 文本是否可选择 */
|
|
49
|
+
selectable?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* 是否对文本节点的 value 做 HTML 实体转义。
|
|
52
|
+
* - true(默认):用于会解码实体的平台节点容器
|
|
53
|
+
* - false:用于自渲染组件(<text>{{value}}</text> 不解码实体)
|
|
54
|
+
*/
|
|
55
|
+
escapeText?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Colocated tokenizer+renderer extensions registered on the instance.
|
|
58
|
+
*/
|
|
59
|
+
extensions?: readonly XMarkdownExtension[];
|
|
60
|
+
/**
|
|
61
|
+
* Recursively render an inline token array to MiniNode[]. Provided by the
|
|
62
|
+
* platform transformer; used by custom extension miniRenderers that emit
|
|
63
|
+
* tokens with children (e.g. <custom-tag>inner</custom-tag>).
|
|
64
|
+
*/
|
|
65
|
+
renderInlineTokens?: (tokens: Token[]) => MiniNode[];
|
|
66
|
+
}
|
|
67
|
+
interface MiniNode {
|
|
68
|
+
/** 标签名,小写 */
|
|
69
|
+
name: string;
|
|
70
|
+
/**
|
|
71
|
+
* 自定义组件原始标签名。仅由 `components` 白名单合成的节点携带,等于 `name`,
|
|
72
|
+
* 用于宿主页面在作用域插槽 / dispatcher 里按 `node.tag` 分发(对齐 markdown-x 约定)。
|
|
73
|
+
*/
|
|
74
|
+
tag?: string;
|
|
75
|
+
/** 属性,class/style 等小写 */
|
|
76
|
+
attrs?: Record<string, string | number | boolean>;
|
|
77
|
+
/** 子节点 */
|
|
78
|
+
children?: MiniNode[];
|
|
79
|
+
/** 是否开启动画 */
|
|
80
|
+
animate?: boolean;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export type { MiniNode as M, XMarkdownExtension as X };
|
package/package.json
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ant-design/x-markdown-mini",
|
|
3
|
+
"version": "0.1.0-beta.0",
|
|
4
|
+
"description": "多小程序场景下的高性能、强扩展、流式友好的 Markdown 渲染器",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"module": "dist/index.mjs",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"miniprogram": "dist/miniprogram_dist",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.mjs",
|
|
13
|
+
"require": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"./es/*": "./dist/es/*",
|
|
16
|
+
"./shared/*": "./dist/shared/*",
|
|
17
|
+
"./components/*": "./dist/components/*",
|
|
18
|
+
"./plugins/Latex": {
|
|
19
|
+
"types": "./dist/plugins/Latex/index.d.ts",
|
|
20
|
+
"import": "./dist/plugins/Latex/index.mjs",
|
|
21
|
+
"require": "./dist/plugins/Latex/index.js"
|
|
22
|
+
},
|
|
23
|
+
"./plugins/CodeHighlight": {
|
|
24
|
+
"types": "./dist/plugins/CodeHighlight/index.d.ts",
|
|
25
|
+
"import": "./dist/plugins/CodeHighlight/index.mjs",
|
|
26
|
+
"require": "./dist/plugins/CodeHighlight/index.js"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"sideEffects": false,
|
|
30
|
+
"files": [
|
|
31
|
+
"dist"
|
|
32
|
+
],
|
|
33
|
+
"scripts": {
|
|
34
|
+
"build": "tsup && node scripts/patch-modern-regex.mjs && node scripts/copy-miniprogram-dist.mjs && node scripts/copy-component-assets.mjs",
|
|
35
|
+
"clean": "node scripts/clean.mjs",
|
|
36
|
+
"clean:all": "node scripts/clean.mjs --all",
|
|
37
|
+
"test": "vitest run --coverage",
|
|
38
|
+
"test:ci": "vitest --run --coverage --reporter=default --reporter=json --outputFile=test-results.json",
|
|
39
|
+
"check:test-rate": "node scripts/check-test-pass-rate.mjs",
|
|
40
|
+
"check:bundle": "node scripts/check-bundle.mjs",
|
|
41
|
+
"bench": "tsx benchmark/run.ts",
|
|
42
|
+
"bench:check": "npm run bench && node scripts/check-bench.mjs --threshold 0.10",
|
|
43
|
+
"bench:update": "npm run bench && node scripts/bench-update.mjs",
|
|
44
|
+
"bench:compare": "tsx benchmark/compare.ts",
|
|
45
|
+
"lint": "eslint src --ext .ts",
|
|
46
|
+
"docs": "npm run build && cd docs-site && npm run dev",
|
|
47
|
+
"docs:build": "npm run build && cd docs-site && npm run build",
|
|
48
|
+
"prepublishOnly": "npm run build"
|
|
49
|
+
},
|
|
50
|
+
"keywords": [
|
|
51
|
+
"markdown",
|
|
52
|
+
"miniprogram",
|
|
53
|
+
"wechat",
|
|
54
|
+
"alipay",
|
|
55
|
+
"douyin",
|
|
56
|
+
"mini-program-nodes"
|
|
57
|
+
],
|
|
58
|
+
"license": "MIT",
|
|
59
|
+
"dependencies": {
|
|
60
|
+
"marked": "^18.0.3",
|
|
61
|
+
"remend": "^1.3.0"
|
|
62
|
+
},
|
|
63
|
+
"devDependencies": {
|
|
64
|
+
"@vitest/coverage-v8": "^2.1.0",
|
|
65
|
+
"es-check": "^7.2.1",
|
|
66
|
+
"highlight.js": "^11.11.0",
|
|
67
|
+
"katex": "^0.16.11",
|
|
68
|
+
"markdown-it": "^14.1.0",
|
|
69
|
+
"mp-html": "^2.5.2",
|
|
70
|
+
"remark": "^15.0.1",
|
|
71
|
+
"tinybench": "^3.0.0",
|
|
72
|
+
"towxml": "^3.0.6",
|
|
73
|
+
"tsup": "^8.3.0",
|
|
74
|
+
"tsx": "^4.19.0",
|
|
75
|
+
"typescript": "^5.6.0",
|
|
76
|
+
"vitest": "^2.1.0"
|
|
77
|
+
},
|
|
78
|
+
"engines": {
|
|
79
|
+
"node": ">=18"
|
|
80
|
+
},
|
|
81
|
+
"publishConfig": {
|
|
82
|
+
"access": "public",
|
|
83
|
+
"registry": "https://registry.npmjs.org"
|
|
84
|
+
},
|
|
85
|
+
"repository": {
|
|
86
|
+
"type": "git",
|
|
87
|
+
"url": "git+https://github.com/ant-design/x-markdown-mini.git"
|
|
88
|
+
},
|
|
89
|
+
"homepage": "https://github.com/ant-design/x-markdown-mini#readme",
|
|
90
|
+
"bugs": {
|
|
91
|
+
"url": "https://github.com/ant-design/x-markdown-mini/issues"
|
|
92
|
+
}
|
|
93
|
+
}
|