@docusaurus/mdx-loader 2.0.0-beta.13 → 2.0.0-beta.15

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 (71) hide show
  1. package/lib/index.d.ts +1 -0
  2. package/lib/index.d.ts.map +1 -0
  3. package/lib/index.js +11 -5
  4. package/lib/index.js.map +1 -0
  5. package/lib/remark/headings/index.d.ts +1 -0
  6. package/lib/remark/headings/index.d.ts.map +1 -0
  7. package/lib/remark/headings/index.js +1 -0
  8. package/lib/remark/headings/index.js.map +1 -0
  9. package/lib/remark/toc/index.d.ts +1 -0
  10. package/lib/remark/toc/index.d.ts.map +1 -0
  11. package/lib/remark/toc/index.js +1 -0
  12. package/lib/remark/toc/index.js.map +1 -0
  13. package/lib/remark/toc/search.d.ts +1 -0
  14. package/lib/remark/toc/search.d.ts.map +1 -0
  15. package/lib/remark/toc/search.js +4 -4
  16. package/lib/remark/toc/search.js.map +1 -0
  17. package/lib/remark/transformImage/index.d.ts +4 -3
  18. package/lib/remark/transformImage/index.d.ts.map +1 -0
  19. package/lib/remark/transformImage/index.js +63 -42
  20. package/lib/remark/transformImage/index.js.map +1 -0
  21. package/lib/remark/transformLinks/index.d.ts +3 -3
  22. package/lib/remark/transformLinks/index.d.ts.map +1 -0
  23. package/lib/remark/transformLinks/index.js +52 -55
  24. package/lib/remark/transformLinks/index.js.map +1 -0
  25. package/lib/remark/unwrapMdxCodeBlocks/index.d.ts +1 -0
  26. package/lib/remark/unwrapMdxCodeBlocks/index.d.ts.map +1 -0
  27. package/lib/remark/unwrapMdxCodeBlocks/index.js +1 -0
  28. package/lib/remark/unwrapMdxCodeBlocks/index.js.map +1 -0
  29. package/lib/remark/utils/index.d.ts +1 -0
  30. package/lib/remark/utils/index.d.ts.map +1 -0
  31. package/lib/remark/utils/index.js +1 -0
  32. package/lib/remark/utils/index.js.map +1 -0
  33. package/package.json +6 -7
  34. package/src/index.ts +10 -5
  35. package/src/remark/headings/index.ts +1 -1
  36. package/src/remark/toc/index.ts +1 -1
  37. package/src/remark/toc/search.ts +4 -6
  38. package/src/remark/transformImage/index.ts +101 -68
  39. package/src/remark/transformLinks/index.ts +76 -91
  40. package/lib/.tsbuildinfo +0 -1
  41. package/src/remark/headings/__tests__/index.test.ts +0 -313
  42. package/src/remark/toc/__tests__/__snapshots__/index.test.ts.snap +0 -95
  43. package/src/remark/toc/__tests__/fixtures/empty-headings.md +0 -5
  44. package/src/remark/toc/__tests__/fixtures/inline-code.md +0 -9
  45. package/src/remark/toc/__tests__/fixtures/insert-below-imports.md +0 -11
  46. package/src/remark/toc/__tests__/fixtures/just-content.md +0 -15
  47. package/src/remark/toc/__tests__/fixtures/name-exist.md +0 -7
  48. package/src/remark/toc/__tests__/fixtures/non-text-content.md +0 -9
  49. package/src/remark/toc/__tests__/index.test.ts +0 -226
  50. package/src/remark/toc/__tests__/search.test.ts +0 -182
  51. package/src/remark/transformImage/__tests__/__fixtures__/fail.md +0 -1
  52. package/src/remark/transformImage/__tests__/__fixtures__/img.md +0 -19
  53. package/src/remark/transformImage/__tests__/__fixtures__/noUrl.md +0 -1
  54. package/src/remark/transformImage/__tests__/__fixtures__/pathname.md +0 -1
  55. package/src/remark/transformImage/__tests__/__fixtures__/static/img.png +0 -0
  56. package/src/remark/transformImage/__tests__/__fixtures__/static2/img2.png +0 -0
  57. package/src/remark/transformImage/__tests__/__snapshots__/index.test.ts.snap +0 -33
  58. package/src/remark/transformImage/__tests__/index.test.ts +0 -63
  59. package/src/remark/transformLinks/__tests__/__fixtures__/asset.md +0 -35
  60. package/src/remark/transformLinks/__tests__/__fixtures__/asset.pdf +0 -0
  61. package/src/remark/transformLinks/__tests__/__fixtures__/noUrl.md +0 -1
  62. package/src/remark/transformLinks/__tests__/__fixtures__/pathname.md +0 -1
  63. package/src/remark/transformLinks/__tests__/__fixtures__/static/staticAsset.pdf +0 -0
  64. package/src/remark/transformLinks/__tests__/__fixtures__/static/staticAssetImage.png +0 -0
  65. package/src/remark/transformLinks/__tests__/__fixtures__/static2/asset2.pdf +0 -0
  66. package/src/remark/transformLinks/__tests__/__snapshots__/index.test.ts.snap +0 -47
  67. package/src/remark/transformLinks/__tests__/index.test.ts +0 -55
  68. package/src/remark/unwrapMdxCodeBlocks/__tests__/__snapshots__/index.test.ts.snap +0 -819
  69. package/src/remark/unwrapMdxCodeBlocks/__tests__/fixtures/has-mdx-code-blocks.mdx +0 -95
  70. package/src/remark/unwrapMdxCodeBlocks/__tests__/index.test.ts +0 -38
  71. package/tsconfig.json +0 -9
package/lib/index.d.ts CHANGED
@@ -21,3 +21,4 @@ declare type Options = RemarkAndRehypePluginOptions & {
21
21
  };
22
22
  export default function mdxLoader(this: LoaderContext<Options>, fileString: string): Promise<void>;
23
23
  export {};
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,OAAO,KAAK,EAAC,4BAA4B,EAAC,MAAM,wBAAwB,CAAC;AACzE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAa3C,aAAK,OAAO,GAAG,4BAA4B,GAAG;IAC5C,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,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAwDF,wBAA8B,SAAS,CACrC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAgHf"}
package/lib/index.js CHANGED
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  const tslib_1 = require("tslib");
10
10
  const fs_extra_1 = require("fs-extra");
11
11
  const mdx_1 = (0, tslib_1.__importDefault)(require("@mdx-js/mdx"));
12
- const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
12
+ const logger_1 = (0, tslib_1.__importDefault)(require("@docusaurus/logger"));
13
13
  const remark_emoji_1 = (0, tslib_1.__importDefault)(require("remark-emoji"));
14
14
  const utils_1 = require("@docusaurus/utils");
15
15
  const stringify_object_1 = (0, tslib_1.__importDefault)(require("stringify-object"));
@@ -84,12 +84,17 @@ async function mdxLoader(fileString) {
84
84
  remarkPlugins: [
85
85
  ...(reqOptions.beforeDefaultRemarkPlugins || []),
86
86
  ...DEFAULT_OPTIONS.remarkPlugins,
87
- [transformImage_1.default, { staticDirs: reqOptions.staticDirs, filePath }],
87
+ [
88
+ transformImage_1.default,
89
+ {
90
+ staticDirs: reqOptions.staticDirs,
91
+ siteDir: reqOptions.siteDir,
92
+ },
93
+ ],
88
94
  [
89
95
  transformLinks_1.default,
90
96
  {
91
97
  staticDirs: reqOptions.staticDirs,
92
- filePath,
93
98
  siteDir: reqOptions.siteDir,
94
99
  },
95
100
  ],
@@ -110,7 +115,7 @@ async function mdxLoader(fileString) {
110
115
  return callback(err);
111
116
  }
112
117
  // MDX partials are MDX files starting with _ or in a folder starting with _
113
- // Partial are not expected to have an associated metadata file or frontmatter
118
+ // Partial are not expected to have an associated metadata file or front matter
114
119
  const isMDXPartial = options.isMDXPartial && options.isMDXPartial(filePath);
115
120
  if (isMDXPartial && hasFrontMatter) {
116
121
  const errorMessage = `Docusaurus MDX partial files should not contain FrontMatter.
@@ -123,7 +128,7 @@ ${JSON.stringify(frontMatter, null, 2)}`;
123
128
  return callback(new Error(errorMessage));
124
129
  }
125
130
  else {
126
- console.warn(chalk_1.default.yellow(errorMessage));
131
+ logger_1.default.warn(errorMessage);
127
132
  }
128
133
  }
129
134
  }
@@ -165,3 +170,4 @@ ${result}
165
170
  return callback(null, code);
166
171
  }
167
172
  exports.default = mdxLoader;
173
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -7,3 +7,4 @@
7
7
  import type { Transformer } from 'unified';
8
8
  declare function headings(): Transformer;
9
9
  export default headings;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/headings/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAIzC,iBAAS,QAAQ,IAAI,WAAW,CA4D/B;AAED,eAAe,QAAQ,CAAC"}
@@ -58,3 +58,4 @@ function headings() {
58
58
  return transformer;
59
59
  }
60
60
  exports.default = headings;
61
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/headings/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,gMAAgM;AAEhM,6CAAwE;AACxE,qFAAqD;AACrD,6FAA4C;AAK5C,SAAS,QAAQ;IACf,MAAM,WAAW,GAAgB,CAAC,GAAG,EAAE,EAAE;QACvC,MAAM,KAAK,GAAG,IAAA,qBAAa,GAAE,CAAC;QAE9B,MAAM,OAAO,GAAqB,CAAC,WAAW,EAAE,EAAE;YAChD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAE9D,CAAC;YACF,IAAI,EAAC,EAAE,EAAC,GAAG,UAAU,CAAC;YAEtB,IAAI,EAAE,EAAE;gBACN,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAC,YAAY,EAAE,IAAI,EAAC,CAAC,CAAC;aAC3C;iBAAM;gBACL,MAAM,gBAAgB,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAClD,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC5C,CAAC;gBACF,MAAM,OAAO,GAAG,IAAA,8BAAQ,EACtB,gBAAgB,CAAC,MAAM,GAAG,CAAC;oBACzB,CAAC,CAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAY;oBAC1C,CAAC,CAAC,WAAW,CAChB,CAAC;gBAEF,+BAA+B;gBAC/B,MAAM,aAAa,GAAG,IAAA,8BAAsB,EAAC,OAAO,CAAC,CAAC;gBAEtD,EAAE,GAAG,aAAa,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAE7C,IAAI,aAAa,CAAC,EAAE,EAAE;oBACpB,0DAA0D;oBAC1D,6EAA6E;oBAC7E,+BAA+B;oBAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CACnC,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CACxB,CAAC;oBAEV,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;wBACnC,MAAM,YAAY,GAAG,IAAA,8BAAsB,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;wBACjE,iDAAiD;wBACjD,IAAI,YAAY,EAAE;4BAChB,QAAQ,CAAC,KAAK,GAAG,YAAY,CAAC;yBAC/B;wBACD,mEAAmE;6BAC9D;4BACH,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;yBAC5B;qBACF;yBAAM;wBACL,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC;qBACrC;iBACF;aACF;YAED,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;QACrB,CAAC,CAAC;QAEF,IAAA,0BAAK,EAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,kBAAe,QAAQ,CAAC"}
@@ -10,3 +10,4 @@ interface PluginOptions {
10
10
  }
11
11
  declare const plugin: Plugin<[PluginOptions?]>;
12
12
  export default plugin;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/toc/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAC,MAAM,EAAc,MAAM,SAAS,CAAC;AAajD,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAyCD,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,CAgBpC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -65,3 +65,4 @@ const plugin = (options = {}) => {
65
65
  return transformer;
66
66
  };
67
67
  exports.default = plugin;
68
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/toc/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,0CAAwD;AAExD,4EAAuC;AACvC,qFAA+C;AAC/C,mEAA8B;AAK9B,MAAM,YAAY,GAAkB;IAClC,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,UAAU,EAAE,QAAQ;CACrB,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,KAAW,EAAoB,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC5E,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACjD,MAAM,QAAQ,GAAG,CAAC,KAAW,EAAoB,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AAM5E,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,IAAY,EAAE,EAAE;IAChD,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,MAAM,GAAG,GAAG,IAAA,cAAK,EAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC7C,IAAA,kBAAQ,EAAC,GAAG,EAAE;QACZ,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;YAC3B,IAAK,IAAI,CAAC,IAAI,CAAC,EAAiB,CAAC,IAAI,KAAK,IAAI,EAAE;gBAC9C,KAAK,GAAG,IAAI,CAAC;aACd;QACH,CAAC;KACF,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,CAAC,QAAgB,EAAE,IAAY,EAAE,EAAE;IACxE,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;IACtB,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;IAErB,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAChC,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;YACnB,YAAY,GAAG,KAAK,CAAC;SACtB;aAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;YACnD,WAAW,GAAG,KAAK,CAAC;SACrB;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE;QACtB,MAAM,MAAM,GAAG;YACb,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,gBAAgB,IAAI,QAAQ;SACpC,CAAC;QAEF,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;KACzC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,MAAM,GAA6B,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE;IACxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;IAEnC,MAAM,WAAW,GAAgB,CAAC,IAAI,EAAE,EAAE;QACxC,MAAM,QAAQ,GAAG,IAAA,gBAAM,EAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAuB,CAAC;QAC3C,MAAM,WAAW,GAAG,8BAA8B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEnE,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;YAC/B,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,gBAAgB,IAAI,MAAM,IAAA,0BAAe,EACrE,QAAQ,CACT,GAAG,CAAC;SACN;IACH,CAAC,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,kBAAe,MAAM,CAAC"}
@@ -11,3 +11,4 @@ import type { Node } from 'unist';
11
11
  * Generate a TOC AST from the raw Markdown contents
12
12
  */
13
13
  export default function search(node: Node): TOCItem[];
14
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/remark/toc/search.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,OAAO,CAAC;AAUhC;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,EAAE,CAsDpD"}
@@ -16,7 +16,7 @@ const utils_1 = require("../utils");
16
16
  */
17
17
  function search(node) {
18
18
  const headings = [];
19
- const visitor = (child, _index, parent) => {
19
+ (0, unist_util_visit_1.default)(node, 'heading', (child, _index, parent) => {
20
20
  const value = (0, mdast_util_to_string_1.default)(child);
21
21
  // depth:1 headings are titles and not included in the TOC
22
22
  if (parent !== node || !value || child.depth < 2) {
@@ -32,9 +32,8 @@ function search(node) {
32
32
  level: child.depth,
33
33
  parentIndex: -1,
34
34
  });
35
- };
36
- (0, unist_util_visit_1.default)(node, 'heading', visitor);
37
- // Keep track of which previous index would be the current heading's direcy parent.
35
+ });
36
+ // Keep track of which previous index would be the current heading's direct parent.
38
37
  // Each entry <i> is the last index of the `headings` array at heading level <i>.
39
38
  // We will modify these indices as we iterate through all headings.
40
39
  // e.g. if an ### H3 was last seen at index 2, then prevIndexForLevel[3] === 2
@@ -64,3 +63,4 @@ function search(node) {
64
63
  return toc;
65
64
  }
66
65
  exports.default = search;
66
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/remark/toc/search.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,6FAA4C;AAC5C,qFAAqC;AACrC,oCAAiC;AAYjC;;;GAGG;AACH,SAAwB,MAAM,CAAC,IAAU;IACvC,MAAM,QAAQ,GAAiB,EAAE,CAAC;IAElC,IAAA,0BAAK,EAAC,IAAI,EAAE,SAAS,EAAE,CAAC,KAAc,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;QACxD,MAAM,KAAK,GAAG,IAAA,8BAAQ,EAAC,KAAK,CAAC,CAAC;QAE9B,0DAA0D;QAC1D,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE;YAChD,OAAO;SACR;QAED,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE;gBACJ,KAAK,EAAE,IAAA,eAAO,EAAC,KAAK,CAAC;gBACrB,EAAE,EAAE,KAAK,CAAC,IAAK,CAAC,EAAY;gBAC5B,QAAQ,EAAE,EAAE;gBACZ,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB;YACD,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,CAAC,CAAC;SAChB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,mFAAmF;IACnF,iFAAiF;IACjF,mEAAmE;IACnE,8EAA8E;IAC9E,sCAAsC;IACtC,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5C,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;QACnC,gEAAgE;QAChE,4DAA4D;QAC5D,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,CAAC;QACrD,0DAA0D;QAC1D,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE;YAC5B,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAChE;aAAM;YACL,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACzB;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,QAAQ;SACjB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB;SACvE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC;IACnE,OAAO,GAAG,CAAC;AACb,CAAC;AAtDD,yBAsDC"}
@@ -5,9 +5,10 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import type { Plugin } from 'unified';
8
- interface PluginOptions {
9
- filePath: string;
8
+ declare type PluginOptions = {
10
9
  staticDirs: string[];
11
- }
10
+ siteDir: string;
11
+ };
12
12
  declare const plugin: Plugin<[PluginOptions]>;
13
13
  export default plugin;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/transformImage/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH,OAAO,KAAK,EAAC,MAAM,EAAc,MAAM,SAAS,CAAC;AAQjD,aAAK,aAAa,GAAG;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAyHF,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC,CAWnC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -7,52 +7,84 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  const tslib_1 = require("tslib");
10
+ const utils_1 = require("@docusaurus/utils");
10
11
  const unist_util_visit_1 = (0, tslib_1.__importDefault)(require("unist-util-visit"));
11
12
  const path_1 = (0, tslib_1.__importDefault)(require("path"));
12
13
  const url_1 = (0, tslib_1.__importDefault)(require("url"));
13
14
  const fs_extra_1 = (0, tslib_1.__importDefault)(require("fs-extra"));
14
15
  const escape_html_1 = (0, tslib_1.__importDefault)(require("escape-html"));
15
- const utils_1 = require("@docusaurus/utils");
16
+ const image_size_1 = (0, tslib_1.__importDefault)(require("image-size"));
17
+ const util_1 = require("util");
18
+ const logger_1 = (0, tslib_1.__importDefault)(require("@docusaurus/logger"));
16
19
  const { loaders: { inlineMarkdownImageFileLoader }, } = (0, utils_1.getFileLoaderUtils)();
17
- const createJSX = (node, pathUrl) => {
20
+ async function toImageRequireNode(node, imagePath, filePath) {
21
+ var _a, _b;
18
22
  const jsxNode = node;
19
- jsxNode.type = 'jsx';
20
- jsxNode.value = `<img ${node.alt ? `alt={"${(0, escape_html_1.default)(node.alt)}"} ` : ''}${node.url
21
- ? `src={require("${inlineMarkdownImageFileLoader}${(0, utils_1.escapePath)(pathUrl)}").default}`
22
- : ''}${node.title ? ` title="${(0, escape_html_1.default)(node.title)}"` : ''} />`;
23
- if (jsxNode.url) {
24
- delete jsxNode.url;
25
- }
26
- if (jsxNode.alt) {
27
- delete jsxNode.alt;
23
+ let relativeImagePath = (0, utils_1.posixPath)(path_1.default.relative(path_1.default.dirname(filePath), imagePath));
24
+ relativeImagePath = `./${relativeImagePath}`;
25
+ const parsedUrl = url_1.default.parse(node.url);
26
+ const hash = (_a = parsedUrl.hash) !== null && _a !== void 0 ? _a : '';
27
+ const search = (_b = parsedUrl.search) !== null && _b !== void 0 ? _b : '';
28
+ const alt = node.alt ? `alt={"${(0, escape_html_1.default)(node.alt)}"} ` : '';
29
+ const src = `require("${inlineMarkdownImageFileLoader}${(0, utils_1.escapePath)(relativeImagePath) + search}").default${hash ? ` + '${hash}'` : ''}`;
30
+ const title = node.title ? ` title="${(0, escape_html_1.default)(node.title)}"` : '';
31
+ let width = '';
32
+ let height = '';
33
+ try {
34
+ const size = (await (0, util_1.promisify)(image_size_1.default)(imagePath));
35
+ if (size.width) {
36
+ width = ` width="${size.width}"`;
37
+ }
38
+ if (size.height) {
39
+ height = ` height="${size.height}"`;
40
+ }
28
41
  }
29
- if (jsxNode.title) {
30
- delete jsxNode.title;
42
+ catch (e) {
43
+ logger_1.default.error `The image at path=${imagePath} can't be read correctly. Please ensure it's a valid image.
44
+ ${e.message}`;
31
45
  }
32
- };
46
+ Object.keys(jsxNode).forEach((key) => delete jsxNode[key]);
47
+ jsxNode.type = 'jsx';
48
+ jsxNode.value = `<img ${alt}src={${src}}${title}${width}${height} />`;
49
+ }
33
50
  async function ensureImageFileExist(imagePath, sourceFilePath) {
34
51
  const imageExists = await fs_extra_1.default.pathExists(imagePath);
35
52
  if (!imageExists) {
36
53
  throw new Error(`Image ${(0, utils_1.toMessageRelativeFilePath)(imagePath)} used in ${(0, utils_1.toMessageRelativeFilePath)(sourceFilePath)} not found.`);
37
54
  }
38
55
  }
39
- async function findImage(possiblePaths, sourceFilePath) {
40
- // eslint-disable-next-line no-restricted-syntax
41
- for (const possiblePath of possiblePaths) {
42
- if (await fs_extra_1.default.pathExists(possiblePath)) {
43
- return possiblePath;
56
+ async function getImageAbsolutePath(imagePath, { siteDir, filePath, staticDirs }) {
57
+ if (imagePath.startsWith('@site/')) {
58
+ const imageFilePath = path_1.default.join(siteDir, imagePath.replace('@site/', ''));
59
+ await ensureImageFileExist(imageFilePath, filePath);
60
+ return imageFilePath;
61
+ }
62
+ else if (path_1.default.isAbsolute(imagePath)) {
63
+ // absolute paths are expected to exist in the static folder
64
+ const possiblePaths = staticDirs.map((dir) => path_1.default.join(dir, imagePath));
65
+ const imageFilePath = await (0, utils_1.findAsyncSequential)(possiblePaths, fs_extra_1.default.pathExists);
66
+ if (!imageFilePath) {
67
+ throw new Error(`Image ${possiblePaths
68
+ .map((p) => (0, utils_1.toMessageRelativeFilePath)(p))
69
+ .join(' or ')} used in ${(0, utils_1.toMessageRelativeFilePath)(filePath)} not found.`);
44
70
  }
71
+ return imageFilePath;
72
+ }
73
+ // We try to convert image urls without protocol to images with require calls
74
+ // going through webpack ensures that image assets exist at build time
75
+ else {
76
+ // relative paths are resolved against the source file's folder
77
+ const imageFilePath = path_1.default.join(path_1.default.dirname(filePath), imagePath);
78
+ await ensureImageFileExist(imageFilePath, filePath);
79
+ return imageFilePath;
45
80
  }
46
- throw new Error(`Image ${possiblePaths
47
- .map((p) => (0, utils_1.toMessageRelativeFilePath)(p))
48
- .join(' or ')} used in ${(0, utils_1.toMessageRelativeFilePath)(sourceFilePath)} not found.`);
49
81
  }
50
- async function processImageNode(node, { filePath, staticDirs }) {
82
+ async function processImageNode(node, context) {
51
83
  if (!node.url) {
52
- throw new Error(`Markdown image URL is mandatory in "${(0, utils_1.toMessageRelativeFilePath)(filePath)}" file`);
84
+ throw new Error(`Markdown image URL is mandatory in "${(0, utils_1.toMessageRelativeFilePath)(context.filePath)}" file`);
53
85
  }
54
86
  const parsedUrl = url_1.default.parse(node.url);
55
- if (parsedUrl.protocol) {
87
+ if (parsedUrl.protocol || !parsedUrl.pathname) {
56
88
  // pathname:// is an escape hatch,
57
89
  // in case user does not want his images to be converted to require calls going through webpack loader
58
90
  // we don't have to document this for now,
@@ -60,31 +92,20 @@ async function processImageNode(node, { filePath, staticDirs }) {
60
92
  if (parsedUrl.protocol === 'pathname:') {
61
93
  node.url = node.url.replace('pathname://', '');
62
94
  }
95
+ return;
63
96
  }
64
- // images without protocol
65
- else if (path_1.default.isAbsolute(node.url)) {
66
- // absolute paths are expected to exist in the static folder
67
- const possibleImagePaths = staticDirs.map((dir) => path_1.default.join(dir, node.url));
68
- const imagePath = await findImage(possibleImagePaths, filePath);
69
- createJSX(node, (0, utils_1.posixPath)(imagePath));
70
- }
71
- // We try to convert image urls without protocol to images with require calls
72
- // going through webpack ensures that image assets exist at build time
73
- else {
74
- // relative paths are resolved against the source file's folder
75
- const expectedImagePath = path_1.default.join(path_1.default.dirname(filePath), node.url);
76
- await ensureImageFileExist(expectedImagePath, filePath);
77
- createJSX(node, node.url.startsWith('./') ? node.url : `./${node.url}`);
78
- }
97
+ const imagePath = await getImageAbsolutePath(parsedUrl.pathname, context);
98
+ await toImageRequireNode(node, imagePath, context.filePath);
79
99
  }
80
100
  const plugin = (options) => {
81
- const transformer = async (root) => {
101
+ const transformer = async (root, vfile) => {
82
102
  const promises = [];
83
103
  (0, unist_util_visit_1.default)(root, 'image', (node) => {
84
- promises.push(processImageNode(node, options));
104
+ promises.push(processImageNode(node, { ...options, filePath: vfile.path }));
85
105
  });
86
106
  await Promise.all(promises);
87
107
  };
88
108
  return transformer;
89
109
  };
90
110
  exports.default = plugin;
111
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/transformImage/index.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,10 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import type { Plugin } from 'unified';
8
- interface PluginOptions {
9
- filePath: string;
8
+ declare type PluginOptions = {
10
9
  staticDirs: string[];
11
10
  siteDir: string;
12
- }
11
+ };
13
12
  declare const plugin: Plugin<[PluginOptions]>;
14
13
  export default plugin;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/transformLinks/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,OAAO,KAAK,EAAC,MAAM,EAAc,MAAM,SAAS,CAAC;AAOjD,aAAK,aAAa,GAAG;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA4GF,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC,CASnC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -15,92 +15,89 @@ const fs_extra_1 = (0, tslib_1.__importDefault)(require("fs-extra"));
15
15
  const escape_html_1 = (0, tslib_1.__importDefault)(require("escape-html"));
16
16
  const utils_2 = require("../utils");
17
17
  const { loaders: { inlineMarkdownLinkFileLoader }, } = (0, utils_1.getFileLoaderUtils)();
18
- const hashRegex = /#.*$/;
19
- async function ensureAssetFileExist(fileSystemAssetPath, sourceFilePath) {
20
- const assetExists = await fs_extra_1.default.pathExists(fileSystemAssetPath);
21
- if (!assetExists) {
22
- throw new Error(`Asset ${(0, utils_1.toMessageRelativeFilePath)(fileSystemAssetPath)} used in ${(0, utils_1.toMessageRelativeFilePath)(sourceFilePath)} not found.`);
23
- }
24
- }
25
18
  // transform the link node to a jsx link with a require() call
26
- function toAssetRequireNode({ node, filePath, requireAssetPath, }) {
27
- let relativeRequireAssetPath = (0, utils_1.posixPath)(path_1.default.relative(path_1.default.dirname(filePath), requireAssetPath));
28
- const hash = hashRegex.test(node.url)
29
- ? node.url.substr(node.url.indexOf('#'))
30
- : '';
31
- // nodejs does not like require("assets/file.pdf")
32
- relativeRequireAssetPath = relativeRequireAssetPath.startsWith('.')
33
- ? relativeRequireAssetPath
34
- : `./${relativeRequireAssetPath}`;
35
- const href = `require('${inlineMarkdownLinkFileLoader}${(0, utils_1.escapePath)(relativeRequireAssetPath)}').default${hash ? ` + '${hash}'` : ''}`;
19
+ function toAssetRequireNode(node, assetPath, filePath) {
20
+ var _a, _b;
21
+ const jsxNode = node;
22
+ let relativeAssetPath = (0, utils_1.posixPath)(path_1.default.relative(path_1.default.dirname(filePath), assetPath));
23
+ // require("assets/file.pdf") means requiring from a package called assets
24
+ relativeAssetPath = `./${relativeAssetPath}`;
25
+ const parsedUrl = url_1.default.parse(node.url);
26
+ const hash = (_a = parsedUrl.hash) !== null && _a !== void 0 ? _a : '';
27
+ const search = (_b = parsedUrl.search) !== null && _b !== void 0 ? _b : '';
28
+ const href = `require('${
29
+ // A hack to stop Webpack from using its built-in loader to parse JSON
30
+ path_1.default.extname(relativeAssetPath) === '.json'
31
+ ? `${relativeAssetPath.replace('.json', '.raw')}!=`
32
+ : ''}${inlineMarkdownLinkFileLoader}${(0, utils_1.escapePath)(relativeAssetPath) + search}').default${hash ? ` + '${hash}'` : ''}`;
36
33
  const children = (0, utils_2.stringifyContent)(node);
37
34
  const title = node.title ? ` title="${(0, escape_html_1.default)(node.title)}"` : '';
38
- node.type = 'jsx';
39
- node.value = `<a target="_blank" href={${href}}${title}>${children}</a>`;
35
+ Object.keys(jsxNode).forEach((key) => delete jsxNode[key]);
36
+ jsxNode.type = 'jsx';
37
+ jsxNode.value = `<a target="_blank" href={${href}}${title}>${children}</a>`;
40
38
  }
41
- // If the link looks like an asset link, we'll link to the asset,
42
- // and use a require("assetUrl") (using webpack url-loader/file-loader)
43
- // instead of navigating to such link
44
- async function convertToAssetLinkIfNeeded(node, { filePath, siteDir, staticDirs }) {
45
- const assetPath = node.url.replace(hashRegex, '');
46
- const hasSiteAlias = assetPath.startsWith('@site/');
47
- const hasAssetLikeExtension = path_1.default.extname(assetPath) && !assetPath.match(/#|.md|.mdx|.html/);
48
- const looksLikeAssetLink = hasSiteAlias || hasAssetLikeExtension;
49
- if (!looksLikeAssetLink) {
50
- return;
51
- }
52
- function toAssetLinkNode(requireAssetPath) {
53
- toAssetRequireNode({
54
- node,
55
- filePath,
56
- requireAssetPath,
57
- });
39
+ async function ensureAssetFileExist(assetPath, sourceFilePath) {
40
+ const assetExists = await fs_extra_1.default.pathExists(assetPath);
41
+ if (!assetExists) {
42
+ throw new Error(`Asset ${(0, utils_1.toMessageRelativeFilePath)(assetPath)} used in ${(0, utils_1.toMessageRelativeFilePath)(sourceFilePath)} not found.`);
58
43
  }
44
+ }
45
+ async function getAssetAbsolutePath(assetPath, { siteDir, filePath, staticDirs }) {
59
46
  if (assetPath.startsWith('@site/')) {
60
- const fileSystemAssetPath = path_1.default.join(siteDir, assetPath.replace('@site/', ''));
61
- await ensureAssetFileExist(fileSystemAssetPath, filePath);
62
- toAssetLinkNode(fileSystemAssetPath);
47
+ const assetFilePath = path_1.default.join(siteDir, assetPath.replace('@site/', ''));
48
+ // The @site alias is the only way to believe that the user wants an asset.
49
+ // Everything else can just be a link URL
50
+ await ensureAssetFileExist(assetFilePath, filePath);
51
+ return assetFilePath;
63
52
  }
64
53
  else if (path_1.default.isAbsolute(assetPath)) {
65
- // eslint-disable-next-line no-restricted-syntax
66
- for (const staticDir of staticDirs) {
67
- const fileSystemAssetPath = path_1.default.join(staticDir, assetPath);
68
- if (await fs_extra_1.default.pathExists(fileSystemAssetPath)) {
69
- toAssetLinkNode(fileSystemAssetPath);
70
- return;
71
- }
54
+ const assetFilePath = await (0, utils_1.findAsyncSequential)(staticDirs.map((dir) => path_1.default.join(dir, assetPath)), fs_extra_1.default.pathExists);
55
+ if (assetFilePath) {
56
+ return assetFilePath;
72
57
  }
73
58
  }
74
59
  else {
75
- const fileSystemAssetPath = path_1.default.join(path_1.default.dirname(filePath), assetPath);
76
- if (await fs_extra_1.default.pathExists(fileSystemAssetPath)) {
77
- toAssetLinkNode(fileSystemAssetPath);
60
+ const assetFilePath = path_1.default.join(path_1.default.dirname(filePath), assetPath);
61
+ if (await fs_extra_1.default.pathExists(assetFilePath)) {
62
+ return assetFilePath;
78
63
  }
79
64
  }
65
+ return null;
80
66
  }
81
- async function processLinkNode(node, options) {
67
+ async function processLinkNode(node, context) {
82
68
  var _a, _b, _c;
83
69
  if (!node.url) {
84
70
  // try to improve error feedback
85
71
  // see https://github.com/facebook/docusaurus/issues/3309#issuecomment-690371675
86
72
  const title = node.title || ((_a = node.children[0]) === null || _a === void 0 ? void 0 : _a.value) || '?';
87
73
  const line = ((_c = (_b = node === null || node === void 0 ? void 0 : node.position) === null || _b === void 0 ? void 0 : _b.start) === null || _c === void 0 ? void 0 : _c.line) || '?';
88
- throw new Error(`Markdown link URL is mandatory in "${(0, utils_1.toMessageRelativeFilePath)(options.filePath)}" file (title: ${title}, line: ${line}).`);
74
+ throw new Error(`Markdown link URL is mandatory in "${(0, utils_1.toMessageRelativeFilePath)(context.filePath)}" file (title: ${title}, line: ${line}).`);
89
75
  }
90
76
  const parsedUrl = url_1.default.parse(node.url);
91
- if (parsedUrl.protocol) {
77
+ if (parsedUrl.protocol || !parsedUrl.pathname) {
78
+ // Don't process pathname:// here, it's used by the <Link> component
92
79
  return;
93
80
  }
94
- await convertToAssetLinkIfNeeded(node, options);
81
+ const hasSiteAlias = parsedUrl.pathname.startsWith('@site/');
82
+ const hasAssetLikeExtension = path_1.default.extname(parsedUrl.pathname) &&
83
+ !parsedUrl.pathname.match(/\.(?:mdx?|html)(?:#|$)/);
84
+ if (!hasSiteAlias && !hasAssetLikeExtension) {
85
+ return;
86
+ }
87
+ const assetPath = await getAssetAbsolutePath(parsedUrl.pathname, context);
88
+ if (assetPath) {
89
+ toAssetRequireNode(node, assetPath, context.filePath);
90
+ }
95
91
  }
96
92
  const plugin = (options) => {
97
- const transformer = async (root) => {
93
+ const transformer = async (root, vfile) => {
98
94
  const promises = [];
99
95
  (0, unist_util_visit_1.default)(root, 'link', (node) => {
100
- promises.push(processLinkNode(node, options));
96
+ promises.push(processLinkNode(node, { ...options, filePath: vfile.path }));
101
97
  });
102
98
  await Promise.all(promises);
103
99
  };
104
100
  return transformer;
105
101
  };
106
102
  exports.default = plugin;
103
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/transformLinks/index.ts"],"names":[],"mappings":"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"}
@@ -7,3 +7,4 @@
7
7
  import type { Transformer, Processor } from 'unified';
8
8
  declare function plugin(this: Processor): Transformer;
9
9
  export default plugin;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/unwrapMdxCodeBlocks/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAC,WAAW,EAAE,SAAS,EAAC,MAAM,SAAS,CAAC;AAQpD,iBAAS,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,CAiB5C;AAED,eAAe,MAAM,CAAC"}
@@ -26,3 +26,4 @@ function plugin() {
26
26
  return transformer;
27
27
  }
28
28
  exports.default = plugin;
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/unwrapMdxCodeBlocks/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,qFAAqC;AAIrC,gFAAgF;AAChF,kEAAkE;AAClE,gGAAgG;AAChG,uEAAuE;AACvE,uDAAuD;AACvD,SAAS,MAAM;IACb,MAAM,WAAW,GAAgB,CAAC,IAAI,EAAE,EAAE;QACxC,IAAA,0BAAK,EAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAU,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE;gBAClC,MAAM,WAAW,GAAI,IAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAY,CAAC,QAAQ,CAAC;gBAEjE,oDAAoD;gBACpD,MAAO,CAAC,QAAQ,CAAC,MAAM,CACrB,MAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAC9B,CAAC,EACD,GAAG,WAAW,CACf,CAAC;aACH;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,kBAAe,MAAM,CAAC"}
@@ -8,3 +8,4 @@ import type { Parent } from 'unist';
8
8
  import type { StaticPhrasingContent, Heading } from 'mdast';
9
9
  export declare function stringifyContent(node: Parent): string;
10
10
  export declare function toValue(node: StaticPhrasingContent | Heading): string;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,EAAC,qBAAqB,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;AAE1D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIrD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,GAAG,MAAM,CAoBrE"}
@@ -37,3 +37,4 @@ function toValue(node) {
37
37
  return (0, mdast_util_to_string_1.default)(node);
38
38
  }
39
39
  exports.toValue = toValue;
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,2EAAqC;AACrC,6FAA4C;AAI5C,SAAgB,gBAAgB,CAAC,IAAY;IAC3C,OAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAA6B;SACtD,GAAG,CAAC,OAAO,CAAC;SACZ,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAJD,4CAIC;AAED,SAAgB,OAAO,CAAC,IAAqC;IAC3D,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;QACrB,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,MAAM;gBACT,OAAO,IAAA,qBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,KAAK,SAAS;gBACZ,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAChC,KAAK,YAAY;gBACf,OAAO,SAAS,IAAA,qBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAClD,KAAK,UAAU;gBACb,OAAO,OAAO,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC;YAC9C,KAAK,QAAQ;gBACX,OAAO,WAAW,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC;YACtD,KAAK,QAAQ;gBACX,OAAO,QAAQ,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;YAChD,QAAQ;SACT;KACF;IAED,OAAO,IAAA,8BAAQ,EAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AApBD,0BAoBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docusaurus/mdx-loader",
3
- "version": "2.0.0-beta.13",
3
+ "version": "2.0.0-beta.15",
4
4
  "description": "Docusaurus Loader for MDX",
5
5
  "main": "lib/index.js",
6
6
  "types": "src/mdx-loader.d.ts",
@@ -20,14 +20,13 @@
20
20
  "dependencies": {
21
21
  "@babel/parser": "^7.16.4",
22
22
  "@babel/traverse": "^7.16.3",
23
- "@docusaurus/utils": "2.0.0-beta.13",
23
+ "@docusaurus/logger": "2.0.0-beta.15",
24
+ "@docusaurus/utils": "2.0.0-beta.15",
24
25
  "@mdx-js/mdx": "^1.6.21",
25
- "@mdx-js/react": "^1.6.21",
26
- "chalk": "^4.1.2",
27
26
  "escape-html": "^1.0.3",
28
27
  "file-loader": "^6.2.0",
29
28
  "fs-extra": "^10.0.0",
30
- "gray-matter": "^4.0.3",
29
+ "image-size": "^1.0.1",
31
30
  "mdast-util-to-string": "^2.0.0",
32
31
  "remark-emoji": "^2.1.0",
33
32
  "stringify-object": "^3.3.0",
@@ -37,7 +36,7 @@
37
36
  "webpack": "^5.61.0"
38
37
  },
39
38
  "devDependencies": {
40
- "@docusaurus/types": "2.0.0-beta.13",
39
+ "@docusaurus/types": "2.0.0-beta.15",
41
40
  "@types/escape-html": "^1.0.1",
42
41
  "@types/mdast": "^3.0.7",
43
42
  "@types/stringify-object": "^3.3.1",
@@ -55,5 +54,5 @@
55
54
  "engines": {
56
55
  "node": ">=14"
57
56
  },
58
- "gitHead": "b6ca12aedf10a10c2375f4f8b7e7380cfd7c7202"
57
+ "gitHead": "32ec84ef3c0a238436e913b2026ab809e5750fa8"
59
58
  }