@docusaurus/plugin-content-docs 2.0.0-beta.ff31de0ff → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/lib/categoryGeneratedIndex.d.ts +12 -0
  2. package/lib/categoryGeneratedIndex.js +37 -0
  3. package/lib/cli.d.ts +3 -2
  4. package/lib/cli.js +62 -72
  5. package/lib/client/docsClientUtils.d.ts +9 -28
  6. package/lib/client/docsClientUtils.js +35 -51
  7. package/lib/client/index.d.ts +81 -0
  8. package/lib/client/index.js +67 -0
  9. package/lib/constants.d.ts +4 -0
  10. package/lib/constants.js +4 -1
  11. package/lib/docs.d.ts +35 -8
  12. package/lib/docs.js +211 -78
  13. package/{src/__tests__/__fixtures__/site-with-autogenerated-sidebar/partialAutogeneratedSidebars2.js → lib/frontMatter.d.ts} +4 -10
  14. package/lib/frontMatter.js +53 -0
  15. package/lib/globalData.d.ts +3 -3
  16. package/lib/globalData.js +35 -6
  17. package/lib/index.d.ts +3 -3
  18. package/lib/index.js +137 -146
  19. package/lib/lastUpdate.d.ts +4 -6
  20. package/lib/lastUpdate.js +22 -26
  21. package/lib/markdown/index.d.ts +3 -6
  22. package/lib/markdown/index.js +3 -3
  23. package/lib/markdown/linkify.d.ts +1 -1
  24. package/lib/markdown/linkify.js +7 -4
  25. package/lib/numberPrefix.d.ts +1 -1
  26. package/lib/numberPrefix.js +16 -21
  27. package/lib/options.d.ts +3 -5
  28. package/lib/options.js +57 -29
  29. package/lib/props.d.ts +7 -2
  30. package/lib/props.js +87 -16
  31. package/lib/routes.d.ts +29 -0
  32. package/lib/routes.js +96 -0
  33. package/lib/server-export.d.ts +9 -0
  34. package/lib/server-export.js +25 -0
  35. package/lib/{sidebarItemsGenerator.d.ts → sidebars/generator.d.ts} +1 -6
  36. package/lib/sidebars/generator.js +209 -0
  37. package/lib/sidebars/index.d.ts +13 -0
  38. package/lib/sidebars/index.js +92 -0
  39. package/lib/sidebars/normalization.d.ts +13 -0
  40. package/lib/sidebars/normalization.js +59 -0
  41. package/lib/sidebars/postProcessor.d.ts +11 -0
  42. package/lib/sidebars/postProcessor.js +81 -0
  43. package/lib/sidebars/processor.d.ts +10 -0
  44. package/lib/sidebars/processor.js +79 -0
  45. package/lib/sidebars/types.d.ts +183 -0
  46. package/{types.d.ts → lib/sidebars/types.js} +2 -7
  47. package/lib/sidebars/utils.d.ts +55 -0
  48. package/lib/sidebars/utils.js +259 -0
  49. package/lib/sidebars/validation.d.ts +11 -0
  50. package/lib/sidebars/validation.js +143 -0
  51. package/lib/slug.d.ts +5 -4
  52. package/lib/slug.js +29 -19
  53. package/{src/__tests__/__fixtures__/sidebars/sidebars-first-level-not-category.js → lib/tags.d.ts} +3 -14
  54. package/lib/tags.js +21 -0
  55. package/lib/translations.d.ts +3 -3
  56. package/lib/translations.js +100 -93
  57. package/lib/types.d.ts +13 -172
  58. package/lib/versions/files.d.ts +50 -0
  59. package/lib/versions/files.js +141 -0
  60. package/lib/versions/index.d.ts +36 -0
  61. package/lib/versions/index.js +154 -0
  62. package/lib/versions/validation.d.ts +17 -0
  63. package/lib/versions/validation.js +71 -0
  64. package/package.json +44 -29
  65. package/src/categoryGeneratedIndex.ts +60 -0
  66. package/src/cli.ts +94 -114
  67. package/src/client/docsClientUtils.ts +47 -84
  68. package/src/client/index.ts +158 -0
  69. package/src/constants.ts +4 -2
  70. package/src/docs.ts +294 -78
  71. package/src/frontMatter.ts +63 -0
  72. package/src/globalData.ts +57 -7
  73. package/src/index.ts +200 -204
  74. package/src/lastUpdate.ts +27 -34
  75. package/src/markdown/index.ts +10 -16
  76. package/src/markdown/linkify.ts +8 -5
  77. package/src/numberPrefix.ts +19 -26
  78. package/src/options.ts +61 -43
  79. package/src/plugin-content-docs.d.ts +575 -78
  80. package/src/props.ts +128 -23
  81. package/src/routes.ts +159 -0
  82. package/src/server-export.ts +26 -0
  83. package/src/sidebars/README.md +10 -0
  84. package/src/sidebars/generator.ts +292 -0
  85. package/src/sidebars/index.ts +118 -0
  86. package/src/sidebars/normalization.ts +91 -0
  87. package/src/sidebars/postProcessor.ts +112 -0
  88. package/src/sidebars/processor.ts +123 -0
  89. package/src/sidebars/types.ts +280 -0
  90. package/src/sidebars/utils.ts +393 -0
  91. package/src/sidebars/validation.ts +179 -0
  92. package/src/slug.ts +42 -23
  93. package/src/tags.ts +20 -0
  94. package/src/translations.ts +155 -124
  95. package/src/types.ts +17 -234
  96. package/src/versions/files.ts +216 -0
  97. package/src/versions/index.ts +246 -0
  98. package/src/versions/validation.ts +115 -0
  99. package/lib/.tsbuildinfo +0 -4673
  100. package/lib/docFrontMatter.d.ts +0 -21
  101. package/lib/docFrontMatter.js +0 -33
  102. package/lib/sidebarItemsGenerator.js +0 -211
  103. package/lib/sidebars.d.ts +0 -42
  104. package/lib/sidebars.js +0 -309
  105. package/lib/theme/hooks/useDocs.d.ts +0 -20
  106. package/lib/theme/hooks/useDocs.js +0 -72
  107. package/lib/versions.d.ts +0 -16
  108. package/lib/versions.js +0 -287
  109. package/src/__tests__/__fixtures__/bad-id-site/docs/invalid-id.md +0 -5
  110. package/src/__tests__/__fixtures__/bad-slug-on-doc-home-site/docs/docWithSlug.md +0 -5
  111. package/src/__tests__/__fixtures__/empty-site/docusaurus.config.js +0 -16
  112. package/src/__tests__/__fixtures__/empty-site/sidebars.json +0 -1
  113. package/src/__tests__/__fixtures__/sidebars/sidebars-category-shorthand.js +0 -34
  114. package/src/__tests__/__fixtures__/sidebars/sidebars-category-wrong-items.json +0 -11
  115. package/src/__tests__/__fixtures__/sidebars/sidebars-category-wrong-label.json +0 -11
  116. package/src/__tests__/__fixtures__/sidebars/sidebars-category.js +0 -44
  117. package/src/__tests__/__fixtures__/sidebars/sidebars-collapsed-first-level.json +0 -20
  118. package/src/__tests__/__fixtures__/sidebars/sidebars-collapsed.json +0 -21
  119. package/src/__tests__/__fixtures__/sidebars/sidebars-doc-id-not-string.json +0 -10
  120. package/src/__tests__/__fixtures__/sidebars/sidebars-link-wrong-href.json +0 -11
  121. package/src/__tests__/__fixtures__/sidebars/sidebars-link-wrong-label.json +0 -11
  122. package/src/__tests__/__fixtures__/sidebars/sidebars-link.json +0 -11
  123. package/src/__tests__/__fixtures__/sidebars/sidebars-unknown-type.json +0 -14
  124. package/src/__tests__/__fixtures__/sidebars/sidebars-wrong-field.json +0 -20
  125. package/src/__tests__/__fixtures__/sidebars/sidebars.json +0 -20
  126. package/src/__tests__/__fixtures__/simple-site/docs/foo/bar.md +0 -69
  127. package/src/__tests__/__fixtures__/simple-site/docs/foo/baz.md +0 -67
  128. package/src/__tests__/__fixtures__/simple-site/docs/headingAsTitle.md +0 -1
  129. package/src/__tests__/__fixtures__/simple-site/docs/hello.md +0 -52
  130. package/src/__tests__/__fixtures__/simple-site/docs/ipsum.md +0 -5
  131. package/src/__tests__/__fixtures__/simple-site/docs/lorem.md +0 -6
  132. package/src/__tests__/__fixtures__/simple-site/docs/rootAbsoluteSlug.md +0 -5
  133. package/src/__tests__/__fixtures__/simple-site/docs/rootRelativeSlug.md +0 -5
  134. package/src/__tests__/__fixtures__/simple-site/docs/rootResolvedSlug.md +0 -5
  135. package/src/__tests__/__fixtures__/simple-site/docs/rootTryToEscapeSlug.md +0 -5
  136. package/src/__tests__/__fixtures__/simple-site/docs/slugs/absoluteSlug.md +0 -5
  137. package/src/__tests__/__fixtures__/simple-site/docs/slugs/relativeSlug.md +0 -5
  138. package/src/__tests__/__fixtures__/simple-site/docs/slugs/resolvedSlug.md +0 -5
  139. package/src/__tests__/__fixtures__/simple-site/docs/slugs/tryToEscapeSlug.md +0 -5
  140. package/src/__tests__/__fixtures__/simple-site/docusaurus.config.js +0 -14
  141. package/src/__tests__/__fixtures__/simple-site/sidebars.json +0 -23
  142. package/src/__tests__/__fixtures__/simple-site/wrong-sidebars.json +0 -7
  143. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/0-getting-started.md +0 -3
  144. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/1-installation.md +0 -3
  145. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/3-API/00_api-overview.md +0 -3
  146. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/3-API/01_Core APIs/0 --- Client API.md +0 -1
  147. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/3-API/01_Core APIs/1 --- Server API.md +0 -1
  148. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/3-API/02_Extension APIs/0. Plugin API.md +0 -1
  149. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/3-API/02_Extension APIs/1. Theme API.md +0 -1
  150. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/3-API/02_Extension APIs/_category_.yml +0 -1
  151. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/3-API/03_api-end.md +0 -3
  152. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/3-API/_category_.json +0 -3
  153. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/Guides/0-guide2.5.md +0 -8
  154. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/Guides/02-guide2.md +0 -7
  155. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/Guides/_category_.json +0 -3
  156. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/Guides/a-guide4.md +0 -7
  157. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/Guides/b-guide5.md +0 -7
  158. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/Guides/guide3.md +0 -8
  159. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/Guides/z-guide1.md +0 -8
  160. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docusaurus.config.js +0 -14
  161. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/partialAutogeneratedSidebars.js +0 -23
  162. package/src/__tests__/__fixtures__/site-with-doc-label/docs/hello-1.md +0 -7
  163. package/src/__tests__/__fixtures__/site-with-doc-label/docs/hello-2.md +0 -8
  164. package/src/__tests__/__fixtures__/site-with-doc-label/docusaurus.config.js +0 -14
  165. package/src/__tests__/__fixtures__/site-with-doc-label/sidebars.json +0 -14
  166. package/src/__tests__/__fixtures__/versioned-site/community/team.md +0 -1
  167. package/src/__tests__/__fixtures__/versioned-site/community_sidebars.json +0 -3
  168. package/src/__tests__/__fixtures__/versioned-site/community_versioned_docs/version-1.0.0/team.md +0 -1
  169. package/src/__tests__/__fixtures__/versioned-site/community_versioned_sidebars/version-1.0.0-sidebars.json +0 -3
  170. package/src/__tests__/__fixtures__/versioned-site/community_versions.json +0 -1
  171. package/src/__tests__/__fixtures__/versioned-site/docs/foo/bar.md +0 -4
  172. package/src/__tests__/__fixtures__/versioned-site/docs/hello.md +0 -1
  173. package/src/__tests__/__fixtures__/versioned-site/docs/slugs/absoluteSlug.md +0 -5
  174. package/src/__tests__/__fixtures__/versioned-site/docs/slugs/relativeSlug.md +0 -5
  175. package/src/__tests__/__fixtures__/versioned-site/docs/slugs/resolvedSlug.md +0 -5
  176. package/src/__tests__/__fixtures__/versioned-site/docs/slugs/tryToEscapeSlug.md +0 -5
  177. package/src/__tests__/__fixtures__/versioned-site/docusaurus.config.js +0 -18
  178. package/src/__tests__/__fixtures__/versioned-site/i18n/en/docusaurus-plugin-content-docs/version-1.0.0/hello.md +0 -1
  179. package/src/__tests__/__fixtures__/versioned-site/i18n/en/docusaurus-plugin-content-docs-community/current/team.md +0 -5
  180. package/src/__tests__/__fixtures__/versioned-site/i18n/fr/docusaurus-plugin-content-docs/version-1.0.0/hello.md +0 -1
  181. package/src/__tests__/__fixtures__/versioned-site/sidebars.json +0 -10
  182. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-1.0.0/foo/bar.md +0 -4
  183. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-1.0.0/foo/baz.md +0 -1
  184. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-1.0.0/hello.md +0 -1
  185. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-1.0.1/foo/bar.md +0 -1
  186. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-1.0.1/hello.md +0 -1
  187. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-withSlugs/rootAbsoluteSlug.md +0 -5
  188. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-withSlugs/rootRelativeSlug.md +0 -5
  189. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-withSlugs/rootResolvedSlug.md +0 -5
  190. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-withSlugs/rootTryToEscapeSlug.md +0 -5
  191. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-withSlugs/slugs/absoluteSlug.md +0 -5
  192. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-withSlugs/slugs/relativeSlug.md +0 -5
  193. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-withSlugs/slugs/resolvedSlug.md +0 -5
  194. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-withSlugs/slugs/tryToEscapeSlug.md +0 -5
  195. package/src/__tests__/__fixtures__/versioned-site/versioned_sidebars/version-1.0.0-sidebars.json +0 -11
  196. package/src/__tests__/__fixtures__/versioned-site/versioned_sidebars/version-1.0.1-sidebars.json +0 -10
  197. package/src/__tests__/__fixtures__/versioned-site/versioned_sidebars/version-withSlugs-sidebars.json +0 -5
  198. package/src/__tests__/__fixtures__/versioned-site/versions.json +0 -5
  199. package/src/__tests__/__snapshots__/cli.test.ts.snap +0 -90
  200. package/src/__tests__/__snapshots__/index.test.ts.snap +0 -1907
  201. package/src/__tests__/__snapshots__/sidebars.test.ts.snap +0 -218
  202. package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -487
  203. package/src/__tests__/cli.test.ts +0 -333
  204. package/src/__tests__/docFrontMatter.test.ts +0 -204
  205. package/src/__tests__/docs.test.ts +0 -875
  206. package/src/__tests__/index.test.ts +0 -1831
  207. package/src/__tests__/lastUpdate.test.ts +0 -68
  208. package/src/__tests__/numberPrefix.test.ts +0 -199
  209. package/src/__tests__/options.test.ts +0 -232
  210. package/src/__tests__/sidebarItemsGenerator.test.ts +0 -336
  211. package/src/__tests__/sidebars.test.ts +0 -638
  212. package/src/__tests__/slug.test.ts +0 -109
  213. package/src/__tests__/translations.test.ts +0 -159
  214. package/src/__tests__/versions.test.ts +0 -718
  215. package/src/client/__tests__/docsClientUtils.test.ts +0 -372
  216. package/src/docFrontMatter.ts +0 -53
  217. package/src/markdown/__tests__/__fixtures__/docs/doc-localized.md +0 -1
  218. package/src/markdown/__tests__/__fixtures__/docs/doc1.md +0 -13
  219. package/src/markdown/__tests__/__fixtures__/docs/doc2.md +0 -12
  220. package/src/markdown/__tests__/__fixtures__/docs/doc4.md +0 -19
  221. package/src/markdown/__tests__/__fixtures__/docs/doc5.md +0 -6
  222. package/src/markdown/__tests__/__fixtures__/docs/subdir/doc3.md +0 -3
  223. package/src/markdown/__tests__/__fixtures__/versioned_docs/version-1.0.0/doc2.md +0 -7
  224. package/src/markdown/__tests__/__fixtures__/versioned_docs/version-1.0.0/subdir/doc1.md +0 -3
  225. package/src/markdown/__tests__/__snapshots__/linkify.test.ts.snap +0 -82
  226. package/src/markdown/__tests__/linkify.test.ts +0 -190
  227. package/src/sidebarItemsGenerator.ts +0 -307
  228. package/src/sidebars.ts +0 -489
  229. package/src/theme/hooks/useDocs.ts +0 -99
  230. package/src/versions.ts +0 -511
  231. package/tsconfig.json +0 -9
@@ -1,21 +0,0 @@
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 declare type DocFrontMatter = {
8
- id?: string;
9
- title?: string;
10
- hide_title?: boolean;
11
- hide_table_of_contents?: boolean;
12
- keywords?: string[];
13
- image?: string;
14
- description?: string;
15
- slug?: string;
16
- sidebar_label?: string;
17
- sidebar_position?: number;
18
- custom_edit_url?: string | null;
19
- parse_number_prefixes?: boolean;
20
- };
21
- export declare function validateDocFrontMatter(frontMatter: Record<string, unknown>): DocFrontMatter;
@@ -1,33 +0,0 @@
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.validateDocFrontMatter = void 0;
10
- /* eslint-disable camelcase */
11
- const utils_validation_1 = require("@docusaurus/utils-validation");
12
- // NOTE: we don't add any default value on purpose here
13
- // We don't want default values to magically appear in doc metadatas and props
14
- // While the user did not provide those values explicitly
15
- // We use default values in code instead
16
- const DocFrontMatterSchema = utils_validation_1.JoiFrontMatter.object({
17
- id: utils_validation_1.JoiFrontMatter.string(),
18
- title: utils_validation_1.JoiFrontMatter.string().allow(''),
19
- hide_title: utils_validation_1.JoiFrontMatter.boolean(),
20
- hide_table_of_contents: utils_validation_1.JoiFrontMatter.boolean(),
21
- keywords: utils_validation_1.JoiFrontMatter.array().items(utils_validation_1.JoiFrontMatter.string().required()),
22
- image: utils_validation_1.JoiFrontMatter.string().uri({ allowRelative: false }),
23
- description: utils_validation_1.JoiFrontMatter.string().allow(''),
24
- slug: utils_validation_1.JoiFrontMatter.string(),
25
- sidebar_label: utils_validation_1.JoiFrontMatter.string(),
26
- sidebar_position: utils_validation_1.JoiFrontMatter.number().min(0),
27
- custom_edit_url: utils_validation_1.JoiFrontMatter.string().uri({ allowRelative: true }).allow('', null),
28
- parse_number_prefixes: utils_validation_1.JoiFrontMatter.boolean(),
29
- }).unknown();
30
- function validateDocFrontMatter(frontMatter) {
31
- return utils_validation_1.validateFrontMatter(frontMatter, DocFrontMatterSchema);
32
- }
33
- exports.validateDocFrontMatter = validateDocFrontMatter;
@@ -1,211 +0,0 @@
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.DefaultSidebarItemsGenerator = exports.CategoryMetadataFilenamePattern = exports.CategoryMetadataFilenameBase = void 0;
10
- const tslib_1 = require("tslib");
11
- const lodash_1 = require("lodash");
12
- const utils_1 = require("@docusaurus/utils");
13
- const utils_validation_1 = require("@docusaurus/utils-validation");
14
- const chalk_1 = tslib_1.__importDefault(require("chalk"));
15
- const path_1 = tslib_1.__importDefault(require("path"));
16
- const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
17
- const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
18
- const sidebars_1 = require("./sidebars");
19
- const BreadcrumbSeparator = '/';
20
- exports.CategoryMetadataFilenameBase = '_category_';
21
- exports.CategoryMetadataFilenamePattern = '_category_.{json,yml,yaml}';
22
- const CategoryMetadatasFileSchema = utils_validation_1.Joi.object({
23
- label: utils_validation_1.Joi.string(),
24
- position: utils_validation_1.Joi.number(),
25
- collapsed: utils_validation_1.Joi.boolean(),
26
- });
27
- // TODO I now believe we should read all the category metadata files ahead of time: we may need this metadata to customize docs metadata
28
- // Example use-case being able to disable number prefix parsing at the folder level, or customize the default route path segment for an intermediate directory...
29
- // TODO later if there is `CategoryFolder/index.md`, we may want to read the metadata as yaml on it
30
- // see https://github.com/facebook/docusaurus/issues/3464#issuecomment-818670449
31
- async function readCategoryMetadatasFile(categoryDirPath) {
32
- var _a, _b;
33
- function validateCategoryMetadataFile(content) {
34
- return utils_validation_1.Joi.attempt(content, CategoryMetadatasFileSchema);
35
- }
36
- async function tryReadFile(fileNameWithExtension, parse) {
37
- // Simpler to use only posix paths for mocking file metadatas in tests
38
- const filePath = utils_1.posixPath(path_1.default.join(categoryDirPath, fileNameWithExtension));
39
- if (await fs_extra_1.default.pathExists(filePath)) {
40
- const contentString = await fs_extra_1.default.readFile(filePath, { encoding: 'utf8' });
41
- const unsafeContent = parse(contentString);
42
- try {
43
- return validateCategoryMetadataFile(unsafeContent);
44
- }
45
- catch (e) {
46
- console.error(chalk_1.default.red(`The docs sidebar category metadata file looks invalid!\nPath=${filePath}`));
47
- throw e;
48
- }
49
- }
50
- return null;
51
- }
52
- return ((_b = (_a = (await tryReadFile(`${exports.CategoryMetadataFilenameBase}.json`, JSON.parse))) !== null && _a !== void 0 ? _a : (await tryReadFile(`${exports.CategoryMetadataFilenameBase}.yml`, js_yaml_1.default.load))) !== null && _b !== void 0 ? _b :
53
- // eslint-disable-next-line no-return-await
54
- (await tryReadFile(`${exports.CategoryMetadataFilenameBase}.yaml`, js_yaml_1.default.load)));
55
- }
56
- // [...parents, tail]
57
- function parseBreadcrumb(breadcrumb) {
58
- return {
59
- parents: lodash_1.take(breadcrumb, breadcrumb.length - 1),
60
- tail: lodash_1.last(breadcrumb),
61
- };
62
- }
63
- // Comment for this feature: https://github.com/facebook/docusaurus/issues/3464#issuecomment-818670449
64
- const DefaultSidebarItemsGenerator = async function defaultSidebarItemsGenerator({ item, docs: allDocs, version, numberPrefixParser, }) {
65
- // Doc at the root of the autogenerated sidebar dir
66
- function isRootDoc(doc) {
67
- return doc.sourceDirName === item.dirName;
68
- }
69
- // Doc inside a subfolder of the autogenerated sidebar dir
70
- function isCategoryDoc(doc) {
71
- if (isRootDoc(doc)) {
72
- return false;
73
- }
74
- return (
75
- // autogen dir is . and doc is in subfolder
76
- item.dirName === '.' ||
77
- // autogen dir is not . and doc is in subfolder
78
- // "api/myDoc" startsWith "api/" (note "api2/myDoc" is not included)
79
- doc.sourceDirName.startsWith(utils_1.addTrailingSlash(item.dirName)));
80
- }
81
- function isInAutogeneratedDir(doc) {
82
- return isRootDoc(doc) || isCategoryDoc(doc);
83
- }
84
- // autogenDir=a/b and docDir=a/b/c/d => returns c/d
85
- // autogenDir=a/b and docDir=a/b => returns .
86
- function getDocDirRelativeToAutogenDir(doc) {
87
- if (!isInAutogeneratedDir(doc)) {
88
- throw new Error('getDocDirRelativeToAutogenDir() can only be called for subdocs of the sidebar autogen dir');
89
- }
90
- // Is there a node API to compare 2 relative paths more easily?
91
- // path.relative() does not give good results
92
- if (item.dirName === '.') {
93
- return doc.sourceDirName;
94
- }
95
- else if (item.dirName === doc.sourceDirName) {
96
- return '.';
97
- }
98
- else {
99
- return doc.sourceDirName.replace(utils_1.addTrailingSlash(item.dirName), '');
100
- }
101
- }
102
- // Get only docs in the autogen dir
103
- // Sort by folder+filename at once
104
- const docs = lodash_1.sortBy(allDocs.filter(isInAutogeneratedDir), (d) => d.source);
105
- if (docs.length === 0) {
106
- console.warn(chalk_1.default.yellow(`No docs found in dir ${item.dirName}: can't auto-generate a sidebar`));
107
- }
108
- function createDocSidebarItem(doc) {
109
- return {
110
- type: 'doc',
111
- id: doc.id,
112
- ...(doc.frontMatter.sidebar_label && {
113
- label: doc.frontMatter.sidebar_label,
114
- }),
115
- ...(typeof doc.sidebarPosition !== 'undefined' && {
116
- position: doc.sidebarPosition,
117
- }),
118
- };
119
- }
120
- async function createCategorySidebarItem({ breadcrumb, }) {
121
- var _a, _b, _c;
122
- const categoryDirPath = path_1.default.join(version.contentPath, item.dirName, // fix https://github.com/facebook/docusaurus/issues/4638
123
- breadcrumb.join(BreadcrumbSeparator));
124
- const categoryMetadatas = await readCategoryMetadatasFile(categoryDirPath);
125
- const { tail } = parseBreadcrumb(breadcrumb);
126
- const { filename, numberPrefix } = numberPrefixParser(tail);
127
- const position = (_a = categoryMetadatas === null || categoryMetadatas === void 0 ? void 0 : categoryMetadatas.position) !== null && _a !== void 0 ? _a : numberPrefix;
128
- return {
129
- type: 'category',
130
- label: (_b = categoryMetadatas === null || categoryMetadatas === void 0 ? void 0 : categoryMetadatas.label) !== null && _b !== void 0 ? _b : filename,
131
- items: [],
132
- collapsed: (_c = categoryMetadatas === null || categoryMetadatas === void 0 ? void 0 : categoryMetadatas.collapsed) !== null && _c !== void 0 ? _c : sidebars_1.DefaultCategoryCollapsedValue,
133
- ...(typeof position !== 'undefined' && { position }),
134
- };
135
- }
136
- // Not sure how to simplify this algorithm :/
137
- async function autogenerateSidebarItems() {
138
- const sidebarItems = []; // mutable result
139
- const categoriesByBreadcrumb = {}; // mutable cache of categories already created
140
- async function getOrCreateCategoriesForBreadcrumb(breadcrumb) {
141
- if (breadcrumb.length === 0) {
142
- return null;
143
- }
144
- const { parents } = parseBreadcrumb(breadcrumb);
145
- const parentCategory = await getOrCreateCategoriesForBreadcrumb(parents);
146
- const existingCategory = categoriesByBreadcrumb[breadcrumb.join(BreadcrumbSeparator)];
147
- if (existingCategory) {
148
- return existingCategory;
149
- }
150
- else {
151
- const newCategory = await createCategorySidebarItem({
152
- breadcrumb,
153
- });
154
- if (parentCategory) {
155
- parentCategory.items.push(newCategory);
156
- }
157
- else {
158
- sidebarItems.push(newCategory);
159
- }
160
- categoriesByBreadcrumb[breadcrumb.join(BreadcrumbSeparator)] = newCategory;
161
- return newCategory;
162
- }
163
- }
164
- // Get the category breadcrumb of a doc (relative to the dir of the autogenerated sidebar item)
165
- function getRelativeBreadcrumb(doc) {
166
- const relativeDirPath = getDocDirRelativeToAutogenDir(doc);
167
- if (relativeDirPath === '.') {
168
- return [];
169
- }
170
- else {
171
- return relativeDirPath.split(BreadcrumbSeparator);
172
- }
173
- }
174
- async function handleDocItem(doc) {
175
- const breadcrumb = getRelativeBreadcrumb(doc);
176
- const category = await getOrCreateCategoriesForBreadcrumb(breadcrumb);
177
- const docSidebarItem = createDocSidebarItem(doc);
178
- if (category) {
179
- category.items.push(docSidebarItem);
180
- }
181
- else {
182
- sidebarItems.push(docSidebarItem);
183
- }
184
- }
185
- // async process made sequential on purpose! order matters
186
- for (const doc of docs) {
187
- // eslint-disable-next-line no-await-in-loop
188
- await handleDocItem(doc);
189
- }
190
- return sidebarItems;
191
- }
192
- const sidebarItems = await autogenerateSidebarItems();
193
- return sortSidebarItems(sidebarItems);
194
- };
195
- exports.DefaultSidebarItemsGenerator = DefaultSidebarItemsGenerator;
196
- // Recursively sort the categories/docs + remove the "position" attribute from final output
197
- // Note: the "position" is only used to sort "inside" a sidebar slice
198
- // It is not used to sort across multiple consecutive sidebar slices (ie a whole Category composed of multiple autogenerated items)
199
- function sortSidebarItems(sidebarItems) {
200
- const processedSidebarItems = sidebarItems.map((item) => {
201
- if (item.type === 'category') {
202
- return {
203
- ...item,
204
- items: sortSidebarItems(item.items),
205
- };
206
- }
207
- return item;
208
- });
209
- const sortedSidebarItems = lodash_1.orderBy(processedSidebarItems, (item) => item.position, ['asc']);
210
- return sortedSidebarItems.map(({ position: _removed, ...item }) => item);
211
- }
package/lib/sidebars.d.ts DELETED
@@ -1,42 +0,0 @@
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 { Sidebars, SidebarItem, SidebarItemLink, SidebarItemDoc, Sidebar, SidebarItemCategory, UnprocessedSidebars, UnprocessedSidebar, DocMetadataBase, VersionMetadata, SidebarItemsGeneratorDoc, SidebarItemsGeneratorVersion, NumberPrefixParser, SidebarItemsGeneratorOption } from './types';
8
- export declare const DefaultCategoryCollapsedValue = true;
9
- export declare const DefaultSidebars: UnprocessedSidebars;
10
- export declare const DisabledSidebars: UnprocessedSidebars;
11
- export declare function loadSidebars(sidebarFilePath: string | false | undefined): UnprocessedSidebars;
12
- export declare function toSidebarItemsGeneratorDoc(doc: DocMetadataBase): SidebarItemsGeneratorDoc;
13
- export declare function toSidebarItemsGeneratorVersion(version: VersionMetadata): SidebarItemsGeneratorVersion;
14
- export declare function processSidebar({ sidebarItemsGenerator, numberPrefixParser, unprocessedSidebar, docs, version, }: {
15
- sidebarItemsGenerator: SidebarItemsGeneratorOption;
16
- numberPrefixParser: NumberPrefixParser;
17
- unprocessedSidebar: UnprocessedSidebar;
18
- docs: DocMetadataBase[];
19
- version: VersionMetadata;
20
- }): Promise<Sidebar>;
21
- export declare function processSidebars({ sidebarItemsGenerator, numberPrefixParser, unprocessedSidebars, docs, version, }: {
22
- sidebarItemsGenerator: SidebarItemsGeneratorOption;
23
- numberPrefixParser: NumberPrefixParser;
24
- unprocessedSidebars: UnprocessedSidebars;
25
- docs: DocMetadataBase[];
26
- version: VersionMetadata;
27
- }): Promise<Sidebars>;
28
- export declare function collectSidebarDocItems(sidebar: Sidebar): SidebarItemDoc[];
29
- export declare function collectSidebarCategories(sidebar: Sidebar): SidebarItemCategory[];
30
- export declare function collectSidebarLinks(sidebar: Sidebar): SidebarItemLink[];
31
- export declare function transformSidebarItems(sidebar: Sidebar, updateFn: (item: SidebarItem) => SidebarItem): Sidebar;
32
- export declare function collectSidebarsDocIds(sidebars: Sidebars): Record<string, string[]>;
33
- export declare function createSidebarsUtils(sidebars: Sidebars): {
34
- getFirstDocIdOfFirstSidebar: () => string | undefined;
35
- getSidebarNameByDocId: (docId: string) => string | undefined;
36
- getDocNavigation: (docId: string) => {
37
- sidebarName: string | undefined;
38
- previousId: string | undefined;
39
- nextId: string | undefined;
40
- };
41
- checkSidebarsDocIds: (validDocIds: string[]) => void;
42
- };
package/lib/sidebars.js DELETED
@@ -1,309 +0,0 @@
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.createSidebarsUtils = exports.collectSidebarsDocIds = exports.transformSidebarItems = exports.collectSidebarLinks = exports.collectSidebarCategories = exports.collectSidebarDocItems = exports.processSidebars = exports.processSidebar = exports.toSidebarItemsGeneratorVersion = exports.toSidebarItemsGeneratorDoc = exports.loadSidebars = exports.DisabledSidebars = exports.DefaultSidebars = exports.DefaultCategoryCollapsedValue = void 0;
10
- const tslib_1 = require("tslib");
11
- const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
12
- const import_fresh_1 = tslib_1.__importDefault(require("import-fresh"));
13
- const lodash_1 = require("lodash");
14
- const utils_1 = require("@docusaurus/utils");
15
- const combine_promises_1 = tslib_1.__importDefault(require("combine-promises"));
16
- const sidebarItemsGenerator_1 = require("./sidebarItemsGenerator");
17
- function isCategoryShorthand(item) {
18
- return typeof item !== 'string' && !item.type;
19
- }
20
- // categories are collapsed by default, unless user set collapsed = false
21
- exports.DefaultCategoryCollapsedValue = true;
22
- /**
23
- * Convert {category1: [item1,item2]} shorthand syntax to long-form syntax
24
- */
25
- function normalizeCategoryShorthand(sidebar) {
26
- return Object.entries(sidebar).map(([label, items]) => ({
27
- type: 'category',
28
- collapsed: exports.DefaultCategoryCollapsedValue,
29
- label,
30
- items,
31
- }));
32
- }
33
- /**
34
- * Check that item contains only allowed keys.
35
- */
36
- function assertItem(item, keys) {
37
- const unknownKeys = Object.keys(item).filter(
38
- // @ts-expect-error: key is always string
39
- (key) => !keys.includes(key) && key !== 'type');
40
- if (unknownKeys.length) {
41
- throw new Error(`Unknown sidebar item keys: ${unknownKeys}. Item: ${JSON.stringify(item)}`);
42
- }
43
- }
44
- function assertIsCategory(item) {
45
- assertItem(item, ['items', 'label', 'collapsed', 'customProps']);
46
- if (typeof item.label !== 'string') {
47
- throw new Error(`Error loading ${JSON.stringify(item)}. "label" must be a string.`);
48
- }
49
- if (!Array.isArray(item.items)) {
50
- throw new Error(`Error loading ${JSON.stringify(item)}. "items" must be an array.`);
51
- }
52
- // "collapsed" is an optional property
53
- if (item.hasOwnProperty('collapsed') && typeof item.collapsed !== 'boolean') {
54
- throw new Error(`Error loading ${JSON.stringify(item)}. "collapsed" must be a boolean.`);
55
- }
56
- }
57
- function assertIsAutogenerated(item) {
58
- assertItem(item, ['dirName', 'customProps']);
59
- if (typeof item.dirName !== 'string') {
60
- throw new Error(`Error loading ${JSON.stringify(item)}. "dirName" must be a string.`);
61
- }
62
- if (item.dirName.startsWith('/') || item.dirName.endsWith('/')) {
63
- throw new Error(`Error loading ${JSON.stringify(item)}. "dirName" must be a dir path relative to the docs folder root, and should not start or end with /`);
64
- }
65
- }
66
- function assertIsDoc(item) {
67
- assertItem(item, ['id', 'label', 'customProps']);
68
- if (typeof item.id !== 'string') {
69
- throw new Error(`Error loading ${JSON.stringify(item)}. "id" must be a string.`);
70
- }
71
- if (item.label && typeof item.label !== 'string') {
72
- throw new Error(`Error loading ${JSON.stringify(item)}. "label" must be a string.`);
73
- }
74
- }
75
- function assertIsLink(item) {
76
- assertItem(item, ['href', 'label', 'customProps']);
77
- if (typeof item.href !== 'string') {
78
- throw new Error(`Error loading ${JSON.stringify(item)}. "href" must be a string.`);
79
- }
80
- if (typeof item.label !== 'string') {
81
- throw new Error(`Error loading ${JSON.stringify(item)}. "label" must be a string.`);
82
- }
83
- }
84
- /**
85
- * Normalizes recursively item and all its children. Ensures that at the end
86
- * each item will be an object with the corresponding type.
87
- */
88
- function normalizeItem(item) {
89
- if (typeof item === 'string') {
90
- return [
91
- {
92
- type: 'doc',
93
- id: item,
94
- },
95
- ];
96
- }
97
- if (isCategoryShorthand(item)) {
98
- return lodash_1.flatMap(normalizeCategoryShorthand(item), normalizeItem);
99
- }
100
- switch (item.type) {
101
- case 'category':
102
- assertIsCategory(item);
103
- return [
104
- {
105
- collapsed: exports.DefaultCategoryCollapsedValue,
106
- ...item,
107
- items: lodash_1.flatMap(item.items, normalizeItem),
108
- },
109
- ];
110
- case 'autogenerated':
111
- assertIsAutogenerated(item);
112
- return [item];
113
- case 'link':
114
- assertIsLink(item);
115
- return [item];
116
- case 'ref':
117
- case 'doc':
118
- assertIsDoc(item);
119
- return [item];
120
- default: {
121
- const extraMigrationError = item.type === 'subcategory'
122
- ? "Docusaurus v2: 'subcategory' has been renamed as 'category'"
123
- : '';
124
- throw new Error(`Unknown sidebar item type [${item.type}]. Sidebar item=${JSON.stringify(item)} ${extraMigrationError}`);
125
- }
126
- }
127
- }
128
- function normalizeSidebar(sidebar) {
129
- const normalizedSidebar = Array.isArray(sidebar)
130
- ? sidebar
131
- : normalizeCategoryShorthand(sidebar);
132
- return lodash_1.flatMap(normalizedSidebar, normalizeItem);
133
- }
134
- function normalizeSidebars(sidebars) {
135
- return lodash_1.mapValues(sidebars, normalizeSidebar);
136
- }
137
- exports.DefaultSidebars = {
138
- defaultSidebar: [
139
- {
140
- type: 'autogenerated',
141
- dirName: '.',
142
- },
143
- ],
144
- };
145
- exports.DisabledSidebars = {};
146
- // TODO refactor: make async
147
- function loadSidebars(sidebarFilePath) {
148
- // false => no sidebars
149
- if (sidebarFilePath === false) {
150
- return exports.DisabledSidebars;
151
- }
152
- // undefined => defaults to autogenerated sidebars
153
- if (typeof sidebarFilePath === 'undefined') {
154
- return exports.DefaultSidebars;
155
- }
156
- // unexisting sidebars file: no sidebars
157
- // Note: this edge case can happen on versioned docs, not current version
158
- // We avoid creating empty versioned sidebars file with the CLI
159
- if (!fs_extra_1.default.existsSync(sidebarFilePath)) {
160
- return exports.DisabledSidebars;
161
- }
162
- // We don't want sidebars to be cached because of hot reloading.
163
- const sidebarJson = import_fresh_1.default(sidebarFilePath);
164
- return normalizeSidebars(sidebarJson);
165
- }
166
- exports.loadSidebars = loadSidebars;
167
- function toSidebarItemsGeneratorDoc(doc) {
168
- return lodash_1.pick(doc, [
169
- 'id',
170
- 'frontMatter',
171
- 'source',
172
- 'sourceDirName',
173
- 'sidebarPosition',
174
- ]);
175
- }
176
- exports.toSidebarItemsGeneratorDoc = toSidebarItemsGeneratorDoc;
177
- function toSidebarItemsGeneratorVersion(version) {
178
- return lodash_1.pick(version, ['versionName', 'contentPath']);
179
- }
180
- exports.toSidebarItemsGeneratorVersion = toSidebarItemsGeneratorVersion;
181
- // Handle the generation of autogenerated sidebar items
182
- async function processSidebar({ sidebarItemsGenerator, numberPrefixParser, unprocessedSidebar, docs, version, }) {
183
- // Just a minor lazy transformation optimization
184
- const getSidebarItemsGeneratorDocsAndVersion = lodash_1.memoize(() => ({
185
- docs: docs.map(toSidebarItemsGeneratorDoc),
186
- version: toSidebarItemsGeneratorVersion(version),
187
- }));
188
- async function processRecursive(item) {
189
- if (item.type === 'category') {
190
- return [
191
- {
192
- ...item,
193
- items: (await Promise.all(item.items.map(processRecursive))).flat(),
194
- },
195
- ];
196
- }
197
- if (item.type === 'autogenerated') {
198
- return sidebarItemsGenerator({
199
- item,
200
- numberPrefixParser,
201
- defaultSidebarItemsGenerator: sidebarItemsGenerator_1.DefaultSidebarItemsGenerator,
202
- ...getSidebarItemsGeneratorDocsAndVersion(),
203
- });
204
- }
205
- return [item];
206
- }
207
- return (await Promise.all(unprocessedSidebar.map(processRecursive))).flat();
208
- }
209
- exports.processSidebar = processSidebar;
210
- async function processSidebars({ sidebarItemsGenerator, numberPrefixParser, unprocessedSidebars, docs, version, }) {
211
- return combine_promises_1.default(lodash_1.mapValues(unprocessedSidebars, (unprocessedSidebar) => processSidebar({
212
- sidebarItemsGenerator,
213
- numberPrefixParser,
214
- unprocessedSidebar,
215
- docs,
216
- version,
217
- })));
218
- }
219
- exports.processSidebars = processSidebars;
220
- function collectSidebarItemsOfType(type, sidebar) {
221
- function collectRecursive(item) {
222
- const currentItemsCollected = item.type === type ? [item] : [];
223
- const childItemsCollected = item.type === 'category' ? lodash_1.flatten(item.items.map(collectRecursive)) : [];
224
- return [...currentItemsCollected, ...childItemsCollected];
225
- }
226
- return lodash_1.flatten(sidebar.map(collectRecursive));
227
- }
228
- function collectSidebarDocItems(sidebar) {
229
- return collectSidebarItemsOfType('doc', sidebar);
230
- }
231
- exports.collectSidebarDocItems = collectSidebarDocItems;
232
- function collectSidebarCategories(sidebar) {
233
- return collectSidebarItemsOfType('category', sidebar);
234
- }
235
- exports.collectSidebarCategories = collectSidebarCategories;
236
- function collectSidebarLinks(sidebar) {
237
- return collectSidebarItemsOfType('link', sidebar);
238
- }
239
- exports.collectSidebarLinks = collectSidebarLinks;
240
- function transformSidebarItems(sidebar, updateFn) {
241
- function transformRecursive(item) {
242
- if (item.type === 'category') {
243
- return updateFn({
244
- ...item,
245
- items: item.items.map(transformRecursive),
246
- });
247
- }
248
- return updateFn(item);
249
- }
250
- return sidebar.map(transformRecursive);
251
- }
252
- exports.transformSidebarItems = transformSidebarItems;
253
- function collectSidebarsDocIds(sidebars) {
254
- return lodash_1.mapValues(sidebars, (sidebar) => {
255
- return collectSidebarDocItems(sidebar).map((docItem) => docItem.id);
256
- });
257
- }
258
- exports.collectSidebarsDocIds = collectSidebarsDocIds;
259
- function createSidebarsUtils(sidebars) {
260
- const sidebarNameToDocIds = collectSidebarsDocIds(sidebars);
261
- function getFirstDocIdOfFirstSidebar() {
262
- var _a;
263
- return (_a = Object.values(sidebarNameToDocIds)[0]) === null || _a === void 0 ? void 0 : _a[0];
264
- }
265
- function getSidebarNameByDocId(docId) {
266
- // TODO lookup speed can be optimized
267
- const entry = Object.entries(sidebarNameToDocIds).find(([_sidebarName, docIds]) => docIds.includes(docId));
268
- return entry === null || entry === void 0 ? void 0 : entry[0];
269
- }
270
- function getDocNavigation(docId) {
271
- const sidebarName = getSidebarNameByDocId(docId);
272
- if (sidebarName) {
273
- const docIds = sidebarNameToDocIds[sidebarName];
274
- const currentIndex = docIds.indexOf(docId);
275
- const { previous, next } = utils_1.getElementsAround(docIds, currentIndex);
276
- return {
277
- sidebarName,
278
- previousId: previous,
279
- nextId: next,
280
- };
281
- }
282
- else {
283
- return {
284
- sidebarName: undefined,
285
- previousId: undefined,
286
- nextId: undefined,
287
- };
288
- }
289
- }
290
- function checkSidebarsDocIds(validDocIds) {
291
- const allSidebarDocIds = lodash_1.flatten(Object.values(sidebarNameToDocIds));
292
- const invalidSidebarDocIds = lodash_1.difference(allSidebarDocIds, validDocIds);
293
- if (invalidSidebarDocIds.length > 0) {
294
- throw new Error(`Bad sidebars file.
295
- These sidebar document ids do not exist:
296
- - ${invalidSidebarDocIds.sort().join('\n- ')},
297
-
298
- Available document ids=
299
- - ${validDocIds.sort().join('\n- ')}`);
300
- }
301
- }
302
- return {
303
- getFirstDocIdOfFirstSidebar,
304
- getSidebarNameByDocId,
305
- getDocNavigation,
306
- checkSidebarsDocIds,
307
- };
308
- }
309
- exports.createSidebarsUtils = createSidebarsUtils;
@@ -1,20 +0,0 @@
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 { GlobalPluginData, GlobalVersion } from '../../types';
8
- import { ActivePlugin, ActiveDocContext, DocVersionSuggestions, GetActivePluginOptions } from '../../client/docsClientUtils';
9
- export declare const useAllDocsData: () => Record<string, GlobalPluginData>;
10
- export declare const useDocsData: (pluginId: string | undefined) => GlobalPluginData;
11
- export declare const useActivePlugin: (options?: GetActivePluginOptions) => ActivePlugin | undefined;
12
- export declare const useActivePluginAndVersion: (options?: GetActivePluginOptions) => {
13
- activePlugin: ActivePlugin;
14
- activeVersion: GlobalVersion | undefined;
15
- } | undefined;
16
- export declare const useVersions: (pluginId: string | undefined) => GlobalVersion[];
17
- export declare const useLatestVersion: (pluginId: string | undefined) => GlobalVersion;
18
- export declare const useActiveVersion: (pluginId: string | undefined) => GlobalVersion | undefined;
19
- export declare const useActiveDocContext: (pluginId: string | undefined) => ActiveDocContext;
20
- export declare const useDocVersionSuggestions: (pluginId: string | undefined) => DocVersionSuggestions;