@docusaurus/utils 0.0.0-5890 → 0.0.0-5892
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.js +11 -6
- package/lib/gitUtils.js.map +1 -1
- package/package.json +5 -5
- package/src/gitUtils.ts +16 -6
package/lib/gitUtils.js
CHANGED
|
@@ -31,15 +31,19 @@ async function getFileCommitDate(file, { age = 'oldest', includeAuthor = false,
|
|
|
31
31
|
if (!(await fs_extra_1.default.pathExists(file))) {
|
|
32
32
|
throw new Error(`Failed to retrieve git history for "${file}" because the file does not exist.`);
|
|
33
33
|
}
|
|
34
|
+
// We add a "RESULT:" prefix to make parsing easier
|
|
35
|
+
// See why: https://github.com/facebook/docusaurus/pull/10022
|
|
36
|
+
const resultFormat = includeAuthor ? 'RESULT:%ct,%an' : 'RESULT:%ct';
|
|
34
37
|
const args = [
|
|
35
|
-
`--format
|
|
38
|
+
`--format=${resultFormat}`,
|
|
36
39
|
'--max-count=1',
|
|
37
40
|
age === 'oldest' ? '--follow --diff-filter=A' : undefined,
|
|
38
41
|
]
|
|
39
42
|
.filter(Boolean)
|
|
40
43
|
.join(' ');
|
|
44
|
+
const command = `git -c log.showSignature=false log ${args} -- "${path_1.default.basename(file)}"`;
|
|
41
45
|
const result = await new Promise((resolve) => {
|
|
42
|
-
shelljs_1.default.exec(
|
|
46
|
+
shelljs_1.default.exec(command, {
|
|
43
47
|
// Setting cwd is important, see: https://github.com/facebook/docusaurus/pull/5048
|
|
44
48
|
cwd: path_1.default.dirname(file),
|
|
45
49
|
silent: true,
|
|
@@ -50,10 +54,11 @@ async function getFileCommitDate(file, { age = 'oldest', includeAuthor = false,
|
|
|
50
54
|
if (result.code !== 0) {
|
|
51
55
|
throw new Error(`Failed to retrieve the git history for file "${file}" with exit code ${result.code}: ${result.stderr}`);
|
|
52
56
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
+
// We only parse the output line starting with our "RESULT:" prefix
|
|
58
|
+
// See why https://github.com/facebook/docusaurus/pull/10022
|
|
59
|
+
const regex = includeAuthor
|
|
60
|
+
? /(?:^|\n)RESULT:(?<timestamp>\d+),(?<author>.+)(?:$|\n)/
|
|
61
|
+
: /(?:^|\n)RESULT:(?<timestamp>\d+)(?:$|\n)/;
|
|
57
62
|
const output = result.stdout.trim();
|
|
58
63
|
if (!output) {
|
|
59
64
|
throw new FileNotTrackedError(`Failed to retrieve the git history for file "${file}" because the file is not tracked by git.`);
|
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,gEAA0B;AAC1B,4DAAuB;AACvB,8DAA4B,CAAC,wCAAwC;AAErE,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,iBAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAEhD,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;QACb,MAAM,IAAI,gBAAgB,CACxB,uCAAuC,IAAI,iCAAiC,CAC7E,CAAC;KACH;IAED,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CACb,uCAAuC,IAAI,oCAAoC,CAChF,CAAC;KACH;IAED,MAAM,
|
|
1
|
+
{"version":3,"file":"gitUtils.js","sourceRoot":"","sources":["../src/gitUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,wDAAwB;AACxB,gEAA0B;AAC1B,4DAAuB;AACvB,8DAA4B,CAAC,wCAAwC;AAErE,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,iBAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAEhD,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;QACb,MAAM,IAAI,gBAAgB,CACxB,uCAAuC,IAAI,iCAAiC,CAC7E,CAAC;KACH;IAED,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CACb,uCAAuC,IAAI,oCAAoC,CAChF,CAAC;KACH;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,MAAM,IAAI,OAAO,CAI7B,CAAC,OAAO,EAAE,EAAE;QACb,iBAAK,CAAC,IAAI,CACR,OAAO,EACP;YACE,kFAAkF;YAClF,GAAG,EAAE,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACvB,MAAM,EAAE,IAAI;SACb,EACD,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACvB,OAAO,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;QAClC,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,gDAAgD,IAAI,oBAAoB,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,CACxG,CAAC;KACH;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;QACX,MAAM,IAAI,mBAAmB,CAC3B,gDAAgD,IAAI,2CAA2C,CAChG,CAAC;KACH;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAElC,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CACb,gDAAgD,IAAI,6BAA6B,MAAM,EAAE,CAC1F,CAAC;KACH;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;QACjB,OAAO,EAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAO,CAAC,MAAO,EAAC,CAAC;KACzD;IACD,OAAO,EAAC,IAAI,EAAE,SAAS,EAAC,CAAC;AAC3B,CAAC;AAhGD,8CAgGC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/utils",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-5892",
|
|
4
4
|
"description": "Node utility functions for Docusaurus packages.",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
},
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@docusaurus/logger": "0.0.0-
|
|
22
|
-
"@docusaurus/utils-common": "0.0.0-
|
|
21
|
+
"@docusaurus/logger": "0.0.0-5892",
|
|
22
|
+
"@docusaurus/utils-common": "0.0.0-5892",
|
|
23
23
|
"@svgr/webpack": "^6.5.1",
|
|
24
24
|
"escape-string-regexp": "^4.0.0",
|
|
25
25
|
"file-loader": "^6.2.0",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"node": ">=18.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@docusaurus/types": "0.0.0-
|
|
45
|
+
"@docusaurus/types": "0.0.0-5892",
|
|
46
46
|
"@types/dedent": "^0.7.0",
|
|
47
47
|
"@types/github-slugger": "^1.3.0",
|
|
48
48
|
"@types/micromatch": "^4.0.2",
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
"optional": true
|
|
59
59
|
}
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "6727d4eeec677bd7ff3c4f9e23b3b125f30b17f9"
|
|
62
62
|
}
|
package/src/gitUtils.ts
CHANGED
|
@@ -107,21 +107,29 @@ export async function getFileCommitDate(
|
|
|
107
107
|
);
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
+
// We add a "RESULT:" prefix to make parsing easier
|
|
111
|
+
// See why: https://github.com/facebook/docusaurus/pull/10022
|
|
112
|
+
const resultFormat = includeAuthor ? 'RESULT:%ct,%an' : 'RESULT:%ct';
|
|
113
|
+
|
|
110
114
|
const args = [
|
|
111
|
-
`--format
|
|
115
|
+
`--format=${resultFormat}`,
|
|
112
116
|
'--max-count=1',
|
|
113
117
|
age === 'oldest' ? '--follow --diff-filter=A' : undefined,
|
|
114
118
|
]
|
|
115
119
|
.filter(Boolean)
|
|
116
120
|
.join(' ');
|
|
117
121
|
|
|
122
|
+
const command = `git -c log.showSignature=false log ${args} -- "${path.basename(
|
|
123
|
+
file,
|
|
124
|
+
)}"`;
|
|
125
|
+
|
|
118
126
|
const result = await new Promise<{
|
|
119
127
|
code: number;
|
|
120
128
|
stdout: string;
|
|
121
129
|
stderr: string;
|
|
122
130
|
}>((resolve) => {
|
|
123
131
|
shell.exec(
|
|
124
|
-
|
|
132
|
+
command,
|
|
125
133
|
{
|
|
126
134
|
// Setting cwd is important, see: https://github.com/facebook/docusaurus/pull/5048
|
|
127
135
|
cwd: path.dirname(file),
|
|
@@ -138,10 +146,12 @@ export async function getFileCommitDate(
|
|
|
138
146
|
`Failed to retrieve the git history for file "${file}" with exit code ${result.code}: ${result.stderr}`,
|
|
139
147
|
);
|
|
140
148
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
149
|
+
|
|
150
|
+
// We only parse the output line starting with our "RESULT:" prefix
|
|
151
|
+
// See why https://github.com/facebook/docusaurus/pull/10022
|
|
152
|
+
const regex = includeAuthor
|
|
153
|
+
? /(?:^|\n)RESULT:(?<timestamp>\d+),(?<author>.+)(?:$|\n)/
|
|
154
|
+
: /(?:^|\n)RESULT:(?<timestamp>\d+)(?:$|\n)/;
|
|
145
155
|
|
|
146
156
|
const output = result.stdout.trim();
|
|
147
157
|
|