@docusaurus/utils 3.7.0-canary-6303 → 3.7.0-canary-6305
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/gitUtils.d.ts.map +1 -1
- package/lib/gitUtils.js +22 -2
- package/lib/gitUtils.js.map +1 -1
- package/package.json +6 -5
- package/src/gitUtils.ts +32 -4
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;AA6CH,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
|
@@ -11,8 +11,28 @@ exports.getFileCommitDate = getFileCommitDate;
|
|
|
11
11
|
const tslib_1 = require("tslib");
|
|
12
12
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
13
13
|
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
14
|
+
const os_1 = tslib_1.__importDefault(require("os"));
|
|
14
15
|
const lodash_1 = tslib_1.__importDefault(require("lodash"));
|
|
15
16
|
const execa_1 = tslib_1.__importDefault(require("execa"));
|
|
17
|
+
const p_queue_1 = tslib_1.__importDefault(require("p-queue"));
|
|
18
|
+
// Quite high/conservative concurrency value (it was previously "Infinity")
|
|
19
|
+
// See https://github.com/facebook/docusaurus/pull/10915
|
|
20
|
+
const DefaultGitCommandConcurrency =
|
|
21
|
+
// TODO Docusaurus v4: bump node, availableParallelism() now always exists
|
|
22
|
+
(typeof os_1.default.availableParallelism === 'function'
|
|
23
|
+
? os_1.default.availableParallelism()
|
|
24
|
+
: os_1.default.cpus().length) * 4;
|
|
25
|
+
const GitCommandConcurrencyEnv = process.env.DOCUSAURUS_GIT_COMMAND_CONCURRENCY
|
|
26
|
+
? parseInt(process.env.DOCUSAURUS_GIT_COMMAND_CONCURRENCY, 10)
|
|
27
|
+
: undefined;
|
|
28
|
+
const GitCommandConcurrency = GitCommandConcurrencyEnv && GitCommandConcurrencyEnv > 0
|
|
29
|
+
? GitCommandConcurrencyEnv
|
|
30
|
+
: DefaultGitCommandConcurrency;
|
|
31
|
+
// We use a queue to avoid running too many concurrent Git commands at once
|
|
32
|
+
// See https://github.com/facebook/docusaurus/issues/10348
|
|
33
|
+
const GitCommandQueue = new p_queue_1.default({
|
|
34
|
+
concurrency: GitCommandConcurrency,
|
|
35
|
+
});
|
|
16
36
|
const realHasGitFn = () => {
|
|
17
37
|
try {
|
|
18
38
|
return execa_1.default.sync('git', ['--version']).exitCode === 0;
|
|
@@ -50,10 +70,10 @@ async function getFileCommitDate(file, { age = 'oldest', includeAuthor = false,
|
|
|
50
70
|
.filter(Boolean)
|
|
51
71
|
.join(' ');
|
|
52
72
|
const command = `git -c log.showSignature=false log ${args} -- "${path_1.default.basename(file)}"`;
|
|
53
|
-
const result = await (0, execa_1.default)(command, {
|
|
73
|
+
const result = (await GitCommandQueue.add(() => (0, execa_1.default)(command, {
|
|
54
74
|
cwd: path_1.default.dirname(file),
|
|
55
75
|
shell: true,
|
|
56
|
-
});
|
|
76
|
+
})));
|
|
57
77
|
if (result.exitCode !== 0) {
|
|
58
78
|
throw new Error(`Failed to retrieve the git history for file "${file}" with exit code ${result.exitCode}: ${result.stderr}`);
|
|
59
79
|
}
|
package/lib/gitUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitUtils.js","sourceRoot":"","sources":["../src/gitUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;
|
|
1
|
+
{"version":3,"file":"gitUtils.js","sourceRoot":"","sources":["../src/gitUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA6GH,8CAqFC;;AAhMD,wDAAwB;AACxB,gEAA0B;AAC1B,oDAAoB;AACpB,4DAAuB;AACvB,0DAA0B;AAC1B,8DAA6B;AAE7B,2EAA2E;AAC3E,wDAAwD;AACxD,MAAM,4BAA4B;AAChC,0EAA0E;AAC1E,CAAC,OAAO,YAAE,CAAC,oBAAoB,KAAK,UAAU;IAC5C,CAAC,CAAC,YAAE,CAAC,oBAAoB,EAAE;IAC3B,CAAC,CAAC,YAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAE5B,MAAM,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC;IAC7E,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,EAAE,CAAC;IAC9D,CAAC,CAAC,SAAS,CAAC;AAEd,MAAM,qBAAqB,GACzB,wBAAwB,IAAI,wBAAwB,GAAG,CAAC;IACtD,CAAC,CAAC,wBAAwB;IAC1B,CAAC,CAAC,4BAA4B,CAAC;AAEnC,2EAA2E;AAC3E,0DAA0D;AAC1D,MAAM,eAAe,GAAG,IAAI,iBAAM,CAAC;IACjC,WAAW,EAAE,qBAAqB;CACnC,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,IAAI,CAAC;QACH,OAAO,eAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,qDAAqD;AACrD,gEAAgE;AAChE,MAAM,MAAM,GACV,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAE3E,2DAA2D;AAC3D,MAAa,gBAAiB,SAAQ,KAAK;CAAG;AAA9C,4CAA8C;AAE9C,uEAAuE;AACvE,MAAa,mBAAoB,SAAQ,KAAK;CAAG;AAAjD,kDAAiD;AA4D1C,KAAK,UAAU,iBAAiB,CACrC,IAAY,EACZ,EACE,GAAG,GAAG,QAAQ,EACd,aAAa,GAAG,KAAK,GAItB;IAMD,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACd,MAAM,IAAI,gBAAgB,CACxB,uCAAuC,IAAI,iCAAiC,CAC7E,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,uCAAuC,IAAI,oCAAoC,CAChF,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,6DAA6D;IAC7D,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC;IAErE,MAAM,IAAI,GAAG;QACX,YAAY,YAAY,EAAE;QAC1B,eAAe;QACf,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS;KAC1D;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,MAAM,OAAO,GAAG,sCAAsC,IAAI,QAAQ,cAAI,CAAC,QAAQ,CAC7E,IAAI,CACL,GAAG,CAAC;IAEL,MAAM,MAAM,GAAG,CAAC,MAAM,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,CAC7C,IAAA,eAAK,EAAC,OAAO,EAAE;QACb,GAAG,EAAE,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QACvB,KAAK,EAAE,IAAI;KACZ,CAAC,CACH,CAAE,CAAC;IAEJ,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,gDAAgD,IAAI,oBAAoB,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,CAC5G,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,4DAA4D;IAC5D,MAAM,KAAK,GAAG,aAAa;QACzB,CAAC,CAAC,wDAAwD;QAC1D,CAAC,CAAC,0CAA0C,CAAC;IAE/C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAEpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,mBAAmB,CAC3B,gDAAgD,IAAI,2CAA2C,CAChG,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAElC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,gDAAgD,IAAI,6BAA6B,MAAM,EAAE,CAC1F,CAAC;IACJ,CAAC;IAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,MAAO,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,kBAAkB,GAAG,IAAK,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IAEjC,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,EAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAO,CAAC,MAAO,EAAC,CAAC;IAC1D,CAAC;IACD,OAAO,EAAC,IAAI,EAAE,SAAS,EAAC,CAAC;AAC3B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/utils",
|
|
3
|
-
"version": "3.7.0-canary-
|
|
3
|
+
"version": "3.7.0-canary-6305",
|
|
4
4
|
"description": "Node utility functions for Docusaurus packages.",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
},
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@docusaurus/logger": "3.7.0-canary-
|
|
22
|
-
"@docusaurus/types": "3.7.0-canary-
|
|
23
|
-
"@docusaurus/utils-common": "3.7.0-canary-
|
|
21
|
+
"@docusaurus/logger": "3.7.0-canary-6305",
|
|
22
|
+
"@docusaurus/types": "3.7.0-canary-6305",
|
|
23
|
+
"@docusaurus/utils-common": "3.7.0-canary-6305",
|
|
24
24
|
"escape-string-regexp": "^4.0.0",
|
|
25
25
|
"execa": "5.1.1",
|
|
26
26
|
"file-loader": "^6.2.0",
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"js-yaml": "^4.1.0",
|
|
33
33
|
"lodash": "^4.17.21",
|
|
34
34
|
"micromatch": "^4.0.5",
|
|
35
|
+
"p-queue": "^6.6.2",
|
|
35
36
|
"prompts": "^2.4.2",
|
|
36
37
|
"resolve-pathname": "^3.0.0",
|
|
37
38
|
"tslib": "^2.6.0",
|
|
@@ -50,5 +51,5 @@
|
|
|
50
51
|
"dedent": "^0.7.0",
|
|
51
52
|
"tmp-promise": "^3.0.3"
|
|
52
53
|
},
|
|
53
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "23671c5708319ffafb2b94e29eb850e4d6c4fa1b"
|
|
54
55
|
}
|
package/src/gitUtils.ts
CHANGED
|
@@ -7,8 +7,33 @@
|
|
|
7
7
|
|
|
8
8
|
import path from 'path';
|
|
9
9
|
import fs from 'fs-extra';
|
|
10
|
+
import os from 'os';
|
|
10
11
|
import _ from 'lodash';
|
|
11
12
|
import execa from 'execa';
|
|
13
|
+
import PQueue from 'p-queue';
|
|
14
|
+
|
|
15
|
+
// Quite high/conservative concurrency value (it was previously "Infinity")
|
|
16
|
+
// See https://github.com/facebook/docusaurus/pull/10915
|
|
17
|
+
const DefaultGitCommandConcurrency =
|
|
18
|
+
// TODO Docusaurus v4: bump node, availableParallelism() now always exists
|
|
19
|
+
(typeof os.availableParallelism === 'function'
|
|
20
|
+
? os.availableParallelism()
|
|
21
|
+
: os.cpus().length) * 4;
|
|
22
|
+
|
|
23
|
+
const GitCommandConcurrencyEnv = process.env.DOCUSAURUS_GIT_COMMAND_CONCURRENCY
|
|
24
|
+
? parseInt(process.env.DOCUSAURUS_GIT_COMMAND_CONCURRENCY, 10)
|
|
25
|
+
: undefined;
|
|
26
|
+
|
|
27
|
+
const GitCommandConcurrency =
|
|
28
|
+
GitCommandConcurrencyEnv && GitCommandConcurrencyEnv > 0
|
|
29
|
+
? GitCommandConcurrencyEnv
|
|
30
|
+
: DefaultGitCommandConcurrency;
|
|
31
|
+
|
|
32
|
+
// We use a queue to avoid running too many concurrent Git commands at once
|
|
33
|
+
// See https://github.com/facebook/docusaurus/issues/10348
|
|
34
|
+
const GitCommandQueue = new PQueue({
|
|
35
|
+
concurrency: GitCommandConcurrency,
|
|
36
|
+
});
|
|
12
37
|
|
|
13
38
|
const realHasGitFn = () => {
|
|
14
39
|
try {
|
|
@@ -129,10 +154,13 @@ export async function getFileCommitDate(
|
|
|
129
154
|
file,
|
|
130
155
|
)}"`;
|
|
131
156
|
|
|
132
|
-
const result = await
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
157
|
+
const result = (await GitCommandQueue.add(() =>
|
|
158
|
+
execa(command, {
|
|
159
|
+
cwd: path.dirname(file),
|
|
160
|
+
shell: true,
|
|
161
|
+
}),
|
|
162
|
+
))!;
|
|
163
|
+
|
|
136
164
|
if (result.exitCode !== 0) {
|
|
137
165
|
throw new Error(
|
|
138
166
|
`Failed to retrieve the git history for file "${file}" with exit code ${result.exitCode}: ${result.stderr}`,
|