@docusaurus/mdx-loader 3.0.0-beta.0 → 3.0.0-rc.1
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/loader.d.ts.map +1 -1
- package/lib/loader.js +20 -11
- package/lib/loader.js.map +1 -1
- package/lib/processor.d.ts +13 -2
- package/lib/processor.d.ts.map +1 -1
- package/lib/processor.js +27 -16
- package/lib/processor.js.map +1 -1
- package/lib/remark/admonitions/index.d.ts.map +1 -1
- package/lib/remark/admonitions/index.js +5 -10
- package/lib/remark/admonitions/index.js.map +1 -1
- package/lib/remark/contentTitle/index.d.ts +15 -0
- package/lib/remark/contentTitle/index.d.ts.map +1 -0
- package/lib/remark/contentTitle/index.js +38 -0
- package/lib/remark/contentTitle/index.js.map +1 -0
- package/lib/remark/details/index.d.ts.map +1 -1
- package/lib/remark/details/index.js +3 -4
- package/lib/remark/details/index.js.map +1 -1
- package/lib/remark/head/index.d.ts.map +1 -1
- package/lib/remark/head/index.js +3 -4
- package/lib/remark/head/index.js.map +1 -1
- package/lib/remark/headings/index.d.ts.map +1 -1
- package/lib/remark/headings/index.js +2 -3
- package/lib/remark/headings/index.js.map +1 -1
- package/lib/remark/mdx1Compat/codeCompatPlugin.d.ts.map +1 -1
- package/lib/remark/mdx1Compat/codeCompatPlugin.js +4 -9
- package/lib/remark/mdx1Compat/codeCompatPlugin.js.map +1 -1
- package/lib/remark/mermaid/index.d.ts.map +1 -1
- package/lib/remark/mermaid/index.js +5 -5
- package/lib/remark/mermaid/index.js.map +1 -1
- package/lib/remark/toc/index.d.ts.map +1 -1
- package/lib/remark/toc/index.js +2 -2
- package/lib/remark/toc/index.js.map +1 -1
- package/lib/remark/transformImage/index.d.ts.map +1 -1
- package/lib/remark/transformImage/index.js +8 -7
- package/lib/remark/transformImage/index.js.map +1 -1
- package/lib/remark/transformLinks/index.d.ts.map +1 -1
- package/lib/remark/transformLinks/index.js +8 -7
- package/lib/remark/transformLinks/index.js.map +1 -1
- package/lib/remark/unusedDirectives/index.d.ts +4 -0
- package/lib/remark/unusedDirectives/index.d.ts.map +1 -0
- package/lib/remark/unusedDirectives/index.js +117 -0
- package/lib/remark/unusedDirectives/index.js.map +1 -0
- package/lib/remark/utils/index.d.ts +10 -3
- package/lib/remark/utils/index.d.ts.map +1 -1
- package/lib/remark/utils/index.js +19 -1
- package/lib/remark/utils/index.js.map +1 -1
- package/package.json +26 -25
- package/src/loader.ts +29 -17
- package/src/processor.ts +36 -18
- package/src/remark/admonitions/index.ts +3 -1
- package/src/remark/contentTitle/index.ts +55 -0
- package/src/remark/details/index.ts +2 -2
- package/src/remark/head/index.ts +2 -2
- package/src/remark/headings/index.ts +1 -1
- package/src/remark/mdx1Compat/codeCompatPlugin.ts +6 -8
- package/src/remark/mermaid/index.ts +7 -4
- package/src/remark/toc/index.ts +11 -5
- package/src/remark/transformImage/index.ts +9 -10
- package/src/remark/transformLinks/index.ts +9 -10
- package/src/remark/unusedDirectives/index.ts +167 -0
- package/src/remark/utils/index.ts +23 -2
- package/src/types.d.mts +34 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/toc/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,0CAAwD;AACxD,uEAAuC;AACvC,gFAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/toc/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/transformImage/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/transformImage/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAUzC,KAAK,aAAa,GAAG;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA2JF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,WAAW,CAelE"}
|
|
@@ -12,7 +12,6 @@ const url_1 = tslib_1.__importDefault(require("url"));
|
|
|
12
12
|
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
13
13
|
const util_1 = require("util");
|
|
14
14
|
const utils_1 = require("@docusaurus/utils");
|
|
15
|
-
const unist_util_visit_1 = tslib_1.__importDefault(require("unist-util-visit"));
|
|
16
15
|
const escape_html_1 = tslib_1.__importDefault(require("escape-html"));
|
|
17
16
|
const image_size_1 = tslib_1.__importDefault(require("image-size"));
|
|
18
17
|
const logger_1 = tslib_1.__importDefault(require("@docusaurus/logger"));
|
|
@@ -72,11 +71,12 @@ async function toImageRequireNode([node], imagePath, filePath) {
|
|
|
72
71
|
${err.message}`;
|
|
73
72
|
}
|
|
74
73
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
74
|
+
(0, utils_2.transformNode)(jsxNode, {
|
|
75
|
+
type: 'mdxJsxTextElement',
|
|
76
|
+
name: 'img',
|
|
77
|
+
attributes,
|
|
78
|
+
children: [],
|
|
79
|
+
});
|
|
80
80
|
}
|
|
81
81
|
async function ensureImageFileExist(imagePath, sourceFilePath) {
|
|
82
82
|
const imageExists = await fs_extra_1.default.pathExists(imagePath);
|
|
@@ -127,8 +127,9 @@ async function processImageNode(target, context) {
|
|
|
127
127
|
}
|
|
128
128
|
function plugin(options) {
|
|
129
129
|
return async (root, vfile) => {
|
|
130
|
+
const { visit } = await import('unist-util-visit');
|
|
130
131
|
const promises = [];
|
|
131
|
-
(
|
|
132
|
+
visit(root, 'image', (node, index, parent) => {
|
|
132
133
|
promises.push(processImageNode([node, index, parent], {
|
|
133
134
|
...options,
|
|
134
135
|
filePath: vfile.path,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/transformImage/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,wDAAwB;AACxB,sDAAsB;AACtB,gEAA0B;AAC1B,+BAA+B;AAC/B,6CAM2B;AAC3B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/transformImage/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/transformLinks/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/transformLinks/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAUzC,KAAK,aAAa,GAAG;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA6IF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,WAAW,CAelE"}
|
|
@@ -11,7 +11,6 @@ const path_1 = tslib_1.__importDefault(require("path"));
|
|
|
11
11
|
const url_1 = tslib_1.__importDefault(require("url"));
|
|
12
12
|
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
13
13
|
const utils_1 = require("@docusaurus/utils");
|
|
14
|
-
const unist_util_visit_1 = tslib_1.__importDefault(require("unist-util-visit"));
|
|
15
14
|
const escape_html_1 = tslib_1.__importDefault(require("escape-html"));
|
|
16
15
|
const utils_2 = require("../utils");
|
|
17
16
|
const { loaders: { inlineMarkdownLinkFileLoader }, } = (0, utils_1.getFileLoaderUtils)();
|
|
@@ -50,11 +49,12 @@ async function toAssetRequireNode([node], assetPath, filePath) {
|
|
|
50
49
|
});
|
|
51
50
|
}
|
|
52
51
|
const { children } = node;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
(0, utils_2.transformNode)(jsxNode, {
|
|
53
|
+
type: 'mdxJsxTextElement',
|
|
54
|
+
name: 'a',
|
|
55
|
+
attributes,
|
|
56
|
+
children,
|
|
57
|
+
});
|
|
58
58
|
}
|
|
59
59
|
async function ensureAssetFileExist(assetPath, sourceFilePath) {
|
|
60
60
|
const assetExists = await fs_extra_1.default.pathExists(assetPath);
|
|
@@ -111,8 +111,9 @@ async function processLinkNode(target, context) {
|
|
|
111
111
|
}
|
|
112
112
|
function plugin(options) {
|
|
113
113
|
return async (root, vfile) => {
|
|
114
|
+
const { visit } = await import('unist-util-visit');
|
|
114
115
|
const promises = [];
|
|
115
|
-
(
|
|
116
|
+
visit(root, 'link', (node, index, parent) => {
|
|
116
117
|
promises.push(processLinkNode([node, index, parent], {
|
|
117
118
|
...options,
|
|
118
119
|
filePath: vfile.path,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/transformLinks/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,wDAAwB;AACxB,sDAAsB;AACtB,gEAA0B;AAC1B,6CAM2B;AAC3B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/transformLinks/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/unusedDirectives/index.ts"],"names":[],"mappings":"AAwBA,KAAK,MAAM,GAAG,GAAG,CAAC;AA4GlB,QAAA,MAAM,MAAM,EAAE,MAgCb,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
/**
|
|
5
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
11
|
+
const process_1 = tslib_1.__importDefault(require("process"));
|
|
12
|
+
const logger_1 = tslib_1.__importDefault(require("@docusaurus/logger"));
|
|
13
|
+
const utils_1 = require("@docusaurus/utils");
|
|
14
|
+
const utils_2 = require("../utils");
|
|
15
|
+
const directiveTypes = [
|
|
16
|
+
'containerDirective',
|
|
17
|
+
'leafDirective',
|
|
18
|
+
'textDirective',
|
|
19
|
+
];
|
|
20
|
+
const directivePrefixMap = {
|
|
21
|
+
textDirective: ':',
|
|
22
|
+
leafDirective: '::',
|
|
23
|
+
containerDirective: ':::',
|
|
24
|
+
};
|
|
25
|
+
function formatDirectiveName(directive) {
|
|
26
|
+
const prefix = directivePrefixMap[directive.type];
|
|
27
|
+
if (!prefix) {
|
|
28
|
+
throw new Error(`unexpected, no prefix found for directive of type ${directive.type}`);
|
|
29
|
+
}
|
|
30
|
+
// To simplify we don't display the eventual label/props of directives
|
|
31
|
+
return `${prefix}${directive.name}`;
|
|
32
|
+
}
|
|
33
|
+
function formatDirectivePosition(directive) {
|
|
34
|
+
return directive.position?.start
|
|
35
|
+
? logger_1.default.interpolate `number=${directive.position.start.line}:number=${directive.position.start.column}`
|
|
36
|
+
: undefined;
|
|
37
|
+
}
|
|
38
|
+
function formatUnusedDirectiveMessage(directive) {
|
|
39
|
+
const name = formatDirectiveName(directive);
|
|
40
|
+
const position = formatDirectivePosition(directive);
|
|
41
|
+
return `- ${name} ${position ? `(${position})` : ''}`;
|
|
42
|
+
}
|
|
43
|
+
function formatUnusedDirectivesMessage({ directives, filePath, }) {
|
|
44
|
+
const supportUrl = 'https://github.com/facebook/docusaurus/pull/9394';
|
|
45
|
+
const customPath = (0, utils_1.posixPath)(path_1.default.relative(process_1.default.cwd(), filePath));
|
|
46
|
+
const warningTitle = logger_1.default.interpolate `Docusaurus found ${directives.length} unused Markdown directives in file path=${customPath}`;
|
|
47
|
+
const customSupportUrl = logger_1.default.interpolate `url=${supportUrl}`;
|
|
48
|
+
const warningMessages = directives
|
|
49
|
+
.map(formatUnusedDirectiveMessage)
|
|
50
|
+
.join('\n');
|
|
51
|
+
return `${warningTitle}
|
|
52
|
+
${warningMessages}
|
|
53
|
+
Your content might render in an unexpected way. Visit ${customSupportUrl} to find out why and how to fix it.`;
|
|
54
|
+
}
|
|
55
|
+
function logUnusedDirectivesWarning({ directives, filePath, }) {
|
|
56
|
+
if (directives.length > 0) {
|
|
57
|
+
const message = formatUnusedDirectivesMessage({
|
|
58
|
+
directives,
|
|
59
|
+
filePath,
|
|
60
|
+
});
|
|
61
|
+
logger_1.default.warn(message);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function isTextDirective(directive) {
|
|
65
|
+
return directive.type === 'textDirective';
|
|
66
|
+
}
|
|
67
|
+
// A simple text directive is one without any label/props
|
|
68
|
+
function isSimpleTextDirective(directive) {
|
|
69
|
+
if (isTextDirective(directive)) {
|
|
70
|
+
// Attributes in MDAST = Directive props
|
|
71
|
+
const hasAttributes = directive.attributes && Object.keys(directive.attributes).length > 0;
|
|
72
|
+
// Children in MDAST = Directive label
|
|
73
|
+
const hasChildren = directive.children.length > 0;
|
|
74
|
+
return !hasAttributes && !hasChildren;
|
|
75
|
+
}
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
function transformSimpleTextDirectiveToString(textDirective) {
|
|
79
|
+
(0, utils_2.transformNode)(textDirective, {
|
|
80
|
+
type: 'text',
|
|
81
|
+
value: `:${textDirective.name}`, // We ignore label/props on purpose here
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
function isUnusedDirective(directive) {
|
|
85
|
+
// If directive data is set (notably hName/hProperties set by admonitions)
|
|
86
|
+
// this usually means the directive has been handled by another plugin
|
|
87
|
+
return !directive.data;
|
|
88
|
+
}
|
|
89
|
+
const plugin = function plugin() {
|
|
90
|
+
return async (tree, file) => {
|
|
91
|
+
const { visit } = await import('unist-util-visit');
|
|
92
|
+
const unusedDirectives = [];
|
|
93
|
+
visit(tree, directiveTypes, (directive) => {
|
|
94
|
+
// If directive data is set (hName/hProperties set by admonitions)
|
|
95
|
+
// this usually means the directive has been handled by another plugin
|
|
96
|
+
if (isUnusedDirective(directive)) {
|
|
97
|
+
if (isSimpleTextDirective(directive)) {
|
|
98
|
+
transformSimpleTextDirectiveToString(directive);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
unusedDirectives.push(directive);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
// We only enable these warnings for the client compiler
|
|
106
|
+
// This avoids emitting duplicate warnings in prod mode
|
|
107
|
+
// Note: the client compiler is used in both dev/prod modes
|
|
108
|
+
if (file.data.compilerName === 'client') {
|
|
109
|
+
logUnusedDirectivesWarning({
|
|
110
|
+
directives: unusedDirectives,
|
|
111
|
+
filePath: file.path,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
exports.default = plugin;
|
|
117
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/unusedDirectives/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,17 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
import type { Parent } from 'unist';
|
|
7
|
+
import type { Parent, Node } from 'unist';
|
|
8
8
|
import type { PhrasingContent, Heading } from 'mdast';
|
|
9
|
-
import type { MdxJsxAttributeValueExpression } from 'mdast-util-mdx';
|
|
9
|
+
import type { MdxJsxAttributeValueExpression, MdxJsxTextElement } from 'mdast-util-mdx';
|
|
10
|
+
/**
|
|
11
|
+
* Util to transform one node type to another node type
|
|
12
|
+
* The input node is mutated in place
|
|
13
|
+
* @param node the node to mutate
|
|
14
|
+
* @param newNode what the original node should become become
|
|
15
|
+
*/
|
|
16
|
+
export declare function transformNode<NewNode extends Node>(node: Node, newNode: NewNode): NewNode;
|
|
10
17
|
export declare function stringifyContent(node: Parent, toString: (param: unknown) => string): string;
|
|
11
|
-
export declare function toValue(node: PhrasingContent | Heading, toString: (param: unknown) => string): string;
|
|
18
|
+
export declare function toValue(node: PhrasingContent | Heading | MdxJsxTextElement, toString: (param: unknown) => string): string;
|
|
12
19
|
export declare function assetRequireAttributeValue(requireString: string, hash: string): MdxJsxAttributeValueExpression;
|
|
13
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAC,eAAe,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAEV,8BAA8B,EAC9B,iBAAiB,EAElB,MAAM,gBAAgB,CAAC;AAExB;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,SAAS,IAAI,EAChD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,GACf,OAAO,CAUT;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GACnC,MAAM,CAIR;AA8BD,wBAAgB,OAAO,CACrB,IAAI,EAAE,eAAe,GAAG,OAAO,GAAG,iBAAiB,EACnD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GACnC,MAAM,CAsBR;AAED,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,GACX,8BAA8B,CAkDhC"}
|
|
@@ -6,9 +6,27 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.assetRequireAttributeValue = exports.toValue = exports.stringifyContent = void 0;
|
|
9
|
+
exports.assetRequireAttributeValue = exports.toValue = exports.stringifyContent = exports.transformNode = void 0;
|
|
10
10
|
const tslib_1 = require("tslib");
|
|
11
11
|
const escape_html_1 = tslib_1.__importDefault(require("escape-html"));
|
|
12
|
+
/**
|
|
13
|
+
* Util to transform one node type to another node type
|
|
14
|
+
* The input node is mutated in place
|
|
15
|
+
* @param node the node to mutate
|
|
16
|
+
* @param newNode what the original node should become become
|
|
17
|
+
*/
|
|
18
|
+
function transformNode(node, newNode) {
|
|
19
|
+
Object.keys(node).forEach((key) => {
|
|
20
|
+
// @ts-expect-error: unsafe but ok
|
|
21
|
+
delete node[key];
|
|
22
|
+
});
|
|
23
|
+
Object.keys(newNode).forEach((key) => {
|
|
24
|
+
// @ts-expect-error: unsafe but ok
|
|
25
|
+
node[key] = newNode[key];
|
|
26
|
+
});
|
|
27
|
+
return node;
|
|
28
|
+
}
|
|
29
|
+
exports.transformNode = transformNode;
|
|
12
30
|
function stringifyContent(node, toString) {
|
|
13
31
|
return node.children
|
|
14
32
|
.map((item) => toValue(item, toString))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,sEAAqC;AAUrC,SAAgB,gBAAgB,CAC9B,IAAY,EACZ,QAAoC;IAEpC,OAAQ,IAAI,CAAC,QAA8B;SACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SACtC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAPD,4CAOC;AAED,2DAA2D;AAC3D,qEAAqE;AACrE,8EAA8E;AAC9E,SAAS,uBAAuB,CAC9B,OAA0B,EAC1B,QAAoC;IAEpC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAC1C,CAAC,KAAK,EAA4B,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,CACtE,CAAC;IAEF,MAAM,cAAc,GAClB,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;QACpD,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAEnD,MAAM,oBAAoB,GAAG,cAAc;QACzC,CAAC,CAAC,UAAU,IAAA,qBAAU,EAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG;QACvD,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,aAAa,GAAG,oBAAoB,CAAC,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7E,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEpD,OAAO,IAAI,GAAG,GAAG,aAAa,IAAI,OAAO,KAAK,GAAG,GAAG,CAAC;AACvD,CAAC;AAED,SAAgB,OAAO,CACrB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,sEAAqC;AAUrC;;;;;GAKG;AACH,SAAgB,aAAa,CAC3B,IAAU,EACV,OAAgB;IAEhB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAChC,kCAAkC;QAClC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACnC,kCAAkC;QAClC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,OAAO,IAAe,CAAC;AACzB,CAAC;AAbD,sCAaC;AAED,SAAgB,gBAAgB,CAC9B,IAAY,EACZ,QAAoC;IAEpC,OAAQ,IAAI,CAAC,QAA8B;SACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SACtC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAPD,4CAOC;AAED,2DAA2D;AAC3D,qEAAqE;AACrE,8EAA8E;AAC9E,SAAS,uBAAuB,CAC9B,OAA0B,EAC1B,QAAoC;IAEpC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAC1C,CAAC,KAAK,EAA4B,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,CACtE,CAAC;IAEF,MAAM,cAAc,GAClB,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;QACpD,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAEnD,MAAM,oBAAoB,GAAG,cAAc;QACzC,CAAC,CAAC,UAAU,IAAA,qBAAU,EAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG;QACvD,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,aAAa,GAAG,oBAAoB,CAAC,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7E,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEpD,OAAO,IAAI,GAAG,GAAG,aAAa,IAAI,OAAO,KAAK,GAAG,GAAG,CAAC;AACvD,CAAC;AAED,SAAgB,OAAO,CACrB,IAAmD,EACnD,QAAoC;IAEpC,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,mBAAmB,CAAC,CAAC;YACxB,OAAO,uBAAuB,CAAC,IAAyB,EAAE,QAAQ,CAAC,CAAC;SACrE;QACD,KAAK,MAAM;YACT,OAAO,IAAA,qBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,SAAS;YACZ,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C,KAAK,YAAY;YACf,OAAO,SAAS,IAAA,qBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAClD,KAAK,UAAU;YACb,OAAO,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;QACxD,KAAK,QAAQ;YACX,OAAO,WAAW,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC;QAChE,KAAK,QAAQ;YACX,OAAO,QAAQ,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAC1D,KAAK,MAAM;YACT,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C;YACE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;KACzB;AACH,CAAC;AAzBD,0BAyBC;AAED,SAAgB,0BAA0B,CACxC,aAAqB,EACrB,IAAY;IAEZ,OAAO;QACL,IAAI,EAAE,gCAAgC;QACtC,KAAK,EAAE,YAAY,aAAa,aAAa,IAAI,IAAI,OAAO,IAAI,GAAG,EAAE;QACrE,IAAI,EAAE;YACJ,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE;oBACJ;wBACE,IAAI,EAAE,qBAAqB;wBAC3B,UAAU,EAAE;4BACV,IAAI,EAAE,kBAAkB;4BACxB,IAAI,EAAE;gCACJ,IAAI,EAAE,kBAAkB;gCACxB,MAAM,EAAE;oCACN,IAAI,EAAE,gBAAgB;oCACtB,MAAM,EAAE;wCACN,IAAI,EAAE,YAAY;wCAClB,IAAI,EAAE,SAAS;qCAChB;oCACD,SAAS,EAAE;wCACT;4CACE,IAAI,EAAE,SAAS;4CACf,KAAK,EAAE,aAAa;4CACpB,GAAG,EAAE,IAAI,aAAa,GAAG;yCAC1B;qCACF;oCACD,QAAQ,EAAE,KAAK;iCAChB;gCACD,QAAQ,EAAE;oCACR,IAAI,EAAE,YAAY;oCAClB,IAAI,EAAE,SAAS;iCAChB;gCACD,QAAQ,EAAE,KAAK;gCACf,QAAQ,EAAE,KAAK;6BAChB;4BACD,QAAQ,EAAE,GAAG;4BACb,KAAK,EAAE;gCACL,IAAI,EAAE,SAAS;gCACf,KAAK,EAAE,IAAI;gCACX,GAAG,EAAE,IAAI,IAAI,GAAG;6BACjB;yBACF;qBACF;iBACF;gBACD,UAAU,EAAE,QAAQ;gBACpB,QAAQ,EAAE,EAAE;aACb;SACF;KACF,CAAC;AACJ,CAAC;AArDD,gEAqDC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/mdx-loader",
|
|
3
|
-
"version": "3.0.0-
|
|
3
|
+
"version": "3.0.0-rc.1",
|
|
4
4
|
"description": "Docusaurus Loader for MDX",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -20,50 +20,51 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@babel/parser": "^7.22.7",
|
|
22
22
|
"@babel/traverse": "^7.22.8",
|
|
23
|
-
"@docusaurus/logger": "3.0.0-
|
|
24
|
-
"@docusaurus/utils": "3.0.0-
|
|
25
|
-
"@docusaurus/utils-validation": "3.0.0-
|
|
26
|
-
"@mdx-js/mdx": "^
|
|
23
|
+
"@docusaurus/logger": "3.0.0-rc.1",
|
|
24
|
+
"@docusaurus/utils": "3.0.0-rc.1",
|
|
25
|
+
"@docusaurus/utils-validation": "3.0.0-rc.1",
|
|
26
|
+
"@mdx-js/mdx": "^3.0.0",
|
|
27
27
|
"@slorber/remark-comment": "^1.0.0",
|
|
28
28
|
"escape-html": "^1.0.3",
|
|
29
|
-
"estree-util-value-to-estree": "^
|
|
29
|
+
"estree-util-value-to-estree": "^3.0.1",
|
|
30
30
|
"file-loader": "^6.2.0",
|
|
31
31
|
"fs-extra": "^11.1.1",
|
|
32
|
-
"hastscript": "^7.1.0",
|
|
33
32
|
"image-size": "^1.0.2",
|
|
34
|
-
"mdast-util-mdx": "^
|
|
35
|
-
"mdast-util-to-string": "^
|
|
36
|
-
"rehype-raw": "^
|
|
37
|
-
"remark-directive": "^
|
|
38
|
-
"remark-emoji": "^
|
|
39
|
-
"remark-
|
|
33
|
+
"mdast-util-mdx": "^3.0.0",
|
|
34
|
+
"mdast-util-to-string": "^4.0.0",
|
|
35
|
+
"rehype-raw": "^7.0.0",
|
|
36
|
+
"remark-directive": "^3.0.0",
|
|
37
|
+
"remark-emoji": "^4.0.0",
|
|
38
|
+
"remark-frontmatter": "^5.0.0",
|
|
39
|
+
"remark-gfm": "^4.0.0",
|
|
40
40
|
"stringify-object": "^3.3.0",
|
|
41
41
|
"tslib": "^2.6.0",
|
|
42
|
-
"unified": "^
|
|
43
|
-
"unist-util-visit": "^
|
|
42
|
+
"unified": "^11.0.3",
|
|
43
|
+
"unist-util-visit": "^5.0.0",
|
|
44
44
|
"url-loader": "^4.1.1",
|
|
45
|
+
"vfile": "^6.0.1",
|
|
45
46
|
"webpack": "^5.88.1"
|
|
46
47
|
},
|
|
47
48
|
"devDependencies": {
|
|
48
|
-
"@docusaurus/types": "3.0.0-
|
|
49
|
+
"@docusaurus/types": "3.0.0-rc.1",
|
|
49
50
|
"@types/escape-html": "^1.0.2",
|
|
50
|
-
"@types/mdast": "^
|
|
51
|
+
"@types/mdast": "^4.0.2",
|
|
51
52
|
"@types/stringify-object": "^3.3.1",
|
|
52
|
-
"@types/unist": "^
|
|
53
|
-
"rehype-stringify": "^
|
|
54
|
-
"remark": "^
|
|
55
|
-
"remark-mdx": "^
|
|
56
|
-
"remark-rehype": "^
|
|
53
|
+
"@types/unist": "^3.0.1",
|
|
54
|
+
"rehype-stringify": "^10.0.0",
|
|
55
|
+
"remark": "^15.0.1",
|
|
56
|
+
"remark-mdx": "^3.0.0",
|
|
57
|
+
"remark-rehype": "^11.0.0",
|
|
57
58
|
"to-vfile": "^6.1.0",
|
|
58
59
|
"unist-builder": "^2.0.3",
|
|
59
|
-
"unist-util-remove-position": "^
|
|
60
|
+
"unist-util-remove-position": "^5.0.0"
|
|
60
61
|
},
|
|
61
62
|
"peerDependencies": {
|
|
62
63
|
"react": "^18.0.0",
|
|
63
64
|
"react-dom": "^18.0.0"
|
|
64
65
|
},
|
|
65
66
|
"engines": {
|
|
66
|
-
"node": ">=
|
|
67
|
+
"node": ">=18.0"
|
|
67
68
|
},
|
|
68
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "a51cc6fd7660d47ea08349f723cec9c017af0b4e"
|
|
69
70
|
}
|
package/src/loader.ts
CHANGED
|
@@ -9,9 +9,9 @@ import fs from 'fs-extra';
|
|
|
9
9
|
import logger from '@docusaurus/logger';
|
|
10
10
|
import {
|
|
11
11
|
parseFrontMatter,
|
|
12
|
-
parseMarkdownContentTitle,
|
|
13
12
|
escapePath,
|
|
14
13
|
getFileLoaderUtils,
|
|
14
|
+
getWebpackLoaderCompilerName,
|
|
15
15
|
} from '@docusaurus/utils';
|
|
16
16
|
import stringifyObject from 'stringify-object';
|
|
17
17
|
import preprocessor from './preprocessor';
|
|
@@ -28,7 +28,7 @@ import type {LoaderContext} from 'webpack';
|
|
|
28
28
|
type Pluggable = any; // TODO fix this asap
|
|
29
29
|
|
|
30
30
|
const {
|
|
31
|
-
loaders: {
|
|
31
|
+
loaders: {inlineMarkdownAssetImageFileLoader},
|
|
32
32
|
} = getFileLoaderUtils();
|
|
33
33
|
|
|
34
34
|
export type MDXPlugin = Pluggable;
|
|
@@ -92,8 +92,9 @@ function createAssetsExportCode(assets: unknown) {
|
|
|
92
92
|
if (typeof assetValue === 'string' && assetValue.startsWith('./')) {
|
|
93
93
|
// TODO do we have other use-cases than image assets?
|
|
94
94
|
// Probably not worth adding more support, as we want to move to Webpack 5 new asset system (https://github.com/facebook/docusaurus/pull/4708)
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
return `require("${inlineMarkdownAssetImageFileLoader}${escapePath(
|
|
96
|
+
assetValue,
|
|
97
|
+
)}").default`;
|
|
97
98
|
}
|
|
98
99
|
return undefined;
|
|
99
100
|
}
|
|
@@ -121,28 +122,32 @@ function ensureMarkdownConfig(reqOptions: Options) {
|
|
|
121
122
|
}
|
|
122
123
|
}
|
|
123
124
|
|
|
125
|
+
/**
|
|
126
|
+
* data.contentTitle is set by the remark contentTitle plugin
|
|
127
|
+
*/
|
|
128
|
+
function extractContentTitleData(data: {
|
|
129
|
+
[key: string]: unknown;
|
|
130
|
+
}): string | undefined {
|
|
131
|
+
return data.contentTitle as string | undefined;
|
|
132
|
+
}
|
|
133
|
+
|
|
124
134
|
export async function mdxLoader(
|
|
125
135
|
this: LoaderContext<Options>,
|
|
126
136
|
fileString: string,
|
|
127
137
|
): Promise<void> {
|
|
138
|
+
const compilerName = getWebpackLoaderCompilerName(this);
|
|
128
139
|
const callback = this.async();
|
|
129
140
|
const filePath = this.resourcePath;
|
|
130
141
|
const reqOptions: Options = this.getOptions();
|
|
131
142
|
const {query} = this;
|
|
143
|
+
|
|
132
144
|
ensureMarkdownConfig(reqOptions);
|
|
133
145
|
|
|
134
|
-
const {frontMatter
|
|
146
|
+
const {frontMatter} = parseFrontMatter(fileString);
|
|
135
147
|
const mdxFrontMatter = validateMDXFrontMatter(frontMatter.mdx);
|
|
136
148
|
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
-
{
|
|
140
|
-
removeContentTitle: reqOptions.removeContentTitle,
|
|
141
|
-
},
|
|
142
|
-
);
|
|
143
|
-
|
|
144
|
-
const content = preprocessor({
|
|
145
|
-
fileContent: contentUnprocessed,
|
|
149
|
+
const preprocessedContent = preprocessor({
|
|
150
|
+
fileContent: fileString,
|
|
146
151
|
filePath,
|
|
147
152
|
admonitions: reqOptions.admonitions,
|
|
148
153
|
markdownConfig: reqOptions.markdownConfig,
|
|
@@ -157,9 +162,14 @@ export async function mdxLoader(
|
|
|
157
162
|
mdxFrontMatter,
|
|
158
163
|
});
|
|
159
164
|
|
|
160
|
-
let result: string;
|
|
165
|
+
let result: {content: string; data: {[key: string]: unknown}};
|
|
161
166
|
try {
|
|
162
|
-
result = await processor.process({
|
|
167
|
+
result = await processor.process({
|
|
168
|
+
content: preprocessedContent,
|
|
169
|
+
filePath,
|
|
170
|
+
frontMatter,
|
|
171
|
+
compilerName,
|
|
172
|
+
});
|
|
163
173
|
} catch (errorUnknown) {
|
|
164
174
|
const error = errorUnknown as Error;
|
|
165
175
|
|
|
@@ -183,6 +193,8 @@ export async function mdxLoader(
|
|
|
183
193
|
);
|
|
184
194
|
}
|
|
185
195
|
|
|
196
|
+
const contentTitle = extractContentTitleData(result.data);
|
|
197
|
+
|
|
186
198
|
// MDX partials are MDX files starting with _ or in a folder starting with _
|
|
187
199
|
// Partial are not expected to have associated metadata files or front matter
|
|
188
200
|
const isMDXPartial = reqOptions.isMDXPartial?.(filePath);
|
|
@@ -243,7 +255,7 @@ ${assets ? `export const assets = ${createAssetsExportCode(assets)};` : ''}
|
|
|
243
255
|
|
|
244
256
|
const code = `
|
|
245
257
|
${exportsCode}
|
|
246
|
-
${result}
|
|
258
|
+
${result.content}
|
|
247
259
|
`;
|
|
248
260
|
|
|
249
261
|
return callback(null, code);
|