safe-mdx 1.3.10 → 1.5.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/README.md +191 -5
- package/dist/esm-parser.d.ts.map +1 -1
- package/dist/esm-parser.js +2 -0
- package/dist/esm-parser.js.map +1 -1
- package/dist/esm-parser.test.js +179 -1
- package/dist/esm-parser.test.js.map +1 -1
- package/dist/parse.d.ts +44 -0
- package/dist/parse.d.ts.map +1 -1
- package/dist/parse.js +127 -0
- package/dist/parse.js.map +1 -1
- package/dist/safe-mdx.d.ts +29 -1
- package/dist/safe-mdx.d.ts.map +1 -1
- package/dist/safe-mdx.js +81 -10
- package/dist/safe-mdx.js.map +1 -1
- package/dist/safe-mdx.test.js +179 -0
- package/dist/safe-mdx.test.js.map +1 -1
- package/package.json +1 -1
- package/src/esm-parser.test.ts +192 -1
- package/src/esm-parser.ts +2 -0
- package/src/parse.ts +165 -0
- package/src/safe-mdx.test.tsx +190 -1
- package/src/safe-mdx.tsx +104 -8
package/dist/parse.js
CHANGED
|
@@ -6,6 +6,46 @@ import remarkGfm from 'remark-gfm';
|
|
|
6
6
|
import remarkMdx from 'remark-mdx';
|
|
7
7
|
import { parseHtmlToMdxAst, remarkMdxJsxNormalize } from './html/html-to-mdx-ast.js';
|
|
8
8
|
export { parseHtmlToMdxAst, remarkMdxJsxNormalize };
|
|
9
|
+
/**
|
|
10
|
+
* Extract all import declarations from a parsed mdast tree.
|
|
11
|
+
* Unlike `parseEsmImports`, this accepts ANY source (not just HTTPS URLs).
|
|
12
|
+
*/
|
|
13
|
+
export function extractImports(ast) {
|
|
14
|
+
const imports = [];
|
|
15
|
+
for (const node of ast.children) {
|
|
16
|
+
if (node.type !== 'mdxjsEsm')
|
|
17
|
+
continue;
|
|
18
|
+
const estree = node.data?.estree;
|
|
19
|
+
if (!estree)
|
|
20
|
+
continue;
|
|
21
|
+
for (const statement of estree.body) {
|
|
22
|
+
if (statement.type !== 'ImportDeclaration')
|
|
23
|
+
continue;
|
|
24
|
+
const source = statement.source?.value;
|
|
25
|
+
if (typeof source !== 'string')
|
|
26
|
+
continue;
|
|
27
|
+
const specifiers = [];
|
|
28
|
+
for (const spec of statement.specifiers ?? []) {
|
|
29
|
+
if (spec.type === 'ImportDefaultSpecifier') {
|
|
30
|
+
specifiers.push({ local: spec.local.name, imported: 'default', type: 'default' });
|
|
31
|
+
}
|
|
32
|
+
else if (spec.type === 'ImportSpecifier') {
|
|
33
|
+
const importedName = spec.imported.type === 'Identifier'
|
|
34
|
+
? spec.imported.name
|
|
35
|
+
: String(spec.imported.value);
|
|
36
|
+
specifiers.push({ local: spec.local.name, imported: importedName, type: 'named' });
|
|
37
|
+
}
|
|
38
|
+
else if (spec.type === 'ImportNamespaceSpecifier') {
|
|
39
|
+
specifiers.push({ local: spec.local.name, imported: '*', type: 'namespace' });
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (specifiers.length > 0) {
|
|
43
|
+
imports.push({ source, specifiers });
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return imports;
|
|
48
|
+
}
|
|
9
49
|
export function mdxParse(code) {
|
|
10
50
|
const file = mdxProcessor.processSync(code);
|
|
11
51
|
return file.data.ast;
|
|
@@ -75,6 +115,93 @@ export function remarkMarkAndUnravel() {
|
|
|
75
115
|
});
|
|
76
116
|
};
|
|
77
117
|
}
|
|
118
|
+
/* ── Module resolution ───────────────────────────────────────────────── */
|
|
119
|
+
/** Extensions tried when resolving a bare import against glob keys */
|
|
120
|
+
const RESOLVE_EXTENSIONS = [
|
|
121
|
+
'', '.tsx', '.ts', '.jsx', '.js', '.mdx', '.md',
|
|
122
|
+
'/index.tsx', '/index.ts', '/index.jsx', '/index.js',
|
|
123
|
+
];
|
|
124
|
+
/**
|
|
125
|
+
* Given an import source and a baseUrl, resolve the source to a key
|
|
126
|
+
* that exists in `moduleKeys`. Handles:
|
|
127
|
+
* - Relative imports (`./card`) resolved from `baseUrl`
|
|
128
|
+
* - Absolute imports (`/snippets/card`) normalized to `./snippets/card`
|
|
129
|
+
* - Extension resolution (tries .tsx, .ts, .jsx, .js, .mdx, .md, /index.*)
|
|
130
|
+
*/
|
|
131
|
+
export function resolveModulePath(source, baseUrl, moduleKeys) {
|
|
132
|
+
let normalized;
|
|
133
|
+
if (source.startsWith('/')) {
|
|
134
|
+
// Absolute import from project root: /snippets/card → ./snippets/card
|
|
135
|
+
normalized = '.' + source;
|
|
136
|
+
}
|
|
137
|
+
else if (source.startsWith('./') || source.startsWith('../')) {
|
|
138
|
+
// Relative import: resolve from baseUrl
|
|
139
|
+
const joined = joinPaths(baseUrl, source);
|
|
140
|
+
if (!joined)
|
|
141
|
+
return undefined; // .. escaped above root
|
|
142
|
+
normalized = joined;
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
// Bare specifier (npm package etc.) — not resolvable from glob
|
|
146
|
+
return undefined;
|
|
147
|
+
}
|
|
148
|
+
// Try each extension
|
|
149
|
+
for (const ext of RESOLVE_EXTENSIONS) {
|
|
150
|
+
const candidate = normalized + ext;
|
|
151
|
+
if (moduleKeys.includes(candidate)) {
|
|
152
|
+
return candidate;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return undefined;
|
|
156
|
+
}
|
|
157
|
+
/** Simple path join that normalizes `./a/b/../c` segments.
|
|
158
|
+
* Both inputs and output use `./` prefix (matching Vite glob key format).
|
|
159
|
+
* Returns `undefined` if `..` escapes above the project root. */
|
|
160
|
+
function joinPaths(base, relative) {
|
|
161
|
+
// Strip ./ prefix and trailing /
|
|
162
|
+
const baseParts = base.replace(/^\.\//, '').replace(/\/$/, '').split('/').filter(Boolean);
|
|
163
|
+
const relParts = relative.replace(/^\.\//, '').split('/').filter(Boolean);
|
|
164
|
+
for (const part of relParts) {
|
|
165
|
+
if (part === '..') {
|
|
166
|
+
if (baseParts.length === 0)
|
|
167
|
+
return undefined; // escaped above root
|
|
168
|
+
baseParts.pop();
|
|
169
|
+
}
|
|
170
|
+
else if (part !== '.') {
|
|
171
|
+
baseParts.push(part);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return './' + baseParts.join('/');
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Given a lazy Vite glob and a parsed mdast, resolve only the imported
|
|
178
|
+
* modules eagerly. Returns the exact shape `SafeMdxRenderer.modules` expects.
|
|
179
|
+
*
|
|
180
|
+
* Usage:
|
|
181
|
+
* ```ts
|
|
182
|
+
* const lazyGlob = import.meta.glob('./snippets/*.tsx')
|
|
183
|
+
* const mdast = mdxParse(mdxString)
|
|
184
|
+
* const modules = await resolveModules({ glob: lazyGlob, mdast, baseUrl: './pages/' })
|
|
185
|
+
* <SafeMdxRenderer modules={modules} baseUrl="./pages/" ... />
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
export async function resolveModules({ glob, mdast, baseUrl, }) {
|
|
189
|
+
const imports = extractImports(mdast);
|
|
190
|
+
if (imports.length === 0)
|
|
191
|
+
return {};
|
|
192
|
+
const keys = Object.keys(glob);
|
|
193
|
+
const result = {};
|
|
194
|
+
await Promise.all(imports.map(async (imp) => {
|
|
195
|
+
const resolved = resolveModulePath(imp.source, baseUrl, keys);
|
|
196
|
+
if (!resolved || !glob[resolved])
|
|
197
|
+
return;
|
|
198
|
+
// Avoid loading the same module twice
|
|
199
|
+
if (result[resolved])
|
|
200
|
+
return;
|
|
201
|
+
result[resolved] = await glob[resolved]();
|
|
202
|
+
}));
|
|
203
|
+
return result;
|
|
204
|
+
}
|
|
78
205
|
const mdxProcessor = remark()
|
|
79
206
|
.use(remarkMdx)
|
|
80
207
|
.use(remarkFrontmatter, ['yaml', 'toml'])
|
package/dist/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAEpF,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
|
package/dist/safe-mdx.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { JSXElement } from 'estree-jsx';
|
|
|
4
4
|
import type { Node, Parent, Root, RootContent } from 'mdast';
|
|
5
5
|
import type { MdxJsxFlowElement, MdxJsxTextElement } from 'mdast-util-mdx-jsx';
|
|
6
6
|
import { ReactNode } from 'react';
|
|
7
|
+
import { type EagerModules } from './parse.js';
|
|
7
8
|
import { nativeTags } from './html/valid-html-elements.js';
|
|
8
9
|
export type MyRootContent = RootContent | Root;
|
|
9
10
|
declare module 'mdast' {
|
|
@@ -15,7 +16,9 @@ declare module 'mdast' {
|
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
18
|
export type RenderNode = (node: MyRootContent, transform: (node: MyRootContent) => ReactNode) => ReactNode | undefined;
|
|
19
|
+
export type SafeMdxErrorType = 'validation' | 'missing-component' | 'expression' | 'esm-import';
|
|
18
20
|
export interface SafeMdxError {
|
|
21
|
+
type: SafeMdxErrorType;
|
|
19
22
|
message: string;
|
|
20
23
|
line?: number;
|
|
21
24
|
schemaPath?: string;
|
|
@@ -31,6 +34,16 @@ export declare const SafeMdxRenderer: React.NamedExoticComponent<{
|
|
|
31
34
|
createElement?: CreateElementFunction;
|
|
32
35
|
allowClientEsmImports?: boolean;
|
|
33
36
|
addMarkdownLineNumbers?: boolean;
|
|
37
|
+
/** Pre-resolved modules keyed by file path (e.g. from `import.meta.glob`).
|
|
38
|
+
* When MDX contains `import { Card } from './card'`, the import source is
|
|
39
|
+
* resolved against these keys using `baseUrl` for relative paths. */
|
|
40
|
+
modules?: EagerModules;
|
|
41
|
+
/** Directory of the current MDX file, used to resolve relative import
|
|
42
|
+
* sources against `modules` keys. E.g. `'./pages/getting-started/'` */
|
|
43
|
+
baseUrl?: string;
|
|
44
|
+
/** Called for each error during rendering (missing components, invalid props, failed expressions).
|
|
45
|
+
* Throw inside this callback to stop rendering on first error. */
|
|
46
|
+
onError?: (error: SafeMdxError) => void;
|
|
34
47
|
}>;
|
|
35
48
|
export declare class MdastToJsx {
|
|
36
49
|
mdast: MyRootContent;
|
|
@@ -44,7 +57,10 @@ export declare class MdastToJsx {
|
|
|
44
57
|
esmImports: Map<string, string>;
|
|
45
58
|
allowClientEsmImports: boolean;
|
|
46
59
|
addMarkdownLineNumbers: boolean;
|
|
47
|
-
|
|
60
|
+
modules?: EagerModules;
|
|
61
|
+
baseUrl?: string;
|
|
62
|
+
onError?: (error: SafeMdxError) => void;
|
|
63
|
+
constructor({ markdown: code, mdast, components, renderNode, componentPropsSchema, createElement, allowClientEsmImports, addMarkdownLineNumbers, modules, baseUrl, onError, }: {
|
|
48
64
|
markdown?: string;
|
|
49
65
|
mdast: MyRootContent;
|
|
50
66
|
components?: ComponentsMap;
|
|
@@ -53,7 +69,19 @@ export declare class MdastToJsx {
|
|
|
53
69
|
createElement?: CreateElementFunction;
|
|
54
70
|
allowClientEsmImports?: boolean;
|
|
55
71
|
addMarkdownLineNumbers?: boolean;
|
|
72
|
+
modules?: EagerModules;
|
|
73
|
+
baseUrl?: string;
|
|
74
|
+
/** Called for each error during rendering (missing components, invalid props, failed expressions).
|
|
75
|
+
* Throw inside this callback to stop rendering on first error. */
|
|
76
|
+
onError?: (error: SafeMdxError) => void;
|
|
56
77
|
});
|
|
78
|
+
pushError(error: SafeMdxError): void;
|
|
79
|
+
/**
|
|
80
|
+
* Resolve import declarations from an mdxjsEsm node against `this.modules`.
|
|
81
|
+
* Resolved components are added directly to `this.c` (the component map)
|
|
82
|
+
* so the existing `accessWithDot` lookup finds them.
|
|
83
|
+
*/
|
|
84
|
+
resolveImportsFromModules(node: MyRootContent): void;
|
|
57
85
|
addLineNumberToProps(props: Record<string, any> | undefined, node: MyRootContent): Record<string, any>;
|
|
58
86
|
validateComponentProps(componentName: string, props: Record<string, any>, line?: number): void;
|
|
59
87
|
mapMdastChildren(node: any): any;
|
package/dist/safe-mdx.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-mdx.d.ts","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuB,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAE9E,OAAO,EAAY,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"safe-mdx.d.ts","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuB,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAE9E,OAAO,EAAY,SAAS,EAAE,MAAM,OAAO,CAAA;AAG3C,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AAEjE,OAAO,EAAqB,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAE7E,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,IAAI,CAAA;AAE9C,OAAO,QAAQ,OAAO,CAAC;IACnB,UAAiB,WAAW;QACxB,EAAE,CAAC,EAAE,MAAM,CAAA;KACd;IACD,UAAiB,IAAI;QACjB,WAAW,CAAC,EAAE,WAAW,CAAA;KAC5B;CACJ;AAED,MAAM,MAAM,UAAU,GAAG,CACrB,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,SAAS,KAC5C,SAAS,GAAG,SAAS,CAAA;AAE1B,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,mBAAmB,GAAG,YAAY,GAAG,YAAY,CAAA;AAE/F,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,gBAAgB,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;AAEnE,MAAM,MAAM,qBAAqB,GAAG,CAChC,IAAI,EAAE,GAAG,EACT,KAAK,CAAC,EAAE,GAAG,EACX,GAAG,QAAQ,EAAE,SAAS,EAAE,KACvB,SAAS,CAAA;AAEd,eAAO,MAAM,eAAe;iBAaX,aAAa;eACf,MAAM;YACT,aAAa;iBACR,UAAU;2BACA,oBAAoB;oBAC3B,qBAAqB;4BACb,OAAO;6BACN,OAAO;IAChC;;0EAEsE;cAC5D,YAAY;IACtB;4EACwE;cAC9D,MAAM;IAChB;uEACmE;cACzD,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI;EAiBzC,CAAA;AAEF,qBAAa,UAAU;IACnB,KAAK,EAAE,aAAa,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAK;IACnB,CAAC,EAAE,aAAa,CAAA;IAChB,MAAM,EAAE,YAAY,EAAE,CAAK;IAC3B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,aAAa,EAAE,qBAAqB,CAAA;IACpC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAY;IAC3C,qBAAqB,EAAE,OAAO,CAAA;IAC9B,sBAAsB,EAAE,OAAO,CAAA;IAC/B,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;gBAE3B,EACR,QAAQ,EAAE,IAAS,EACnB,KAAK,EACL,UAAgC,EAChC,UAAU,EACV,oBAAoB,EACpB,aAAmC,EACnC,qBAA6B,EAC7B,sBAA8B,EAC9B,OAAO,EACP,OAAO,EACP,OAAO,GACV,EAAE;QACC,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,KAAK,EAAE,aAAa,CAAA;QACpB,UAAU,CAAC,EAAE,aAAa,CAAA;QAC1B,UAAU,CAAC,EAAE,CACT,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,SAAS,KAC5C,SAAS,GAAG,SAAS,CAAA;QAC1B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;QAC3C,aAAa,CAAC,EAAE,qBAAqB,CAAA;QACrC,qBAAqB,CAAC,EAAE,OAAO,CAAA;QAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAA;QAChC,OAAO,CAAC,EAAE,YAAY,CAAA;QACtB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB;2EACmE;QACnE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;KAC1C;IA8BD,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKpC;;;;OAIG;IACH,yBAAyB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAiCpD,oBAAoB,CAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EACtC,IAAI,EAAE,aAAa,GACpB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAetB,sBAAsB,CAClB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,IAAI,CAAC,EAAE,MAAM,GACd,IAAI;IA6BP,gBAAgB,CAAC,IAAI,EAAE,GAAG;IAiB1B,cAAc,CAAC,IAAI,EAAE,GAAG;IAiBxB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS;IA0E9C,mBAAmB,CACf,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,EACrC,IAAI,CAAC,EAAE,MAAM,GACd,SAAS;IAgHZ,WAAW,CACP,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,EAC3C,OAAO,GAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAoB;IAkKxD,GAAG;IAQH,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS;CA8YvE;AAcD,wBAAgB,QAAQ,CACpB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,KAAK,GAAG,SAiBpC;AAUD,KAAK,aAAa,GAAG;KAAG,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG;CAAE,GAAG;IAChE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB,CAAA"}
|
package/dist/safe-mdx.js
CHANGED
|
@@ -3,9 +3,10 @@ import Evaluate from 'eval-estree-expression';
|
|
|
3
3
|
import { Fragment } from 'react';
|
|
4
4
|
import { DynamicEsmComponent } from 'safe-mdx/client';
|
|
5
5
|
import { extractComponentInfo, parseEsmImports } from './esm-parser.js';
|
|
6
|
+
import { resolveModulePath } from './parse.js';
|
|
6
7
|
import { htmlToMdxAst } from './html/html-to-mdx-ast.js';
|
|
7
8
|
import { validHtmlElements, nativeTags } from './html/valid-html-elements.js';
|
|
8
|
-
export const SafeMdxRenderer = React.memo(function SafeMdxRenderer({ components, markdown = '', mdast = null, renderNode, componentPropsSchema, createElement, allowClientEsmImports = false, addMarkdownLineNumbers = false, }) {
|
|
9
|
+
export const SafeMdxRenderer = React.memo(function SafeMdxRenderer({ components, markdown = '', mdast = null, renderNode, componentPropsSchema, createElement, allowClientEsmImports = false, addMarkdownLineNumbers = false, modules, baseUrl, onError, }) {
|
|
9
10
|
const visitor = new MdastToJsx({
|
|
10
11
|
markdown,
|
|
11
12
|
mdast,
|
|
@@ -15,6 +16,9 @@ export const SafeMdxRenderer = React.memo(function SafeMdxRenderer({ components,
|
|
|
15
16
|
createElement,
|
|
16
17
|
allowClientEsmImports,
|
|
17
18
|
addMarkdownLineNumbers,
|
|
19
|
+
modules,
|
|
20
|
+
baseUrl,
|
|
21
|
+
onError,
|
|
18
22
|
});
|
|
19
23
|
const result = visitor.run();
|
|
20
24
|
return result;
|
|
@@ -31,7 +35,10 @@ export class MdastToJsx {
|
|
|
31
35
|
esmImports = new Map();
|
|
32
36
|
allowClientEsmImports;
|
|
33
37
|
addMarkdownLineNumbers;
|
|
34
|
-
|
|
38
|
+
modules;
|
|
39
|
+
baseUrl;
|
|
40
|
+
onError;
|
|
41
|
+
constructor({ markdown: code = '', mdast, components = {}, renderNode, componentPropsSchema, createElement = React.createElement, allowClientEsmImports = false, addMarkdownLineNumbers = false, modules, baseUrl, onError, }) {
|
|
35
42
|
this.str = code;
|
|
36
43
|
this.mdast = mdast;
|
|
37
44
|
this.renderNode = renderNode;
|
|
@@ -39,6 +46,9 @@ export class MdastToJsx {
|
|
|
39
46
|
this.createElement = createElement;
|
|
40
47
|
this.allowClientEsmImports = allowClientEsmImports;
|
|
41
48
|
this.addMarkdownLineNumbers = addMarkdownLineNumbers;
|
|
49
|
+
this.modules = modules;
|
|
50
|
+
this.baseUrl = baseUrl;
|
|
51
|
+
this.onError = onError;
|
|
42
52
|
this.c = {
|
|
43
53
|
...Object.fromEntries(nativeTags.map((tag) => {
|
|
44
54
|
return [tag, tag];
|
|
@@ -46,6 +56,50 @@ export class MdastToJsx {
|
|
|
46
56
|
...components,
|
|
47
57
|
};
|
|
48
58
|
}
|
|
59
|
+
pushError(error) {
|
|
60
|
+
this.errors.push(error);
|
|
61
|
+
this.onError?.(error);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Resolve import declarations from an mdxjsEsm node against `this.modules`.
|
|
65
|
+
* Resolved components are added directly to `this.c` (the component map)
|
|
66
|
+
* so the existing `accessWithDot` lookup finds them.
|
|
67
|
+
*/
|
|
68
|
+
resolveImportsFromModules(node) {
|
|
69
|
+
const estree = node.data?.estree;
|
|
70
|
+
if (!estree)
|
|
71
|
+
return;
|
|
72
|
+
const moduleKeys = Object.keys(this.modules);
|
|
73
|
+
for (const statement of estree.body) {
|
|
74
|
+
if (statement.type !== 'ImportDeclaration')
|
|
75
|
+
continue;
|
|
76
|
+
const source = statement.source?.value;
|
|
77
|
+
if (typeof source !== 'string')
|
|
78
|
+
continue;
|
|
79
|
+
const resolved = resolveModulePath(source, this.baseUrl || './', moduleKeys);
|
|
80
|
+
if (!resolved)
|
|
81
|
+
continue;
|
|
82
|
+
const mod = this.modules[resolved];
|
|
83
|
+
if (!mod)
|
|
84
|
+
continue;
|
|
85
|
+
for (const spec of statement.specifiers ?? []) {
|
|
86
|
+
if (spec.type === 'ImportDefaultSpecifier') {
|
|
87
|
+
this.c[spec.local.name] = mod.default ?? mod;
|
|
88
|
+
}
|
|
89
|
+
else if (spec.type === 'ImportSpecifier') {
|
|
90
|
+
const importedName = spec.imported.type === 'Identifier'
|
|
91
|
+
? spec.imported.name
|
|
92
|
+
: String(spec.imported.value);
|
|
93
|
+
this.c[spec.local.name] = mod[importedName];
|
|
94
|
+
}
|
|
95
|
+
else if (spec.type === 'ImportNamespaceSpecifier') {
|
|
96
|
+
// Namespace import: import * as UI from '...'
|
|
97
|
+
// Supports <UI.Card> via accessWithDot
|
|
98
|
+
this.c[spec.local.name] = mod;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
49
103
|
addLineNumberToProps(props, node) {
|
|
50
104
|
if (!this.addMarkdownLineNumbers) {
|
|
51
105
|
return props || {};
|
|
@@ -74,7 +128,8 @@ export class MdastToJsx {
|
|
|
74
128
|
if (result.issues) {
|
|
75
129
|
result.issues.forEach((issue) => {
|
|
76
130
|
const propPath = issue.path?.join('.') || 'unknown';
|
|
77
|
-
this.
|
|
131
|
+
this.pushError({
|
|
132
|
+
type: 'validation',
|
|
78
133
|
message: `Invalid props for component "${componentName}" at "${propPath}": ${issue.message}`,
|
|
79
134
|
line,
|
|
80
135
|
schemaPath: issue.path?.join('.'),
|
|
@@ -137,7 +192,7 @@ export class MdastToJsx {
|
|
|
137
192
|
const { importUrl, componentName } = extractComponentInfo(esmImportInfo);
|
|
138
193
|
Component = DynamicEsmComponent;
|
|
139
194
|
let attrsList = this.getJsxAttrs(node, (err) => {
|
|
140
|
-
this.
|
|
195
|
+
this.pushError(err);
|
|
141
196
|
});
|
|
142
197
|
let attrs = Object.fromEntries(attrsList);
|
|
143
198
|
return this.createElement(Component, this.addLineNumberToProps({ ...attrs, importUrl, componentName }, node), this.mapJsxChildren(node));
|
|
@@ -145,7 +200,8 @@ export class MdastToJsx {
|
|
|
145
200
|
else {
|
|
146
201
|
Component = accessWithDot(this.c, node.name);
|
|
147
202
|
if (!Component) {
|
|
148
|
-
this.
|
|
203
|
+
this.pushError({
|
|
204
|
+
type: 'missing-component',
|
|
149
205
|
message: `Unsupported jsx component ${node.name}`,
|
|
150
206
|
line: node.position?.start?.line,
|
|
151
207
|
});
|
|
@@ -153,7 +209,7 @@ export class MdastToJsx {
|
|
|
153
209
|
}
|
|
154
210
|
}
|
|
155
211
|
let attrsList = this.getJsxAttrs(node, (err) => {
|
|
156
|
-
this.
|
|
212
|
+
this.pushError(err);
|
|
157
213
|
});
|
|
158
214
|
let attrs = Object.fromEntries(attrsList);
|
|
159
215
|
// Validate component props with schema if available
|
|
@@ -174,6 +230,7 @@ export class MdastToJsx {
|
|
|
174
230
|
: null;
|
|
175
231
|
if (!tagName) {
|
|
176
232
|
onError?.({
|
|
233
|
+
type: 'expression',
|
|
177
234
|
message: 'JSX element missing component name',
|
|
178
235
|
line: line,
|
|
179
236
|
});
|
|
@@ -194,6 +251,7 @@ export class MdastToJsx {
|
|
|
194
251
|
Component = accessWithDot(this.c, tagName);
|
|
195
252
|
if (!Component) {
|
|
196
253
|
onError?.({
|
|
254
|
+
type: 'missing-component',
|
|
197
255
|
message: `Unsupported jsx component ${tagName} in attribute`,
|
|
198
256
|
line: line,
|
|
199
257
|
});
|
|
@@ -252,6 +310,7 @@ export class MdastToJsx {
|
|
|
252
310
|
catch (error) {
|
|
253
311
|
// Return null if transformation fails
|
|
254
312
|
onError?.({
|
|
313
|
+
type: 'expression',
|
|
255
314
|
message: `Failed to transform JSX element: ${error instanceof Error ? error.message : 'Unknown error'}`,
|
|
256
315
|
line: line,
|
|
257
316
|
});
|
|
@@ -281,6 +340,7 @@ export class MdastToJsx {
|
|
|
281
340
|
}
|
|
282
341
|
catch (error) {
|
|
283
342
|
onError({
|
|
343
|
+
type: 'expression',
|
|
284
344
|
message: `Failed to evaluate expression attribute: ${attr.value
|
|
285
345
|
.replace(/\n+/g, ' ')
|
|
286
346
|
.replace(/ +/g, ' ')}. ${error instanceof Error
|
|
@@ -293,6 +353,7 @@ export class MdastToJsx {
|
|
|
293
353
|
}
|
|
294
354
|
catch (error) {
|
|
295
355
|
onError({
|
|
356
|
+
type: 'expression',
|
|
296
357
|
message: `Failed to evaluate expression attribute: ${attr.value
|
|
297
358
|
.replace(/\n+/g, ' ')
|
|
298
359
|
.replace(/ +/g, ' ')}. ${error instanceof Error
|
|
@@ -304,6 +365,7 @@ export class MdastToJsx {
|
|
|
304
365
|
}
|
|
305
366
|
else {
|
|
306
367
|
onError({
|
|
368
|
+
type: 'expression',
|
|
307
369
|
message: `Expressions in jsx props are not supported (${attr.value
|
|
308
370
|
.replace(/\n+/g, ' ')
|
|
309
371
|
.replace(/ +/g, ' ')})`,
|
|
@@ -314,6 +376,7 @@ export class MdastToJsx {
|
|
|
314
376
|
}
|
|
315
377
|
if (attr.type !== 'mdxJsxAttribute') {
|
|
316
378
|
onError({
|
|
379
|
+
type: 'expression',
|
|
317
380
|
message: `non mdxJsxAttribute attribute is not supported: ${attr}`,
|
|
318
381
|
line: node.position?.start?.line,
|
|
319
382
|
});
|
|
@@ -370,6 +433,7 @@ export class MdastToJsx {
|
|
|
370
433
|
}
|
|
371
434
|
catch (error) {
|
|
372
435
|
onError({
|
|
436
|
+
type: 'expression',
|
|
373
437
|
message: `Failed to evaluate expression attribute: ${attr.name}={${v.value}}. ${error instanceof Error
|
|
374
438
|
? error.message
|
|
375
439
|
: String(error)}`,
|
|
@@ -383,6 +447,7 @@ export class MdastToJsx {
|
|
|
383
447
|
}
|
|
384
448
|
}
|
|
385
449
|
onError({
|
|
450
|
+
type: 'expression',
|
|
386
451
|
message: `Expressions in jsx prop not evaluated: (${attr.name}={${v.value}})`,
|
|
387
452
|
line: attr.position?.start?.line,
|
|
388
453
|
});
|
|
@@ -410,9 +475,13 @@ export class MdastToJsx {
|
|
|
410
475
|
}
|
|
411
476
|
switch (node.type) {
|
|
412
477
|
case 'mdxjsEsm': {
|
|
413
|
-
//
|
|
478
|
+
// Resolve imports from pre-loaded modules (server-side)
|
|
479
|
+
if (this.modules) {
|
|
480
|
+
this.resolveImportsFromModules(node);
|
|
481
|
+
}
|
|
482
|
+
// Parse ESM imports for client-side dynamic loading (only if allowed)
|
|
414
483
|
if (this.allowClientEsmImports) {
|
|
415
|
-
const parsedImports = parseEsmImports(node, (err) => this.
|
|
484
|
+
const parsedImports = parseEsmImports(node, (err) => this.pushError(err));
|
|
416
485
|
parsedImports.forEach((value, key) => {
|
|
417
486
|
this.esmImports.set(key, value);
|
|
418
487
|
});
|
|
@@ -458,7 +527,8 @@ export class MdastToJsx {
|
|
|
458
527
|
return result;
|
|
459
528
|
}
|
|
460
529
|
catch (error) {
|
|
461
|
-
this.
|
|
530
|
+
this.pushError({
|
|
531
|
+
type: 'expression',
|
|
462
532
|
message: `Failed to evaluate expression: ${node.value}. ${error instanceof Error
|
|
463
533
|
? error.message
|
|
464
534
|
: String(error)}`,
|
|
@@ -468,7 +538,8 @@ export class MdastToJsx {
|
|
|
468
538
|
}
|
|
469
539
|
}
|
|
470
540
|
catch (error) {
|
|
471
|
-
this.
|
|
541
|
+
this.pushError({
|
|
542
|
+
type: 'expression',
|
|
472
543
|
message: `Failed to evaluate expression: ${node.value}. ${error instanceof Error
|
|
473
544
|
? error.message
|
|
474
545
|
: String(error)}`,
|
package/dist/safe-mdx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-mdx.js","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"safe-mdx.js","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":"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"}
|