@docusaurus/mdx-loader 4.0.0-canary-6835 → 4.0.0-canary-6839
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/createMDXLoader.d.ts.map +1 -1
- package/lib/createMDXLoader.js +1 -0
- package/lib/createMDXLoader.js.map +1 -1
- package/lib/options.d.ts +2 -0
- package/lib/options.d.ts.map +1 -1
- package/lib/processor.d.ts.map +1 -1
- package/lib/processor.js +17 -0
- package/lib/processor.js.map +1 -1
- package/package.json +7 -7
- package/src/createMDXLoader.ts +1 -0
- package/src/options.ts +4 -0
- package/src/processor.ts +26 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMDXLoader.d.ts","sourceRoot":"","sources":["../src/createMDXLoader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,SAAS,CAAC;AAEzD,KAAK,aAAa,GAAG;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AA8BF,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,GAAG,aAAa,GAC/B,cAAc,CAKhB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,OAAO,GACR,EAAE;IACD,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,EAAE,OAAO,GAAG,aAAa,CAAC;CAClC,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"createMDXLoader.d.ts","sourceRoot":"","sources":["../src/createMDXLoader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,SAAS,CAAC;AAEzD,KAAK,aAAa,GAAG;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AA8BF,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,GAAG,aAAa,GAC/B,cAAc,CAKhB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,OAAO,GACR,EAAE;IACD,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,EAAE,OAAO,GAAG,aAAa,CAAC;CAClC,GAAG,WAAW,CAOd"}
|
package/lib/createMDXLoader.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMDXLoader.js","sourceRoot":"","sources":["../src/createMDXLoader.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,2CAA6C;AAQ7C,SAAS,gBAAgB,CAAC,YAAqC;IAC7D,yCAAyC;IACzC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAC1D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,OAAO,GAAG,YAAY,CAAC;IAE3B,6EAA6E;IAC7E,2EAA2E;IAC3E,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,GAAG,EAAC,GAAG,OAAO,EAAE,UAAU,EAAE,IAAA,4BAAgB,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,CAAC;IAClE,CAAC;IAED,sEAAsE;IACtE,wDAAwD;IACxD,wEAAwE;IACxE,yEAAyE;IACzE,IAAI,OAAO,CAAC,qBAAqB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC3E,OAAO,GAAG;YACR,GAAG,OAAO;YACV,kBAAkB,EAAE,IAAI,GAAG,EAAE;SAC9B,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,6BACE,OAAgC;IAEhC,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QAClC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,6BAAoC,EAClC,OAAO,EACP,OAAO,GAIR;IACC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,OAAO;QACP,GAAG,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;KACpC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"createMDXLoader.js","sourceRoot":"","sources":["../src/createMDXLoader.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,2CAA6C;AAQ7C,SAAS,gBAAgB,CAAC,YAAqC;IAC7D,yCAAyC;IACzC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAC1D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,OAAO,GAAG,YAAY,CAAC;IAE3B,6EAA6E;IAC7E,2EAA2E;IAC3E,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,GAAG,EAAC,GAAG,OAAO,EAAE,UAAU,EAAE,IAAA,4BAAgB,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,CAAC;IAClE,CAAC;IAED,sEAAsE;IACtE,wDAAwD;IACxD,wEAAwE;IACxE,yEAAyE;IACzE,IAAI,OAAO,CAAC,qBAAqB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC3E,OAAO,GAAG;YACR,GAAG,OAAO;YACV,kBAAkB,EAAE,IAAI,GAAG,EAAE;SAC9B,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,6BACE,OAAgC;IAEhC,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QAClC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,6BAAoC,EAClC,OAAO,EACP,OAAO,GAIR;IACC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,OAAO;QACP,IAAI,EAAE,EAAC,IAAI,EAAE,EAAC,GAAG,EAAE,MAAM,EAAC,EAAC;QAC3B,GAAG,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;KACpC,CAAC;AACJ,CAAC"}
|
package/lib/options.d.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import type { MDXOptions, SimpleProcessors } from './processor';
|
|
8
8
|
import type { MarkdownConfig } from '@docusaurus/types';
|
|
9
9
|
import type { ResolveMarkdownLink } from './remark/resolveMarkdownLinks';
|
|
10
|
+
import type { Options as RemarkMdxOptions } from 'remark-mdx';
|
|
10
11
|
export type Options = Partial<MDXOptions> & {
|
|
11
12
|
dependencies?: string[];
|
|
12
13
|
markdownConfig: MarkdownConfig;
|
|
@@ -25,6 +26,7 @@ export type Options = Partial<MDXOptions> & {
|
|
|
25
26
|
[key: string]: unknown;
|
|
26
27
|
};
|
|
27
28
|
resolveMarkdownLink?: ResolveMarkdownLink;
|
|
29
|
+
remarkMdxOptions?: RemarkMdxOptions;
|
|
28
30
|
processors?: SimpleProcessors;
|
|
29
31
|
crossCompilerCache?: Map<string, CrossCompilerCacheEntry>;
|
|
30
32
|
};
|
package/lib/options.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAE5D,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG;IAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,sCAAsC,CAAC,EAAE,OAAO,CAAC;IACjD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SAAC,CAAC;KACvC,KAAK;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;IAC/B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAG1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAGpC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CAC3D,CAAC;AAEF,KAAK,uBAAuB,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC"}
|
package/lib/processor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyBH,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAO5D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAEvC,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,CAAC,EACR,OAAO,EACP,QAAQ,EACR,WAAW,EACX,YAAY,GACb,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SAAC,CAAC;QACtC,YAAY,EAAE,mBAAmB,CAAC;KACnC,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;AAOlC,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClD,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,0BAA0B,EAAE,SAAS,EAAE,CAAC;IACxC,0BAA0B,EAAE,SAAS,EAAE,CAAC;CACzC,CAAC;AA+CF,wBAAgB,uBAAuB,CAAC,EACtC,OAAO,EACP,MAAM,GACP,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,IAAI,GAAG,KAAK,CAAC;CACtB,GAAG,eAAe,CAmHlB;AAGD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,eAAe,CAAC;IAC7B,YAAY,EAAE,eAAe,CAAC;CAC/B,CAAC;AAMF,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,GACR,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,gBAAgB,CAWnB;AAgBD,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,cAAc,EACd,OAAO,GACR,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,eAAe,CAWlB"}
|
package/lib/processor.js
CHANGED
|
@@ -17,6 +17,7 @@ const remark_gfm_1 = tslib_1.__importDefault(require("remark-gfm"));
|
|
|
17
17
|
// TODO using fork until PR merged: https://github.com/leebyron/remark-comment/pull/3
|
|
18
18
|
const remark_comment_1 = tslib_1.__importDefault(require("@slorber/remark-comment"));
|
|
19
19
|
const remark_directive_1 = tslib_1.__importDefault(require("remark-directive"));
|
|
20
|
+
const remark_mdx_1 = tslib_1.__importDefault(require("remark-mdx"));
|
|
20
21
|
const vfile_1 = require("vfile");
|
|
21
22
|
const remark_emoji_1 = tslib_1.__importDefault(require("remark-emoji"));
|
|
22
23
|
const headings_1 = tslib_1.__importDefault(require("./remark/headings"));
|
|
@@ -32,6 +33,10 @@ const admonitions_1 = tslib_1.__importDefault(require("./remark/admonitions"));
|
|
|
32
33
|
const unusedDirectives_1 = tslib_1.__importDefault(require("./remark/unusedDirectives"));
|
|
33
34
|
const codeCompatPlugin_1 = tslib_1.__importDefault(require("./remark/mdx1Compat/codeCompatPlugin"));
|
|
34
35
|
const format_1 = require("./format");
|
|
36
|
+
// MDX defaults to ES2024, we opt-in for ES2025 syntax (import attributes...)
|
|
37
|
+
const DefaultRemarkMdxOptions = {
|
|
38
|
+
acornOptions: { ecmaVersion: 2025, sourceType: 'module' },
|
|
39
|
+
};
|
|
35
40
|
function getAdmonitionsPlugins(admonitionsOption) {
|
|
36
41
|
if (admonitionsOption) {
|
|
37
42
|
const plugin = admonitionsOption === true
|
|
@@ -51,10 +56,22 @@ function getDefaultRemarkPlugins({ options }) {
|
|
|
51
56
|
toc_1.default,
|
|
52
57
|
];
|
|
53
58
|
}
|
|
59
|
+
// MDX's createProcessor() registers remark-mdx without options
|
|
60
|
+
// See https://github.com/mdx-js/mdx/issues/2628
|
|
61
|
+
// unified dedupes plugins by reference: using remark-mdx again reconfigures
|
|
62
|
+
// the existing attacher in place, at its original pipeline position
|
|
63
|
+
// This only applies to the 'mdx' format: we must not add remark-mdx for 'md'
|
|
64
|
+
function getRemarkMdxPlugins({ options, format, }) {
|
|
65
|
+
if (format === 'md') {
|
|
66
|
+
return [];
|
|
67
|
+
}
|
|
68
|
+
return [[remark_mdx_1.default, options.remarkMdxOptions ?? DefaultRemarkMdxOptions]];
|
|
69
|
+
}
|
|
54
70
|
// /!\ this method is synchronous on purpose
|
|
55
71
|
// Using async code here can create cache entry race conditions!
|
|
56
72
|
function createProcessorUncached({ options, format, }) {
|
|
57
73
|
const remarkPlugins = [
|
|
74
|
+
...getRemarkMdxPlugins({ options, format }),
|
|
58
75
|
...(options.beforeDefaultRemarkPlugins ?? []),
|
|
59
76
|
remark_frontmatter_1.default,
|
|
60
77
|
remark_directive_1.default,
|
package/lib/processor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;AAEH,qCAAkE;AAClE,oFAA6C;AAC7C,oEAAmC;AACnC,oEAA6B;AAC7B,qFAAqF;AACrF,qFAAoD;AACpD,gFAAyC;AACzC,iCAA4B;AAC5B,wEAAiC;AACjC,yEAAyC;AACzC,iFAAiD;AACjD,+DAA+B;AAC/B,qFAAqD;AACrD,qFAAqD;AACrD,iGAAiE;AACjE,uEAAuC;AACvC,iEAAiC;AACjC,uEAAuC;AACvC,+EAAwD;AACxD,yFAAyD;AACzD,oGAAoE;AACpE,qCAAmC;
|
|
1
|
+
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/mdx-loader",
|
|
3
|
-
"version": "4.0.0-canary-
|
|
3
|
+
"version": "4.0.0-canary-6839",
|
|
4
4
|
"description": "Docusaurus Loader for MDX",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
},
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@docusaurus/logger": "4.0.0-canary-
|
|
22
|
-
"@docusaurus/utils": "4.0.0-canary-
|
|
23
|
-
"@docusaurus/utils-validation": "4.0.0-canary-
|
|
21
|
+
"@docusaurus/logger": "4.0.0-canary-6839",
|
|
22
|
+
"@docusaurus/utils": "4.0.0-canary-6839",
|
|
23
|
+
"@docusaurus/utils-validation": "4.0.0-canary-6839",
|
|
24
24
|
"@mdx-js/mdx": "^3.1.1",
|
|
25
25
|
"@slorber/remark-comment": "^1.0.0",
|
|
26
26
|
"escape-html": "^1.0.3",
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"remark-emoji": "^5.0.2",
|
|
36
36
|
"remark-frontmatter": "^5.0.0",
|
|
37
37
|
"remark-gfm": "^4.0.1",
|
|
38
|
+
"remark-mdx": "^3.1.1",
|
|
38
39
|
"stringify-object": "^7.0.0",
|
|
39
40
|
"tslib": "^2.8.1",
|
|
40
41
|
"unified": "^11.0.5",
|
|
@@ -44,7 +45,7 @@
|
|
|
44
45
|
"webpack": "^5.111.0"
|
|
45
46
|
},
|
|
46
47
|
"devDependencies": {
|
|
47
|
-
"@docusaurus/types": "4.0.0-canary-
|
|
48
|
+
"@docusaurus/types": "4.0.0-canary-6839",
|
|
48
49
|
"@types/escape-html": "^1.0.4",
|
|
49
50
|
"@types/estree": "^1.0.9",
|
|
50
51
|
"@types/mdast": "^4.0.4",
|
|
@@ -53,7 +54,6 @@
|
|
|
53
54
|
"mdast-util-directive": "3.1.0",
|
|
54
55
|
"rehype-stringify": "^10.0.1",
|
|
55
56
|
"remark": "^15.0.1",
|
|
56
|
-
"remark-mdx": "^3.1.1",
|
|
57
57
|
"remark-rehype": "^11.1.2",
|
|
58
58
|
"to-vfile": "^8.0.0",
|
|
59
59
|
"unist-builder": "^4.0.0",
|
|
@@ -66,5 +66,5 @@
|
|
|
66
66
|
"engines": {
|
|
67
67
|
"node": ">=24.21"
|
|
68
68
|
},
|
|
69
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "c93a33b60c528917c38fbf07e54c14ff52bdc190"
|
|
70
70
|
}
|
package/src/createMDXLoader.ts
CHANGED
package/src/options.ts
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import type {MDXOptions, SimpleProcessors} from './processor';
|
|
9
9
|
import type {MarkdownConfig} from '@docusaurus/types';
|
|
10
10
|
import type {ResolveMarkdownLink} from './remark/resolveMarkdownLinks';
|
|
11
|
+
import type {Options as RemarkMdxOptions} from 'remark-mdx';
|
|
11
12
|
|
|
12
13
|
export type Options = Partial<MDXOptions> & {
|
|
13
14
|
dependencies?: string[];
|
|
@@ -24,6 +25,9 @@ export type Options = Partial<MDXOptions> & {
|
|
|
24
25
|
frontMatter: {[key: string]: unknown};
|
|
25
26
|
}) => {[key: string]: unknown};
|
|
26
27
|
resolveMarkdownLink?: ResolveMarkdownLink;
|
|
28
|
+
// Options passed to remark-mdx (only for the 'mdx' format)
|
|
29
|
+
// Replaces our default {acornOptions: {ecmaVersion: 2025, sourceType: 'module'}}
|
|
30
|
+
remarkMdxOptions?: RemarkMdxOptions;
|
|
27
31
|
|
|
28
32
|
// Will usually be created by "createMDXLoaderItem"
|
|
29
33
|
processors?: SimpleProcessors;
|
package/src/processor.ts
CHANGED
|
@@ -12,6 +12,7 @@ import gfm from 'remark-gfm';
|
|
|
12
12
|
// TODO using fork until PR merged: https://github.com/leebyron/remark-comment/pull/3
|
|
13
13
|
import remarkComment from '@slorber/remark-comment';
|
|
14
14
|
import directive from 'remark-directive';
|
|
15
|
+
import remarkMdx from 'remark-mdx';
|
|
15
16
|
import {VFile} from 'vfile';
|
|
16
17
|
import emoji from 'remark-emoji';
|
|
17
18
|
import headings from './remark/headings';
|
|
@@ -36,6 +37,7 @@ import type {PluginOptions as TransformLinksOptions} from './remark/transformLin
|
|
|
36
37
|
import type {PluginOptions as TransformImageOptions} from './remark/transformImage';
|
|
37
38
|
import type {PluginOptions as UnusedDirectivesOptions} from './remark/unusedDirectives';
|
|
38
39
|
import type {ProcessorOptions} from '@mdx-js/mdx';
|
|
40
|
+
import type {Options as RemarkMdxOptions} from 'remark-mdx';
|
|
39
41
|
import type {Pluggable} from 'unified';
|
|
40
42
|
|
|
41
43
|
export type SimpleProcessorResult = {
|
|
@@ -59,6 +61,11 @@ export type SimpleProcessor = {
|
|
|
59
61
|
|
|
60
62
|
export type MDXPlugin = Pluggable;
|
|
61
63
|
|
|
64
|
+
// MDX defaults to ES2024, we opt-in for ES2025 syntax (import attributes...)
|
|
65
|
+
const DefaultRemarkMdxOptions: RemarkMdxOptions = {
|
|
66
|
+
acornOptions: {ecmaVersion: 2025, sourceType: 'module'},
|
|
67
|
+
};
|
|
68
|
+
|
|
62
69
|
export type MDXOptions = {
|
|
63
70
|
admonitions: boolean | Partial<AdmonitionOptions>;
|
|
64
71
|
remarkPlugins: MDXPlugin[];
|
|
@@ -93,6 +100,24 @@ function getDefaultRemarkPlugins({options}: {options: Options}): MDXPlugin[] {
|
|
|
93
100
|
];
|
|
94
101
|
}
|
|
95
102
|
|
|
103
|
+
// MDX's createProcessor() registers remark-mdx without options
|
|
104
|
+
// See https://github.com/mdx-js/mdx/issues/2628
|
|
105
|
+
// unified dedupes plugins by reference: using remark-mdx again reconfigures
|
|
106
|
+
// the existing attacher in place, at its original pipeline position
|
|
107
|
+
// This only applies to the 'mdx' format: we must not add remark-mdx for 'md'
|
|
108
|
+
function getRemarkMdxPlugins({
|
|
109
|
+
options,
|
|
110
|
+
format,
|
|
111
|
+
}: {
|
|
112
|
+
options: Options;
|
|
113
|
+
format: 'md' | 'mdx';
|
|
114
|
+
}): MDXPlugin[] {
|
|
115
|
+
if (format === 'md') {
|
|
116
|
+
return [];
|
|
117
|
+
}
|
|
118
|
+
return [[remarkMdx, options.remarkMdxOptions ?? DefaultRemarkMdxOptions]];
|
|
119
|
+
}
|
|
120
|
+
|
|
96
121
|
// /!\ this method is synchronous on purpose
|
|
97
122
|
// Using async code here can create cache entry race conditions!
|
|
98
123
|
export function createProcessorUncached({
|
|
@@ -103,6 +128,7 @@ export function createProcessorUncached({
|
|
|
103
128
|
format: 'md' | 'mdx';
|
|
104
129
|
}): SimpleProcessor {
|
|
105
130
|
const remarkPlugins: MDXPlugin[] = [
|
|
131
|
+
...getRemarkMdxPlugins({options, format}),
|
|
106
132
|
...(options.beforeDefaultRemarkPlugins ?? []),
|
|
107
133
|
frontmatter,
|
|
108
134
|
directive,
|