@docusaurus/utils 2.0.0-beta.18 → 2.0.0-beta.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/constants.d.ts +2 -0
- package/lib/constants.d.ts.map +1 -1
- package/lib/constants.js +4 -1
- package/lib/constants.js.map +1 -1
- package/lib/dataFileUtils.js +1 -1
- package/lib/dataFileUtils.js.map +1 -1
- package/lib/emitUtils.d.ts +2 -5
- package/lib/emitUtils.d.ts.map +1 -1
- package/lib/emitUtils.js +9 -36
- package/lib/emitUtils.js.map +1 -1
- package/lib/gitUtils.d.ts +4 -4
- package/lib/gitUtils.js +1 -1
- package/lib/gitUtils.js.map +1 -1
- package/lib/globUtils.d.ts +2 -1
- package/lib/globUtils.d.ts.map +1 -1
- package/lib/globUtils.js +6 -1
- package/lib/globUtils.js.map +1 -1
- package/lib/i18nUtils.d.ts +24 -1
- package/lib/i18nUtils.d.ts.map +1 -1
- package/lib/i18nUtils.js +22 -2
- package/lib/i18nUtils.js.map +1 -1
- package/lib/index.d.ts +4 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4 -3
- package/lib/index.js.map +1 -1
- package/lib/markdownLinks.d.ts.map +1 -1
- package/lib/markdownLinks.js +10 -4
- package/lib/markdownLinks.js.map +1 -1
- package/lib/markdownUtils.js +3 -3
- package/lib/markdownUtils.js.map +1 -1
- package/lib/pathUtils.d.ts.map +1 -1
- package/lib/pathUtils.js +5 -3
- package/lib/pathUtils.js.map +1 -1
- package/lib/tags.d.ts +11 -0
- package/lib/tags.d.ts.map +1 -1
- package/lib/tags.js +1 -1
- package/lib/tags.js.map +1 -1
- package/lib/urlUtils.d.ts.map +1 -1
- package/lib/urlUtils.js +0 -1
- package/lib/urlUtils.js.map +1 -1
- package/lib/webpackUtils.d.ts.map +1 -1
- package/lib/webpackUtils.js +1 -2
- package/lib/webpackUtils.js.map +1 -1
- package/package.json +8 -8
- package/src/constants.ts +4 -0
- package/src/dataFileUtils.ts +1 -1
- package/src/emitUtils.ts +8 -39
- package/src/gitUtils.ts +5 -5
- package/src/globUtils.ts +6 -1
- package/src/i18nUtils.ts +50 -2
- package/src/index.ts +5 -1
- package/src/markdownLinks.ts +10 -4
- package/src/markdownUtils.ts +3 -3
- package/src/pathUtils.ts +5 -3
- package/src/tags.ts +14 -1
- package/src/urlUtils.ts +0 -1
- package/src/webpackUtils.ts +1 -2
package/lib/pathUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pathUtils.js","sourceRoot":"","sources":["../src/pathUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,wDAAwB;AAExB,+DAA+D;AAC/D,qEAAqE;AACrE,qBAAqB;AACrB,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,0EAA0E;AAC1E,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACpD,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAE9C,MAAM,aAAa,GAAG,CAAC,GAAW,EAAW,EAAE;AACpD,qEAAqE;AACrE,OAAO,EAAE,IAAI,SAAS,EAAE;IACtB,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,mBAAmB,GAAG,sBAAsB
|
|
1
|
+
{"version":3,"file":"pathUtils.js","sourceRoot":"","sources":["../src/pathUtils.ts"],"names":[],"mappings":"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"}
|
package/lib/tags.d.ts
CHANGED
|
@@ -4,11 +4,22 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
+
/** What the user configures. */
|
|
7
8
|
export declare type Tag = {
|
|
8
9
|
label: string;
|
|
9
10
|
/** Permalink to this tag's page, without the `/tags/` base path. */
|
|
10
11
|
permalink: string;
|
|
11
12
|
};
|
|
13
|
+
/** What the tags list page should know about each tag. */
|
|
14
|
+
export declare type TagsListItem = Tag & {
|
|
15
|
+
/** Number of posts/docs with this tag. */
|
|
16
|
+
count: number;
|
|
17
|
+
};
|
|
18
|
+
/** What the tag's own page should know about the tag. */
|
|
19
|
+
export declare type TagModule = TagsListItem & {
|
|
20
|
+
/** The tags list page's permalink. */
|
|
21
|
+
allTagsPath: string;
|
|
22
|
+
};
|
|
12
23
|
export declare type FrontMatterTag = string | Tag;
|
|
13
24
|
/**
|
|
14
25
|
* Takes tag objects as they are defined in front matter, and normalizes each
|
package/lib/tags.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../src/tags.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,oBAAY,GAAG,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,oBAAY,cAAc,GAAG,MAAM,GAAG,GAAG,CAAC;AAgC1C;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB;AACtC,iDAAiD;AACjD,QAAQ,EAAE,MAAM;AAChB,8EAA8E;AAC9E,eAAe,GAAE,cAAc,EAAE,GAAG,SAAc,GACjD,GAAG,EAAE,CAMP;AAED,aAAK,eAAe,CAAC,IAAI,IAAI;IAC3B,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,IAAI,EAAE,CAAC;CACf,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EACnC,KAAK,EAAE,SAAS,IAAI,EAAE;AACtB;;;GAGG;AACH,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,GAAG,EAAE,GAC1C;IAAC,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;CAAC,CA0B9C"}
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../src/tags.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,gCAAgC;AAChC,oBAAY,GAAG,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,0DAA0D;AAC1D,oBAAY,YAAY,GAAG,GAAG,GAAG;IAC/B,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,yDAAyD;AACzD,oBAAY,SAAS,GAAG,YAAY,GAAG;IACrC,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,oBAAY,cAAc,GAAG,MAAM,GAAG,GAAG,CAAC;AAgC1C;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB;AACtC,iDAAiD;AACjD,QAAQ,EAAE,MAAM;AAChB,8EAA8E;AAC9E,eAAe,GAAE,cAAc,EAAE,GAAG,SAAc,GACjD,GAAG,EAAE,CAMP;AAED,aAAK,eAAe,CAAC,IAAI,IAAI;IAC3B,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,IAAI,EAAE,CAAC;CACf,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EACnC,KAAK,EAAE,SAAS,IAAI,EAAE;AACtB;;;GAGG;AACH,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,GAAG,EAAE,GAC1C;IAAC,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;CAAC,CA0B9C"}
|
package/lib/tags.js
CHANGED
|
@@ -19,7 +19,7 @@ function normalizeFrontMatterTag(tagsPath, frontMatterTag) {
|
|
|
19
19
|
}
|
|
20
20
|
// TODO maybe make ensure the permalink is valid url path?
|
|
21
21
|
function normalizeTagPermalink(permalink) {
|
|
22
|
-
//
|
|
22
|
+
// Note: we always apply tagsPath on purpose. For versioned docs, v1/doc.md
|
|
23
23
|
// and v2/doc.md tags with custom permalinks don't lead to the same created
|
|
24
24
|
// page. tagsPath is different for each doc version
|
|
25
25
|
return (0, urlUtils_1.normalizeUrl)([tagsPath, permalink]);
|
package/lib/tags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../src/tags.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,4DAAuB;AACvB,yCAAwC;
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../src/tags.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,4DAAuB;AACvB,yCAAwC;AAuBxC,SAAS,uBAAuB,CAC9B,QAAgB,EAChB,cAA8B;IAE9B,SAAS,WAAW,CAAC,SAAiB;QACpC,OAAO;YACL,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,gBAAC,CAAC,SAAS,CAAC,SAAS,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,0DAA0D;IAC1D,SAAS,qBAAqB,CAAC,SAAiB;QAC9C,2EAA2E;QAC3E,2EAA2E;QAC3E,mDAAmD;QACnD,OAAO,IAAA,uBAAY,EAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,GAAG,GACP,OAAO,cAAc,KAAK,QAAQ;QAChC,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC;QAC7B,CAAC,CAAC,cAAc,CAAC;IAErB,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,SAAS,EAAE,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC;KAChD,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,wBAAwB;AACtC,iDAAiD;AACjD,QAAgB;AAChB,8EAA8E;AAC9E,kBAAgD,EAAE;IAElD,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACvC,uBAAuB,CAAC,QAAQ,EAAE,GAAG,CAAC,CACvC,CAAC;IAEF,OAAO,gBAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAXD,4DAWC;AAOD;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,KAAsB;AACtB;;;GAGG;AACH,WAA2C;IAE3C,MAAM,MAAM,GAAiD,EAAE,CAAC;IAEhE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;;YAChC,0BAA0B;YAC1B,yEAAyE;YACzE,yDAAyD;YACzD,oCAAoC;YACpC,MAAM,MAAC,GAAG,CAAC,SAAS,MAApB,MAAM,OAAoB;gBACxB,GAAG;gBACH,KAAK,EAAE,EAAE;aACV,EAAC;YAEF,oBAAoB;YACpB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,mEAAmE;IACnE,wDAAwD;IACxD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACtC,KAAK,CAAC,KAAK,GAAG,gBAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAjCD,4CAiCC"}
|
package/lib/urlUtils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urlUtils.d.ts","sourceRoot":"","sources":["../src/urlUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAoFtD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,gBAAgB,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,GAAG,SAAS,CAKpB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ/C;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"urlUtils.d.ts","sourceRoot":"","sources":["../src/urlUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAoFtD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,gBAAgB,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,GAAG,SAAS,CAKpB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ/C;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAUpD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjE;AACD,8DAA8D;AAC9D,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAGD,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,6CAA6C;AAC7C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,gEAAgE;AAChE,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAKR;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAC3B,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAKR;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAU7D"}
|
package/lib/urlUtils.js
CHANGED
|
@@ -137,7 +137,6 @@ function isValidPathname(str) {
|
|
|
137
137
|
return false;
|
|
138
138
|
}
|
|
139
139
|
try {
|
|
140
|
-
// weird, but is there a better way?
|
|
141
140
|
const parsedPathname = new URL(str, 'https://domain.com').pathname;
|
|
142
141
|
return parsedPathname === str || parsedPathname === encodeURI(str);
|
|
143
142
|
}
|
package/lib/urlUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urlUtils.js","sourceRoot":"","sources":["../src/urlUtils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"urlUtils.js","sourceRoot":"","sources":["../src/urlUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webpackUtils.d.ts","sourceRoot":"","sources":["../src/webpackUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAQzC,aAAK,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3D,aAAK,eAAe,GAAG;IACrB,OAAO,EAAE;QACP,IAAI,EAAE,CAAC,OAAO,EAAE;YAAC,MAAM,EAAE,WAAW,CAAA;SAAC,KAAK,WAAW,CAAC;QACtD,GAAG,EAAE,CAAC,OAAO,EAAE;YAAC,MAAM,EAAE,WAAW,CAAA;SAAC,KAAK,WAAW,CAAC;QACrD,6BAA6B,EAAE,MAAM,CAAC;QACtC,4BAA4B,EAAE,MAAM,CAAC;KACtC,CAAC;IACF,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,WAAW,CAAC;QAC1B,KAAK,EAAE,MAAM,WAAW,CAAC;QACzB,KAAK,EAAE,MAAM,WAAW,CAAC;QACzB,GAAG,EAAE,MAAM,WAAW,CAAC;QACvB,WAAW,EAAE,MAAM,WAAW,CAAC;KAChC,CAAC;CACH,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,
|
|
1
|
+
{"version":3,"file":"webpackUtils.d.ts","sourceRoot":"","sources":["../src/webpackUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAQzC,aAAK,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3D,aAAK,eAAe,GAAG;IACrB,OAAO,EAAE;QACP,IAAI,EAAE,CAAC,OAAO,EAAE;YAAC,MAAM,EAAE,WAAW,CAAA;SAAC,KAAK,WAAW,CAAC;QACtD,GAAG,EAAE,CAAC,OAAO,EAAE;YAAC,MAAM,EAAE,WAAW,CAAA;SAAC,KAAK,WAAW,CAAC;QACrD,6BAA6B,EAAE,MAAM,CAAC;QACtC,4BAA4B,EAAE,MAAM,CAAC;KACtC,CAAC;IACF,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,WAAW,CAAC;QAC1B,KAAK,EAAE,MAAM,WAAW,CAAC;QACzB,KAAK,EAAE,MAAM,WAAW,CAAC;QACzB,GAAG,EAAE,MAAM,WAAW,CAAC;QACvB,WAAW,EAAE,MAAM,WAAW,CAAC;KAChC,CAAC;CACH,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAkHpD"}
|
package/lib/webpackUtils.js
CHANGED
|
@@ -17,10 +17,9 @@ const constants_1 = require("./constants");
|
|
|
17
17
|
* Inspired by https://github.com/gatsbyjs/gatsby/blob/8e6e021014da310b9cc7d02e58c9b3efe938c665/packages/gatsby/src/utils/webpack-utils.ts#L447
|
|
18
18
|
*/
|
|
19
19
|
function getFileLoaderUtils() {
|
|
20
|
-
//
|
|
20
|
+
// Files/images < urlLoaderLimit will be inlined as base64 strings directly in
|
|
21
21
|
// the html
|
|
22
22
|
const urlLoaderLimit = constants_1.WEBPACK_URL_LOADER_LIMIT;
|
|
23
|
-
// defines the path/pattern of the assets handled by webpack
|
|
24
23
|
const fileLoaderFileName = (folder) => path_1.default.posix.join(constants_1.OUTPUT_STATIC_ASSETS_DIR_NAME, folder, '[name]-[contenthash].[ext]');
|
|
25
24
|
const loaders = {
|
|
26
25
|
file: (options) => ({
|
package/lib/webpackUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webpackUtils.js","sourceRoot":"","sources":["../src/webpackUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAGH,wDAAwB;AACxB,2CAAuC;AACvC,2CAGqB;AAoBrB;;;;GAIG;AACH,SAAgB,kBAAkB;IAChC,8EAA8E;IAC9E,WAAW;IACX,MAAM,cAAc,GAAG,oCAAwB,CAAC;IAEhD,
|
|
1
|
+
{"version":3,"file":"webpackUtils.js","sourceRoot":"","sources":["../src/webpackUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/utils",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.19",
|
|
4
4
|
"description": "Node utility functions for Docusaurus packages.",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
},
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@docusaurus/logger": "2.0.0-beta.
|
|
21
|
+
"@docusaurus/logger": "2.0.0-beta.19",
|
|
22
22
|
"@svgr/webpack": "^6.2.1",
|
|
23
23
|
"file-loader": "^6.2.0",
|
|
24
|
-
"fs-extra": "^10.0
|
|
24
|
+
"fs-extra": "^10.1.0",
|
|
25
25
|
"github-slugger": "^1.4.0",
|
|
26
26
|
"globby": "^11.1.0",
|
|
27
27
|
"gray-matter": "^4.0.3",
|
|
@@ -30,20 +30,20 @@
|
|
|
30
30
|
"micromatch": "^4.0.5",
|
|
31
31
|
"resolve-pathname": "^3.0.0",
|
|
32
32
|
"shelljs": "^0.8.5",
|
|
33
|
-
"tslib": "^2.
|
|
33
|
+
"tslib": "^2.4.0",
|
|
34
34
|
"url-loader": "^4.1.1",
|
|
35
|
-
"webpack": "^5.
|
|
35
|
+
"webpack": "^5.72.0"
|
|
36
36
|
},
|
|
37
37
|
"engines": {
|
|
38
38
|
"node": ">=14"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@docusaurus/types": "2.0.0-beta.
|
|
41
|
+
"@docusaurus/types": "2.0.0-beta.19",
|
|
42
42
|
"@types/dedent": "^0.7.0",
|
|
43
43
|
"@types/github-slugger": "^1.3.0",
|
|
44
44
|
"@types/micromatch": "^4.0.2",
|
|
45
|
-
"@types/react-dom": "^
|
|
45
|
+
"@types/react-dom": "^18.0.3",
|
|
46
46
|
"dedent": "^0.7.0"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "a71e60a49cce93c1006ef10c41ac03187f057102"
|
|
49
49
|
}
|
package/src/constants.ts
CHANGED
|
@@ -16,6 +16,10 @@ export const NODE_MINOR_VERSION = parseInt(
|
|
|
16
16
|
10,
|
|
17
17
|
);
|
|
18
18
|
|
|
19
|
+
/** Docusaurus core version. */
|
|
20
|
+
// eslint-disable-next-line global-require, @typescript-eslint/no-var-requires
|
|
21
|
+
export const DOCUSAURUS_VERSION = require('../package.json').version;
|
|
22
|
+
|
|
19
23
|
/**
|
|
20
24
|
* Can be overridden with cli option `--out-dir`. Code should generally use
|
|
21
25
|
* `context.outDir` instead (which is always absolute and localized).
|
package/src/dataFileUtils.ts
CHANGED
package/src/emitUtils.ts
CHANGED
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
import path from 'path';
|
|
9
9
|
import fs from 'fs-extra';
|
|
10
10
|
import {createHash} from 'crypto';
|
|
11
|
-
import {simpleHash, docuHash} from './hashUtils';
|
|
12
11
|
import {findAsyncSequential} from './jsUtils';
|
|
13
12
|
|
|
14
13
|
const fileHash = new Map<string, string>();
|
|
@@ -18,7 +17,8 @@ const fileHash = new Map<string, string>();
|
|
|
18
17
|
* differs from cache (for hot reload performance).
|
|
19
18
|
*
|
|
20
19
|
* @param generatedFilesDir Absolute path.
|
|
21
|
-
* @param file Path relative to `generatedFilesDir`.
|
|
20
|
+
* @param file Path relative to `generatedFilesDir`. File will always be
|
|
21
|
+
* outputted; no need to ensure directory exists.
|
|
22
22
|
* @param content String content to write.
|
|
23
23
|
* @param skipCache If `true` (defaults as `true` for production), file is
|
|
24
24
|
* force-rewritten, skipping cache.
|
|
@@ -29,7 +29,7 @@ export async function generate(
|
|
|
29
29
|
content: string,
|
|
30
30
|
skipCache: boolean = process.env.NODE_ENV === 'production',
|
|
31
31
|
): Promise<void> {
|
|
32
|
-
const filepath = path.
|
|
32
|
+
const filepath = path.resolve(generatedFilesDir, file);
|
|
33
33
|
|
|
34
34
|
if (skipCache) {
|
|
35
35
|
await fs.outputFile(filepath, content);
|
|
@@ -62,35 +62,6 @@ export async function generate(
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
const chunkNameCache = new Map<string, string>();
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Generate unique chunk name given a module path.
|
|
69
|
-
*/
|
|
70
|
-
export function genChunkName(
|
|
71
|
-
modulePath: string,
|
|
72
|
-
prefix?: string,
|
|
73
|
-
preferredName?: string,
|
|
74
|
-
shortId: boolean = process.env.NODE_ENV === 'production',
|
|
75
|
-
): string {
|
|
76
|
-
let chunkName = chunkNameCache.get(modulePath);
|
|
77
|
-
if (!chunkName) {
|
|
78
|
-
if (shortId) {
|
|
79
|
-
chunkName = simpleHash(modulePath, 8);
|
|
80
|
-
} else {
|
|
81
|
-
let str = modulePath;
|
|
82
|
-
if (preferredName) {
|
|
83
|
-
const shortHash = simpleHash(modulePath, 3);
|
|
84
|
-
str = `${preferredName}${shortHash}`;
|
|
85
|
-
}
|
|
86
|
-
const name = str === '/' ? 'index' : docuHash(str);
|
|
87
|
-
chunkName = prefix ? `${prefix}---${name}` : name;
|
|
88
|
-
}
|
|
89
|
-
chunkNameCache.set(modulePath, chunkName);
|
|
90
|
-
}
|
|
91
|
-
return chunkName;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
65
|
/**
|
|
95
66
|
* @param permalink The URL that the HTML file corresponds to, without base URL
|
|
96
67
|
* @param outDir Full path to the output directory
|
|
@@ -112,18 +83,16 @@ export async function readOutputHTMLFile(
|
|
|
112
83
|
outDir,
|
|
113
84
|
`${permalink.replace(/\/$/, '')}.html`,
|
|
114
85
|
);
|
|
115
|
-
if (trailingSlash) {
|
|
116
|
-
return fs.readFile(withTrailingSlashPath);
|
|
117
|
-
} else if (trailingSlash === false) {
|
|
118
|
-
return fs.readFile(withoutTrailingSlashPath);
|
|
119
|
-
}
|
|
120
86
|
const HTMLPath = await findAsyncSequential(
|
|
121
|
-
[
|
|
87
|
+
[
|
|
88
|
+
trailingSlash !== false && withTrailingSlashPath,
|
|
89
|
+
trailingSlash !== true && withoutTrailingSlashPath,
|
|
90
|
+
].filter((p): p is string => Boolean(p)),
|
|
122
91
|
fs.pathExists,
|
|
123
92
|
);
|
|
124
93
|
if (!HTMLPath) {
|
|
125
94
|
throw new Error(
|
|
126
|
-
`Expected output HTML file to be found at ${withTrailingSlashPath}
|
|
95
|
+
`Expected output HTML file to be found at ${withTrailingSlashPath}.`,
|
|
127
96
|
);
|
|
128
97
|
}
|
|
129
98
|
return fs.readFile(HTMLPath);
|
package/src/gitUtils.ts
CHANGED
|
@@ -19,8 +19,8 @@ export class FileNotTrackedError extends Error {}
|
|
|
19
19
|
* It gets the commit date instead of author date so that amended commits
|
|
20
20
|
* can have their dates updated.
|
|
21
21
|
*
|
|
22
|
-
* @throws {GitNotFoundError} If git is not found in `PATH`.
|
|
23
|
-
* @throws {FileNotTrackedError} If the current file is not tracked by git.
|
|
22
|
+
* @throws {@link GitNotFoundError} If git is not found in `PATH`.
|
|
23
|
+
* @throws {@link FileNotTrackedError} If the current file is not tracked by git.
|
|
24
24
|
* @throws Also throws when `git log` exited with non-zero, or when it outputs
|
|
25
25
|
* unexpected text.
|
|
26
26
|
*/
|
|
@@ -47,8 +47,8 @@ export function getFileCommitDate(
|
|
|
47
47
|
* It gets the commit date instead of author date so that amended commits
|
|
48
48
|
* can have their dates updated.
|
|
49
49
|
*
|
|
50
|
-
* @throws {GitNotFoundError} If git is not found in `PATH`.
|
|
51
|
-
* @throws {FileNotTrackedError} If the current file is not tracked by git.
|
|
50
|
+
* @throws {@link GitNotFoundError} If git is not found in `PATH`.
|
|
51
|
+
* @throws {@link FileNotTrackedError} If the current file is not tracked by git.
|
|
52
52
|
* @throws Also throws when `git log` exited with non-zero, or when it outputs
|
|
53
53
|
* unexpected text.
|
|
54
54
|
*/
|
|
@@ -112,7 +112,7 @@ export function getFileCommitDate(
|
|
|
112
112
|
const result = shell.exec(
|
|
113
113
|
`git log ${extraArgs} ${formatArg} -- "${path.basename(file)}"`,
|
|
114
114
|
{
|
|
115
|
-
// cwd is important, see: https://github.com/facebook/docusaurus/pull/5048
|
|
115
|
+
// Setting cwd is important, see: https://github.com/facebook/docusaurus/pull/5048
|
|
116
116
|
cwd: path.dirname(file),
|
|
117
117
|
silent: true,
|
|
118
118
|
},
|
package/src/globUtils.ts
CHANGED
|
@@ -31,11 +31,16 @@ type Matcher = (str: string) => boolean;
|
|
|
31
31
|
* A very thin wrapper around `Micromatch.makeRe`.
|
|
32
32
|
*
|
|
33
33
|
* @see {@link createAbsoluteFilePathMatcher}
|
|
34
|
-
* @param patterns A list of glob patterns.
|
|
34
|
+
* @param patterns A list of glob patterns. If the list is empty, it defaults to
|
|
35
|
+
* matching none.
|
|
35
36
|
* @returns A matcher handle that tells if a file path is matched by any of the
|
|
36
37
|
* patterns.
|
|
37
38
|
*/
|
|
38
39
|
export function createMatcher(patterns: string[]): Matcher {
|
|
40
|
+
if (patterns.length === 0) {
|
|
41
|
+
// `/(?:)/.test("foo")` is `true`
|
|
42
|
+
return () => false;
|
|
43
|
+
}
|
|
39
44
|
const regexp = new RegExp(
|
|
40
45
|
patterns.map((pattern) => Micromatch.makeRe(pattern).source).join('|'),
|
|
41
46
|
);
|
package/src/i18nUtils.ts
CHANGED
|
@@ -7,8 +7,13 @@
|
|
|
7
7
|
|
|
8
8
|
import path from 'path';
|
|
9
9
|
import _ from 'lodash';
|
|
10
|
-
import type {
|
|
10
|
+
import type {
|
|
11
|
+
TranslationFileContent,
|
|
12
|
+
TranslationFile,
|
|
13
|
+
I18n,
|
|
14
|
+
} from '@docusaurus/types';
|
|
11
15
|
import {DEFAULT_PLUGIN_ID, I18N_DIR_NAME} from './constants';
|
|
16
|
+
import {normalizeUrl} from './urlUtils';
|
|
12
17
|
|
|
13
18
|
/**
|
|
14
19
|
* Takes a list of translation file contents, and shallow-merges them into one.
|
|
@@ -56,7 +61,7 @@ export function getPluginI18nPath({
|
|
|
56
61
|
return path.join(
|
|
57
62
|
siteDir,
|
|
58
63
|
I18N_DIR_NAME,
|
|
59
|
-
//
|
|
64
|
+
// Namespace first by locale: convenient to work in a single folder for a
|
|
60
65
|
// translator
|
|
61
66
|
locale,
|
|
62
67
|
// Make it convenient to use for single-instance
|
|
@@ -65,3 +70,46 @@ export function getPluginI18nPath({
|
|
|
65
70
|
...subPaths,
|
|
66
71
|
);
|
|
67
72
|
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Takes a path and returns a localized a version (which is basically `path +
|
|
76
|
+
* i18n.currentLocale`).
|
|
77
|
+
*/
|
|
78
|
+
export function localizePath({
|
|
79
|
+
pathType,
|
|
80
|
+
path: originalPath,
|
|
81
|
+
i18n,
|
|
82
|
+
options = {},
|
|
83
|
+
}: {
|
|
84
|
+
/**
|
|
85
|
+
* FS paths will treat Windows specially; URL paths will always have a
|
|
86
|
+
* trailing slash to make it a valid base URL.
|
|
87
|
+
*/
|
|
88
|
+
pathType: 'fs' | 'url';
|
|
89
|
+
/** The path, URL or file path, to be localized. */
|
|
90
|
+
path: string;
|
|
91
|
+
/** The current i18n context. */
|
|
92
|
+
i18n: I18n;
|
|
93
|
+
options?: {
|
|
94
|
+
/**
|
|
95
|
+
* By default, we don't localize the path of defaultLocale. This option
|
|
96
|
+
* would override that behavior. Setting `false` is useful for `yarn build
|
|
97
|
+
* -l zh-Hans` to always emit into the root build directory.
|
|
98
|
+
*/
|
|
99
|
+
localizePath?: boolean;
|
|
100
|
+
};
|
|
101
|
+
}): string {
|
|
102
|
+
const shouldLocalizePath: boolean =
|
|
103
|
+
//
|
|
104
|
+
options.localizePath ?? i18n.currentLocale !== i18n.defaultLocale;
|
|
105
|
+
|
|
106
|
+
if (!shouldLocalizePath) {
|
|
107
|
+
return originalPath;
|
|
108
|
+
}
|
|
109
|
+
// FS paths need special care, for Windows support
|
|
110
|
+
if (pathType === 'fs') {
|
|
111
|
+
return path.join(originalPath, i18n.currentLocale);
|
|
112
|
+
}
|
|
113
|
+
// Url paths; add a trailing slash so it's a valid base URL
|
|
114
|
+
return normalizeUrl([originalPath, i18n.currentLocale, '/']);
|
|
115
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
export {
|
|
9
9
|
NODE_MAJOR_VERSION,
|
|
10
10
|
NODE_MINOR_VERSION,
|
|
11
|
+
DOCUSAURUS_VERSION,
|
|
11
12
|
DEFAULT_BUILD_DIR_NAME,
|
|
12
13
|
DEFAULT_CONFIG_FILE_NAME,
|
|
13
14
|
BABEL_CONFIG_FILE_NAME,
|
|
@@ -22,7 +23,7 @@ export {
|
|
|
22
23
|
DEFAULT_PLUGIN_ID,
|
|
23
24
|
WEBPACK_URL_LOADER_LIMIT,
|
|
24
25
|
} from './constants';
|
|
25
|
-
export {generate,
|
|
26
|
+
export {generate, readOutputHTMLFile} from './emitUtils';
|
|
26
27
|
export {
|
|
27
28
|
getFileCommitDate,
|
|
28
29
|
FileNotTrackedError,
|
|
@@ -32,6 +33,7 @@ export {
|
|
|
32
33
|
mergeTranslations,
|
|
33
34
|
updateTranslationFileMessages,
|
|
34
35
|
getPluginI18nPath,
|
|
36
|
+
localizePath,
|
|
35
37
|
} from './i18nUtils';
|
|
36
38
|
export {
|
|
37
39
|
removeSuffix,
|
|
@@ -56,6 +58,8 @@ export {
|
|
|
56
58
|
} from './urlUtils';
|
|
57
59
|
export {
|
|
58
60
|
type Tag,
|
|
61
|
+
type TagsListItem,
|
|
62
|
+
type TagModule,
|
|
59
63
|
type FrontMatterTag,
|
|
60
64
|
normalizeFrontMatterTags,
|
|
61
65
|
groupTaggedItems,
|
package/src/markdownLinks.ts
CHANGED
|
@@ -111,12 +111,18 @@ export function replaceMarkdownLinks<T extends ContentPaths>({
|
|
|
111
111
|
// Replace it to correct html link.
|
|
112
112
|
const mdLink = mdMatch.groups!.filename!;
|
|
113
113
|
|
|
114
|
-
const sourcesToTry = [
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
114
|
+
const sourcesToTry: string[] = [];
|
|
115
|
+
// ./file.md and ../file.md are always relative to the current file
|
|
116
|
+
if (!mdLink.startsWith('./') && !mdLink.startsWith('../')) {
|
|
117
|
+
sourcesToTry.push(...getContentPathList(contentPaths), siteDir);
|
|
118
|
+
}
|
|
119
|
+
// /file.md is always relative to the content path
|
|
120
|
+
if (!mdLink.startsWith('/')) {
|
|
121
|
+
sourcesToTry.push(path.dirname(filePath));
|
|
122
|
+
}
|
|
118
123
|
|
|
119
124
|
const aliasedSourceMatch = sourcesToTry
|
|
125
|
+
.map((p) => path.join(p, decodeURIComponent(mdLink)))
|
|
120
126
|
.map((source) => aliasedSitePath(source, siteDir))
|
|
121
127
|
.find((source) => sourceToPermalink[source]);
|
|
122
128
|
|
package/src/markdownUtils.ts
CHANGED
|
@@ -198,13 +198,13 @@ export function parseMarkdownContentTitle(
|
|
|
198
198
|
// `import` nodes, as broken syntax can't render anyways. That means any block
|
|
199
199
|
// that has `import` at the very beginning and surrounded by empty lines.
|
|
200
200
|
const contentWithoutImport = content
|
|
201
|
-
.replace(/^(?:import\s(?:.|\n(?!\n))
|
|
201
|
+
.replace(/^(?:import\s(?:.|\r?\n(?!\r?\n))*(?:\r?\n){2,})*/, '')
|
|
202
202
|
.trim();
|
|
203
203
|
|
|
204
|
-
const regularTitleMatch = /^#[ \t]+(?<title>[^ \t].*)(?:\n|$)/.exec(
|
|
204
|
+
const regularTitleMatch = /^#[ \t]+(?<title>[^ \t].*)(?:\r?\n|$)/.exec(
|
|
205
205
|
contentWithoutImport,
|
|
206
206
|
);
|
|
207
|
-
const alternateTitleMatch = /^(?<title>.*)\n=+(?:\n|$)/.exec(
|
|
207
|
+
const alternateTitleMatch = /^(?<title>.*)\r?\n=+(?:\r?\n|$)/.exec(
|
|
208
208
|
contentWithoutImport,
|
|
209
209
|
);
|
|
210
210
|
|
package/src/pathUtils.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import path from 'path';
|
|
9
9
|
|
|
10
10
|
// Based on https://github.com/gatsbyjs/gatsby/pull/21518/files
|
|
11
|
-
//
|
|
11
|
+
// macOS (APFS) and Windows (NTFS) filename length limit = 255 chars,
|
|
12
12
|
// Others = 255 bytes
|
|
13
13
|
const MAX_PATH_SEGMENT_CHARS = 255;
|
|
14
14
|
const MAX_PATH_SEGMENT_BYTES = 255;
|
|
@@ -21,8 +21,10 @@ const isWindows = () => process.platform === 'win32';
|
|
|
21
21
|
export const isNameTooLong = (str: string): boolean =>
|
|
22
22
|
// Not entirely correct: we can't assume FS from OS. But good enough?
|
|
23
23
|
isMacOs() || isWindows()
|
|
24
|
-
?
|
|
25
|
-
|
|
24
|
+
? // Windows (NTFS) and macOS (APFS) filename length limit (255 chars)
|
|
25
|
+
str.length + SPACE_FOR_APPENDING > MAX_PATH_SEGMENT_CHARS
|
|
26
|
+
: // Other (255 bytes)
|
|
27
|
+
Buffer.from(str).length + SPACE_FOR_APPENDING > MAX_PATH_SEGMENT_BYTES;
|
|
26
28
|
|
|
27
29
|
export function shortName(str: string): string {
|
|
28
30
|
if (isMacOs() || isWindows()) {
|
package/src/tags.ts
CHANGED
|
@@ -8,12 +8,25 @@
|
|
|
8
8
|
import _ from 'lodash';
|
|
9
9
|
import {normalizeUrl} from './urlUtils';
|
|
10
10
|
|
|
11
|
+
/** What the user configures. */
|
|
11
12
|
export type Tag = {
|
|
12
13
|
label: string;
|
|
13
14
|
/** Permalink to this tag's page, without the `/tags/` base path. */
|
|
14
15
|
permalink: string;
|
|
15
16
|
};
|
|
16
17
|
|
|
18
|
+
/** What the tags list page should know about each tag. */
|
|
19
|
+
export type TagsListItem = Tag & {
|
|
20
|
+
/** Number of posts/docs with this tag. */
|
|
21
|
+
count: number;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/** What the tag's own page should know about the tag. */
|
|
25
|
+
export type TagModule = TagsListItem & {
|
|
26
|
+
/** The tags list page's permalink. */
|
|
27
|
+
allTagsPath: string;
|
|
28
|
+
};
|
|
29
|
+
|
|
17
30
|
export type FrontMatterTag = string | Tag;
|
|
18
31
|
|
|
19
32
|
function normalizeFrontMatterTag(
|
|
@@ -29,7 +42,7 @@ function normalizeFrontMatterTag(
|
|
|
29
42
|
|
|
30
43
|
// TODO maybe make ensure the permalink is valid url path?
|
|
31
44
|
function normalizeTagPermalink(permalink: string): string {
|
|
32
|
-
//
|
|
45
|
+
// Note: we always apply tagsPath on purpose. For versioned docs, v1/doc.md
|
|
33
46
|
// and v2/doc.md tags with custom permalinks don't lead to the same created
|
|
34
47
|
// page. tagsPath is different for each doc version
|
|
35
48
|
return normalizeUrl([tagsPath, permalink]);
|
package/src/urlUtils.ts
CHANGED
|
@@ -158,7 +158,6 @@ export function isValidPathname(str: string): boolean {
|
|
|
158
158
|
return false;
|
|
159
159
|
}
|
|
160
160
|
try {
|
|
161
|
-
// weird, but is there a better way?
|
|
162
161
|
const parsedPathname = new URL(str, 'https://domain.com').pathname;
|
|
163
162
|
return parsedPathname === str || parsedPathname === encodeURI(str);
|
|
164
163
|
} catch {
|
package/src/webpackUtils.ts
CHANGED
|
@@ -37,11 +37,10 @@ type FileLoaderUtils = {
|
|
|
37
37
|
* Inspired by https://github.com/gatsbyjs/gatsby/blob/8e6e021014da310b9cc7d02e58c9b3efe938c665/packages/gatsby/src/utils/webpack-utils.ts#L447
|
|
38
38
|
*/
|
|
39
39
|
export function getFileLoaderUtils(): FileLoaderUtils {
|
|
40
|
-
//
|
|
40
|
+
// Files/images < urlLoaderLimit will be inlined as base64 strings directly in
|
|
41
41
|
// the html
|
|
42
42
|
const urlLoaderLimit = WEBPACK_URL_LOADER_LIMIT;
|
|
43
43
|
|
|
44
|
-
// defines the path/pattern of the assets handled by webpack
|
|
45
44
|
const fileLoaderFileName = (folder: AssetFolder) =>
|
|
46
45
|
path.posix.join(
|
|
47
46
|
OUTPUT_STATIC_ASSETS_DIR_NAME,
|