@opensumi/ide-components 3.4.4-next-1728985193.0 → 3.4.5-next-1729069673.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/lib/markdown-react/index.d.ts +3 -0
- package/lib/markdown-react/index.d.ts.map +1 -0
- package/lib/markdown-react/index.js +6 -0
- package/lib/markdown-react/index.js.map +1 -0
- package/lib/markdown-react/parse.d.ts +15 -0
- package/lib/markdown-react/parse.d.ts.map +1 -0
- package/lib/markdown-react/parse.js +125 -0
- package/lib/markdown-react/parse.js.map +1 -0
- package/lib/markdown-react/render.d.ts +45 -0
- package/lib/markdown-react/render.d.ts.map +1 -0
- package/lib/markdown-react/render.js +104 -0
- package/lib/markdown-react/render.js.map +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/markdown-react/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/markdown-react/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,kDAAwB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { marked } from 'marked';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { MarkdownReactRenderer } from './render';
|
|
4
|
+
/**
|
|
5
|
+
* 这里通过重新实现 marked.Renderer 的所有方法,实现一个能直接渲染 React 的 Markdown 渲染器
|
|
6
|
+
*/
|
|
7
|
+
export declare class MarkdownReactParser extends marked.Renderer {
|
|
8
|
+
private renderer;
|
|
9
|
+
constructor(options: {
|
|
10
|
+
renderer: MarkdownReactRenderer;
|
|
11
|
+
});
|
|
12
|
+
parse(tokens: marked.Token[]): ReactNode[];
|
|
13
|
+
parseInline(tokens?: marked.Token[]): ReactNode[];
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=parse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/markdown-react/parse.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAiB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEhE;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,MAAM,CAAC,QAAQ;IACtD,OAAO,CAAC,QAAQ,CAAwB;gBAE5B,OAAO,EAAE;QAAE,QAAQ,EAAE,qBAAqB,CAAA;KAAE;IAMxD,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,SAAS,EAAE;IA2F1C,WAAW,CAAC,MAAM,GAAE,MAAM,CAAC,KAAK,EAAO,GAAG,SAAS,EAAE;CAmDtD"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MarkdownReactParser = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const marked_1 = require("marked");
|
|
6
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
7
|
+
/**
|
|
8
|
+
* 这里通过重新实现 marked.Renderer 的所有方法,实现一个能直接渲染 React 的 Markdown 渲染器
|
|
9
|
+
*/
|
|
10
|
+
class MarkdownReactParser extends marked_1.marked.Renderer {
|
|
11
|
+
constructor(options) {
|
|
12
|
+
super();
|
|
13
|
+
this.renderer = options.renderer;
|
|
14
|
+
}
|
|
15
|
+
parse(tokens) {
|
|
16
|
+
return tokens.map((token) => {
|
|
17
|
+
switch (token.type) {
|
|
18
|
+
case 'html': {
|
|
19
|
+
return react_1.default.createElement("div", { dangerouslySetInnerHTML: { __html: token.raw } });
|
|
20
|
+
}
|
|
21
|
+
case 'space': {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
case 'heading': {
|
|
25
|
+
const level = token.depth;
|
|
26
|
+
return this.renderer.heading(this.parseInline(token.tokens), level);
|
|
27
|
+
}
|
|
28
|
+
case 'paragraph': {
|
|
29
|
+
return this.renderer.paragraph(this.parseInline(token.tokens));
|
|
30
|
+
}
|
|
31
|
+
case 'text': {
|
|
32
|
+
const textToken = token;
|
|
33
|
+
return textToken.tokens ? this.parseInline(textToken.tokens) : token.text;
|
|
34
|
+
}
|
|
35
|
+
case 'blockquote': {
|
|
36
|
+
const blockquoteToken = token;
|
|
37
|
+
const quote = this.parse(blockquoteToken.tokens);
|
|
38
|
+
return this.renderer.blockquote(quote);
|
|
39
|
+
}
|
|
40
|
+
case 'list': {
|
|
41
|
+
const listToken = token;
|
|
42
|
+
const children = listToken.items.map((item) => {
|
|
43
|
+
var _a;
|
|
44
|
+
const listItemChildren = [];
|
|
45
|
+
if (item.task) {
|
|
46
|
+
listItemChildren.push(this.renderer.checkbox((_a = item.checked) !== null && _a !== void 0 ? _a : false));
|
|
47
|
+
}
|
|
48
|
+
listItemChildren.push(this.parse(item.tokens));
|
|
49
|
+
return this.renderer.listItem(listItemChildren);
|
|
50
|
+
});
|
|
51
|
+
return this.renderer.list(children, token.ordered);
|
|
52
|
+
}
|
|
53
|
+
case 'code': {
|
|
54
|
+
return this.renderer.code(token.text, token.lang);
|
|
55
|
+
}
|
|
56
|
+
case 'table': {
|
|
57
|
+
const tableToken = token;
|
|
58
|
+
const headerCells = tableToken.header.map((cell, index) => this.renderer.tableCell(this.parseInline(cell.tokens), { header: true, align: token.align[index] }));
|
|
59
|
+
const headerRow = this.renderer.tableRow(headerCells);
|
|
60
|
+
const header = this.renderer.tableHeader(headerRow);
|
|
61
|
+
const bodyChilren = tableToken.rows.map((row) => {
|
|
62
|
+
const rowChildren = row.map((cell, index) => this.renderer.tableCell(this.parseInline(cell.tokens), {
|
|
63
|
+
header: false,
|
|
64
|
+
align: token.align[index],
|
|
65
|
+
}));
|
|
66
|
+
return this.renderer.tableRow(rowChildren);
|
|
67
|
+
});
|
|
68
|
+
const body = this.renderer.tableBody(bodyChilren);
|
|
69
|
+
return this.renderer.table([header, body]);
|
|
70
|
+
}
|
|
71
|
+
case 'hr': {
|
|
72
|
+
return this.renderer.hr();
|
|
73
|
+
}
|
|
74
|
+
default: {
|
|
75
|
+
// eslint-disable-next-line no-console
|
|
76
|
+
console.warn(`Token with "${token.type}" type was not found`);
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
parseInline(tokens = []) {
|
|
83
|
+
return tokens.map((token) => {
|
|
84
|
+
switch (token.type) {
|
|
85
|
+
case 'text': {
|
|
86
|
+
return this.renderer.text(unescape(token.text));
|
|
87
|
+
}
|
|
88
|
+
case 'strong': {
|
|
89
|
+
return this.renderer.strong(this.parseInline(token.tokens));
|
|
90
|
+
}
|
|
91
|
+
case 'em': {
|
|
92
|
+
return this.renderer.em(this.parseInline(token.tokens));
|
|
93
|
+
}
|
|
94
|
+
case 'del': {
|
|
95
|
+
return this.renderer.del(this.parseInline(token.tokens));
|
|
96
|
+
}
|
|
97
|
+
case 'codespan': {
|
|
98
|
+
return this.renderer.codespan(unescape(token.text));
|
|
99
|
+
}
|
|
100
|
+
case 'link': {
|
|
101
|
+
return this.renderer.link(token.href, this.parseInline(token.tokens));
|
|
102
|
+
}
|
|
103
|
+
case 'image': {
|
|
104
|
+
return this.renderer.image(token.href, token.text, token.title);
|
|
105
|
+
}
|
|
106
|
+
case 'html': {
|
|
107
|
+
return this.renderer.html(token.text);
|
|
108
|
+
}
|
|
109
|
+
case 'br': {
|
|
110
|
+
return this.renderer.br();
|
|
111
|
+
}
|
|
112
|
+
case 'escape': {
|
|
113
|
+
return this.renderer.text(token.text);
|
|
114
|
+
}
|
|
115
|
+
default: {
|
|
116
|
+
// eslint-disable-next-line no-console
|
|
117
|
+
console.warn(`Token with "${token.type}" type was not found`);
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
exports.MarkdownReactParser = MarkdownReactParser;
|
|
125
|
+
//# sourceMappingURL=parse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/markdown-react/parse.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ReactElement, ReactNode } from 'react';
|
|
2
|
+
export type HeadingLevels = 1 | 2 | 3 | 4 | 5 | 6;
|
|
3
|
+
export interface TableFlags {
|
|
4
|
+
header?: boolean;
|
|
5
|
+
align?: 'center' | 'left' | 'right' | null;
|
|
6
|
+
}
|
|
7
|
+
export type CustomReactRenderer = Partial<MarkdownReactRenderer>;
|
|
8
|
+
export type RendererMethods = keyof MarkdownReactRenderer;
|
|
9
|
+
export interface ReactRendererOptions {
|
|
10
|
+
baseURL?: string;
|
|
11
|
+
openLinksInNewTab?: boolean;
|
|
12
|
+
langPrefix?: string;
|
|
13
|
+
renderer?: CustomReactRenderer;
|
|
14
|
+
}
|
|
15
|
+
export declare class MarkdownReactRenderer {
|
|
16
|
+
private uid;
|
|
17
|
+
private options;
|
|
18
|
+
constructor(options?: ReactRendererOptions);
|
|
19
|
+
private node;
|
|
20
|
+
private incrementUID;
|
|
21
|
+
heading(children: ReactNode, level: HeadingLevels): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
22
|
+
paragraph(children: ReactNode): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
23
|
+
private joinBase;
|
|
24
|
+
link(href: string, text: ReactNode): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
25
|
+
image(src: string, alt: string, title?: string | null): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
26
|
+
codespan(code: ReactNode, lang?: string | null): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
27
|
+
code(code: ReactNode | string, lang: string | undefined): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
28
|
+
blockquote(children: ReactNode): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
29
|
+
list(children: ReactNode, ordered: boolean): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
30
|
+
listItem(children: ReactNode[]): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
31
|
+
checkbox(checked: ReactNode): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
32
|
+
table(children: ReactNode[]): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
33
|
+
tableHeader(children: ReactNode): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
34
|
+
tableBody(children: ReactNode[]): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
35
|
+
tableRow(children: ReactNode[]): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
36
|
+
tableCell(children: ReactNode[], flags: TableFlags): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
37
|
+
strong(children: ReactNode): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
38
|
+
em(children: ReactNode): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
39
|
+
del(children: ReactNode): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
40
|
+
text(text: ReactNode): ReactNode;
|
|
41
|
+
html(html: ReactNode): ReactNode;
|
|
42
|
+
hr(): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
43
|
+
br(): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=render.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/markdown-react/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAE,SAAS,EAAiB,MAAM,OAAO,CAAC;AAE5E,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,GAAE,oBAAyB;IAI9C,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa;IAIjD,SAAS,CAAC,QAAQ,EAAE,SAAS;IAI7B,OAAO,CAAC,QAAQ;IAYhB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;IAMlC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,IAAW;IAK3D,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,GAAE,MAAM,GAAG,IAAW;IAKpD,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS;IAIvD,UAAU,CAAC,QAAQ,EAAE,SAAS;IAI9B,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO;IAI1C,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE;IAI9B,QAAQ,CAAC,OAAO,EAAE,SAAS;IAI3B,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE;IAI3B,WAAW,CAAC,QAAQ,EAAE,SAAS;IAI/B,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE;IAI/B,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE;IAI9B,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU;IAKlD,MAAM,CAAC,QAAQ,EAAE,SAAS;IAI1B,EAAE,CAAC,QAAQ,EAAE,SAAS;IAItB,GAAG,CAAC,QAAQ,EAAE,SAAS;IAIvB,IAAI,CAAC,IAAI,EAAE,SAAS;IAIpB,IAAI,CAAC,IAAI,EAAE,SAAS;IAIpB,EAAE;IAIF,EAAE;CAGH"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MarkdownReactRenderer = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
class MarkdownReactRenderer {
|
|
6
|
+
constructor(options = {}) {
|
|
7
|
+
this.uid = 0;
|
|
8
|
+
this.options = options;
|
|
9
|
+
}
|
|
10
|
+
node(el, children = null, props = {}) {
|
|
11
|
+
const elProps = {
|
|
12
|
+
key: `marked-react-${this.uid}`,
|
|
13
|
+
};
|
|
14
|
+
this.incrementUID();
|
|
15
|
+
return (0, react_1.createElement)(el, Object.assign(Object.assign({}, props), elProps), children);
|
|
16
|
+
}
|
|
17
|
+
incrementUID() {
|
|
18
|
+
this.uid += 1;
|
|
19
|
+
}
|
|
20
|
+
heading(children, level) {
|
|
21
|
+
return this.node(`h${level}`, children);
|
|
22
|
+
}
|
|
23
|
+
paragraph(children) {
|
|
24
|
+
return this.node('p', children);
|
|
25
|
+
}
|
|
26
|
+
joinBase(path, base) {
|
|
27
|
+
if (!base) {
|
|
28
|
+
return path;
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
return new URL(path, base).href;
|
|
32
|
+
}
|
|
33
|
+
catch (_a) {
|
|
34
|
+
return path;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
link(href, text) {
|
|
38
|
+
const url = this.joinBase(href, this.options.baseURL);
|
|
39
|
+
const target = this.options.openLinksInNewTab ? '_blank' : null;
|
|
40
|
+
return this.node('a', text, { href: url, target });
|
|
41
|
+
}
|
|
42
|
+
image(src, alt, title = null) {
|
|
43
|
+
const url = this.joinBase(src, this.options.baseURL);
|
|
44
|
+
return this.node('img', null, { src: url, alt, title });
|
|
45
|
+
}
|
|
46
|
+
codespan(code, lang = null) {
|
|
47
|
+
const className = lang ? `${this.options.langPrefix}${lang}` : null;
|
|
48
|
+
return this.node('code', code, { className });
|
|
49
|
+
}
|
|
50
|
+
code(code, lang) {
|
|
51
|
+
return this.node('pre', this.codespan(code, lang));
|
|
52
|
+
}
|
|
53
|
+
blockquote(children) {
|
|
54
|
+
return this.node('blockquote', children);
|
|
55
|
+
}
|
|
56
|
+
list(children, ordered) {
|
|
57
|
+
return this.node(ordered ? 'ol' : 'ul', children);
|
|
58
|
+
}
|
|
59
|
+
listItem(children) {
|
|
60
|
+
return this.node('li', children);
|
|
61
|
+
}
|
|
62
|
+
checkbox(checked) {
|
|
63
|
+
return this.node('input', null, { type: 'checkbox', disabled: true, checked });
|
|
64
|
+
}
|
|
65
|
+
table(children) {
|
|
66
|
+
return this.node('table', children);
|
|
67
|
+
}
|
|
68
|
+
tableHeader(children) {
|
|
69
|
+
return this.node('thead', children);
|
|
70
|
+
}
|
|
71
|
+
tableBody(children) {
|
|
72
|
+
return this.node('tbody', children);
|
|
73
|
+
}
|
|
74
|
+
tableRow(children) {
|
|
75
|
+
return this.node('tr', children);
|
|
76
|
+
}
|
|
77
|
+
tableCell(children, flags) {
|
|
78
|
+
const tag = flags.header ? 'th' : 'td';
|
|
79
|
+
return this.node(tag, children, { align: flags.align });
|
|
80
|
+
}
|
|
81
|
+
strong(children) {
|
|
82
|
+
return this.node('strong', children);
|
|
83
|
+
}
|
|
84
|
+
em(children) {
|
|
85
|
+
return this.node('em', children);
|
|
86
|
+
}
|
|
87
|
+
del(children) {
|
|
88
|
+
return this.node('del', children);
|
|
89
|
+
}
|
|
90
|
+
text(text) {
|
|
91
|
+
return text;
|
|
92
|
+
}
|
|
93
|
+
html(html) {
|
|
94
|
+
return html;
|
|
95
|
+
}
|
|
96
|
+
hr() {
|
|
97
|
+
return this.node('hr');
|
|
98
|
+
}
|
|
99
|
+
br() {
|
|
100
|
+
return this.node('br');
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.MarkdownReactRenderer = MarkdownReactRenderer;
|
|
104
|
+
//# sourceMappingURL=render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/markdown-react/render.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-components",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.5-next-1729069673.0",
|
|
4
4
|
"description": "@opensumi/ide-components",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"@ant-design/icons": "^4.6.4",
|
|
19
|
-
"@opensumi/ide-core-common": "3.4.
|
|
20
|
-
"@opensumi/ide-utils": "3.4.
|
|
19
|
+
"@opensumi/ide-core-common": "3.4.5-next-1729069673.0",
|
|
20
|
+
"@opensumi/ide-utils": "3.4.5-next-1729069673.0",
|
|
21
21
|
"@opensumi/react-custom-scrollbars-2": "^4.3.4",
|
|
22
22
|
"@rc-component/mini-decimal": "^1.0.1",
|
|
23
23
|
"fuzzy": "^0.1.3",
|
|
@@ -38,10 +38,10 @@
|
|
|
38
38
|
"react-window": "^1.8.5"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@opensumi/ide-dev-tool": "3.4.
|
|
41
|
+
"@opensumi/ide-dev-tool": "3.4.5-next-1729069673.0",
|
|
42
42
|
"@types/marked": "^4.0.7",
|
|
43
43
|
"@types/react-window": "^1.8.5",
|
|
44
44
|
"prop-types": "^15.8.1"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "7c5e59b90a73d8dee58adab31b1239a9a319c972"
|
|
47
47
|
}
|