@docusaurus/plugin-content-docs 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 (197) hide show
  1. package/lib/categoryGeneratedIndex.d.ts +2 -2
  2. package/lib/categoryGeneratedIndex.js +2 -0
  3. package/lib/cli.d.ts +1 -1
  4. package/lib/cli.js +2 -1
  5. package/lib/client/docsClientUtils.d.ts +3 -22
  6. package/lib/client/docsClientUtils.js +5 -1
  7. package/lib/{theme/hooks/useDocs.d.ts → client/globalDataHooks.d.ts} +1 -2
  8. package/lib/{theme/hooks/useDocs.js → client/globalDataHooks.js} +2 -1
  9. package/{src/__tests__/__fixtures__/simple-site/docusaurus.config.js → lib/client/index.d.ts} +1 -8
  10. package/{src/__tests__/__fixtures__/site-with-doc-label/docusaurus.config.js → lib/client/index.js} +4 -8
  11. package/lib/docFrontMatter.js +1 -0
  12. package/lib/docs.d.ts +19 -6
  13. package/lib/docs.js +43 -22
  14. package/lib/globalData.d.ts +5 -1
  15. package/lib/globalData.js +34 -2
  16. package/lib/index.d.ts +3 -2
  17. package/lib/index.js +4 -10
  18. package/lib/lastUpdate.js +6 -5
  19. package/lib/markdown/index.d.ts +1 -1
  20. package/lib/markdown/linkify.d.ts +1 -1
  21. package/lib/numberPrefix.d.ts +1 -1
  22. package/lib/options.d.ts +1 -1
  23. package/lib/options.js +2 -2
  24. package/lib/routes.d.ts +4 -3
  25. package/lib/routes.js +8 -5
  26. package/lib/sidebars/generator.js +15 -17
  27. package/lib/sidebars/index.d.ts +3 -2
  28. package/lib/sidebars/processor.d.ts +3 -2
  29. package/lib/sidebars/processor.js +2 -0
  30. package/lib/sidebars/types.d.ts +8 -3
  31. package/lib/sidebars/utils.d.ts +12 -4
  32. package/lib/sidebars/utils.js +48 -3
  33. package/lib/sidebars/validation.d.ts +1 -1
  34. package/lib/sidebars/validation.js +4 -0
  35. package/lib/slug.d.ts +5 -4
  36. package/lib/slug.js +8 -7
  37. package/lib/translations.js +1 -1
  38. package/lib/types.d.ts +7 -78
  39. package/lib/versions.d.ts +3 -2
  40. package/lib/versions.js +27 -32
  41. package/package.json +14 -12
  42. package/src/categoryGeneratedIndex.ts +5 -3
  43. package/src/cli.ts +6 -2
  44. package/src/client/docsClientUtils.ts +22 -35
  45. package/src/{theme/hooks/useDocs.ts → client/globalDataHooks.ts} +6 -2
  46. package/src/{__tests__/__fixtures__/site-with-autogenerated-sidebar/partialAutogeneratedSidebars2.js → client/index.ts} +1 -9
  47. package/src/docFrontMatter.ts +2 -1
  48. package/src/docs.ts +77 -42
  49. package/src/globalData.ts +49 -3
  50. package/src/index.ts +11 -21
  51. package/src/lastUpdate.ts +6 -5
  52. package/src/markdown/index.ts +1 -1
  53. package/src/markdown/linkify.ts +1 -1
  54. package/src/numberPrefix.ts +1 -1
  55. package/src/options.ts +3 -7
  56. package/src/plugin-content-docs.d.ts +128 -18
  57. package/src/routes.ts +21 -11
  58. package/src/sidebars/generator.ts +28 -31
  59. package/src/sidebars/index.ts +3 -2
  60. package/src/sidebars/normalization.ts +2 -1
  61. package/src/sidebars/processor.ts +8 -7
  62. package/src/sidebars/types.ts +9 -5
  63. package/src/sidebars/utils.ts +76 -8
  64. package/src/sidebars/validation.ts +6 -1
  65. package/src/slug.ts +15 -11
  66. package/src/translations.ts +2 -2
  67. package/src/types.ts +12 -98
  68. package/src/versions.ts +51 -47
  69. package/lib/.tsbuildinfo +0 -1
  70. package/src/__tests__/__fixtures__/bad-id-site/docs/invalid-id.md +0 -5
  71. package/src/__tests__/__fixtures__/bad-slug-on-doc-home-site/docs/docWithSlug.md +0 -5
  72. package/src/__tests__/__fixtures__/empty-site/docusaurus.config.js +0 -16
  73. package/src/__tests__/__fixtures__/empty-site/sidebars.json +0 -1
  74. package/src/__tests__/__fixtures__/simple-site/docs/_partials/somePartial.md +0 -3
  75. package/src/__tests__/__fixtures__/simple-site/docs/_partials/subfolder/somePartial.md +0 -3
  76. package/src/__tests__/__fixtures__/simple-site/docs/_somePartial.md +0 -3
  77. package/src/__tests__/__fixtures__/simple-site/docs/foo/bar.md +0 -69
  78. package/src/__tests__/__fixtures__/simple-site/docs/foo/baz.md +0 -75
  79. package/src/__tests__/__fixtures__/simple-site/docs/headingAsTitle.md +0 -1
  80. package/src/__tests__/__fixtures__/simple-site/docs/hello.md +0 -55
  81. package/src/__tests__/__fixtures__/simple-site/docs/ipsum.md +0 -5
  82. package/src/__tests__/__fixtures__/simple-site/docs/lorem.md +0 -6
  83. package/src/__tests__/__fixtures__/simple-site/docs/rootAbsoluteSlug.md +0 -7
  84. package/src/__tests__/__fixtures__/simple-site/docs/rootRelativeSlug.md +0 -7
  85. package/src/__tests__/__fixtures__/simple-site/docs/rootResolvedSlug.md +0 -7
  86. package/src/__tests__/__fixtures__/simple-site/docs/rootTryToEscapeSlug.md +0 -7
  87. package/src/__tests__/__fixtures__/simple-site/docs/slugs/absoluteSlug.md +0 -5
  88. package/src/__tests__/__fixtures__/simple-site/docs/slugs/relativeSlug.md +0 -5
  89. package/src/__tests__/__fixtures__/simple-site/docs/slugs/resolvedSlug.md +0 -5
  90. package/src/__tests__/__fixtures__/simple-site/docs/slugs/tryToEscapeSlug.md +0 -5
  91. package/src/__tests__/__fixtures__/simple-site/sidebars.json +0 -37
  92. package/src/__tests__/__fixtures__/simple-site/wrong-sidebars.json +0 -7
  93. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/0-getting-started.md +0 -3
  94. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/1-installation.md +0 -3
  95. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/3-API/00_api-overview.md +0 -3
  96. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/3-API/01_Core APIs/0 --- Client API.md +0 -1
  97. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/3-API/01_Core APIs/1 --- Server API.md +0 -1
  98. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/3-API/02_Extension APIs/0. Plugin API.md +0 -1
  99. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/3-API/02_Extension APIs/1. Theme API.md +0 -1
  100. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/3-API/02_Extension APIs/_category_.yml +0 -1
  101. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/3-API/03_api-end.md +0 -3
  102. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/3-API/_category_.json +0 -3
  103. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/Guides/0-guide2.5.md +0 -8
  104. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/Guides/02-guide2.md +0 -7
  105. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/Guides/_category_.json +0 -3
  106. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/Guides/a-guide4.md +0 -7
  107. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/Guides/b-guide5.md +0 -7
  108. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/Guides/guide3.md +0 -8
  109. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docs/Guides/z-guide1.md +0 -8
  110. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/docusaurus.config.js +0 -14
  111. package/src/__tests__/__fixtures__/site-with-autogenerated-sidebar/partialAutogeneratedSidebars.js +0 -23
  112. package/src/__tests__/__fixtures__/site-with-doc-label/docs/hello-1.md +0 -8
  113. package/src/__tests__/__fixtures__/site-with-doc-label/docs/hello-2.md +0 -8
  114. package/src/__tests__/__fixtures__/site-with-doc-label/sidebars.json +0 -14
  115. package/src/__tests__/__fixtures__/versioned-site/community/team.md +0 -1
  116. package/src/__tests__/__fixtures__/versioned-site/community_sidebars.json +0 -3
  117. package/src/__tests__/__fixtures__/versioned-site/community_versioned_docs/version-1.0.0/team.md +0 -1
  118. package/src/__tests__/__fixtures__/versioned-site/community_versioned_sidebars/version-1.0.0-sidebars.json +0 -3
  119. package/src/__tests__/__fixtures__/versioned-site/community_versions.json +0 -1
  120. package/src/__tests__/__fixtures__/versioned-site/docs/foo/bar.md +0 -10
  121. package/src/__tests__/__fixtures__/versioned-site/docs/hello.md +0 -4
  122. package/src/__tests__/__fixtures__/versioned-site/docs/slugs/absoluteSlug.md +0 -5
  123. package/src/__tests__/__fixtures__/versioned-site/docs/slugs/relativeSlug.md +0 -5
  124. package/src/__tests__/__fixtures__/versioned-site/docs/slugs/resolvedSlug.md +0 -5
  125. package/src/__tests__/__fixtures__/versioned-site/docs/slugs/tryToEscapeSlug.md +0 -5
  126. package/src/__tests__/__fixtures__/versioned-site/docusaurus.config.js +0 -18
  127. package/src/__tests__/__fixtures__/versioned-site/i18n/en/docusaurus-plugin-content-docs/version-1.0.0/hello.md +0 -4
  128. package/src/__tests__/__fixtures__/versioned-site/i18n/en/docusaurus-plugin-content-docs-community/current/team.md +0 -5
  129. package/src/__tests__/__fixtures__/versioned-site/i18n/fr/docusaurus-plugin-content-docs/version-1.0.0/hello.md +0 -4
  130. package/src/__tests__/__fixtures__/versioned-site/sidebars.json +0 -10
  131. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-1.0.0/foo/bar.md +0 -4
  132. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-1.0.0/foo/baz.md +0 -1
  133. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-1.0.0/hello.md +0 -4
  134. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-1.0.1/_partials/somePartial.md +0 -3
  135. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-1.0.1/_partials/subfolder/somePartial.md +0 -3
  136. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-1.0.1/_somePartial.md +0 -3
  137. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-1.0.1/foo/bar.md +0 -1
  138. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-1.0.1/hello.md +0 -4
  139. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-withSlugs/rootAbsoluteSlug.md +0 -5
  140. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-withSlugs/rootRelativeSlug.md +0 -5
  141. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-withSlugs/rootResolvedSlug.md +0 -5
  142. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-withSlugs/rootTryToEscapeSlug.md +0 -5
  143. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-withSlugs/slugs/absoluteSlug.md +0 -5
  144. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-withSlugs/slugs/relativeSlug.md +0 -5
  145. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-withSlugs/slugs/resolvedSlug.md +0 -5
  146. package/src/__tests__/__fixtures__/versioned-site/versioned_docs/version-withSlugs/slugs/tryToEscapeSlug.md +0 -5
  147. package/src/__tests__/__fixtures__/versioned-site/versioned_sidebars/version-1.0.0-sidebars.json +0 -11
  148. package/src/__tests__/__fixtures__/versioned-site/versioned_sidebars/version-1.0.1-sidebars.json +0 -10
  149. package/src/__tests__/__fixtures__/versioned-site/versioned_sidebars/version-withSlugs-sidebars.json +0 -5
  150. package/src/__tests__/__fixtures__/versioned-site/versions.json +0 -5
  151. package/src/__tests__/__snapshots__/cli.test.ts.snap +0 -65
  152. package/src/__tests__/__snapshots__/docs.test.ts.snap +0 -140
  153. package/src/__tests__/__snapshots__/index.test.ts.snap +0 -2550
  154. package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -514
  155. package/src/__tests__/cli.test.ts +0 -337
  156. package/src/__tests__/docFrontMatter.test.ts +0 -359
  157. package/src/__tests__/docs.test.ts +0 -1039
  158. package/src/__tests__/index.test.ts +0 -1910
  159. package/src/__tests__/lastUpdate.test.ts +0 -69
  160. package/src/__tests__/numberPrefix.test.ts +0 -199
  161. package/src/__tests__/options.test.ts +0 -276
  162. package/src/__tests__/props.test.ts +0 -62
  163. package/src/__tests__/slug.test.ts +0 -216
  164. package/src/__tests__/translations.test.ts +0 -164
  165. package/src/__tests__/versions.test.ts +0 -744
  166. package/src/client/__tests__/docsClientUtils.test.ts +0 -371
  167. package/src/markdown/__tests__/__fixtures__/docs/doc-localized.md +0 -1
  168. package/src/markdown/__tests__/__fixtures__/docs/doc1.md +0 -13
  169. package/src/markdown/__tests__/__fixtures__/docs/doc2.md +0 -12
  170. package/src/markdown/__tests__/__fixtures__/docs/doc4.md +0 -19
  171. package/src/markdown/__tests__/__fixtures__/docs/doc5.md +0 -6
  172. package/src/markdown/__tests__/__fixtures__/docs/subdir/doc3.md +0 -3
  173. package/src/markdown/__tests__/__fixtures__/versioned_docs/version-1.0.0/doc2.md +0 -7
  174. package/src/markdown/__tests__/__fixtures__/versioned_docs/version-1.0.0/subdir/doc1.md +0 -3
  175. package/src/markdown/__tests__/__snapshots__/linkify.test.ts.snap +0 -82
  176. package/src/markdown/__tests__/linkify.test.ts +0 -190
  177. package/src/sidebars/__tests__/__fixtures__/sidebars/sidebars-category-shorthand.js +0 -34
  178. package/src/sidebars/__tests__/__fixtures__/sidebars/sidebars-category-wrong-items.json +0 -11
  179. package/src/sidebars/__tests__/__fixtures__/sidebars/sidebars-category-wrong-label.json +0 -11
  180. package/src/sidebars/__tests__/__fixtures__/sidebars/sidebars-category.js +0 -44
  181. package/src/sidebars/__tests__/__fixtures__/sidebars/sidebars-collapsed-first-level.json +0 -20
  182. package/src/sidebars/__tests__/__fixtures__/sidebars/sidebars-collapsed.json +0 -21
  183. package/src/sidebars/__tests__/__fixtures__/sidebars/sidebars-doc-id-not-string.json +0 -10
  184. package/src/sidebars/__tests__/__fixtures__/sidebars/sidebars-first-level-not-category.js +0 -20
  185. package/src/sidebars/__tests__/__fixtures__/sidebars/sidebars-link-wrong-href.json +0 -11
  186. package/src/sidebars/__tests__/__fixtures__/sidebars/sidebars-link-wrong-label.json +0 -11
  187. package/src/sidebars/__tests__/__fixtures__/sidebars/sidebars-link.json +0 -11
  188. package/src/sidebars/__tests__/__fixtures__/sidebars/sidebars-unknown-type.json +0 -14
  189. package/src/sidebars/__tests__/__fixtures__/sidebars/sidebars-wrong-field.json +0 -20
  190. package/src/sidebars/__tests__/__fixtures__/sidebars/sidebars.json +0 -20
  191. package/src/sidebars/__tests__/__snapshots__/index.test.ts.snap +0 -248
  192. package/src/sidebars/__tests__/generator.test.ts +0 -461
  193. package/src/sidebars/__tests__/index.test.ts +0 -204
  194. package/src/sidebars/__tests__/processor.test.ts +0 -237
  195. package/src/sidebars/__tests__/utils.test.ts +0 -695
  196. package/src/sidebars/__tests__/validation.test.ts +0 -105
  197. package/tsconfig.json +0 -9
@@ -1,216 +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
-
8
- import getSlug from '../slug';
9
-
10
- describe('getSlug', () => {
11
- test('should default to dirname/id', () => {
12
- expect(
13
- getSlug({
14
- baseID: 'doc',
15
- source: '@site/docs/dir/doc.md',
16
- sourceDirName: '/dir',
17
- }),
18
- ).toEqual('/dir/doc');
19
- expect(
20
- getSlug({
21
- baseID: 'doc',
22
- source: '@site/docs/dir/subdir/doc.md',
23
- sourceDirName: '/dir/subdir',
24
- }),
25
- ).toEqual('/dir/subdir/doc');
26
- });
27
-
28
- test('should handle conventional doc indexes', () => {
29
- expect(
30
- getSlug({
31
- baseID: 'doc',
32
- source: '@site/docs/dir/subdir/index.md',
33
- sourceDirName: '/dir/subdir',
34
- }),
35
- ).toEqual('/dir/subdir/');
36
- expect(
37
- getSlug({
38
- baseID: 'doc',
39
- source: '@site/docs/dir/subdir/inDEx.mdx',
40
- sourceDirName: '/dir/subdir',
41
- }),
42
- ).toEqual('/dir/subdir/');
43
- expect(
44
- getSlug({
45
- baseID: 'doc',
46
- source: '@site/docs/dir/subdir/readme.md',
47
- sourceDirName: '/dir/subdir',
48
- }),
49
- ).toEqual('/dir/subdir/');
50
- expect(
51
- getSlug({
52
- baseID: 'doc',
53
- source: '@site/docs/dir/subdir/reADMe.mdx',
54
- sourceDirName: '/dir/subdir',
55
- }),
56
- ).toEqual('/dir/subdir/');
57
- expect(
58
- getSlug({
59
- baseID: 'doc',
60
- source: '@site/docs/dir/subdir/subdir.md',
61
- sourceDirName: '/dir/subdir',
62
- }),
63
- ).toEqual('/dir/subdir/');
64
- expect(
65
- getSlug({
66
- baseID: 'doc',
67
- source: '@site/docs/dir/subdir/suBDir.mdx',
68
- sourceDirName: '/dir/subdir',
69
- }),
70
- ).toEqual('/dir/subdir/');
71
- });
72
-
73
- test('should ignore conventional doc index when explicit slug frontmatter is provided', () => {
74
- expect(
75
- getSlug({
76
- baseID: 'doc',
77
- source: '@site/docs/dir/subdir/index.md',
78
- sourceDirName: '/dir/subdir',
79
- frontmatterSlug: '/my/frontMatterSlug',
80
- }),
81
- ).toEqual('/my/frontMatterSlug');
82
- });
83
-
84
- test('can strip dir number prefixes', () => {
85
- expect(
86
- getSlug({
87
- baseID: 'doc',
88
- source: '@site/docs/001-dir1/002-dir2/doc.md',
89
- sourceDirName: '/001-dir1/002-dir2',
90
- stripDirNumberPrefixes: true,
91
- }),
92
- ).toEqual('/dir1/dir2/doc');
93
- expect(
94
- getSlug({
95
- baseID: 'doc',
96
- source: '@site/docs/001-dir1/002-dir2/doc.md',
97
- sourceDirName: '/001-dir1/002-dir2',
98
- stripDirNumberPrefixes: false,
99
- }),
100
- ).toEqual('/001-dir1/002-dir2/doc');
101
- });
102
-
103
- // See https://github.com/facebook/docusaurus/issues/3223
104
- test('should handle special chars in doc path', () => {
105
- expect(
106
- getSlug({
107
- baseID: 'my dôc',
108
- source: '@site/docs/dir with spâce/hey $hello/doc.md',
109
- sourceDirName: '/dir with spâce/hey $hello',
110
- }),
111
- ).toEqual('/dir with spâce/hey $hello/my dôc');
112
- });
113
-
114
- test('should handle current dir', () => {
115
- expect(
116
- getSlug({baseID: 'doc', source: '@site/docs/doc.md', sourceDirName: '.'}),
117
- ).toEqual('/doc');
118
- expect(
119
- getSlug({baseID: 'doc', source: '@site/docs/doc.md', sourceDirName: '/'}),
120
- ).toEqual('/doc');
121
- });
122
-
123
- test('should resolve absolute slug frontmatter', () => {
124
- expect(
125
- getSlug({
126
- baseID: 'any',
127
- source: '@site/docs/doc.md',
128
- sourceDirName: '.',
129
- frontmatterSlug: '/abc/def',
130
- }),
131
- ).toEqual('/abc/def');
132
- expect(
133
- getSlug({
134
- baseID: 'any',
135
- source: '@site/docs/any/doc.md',
136
- sourceDirName: './any',
137
- frontmatterSlug: '/abc/def',
138
- }),
139
- ).toEqual('/abc/def');
140
- expect(
141
- getSlug({
142
- baseID: 'any',
143
- source: '@site/docs/any/any/doc.md',
144
- sourceDirName: './any/any',
145
- frontmatterSlug: '/abc/def',
146
- }),
147
- ).toEqual('/abc/def');
148
- });
149
-
150
- test('should resolve relative slug frontmatter', () => {
151
- expect(
152
- getSlug({
153
- baseID: 'any',
154
- source: '@site/docs/doc.md',
155
- sourceDirName: '.',
156
- frontmatterSlug: 'abc/def',
157
- }),
158
- ).toEqual('/abc/def');
159
- expect(
160
- getSlug({
161
- baseID: 'any',
162
- source: '@site/docs/dir/doc.md',
163
- sourceDirName: '/dir',
164
- frontmatterSlug: 'abc/def',
165
- }),
166
- ).toEqual('/dir/abc/def');
167
- expect(
168
- getSlug({
169
- baseID: 'any',
170
- source: '@site/docs/unslashedDir/doc.md',
171
- sourceDirName: 'unslashedDir',
172
- frontmatterSlug: 'abc/def',
173
- }),
174
- ).toEqual('/unslashedDir/abc/def');
175
- expect(
176
- getSlug({
177
- baseID: 'any',
178
- source: '@site/docs/dir/subdir/doc.md',
179
- sourceDirName: 'dir/subdir',
180
- frontmatterSlug: 'abc/def',
181
- }),
182
- ).toEqual('/dir/subdir/abc/def');
183
- expect(
184
- getSlug({
185
- baseID: 'any',
186
- source: '@site/docs/dir/doc.md',
187
- sourceDirName: '/dir',
188
- frontmatterSlug: './abc/def',
189
- }),
190
- ).toEqual('/dir/abc/def');
191
- expect(
192
- getSlug({
193
- baseID: 'any',
194
- source: '@site/docs/dir/doc.md',
195
- sourceDirName: '/dir',
196
- frontmatterSlug: './abc/../def',
197
- }),
198
- ).toEqual('/dir/def');
199
- expect(
200
- getSlug({
201
- baseID: 'any',
202
- source: '@site/docs/dir/subdir/doc.md',
203
- sourceDirName: '/dir/subdir',
204
- frontmatterSlug: '../abc/def',
205
- }),
206
- ).toEqual('/dir/abc/def');
207
- expect(
208
- getSlug({
209
- baseID: 'any',
210
- source: '@site/docs/dir/subdirdoc.md',
211
- sourceDirName: '/dir/subdir',
212
- frontmatterSlug: '../../../../../abc/../def',
213
- }),
214
- ).toEqual('/def');
215
- });
216
- });
@@ -1,164 +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
-
8
- import {LoadedContent, DocMetadata, LoadedVersion} from '../types';
9
- import {CURRENT_VERSION_NAME} from '../constants';
10
- import {
11
- getLoadedContentTranslationFiles,
12
- translateLoadedContent,
13
- } from '../translations';
14
- import {updateTranslationFileMessages} from '@docusaurus/utils';
15
-
16
- function createSampleDoc(doc: Pick<DocMetadata, 'id'>): DocMetadata {
17
- return {
18
- editUrl: 'any',
19
- lastUpdatedAt: 0,
20
- lastUpdatedBy: 'any',
21
- next: undefined,
22
- previous: undefined,
23
- permalink: 'any',
24
- slug: 'any',
25
- source: 'any',
26
- unversionedId: 'any',
27
- version: 'any',
28
- title: `${doc.id} title`,
29
- sidebar_label: `${doc.id} title`,
30
- description: `${doc.id} description`,
31
- ...doc,
32
- };
33
- }
34
-
35
- function createSampleVersion(
36
- version: Pick<LoadedVersion, 'versionName'>,
37
- ): LoadedVersion {
38
- return {
39
- versionLabel: `${version.versionName} label`,
40
- versionPath: '/docs/',
41
- mainDocId: '',
42
- routePriority: undefined,
43
- sidebarFilePath: 'any',
44
- isLast: true,
45
- contentPath: 'any',
46
- contentPathLocalized: 'any',
47
- docs: [
48
- createSampleDoc({
49
- id: 'doc1',
50
- }),
51
- createSampleDoc({
52
- id: 'doc2',
53
- }),
54
- createSampleDoc({
55
- id: 'doc3',
56
- }),
57
- createSampleDoc({
58
- id: 'doc4',
59
- }),
60
- createSampleDoc({
61
- id: 'doc5',
62
- }),
63
- ],
64
- sidebars: {
65
- docs: [
66
- {
67
- type: 'category',
68
- label: 'Getting started',
69
- collapsed: false,
70
- link: {
71
- type: 'generated-index',
72
- slug: '/category/getting-started-index-slug',
73
- permalink: '/docs/category/getting-started-index-slug',
74
- title: 'Getting started index title',
75
- description: 'Getting started index description',
76
- },
77
- items: [
78
- {
79
- type: 'doc',
80
- id: 'doc1',
81
- },
82
- {
83
- type: 'doc',
84
- id: 'doc2',
85
- },
86
- {
87
- type: 'link',
88
- label: 'Link label',
89
- href: 'https://facebook.com',
90
- },
91
- {
92
- type: 'ref',
93
- id: 'doc1',
94
- },
95
- ],
96
- },
97
- {
98
- type: 'doc',
99
- id: 'doc3',
100
- },
101
- ],
102
- otherSidebar: [
103
- {
104
- type: 'doc',
105
- id: 'doc4',
106
- },
107
- {
108
- type: 'doc',
109
- id: 'doc5',
110
- },
111
- ],
112
- },
113
- ...version,
114
- };
115
- }
116
-
117
- const SampleLoadedContent: LoadedContent = {
118
- loadedVersions: [
119
- createSampleVersion({
120
- versionName: CURRENT_VERSION_NAME,
121
- }),
122
- createSampleVersion({
123
- versionName: '2.0.0',
124
- }),
125
- createSampleVersion({
126
- versionName: '1.0.0',
127
- }),
128
- ],
129
- };
130
-
131
- function getSampleTranslationFiles() {
132
- return getLoadedContentTranslationFiles(SampleLoadedContent);
133
- }
134
- function getSampleTranslationFilesTranslated() {
135
- const translationFiles = getSampleTranslationFiles();
136
- return translationFiles.map((translationFile) =>
137
- updateTranslationFileMessages(
138
- translationFile,
139
- (message) => `${message} (translated)`,
140
- ),
141
- );
142
- }
143
-
144
- describe('getLoadedContentTranslationFiles', () => {
145
- test('should return translation files matching snapshot', async () => {
146
- expect(getSampleTranslationFiles()).toMatchSnapshot();
147
- });
148
- });
149
-
150
- describe('translateLoadedContent', () => {
151
- test('should not translate anything if translation files are untranslated', () => {
152
- const translationFiles = getSampleTranslationFiles();
153
- expect(
154
- translateLoadedContent(SampleLoadedContent, translationFiles),
155
- ).toEqual(SampleLoadedContent);
156
- });
157
-
158
- test('should return translated loaded content matching snapshot', () => {
159
- const translationFiles = getSampleTranslationFilesTranslated();
160
- expect(
161
- translateLoadedContent(SampleLoadedContent, translationFiles),
162
- ).toMatchSnapshot();
163
- });
164
- });