@docusaurus/mdx-loader 2.4.0 → 3.0.0-alpha.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.
Files changed (85) hide show
  1. package/README.md +13 -0
  2. package/lib/format.d.ts +12 -0
  3. package/lib/format.d.ts.map +1 -0
  4. package/lib/format.js +35 -0
  5. package/lib/format.js.map +1 -0
  6. package/lib/frontMatter.d.ts +12 -0
  7. package/lib/frontMatter.d.ts.map +1 -0
  8. package/lib/frontMatter.js +25 -0
  9. package/lib/frontMatter.js.map +1 -0
  10. package/lib/index.d.ts +5 -7
  11. package/lib/index.d.ts.map +1 -1
  12. package/lib/index.js.map +1 -1
  13. package/lib/loader.d.ts +5 -14
  14. package/lib/loader.d.ts.map +1 -1
  15. package/lib/loader.js +38 -81
  16. package/lib/loader.js.map +1 -1
  17. package/lib/preprocessor.d.ts +18 -0
  18. package/lib/preprocessor.d.ts.map +1 -0
  19. package/lib/preprocessor.js +34 -0
  20. package/lib/preprocessor.js.map +1 -0
  21. package/lib/processor.d.ts +36 -0
  22. package/lib/processor.d.ts.map +1 -0
  23. package/lib/processor.js +158 -0
  24. package/lib/processor.js.map +1 -0
  25. package/lib/remark/admonitions/index.d.ts +4 -9
  26. package/lib/remark/admonitions/index.d.ts.map +1 -1
  27. package/lib/remark/admonitions/index.js +70 -128
  28. package/lib/remark/admonitions/index.js.map +1 -1
  29. package/lib/remark/details/index.d.ts +9 -0
  30. package/lib/remark/details/index.d.ts.map +1 -0
  31. package/lib/remark/details/index.js +23 -0
  32. package/lib/remark/details/index.js.map +1 -0
  33. package/lib/remark/head/index.d.ts +9 -0
  34. package/lib/remark/head/index.d.ts.map +1 -0
  35. package/lib/remark/head/index.js +23 -0
  36. package/lib/remark/head/index.js.map +1 -0
  37. package/lib/remark/headings/index.d.ts.map +1 -1
  38. package/lib/remark/headings/index.js +3 -3
  39. package/lib/remark/headings/index.js.map +1 -1
  40. package/lib/remark/{unwrapMdxCodeBlocks/index.d.ts → mdx1Compat/codeCompatPlugin.d.ts} +2 -2
  41. package/lib/remark/mdx1Compat/codeCompatPlugin.d.ts.map +1 -0
  42. package/lib/remark/mdx1Compat/codeCompatPlugin.js +34 -0
  43. package/lib/remark/mdx1Compat/codeCompatPlugin.js.map +1 -0
  44. package/lib/remark/mermaid/index.d.ts.map +1 -1
  45. package/lib/remark/mermaid/index.js +1 -0
  46. package/lib/remark/mermaid/index.js.map +1 -1
  47. package/lib/remark/toc/index.d.ts +8 -2
  48. package/lib/remark/toc/index.d.ts.map +1 -1
  49. package/lib/remark/toc/index.js +53 -23
  50. package/lib/remark/toc/index.js.map +1 -1
  51. package/lib/remark/transformImage/index.d.ts +2 -1
  52. package/lib/remark/transformImage/index.d.ts.map +1 -1
  53. package/lib/remark/transformImage/index.js +42 -15
  54. package/lib/remark/transformImage/index.js.map +1 -1
  55. package/lib/remark/transformLinks/index.d.ts +2 -1
  56. package/lib/remark/transformLinks/index.d.ts.map +1 -1
  57. package/lib/remark/transformLinks/index.js +30 -11
  58. package/lib/remark/transformLinks/index.js.map +1 -1
  59. package/lib/remark/utils/index.d.ts +4 -2
  60. package/lib/remark/utils/index.d.ts.map +1 -1
  61. package/lib/remark/utils/index.js +68 -11
  62. package/lib/remark/utils/index.js.map +1 -1
  63. package/package.json +26 -18
  64. package/src/format.ts +40 -0
  65. package/src/frontMatter.ts +31 -0
  66. package/src/index.ts +6 -6
  67. package/src/loader.ts +62 -107
  68. package/src/preprocessor.ts +47 -0
  69. package/src/processor.ts +241 -0
  70. package/src/remark/admonitions/README.md +1 -1
  71. package/src/remark/admonitions/index.ts +92 -171
  72. package/src/remark/details/index.ts +25 -0
  73. package/src/remark/head/index.ts +25 -0
  74. package/src/remark/headings/index.ts +5 -3
  75. package/src/remark/mdx1Compat/codeCompatPlugin.ts +36 -0
  76. package/src/remark/mermaid/index.ts +2 -0
  77. package/src/remark/toc/index.ts +80 -26
  78. package/src/remark/transformImage/index.ts +54 -19
  79. package/src/remark/transformLinks/index.ts +44 -17
  80. package/src/remark/utils/index.ts +77 -9
  81. package/lib/remark/unwrapMdxCodeBlocks/index.d.ts.map +0 -1
  82. package/lib/remark/unwrapMdxCodeBlocks/index.js +0 -29
  83. package/lib/remark/unwrapMdxCodeBlocks/index.js.map +0 -1
  84. package/src/deps.d.ts +0 -31
  85. package/src/remark/unwrapMdxCodeBlocks/index.ts +0 -33
package/README.md CHANGED
@@ -44,3 +44,16 @@ Array of remark plugins to manipulate the MDXAST
44
44
  ### `metadataPath`
45
45
 
46
46
  A function to provide the metadataPath depending on current loaded MDX path that will be exported as the MDX metadata.
47
+
48
+ ### `markdownConfig`
49
+
50
+ The global Docusaurus Markdown config (`config.markdown`), that plugin authors should forward:
51
+
52
+ ```js
53
+ const loader = {
54
+ loader: require.resolve('@docusaurus/mdx-loader'),
55
+ options: {
56
+ markdownConfig: siteConfig.markdown,
57
+ },
58
+ };
59
+ ```
@@ -0,0 +1,12 @@
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 { MDXFrontMatter } from './frontMatter';
8
+ export declare function getFormat({ filePath, frontMatterFormat, }: {
9
+ filePath: string;
10
+ frontMatterFormat: MDXFrontMatter['format'];
11
+ }): 'md' | 'mdx';
12
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAmBlD,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,iBAAiB,GAClB,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;CAC7C,GAAG,IAAI,GAAG,KAAK,CAMf"}
package/lib/format.js ADDED
@@ -0,0 +1,35 @@
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.getFormat = void 0;
10
+ const tslib_1 = require("tslib");
11
+ const path_1 = tslib_1.__importDefault(require("path"));
12
+ // Copied from https://mdxjs.com/packages/mdx/#optionsmdextensions
13
+ // Although we are likely to only use .md / .mdx anyway...
14
+ const mdFormatExtensions = [
15
+ '.md',
16
+ '.markdown',
17
+ '.mdown',
18
+ '.mkdn',
19
+ '.mkd',
20
+ '.mdwn',
21
+ '.mkdown',
22
+ '.ron',
23
+ ];
24
+ function isMDFormat(filepath) {
25
+ return mdFormatExtensions.includes(path_1.default.extname(filepath));
26
+ }
27
+ function getFormat({ filePath, frontMatterFormat, }) {
28
+ if (frontMatterFormat !== 'detect') {
29
+ return frontMatterFormat;
30
+ }
31
+ // Bias toward mdx if unknown extension
32
+ return isMDFormat(filePath) ? 'md' : 'mdx';
33
+ }
34
+ exports.getFormat = getFormat;
35
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,wDAAwB;AAGxB,kEAAkE;AAClE,0DAA0D;AAC1D,MAAM,kBAAkB,GAAG;IACzB,KAAK;IACL,WAAW;IACX,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,SAAS;IACT,MAAM;CACP,CAAC;AAEF,SAAS,UAAU,CAAC,QAAgB;IAClC,OAAO,kBAAkB,CAAC,QAAQ,CAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,iBAAiB,GAIlB;IACC,IAAI,iBAAiB,KAAK,QAAQ,EAAE;QAClC,OAAO,iBAAiB,CAAC;KAC1B;IACD,uCAAuC;IACvC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7C,CAAC;AAZD,8BAYC"}
@@ -0,0 +1,12 @@
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
+ export type MDXFrontMatter = {
8
+ format: 'md' | 'mdx' | 'detect';
9
+ };
10
+ export declare const DefaultMDXFrontMatter: MDXFrontMatter;
11
+ export declare function validateMDXFrontMatter(frontMatter: unknown): MDXFrontMatter;
12
+ //# sourceMappingURL=frontMatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontMatter.d.ts","sourceRoot":"","sources":["../src/frontMatter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,IAAI,GAAG,KAAK,GAAG,QAAQ,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,cAEnC,CAAC;AAQF,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,OAAO,GAAG,cAAc,CAI3E"}
@@ -0,0 +1,25 @@
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.validateMDXFrontMatter = exports.DefaultMDXFrontMatter = void 0;
10
+ const utils_validation_1 = require("@docusaurus/utils-validation");
11
+ exports.DefaultMDXFrontMatter = {
12
+ format: 'detect',
13
+ };
14
+ const MDXFrontMatterSchema = utils_validation_1.JoiFrontMatter.object({
15
+ format: utils_validation_1.JoiFrontMatter.string()
16
+ .equal('md', 'mdx', 'detect')
17
+ .default(exports.DefaultMDXFrontMatter.format),
18
+ }).default(exports.DefaultMDXFrontMatter);
19
+ function validateMDXFrontMatter(frontMatter) {
20
+ return (0, utils_validation_1.validateFrontMatter)(frontMatter, MDXFrontMatterSchema, {
21
+ allowUnknown: false,
22
+ });
23
+ }
24
+ exports.validateMDXFrontMatter = validateMDXFrontMatter;
25
+ //# sourceMappingURL=frontMatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontMatter.js","sourceRoot":"","sources":["../src/frontMatter.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,mEAGsC;AAMzB,QAAA,qBAAqB,GAAmB;IACnD,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,MAAM,oBAAoB,GAAG,iCAAG,CAAC,MAAM,CAAiB;IACtD,MAAM,EAAE,iCAAG,CAAC,MAAM,EAAE;SACjB,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC;SAC5B,OAAO,CAAC,6BAAqB,CAAC,MAAM,CAAC;CACzC,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,CAAC;AAElC,SAAgB,sBAAsB,CAAC,WAAoB;IACzD,OAAO,IAAA,sCAAmB,EAAC,WAAW,EAAE,oBAAoB,EAAE;QAC5D,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;AACL,CAAC;AAJD,wDAIC"}
package/lib/index.d.ts CHANGED
@@ -5,13 +5,10 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { mdxLoader } from './loader';
8
+ import type { TOCItem as TOCItemImported } from './remark/toc';
8
9
  export default mdxLoader;
9
- export declare type TOCItem = {
10
- readonly value: string;
11
- readonly id: string;
12
- readonly level: number;
13
- };
14
- export declare type LoadedMDXContent<FrontMatter, Metadata, Assets = undefined> = {
10
+ export type TOCItem = TOCItemImported;
11
+ export type LoadedMDXContent<FrontMatter, Metadata, Assets = undefined> = {
15
12
  /** As verbatim declared in the MDX document. */
16
13
  readonly frontMatter: FrontMatter;
17
14
  /** As provided by the content plugin. */
@@ -28,5 +25,6 @@ export declare type LoadedMDXContent<FrontMatter, Metadata, Assets = undefined>
28
25
  readonly assets: Assets;
29
26
  (): JSX.Element;
30
27
  };
31
- export type { Options, MDXPlugin, MDXOptions } from './loader';
28
+ export type { Options, MDXPlugin } from './loader';
29
+ export type { MDXOptions } from './processor';
32
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,UAAU,CAAC;AAEnC,eAAe,SAAS,CAAC;AAEzB,oBAAY,OAAO,GAAG;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,oBAAY,gBAAgB,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,IAAI;IACxE,gDAAgD;IAChD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,sCAAsC;IACtC,QAAQ,CAAC,GAAG,EAAE,SAAS,OAAO,EAAE,CAAC;IACjC,yCAAyC;IACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,IAAI,GAAG,CAAC,OAAO,CAAC;CACjB,CAAC;AACF,YAAY,EAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,UAAU,CAAC;AAEnC,OAAO,KAAK,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,cAAc,CAAC;AAE7D,eAAe,SAAS,CAAC;AAEzB,MAAM,MAAM,OAAO,GAAG,eAAe,CAAC;AAEtC,MAAM,MAAM,gBAAgB,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,IAAI;IACxE,gDAAgD;IAChD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,sCAAsC;IACtC,QAAQ,CAAC,GAAG,EAAE,SAAS,OAAO,EAAE,CAAC;IACjC,yCAAyC;IACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,IAAI,GAAG,CAAC,OAAO,CAAC;CACjB,CAAC;AAEF,YAAY,EAAC,OAAO,EAAE,SAAS,EAAC,MAAM,UAAU,CAAC;AACjD,YAAY,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC"}
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,qCAAmC;AAEnC,kBAAe,kBAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,qCAAmC;AAInC,kBAAe,kBAAS,CAAC"}
package/lib/loader.d.ts CHANGED
@@ -4,22 +4,12 @@
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 { MDXOptions } from './processor';
7
8
  import type { MarkdownConfig } from '@docusaurus/types';
8
9
  import type { LoaderContext } from 'webpack';
9
- import type { Plugin } from 'unified';
10
- import type { AdmonitionOptions } from './remark/admonitions';
11
- export declare type MDXPlugin = [
12
- Plugin<any[]>,
13
- any
14
- ] | Plugin<any[]>;
15
- export declare type MDXOptions = {
16
- admonitions: boolean | AdmonitionOptions;
17
- remarkPlugins: MDXPlugin[];
18
- rehypePlugins: MDXPlugin[];
19
- beforeDefaultRemarkPlugins: MDXPlugin[];
20
- beforeDefaultRehypePlugins: MDXPlugin[];
21
- };
22
- export declare type Options = Partial<MDXOptions> & {
10
+ type Pluggable = any;
11
+ export type MDXPlugin = Pluggable;
12
+ export type Options = Partial<MDXOptions> & {
23
13
  markdownConfig: MarkdownConfig;
24
14
  staticDirs: string[];
25
15
  siteDir: string;
@@ -39,4 +29,5 @@ export declare type Options = Partial<MDXOptions> & {
39
29
  };
40
30
  };
41
31
  export declare function mdxLoader(this: LoaderContext<Options>, fileString: string): Promise<void>;
32
+ export {};
42
33
  //# sourceMappingURL=loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsBH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAY,MAAM,EAAC,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAsB5D,oBAAY,SAAS,GAEnB;IAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IAAE,GAAG;CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;AAEvC,oBAAY,UAAU,GAAG;IACvB,WAAW,EAAE,OAAO,GAAG,iBAAiB,CAAC;IACzC,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,0BAA0B,EAAE,SAAS,EAAE,CAAC;IACxC,0BAA0B,EAAE,SAAS,EAAE,CAAC;CACzC,CAAC;AAEF,oBAAY,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG;IAC1C,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,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IACvD,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE;QACxB,WAAW,EAAE;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SAAC,CAAC;QACtC,QAAQ,EAAE;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SAAC,CAAC;KACpC,KAAK;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;CAChC,CAAC;AA8EF,wBAAsB,SAAS,CAC7B,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA+Hf"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAK3C,KAAK,SAAS,GAAG,GAAG,CAAC;AAMrB,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;AAElC,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG;IAC1C,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,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IACvD,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE;QACxB,WAAW,EAAE;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SAAC,CAAC;QACtC,QAAQ,EAAE;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SAAC,CAAC;KACpC,KAAK;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;CAChC,CAAC;AA4EF,wBAAsB,SAAS,CAC7B,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAiHf"}
package/lib/loader.js CHANGED
@@ -11,30 +11,11 @@ const tslib_1 = require("tslib");
11
11
  const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
12
12
  const logger_1 = tslib_1.__importDefault(require("@docusaurus/logger"));
13
13
  const utils_1 = require("@docusaurus/utils");
14
- const mdx_1 = require("@mdx-js/mdx");
15
- const remark_emoji_1 = tslib_1.__importDefault(require("remark-emoji"));
16
14
  const stringify_object_1 = tslib_1.__importDefault(require("stringify-object"));
17
- const headings_1 = tslib_1.__importDefault(require("./remark/headings"));
18
- const toc_1 = tslib_1.__importDefault(require("./remark/toc"));
19
- const unwrapMdxCodeBlocks_1 = tslib_1.__importDefault(require("./remark/unwrapMdxCodeBlocks"));
20
- const transformImage_1 = tslib_1.__importDefault(require("./remark/transformImage"));
21
- const transformLinks_1 = tslib_1.__importDefault(require("./remark/transformLinks"));
22
- const mermaid_1 = tslib_1.__importDefault(require("./remark/mermaid"));
23
- const admonitions_1 = tslib_1.__importDefault(require("./remark/admonitions"));
15
+ const preprocessor_1 = tslib_1.__importDefault(require("./preprocessor"));
16
+ const frontMatter_1 = require("./frontMatter");
17
+ const processor_1 = require("./processor");
24
18
  const { loaders: { inlineMarkdownImageFileLoader }, } = (0, utils_1.getFileLoaderUtils)();
25
- const pragma = `
26
- /* @jsxRuntime classic */
27
- /* @jsx mdx */
28
- /* @jsxFrag React.Fragment */
29
- `;
30
- const DEFAULT_OPTIONS = {
31
- admonitions: true,
32
- rehypePlugins: [],
33
- remarkPlugins: [unwrapMdxCodeBlocks_1.default, remark_emoji_1.default, headings_1.default, toc_1.default],
34
- beforeDefaultRemarkPlugins: [],
35
- beforeDefaultRehypePlugins: [],
36
- };
37
- const compilerCache = new Map();
38
19
  /**
39
20
  * When this throws, it generally means that there's no metadata file associated
40
21
  * with this MDX document. It can happen when using MDX partials (usually
@@ -89,80 +70,57 @@ function createAssetsExportCode(assets) {
89
70
  .filter(Boolean);
90
71
  return `{\n${codeLines.join('\n')}\n}`;
91
72
  }
92
- function getAdmonitionsPlugins(admonitionsOption) {
93
- if (admonitionsOption) {
94
- const plugin = admonitionsOption === true
95
- ? admonitions_1.default
96
- : [admonitions_1.default, admonitionsOption];
97
- return [plugin];
73
+ // TODO temporary, remove this after v3.1?
74
+ // Some plugin authors use our mdx-loader, despite it not being public API
75
+ // see https://github.com/facebook/docusaurus/issues/8298
76
+ function ensureMarkdownConfig(reqOptions) {
77
+ if (!reqOptions.markdownConfig) {
78
+ throw new Error('Docusaurus v3+ requires MDX loader options.markdownConfig - plugin authors using the MDX loader should make sure to provide that option');
98
79
  }
99
- return [];
100
80
  }
101
81
  async function mdxLoader(fileString) {
102
82
  const callback = this.async();
103
83
  const filePath = this.resourcePath;
104
84
  const reqOptions = this.getOptions();
85
+ const { query } = this;
86
+ ensureMarkdownConfig(reqOptions);
105
87
  const { frontMatter, content: contentWithTitle } = (0, utils_1.parseFrontMatter)(fileString);
106
- const { content, contentTitle } = (0, utils_1.parseMarkdownContentTitle)(contentWithTitle, {
88
+ const mdxFrontMatter = (0, frontMatter_1.validateMDXFrontMatter)(frontMatter.mdx);
89
+ const { content: contentUnprocessed, contentTitle } = (0, utils_1.parseMarkdownContentTitle)(contentWithTitle, {
107
90
  removeContentTitle: reqOptions.removeContentTitle,
108
91
  });
92
+ const content = (0, preprocessor_1.default)({
93
+ fileContent: contentUnprocessed,
94
+ filePath,
95
+ admonitions: reqOptions.admonitions,
96
+ markdownConfig: reqOptions.markdownConfig,
97
+ });
109
98
  const hasFrontMatter = Object.keys(frontMatter).length > 0;
110
- if (!compilerCache.has(this.query)) {
111
- const remarkPlugins = [
112
- ...(reqOptions.beforeDefaultRemarkPlugins ?? []),
113
- ...getAdmonitionsPlugins(reqOptions.admonitions ?? false),
114
- ...DEFAULT_OPTIONS.remarkPlugins,
115
- ...(reqOptions.markdownConfig.mermaid ? [mermaid_1.default] : []),
116
- [
117
- transformImage_1.default,
118
- {
119
- staticDirs: reqOptions.staticDirs,
120
- siteDir: reqOptions.siteDir,
121
- },
122
- ],
123
- [
124
- transformLinks_1.default,
125
- {
126
- staticDirs: reqOptions.staticDirs,
127
- siteDir: reqOptions.siteDir,
128
- },
129
- ],
130
- ...(reqOptions.remarkPlugins ?? []),
131
- ];
132
- const rehypePlugins = [
133
- ...(reqOptions.beforeDefaultRehypePlugins ?? []),
134
- ...DEFAULT_OPTIONS.rehypePlugins,
135
- ...(reqOptions.rehypePlugins ?? []),
136
- ];
137
- const options = {
138
- ...reqOptions,
139
- remarkPlugins,
140
- rehypePlugins,
141
- };
142
- compilerCache.set(this.query, [(0, mdx_1.createCompiler)(options), options]);
143
- }
144
- const [compiler, options] = compilerCache.get(this.query);
99
+ const processor = await (0, processor_1.createProcessorCached)({
100
+ filePath,
101
+ reqOptions,
102
+ query,
103
+ mdxFrontMatter,
104
+ });
145
105
  let result;
146
106
  try {
147
- result = await compiler
148
- .process({
149
- contents: content,
150
- path: this.resourcePath,
151
- })
152
- .then((res) => res.toString());
107
+ result = await processor.process({ content, filePath });
153
108
  }
154
- catch (err) {
155
- return callback(err);
109
+ catch (errorUnknown) {
110
+ const error = errorUnknown;
111
+ return callback(new Error(`MDX compilation failed for file ${logger_1.default.path(filePath)}\nCause: ${error.message}\nDetails:\n${JSON.stringify(error, null, 2)}`,
112
+ // TODO error cause doesn't seem to be used by Webpack stats.errors :s
113
+ { cause: error }));
156
114
  }
157
115
  // MDX partials are MDX files starting with _ or in a folder starting with _
158
116
  // Partial are not expected to have associated metadata files or front matter
159
- const isMDXPartial = options.isMDXPartial?.(filePath);
117
+ const isMDXPartial = reqOptions.isMDXPartial?.(filePath);
160
118
  if (isMDXPartial && hasFrontMatter) {
161
119
  const errorMessage = `Docusaurus MDX partial files should not contain front matter.
162
120
  Those partial files use the _ prefix as a convention by default, but this is configurable.
163
121
  File at ${filePath} contains front matter that will be ignored:
164
122
  ${JSON.stringify(frontMatter, null, 2)}`;
165
- if (!options.isMDXPartialFrontMatterWarningDisabled) {
123
+ if (!reqOptions.isMDXPartialFrontMatterWarningDisabled) {
166
124
  const shouldError = process.env.NODE_ENV === 'test' || process.env.CI;
167
125
  if (shouldError) {
168
126
  return callback(new Error(errorMessage));
@@ -173,8 +131,9 @@ ${JSON.stringify(frontMatter, null, 2)}`;
173
131
  function getMetadataPath() {
174
132
  if (!isMDXPartial) {
175
133
  // Read metadata for this MDX and export it.
176
- if (options.metadataPath && typeof options.metadataPath === 'function') {
177
- return options.metadataPath(filePath);
134
+ if (reqOptions.metadataPath &&
135
+ typeof reqOptions.metadataPath === 'function') {
136
+ return reqOptions.metadataPath(filePath);
178
137
  }
179
138
  }
180
139
  return undefined;
@@ -192,6 +151,8 @@ ${JSON.stringify(frontMatter, null, 2)}`;
192
151
  const assets = reqOptions.createAssets && metadata
193
152
  ? reqOptions.createAssets({ frontMatter, metadata })
194
153
  : undefined;
154
+ // TODO use remark plugins to insert extra exports instead of string concat?
155
+ // cf how the toc is exported
195
156
  const exportsCode = `
196
157
  export const frontMatter = ${(0, stringify_object_1.default)(frontMatter)};
197
158
  export const contentTitle = ${(0, stringify_object_1.default)(contentTitle)};
@@ -199,10 +160,6 @@ ${metadataJsonString ? `export const metadata = ${metadataJsonString};` : ''}
199
160
  ${assets ? `export const assets = ${createAssetsExportCode(assets)};` : ''}
200
161
  `;
201
162
  const code = `
202
- ${pragma}
203
- import React from 'react';
204
- import { mdx } from '@mdx-js/react';
205
-
206
163
  ${exportsCode}
207
164
  ${result}
208
165
  `;
package/lib/loader.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
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 { Options } from './loader';
8
+ /**
9
+ * Preprocess the string before passing it to MDX
10
+ * This is not particularly recommended but makes it easier to upgrade to MDX 2
11
+ */
12
+ export default function preprocessContent({ fileContent: initialFileContent, filePath, markdownConfig, admonitions, }: {
13
+ fileContent: string;
14
+ filePath: string;
15
+ markdownConfig: Options['markdownConfig'];
16
+ admonitions: Options['admonitions'] | undefined;
17
+ }): string;
18
+ //# sourceMappingURL=preprocessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preprocessor.d.ts","sourceRoot":"","sources":["../src/preprocessor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AAEtC;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,WAAW,EAAE,kBAAkB,EAC/B,QAAQ,EACR,cAAc,EACd,WAAW,GACZ,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1C,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;CACjD,GAAG,MAAM,CAiBT"}
@@ -0,0 +1,34 @@
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
+ const utils_1 = require("@docusaurus/utils");
10
+ const admonitions_1 = require("./remark/admonitions");
11
+ /**
12
+ * Preprocess the string before passing it to MDX
13
+ * This is not particularly recommended but makes it easier to upgrade to MDX 2
14
+ */
15
+ function preprocessContent({ fileContent: initialFileContent, filePath, markdownConfig, admonitions, }) {
16
+ let fileContent = initialFileContent;
17
+ if (markdownConfig.preprocessor) {
18
+ fileContent = markdownConfig.preprocessor({
19
+ fileContent,
20
+ filePath,
21
+ });
22
+ }
23
+ fileContent = (0, utils_1.unwrapMdxCodeBlocks)(fileContent);
24
+ if (markdownConfig.mdx1Compat.headingIds) {
25
+ fileContent = (0, utils_1.escapeMarkdownHeadingIds)(fileContent);
26
+ }
27
+ if (markdownConfig.mdx1Compat.admonitions && admonitions) {
28
+ const { keywords } = (0, admonitions_1.normalizeAdmonitionOptions)(admonitions);
29
+ fileContent = (0, utils_1.admonitionTitleToDirectiveLabel)(fileContent, keywords);
30
+ }
31
+ return fileContent;
32
+ }
33
+ exports.default = preprocessContent;
34
+ //# sourceMappingURL=preprocessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preprocessor.js","sourceRoot":"","sources":["../src/preprocessor.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,6CAI2B;AAC3B,sDAAgE;AAGhE;;;GAGG;AACH,SAAwB,iBAAiB,CAAC,EACxC,WAAW,EAAE,kBAAkB,EAC/B,QAAQ,EACR,cAAc,EACd,WAAW,GAMZ;IACC,IAAI,WAAW,GAAG,kBAAkB,CAAC;IACrC,IAAI,cAAc,CAAC,YAAY,EAAE;QAC/B,WAAW,GAAG,cAAc,CAAC,YAAY,CAAC;YACxC,WAAW;YACX,QAAQ;SACT,CAAC,CAAC;KACJ;IACD,WAAW,GAAG,IAAA,2BAAmB,EAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,cAAc,CAAC,UAAU,CAAC,UAAU,EAAE;QACxC,WAAW,GAAG,IAAA,gCAAwB,EAAC,WAAW,CAAC,CAAC;KACrD;IACD,IAAI,cAAc,CAAC,UAAU,CAAC,WAAW,IAAI,WAAW,EAAE;QACxD,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAA,wCAA0B,EAAC,WAAW,CAAC,CAAC;QAC3D,WAAW,GAAG,IAAA,uCAA+B,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;KACtE;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AA3BD,oCA2BC"}
@@ -0,0 +1,36 @@
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 { MDXFrontMatter } from './frontMatter';
8
+ import type { Options } from './loader';
9
+ import type { AdmonitionOptions } from './remark/admonitions';
10
+ type Pluggable = any;
11
+ type SimpleProcessor = {
12
+ process: ({ content, filePath, }: {
13
+ content: string;
14
+ filePath: string;
15
+ }) => Promise<string>;
16
+ };
17
+ export type MDXPlugin = Pluggable;
18
+ export type MDXOptions = {
19
+ admonitions: boolean | Partial<AdmonitionOptions>;
20
+ remarkPlugins: MDXPlugin[];
21
+ rehypePlugins: MDXPlugin[];
22
+ beforeDefaultRemarkPlugins: MDXPlugin[];
23
+ beforeDefaultRehypePlugins: MDXPlugin[];
24
+ };
25
+ export declare function createProcessorUncached(parameters: {
26
+ options: Options;
27
+ format: 'md' | 'mdx';
28
+ }): Promise<SimpleProcessor>;
29
+ export declare function createProcessorCached({ filePath, mdxFrontMatter, query, reqOptions, }: {
30
+ filePath: string;
31
+ mdxFrontMatter: MDXFrontMatter;
32
+ query: string | Options;
33
+ reqOptions: Options;
34
+ }): Promise<SimpleProcessor>;
35
+ export {};
36
+ //# sourceMappingURL=processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAQ5D,KAAK,SAAS,GAAG,GAAG,CAAC;AAGrB,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,CAAC,EACR,OAAO,EACP,QAAQ,GACT,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACvB,CAAC;AAUF,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;AAElC,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,0BAA0B,EAAE,SAAS,EAAE,CAAC;IACxC,0BAA0B,EAAE,SAAS,EAAE,CAAC;CACzC,CAAC;AAoHF,wBAAsB,uBAAuB,CAAC,UAAU,EAAE;IACxD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,IAAI,GAAG,KAAK,CAAC;CACtB,GAAG,OAAO,CAAC,eAAe,CAAC,CAG3B;AA0CD,wBAAsB,qBAAqB,CAAC,EAC1C,QAAQ,EACR,cAAc,EACd,KAAK,EACL,UAAU,GACX,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;IAC/B,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,eAAe,CAAC,CAS3B"}