markstream-svelte 0.0.1-beta.3 → 0.0.1-beta.4
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/MermaidBlockNode.svelte +3 -2
- package/dist/components/shared/node-helpers.d.ts +72 -9
- package/dist/components/shared/node-outlet-helpers.d.ts +3 -1
- package/dist/customComponents.d.ts +1 -1
- package/dist/enhanceRenderedHtml.d.ts +7 -5
- package/dist/enhanceRenderedHtml.js +2 -1
- package/dist/hydrateCustomTagContent.js +6 -3
- package/dist/index.d.ts +1 -1
- package/dist/optional/d2.d.ts +13 -2
- package/dist/optional/infographic.d.ts +13 -1
- package/dist/optional/katex.d.ts +5 -2
- package/dist/optional/mermaid.d.ts +23 -2
- package/dist/optional/monaco.d.ts +18 -1
- package/dist/parseNestedMarkdownToNodes.d.ts +6 -1
- package/dist/types/monaco.d.ts +3 -3
- package/package.json +2 -2
|
@@ -250,7 +250,8 @@
|
|
|
250
250
|
lastRenderedCode = normalized
|
|
251
251
|
svgCache[theme] = safeSvg
|
|
252
252
|
}
|
|
253
|
-
rendered
|
|
253
|
+
if (typeof rendered !== 'string')
|
|
254
|
+
rendered?.bindFunctions?.(document.createElement('div'))
|
|
254
255
|
}
|
|
255
256
|
catch (error) {
|
|
256
257
|
if (token === renderToken) {
|
|
@@ -582,4 +583,4 @@
|
|
|
582
583
|
</div>
|
|
583
584
|
{/if}
|
|
584
585
|
</div>
|
|
585
|
-
{/if}
|
|
586
|
+
{/if}
|
|
@@ -4,9 +4,72 @@ import type { CodeBlockMonacoOptions, CodeBlockMonacoTheme } from '../../types/m
|
|
|
4
4
|
import { getHtmlTagFromContent, hasCompleteHtmlTagContent, normalizeCustomHtmlTags, normalizeCustomHtmlTagName as normalizeTagName, stripCustomHtmlWrapper } from 'stream-markdown-parser';
|
|
5
5
|
export { getHtmlTagFromContent, hasCompleteHtmlTagContent, normalizeCustomHtmlTags, normalizeTagName, stripCustomHtmlWrapper, };
|
|
6
6
|
export type SvelteRenderableNode = (ParsedNode | BaseNode) & Record<string, unknown>;
|
|
7
|
+
export interface CodeBlockPreviewPayload {
|
|
8
|
+
node: SvelteRenderableNode;
|
|
9
|
+
artifactType: 'text/html' | 'image/svg+xml';
|
|
10
|
+
artifactTitle: string;
|
|
11
|
+
id: string;
|
|
12
|
+
}
|
|
13
|
+
export type NodeRendererCodeBlockProps = Partial<{
|
|
14
|
+
stream: boolean;
|
|
15
|
+
darkTheme: CodeBlockMonacoTheme;
|
|
16
|
+
lightTheme: CodeBlockMonacoTheme;
|
|
17
|
+
themes: CodeBlockMonacoTheme[];
|
|
18
|
+
monacoOptions: CodeBlockMonacoOptions;
|
|
19
|
+
minWidth: string | number;
|
|
20
|
+
maxWidth: string | number;
|
|
21
|
+
isShowPreview: boolean;
|
|
22
|
+
enableFontSizeControl: boolean;
|
|
23
|
+
showHeader: boolean;
|
|
24
|
+
showCopyButton: boolean;
|
|
25
|
+
showExpandButton: boolean;
|
|
26
|
+
showPreviewButton: boolean;
|
|
27
|
+
showCollapseButton: boolean;
|
|
28
|
+
showFontSizeButtons: boolean;
|
|
29
|
+
htmlPreviewAllowScripts: boolean;
|
|
30
|
+
htmlPreviewSandbox: string;
|
|
31
|
+
}> & Record<string, unknown>;
|
|
32
|
+
export type NodeRendererMermaidProps = Partial<{
|
|
33
|
+
maxHeight: string | null;
|
|
34
|
+
estimatedPreviewHeightPx: number;
|
|
35
|
+
workerTimeoutMs: number;
|
|
36
|
+
parseTimeoutMs: number;
|
|
37
|
+
renderTimeoutMs: number;
|
|
38
|
+
fullRenderTimeoutMs: number;
|
|
39
|
+
renderDebounceMs: number;
|
|
40
|
+
showHeader: boolean;
|
|
41
|
+
showModeToggle: boolean;
|
|
42
|
+
showCopyButton: boolean;
|
|
43
|
+
showExportButton: boolean;
|
|
44
|
+
showFullscreenButton: boolean;
|
|
45
|
+
showCollapseButton: boolean;
|
|
46
|
+
showZoomControls: boolean;
|
|
47
|
+
isStrict: boolean;
|
|
48
|
+
}> & Record<string, unknown>;
|
|
49
|
+
export type NodeRendererD2Props = Partial<{
|
|
50
|
+
maxHeight: string | null;
|
|
51
|
+
themeId: number | null;
|
|
52
|
+
darkThemeId: number | null;
|
|
53
|
+
showHeader: boolean;
|
|
54
|
+
showModeToggle: boolean;
|
|
55
|
+
showCopyButton: boolean;
|
|
56
|
+
showExportButton: boolean;
|
|
57
|
+
showCollapseButton: boolean;
|
|
58
|
+
}> & Record<string, unknown>;
|
|
59
|
+
export type NodeRendererInfographicProps = Partial<{
|
|
60
|
+
maxHeight: string | null;
|
|
61
|
+
estimatedPreviewHeightPx: number;
|
|
62
|
+
showHeader: boolean;
|
|
63
|
+
showModeToggle: boolean;
|
|
64
|
+
showCopyButton: boolean;
|
|
65
|
+
showCollapseButton: boolean;
|
|
66
|
+
showExportButton: boolean;
|
|
67
|
+
showFullscreenButton: boolean;
|
|
68
|
+
showZoomControls: boolean;
|
|
69
|
+
}> & Record<string, unknown>;
|
|
7
70
|
export interface NodeRendererEvents {
|
|
8
71
|
onCopy?: (code: string) => void;
|
|
9
|
-
onHandleArtifactClick?: (payload:
|
|
72
|
+
onHandleArtifactClick?: (payload: CodeBlockPreviewPayload) => void;
|
|
10
73
|
}
|
|
11
74
|
export interface NodeRendererProps {
|
|
12
75
|
content?: string;
|
|
@@ -25,10 +88,10 @@ export interface NodeRendererProps {
|
|
|
25
88
|
renderCodeBlocksAsPre?: boolean;
|
|
26
89
|
codeBlockMinWidth?: string | number;
|
|
27
90
|
codeBlockMaxWidth?: string | number;
|
|
28
|
-
codeBlockProps?:
|
|
29
|
-
mermaidProps?:
|
|
30
|
-
d2Props?:
|
|
31
|
-
infographicProps?:
|
|
91
|
+
codeBlockProps?: NodeRendererCodeBlockProps;
|
|
92
|
+
mermaidProps?: NodeRendererMermaidProps;
|
|
93
|
+
d2Props?: NodeRendererD2Props;
|
|
94
|
+
infographicProps?: NodeRendererInfographicProps;
|
|
32
95
|
customComponents?: CustomComponentMap;
|
|
33
96
|
showTooltips?: boolean;
|
|
34
97
|
themes?: CodeBlockMonacoTheme[];
|
|
@@ -63,10 +126,10 @@ export interface SvelteRenderContext {
|
|
|
63
126
|
customHtmlTags?: readonly string[];
|
|
64
127
|
parseOptions?: ParseOptions;
|
|
65
128
|
customMarkdownIt?: (md: MarkdownIt) => MarkdownIt;
|
|
66
|
-
codeBlockProps?:
|
|
67
|
-
mermaidProps?:
|
|
68
|
-
d2Props?:
|
|
69
|
-
infographicProps?:
|
|
129
|
+
codeBlockProps?: NodeRendererCodeBlockProps;
|
|
130
|
+
mermaidProps?: NodeRendererMermaidProps;
|
|
131
|
+
d2Props?: NodeRendererD2Props;
|
|
132
|
+
infographicProps?: NodeRendererInfographicProps;
|
|
70
133
|
customComponents?: CustomComponentMap;
|
|
71
134
|
codeBlockThemes?: {
|
|
72
135
|
themes?: CodeBlockMonacoTheme[];
|
|
@@ -4,5 +4,7 @@ export declare function resolveNodeOutletCodeMode(node: SvelteRenderableNode, co
|
|
|
4
4
|
export declare function resolveHtmlTag(node: SvelteRenderableNode): string;
|
|
5
5
|
export declare function coerceCustomHtmlNode(node: SvelteRenderableNode): SvelteRenderableNode;
|
|
6
6
|
export declare function coerceBuiltinHtmlNode(node: SvelteRenderableNode, resolvedType: string): SvelteRenderableNode;
|
|
7
|
-
export declare function resolveNodeOutletCustomInputs(node: SvelteRenderableNode, context?: SvelteRenderContext):
|
|
7
|
+
export declare function resolveNodeOutletCustomInputs(node: SvelteRenderableNode, context?: SvelteRenderContext): {
|
|
8
|
+
[x: string]: any;
|
|
9
|
+
};
|
|
8
10
|
export declare function resolveNodeOutletCustomComponent(node: SvelteRenderableNode, context?: SvelteRenderContext, customComponents?: Record<string, any> | null): any;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Component } from 'svelte';
|
|
2
|
-
export type MarkstreamSvelteComponent = Component<
|
|
2
|
+
export type MarkstreamSvelteComponent = Component<never>;
|
|
3
3
|
export type CustomComponentMap = Record<string, MarkstreamSvelteComponent>;
|
|
4
4
|
export declare function subscribeCustomComponents(listener: () => void): () => void;
|
|
5
5
|
export declare function getCustomComponentsRevision(): number;
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
+
import type { NodeRendererCodeBlockProps, NodeRendererD2Props, NodeRendererInfographicProps, NodeRendererMermaidProps } from './components/shared/node-helpers';
|
|
2
|
+
import type { CodeBlockMonacoOptions } from './types/monaco';
|
|
1
3
|
export interface EnhanceRenderedHtmlOptions {
|
|
2
4
|
final?: boolean;
|
|
3
5
|
isDark?: boolean;
|
|
4
6
|
renderCodeBlocksAsPre?: boolean;
|
|
5
|
-
monacoOptions?:
|
|
7
|
+
monacoOptions?: CodeBlockMonacoOptions;
|
|
6
8
|
d2ThemeId?: number | null;
|
|
7
9
|
d2DarkThemeId?: number | null;
|
|
8
10
|
showTooltips?: boolean;
|
|
9
|
-
codeBlockProps?:
|
|
10
|
-
mermaidProps?:
|
|
11
|
-
d2Props?:
|
|
12
|
-
infographicProps?:
|
|
11
|
+
codeBlockProps?: NodeRendererCodeBlockProps;
|
|
12
|
+
mermaidProps?: NodeRendererMermaidProps;
|
|
13
|
+
d2Props?: NodeRendererD2Props;
|
|
14
|
+
infographicProps?: NodeRendererInfographicProps;
|
|
13
15
|
onCopy?: (code: string) => void;
|
|
14
16
|
isCancelled?: () => boolean;
|
|
15
17
|
}
|
|
@@ -270,7 +270,8 @@ async function renderMermaid(root, cleanupFns, options, isActive) {
|
|
|
270
270
|
shell.body.innerHTML = safeSvg;
|
|
271
271
|
shell.body.classList.add('markstream-svelte-mermaid');
|
|
272
272
|
shell.wrapper.dataset.markstreamMermaid = '1';
|
|
273
|
-
(
|
|
273
|
+
if (typeof rendered !== 'string')
|
|
274
|
+
(_g = rendered === null || rendered === void 0 ? void 0 : rendered.bindFunctions) === null || _g === void 0 ? void 0 : _g.call(rendered, shell.body);
|
|
274
275
|
cleanupFns.push(() => {
|
|
275
276
|
if (shell.wrapper.isConnected)
|
|
276
277
|
shell.wrapper.replaceWith(originalPre.cloneNode(true));
|
|
@@ -28,8 +28,10 @@ export function hydrateCustomTagContent(nodes, source, customHtmlTags) {
|
|
|
28
28
|
for (const value of Object.values(node)) {
|
|
29
29
|
if (!Array.isArray(value))
|
|
30
30
|
continue;
|
|
31
|
-
for (const child of value)
|
|
32
|
-
|
|
31
|
+
for (const child of value) {
|
|
32
|
+
if (child && typeof child === 'object')
|
|
33
|
+
visitNode(child);
|
|
34
|
+
}
|
|
33
35
|
}
|
|
34
36
|
};
|
|
35
37
|
for (const node of cloned)
|
|
@@ -122,8 +124,9 @@ function cloneNodeTree(node) {
|
|
|
122
124
|
: { ...node };
|
|
123
125
|
if (!Array.isArray(cloned)) {
|
|
124
126
|
for (const [key, value] of Object.entries(cloned)) {
|
|
125
|
-
if (Array.isArray(value))
|
|
127
|
+
if (Array.isArray(value)) {
|
|
126
128
|
cloned[key] = value.map(item => cloneNodeTree(item));
|
|
129
|
+
}
|
|
127
130
|
}
|
|
128
131
|
}
|
|
129
132
|
return cloned;
|
package/dist/index.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ export { default as PreCodeNode } from './components/PreCodeNode.svelte';
|
|
|
39
39
|
export { default as ReferenceNode } from './components/ReferenceNode.svelte';
|
|
40
40
|
export { default as RenderChildren } from './components/RenderChildren.svelte';
|
|
41
41
|
export { buildRenderContext, resolveParsedNodes, } from './components/shared/node-helpers';
|
|
42
|
-
export type { NodeRendererEvents, NodeRendererProps, SvelteRenderableNode, SvelteRenderContext, } from './components/shared/node-helpers';
|
|
42
|
+
export type { CodeBlockPreviewPayload, NodeRendererCodeBlockProps, NodeRendererD2Props, NodeRendererEvents, NodeRendererInfographicProps, NodeRendererMermaidProps, NodeRendererProps, SvelteRenderableNode, SvelteRenderContext, } from './components/shared/node-helpers';
|
|
43
43
|
export { default as StrikethroughNode } from './components/StrikethroughNode.svelte';
|
|
44
44
|
export { default as StrongNode } from './components/StrongNode.svelte';
|
|
45
45
|
export { default as SubscriptNode } from './components/SubscriptNode.svelte';
|
package/dist/optional/d2.d.ts
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
|
-
export
|
|
1
|
+
export interface D2Instance {
|
|
2
|
+
D2?: D2Constructor;
|
|
3
|
+
compile?: (source: string, options?: Record<string, unknown>) => Promise<unknown> | unknown;
|
|
4
|
+
render?: (input: unknown, options?: Record<string, unknown>) => Promise<unknown> | unknown;
|
|
5
|
+
}
|
|
6
|
+
export interface D2Constructor {
|
|
7
|
+
new (): D2Instance;
|
|
8
|
+
D2?: D2Constructor;
|
|
9
|
+
compile?: D2Instance['compile'];
|
|
10
|
+
}
|
|
11
|
+
export type D2Module = D2Constructor | D2Instance;
|
|
12
|
+
export type D2Loader = () => Promise<unknown> | unknown;
|
|
2
13
|
export declare function setD2Loader(loader: D2Loader | null): void;
|
|
3
14
|
export declare function enableD2(loader?: D2Loader): void;
|
|
4
15
|
export declare function disableD2(): void;
|
|
5
16
|
export declare function isD2Enabled(): boolean;
|
|
6
|
-
export declare function getD2(): Promise<
|
|
17
|
+
export declare function getD2(): Promise<D2Module | null>;
|
|
@@ -1 +1,13 @@
|
|
|
1
|
-
export
|
|
1
|
+
export interface InfographicInstance {
|
|
2
|
+
render: (source: string) => unknown;
|
|
3
|
+
destroy?: () => unknown;
|
|
4
|
+
on?: (event: string, handler: (payload: unknown) => void) => unknown;
|
|
5
|
+
}
|
|
6
|
+
export interface InfographicConstructor {
|
|
7
|
+
new (options: {
|
|
8
|
+
container: HTMLElement;
|
|
9
|
+
width?: string | number;
|
|
10
|
+
height?: string | number;
|
|
11
|
+
}): InfographicInstance;
|
|
12
|
+
}
|
|
13
|
+
export declare function getInfographic(): Promise<InfographicConstructor | null>;
|
package/dist/optional/katex.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
export
|
|
1
|
+
export interface KatexModule {
|
|
2
|
+
renderToString: (content: string, options?: Record<string, unknown>) => string;
|
|
3
|
+
}
|
|
4
|
+
export type KatexLoader = () => Promise<unknown> | unknown;
|
|
2
5
|
export declare function setKatexLoader(loader: KatexLoader | null): void;
|
|
3
6
|
export declare function enableKatex(loader?: KatexLoader): void;
|
|
4
7
|
export declare function disableKatex(): void;
|
|
5
8
|
export declare function isKatexEnabled(): boolean;
|
|
6
|
-
export declare function getKatex(): Promise<
|
|
9
|
+
export declare function getKatex(): Promise<KatexModule | null>;
|
|
@@ -1,6 +1,27 @@
|
|
|
1
|
-
export type MermaidLoader = () => Promise<
|
|
1
|
+
export type MermaidLoader = () => Promise<unknown> | unknown;
|
|
2
|
+
export interface MermaidModule {
|
|
3
|
+
render: (id: string, source: string) => Promise<MermaidRenderResult> | MermaidRenderResult;
|
|
4
|
+
parse?: (source: string) => Promise<unknown> | unknown;
|
|
5
|
+
initialize?: (config?: Record<string, unknown>) => unknown;
|
|
6
|
+
mermaidAPI?: {
|
|
7
|
+
render?: MermaidModule['render'];
|
|
8
|
+
parse?: MermaidModule['parse'];
|
|
9
|
+
initialize?: MermaidModule['initialize'];
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export type MermaidRenderResult = string | {
|
|
13
|
+
svg?: string;
|
|
14
|
+
bindFunctions?: (element: Element) => unknown;
|
|
15
|
+
};
|
|
16
|
+
interface MermaidInitConfig extends Record<string, unknown> {
|
|
17
|
+
securityLevel?: unknown;
|
|
18
|
+
flowchart?: {
|
|
19
|
+
htmlLabels?: unknown;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
2
22
|
export declare function setMermaidLoader(loader: MermaidLoader | null): void;
|
|
3
23
|
export declare function enableMermaid(loader?: MermaidLoader): void;
|
|
4
24
|
export declare function disableMermaid(): void;
|
|
5
25
|
export declare function isMermaidEnabled(): boolean;
|
|
6
|
-
export declare function getMermaid(initConfig?:
|
|
26
|
+
export declare function getMermaid(initConfig?: MermaidInitConfig): Promise<MermaidModule | null>;
|
|
27
|
+
export {};
|
|
@@ -1,4 +1,21 @@
|
|
|
1
|
+
export interface MonacoRuntimeHelpers {
|
|
2
|
+
createEditor?: (container: HTMLElement, code: string, language: string) => Promise<unknown> | unknown;
|
|
3
|
+
createDiffEditor?: (container: HTMLElement, original: string, modified: string, language: string) => Promise<unknown> | unknown;
|
|
4
|
+
updateCode?: (code: string, language?: string) => Promise<unknown> | unknown;
|
|
5
|
+
updateDiff?: (original: string, modified: string, language?: string) => Promise<unknown> | unknown;
|
|
6
|
+
cleanupEditor?: () => unknown;
|
|
7
|
+
safeClean?: () => unknown;
|
|
8
|
+
setTheme?: (theme?: string | Record<string, unknown>) => Promise<unknown> | unknown;
|
|
9
|
+
getEditorView?: () => unknown;
|
|
10
|
+
getDiffEditorView?: () => unknown;
|
|
11
|
+
refreshDiffPresentation?: () => unknown;
|
|
12
|
+
}
|
|
13
|
+
export interface MonacoRuntimeModule {
|
|
14
|
+
useMonaco: (options?: Record<string, unknown>) => MonacoRuntimeHelpers;
|
|
15
|
+
preloadMonacoWorkers?: () => Promise<unknown> | unknown;
|
|
16
|
+
getOrCreateHighlighter?: (...args: unknown[]) => Promise<unknown> | unknown;
|
|
17
|
+
}
|
|
1
18
|
export declare function isCodeBlockRuntimeReady(): boolean;
|
|
2
19
|
export declare function resetCodeBlockRuntimeReadyForTest(): void;
|
|
3
20
|
export declare function preloadCodeBlockRuntime(): Promise<boolean>;
|
|
4
|
-
export declare function getUseMonaco(): Promise<
|
|
21
|
+
export declare function getUseMonaco(): Promise<MonacoRuntimeModule | null>;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { BaseNode, MarkdownIt, ParseOptions } from 'stream-markdown-parser';
|
|
2
|
+
type NestedMarkdownSourceNode = BaseNode & {
|
|
3
|
+
children?: BaseNode[];
|
|
4
|
+
content?: string;
|
|
5
|
+
};
|
|
2
6
|
export interface NestedMarkdownNodesInput {
|
|
3
|
-
node?:
|
|
7
|
+
node?: NestedMarkdownSourceNode | null;
|
|
4
8
|
nodes?: readonly BaseNode[] | null;
|
|
5
9
|
content?: string | null;
|
|
6
10
|
}
|
|
@@ -12,3 +16,4 @@ export interface NestedMarkdownNodesOptions {
|
|
|
12
16
|
customMarkdownIt?: (markdown: MarkdownIt) => MarkdownIt;
|
|
13
17
|
}
|
|
14
18
|
export declare function parseNestedMarkdownToNodes(input: NestedMarkdownNodesInput, options?: NestedMarkdownNodesOptions): BaseNode[];
|
|
19
|
+
export {};
|
package/dist/types/monaco.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export interface CodeBlockMonacoThemeObject {
|
|
|
7
7
|
[key: string]: unknown;
|
|
8
8
|
}
|
|
9
9
|
export type CodeBlockMonacoTheme = string | CodeBlockMonacoThemeObject;
|
|
10
|
-
export type CodeBlockMonacoLanguage = string | ((...args:
|
|
10
|
+
export type CodeBlockMonacoLanguage = string | ((...args: unknown[]) => unknown);
|
|
11
11
|
export interface CodeBlockDiffHideUnchangedRegionsOptions {
|
|
12
12
|
enabled?: boolean;
|
|
13
13
|
contextLineCount?: number;
|
|
@@ -60,6 +60,6 @@ export interface CodeBlockMonacoOptions {
|
|
|
60
60
|
diffHunkActionsOnHover?: boolean;
|
|
61
61
|
diffHunkHoverHideDelayMs?: number;
|
|
62
62
|
onDiffHunkAction?: (context: CodeBlockDiffHunkActionContext) => void | boolean | Promise<void | boolean>;
|
|
63
|
-
scrollbar?: Record<string,
|
|
64
|
-
[key: string]:
|
|
63
|
+
scrollbar?: Record<string, unknown>;
|
|
64
|
+
[key: string]: unknown;
|
|
65
65
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "markstream-svelte",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.1-beta.
|
|
4
|
+
"version": "0.0.1-beta.4",
|
|
5
5
|
"description": "Svelte Markdown renderer for Markstream, aligned with markstream-vue and markstream-react.",
|
|
6
6
|
"author": "Simon He",
|
|
7
7
|
"license": "MIT",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
},
|
|
72
72
|
"dependencies": {
|
|
73
73
|
"@floating-ui/dom": "^1.7.6",
|
|
74
|
-
"stream-markdown-parser": "0.0.
|
|
74
|
+
"stream-markdown-parser": "0.0.93"
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
77
|
"@sveltejs/package": "^2.5.7",
|