@docusaurus/utils 4.0.0-canary-6947 → 4.0.0-canary-6948

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.
@@ -4,18 +4,15 @@
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
- /** Custom error thrown when the current file is not tracked by git. */
8
- export declare class FileNotTrackedError extends Error {
9
- }
10
7
  /**
11
8
  * Fetches the git history of a file and returns a relevant commit date.
12
9
  * It gets the commit date instead of author date so that amended commits
13
10
  * can have their dates updated.
14
11
  *
15
- * @throws {@link GitNotFoundError} If git is not found in `PATH`.
16
- * @throws {@link FileNotTrackedError} If the current file is not tracked by git.
17
- * @throws Also throws when `git log` exited with non-zero, or when it outputs
18
- * unexpected text.
12
+ * Returns `null` if the file is not tracked by git.
13
+ *
14
+ * @throws If git is not found in `PATH`, if the file does not exist, if
15
+ * `git log` exited with non-zero, or if it outputs unexpected text.
19
16
  */
20
17
  export declare function getFileCommitDate(
21
18
  /** Absolute path to the file. */
@@ -32,16 +29,16 @@ file: string, args: {
32
29
  date: Date;
33
30
  /** Timestamp returned from git, converted to **milliseconds**. */
34
31
  timestamp: number;
35
- }>;
32
+ } | null>;
36
33
  /**
37
34
  * Fetches the git history of a file and returns a relevant commit date.
38
35
  * It gets the commit date instead of author date so that amended commits
39
36
  * can have their dates updated.
40
37
  *
41
- * @throws {@link GitNotFoundError} If git is not found in `PATH`.
42
- * @throws {@link FileNotTrackedError} If the current file is not tracked by git.
43
- * @throws Also throws when `git log` exited with non-zero, or when it outputs
44
- * unexpected text.
38
+ * Returns `null` if the file is not tracked by git.
39
+ *
40
+ * @throws If git is not found in `PATH`, if the file does not exist, if
41
+ * `git log` exited with non-zero, or if it outputs unexpected text.
45
42
  */
46
43
  export declare function getFileCommitDate(
47
44
  /** Absolute path to the file. */
@@ -59,7 +56,7 @@ file: string, args: {
59
56
  timestamp: number;
60
57
  /** The author's name, as returned from git. */
61
58
  author: string;
62
- }>;
59
+ } | null>;
63
60
  type GitCommitInfo = {
64
61
  timestamp: number;
65
62
  author: string;
@@ -1 +1 @@
1
- {"version":3,"file":"gitUtils.d.ts","sourceRoot":"","sources":["../../src/vcs/gitUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiDH,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;AAwFH,KAAK,aAAa,GAAG;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC;AA2CzD,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAE/B;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAE/B;AAED,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAavE;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBjE;AAKD,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BxB;AAGD,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAoCzE;AAGD,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBvE;AAGD,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,aAAa,CAAC;IACxB,UAAU,EAAE,aAAa,CAAC;CAC3B,CAAC;AAGF,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAKtD,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,cAAc,CAAC,CAwFzB"}
1
+ {"version":3,"file":"gitUtils.d.ts","sourceRoot":"","sources":["../../src/vcs/gitUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA0CH;;;;;;;;;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,GAAG,IAAI,CAAC,CAAC;AACV;;;;;;;;;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,GAAG,IAAI,CAAC,CAAC;AAuFV,KAAK,aAAa,GAAG;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC;AAuCzD,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAE/B;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAE/B;AAED,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAavE;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBjE;AAKD,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BxB;AAGD,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAoCzE;AAGD,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBvE;AAGD,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,aAAa,CAAC;IACxB,UAAU,EAAE,aAAa,CAAC;CAC3B,CAAC;AAGF,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAKtD,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,cAAc,CAAC,CAwFzB"}
@@ -6,7 +6,6 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.FileNotTrackedError = void 0;
10
9
  exports.getFileCommitDate = getFileCommitDate;
11
10
  exports.getGitLastUpdate = getGitLastUpdate;
12
11
  exports.getGitCreation = getGitCreation;
@@ -49,20 +48,9 @@ const realHasGitFn = () => {
49
48
  // The hasGit call is synchronous IO so we memoize it
50
49
  // The user won't install Git in the middle of a build anyway...
51
50
  const hasGit = process.env.NODE_ENV === 'test' ? realHasGitFn : lodash_1.default.memoize(realHasGitFn);
52
- // TODO Docusaurus v4: remove this
53
- // Exceptions are not made for control flow logic
54
- /** Custom error thrown when git is not found in `PATH`. */
55
- class GitNotFoundError extends Error {
56
- }
57
- // TODO Docusaurus v4: remove this, only kept for retro-compatibility
58
- // Exceptions are not made for control flow logic
59
- /** Custom error thrown when the current file is not tracked by git. */
60
- class FileNotTrackedError extends Error {
61
- }
62
- exports.FileNotTrackedError = FileNotTrackedError;
63
51
  async function getFileCommitDate(file, { age = 'oldest', includeAuthor = false, }) {
64
52
  if (!hasGit()) {
65
- throw new GitNotFoundError(`Failed to retrieve git history for "${file}" because git is not installed.`);
53
+ throw new Error(`Failed to retrieve git history for "${file}" because git is not installed.`);
66
54
  }
67
55
  if (!(await (0, fs_1.pathExists)(file))) {
68
56
  throw new Error(`Failed to retrieve git history for "${file}" because the file does not exist.`);
@@ -92,8 +80,9 @@ async function getFileCommitDate(file, { age = 'oldest', includeAuthor = false,
92
80
  ? /(?:^|\n)RESULT:(?<timestamp>\d+),(?<author>.+)(?:$|\n)/
93
81
  : /(?:^|\n)RESULT:(?<timestamp>\d+)(?:$|\n)/;
94
82
  const output = result.stdout.trim();
83
+ // No output: the file is not tracked by git
95
84
  if (!output) {
96
- throw new FileNotTrackedError(`Failed to retrieve the git history for file "${file}" because the file is not tracked by git.`);
85
+ return null;
97
86
  }
98
87
  const match = output.match(regex);
99
88
  if (!match) {
@@ -107,40 +96,33 @@ async function getFileCommitDate(file, { age = 'oldest', includeAuthor = false,
107
96
  }
108
97
  return { date, timestamp };
109
98
  }
110
- let showedGitRequirementError = false;
111
- let showedFileNotTrackedError = false;
99
+ let showedGitRequirementWarning = false;
100
+ let showedFileNotTrackedWarning = false;
112
101
  async function getGitCommitInfo(filePath, age) {
113
102
  if (!filePath) {
114
103
  return null;
115
104
  }
116
- // Wrap in try/catch in case the shell commands fail
117
- // (e.g. project doesn't use Git, etc).
118
- try {
119
- const result = await getFileCommitDate(filePath, {
120
- age,
121
- includeAuthor: true,
122
- });
123
- return { timestamp: result.timestamp, author: result.author };
124
- }
125
- catch (err) {
126
- // TODO legacy perf issue: do not use exceptions for control flow!
127
- if (err instanceof GitNotFoundError) {
128
- if (!showedGitRequirementError) {
129
- logger_1.default.warn('Sorry, the last update options require Git.');
130
- showedGitRequirementError = true;
131
- }
132
- }
133
- else if (err instanceof FileNotTrackedError) {
134
- if (!showedFileNotTrackedError) {
135
- logger_1.default.warn('Cannot infer the update date for some files, as they are not tracked by git.');
136
- showedFileNotTrackedError = true;
137
- }
105
+ if (!hasGit()) {
106
+ if (!showedGitRequirementWarning) {
107
+ logger_1.default.warn('Sorry, the last update options require Git.');
108
+ showedGitRequirementWarning = true;
138
109
  }
139
- else {
140
- throw new Error(`An error occurred when trying to get the file ${age === 'oldest' ? 'creation' : 'last update'} date from Git`, { cause: err });
110
+ return null;
111
+ }
112
+ const result = await getFileCommitDate(filePath, {
113
+ age,
114
+ includeAuthor: true,
115
+ }).catch((err) => {
116
+ throw new Error(`An error occurred when trying to get the file ${age === 'oldest' ? 'creation' : 'last update'} date from Git`, { cause: err });
117
+ });
118
+ if (!result) {
119
+ if (!showedFileNotTrackedWarning) {
120
+ logger_1.default.warn('Cannot infer the update date for some files, as they are not tracked by git.');
121
+ showedFileNotTrackedWarning = true;
141
122
  }
142
123
  return null;
143
124
  }
125
+ return { timestamp: result.timestamp, author: result.author };
144
126
  }
145
127
  async function getGitLastUpdate(filePath) {
146
128
  return getGitCommitInfo(filePath, 'newest');
@@ -1 +1 @@
1
- {"version":3,"file":"gitUtils.js","sourceRoot":"","sources":["../../src/vcs/gitUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitUtils.js","sourceRoot":"","sources":["../../src/vcs/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": "4.0.0-canary-6947",
3
+ "version": "4.0.0-canary-6948",
4
4
  "description": "Node utility functions for Docusaurus packages.",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -15,9 +15,9 @@
15
15
  "license": "MIT",
16
16
  "dependencies": {
17
17
  "@11ty/gray-matter": "^3.0.0",
18
- "@docusaurus/fs": "4.0.0-canary-6947",
19
- "@docusaurus/logger": "4.0.0-canary-6947",
20
- "@docusaurus/types": "4.0.0-canary-6947",
18
+ "@docusaurus/fs": "4.0.0-canary-6948",
19
+ "@docusaurus/logger": "4.0.0-canary-6948",
20
+ "@docusaurus/types": "4.0.0-canary-6948",
21
21
  "execa": "^10.0.1",
22
22
  "github-slugger": "^2.0.0",
23
23
  "jiti": "^2.7.0",
@@ -45,25 +45,15 @@ const realHasGitFn = () => {
45
45
  const hasGit =
46
46
  process.env.NODE_ENV === 'test' ? realHasGitFn : _.memoize(realHasGitFn);
47
47
 
48
- // TODO Docusaurus v4: remove this
49
- // Exceptions are not made for control flow logic
50
- /** Custom error thrown when git is not found in `PATH`. */
51
- class GitNotFoundError extends Error {}
52
-
53
- // TODO Docusaurus v4: remove this, only kept for retro-compatibility
54
- // Exceptions are not made for control flow logic
55
- /** Custom error thrown when the current file is not tracked by git. */
56
- export class FileNotTrackedError extends Error {}
57
-
58
48
  /**
59
49
  * Fetches the git history of a file and returns a relevant commit date.
60
50
  * It gets the commit date instead of author date so that amended commits
61
51
  * can have their dates updated.
62
52
  *
63
- * @throws {@link GitNotFoundError} If git is not found in `PATH`.
64
- * @throws {@link FileNotTrackedError} If the current file is not tracked by git.
65
- * @throws Also throws when `git log` exited with non-zero, or when it outputs
66
- * unexpected text.
53
+ * Returns `null` if the file is not tracked by git.
54
+ *
55
+ * @throws If git is not found in `PATH`, if the file does not exist, if
56
+ * `git log` exited with non-zero, or if it outputs unexpected text.
67
57
  */
68
58
  export async function getFileCommitDate(
69
59
  /** Absolute path to the file. */
@@ -82,16 +72,16 @@ export async function getFileCommitDate(
82
72
  date: Date; // TODO duplicate data, not really useful?
83
73
  /** Timestamp returned from git, converted to **milliseconds**. */
84
74
  timestamp: number;
85
- }>;
75
+ } | null>;
86
76
  /**
87
77
  * Fetches the git history of a file and returns a relevant commit date.
88
78
  * It gets the commit date instead of author date so that amended commits
89
79
  * can have their dates updated.
90
80
  *
91
- * @throws {@link GitNotFoundError} If git is not found in `PATH`.
92
- * @throws {@link FileNotTrackedError} If the current file is not tracked by git.
93
- * @throws Also throws when `git log` exited with non-zero, or when it outputs
94
- * unexpected text.
81
+ * Returns `null` if the file is not tracked by git.
82
+ *
83
+ * @throws If git is not found in `PATH`, if the file does not exist, if
84
+ * `git log` exited with non-zero, or if it outputs unexpected text.
95
85
  */
96
86
  export async function getFileCommitDate(
97
87
  /** Absolute path to the file. */
@@ -111,7 +101,7 @@ export async function getFileCommitDate(
111
101
  timestamp: number;
112
102
  /** The author's name, as returned from git. */
113
103
  author: string;
114
- }>;
104
+ } | null>;
115
105
 
116
106
  export async function getFileCommitDate(
117
107
  file: string,
@@ -126,9 +116,9 @@ export async function getFileCommitDate(
126
116
  date: Date;
127
117
  timestamp: number;
128
118
  author?: string;
129
- }> {
119
+ } | null> {
130
120
  if (!hasGit()) {
131
- throw new GitNotFoundError(
121
+ throw new Error(
132
122
  `Failed to retrieve git history for "${file}" because git is not installed.`,
133
123
  );
134
124
  }
@@ -172,10 +162,9 @@ export async function getFileCommitDate(
172
162
 
173
163
  const output = result.stdout.trim();
174
164
 
165
+ // No output: the file is not tracked by git
175
166
  if (!output) {
176
- throw new FileNotTrackedError(
177
- `Failed to retrieve the git history for file "${file}" because the file is not tracked by git.`,
178
- );
167
+ return null;
179
168
  }
180
169
 
181
170
  const match = output.match(regex);
@@ -196,8 +185,8 @@ export async function getFileCommitDate(
196
185
  return {date, timestamp};
197
186
  }
198
187
 
199
- let showedGitRequirementError = false;
200
- let showedFileNotTrackedError = false;
188
+ let showedGitRequirementWarning = false;
189
+ let showedFileNotTrackedWarning = false;
201
190
 
202
191
  type GitCommitInfo = {timestamp: number; author: string};
203
192
 
@@ -208,38 +197,34 @@ async function getGitCommitInfo(
208
197
  if (!filePath) {
209
198
  return null;
210
199
  }
211
- // Wrap in try/catch in case the shell commands fail
212
- // (e.g. project doesn't use Git, etc).
213
- try {
214
- const result = await getFileCommitDate(filePath, {
215
- age,
216
- includeAuthor: true,
217
- });
218
- return {timestamp: result.timestamp, author: result.author};
219
- } catch (err) {
220
- // TODO legacy perf issue: do not use exceptions for control flow!
221
- if (err instanceof GitNotFoundError) {
222
- if (!showedGitRequirementError) {
223
- logger.warn('Sorry, the last update options require Git.');
224
- showedGitRequirementError = true;
225
- }
226
- } else if (err instanceof FileNotTrackedError) {
227
- if (!showedFileNotTrackedError) {
228
- logger.warn(
229
- 'Cannot infer the update date for some files, as they are not tracked by git.',
230
- );
231
- showedFileNotTrackedError = true;
232
- }
233
- } else {
234
- throw new Error(
235
- `An error occurred when trying to get the file ${
236
- age === 'oldest' ? 'creation' : 'last update'
237
- } date from Git`,
238
- {cause: err},
200
+ if (!hasGit()) {
201
+ if (!showedGitRequirementWarning) {
202
+ logger.warn('Sorry, the last update options require Git.');
203
+ showedGitRequirementWarning = true;
204
+ }
205
+ return null;
206
+ }
207
+ const result = await getFileCommitDate(filePath, {
208
+ age,
209
+ includeAuthor: true,
210
+ }).catch((err) => {
211
+ throw new Error(
212
+ `An error occurred when trying to get the file ${
213
+ age === 'oldest' ? 'creation' : 'last update'
214
+ } date from Git`,
215
+ {cause: err},
216
+ );
217
+ });
218
+ if (!result) {
219
+ if (!showedFileNotTrackedWarning) {
220
+ logger.warn(
221
+ 'Cannot infer the update date for some files, as they are not tracked by git.',
239
222
  );
223
+ showedFileNotTrackedWarning = true;
240
224
  }
241
225
  return null;
242
226
  }
227
+ return {timestamp: result.timestamp, author: result.author};
243
228
  }
244
229
 
245
230
  export async function getGitLastUpdate(