@docusaurus/mdx-loader 3.5.2 → 3.6.0-canary-6132
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 +0 -1
- package/lib/createMDXLoader.d.ts +18 -0
- package/lib/createMDXLoader.d.ts.map +1 -0
- package/lib/createMDXLoader.js +48 -0
- package/lib/createMDXLoader.js.map +1 -0
- package/lib/index.d.ts +3 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4 -0
- package/lib/index.js.map +1 -1
- package/lib/loader.d.ts +1 -23
- package/lib/loader.d.ts.map +1 -1
- package/lib/loader.js +120 -139
- package/lib/loader.js.map +1 -1
- package/lib/options.d.ts +33 -0
- package/lib/options.d.ts.map +1 -0
- package/lib/options.js +9 -0
- package/lib/options.js.map +1 -0
- package/lib/preprocessor.d.ts +1 -1
- package/lib/preprocessor.d.ts.map +1 -1
- package/lib/processor.d.ts +12 -6
- package/lib/processor.d.ts.map +1 -1
- package/lib/processor.js +19 -15
- package/lib/processor.js.map +1 -1
- package/lib/remark/transformImage/index.d.ts.map +1 -1
- package/lib/remark/transformImage/index.js +11 -9
- 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 +11 -9
- package/lib/remark/transformLinks/index.js.map +1 -1
- package/lib/remark/unusedDirectives/index.d.ts.map +1 -1
- package/lib/remark/unusedDirectives/index.js +1 -0
- package/lib/remark/unusedDirectives/index.js.map +1 -1
- package/lib/utils.d.ts +41 -0
- package/lib/utils.d.ts.map +1 -0
- package/lib/utils.js +108 -0
- package/lib/utils.js.map +1 -0
- package/package.json +6 -6
- package/src/createMDXLoader.ts +67 -0
- package/src/index.ts +4 -1
- package/src/loader.ts +163 -198
- package/src/options.ts +32 -0
- package/src/preprocessor.ts +1 -1
- package/src/processor.ts +35 -31
- package/src/remark/transformImage/index.ts +17 -15
- package/src/remark/transformLinks/index.ts +19 -15
- package/src/remark/unusedDirectives/index.ts +1 -0
- package/src/types.d.mts +3 -1
- package/src/utils.ts +151 -0
package/lib/processor.js
CHANGED
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.createProcessorUncached = createProcessorUncached;
|
|
10
|
-
exports.
|
|
10
|
+
exports.createProcessors = createProcessors;
|
|
11
|
+
exports.getProcessor = getProcessor;
|
|
11
12
|
const tslib_1 = require("tslib");
|
|
12
13
|
const headings_1 = tslib_1.__importDefault(require("./remark/headings"));
|
|
13
14
|
const contentTitle_1 = tslib_1.__importDefault(require("./remark/contentTitle"));
|
|
@@ -158,32 +159,35 @@ async function createProcessorUncached(parameters) {
|
|
|
158
159
|
// Compilers are cached so that Remark/Rehype plugins can run
|
|
159
160
|
// expensive code during initialization
|
|
160
161
|
const ProcessorsCache = new Map();
|
|
161
|
-
async function
|
|
162
|
+
async function createProcessors({ options, }) {
|
|
162
163
|
const { createProcessorSync } = await createProcessorFactory();
|
|
163
|
-
|
|
164
|
-
if (compilers) {
|
|
165
|
-
return compilers;
|
|
166
|
-
}
|
|
167
|
-
const compilerCacheEntry = {
|
|
164
|
+
return {
|
|
168
165
|
mdProcessor: createProcessorSync({
|
|
169
|
-
options
|
|
166
|
+
options,
|
|
170
167
|
format: 'md',
|
|
171
168
|
}),
|
|
172
169
|
mdxProcessor: createProcessorSync({
|
|
173
|
-
options
|
|
170
|
+
options,
|
|
174
171
|
format: 'mdx',
|
|
175
172
|
}),
|
|
176
173
|
};
|
|
177
|
-
ProcessorsCache.set(query, compilerCacheEntry);
|
|
178
|
-
return compilerCacheEntry;
|
|
179
174
|
}
|
|
180
|
-
async function
|
|
181
|
-
const compilers =
|
|
175
|
+
async function createProcessorsCacheEntry({ options, }) {
|
|
176
|
+
const compilers = ProcessorsCache.get(options);
|
|
177
|
+
if (compilers) {
|
|
178
|
+
return compilers;
|
|
179
|
+
}
|
|
180
|
+
const processors = await createProcessors({ options });
|
|
181
|
+
ProcessorsCache.set(options, processors);
|
|
182
|
+
return processors;
|
|
183
|
+
}
|
|
184
|
+
async function getProcessor({ filePath, mdxFrontMatter, options, }) {
|
|
185
|
+
const processors = options.processors ?? (await createProcessorsCacheEntry({ options }));
|
|
182
186
|
const format = (0, format_1.getFormat)({
|
|
183
187
|
filePath,
|
|
184
188
|
frontMatterFormat: mdxFrontMatter.format,
|
|
185
|
-
markdownConfigFormat:
|
|
189
|
+
markdownConfigFormat: options.markdownConfig.format,
|
|
186
190
|
});
|
|
187
|
-
return format === 'md' ?
|
|
191
|
+
return format === 'md' ? processors.mdProcessor : processors.mdxProcessor;
|
|
188
192
|
}
|
|
189
193
|
//# sourceMappingURL=processor.js.map
|
package/lib/processor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../src/processor.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;AAkBH,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;
|
|
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;AAMzC,KAAK,aAAa,GAAG;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA4JF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,WAAW,CAoBlE"}
|
|
@@ -17,17 +17,16 @@ const escape_html_1 = tslib_1.__importDefault(require("escape-html"));
|
|
|
17
17
|
const image_size_1 = tslib_1.__importDefault(require("image-size"));
|
|
18
18
|
const logger_1 = tslib_1.__importDefault(require("@docusaurus/logger"));
|
|
19
19
|
const utils_2 = require("../utils");
|
|
20
|
-
|
|
21
|
-
async function toImageRequireNode([node], imagePath, filePath) {
|
|
20
|
+
async function toImageRequireNode([node], imagePath, context) {
|
|
22
21
|
// MdxJsxTextElement => see https://github.com/facebook/docusaurus/pull/8288#discussion_r1125871405
|
|
23
22
|
const jsxNode = node;
|
|
24
23
|
const attributes = [];
|
|
25
|
-
let relativeImagePath = (0, utils_1.posixPath)(path_1.default.relative(path_1.default.dirname(filePath), imagePath));
|
|
24
|
+
let relativeImagePath = (0, utils_1.posixPath)(path_1.default.relative(path_1.default.dirname(context.filePath), imagePath));
|
|
26
25
|
relativeImagePath = `./${relativeImagePath}`;
|
|
27
26
|
const parsedUrl = url_1.default.parse(node.url);
|
|
28
27
|
const hash = parsedUrl.hash ?? '';
|
|
29
28
|
const search = parsedUrl.search ?? '';
|
|
30
|
-
const requireString = `${inlineMarkdownImageFileLoader}${(0, utils_1.escapePath)(relativeImagePath) + search}`;
|
|
29
|
+
const requireString = `${context.inlineMarkdownImageFileLoader}${(0, utils_1.escapePath)(relativeImagePath) + search}`;
|
|
31
30
|
if (node.alt) {
|
|
32
31
|
attributes.push({
|
|
33
32
|
type: 'mdxJsxAttribute',
|
|
@@ -124,17 +123,20 @@ async function processImageNode(target, context) {
|
|
|
124
123
|
// We try to convert image urls without protocol to images with require calls
|
|
125
124
|
// going through webpack ensures that image assets exist at build time
|
|
126
125
|
const imagePath = await getImageAbsolutePath(parsedUrl.pathname, context);
|
|
127
|
-
await toImageRequireNode(target, imagePath, context
|
|
126
|
+
await toImageRequireNode(target, imagePath, context);
|
|
128
127
|
}
|
|
129
128
|
function plugin(options) {
|
|
130
129
|
return async (root, vfile) => {
|
|
131
130
|
const { visit } = await import('unist-util-visit');
|
|
131
|
+
const fileLoaderUtils = (0, utils_1.getFileLoaderUtils)(vfile.data.compilerName === 'server');
|
|
132
|
+
const context = {
|
|
133
|
+
...options,
|
|
134
|
+
filePath: vfile.path,
|
|
135
|
+
inlineMarkdownImageFileLoader: fileLoaderUtils.loaders.inlineMarkdownImageFileLoader,
|
|
136
|
+
};
|
|
132
137
|
const promises = [];
|
|
133
138
|
visit(root, 'image', (node, index, parent) => {
|
|
134
|
-
promises.push(processImageNode([node, index, parent],
|
|
135
|
-
...options,
|
|
136
|
-
filePath: vfile.path,
|
|
137
|
-
}));
|
|
139
|
+
promises.push(processImageNode([node, index, parent], context));
|
|
138
140
|
});
|
|
139
141
|
await Promise.all(promises);
|
|
140
142
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/transformImage/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
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;AAeH,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;
|
|
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;AAMzC,KAAK,aAAa,GAAG;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA4KF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,WAAW,CAoBlE"}
|
|
@@ -14,16 +14,15 @@ const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
|
14
14
|
const utils_1 = require("@docusaurus/utils");
|
|
15
15
|
const escape_html_1 = tslib_1.__importDefault(require("escape-html"));
|
|
16
16
|
const utils_2 = require("../utils");
|
|
17
|
-
const { loaders: { inlineMarkdownLinkFileLoader }, } = (0, utils_1.getFileLoaderUtils)();
|
|
18
17
|
/**
|
|
19
18
|
* Transforms the link node to a JSX `<a>` element with a `require()` call.
|
|
20
19
|
*/
|
|
21
|
-
async function toAssetRequireNode([node], assetPath,
|
|
20
|
+
async function toAssetRequireNode([node], assetPath, context) {
|
|
22
21
|
// MdxJsxTextElement => see https://github.com/facebook/docusaurus/pull/8288#discussion_r1125871405
|
|
23
22
|
const jsxNode = node;
|
|
24
23
|
const attributes = [];
|
|
25
24
|
// require("assets/file.pdf") means requiring from a package called assets
|
|
26
|
-
const relativeAssetPath = `./${(0, utils_1.posixPath)(path_1.default.relative(path_1.default.dirname(filePath), assetPath))}`;
|
|
25
|
+
const relativeAssetPath = `./${(0, utils_1.posixPath)(path_1.default.relative(path_1.default.dirname(context.filePath), assetPath))}`;
|
|
27
26
|
const parsedUrl = url_1.default.parse(node.url);
|
|
28
27
|
const hash = parsedUrl.hash ?? '';
|
|
29
28
|
const search = parsedUrl.search ?? '';
|
|
@@ -31,7 +30,7 @@ async function toAssetRequireNode([node], assetPath, filePath) {
|
|
|
31
30
|
// A hack to stop Webpack from using its built-in loader to parse JSON
|
|
32
31
|
path_1.default.extname(relativeAssetPath) === '.json'
|
|
33
32
|
? `${relativeAssetPath.replace('.json', '.raw')}!=`
|
|
34
|
-
: ''}${inlineMarkdownLinkFileLoader}${(0, utils_1.escapePath)(relativeAssetPath) + search}`;
|
|
33
|
+
: ''}${context.inlineMarkdownLinkFileLoader}${(0, utils_1.escapePath)(relativeAssetPath) + search}`;
|
|
35
34
|
attributes.push({
|
|
36
35
|
type: 'mdxJsxAttribute',
|
|
37
36
|
name: 'target',
|
|
@@ -134,18 +133,21 @@ async function processLinkNode(target, context) {
|
|
|
134
133
|
}
|
|
135
134
|
const assetPath = await getAssetAbsolutePath(decodeURIComponent(parsedUrl.pathname), context);
|
|
136
135
|
if (assetPath) {
|
|
137
|
-
await toAssetRequireNode(target, assetPath, context
|
|
136
|
+
await toAssetRequireNode(target, assetPath, context);
|
|
138
137
|
}
|
|
139
138
|
}
|
|
140
139
|
function plugin(options) {
|
|
141
140
|
return async (root, vfile) => {
|
|
142
141
|
const { visit } = await import('unist-util-visit');
|
|
142
|
+
const fileLoaderUtils = (0, utils_1.getFileLoaderUtils)(vfile.data.compilerName === 'server');
|
|
143
|
+
const context = {
|
|
144
|
+
...options,
|
|
145
|
+
filePath: vfile.path,
|
|
146
|
+
inlineMarkdownLinkFileLoader: fileLoaderUtils.loaders.inlineMarkdownLinkFileLoader,
|
|
147
|
+
};
|
|
143
148
|
const promises = [];
|
|
144
149
|
visit(root, 'link', (node, index, parent) => {
|
|
145
|
-
promises.push(processLinkNode([node, index, parent],
|
|
146
|
-
...options,
|
|
147
|
-
filePath: vfile.path,
|
|
148
|
-
}));
|
|
150
|
+
promises.push(processLinkNode([node, index, parent], context));
|
|
149
151
|
});
|
|
150
152
|
await Promise.all(promises);
|
|
151
153
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/transformLinks/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/transformLinks/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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,
|
|
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,MAiCb,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -105,6 +105,7 @@ const plugin = function plugin() {
|
|
|
105
105
|
// We only enable these warnings for the client compiler
|
|
106
106
|
// This avoids emitting duplicate warnings in prod mode
|
|
107
107
|
// Note: the client compiler is used in both dev/prod modes
|
|
108
|
+
// Also: the client compiler is what gets used when using crossCompilerCache
|
|
108
109
|
if (file.data.compilerName === 'client') {
|
|
109
110
|
logUnusedDirectivesWarning({
|
|
110
111
|
directives: unusedDirectives,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/unusedDirectives/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/unusedDirectives/index.ts"],"names":[],"mappings":"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"}
|
package/lib/utils.d.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import { type WebpackCompilerName } from '@docusaurus/utils';
|
|
8
|
+
import { type SimpleProcessorResult } from './processor';
|
|
9
|
+
import type { Options } from './options';
|
|
10
|
+
/**
|
|
11
|
+
* Converts assets an object with Webpack require calls code.
|
|
12
|
+
* This is useful for mdx files to reference co-located assets using relative
|
|
13
|
+
* paths. Those assets should enter the Webpack assets pipeline and be hashed.
|
|
14
|
+
* For now, we only handle that for images and paths starting with `./`:
|
|
15
|
+
*
|
|
16
|
+
* `{image: "./myImage.png"}` => `{image: require("./myImage.png")}`
|
|
17
|
+
*/
|
|
18
|
+
export declare function createAssetsExportCode({ assets, inlineMarkdownAssetImageFileLoader, }: {
|
|
19
|
+
assets: unknown;
|
|
20
|
+
inlineMarkdownAssetImageFileLoader: string;
|
|
21
|
+
}): string;
|
|
22
|
+
/**
|
|
23
|
+
* data.contentTitle is set by the remark contentTitle plugin
|
|
24
|
+
*/
|
|
25
|
+
export declare function extractContentTitleData(data: {
|
|
26
|
+
[key: string]: unknown;
|
|
27
|
+
}): string | undefined;
|
|
28
|
+
export declare function compileToJSX({ filePath, fileContent, frontMatter, options, compilerName, }: {
|
|
29
|
+
filePath: string;
|
|
30
|
+
fileContent: string;
|
|
31
|
+
frontMatter: Record<string, unknown>;
|
|
32
|
+
options: Options;
|
|
33
|
+
compilerName: WebpackCompilerName;
|
|
34
|
+
}): Promise<SimpleProcessorResult>;
|
|
35
|
+
export interface PromiseWithResolvers<T> {
|
|
36
|
+
promise: Promise<T>;
|
|
37
|
+
resolve: (value: T | PromiseLike<T>) => void;
|
|
38
|
+
reject: (reason?: any) => void;
|
|
39
|
+
}
|
|
40
|
+
export declare function promiseWithResolvers<T>(): PromiseWithResolvers<T>;
|
|
41
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAa,KAAK,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAe,KAAK,qBAAqB,EAAC,MAAM,aAAa,CAAC;AAGrE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAEvC;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,kCAAkC,GACnC,EAAE;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,kCAAkC,EAAE,MAAM,CAAC;CAC5C,GAAG,MAAM,CAuCT;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,GAAG,MAAM,GAAG,SAAS,CAErB;AAED,wBAAsB,YAAY,CAAC,EACjC,QAAQ,EACR,WAAW,EACX,WAAW,EACX,OAAO,EACP,YAAY,GACb,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,mBAAmB,CAAC;CACnC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA2CjC;AAGD,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC7C,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC;AAED,wBAAgB,oBAAoB,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAQjE"}
|
package/lib/utils.js
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.createAssetsExportCode = createAssetsExportCode;
|
|
10
|
+
exports.extractContentTitleData = extractContentTitleData;
|
|
11
|
+
exports.compileToJSX = compileToJSX;
|
|
12
|
+
exports.promiseWithResolvers = promiseWithResolvers;
|
|
13
|
+
const tslib_1 = require("tslib");
|
|
14
|
+
const logger_1 = tslib_1.__importDefault(require("@docusaurus/logger"));
|
|
15
|
+
const utils_1 = require("@docusaurus/utils");
|
|
16
|
+
const processor_1 = require("./processor");
|
|
17
|
+
const frontMatter_1 = require("./frontMatter");
|
|
18
|
+
const preprocessor_1 = tslib_1.__importDefault(require("./preprocessor"));
|
|
19
|
+
/**
|
|
20
|
+
* Converts assets an object with Webpack require calls code.
|
|
21
|
+
* This is useful for mdx files to reference co-located assets using relative
|
|
22
|
+
* paths. Those assets should enter the Webpack assets pipeline and be hashed.
|
|
23
|
+
* For now, we only handle that for images and paths starting with `./`:
|
|
24
|
+
*
|
|
25
|
+
* `{image: "./myImage.png"}` => `{image: require("./myImage.png")}`
|
|
26
|
+
*/
|
|
27
|
+
function createAssetsExportCode({ assets, inlineMarkdownAssetImageFileLoader, }) {
|
|
28
|
+
if (typeof assets !== 'object' ||
|
|
29
|
+
!assets ||
|
|
30
|
+
Object.keys(assets).length === 0) {
|
|
31
|
+
return 'undefined';
|
|
32
|
+
}
|
|
33
|
+
// TODO implementation can be completed/enhanced
|
|
34
|
+
function createAssetValueCode(assetValue) {
|
|
35
|
+
if (Array.isArray(assetValue)) {
|
|
36
|
+
const arrayItemCodes = assetValue.map((item) => createAssetValueCode(item) ?? 'undefined');
|
|
37
|
+
return `[${arrayItemCodes.join(', ')}]`;
|
|
38
|
+
}
|
|
39
|
+
// Only process string values starting with ./
|
|
40
|
+
// We could enhance this logic and check if file exists on disc?
|
|
41
|
+
if (typeof assetValue === 'string' && assetValue.startsWith('./')) {
|
|
42
|
+
// TODO do we have other use-cases than image assets?
|
|
43
|
+
// Probably not worth adding more support, as we want to move to Webpack 5 new asset system (https://github.com/facebook/docusaurus/pull/4708)
|
|
44
|
+
return `require("${inlineMarkdownAssetImageFileLoader}${(0, utils_1.escapePath)(assetValue)}").default`;
|
|
45
|
+
}
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
const assetEntries = Object.entries(assets);
|
|
49
|
+
const codeLines = assetEntries
|
|
50
|
+
.map(([key, value]) => {
|
|
51
|
+
const assetRequireCode = createAssetValueCode(value);
|
|
52
|
+
return assetRequireCode ? `"${key}": ${assetRequireCode},` : undefined;
|
|
53
|
+
})
|
|
54
|
+
.filter(Boolean);
|
|
55
|
+
return `{\n${codeLines.join('\n')}\n}`;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* data.contentTitle is set by the remark contentTitle plugin
|
|
59
|
+
*/
|
|
60
|
+
function extractContentTitleData(data) {
|
|
61
|
+
return data.contentTitle;
|
|
62
|
+
}
|
|
63
|
+
async function compileToJSX({ filePath, fileContent, frontMatter, options, compilerName, }) {
|
|
64
|
+
const preprocessedFileContent = (0, preprocessor_1.default)({
|
|
65
|
+
fileContent,
|
|
66
|
+
filePath,
|
|
67
|
+
admonitions: options.admonitions,
|
|
68
|
+
markdownConfig: options.markdownConfig,
|
|
69
|
+
});
|
|
70
|
+
const mdxFrontMatter = (0, frontMatter_1.validateMDXFrontMatter)(frontMatter.mdx);
|
|
71
|
+
const processor = await (0, processor_1.getProcessor)({
|
|
72
|
+
filePath,
|
|
73
|
+
options,
|
|
74
|
+
mdxFrontMatter,
|
|
75
|
+
});
|
|
76
|
+
try {
|
|
77
|
+
return await processor.process({
|
|
78
|
+
content: preprocessedFileContent,
|
|
79
|
+
filePath,
|
|
80
|
+
frontMatter,
|
|
81
|
+
compilerName,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
catch (errorUnknown) {
|
|
85
|
+
const error = errorUnknown;
|
|
86
|
+
// MDX can emit errors that have useful extra attributes
|
|
87
|
+
const errorJSON = JSON.stringify(error, null, 2);
|
|
88
|
+
const errorDetails = errorJSON === '{}'
|
|
89
|
+
? // regular JS error case: print stacktrace
|
|
90
|
+
error.stack ?? 'N/A'
|
|
91
|
+
: // MDX error: print extra attributes + stacktrace
|
|
92
|
+
`${errorJSON}\n${error.stack}`;
|
|
93
|
+
throw new Error(`MDX compilation failed for file ${logger_1.default.path(filePath)}\nCause: ${error.message}\nDetails:\n${errorDetails}`,
|
|
94
|
+
// TODO error cause doesn't seem to be used by Webpack stats.errors :s
|
|
95
|
+
{ cause: error });
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// TODO Docusaurus v4, remove temporary polyfill when upgrading to Node 22+
|
|
99
|
+
function promiseWithResolvers() {
|
|
100
|
+
// @ts-expect-error: it's fine
|
|
101
|
+
const out = {};
|
|
102
|
+
out.promise = new Promise((resolve, reject) => {
|
|
103
|
+
out.resolve = resolve;
|
|
104
|
+
out.reject = reject;
|
|
105
|
+
});
|
|
106
|
+
return out;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=utils.js.map
|
package/lib/utils.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.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": "3.
|
|
3
|
+
"version": "3.6.0-canary-6132",
|
|
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": "3.
|
|
22
|
-
"@docusaurus/utils": "3.
|
|
23
|
-
"@docusaurus/utils-validation": "3.
|
|
21
|
+
"@docusaurus/logger": "3.6.0-canary-6132",
|
|
22
|
+
"@docusaurus/utils": "3.6.0-canary-6132",
|
|
23
|
+
"@docusaurus/utils-validation": "3.6.0-canary-6132",
|
|
24
24
|
"@mdx-js/mdx": "^3.0.0",
|
|
25
25
|
"@slorber/remark-comment": "^1.0.0",
|
|
26
26
|
"escape-html": "^1.0.3",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"webpack": "^5.88.1"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@docusaurus/types": "3.
|
|
47
|
+
"@docusaurus/types": "3.6.0-canary-6132",
|
|
48
48
|
"@types/escape-html": "^1.0.2",
|
|
49
49
|
"@types/mdast": "^4.0.2",
|
|
50
50
|
"@types/stringify-object": "^3.3.1",
|
|
@@ -64,5 +64,5 @@
|
|
|
64
64
|
"engines": {
|
|
65
65
|
"node": ">=18.0"
|
|
66
66
|
},
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "4930a868b86cafcb0786e2ddc6d400459127c4f6"
|
|
68
68
|
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import {createProcessors} from './processor';
|
|
9
|
+
import type {Options} from './options';
|
|
10
|
+
import type {RuleSetRule, RuleSetUseItem} from 'webpack';
|
|
11
|
+
|
|
12
|
+
type CreateOptions = {
|
|
13
|
+
useCrossCompilerCache?: boolean;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
async function normalizeOptions(
|
|
17
|
+
optionsInput: Options & CreateOptions,
|
|
18
|
+
): Promise<Options> {
|
|
19
|
+
// Because Jest doesn't like ESM / createProcessors()
|
|
20
|
+
if (process.env.N0DE_ENV === 'test' || process.env.JEST_WORKER_ID) {
|
|
21
|
+
return optionsInput;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
let options = optionsInput;
|
|
25
|
+
|
|
26
|
+
// We create the processor earlier here, to avoid the lazy processor creating
|
|
27
|
+
// Lazy creation messes-up with Rsdoctor ability to measure mdx-loader perf
|
|
28
|
+
if (!options.processors) {
|
|
29
|
+
options = {...options, processors: await createProcessors({options})};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Cross-compiler cache permits to compile client/server MDX only once
|
|
33
|
+
// We don't want to cache in dev mode (docusaurus start)
|
|
34
|
+
// We only have multiple compilers in production mode (docusaurus build)
|
|
35
|
+
// TODO wrong but good enough for now (example: "docusaurus build --dev")
|
|
36
|
+
if (options.useCrossCompilerCache && process.env.NODE_ENV === 'production') {
|
|
37
|
+
options = {
|
|
38
|
+
...options,
|
|
39
|
+
crossCompilerCache: new Map(),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return options;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export async function createMDXLoaderItem(
|
|
47
|
+
options: Options & CreateOptions,
|
|
48
|
+
): Promise<RuleSetUseItem> {
|
|
49
|
+
return {
|
|
50
|
+
loader: require.resolve('@docusaurus/mdx-loader'),
|
|
51
|
+
options: await normalizeOptions(options),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export async function createMDXLoaderRule({
|
|
56
|
+
include,
|
|
57
|
+
options,
|
|
58
|
+
}: {
|
|
59
|
+
include: RuleSetRule['include'];
|
|
60
|
+
options: Options & CreateOptions;
|
|
61
|
+
}): Promise<RuleSetRule> {
|
|
62
|
+
return {
|
|
63
|
+
test: /\.mdx?$/i,
|
|
64
|
+
include,
|
|
65
|
+
use: [await createMDXLoaderItem(options)],
|
|
66
|
+
};
|
|
67
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -9,6 +9,8 @@ import {mdxLoader} from './loader';
|
|
|
9
9
|
|
|
10
10
|
import type {TOCItem as TOCItemImported} from './remark/toc/types';
|
|
11
11
|
|
|
12
|
+
export {createMDXLoaderRule, createMDXLoaderItem} from './createMDXLoader';
|
|
13
|
+
|
|
12
14
|
export default mdxLoader;
|
|
13
15
|
|
|
14
16
|
export type TOCItem = TOCItemImported;
|
|
@@ -35,5 +37,6 @@ export type LoadedMDXContent<FrontMatter, Metadata, Assets = undefined> = {
|
|
|
35
37
|
(): JSX.Element;
|
|
36
38
|
};
|
|
37
39
|
|
|
38
|
-
export type {
|
|
40
|
+
export type {MDXPlugin} from './loader';
|
|
39
41
|
export type {MDXOptions} from './processor';
|
|
42
|
+
export type {Options} from './options';
|