@docusaurus/utils 3.1.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cliUtils.d.ts +14 -0
- package/lib/cliUtils.d.ts.map +1 -0
- package/lib/cliUtils.js +50 -0
- package/lib/cliUtils.js.map +1 -0
- package/lib/emitUtils.d.ts.map +1 -1
- package/lib/emitUtils.js +6 -3
- package/lib/emitUtils.js.map +1 -1
- package/lib/gitUtils.d.ts +6 -6
- package/lib/gitUtils.d.ts.map +1 -1
- package/lib/gitUtils.js +21 -10
- package/lib/gitUtils.js.map +1 -1
- package/lib/globUtils.d.ts.map +1 -1
- package/lib/globUtils.js +2 -2
- package/lib/globUtils.js.map +1 -1
- package/lib/index.d.ts +6 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +12 -7
- package/lib/index.js.map +1 -1
- package/lib/jsUtils.d.ts +0 -8
- package/lib/jsUtils.d.ts.map +1 -1
- package/lib/jsUtils.js +1 -25
- package/lib/jsUtils.js.map +1 -1
- package/lib/lastUpdateUtils.d.ts +28 -0
- package/lib/lastUpdateUtils.d.ts.map +1 -0
- package/lib/lastUpdateUtils.js +88 -0
- package/lib/lastUpdateUtils.js.map +1 -0
- package/lib/markdownUtils.js +2 -2
- package/lib/markdownUtils.js.map +1 -1
- package/lib/pathUtils.d.ts +8 -0
- package/lib/pathUtils.d.ts.map +1 -1
- package/lib/pathUtils.js +15 -1
- package/lib/pathUtils.js.map +1 -1
- package/lib/routeUtils.d.ts +13 -0
- package/lib/routeUtils.d.ts.map +1 -0
- package/lib/routeUtils.js +21 -0
- package/lib/routeUtils.js.map +1 -0
- package/lib/urlUtils.d.ts +0 -6
- package/lib/urlUtils.d.ts.map +1 -1
- package/lib/urlUtils.js +1 -18
- package/lib/urlUtils.js.map +1 -1
- package/package.json +6 -4
- package/src/cliUtils.ts +65 -0
- package/src/emitUtils.ts +7 -3
- package/src/gitUtils.ts +44 -20
- package/src/globUtils.ts +1 -2
- package/src/index.ts +13 -9
- package/src/jsUtils.ts +0 -24
- package/src/lastUpdateUtils.ts +132 -0
- package/src/markdownUtils.ts +2 -2
- package/src/pathUtils.ts +14 -0
- package/src/routeUtils.ts +19 -0
- package/src/urlUtils.ts +0 -17
|
@@ -0,0 +1,14 @@
|
|
|
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
|
+
type PreferredLanguage = 'javascript' | 'typescript';
|
|
8
|
+
type AskPreferredLanguageOptions = {
|
|
9
|
+
fallback: PreferredLanguage | undefined;
|
|
10
|
+
exit: boolean;
|
|
11
|
+
};
|
|
12
|
+
export declare function askPreferredLanguage(options?: Partial<AskPreferredLanguageOptions>): Promise<'javascript' | 'typescript'>;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=cliUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliUtils.d.ts","sourceRoot":"","sources":["../src/cliUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,KAAK,iBAAiB,GAAG,YAAY,GAAG,YAAY,CAAC;AAErD,KAAK,2BAA2B,GAAG;IACjC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACxC,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AASF,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,OAAO,CAAC,2BAA2B,CAAM,GACjD,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC,CAsCtC"}
|
package/lib/cliUtils.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
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.askPreferredLanguage = void 0;
|
|
10
|
+
const tslib_1 = require("tslib");
|
|
11
|
+
const prompts_1 = tslib_1.__importDefault(require("prompts"));
|
|
12
|
+
const logger_1 = tslib_1.__importDefault(require("@docusaurus/logger"));
|
|
13
|
+
const DefaultOptions = {
|
|
14
|
+
fallback: undefined,
|
|
15
|
+
exit: false,
|
|
16
|
+
};
|
|
17
|
+
const ExitChoice = { title: logger_1.default.yellow('[Exit]'), value: '[Exit]' };
|
|
18
|
+
async function askPreferredLanguage(options = {}) {
|
|
19
|
+
const { fallback, exit } = { ...DefaultOptions, ...options };
|
|
20
|
+
const choices = [
|
|
21
|
+
{ title: logger_1.default.bold('JavaScript'), value: 'javascript' },
|
|
22
|
+
{ title: logger_1.default.bold('TypeScript'), value: 'typescript' },
|
|
23
|
+
];
|
|
24
|
+
if (exit) {
|
|
25
|
+
choices.push(ExitChoice);
|
|
26
|
+
}
|
|
27
|
+
const { language } = await (0, prompts_1.default)({
|
|
28
|
+
type: 'select',
|
|
29
|
+
name: 'language',
|
|
30
|
+
message: 'Which language do you want to use?',
|
|
31
|
+
choices,
|
|
32
|
+
}, {
|
|
33
|
+
onCancel() {
|
|
34
|
+
exit && process.exit(0);
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
if (language === ExitChoice.value) {
|
|
38
|
+
process.exit(0);
|
|
39
|
+
}
|
|
40
|
+
if (!language) {
|
|
41
|
+
if (fallback) {
|
|
42
|
+
logger_1.default.info `Falling back to language=${fallback}`;
|
|
43
|
+
return fallback;
|
|
44
|
+
}
|
|
45
|
+
process.exit(0);
|
|
46
|
+
}
|
|
47
|
+
return language;
|
|
48
|
+
}
|
|
49
|
+
exports.askPreferredLanguage = askPreferredLanguage;
|
|
50
|
+
//# sourceMappingURL=cliUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliUtils.js","sourceRoot":"","sources":["../src/cliUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,8DAA6C;AAC7C,wEAAwC;AASxC,MAAM,cAAc,GAAgC;IAClD,QAAQ,EAAE,SAAS;IACnB,IAAI,EAAE,KAAK;CACZ,CAAC;AAEF,MAAM,UAAU,GAAW,EAAC,KAAK,EAAE,gBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC;AAEtE,KAAK,UAAU,oBAAoB,CACxC,UAAgD,EAAE;IAElD,MAAM,EAAC,QAAQ,EAAE,IAAI,EAAC,GAAG,EAAC,GAAG,cAAc,EAAE,GAAG,OAAO,EAAC,CAAC;IAEzD,MAAM,OAAO,GAAa;QACxB,EAAC,KAAK,EAAE,gBAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,YAAY,EAAC;QACvD,EAAC,KAAK,EAAE,gBAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,YAAY,EAAC;KACxD,CAAC;IACF,IAAI,IAAI,EAAE;QACR,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC1B;IAED,MAAM,EAAC,QAAQ,EAAC,GAAG,MAAM,IAAA,iBAAO,EAC9B;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,oCAAoC;QAC7C,OAAO;KACR,EACD;QACE,QAAQ;YACN,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;KACF,CACF,CAAC;IAEF,IAAI,QAAQ,KAAK,UAAU,CAAC,KAAK,EAAE;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,IAAI,CAAC,QAAQ,EAAE;QACb,IAAI,QAAQ,EAAE;YACZ,gBAAM,CAAC,IAAI,CAAA,4BAA4B,QAAQ,EAAE,CAAC;YAClD,OAAO,QAAQ,CAAC;SACjB;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAxCD,oDAwCC"}
|
package/lib/emitUtils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitUtils.d.ts","sourceRoot":"","sources":["../src/emitUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"emitUtils.d.ts","sourceRoot":"","sources":["../src/emitUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAaH;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAC5B,iBAAiB,EAAE,MAAM,EACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,OAA+C,GACzD,OAAO,CAAC,IAAI,CAAC,CAgCf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,OAAO,GAAG,SAAS,GACjC,OAAO,CAAC,MAAM,CAAC,CAqBjB"}
|
package/lib/emitUtils.js
CHANGED
|
@@ -13,6 +13,9 @@ const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
|
13
13
|
const crypto_1 = require("crypto");
|
|
14
14
|
const jsUtils_1 = require("./jsUtils");
|
|
15
15
|
const fileHash = new Map();
|
|
16
|
+
const hashContent = (content) => {
|
|
17
|
+
return (0, crypto_1.createHash)('md5').update(content).digest('hex');
|
|
18
|
+
};
|
|
16
19
|
/**
|
|
17
20
|
* Outputs a file to the generated files directory. Only writes files if content
|
|
18
21
|
* differs from cache (for hot reload performance).
|
|
@@ -33,7 +36,7 @@ async function generate(generatedFilesDir, file, content, skipCache = process.en
|
|
|
33
36
|
// first "A" remains in cache. But if the file never existed in cache, no
|
|
34
37
|
// need to register it.
|
|
35
38
|
if (fileHash.get(filepath)) {
|
|
36
|
-
fileHash.set(filepath, (
|
|
39
|
+
fileHash.set(filepath, hashContent(content));
|
|
37
40
|
}
|
|
38
41
|
return;
|
|
39
42
|
}
|
|
@@ -43,10 +46,10 @@ async function generate(generatedFilesDir, file, content, skipCache = process.en
|
|
|
43
46
|
// overwriting and we can reuse old file.
|
|
44
47
|
if (!lastHash && (await fs_extra_1.default.pathExists(filepath))) {
|
|
45
48
|
const lastContent = await fs_extra_1.default.readFile(filepath, 'utf8');
|
|
46
|
-
lastHash = (
|
|
49
|
+
lastHash = hashContent(lastContent);
|
|
47
50
|
fileHash.set(filepath, lastHash);
|
|
48
51
|
}
|
|
49
|
-
const currentHash = (
|
|
52
|
+
const currentHash = hashContent(content);
|
|
50
53
|
if (lastHash !== currentHash) {
|
|
51
54
|
await fs_extra_1.default.outputFile(filepath, content);
|
|
52
55
|
fileHash.set(filepath, currentHash);
|
package/lib/emitUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitUtils.js","sourceRoot":"","sources":["../src/emitUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,wDAAwB;AACxB,gEAA0B;AAC1B,mCAAkC;AAClC,uCAA8C;AAE9C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE3C;;;;;;;;;;GAUG;AACI,KAAK,UAAU,QAAQ,CAC5B,iBAAyB,EACzB,IAAY,EACZ,OAAe,EACf,YAAqB,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;IAE1D,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAEvD,IAAI,SAAS,EAAE;QACb,MAAM,kBAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACvC,4EAA4E;QAC5E,0EAA0E;QAC1E,yEAAyE;QACzE,uBAAuB;QACvB,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC1B,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"emitUtils.js","sourceRoot":"","sources":["../src/emitUtils.ts"],"names":[],"mappings":"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"}
|
package/lib/gitUtils.d.ts
CHANGED
|
@@ -30,12 +30,12 @@ file: string, args: {
|
|
|
30
30
|
age?: 'oldest' | 'newest';
|
|
31
31
|
/** Use `includeAuthor: true` to get the author information as well. */
|
|
32
32
|
includeAuthor?: false;
|
|
33
|
-
}): {
|
|
33
|
+
}): Promise<{
|
|
34
34
|
/** Relevant commit date. */
|
|
35
35
|
date: Date;
|
|
36
|
-
/** Timestamp
|
|
36
|
+
/** Timestamp returned from git, converted to **milliseconds**. */
|
|
37
37
|
timestamp: number;
|
|
38
|
-
}
|
|
38
|
+
}>;
|
|
39
39
|
/**
|
|
40
40
|
* Fetches the git history of a file and returns a relevant commit date.
|
|
41
41
|
* It gets the commit date instead of author date so that amended commits
|
|
@@ -55,12 +55,12 @@ file: string, args: {
|
|
|
55
55
|
*/
|
|
56
56
|
age?: 'oldest' | 'newest';
|
|
57
57
|
includeAuthor: true;
|
|
58
|
-
}): {
|
|
58
|
+
}): Promise<{
|
|
59
59
|
/** Relevant commit date. */
|
|
60
60
|
date: Date;
|
|
61
|
-
/** Timestamp
|
|
61
|
+
/** Timestamp returned from git, converted to **milliseconds**. */
|
|
62
62
|
timestamp: number;
|
|
63
63
|
/** The author's name, as returned from git. */
|
|
64
64
|
author: string;
|
|
65
|
-
}
|
|
65
|
+
}>;
|
|
66
66
|
//# sourceMappingURL=gitUtils.d.ts.map
|
package/lib/gitUtils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitUtils.d.ts","sourceRoot":"","sources":["../src/gitUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"gitUtils.d.ts","sourceRoot":"","sources":["../src/gitUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,2DAA2D;AAC3D,qBAAa,gBAAiB,SAAQ,KAAK;CAAG;AAE9C,uEAAuE;AACvE,qBAAa,mBAAoB,SAAQ,KAAK;CAAG;AAEjD;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB;AACrC,iCAAiC;AACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;IACJ;;;OAGG;IACH,GAAG,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,uEAAuE;IACvE,aAAa,CAAC,EAAE,KAAK,CAAC;CACvB,GACA,OAAO,CAAC;IACT,4BAA4B;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AACH;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB;AACrC,iCAAiC;AACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;IACJ;;;OAGG;IACH,GAAG,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,aAAa,EAAE,IAAI,CAAC;CACrB,GACA,OAAO,CAAC;IACT,4BAA4B;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC"}
|
package/lib/gitUtils.js
CHANGED
|
@@ -9,7 +9,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.getFileCommitDate = exports.FileNotTrackedError = exports.GitNotFoundError = void 0;
|
|
10
10
|
const tslib_1 = require("tslib");
|
|
11
11
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
12
|
-
const
|
|
12
|
+
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
13
|
+
const lodash_1 = tslib_1.__importDefault(require("lodash"));
|
|
14
|
+
const shelljs_1 = tslib_1.__importDefault(require("shelljs")); // TODO replace with async-first version
|
|
15
|
+
const realHasGitFn = () => !!shelljs_1.default.which('git');
|
|
16
|
+
// The hasGit call is synchronous IO so we memoize it
|
|
17
|
+
// The user won't install Git in the middle of a build anyway...
|
|
18
|
+
const hasGit = process.env.NODE_ENV === 'test' ? realHasGitFn : lodash_1.default.memoize(realHasGitFn);
|
|
13
19
|
/** Custom error thrown when git is not found in `PATH`. */
|
|
14
20
|
class GitNotFoundError extends Error {
|
|
15
21
|
}
|
|
@@ -18,11 +24,11 @@ exports.GitNotFoundError = GitNotFoundError;
|
|
|
18
24
|
class FileNotTrackedError extends Error {
|
|
19
25
|
}
|
|
20
26
|
exports.FileNotTrackedError = FileNotTrackedError;
|
|
21
|
-
function getFileCommitDate(file, { age = 'oldest', includeAuthor = false, }) {
|
|
22
|
-
if (!
|
|
27
|
+
async function getFileCommitDate(file, { age = 'oldest', includeAuthor = false, }) {
|
|
28
|
+
if (!hasGit()) {
|
|
23
29
|
throw new GitNotFoundError(`Failed to retrieve git history for "${file}" because git is not installed.`);
|
|
24
30
|
}
|
|
25
|
-
if (!
|
|
31
|
+
if (!(await fs_extra_1.default.pathExists(file))) {
|
|
26
32
|
throw new Error(`Failed to retrieve git history for "${file}" because the file does not exist.`);
|
|
27
33
|
}
|
|
28
34
|
const args = [
|
|
@@ -32,10 +38,14 @@ function getFileCommitDate(file, { age = 'oldest', includeAuthor = false, }) {
|
|
|
32
38
|
]
|
|
33
39
|
.filter(Boolean)
|
|
34
40
|
.join(' ');
|
|
35
|
-
const result =
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
41
|
+
const result = await new Promise((resolve) => {
|
|
42
|
+
shelljs_1.default.exec(`git log ${args} -- "${path_1.default.basename(file)}"`, {
|
|
43
|
+
// Setting cwd is important, see: https://github.com/facebook/docusaurus/pull/5048
|
|
44
|
+
cwd: path_1.default.dirname(file),
|
|
45
|
+
silent: true,
|
|
46
|
+
}, (code, stdout, stderr) => {
|
|
47
|
+
resolve({ code, stdout, stderr });
|
|
48
|
+
});
|
|
39
49
|
});
|
|
40
50
|
if (result.code !== 0) {
|
|
41
51
|
throw new Error(`Failed to retrieve the git history for file "${file}" with exit code ${result.code}: ${result.stderr}`);
|
|
@@ -52,8 +62,9 @@ function getFileCommitDate(file, { age = 'oldest', includeAuthor = false, }) {
|
|
|
52
62
|
if (!match) {
|
|
53
63
|
throw new Error(`Failed to retrieve the git history for file "${file}" with unexpected output: ${output}`);
|
|
54
64
|
}
|
|
55
|
-
const
|
|
56
|
-
const
|
|
65
|
+
const timestampInSeconds = Number(match.groups.timestamp);
|
|
66
|
+
const timestamp = timestampInSeconds * 1000;
|
|
67
|
+
const date = new Date(timestamp);
|
|
57
68
|
if (includeAuthor) {
|
|
58
69
|
return { date, timestamp, author: match.groups.author };
|
|
59
70
|
}
|
package/lib/gitUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitUtils.js","sourceRoot":"","sources":["../src/gitUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,wDAAwB;AACxB,8DAA4B;
|
|
1
|
+
{"version":3,"file":"gitUtils.js","sourceRoot":"","sources":["../src/gitUtils.ts"],"names":[],"mappings":"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"}
|
package/lib/globUtils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globUtils.d.ts","sourceRoot":"","sources":["../src/globUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"globUtils.d.ts","sourceRoot":"","sources":["../src/globUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,0CAA0C;AAC1C,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,QAAQ,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,UAK9B,CAAC;AAEF,KAAK,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;AAExC;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CASzD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAqBT"}
|
package/lib/globUtils.js
CHANGED
|
@@ -11,7 +11,7 @@ const tslib_1 = require("tslib");
|
|
|
11
11
|
// Globby/Micromatch are the 2 libs we use in Docusaurus consistently
|
|
12
12
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
13
13
|
const micromatch_1 = tslib_1.__importDefault(require("micromatch")); // Note: Micromatch is used by Globby
|
|
14
|
-
const
|
|
14
|
+
const utils_common_1 = require("@docusaurus/utils-common");
|
|
15
15
|
/** A re-export of the globby instance. */
|
|
16
16
|
var globby_1 = require("globby");
|
|
17
17
|
Object.defineProperty(exports, "Globby", { enumerable: true, get: function () { return tslib_1.__importDefault(globby_1).default; } });
|
|
@@ -60,7 +60,7 @@ exports.createMatcher = createMatcher;
|
|
|
60
60
|
function createAbsoluteFilePathMatcher(patterns, rootFolders) {
|
|
61
61
|
const matcher = createMatcher(patterns);
|
|
62
62
|
function getRelativeFilePath(absoluteFilePath) {
|
|
63
|
-
const rootFolder = rootFolders.find((folderPath) => [(0,
|
|
63
|
+
const rootFolder = rootFolders.find((folderPath) => [(0, utils_common_1.addSuffix)(folderPath, '/'), (0, utils_common_1.addSuffix)(folderPath, '\\')].some((p) => absoluteFilePath.startsWith(p)));
|
|
64
64
|
if (!rootFolder) {
|
|
65
65
|
throw new Error(`createAbsoluteFilePathMatcher unexpected error, absoluteFilePath=${absoluteFilePath} was not contained in any of the root folders: ${rootFolders.join(', ')}`);
|
|
66
66
|
}
|
package/lib/globUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globUtils.js","sourceRoot":"","sources":["../src/globUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,qEAAqE;AAErE,wDAAwB;AACxB,oEAAoC,CAAC,qCAAqC;AAC1E,
|
|
1
|
+
{"version":3,"file":"globUtils.js","sourceRoot":"","sources":["../src/globUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,qEAAqE;AAErE,wDAAwB;AACxB,oEAAoC,CAAC,qCAAqC;AAC1E,2DAAmD;AACnD,0CAA0C;AAC1C,iCAAyC;AAAjC,yHAAA,OAAO,OAAU;AAEzB;;;;GAIG;AACU,QAAA,kBAAkB,GAAG;IAChC,8BAA8B;IAC9B,UAAU;IACV,2BAA2B;IAC3B,iBAAiB;CAClB,CAAC;AAIF;;;;;;;;GAQG;AACH,SAAgB,aAAa,CAAC,QAAkB;IAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,iCAAiC;QACjC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;KACpB;IACD,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACvE,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AATD,sCASC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,6BAA6B,CAC3C,QAAkB,EAClB,WAAqB;IAErB,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAExC,SAAS,mBAAmB,CAAC,gBAAwB;QACnD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CACjD,CAAC,IAAA,wBAAS,EAAC,UAAU,EAAE,GAAG,CAAC,EAAE,IAAA,wBAAS,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACnE,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAC/B,CACF,CAAC;QACF,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CACb,oEAAoE,gBAAgB,kDAAkD,WAAW,CAAC,IAAI,CACpJ,IAAI,CACL,EAAE,CACJ,CAAC;SACH;QACD,OAAO,cAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,gBAAwB,EAAE,EAAE,CAClC,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACnD,CAAC;AAxBD,sEAwBC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -8,14 +8,14 @@ export { NODE_MAJOR_VERSION, NODE_MINOR_VERSION, DOCUSAURUS_VERSION, DEFAULT_BUI
|
|
|
8
8
|
export { generate, readOutputHTMLFile } from './emitUtils';
|
|
9
9
|
export { getFileCommitDate, FileNotTrackedError, GitNotFoundError, } from './gitUtils';
|
|
10
10
|
export { mergeTranslations, updateTranslationFileMessages, getPluginI18nPath, localizePath, } from './i18nUtils';
|
|
11
|
-
export {
|
|
12
|
-
export { normalizeUrl, getEditUrl, fileToPath, encodePath, isValidPathname, resolvePathname, parseURLPath, serializeURLPath,
|
|
11
|
+
export { mapAsyncSequential, findAsyncSequential } from './jsUtils';
|
|
12
|
+
export { normalizeUrl, getEditUrl, fileToPath, encodePath, isValidPathname, resolvePathname, parseURLPath, serializeURLPath, hasSSHProtocol, buildHttpsUrl, buildSshUrl, } from './urlUtils';
|
|
13
13
|
export type { URLPath } from './urlUtils';
|
|
14
14
|
export { type Tag, type TagsListItem, type TagModule, type FrontMatterTag, normalizeFrontMatterTags, groupTaggedItems, getTagVisibility, } from './tags';
|
|
15
15
|
export { parseMarkdownHeadingId, escapeMarkdownHeadingIds, unwrapMdxCodeBlocks, admonitionTitleToDirectiveLabel, createExcerpt, DEFAULT_PARSE_FRONT_MATTER, parseMarkdownContentTitle, parseMarkdownFile, writeMarkdownHeadingId, type WriteHeadingIDOptions, } from './markdownUtils';
|
|
16
16
|
export { type ContentPaths, type BrokenMarkdownLink, replaceMarkdownLinks, } from './markdownLinks';
|
|
17
17
|
export { type SluggerOptions, type Slugger, createSlugger } from './slugger';
|
|
18
|
-
export { isNameTooLong, shortName, posixPath, toMessageRelativeFilePath, aliasedSitePath, escapePath, addTrailingPathSeparator, } from './pathUtils';
|
|
18
|
+
export { isNameTooLong, shortName, posixPath, toMessageRelativeFilePath, aliasedSitePath, aliasedSitePathToRelativePath, escapePath, addTrailingPathSeparator, } from './pathUtils';
|
|
19
19
|
export { md5Hash, simpleHash, docuHash } from './hashUtils';
|
|
20
20
|
export { Globby, GlobExcludeDefault, createMatcher, createAbsoluteFilePathMatcher, } from './globUtils';
|
|
21
21
|
export { getFileLoaderUtils, getWebpackLoaderCompilerName, type WebpackCompilerName, } from './webpackUtils';
|
|
@@ -24,4 +24,7 @@ export { loadFreshModule } from './moduleUtils';
|
|
|
24
24
|
export { getDataFilePath, getDataFileData, getContentPathList, findFolderContainingFile, getFolderContainingFile, } from './dataFileUtils';
|
|
25
25
|
export { isDraft, isUnlisted } from './contentVisibilityUtils';
|
|
26
26
|
export { escapeRegexp } from './regExpUtils';
|
|
27
|
+
export { askPreferredLanguage } from './cliUtils';
|
|
28
|
+
export { flattenRoutes } from './routeUtils';
|
|
29
|
+
export { getGitLastUpdate, getLastUpdate, readLastUpdateData, LAST_UPDATE_FALLBACK, type LastUpdateData, type FrontMatterLastUpdate, } from './lastUpdateUtils';
|
|
27
30
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,YAAY,EACZ,uBAAuB,EACvB,6BAA6B,EAC7B,UAAU,EACV,qBAAqB,EACrB,2BAA2B,EAC3B,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,QAAQ,EAAE,kBAAkB,EAAC,MAAM,aAAa,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iBAAiB,EACjB,6BAA6B,EAC7B,iBAAiB,EACjB,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,YAAY,EACZ,uBAAuB,EACvB,6BAA6B,EAC7B,UAAU,EACV,qBAAqB,EACrB,2BAA2B,EAC3B,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,QAAQ,EAAE,kBAAkB,EAAC,MAAM,aAAa,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iBAAiB,EACjB,6BAA6B,EAC7B,iBAAiB,EACjB,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,kBAAkB,EAAE,mBAAmB,EAAC,MAAM,WAAW,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,YAAY,EAAC,OAAO,EAAC,MAAM,YAAY,CAAC;AACxC,OAAO,EACL,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,+BAA+B,EAC/B,aAAa,EACb,0BAA0B,EAC1B,yBAAyB,EACzB,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,KAAK,cAAc,EAAE,KAAK,OAAO,EAAE,aAAa,EAAC,MAAM,WAAW,CAAC;AAC3E,OAAO,EACL,aAAa,EACb,SAAS,EACT,SAAS,EACT,yBAAyB,EACzB,eAAe,EACf,6BAA6B,EAC7B,UAAU,EACV,wBAAwB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,aAAa,EACb,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,KAAK,mBAAmB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAC9C,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,OAAO,EAAE,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAC,oBAAoB,EAAC,MAAM,YAAY,CAAC;AAChD,OAAO,EAAC,aAAa,EAAC,MAAM,cAAc,CAAC;AAE3C,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,qBAAqB,GAC3B,MAAM,mBAAmB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.
|
|
10
|
-
exports.escapeRegexp = exports.isUnlisted = exports.isDraft = exports.getFolderContainingFile = exports.findFolderContainingFile = exports.getContentPathList = exports.getDataFileData = exports.getDataFilePath = exports.loadFreshModule = exports.escapeShellArg = exports.getWebpackLoaderCompilerName = exports.getFileLoaderUtils = exports.createAbsoluteFilePathMatcher = exports.createMatcher = exports.GlobExcludeDefault = exports.Globby = exports.docuHash = exports.simpleHash = exports.md5Hash = exports.addTrailingPathSeparator = exports.escapePath = exports.aliasedSitePath = exports.toMessageRelativeFilePath = exports.posixPath = exports.shortName = exports.isNameTooLong = exports.createSlugger = exports.replaceMarkdownLinks =
|
|
9
|
+
exports.writeMarkdownHeadingId = exports.parseMarkdownFile = exports.parseMarkdownContentTitle = exports.DEFAULT_PARSE_FRONT_MATTER = exports.createExcerpt = exports.admonitionTitleToDirectiveLabel = exports.unwrapMdxCodeBlocks = exports.escapeMarkdownHeadingIds = exports.parseMarkdownHeadingId = exports.getTagVisibility = exports.groupTaggedItems = exports.normalizeFrontMatterTags = exports.buildSshUrl = exports.buildHttpsUrl = exports.hasSSHProtocol = exports.serializeURLPath = exports.parseURLPath = exports.resolvePathname = exports.isValidPathname = exports.encodePath = exports.fileToPath = exports.getEditUrl = exports.normalizeUrl = exports.findAsyncSequential = exports.mapAsyncSequential = exports.localizePath = exports.getPluginI18nPath = exports.updateTranslationFileMessages = exports.mergeTranslations = exports.GitNotFoundError = exports.FileNotTrackedError = exports.getFileCommitDate = exports.readOutputHTMLFile = exports.generate = exports.WEBPACK_URL_LOADER_LIMIT = exports.DEFAULT_PLUGIN_ID = exports.DEFAULT_PORT = exports.CODE_TRANSLATIONS_FILE_NAME = exports.DEFAULT_I18N_DIR_NAME = exports.THEME_PATH = exports.OUTPUT_STATIC_ASSETS_DIR_NAME = exports.DEFAULT_STATIC_DIR_NAME = exports.SRC_DIR_NAME = exports.GENERATED_FILES_DIR_NAME = exports.BABEL_CONFIG_FILE_NAME = exports.DEFAULT_CONFIG_FILE_NAME = exports.DEFAULT_BUILD_DIR_NAME = exports.DOCUSAURUS_VERSION = exports.NODE_MINOR_VERSION = exports.NODE_MAJOR_VERSION = void 0;
|
|
10
|
+
exports.LAST_UPDATE_FALLBACK = exports.readLastUpdateData = exports.getLastUpdate = exports.getGitLastUpdate = exports.flattenRoutes = exports.askPreferredLanguage = exports.escapeRegexp = exports.isUnlisted = exports.isDraft = exports.getFolderContainingFile = exports.findFolderContainingFile = exports.getContentPathList = exports.getDataFileData = exports.getDataFilePath = exports.loadFreshModule = exports.escapeShellArg = exports.getWebpackLoaderCompilerName = exports.getFileLoaderUtils = exports.createAbsoluteFilePathMatcher = exports.createMatcher = exports.GlobExcludeDefault = exports.Globby = exports.docuHash = exports.simpleHash = exports.md5Hash = exports.addTrailingPathSeparator = exports.escapePath = exports.aliasedSitePathToRelativePath = exports.aliasedSitePath = exports.toMessageRelativeFilePath = exports.posixPath = exports.shortName = exports.isNameTooLong = exports.createSlugger = exports.replaceMarkdownLinks = void 0;
|
|
11
11
|
var constants_1 = require("./constants");
|
|
12
12
|
Object.defineProperty(exports, "NODE_MAJOR_VERSION", { enumerable: true, get: function () { return constants_1.NODE_MAJOR_VERSION; } });
|
|
13
13
|
Object.defineProperty(exports, "NODE_MINOR_VERSION", { enumerable: true, get: function () { return constants_1.NODE_MINOR_VERSION; } });
|
|
@@ -38,8 +38,6 @@ Object.defineProperty(exports, "updateTranslationFileMessages", { enumerable: tr
|
|
|
38
38
|
Object.defineProperty(exports, "getPluginI18nPath", { enumerable: true, get: function () { return i18nUtils_1.getPluginI18nPath; } });
|
|
39
39
|
Object.defineProperty(exports, "localizePath", { enumerable: true, get: function () { return i18nUtils_1.localizePath; } });
|
|
40
40
|
var jsUtils_1 = require("./jsUtils");
|
|
41
|
-
Object.defineProperty(exports, "removeSuffix", { enumerable: true, get: function () { return jsUtils_1.removeSuffix; } });
|
|
42
|
-
Object.defineProperty(exports, "removePrefix", { enumerable: true, get: function () { return jsUtils_1.removePrefix; } });
|
|
43
41
|
Object.defineProperty(exports, "mapAsyncSequential", { enumerable: true, get: function () { return jsUtils_1.mapAsyncSequential; } });
|
|
44
42
|
Object.defineProperty(exports, "findAsyncSequential", { enumerable: true, get: function () { return jsUtils_1.findAsyncSequential; } });
|
|
45
43
|
var urlUtils_1 = require("./urlUtils");
|
|
@@ -51,9 +49,6 @@ Object.defineProperty(exports, "isValidPathname", { enumerable: true, get: funct
|
|
|
51
49
|
Object.defineProperty(exports, "resolvePathname", { enumerable: true, get: function () { return urlUtils_1.resolvePathname; } });
|
|
52
50
|
Object.defineProperty(exports, "parseURLPath", { enumerable: true, get: function () { return urlUtils_1.parseURLPath; } });
|
|
53
51
|
Object.defineProperty(exports, "serializeURLPath", { enumerable: true, get: function () { return urlUtils_1.serializeURLPath; } });
|
|
54
|
-
Object.defineProperty(exports, "addLeadingSlash", { enumerable: true, get: function () { return urlUtils_1.addLeadingSlash; } });
|
|
55
|
-
Object.defineProperty(exports, "addTrailingSlash", { enumerable: true, get: function () { return urlUtils_1.addTrailingSlash; } });
|
|
56
|
-
Object.defineProperty(exports, "removeTrailingSlash", { enumerable: true, get: function () { return urlUtils_1.removeTrailingSlash; } });
|
|
57
52
|
Object.defineProperty(exports, "hasSSHProtocol", { enumerable: true, get: function () { return urlUtils_1.hasSSHProtocol; } });
|
|
58
53
|
Object.defineProperty(exports, "buildHttpsUrl", { enumerable: true, get: function () { return urlUtils_1.buildHttpsUrl; } });
|
|
59
54
|
Object.defineProperty(exports, "buildSshUrl", { enumerable: true, get: function () { return urlUtils_1.buildSshUrl; } });
|
|
@@ -81,6 +76,7 @@ Object.defineProperty(exports, "shortName", { enumerable: true, get: function ()
|
|
|
81
76
|
Object.defineProperty(exports, "posixPath", { enumerable: true, get: function () { return pathUtils_1.posixPath; } });
|
|
82
77
|
Object.defineProperty(exports, "toMessageRelativeFilePath", { enumerable: true, get: function () { return pathUtils_1.toMessageRelativeFilePath; } });
|
|
83
78
|
Object.defineProperty(exports, "aliasedSitePath", { enumerable: true, get: function () { return pathUtils_1.aliasedSitePath; } });
|
|
79
|
+
Object.defineProperty(exports, "aliasedSitePathToRelativePath", { enumerable: true, get: function () { return pathUtils_1.aliasedSitePathToRelativePath; } });
|
|
84
80
|
Object.defineProperty(exports, "escapePath", { enumerable: true, get: function () { return pathUtils_1.escapePath; } });
|
|
85
81
|
Object.defineProperty(exports, "addTrailingPathSeparator", { enumerable: true, get: function () { return pathUtils_1.addTrailingPathSeparator; } });
|
|
86
82
|
var hashUtils_1 = require("./hashUtils");
|
|
@@ -110,4 +106,13 @@ Object.defineProperty(exports, "isDraft", { enumerable: true, get: function () {
|
|
|
110
106
|
Object.defineProperty(exports, "isUnlisted", { enumerable: true, get: function () { return contentVisibilityUtils_1.isUnlisted; } });
|
|
111
107
|
var regExpUtils_1 = require("./regExpUtils");
|
|
112
108
|
Object.defineProperty(exports, "escapeRegexp", { enumerable: true, get: function () { return regExpUtils_1.escapeRegexp; } });
|
|
109
|
+
var cliUtils_1 = require("./cliUtils");
|
|
110
|
+
Object.defineProperty(exports, "askPreferredLanguage", { enumerable: true, get: function () { return cliUtils_1.askPreferredLanguage; } });
|
|
111
|
+
var routeUtils_1 = require("./routeUtils");
|
|
112
|
+
Object.defineProperty(exports, "flattenRoutes", { enumerable: true, get: function () { return routeUtils_1.flattenRoutes; } });
|
|
113
|
+
var lastUpdateUtils_1 = require("./lastUpdateUtils");
|
|
114
|
+
Object.defineProperty(exports, "getGitLastUpdate", { enumerable: true, get: function () { return lastUpdateUtils_1.getGitLastUpdate; } });
|
|
115
|
+
Object.defineProperty(exports, "getLastUpdate", { enumerable: true, get: function () { return lastUpdateUtils_1.getLastUpdate; } });
|
|
116
|
+
Object.defineProperty(exports, "readLastUpdateData", { enumerable: true, get: function () { return lastUpdateUtils_1.readLastUpdateData; } });
|
|
117
|
+
Object.defineProperty(exports, "LAST_UPDATE_FALLBACK", { enumerable: true, get: function () { return lastUpdateUtils_1.LAST_UPDATE_FALLBACK; } });
|
|
113
118
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,yCAiBqB;AAhBnB,+GAAA,kBAAkB,OAAA;AAClB,+GAAA,kBAAkB,OAAA;AAClB,+GAAA,kBAAkB,OAAA;AAClB,mHAAA,sBAAsB,OAAA;AACtB,qHAAA,wBAAwB,OAAA;AACxB,mHAAA,sBAAsB,OAAA;AACtB,qHAAA,wBAAwB,OAAA;AACxB,yGAAA,YAAY,OAAA;AACZ,oHAAA,uBAAuB,OAAA;AACvB,0HAAA,6BAA6B,OAAA;AAC7B,uGAAA,UAAU,OAAA;AACV,kHAAA,qBAAqB,OAAA;AACrB,wHAAA,2BAA2B,OAAA;AAC3B,yGAAA,YAAY,OAAA;AACZ,8GAAA,iBAAiB,OAAA;AACjB,qHAAA,wBAAwB,OAAA;AAE1B,yCAAyD;AAAjD,qGAAA,QAAQ,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AACpC,uCAIoB;AAHlB,6GAAA,iBAAiB,OAAA;AACjB,+GAAA,mBAAmB,OAAA;AACnB,4GAAA,gBAAgB,OAAA;AAElB,yCAKqB;AAJnB,8GAAA,iBAAiB,OAAA;AACjB,0HAAA,6BAA6B,OAAA;AAC7B,8GAAA,iBAAiB,OAAA;AACjB,yGAAA,YAAY,OAAA;AAEd,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/jsUtils.d.ts
CHANGED
|
@@ -4,14 +4,6 @@
|
|
|
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
|
-
/** Adds a given string prefix to `str`. */
|
|
8
|
-
export declare function addPrefix(str: string, prefix: string): string;
|
|
9
|
-
/** Adds a given string suffix to `str`. */
|
|
10
|
-
export declare function addSuffix(str: string, suffix: string): string;
|
|
11
|
-
/** Removes a given string suffix from `str`. */
|
|
12
|
-
export declare function removeSuffix(str: string, suffix: string): string;
|
|
13
|
-
/** Removes a given string prefix from `str`. */
|
|
14
|
-
export declare function removePrefix(str: string, prefix: string): string;
|
|
15
7
|
/**
|
|
16
8
|
* `Array#map` for async operations where order matters.
|
|
17
9
|
* @param array The array to traverse.
|
package/lib/jsUtils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsUtils.d.ts","sourceRoot":"","sources":["../src/jsUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH
|
|
1
|
+
{"version":3,"file":"jsUtils.d.ts","sourceRoot":"","sources":["../src/jsUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAC3C,KAAK,EAAE,CAAC,EAAE,EACV,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,CAAC,EAAE,CAAC,CAOd;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GACpC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAOxB"}
|
package/lib/jsUtils.js
CHANGED
|
@@ -6,31 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.findAsyncSequential = exports.mapAsyncSequential =
|
|
10
|
-
/** Adds a given string prefix to `str`. */
|
|
11
|
-
function addPrefix(str, prefix) {
|
|
12
|
-
return str.startsWith(prefix) ? str : `${prefix}${str}`;
|
|
13
|
-
}
|
|
14
|
-
exports.addPrefix = addPrefix;
|
|
15
|
-
/** Adds a given string suffix to `str`. */
|
|
16
|
-
function addSuffix(str, suffix) {
|
|
17
|
-
return str.endsWith(suffix) ? str : `${str}${suffix}`;
|
|
18
|
-
}
|
|
19
|
-
exports.addSuffix = addSuffix;
|
|
20
|
-
/** Removes a given string suffix from `str`. */
|
|
21
|
-
function removeSuffix(str, suffix) {
|
|
22
|
-
if (suffix === '') {
|
|
23
|
-
// str.slice(0, 0) is ""
|
|
24
|
-
return str;
|
|
25
|
-
}
|
|
26
|
-
return str.endsWith(suffix) ? str.slice(0, -suffix.length) : str;
|
|
27
|
-
}
|
|
28
|
-
exports.removeSuffix = removeSuffix;
|
|
29
|
-
/** Removes a given string prefix from `str`. */
|
|
30
|
-
function removePrefix(str, prefix) {
|
|
31
|
-
return str.startsWith(prefix) ? str.slice(prefix.length) : str;
|
|
32
|
-
}
|
|
33
|
-
exports.removePrefix = removePrefix;
|
|
9
|
+
exports.findAsyncSequential = exports.mapAsyncSequential = void 0;
|
|
34
10
|
/**
|
|
35
11
|
* `Array#map` for async operations where order matters.
|
|
36
12
|
* @param array The array to traverse.
|
package/lib/jsUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsUtils.js","sourceRoot":"","sources":["../src/jsUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH
|
|
1
|
+
{"version":3,"file":"jsUtils.js","sourceRoot":"","sources":["../src/jsUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH;;;;;;GAMG;AACI,KAAK,UAAU,kBAAkB,CACtC,KAAU,EACV,MAA4B;IAE5B,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;QACrB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACtB;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAVD,gDAUC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,mBAAmB,CACvC,KAAU,EACV,SAAqC;IAErC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;QACrB,IAAI,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE;YACtB,OAAO,CAAC,CAAC;SACV;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAVD,kDAUC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import type { PluginOptions } from '@docusaurus/types';
|
|
8
|
+
export type LastUpdateData = {
|
|
9
|
+
/** A timestamp in **milliseconds**, usually read from `git log` */
|
|
10
|
+
lastUpdatedAt?: number;
|
|
11
|
+
/** The author's name, usually coming from `git log` */
|
|
12
|
+
lastUpdatedBy?: string;
|
|
13
|
+
};
|
|
14
|
+
export declare function getGitLastUpdate(filePath: string): Promise<LastUpdateData | null>;
|
|
15
|
+
export declare const LAST_UPDATE_FALLBACK: LastUpdateData;
|
|
16
|
+
export declare function getLastUpdate(filePath: string): Promise<LastUpdateData | null>;
|
|
17
|
+
type LastUpdateOptions = Pick<PluginOptions, 'showLastUpdateAuthor' | 'showLastUpdateTime'>;
|
|
18
|
+
export type FrontMatterLastUpdate = {
|
|
19
|
+
author?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Date can be any
|
|
22
|
+
* [parsable date string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).
|
|
23
|
+
*/
|
|
24
|
+
date?: Date | string;
|
|
25
|
+
};
|
|
26
|
+
export declare function readLastUpdateData(filePath: string, options: LastUpdateOptions, lastUpdateFrontMatter: FrontMatterLastUpdate | undefined): Promise<LastUpdateData>;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=lastUpdateUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lastUpdateUtils.d.ts","sourceRoot":"","sources":["../src/lastUpdateUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAErD,MAAM,MAAM,cAAc,GAAG;IAC3B,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAKF,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAmChC;AAED,eAAO,MAAM,oBAAoB,EAAE,cAGlC,CAAC;AAEF,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAMhC;AAED,KAAK,iBAAiB,GAAG,IAAI,CAC3B,aAAa,EACb,sBAAsB,GAAG,oBAAoB,CAC9C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,EAC1B,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,GACvD,OAAO,CAAC,cAAc,CAAC,CAiCzB"}
|
|
@@ -0,0 +1,88 @@
|
|
|
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.readLastUpdateData = exports.getLastUpdate = exports.LAST_UPDATE_FALLBACK = exports.getGitLastUpdate = void 0;
|
|
10
|
+
const tslib_1 = require("tslib");
|
|
11
|
+
const lodash_1 = tslib_1.__importDefault(require("lodash"));
|
|
12
|
+
const logger_1 = tslib_1.__importDefault(require("@docusaurus/logger"));
|
|
13
|
+
const gitUtils_1 = require("./gitUtils");
|
|
14
|
+
let showedGitRequirementError = false;
|
|
15
|
+
let showedFileNotTrackedError = false;
|
|
16
|
+
async function getGitLastUpdate(filePath) {
|
|
17
|
+
if (!filePath) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
// Wrap in try/catch in case the shell commands fail
|
|
21
|
+
// (e.g. project doesn't use Git, etc).
|
|
22
|
+
try {
|
|
23
|
+
const result = await (0, gitUtils_1.getFileCommitDate)(filePath, {
|
|
24
|
+
age: 'newest',
|
|
25
|
+
includeAuthor: true,
|
|
26
|
+
});
|
|
27
|
+
return { lastUpdatedAt: result.timestamp, lastUpdatedBy: result.author };
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
if (err instanceof gitUtils_1.GitNotFoundError) {
|
|
31
|
+
if (!showedGitRequirementError) {
|
|
32
|
+
logger_1.default.warn('Sorry, the last update options require Git.');
|
|
33
|
+
showedGitRequirementError = true;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
else if (err instanceof gitUtils_1.FileNotTrackedError) {
|
|
37
|
+
if (!showedFileNotTrackedError) {
|
|
38
|
+
logger_1.default.warn('Cannot infer the update date for some files, as they are not tracked by git.');
|
|
39
|
+
showedFileNotTrackedError = true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
throw new Error(`An error occurred when trying to get the last update date`, { cause: err });
|
|
44
|
+
}
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.getGitLastUpdate = getGitLastUpdate;
|
|
49
|
+
exports.LAST_UPDATE_FALLBACK = {
|
|
50
|
+
lastUpdatedAt: 1539502055000,
|
|
51
|
+
lastUpdatedBy: 'Author',
|
|
52
|
+
};
|
|
53
|
+
async function getLastUpdate(filePath) {
|
|
54
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
55
|
+
// Use fake data in dev/test for faster development.
|
|
56
|
+
return exports.LAST_UPDATE_FALLBACK;
|
|
57
|
+
}
|
|
58
|
+
return getGitLastUpdate(filePath);
|
|
59
|
+
}
|
|
60
|
+
exports.getLastUpdate = getLastUpdate;
|
|
61
|
+
async function readLastUpdateData(filePath, options, lastUpdateFrontMatter) {
|
|
62
|
+
const { showLastUpdateAuthor, showLastUpdateTime } = options;
|
|
63
|
+
if (!showLastUpdateAuthor && !showLastUpdateTime) {
|
|
64
|
+
return {};
|
|
65
|
+
}
|
|
66
|
+
const frontMatterAuthor = lastUpdateFrontMatter?.author;
|
|
67
|
+
const frontMatterTimestamp = lastUpdateFrontMatter?.date
|
|
68
|
+
? new Date(lastUpdateFrontMatter.date).getTime()
|
|
69
|
+
: undefined;
|
|
70
|
+
// We try to minimize git last update calls
|
|
71
|
+
// We call it at most once
|
|
72
|
+
// If all the data is provided as front matter, we do not call it
|
|
73
|
+
const getLastUpdateMemoized = lodash_1.default.memoize(() => getLastUpdate(filePath));
|
|
74
|
+
const getLastUpdateBy = () => getLastUpdateMemoized().then((update) => update?.lastUpdatedBy);
|
|
75
|
+
const getLastUpdateAt = () => getLastUpdateMemoized().then((update) => update?.lastUpdatedAt);
|
|
76
|
+
const lastUpdatedBy = showLastUpdateAuthor
|
|
77
|
+
? frontMatterAuthor ?? (await getLastUpdateBy())
|
|
78
|
+
: undefined;
|
|
79
|
+
const lastUpdatedAt = showLastUpdateTime
|
|
80
|
+
? frontMatterTimestamp ?? (await getLastUpdateAt())
|
|
81
|
+
: undefined;
|
|
82
|
+
return {
|
|
83
|
+
lastUpdatedBy,
|
|
84
|
+
lastUpdatedAt,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
exports.readLastUpdateData = readLastUpdateData;
|
|
88
|
+
//# sourceMappingURL=lastUpdateUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lastUpdateUtils.js","sourceRoot":"","sources":["../src/lastUpdateUtils.ts"],"names":[],"mappings":"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"}
|
package/lib/markdownUtils.js
CHANGED
|
@@ -58,8 +58,8 @@ exports.escapeMarkdownHeadingIds = escapeMarkdownHeadingIds;
|
|
|
58
58
|
*/
|
|
59
59
|
function unwrapMdxCodeBlocks(content) {
|
|
60
60
|
// We only support 3/4 backticks on purpose, should be good enough
|
|
61
|
-
const regexp3 = /(?<begin>^|\n)```mdx-code-block\n(?<children>.*?)\n```(?<end>\n|$)/gs;
|
|
62
|
-
const regexp4 = /(?<begin>^|\n)````mdx-code-block\n(?<children>.*?)\n````(?<end>\n|$)/gs;
|
|
61
|
+
const regexp3 = /(?<begin>^|\r?\n)```(?<spaces>\x20*)mdx-code-block\r?\n(?<children>.*?)\r?\n```(?<end>\r?\n|$)/gs;
|
|
62
|
+
const regexp4 = /(?<begin>^|\r?\n)````(?<spaces>\x20*)mdx-code-block\r?\n(?<children>.*?)\r?\n````(?<end>\r?\n|$)/gs;
|
|
63
63
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
64
64
|
const replacer = (substring, ...args) => {
|
|
65
65
|
const groups = args.at(-1);
|