@docusaurus/utils 0.0.0-5890 → 0.0.0-5894

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 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=%ct${includeAuthor ? ',%an' : ''}`,
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(`git log ${args} -- "${path_1.default.basename(file)}"`, {
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
- let regex = /^(?<timestamp>\d+)$/;
54
- if (includeAuthor) {
55
- regex = /^(?<timestamp>\d+),(?<author>.+)$/;
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.`);
@@ -1 +1 @@
1
- {"version":3,"file":"gitUtils.js","sourceRoot":"","sources":["../src/gitUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitUtils.js","sourceRoot":"","sources":["../src/gitUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docusaurus/utils",
3
- "version": "0.0.0-5890",
3
+ "version": "0.0.0-5894",
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-5890",
22
- "@docusaurus/utils-common": "0.0.0-5890",
21
+ "@docusaurus/logger": "0.0.0-5894",
22
+ "@docusaurus/utils-common": "0.0.0-5894",
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-5890",
45
+ "@docusaurus/types": "0.0.0-5894",
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": "6c87135223ce381bb48414011fbba485db62012f"
61
+ "gitHead": "002e325935f110e1f4142478b71b62ba21318bd5"
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=%ct${includeAuthor ? ',%an' : ''}`,
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
- `git log ${args} -- "${path.basename(file)}"`,
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
- let regex = /^(?<timestamp>\d+)$/;
142
- if (includeAuthor) {
143
- regex = /^(?<timestamp>\d+),(?<author>.+)$/;
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