@docusaurus/utils 0.0.0-5866 → 0.0.0-5869
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 +2 -2
- package/lib/gitUtils.d.ts.map +1 -1
- package/lib/gitUtils.js +3 -2
- package/lib/gitUtils.js.map +1 -1
- package/lib/index.d.ts +3 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +7 -4
- package/lib/index.js.map +1 -1
- package/lib/lastUpdateUtils.d.ts +8 -10
- package/lib/lastUpdateUtils.d.ts.map +1 -1
- package/lib/lastUpdateUtils.js +22 -23
- package/lib/lastUpdateUtils.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/package.json +4 -4
- package/src/gitUtils.ts +5 -4
- package/src/index.ts +6 -4
- package/src/lastUpdateUtils.ts +37 -37
- package/src/pathUtils.ts +14 -0
- package/src/routeUtils.ts +19 -0
package/lib/gitUtils.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ file: string, args: {
|
|
|
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
|
/**
|
|
@@ -58,7 +58,7 @@ file: string, args: {
|
|
|
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;
|
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;AAKH,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,
|
|
1
|
+
{"version":3,"file":"gitUtils.d.ts","sourceRoot":"","sources":["../src/gitUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,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
|
@@ -56,8 +56,9 @@ async function getFileCommitDate(file, { age = 'oldest', includeAuthor = false,
|
|
|
56
56
|
if (!match) {
|
|
57
57
|
throw new Error(`Failed to retrieve the git history for file "${file}" with unexpected output: ${output}`);
|
|
58
58
|
}
|
|
59
|
-
const
|
|
60
|
-
const
|
|
59
|
+
const timestampInSeconds = Number(match.groups.timestamp);
|
|
60
|
+
const timestamp = timestampInSeconds * 1000;
|
|
61
|
+
const date = new Date(timestamp);
|
|
61
62
|
if (includeAuthor) {
|
|
62
63
|
return { date, timestamp, author: match.groups.author };
|
|
63
64
|
}
|
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;AAE5B,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,iBAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACvB,MAAM,IAAI,gBAAgB,CACxB,uCAAuC,IAAI,iCAAiC,CAC7E,CAAC;KACH;IAED,IAAI,CAAC,iBAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CACb,uCAAuC,IAAI,oCAAoC,CAChF,CAAC;KACH;IAED,MAAM,IAAI,GAAG;QACX,eAAe,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5C,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,MAAM,GAAG,MAAM,IAAI,OAAO,CAI7B,CAAC,OAAO,EAAE,EAAE;QACb,iBAAK,CAAC,IAAI,CACR,WAAW,IAAI,QAAQ,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAC7C;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;IACD,IAAI,KAAK,GAAG,qBAAqB,CAAC;IAClC,IAAI,aAAa,EAAE;QACjB,KAAK,GAAG,mCAAmC,CAAC;KAC7C;IAED,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,
|
|
1
|
+
{"version":3,"file":"gitUtils.js","sourceRoot":"","sources":["../src/gitUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,wDAAwB;AACxB,8DAA4B;AAE5B,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,iBAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACvB,MAAM,IAAI,gBAAgB,CACxB,uCAAuC,IAAI,iCAAiC,CAC7E,CAAC;KACH;IAED,IAAI,CAAC,iBAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CACb,uCAAuC,IAAI,oCAAoC,CAChF,CAAC;KACH;IAED,MAAM,IAAI,GAAG;QACX,eAAe,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5C,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,MAAM,GAAG,MAAM,IAAI,OAAO,CAI7B,CAAC,OAAO,EAAE,EAAE;QACb,iBAAK,CAAC,IAAI,CACR,WAAW,IAAI,QAAQ,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAC7C;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;IACD,IAAI,KAAK,GAAG,qBAAqB,CAAC;IAClC,IAAI,aAAa,EAAE;QACjB,KAAK,GAAG,mCAAmC,CAAC;KAC7C;IAED,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;AAtFD,8CAsFC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export { type Tag, type TagsListItem, type TagModule, type FrontMatterTag, norma
|
|
|
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';
|
|
@@ -25,5 +25,6 @@ export { getDataFilePath, getDataFileData, getContentPathList, findFolderContain
|
|
|
25
25
|
export { isDraft, isUnlisted } from './contentVisibilityUtils';
|
|
26
26
|
export { escapeRegexp } from './regExpUtils';
|
|
27
27
|
export { askPreferredLanguage } from './cliUtils';
|
|
28
|
-
export {
|
|
28
|
+
export { flattenRoutes } from './routeUtils';
|
|
29
|
+
export { getGitLastUpdate, getLastUpdate, readLastUpdateData, LAST_UPDATE_FALLBACK, type LastUpdateData, type FrontMatterLastUpdate, } from './lastUpdateUtils';
|
|
29
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,EACL,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,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,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;
|
|
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,EACL,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,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
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.admonitionTitleToDirectiveLabel = exports.unwrapMdxCodeBlocks = exports.escapeMarkdownHeadingIds = exports.parseMarkdownHeadingId = exports.getTagVisibility = exports.groupTaggedItems = exports.normalizeFrontMatterTags = exports.buildSshUrl = exports.buildHttpsUrl = exports.hasSSHProtocol = exports.removeTrailingSlash = exports.addTrailingSlash = exports.addLeadingSlash = exports.serializeURLPath = exports.parseURLPath = exports.resolvePathname = exports.isValidPathname = exports.encodePath = exports.fileToPath = exports.getEditUrl = exports.normalizeUrl = exports.findAsyncSequential = exports.mapAsyncSequential = exports.removePrefix = exports.removeSuffix = 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.
|
|
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 = exports.writeMarkdownHeadingId = exports.parseMarkdownFile = exports.parseMarkdownContentTitle = exports.DEFAULT_PARSE_FRONT_MATTER = exports.createExcerpt = 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; } });
|
|
@@ -81,6 +81,7 @@ Object.defineProperty(exports, "shortName", { enumerable: true, get: function ()
|
|
|
81
81
|
Object.defineProperty(exports, "posixPath", { enumerable: true, get: function () { return pathUtils_1.posixPath; } });
|
|
82
82
|
Object.defineProperty(exports, "toMessageRelativeFilePath", { enumerable: true, get: function () { return pathUtils_1.toMessageRelativeFilePath; } });
|
|
83
83
|
Object.defineProperty(exports, "aliasedSitePath", { enumerable: true, get: function () { return pathUtils_1.aliasedSitePath; } });
|
|
84
|
+
Object.defineProperty(exports, "aliasedSitePathToRelativePath", { enumerable: true, get: function () { return pathUtils_1.aliasedSitePathToRelativePath; } });
|
|
84
85
|
Object.defineProperty(exports, "escapePath", { enumerable: true, get: function () { return pathUtils_1.escapePath; } });
|
|
85
86
|
Object.defineProperty(exports, "addTrailingPathSeparator", { enumerable: true, get: function () { return pathUtils_1.addTrailingPathSeparator; } });
|
|
86
87
|
var hashUtils_1 = require("./hashUtils");
|
|
@@ -112,9 +113,11 @@ var regExpUtils_1 = require("./regExpUtils");
|
|
|
112
113
|
Object.defineProperty(exports, "escapeRegexp", { enumerable: true, get: function () { return regExpUtils_1.escapeRegexp; } });
|
|
113
114
|
var cliUtils_1 = require("./cliUtils");
|
|
114
115
|
Object.defineProperty(exports, "askPreferredLanguage", { enumerable: true, get: function () { return cliUtils_1.askPreferredLanguage; } });
|
|
116
|
+
var routeUtils_1 = require("./routeUtils");
|
|
117
|
+
Object.defineProperty(exports, "flattenRoutes", { enumerable: true, get: function () { return routeUtils_1.flattenRoutes; } });
|
|
115
118
|
var lastUpdateUtils_1 = require("./lastUpdateUtils");
|
|
116
|
-
Object.defineProperty(exports, "
|
|
119
|
+
Object.defineProperty(exports, "getGitLastUpdate", { enumerable: true, get: function () { return lastUpdateUtils_1.getGitLastUpdate; } });
|
|
120
|
+
Object.defineProperty(exports, "getLastUpdate", { enumerable: true, get: function () { return lastUpdateUtils_1.getLastUpdate; } });
|
|
117
121
|
Object.defineProperty(exports, "readLastUpdateData", { enumerable: true, get: function () { return lastUpdateUtils_1.readLastUpdateData; } });
|
|
118
|
-
Object.defineProperty(exports, "
|
|
119
|
-
Object.defineProperty(exports, "GIT_FALLBACK_LAST_UPDATE_DATE", { enumerable: true, get: function () { return lastUpdateUtils_1.GIT_FALLBACK_LAST_UPDATE_DATE; } });
|
|
122
|
+
Object.defineProperty(exports, "LAST_UPDATE_FALLBACK", { enumerable: true, get: function () { return lastUpdateUtils_1.LAST_UPDATE_FALLBACK; } });
|
|
120
123
|
//# 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,qCAKmB;AAJjB,uGAAA,YAAY,OAAA;AACZ,uGAAA,YAAY,OAAA;AACZ,6GAAA,kBAAkB,OAAA;AAClB,8GAAA,mBAAmB,OAAA;AAErB,uCAeoB;AAdlB,wGAAA,YAAY,OAAA;AACZ,sGAAA,UAAU,OAAA;AACV,sGAAA,UAAU,OAAA;AACV,sGAAA,UAAU,OAAA;AACV,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,wGAAA,YAAY,OAAA;AACZ,4GAAA,gBAAgB,OAAA;AAChB,2GAAA,eAAe,OAAA;AACf,4GAAA,gBAAgB,OAAA;AAChB,+GAAA,mBAAmB,OAAA;AACnB,0GAAA,cAAc,OAAA;AACd,yGAAA,aAAa,OAAA;AACb,uGAAA,WAAW,OAAA;AAGb,+BAQgB;AAHd,gHAAA,wBAAwB,OAAA;AACxB,wGAAA,gBAAgB,OAAA;AAChB,wGAAA,gBAAgB,OAAA;AAElB,iDAWyB;AAVvB,uHAAA,sBAAsB,OAAA;AACtB,yHAAA,wBAAwB,OAAA;AACxB,oHAAA,mBAAmB,OAAA;AACnB,gIAAA,+BAA+B,OAAA;AAC/B,8GAAA,aAAa,OAAA;AACb,2HAAA,0BAA0B,OAAA;AAC1B,0HAAA,yBAAyB,OAAA;AACzB,kHAAA,iBAAiB,OAAA;AACjB,uHAAA,sBAAsB,OAAA;AAGxB,iDAIyB;AADvB,qHAAA,oBAAoB,OAAA;AAEtB,qCAA2E;AAAhC,wGAAA,aAAa,OAAA;AACxD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/lastUpdateUtils.d.ts
CHANGED
|
@@ -5,26 +5,24 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import type { PluginOptions } from '@docusaurus/types';
|
|
8
|
-
export declare const GIT_FALLBACK_LAST_UPDATE_DATE = 1539502055;
|
|
9
|
-
export declare const GIT_FALLBACK_LAST_UPDATE_AUTHOR = "Author";
|
|
10
8
|
export type LastUpdateData = {
|
|
11
|
-
/** A timestamp in **
|
|
9
|
+
/** A timestamp in **milliseconds**, usually read from `git log` */
|
|
12
10
|
lastUpdatedAt?: number;
|
|
13
|
-
/** The author's name
|
|
11
|
+
/** The author's name, usually coming from `git log` */
|
|
14
12
|
lastUpdatedBy?: string;
|
|
15
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'>;
|
|
16
18
|
export type FrontMatterLastUpdate = {
|
|
17
19
|
author?: string;
|
|
18
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* Date can be any
|
|
19
22
|
* [parsable date string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).
|
|
20
23
|
*/
|
|
21
24
|
date?: Date | string;
|
|
22
25
|
};
|
|
23
|
-
export declare function getFileLastUpdate(filePath: string): Promise<{
|
|
24
|
-
timestamp: number;
|
|
25
|
-
author: string;
|
|
26
|
-
} | null>;
|
|
27
|
-
type LastUpdateOptions = Pick<PluginOptions, 'showLastUpdateAuthor' | 'showLastUpdateTime'>;
|
|
28
26
|
export declare function readLastUpdateData(filePath: string, options: LastUpdateOptions, lastUpdateFrontMatter: FrontMatterLastUpdate | undefined): Promise<LastUpdateData>;
|
|
29
27
|
export {};
|
|
30
28
|
//# sourceMappingURL=lastUpdateUtils.d.ts.map
|
|
@@ -1 +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,
|
|
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"}
|
package/lib/lastUpdateUtils.js
CHANGED
|
@@ -6,27 +6,14 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.readLastUpdateData = exports.
|
|
9
|
+
exports.readLastUpdateData = exports.getLastUpdate = exports.LAST_UPDATE_FALLBACK = exports.getGitLastUpdate = void 0;
|
|
10
10
|
const tslib_1 = require("tslib");
|
|
11
11
|
const lodash_1 = tslib_1.__importDefault(require("lodash"));
|
|
12
12
|
const logger_1 = tslib_1.__importDefault(require("@docusaurus/logger"));
|
|
13
13
|
const gitUtils_1 = require("./gitUtils");
|
|
14
|
-
exports.GIT_FALLBACK_LAST_UPDATE_DATE = 1539502055;
|
|
15
|
-
exports.GIT_FALLBACK_LAST_UPDATE_AUTHOR = 'Author';
|
|
16
|
-
async function getGitLastUpdate(filePath) {
|
|
17
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
18
|
-
// Use fake data in dev/test for faster development.
|
|
19
|
-
return {
|
|
20
|
-
lastUpdatedBy: exports.GIT_FALLBACK_LAST_UPDATE_AUTHOR,
|
|
21
|
-
lastUpdatedAt: exports.GIT_FALLBACK_LAST_UPDATE_DATE,
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
const { author, timestamp } = (await getFileLastUpdate(filePath)) ?? {};
|
|
25
|
-
return { lastUpdatedBy: author, lastUpdatedAt: timestamp };
|
|
26
|
-
}
|
|
27
14
|
let showedGitRequirementError = false;
|
|
28
15
|
let showedFileNotTrackedError = false;
|
|
29
|
-
async function
|
|
16
|
+
async function getGitLastUpdate(filePath) {
|
|
30
17
|
if (!filePath) {
|
|
31
18
|
return null;
|
|
32
19
|
}
|
|
@@ -37,7 +24,7 @@ async function getFileLastUpdate(filePath) {
|
|
|
37
24
|
age: 'newest',
|
|
38
25
|
includeAuthor: true,
|
|
39
26
|
});
|
|
40
|
-
return {
|
|
27
|
+
return { lastUpdatedAt: result.timestamp, lastUpdatedBy: result.author };
|
|
41
28
|
}
|
|
42
29
|
catch (err) {
|
|
43
30
|
if (err instanceof gitUtils_1.GitNotFoundError) {
|
|
@@ -58,7 +45,19 @@ async function getFileLastUpdate(filePath) {
|
|
|
58
45
|
return null;
|
|
59
46
|
}
|
|
60
47
|
}
|
|
61
|
-
exports.
|
|
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;
|
|
62
61
|
async function readLastUpdateData(filePath, options, lastUpdateFrontMatter) {
|
|
63
62
|
const { showLastUpdateAuthor, showLastUpdateTime } = options;
|
|
64
63
|
if (!showLastUpdateAuthor && !showLastUpdateTime) {
|
|
@@ -66,19 +65,19 @@ async function readLastUpdateData(filePath, options, lastUpdateFrontMatter) {
|
|
|
66
65
|
}
|
|
67
66
|
const frontMatterAuthor = lastUpdateFrontMatter?.author;
|
|
68
67
|
const frontMatterTimestamp = lastUpdateFrontMatter?.date
|
|
69
|
-
? new Date(lastUpdateFrontMatter.date).getTime()
|
|
68
|
+
? new Date(lastUpdateFrontMatter.date).getTime()
|
|
70
69
|
: undefined;
|
|
71
70
|
// We try to minimize git last update calls
|
|
72
71
|
// We call it at most once
|
|
73
72
|
// If all the data is provided as front matter, we do not call it
|
|
74
|
-
const
|
|
75
|
-
const
|
|
76
|
-
const
|
|
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);
|
|
77
76
|
const lastUpdatedBy = showLastUpdateAuthor
|
|
78
|
-
? frontMatterAuthor ?? (await
|
|
77
|
+
? frontMatterAuthor ?? (await getLastUpdateBy())
|
|
79
78
|
: undefined;
|
|
80
79
|
const lastUpdatedAt = showLastUpdateTime
|
|
81
|
-
? frontMatterTimestamp ?? (await
|
|
80
|
+
? frontMatterTimestamp ?? (await getLastUpdateAt())
|
|
82
81
|
: undefined;
|
|
83
82
|
return {
|
|
84
83
|
lastUpdatedBy,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lastUpdateUtils.js","sourceRoot":"","sources":["../src/lastUpdateUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,4DAAuB;AACvB,wEAAwC;AACxC,yCAIoB;
|
|
1
|
+
{"version":3,"file":"lastUpdateUtils.js","sourceRoot":"","sources":["../src/lastUpdateUtils.ts"],"names":[],"mappings":"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"}
|
package/lib/pathUtils.d.ts
CHANGED
|
@@ -36,6 +36,14 @@ export declare function toMessageRelativeFilePath(filePath: string): string;
|
|
|
36
36
|
* Example: some/path/to/website/docs/foo.md -> @site/docs/foo.md
|
|
37
37
|
*/
|
|
38
38
|
export declare function aliasedSitePath(filePath: string, siteDir: string): string;
|
|
39
|
+
/**
|
|
40
|
+
* Converts back the aliased site path (starting with "@site/...") to a relative path
|
|
41
|
+
*
|
|
42
|
+
* TODO method this is a workaround, we shouldn't need to alias/un-alias paths
|
|
43
|
+
* we should refactor the codebase to not have aliased site paths everywhere
|
|
44
|
+
* We probably only need aliasing for client-only paths required by Webpack
|
|
45
|
+
*/
|
|
46
|
+
export declare function aliasedSitePathToRelativePath(filePath: string): string;
|
|
39
47
|
/**
|
|
40
48
|
* When you have a path like C:\X\Y
|
|
41
49
|
* It is not safe to use directly when generating code
|
package/lib/pathUtils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pathUtils.d.ts","sourceRoot":"","sources":["../src/pathUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,eAAO,MAAM,aAAa,QAAS,MAAM,KAAG,OAMgC,CAAC;AAE7E,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiB7C;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKzE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK9C;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK5D"}
|
|
1
|
+
{"version":3,"file":"pathUtils.d.ts","sourceRoot":"","sources":["../src/pathUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,eAAO,MAAM,aAAa,QAAS,MAAM,KAAG,OAMgC,CAAC;AAE7E,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiB7C;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKzE;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKtE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK9C;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK5D"}
|
package/lib/pathUtils.js
CHANGED
|
@@ -6,7 +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.addTrailingPathSeparator = exports.escapePath = exports.aliasedSitePath = exports.toMessageRelativeFilePath = exports.posixPath = exports.shortName = exports.isNameTooLong = void 0;
|
|
9
|
+
exports.addTrailingPathSeparator = exports.escapePath = exports.aliasedSitePathToRelativePath = exports.aliasedSitePath = exports.toMessageRelativeFilePath = exports.posixPath = exports.shortName = exports.isNameTooLong = void 0;
|
|
10
10
|
const tslib_1 = require("tslib");
|
|
11
11
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
12
12
|
// Based on https://github.com/gatsbyjs/gatsby/pull/21518/files
|
|
@@ -84,6 +84,20 @@ function aliasedSitePath(filePath, siteDir) {
|
|
|
84
84
|
return `@site/${relativePath}`;
|
|
85
85
|
}
|
|
86
86
|
exports.aliasedSitePath = aliasedSitePath;
|
|
87
|
+
/**
|
|
88
|
+
* Converts back the aliased site path (starting with "@site/...") to a relative path
|
|
89
|
+
*
|
|
90
|
+
* TODO method this is a workaround, we shouldn't need to alias/un-alias paths
|
|
91
|
+
* we should refactor the codebase to not have aliased site paths everywhere
|
|
92
|
+
* We probably only need aliasing for client-only paths required by Webpack
|
|
93
|
+
*/
|
|
94
|
+
function aliasedSitePathToRelativePath(filePath) {
|
|
95
|
+
if (filePath.startsWith('@site/')) {
|
|
96
|
+
return filePath.replace('@site/', '');
|
|
97
|
+
}
|
|
98
|
+
throw new Error(`Unexpected, filePath is not site-aliased: ${filePath}`);
|
|
99
|
+
}
|
|
100
|
+
exports.aliasedSitePathToRelativePath = aliasedSitePathToRelativePath;
|
|
87
101
|
/**
|
|
88
102
|
* When you have a path like C:\X\Y
|
|
89
103
|
* It is not safe to use directly when generating code
|
package/lib/pathUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pathUtils.js","sourceRoot":"","sources":["../src/pathUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pathUtils.js","sourceRoot":"","sources":["../src/pathUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
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 { RouteConfig } from '@docusaurus/types';
|
|
8
|
+
/**
|
|
9
|
+
* Recursively flatten routes and only return the "leaf routes"
|
|
10
|
+
* Parent routes are filtered out
|
|
11
|
+
*/
|
|
12
|
+
export declare function flattenRoutes(routeConfig: RouteConfig[]): RouteConfig[];
|
|
13
|
+
//# sourceMappingURL=routeUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routeUtils.d.ts","sourceRoot":"","sources":["../src/routeUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAKvE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
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.flattenRoutes = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* Recursively flatten routes and only return the "leaf routes"
|
|
12
|
+
* Parent routes are filtered out
|
|
13
|
+
*/
|
|
14
|
+
function flattenRoutes(routeConfig) {
|
|
15
|
+
function flatten(route) {
|
|
16
|
+
return route.routes ? route.routes.flatMap(flatten) : [route];
|
|
17
|
+
}
|
|
18
|
+
return routeConfig.flatMap(flatten);
|
|
19
|
+
}
|
|
20
|
+
exports.flattenRoutes = flattenRoutes;
|
|
21
|
+
//# sourceMappingURL=routeUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routeUtils.js","sourceRoot":"","sources":["../src/routeUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAIH;;;GAGG;AACH,SAAgB,aAAa,CAAC,WAA0B;IACtD,SAAS,OAAO,CAAC,KAAkB;QACjC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AALD,sCAKC"}
|
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-5869",
|
|
4
4
|
"description": "Node utility functions for Docusaurus packages.",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
},
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@docusaurus/logger": "0.0.0-
|
|
21
|
+
"@docusaurus/logger": "0.0.0-5869",
|
|
22
22
|
"@svgr/webpack": "^6.5.1",
|
|
23
23
|
"escape-string-regexp": "^4.0.0",
|
|
24
24
|
"file-loader": "^6.2.0",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"node": ">=18.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@docusaurus/types": "0.0.0-
|
|
44
|
+
"@docusaurus/types": "0.0.0-5869",
|
|
45
45
|
"@types/dedent": "^0.7.0",
|
|
46
46
|
"@types/github-slugger": "^1.3.0",
|
|
47
47
|
"@types/micromatch": "^4.0.2",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"optional": true
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "b04beb0c2db54db2bf9f87733009a35221383933"
|
|
61
61
|
}
|
package/src/gitUtils.ts
CHANGED
|
@@ -39,7 +39,7 @@ export async function getFileCommitDate(
|
|
|
39
39
|
): Promise<{
|
|
40
40
|
/** Relevant commit date. */
|
|
41
41
|
date: Date;
|
|
42
|
-
/** Timestamp
|
|
42
|
+
/** Timestamp returned from git, converted to **milliseconds**. */
|
|
43
43
|
timestamp: number;
|
|
44
44
|
}>;
|
|
45
45
|
/**
|
|
@@ -66,7 +66,7 @@ export async function getFileCommitDate(
|
|
|
66
66
|
): Promise<{
|
|
67
67
|
/** Relevant commit date. */
|
|
68
68
|
date: Date;
|
|
69
|
-
/** Timestamp
|
|
69
|
+
/** Timestamp returned from git, converted to **milliseconds**. */
|
|
70
70
|
timestamp: number;
|
|
71
71
|
/** The author's name, as returned from git. */
|
|
72
72
|
author: string;
|
|
@@ -150,8 +150,9 @@ export async function getFileCommitDate(
|
|
|
150
150
|
);
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
-
const
|
|
154
|
-
const
|
|
153
|
+
const timestampInSeconds = Number(match.groups!.timestamp);
|
|
154
|
+
const timestamp = timestampInSeconds * 1_000;
|
|
155
|
+
const date = new Date(timestamp);
|
|
155
156
|
|
|
156
157
|
if (includeAuthor) {
|
|
157
158
|
return {date, timestamp, author: match.groups!.author!};
|
package/src/index.ts
CHANGED
|
@@ -91,6 +91,7 @@ export {
|
|
|
91
91
|
posixPath,
|
|
92
92
|
toMessageRelativeFilePath,
|
|
93
93
|
aliasedSitePath,
|
|
94
|
+
aliasedSitePathToRelativePath,
|
|
94
95
|
escapePath,
|
|
95
96
|
addTrailingPathSeparator,
|
|
96
97
|
} from './pathUtils';
|
|
@@ -118,12 +119,13 @@ export {
|
|
|
118
119
|
export {isDraft, isUnlisted} from './contentVisibilityUtils';
|
|
119
120
|
export {escapeRegexp} from './regExpUtils';
|
|
120
121
|
export {askPreferredLanguage} from './cliUtils';
|
|
122
|
+
export {flattenRoutes} from './routeUtils';
|
|
121
123
|
|
|
122
124
|
export {
|
|
123
|
-
|
|
125
|
+
getGitLastUpdate,
|
|
126
|
+
getLastUpdate,
|
|
127
|
+
readLastUpdateData,
|
|
128
|
+
LAST_UPDATE_FALLBACK,
|
|
124
129
|
type LastUpdateData,
|
|
125
130
|
type FrontMatterLastUpdate,
|
|
126
|
-
readLastUpdateData,
|
|
127
|
-
GIT_FALLBACK_LAST_UPDATE_AUTHOR,
|
|
128
|
-
GIT_FALLBACK_LAST_UPDATE_DATE,
|
|
129
131
|
} from './lastUpdateUtils';
|
package/src/lastUpdateUtils.ts
CHANGED
|
@@ -14,43 +14,19 @@ import {
|
|
|
14
14
|
} from './gitUtils';
|
|
15
15
|
import type {PluginOptions} from '@docusaurus/types';
|
|
16
16
|
|
|
17
|
-
export const GIT_FALLBACK_LAST_UPDATE_DATE = 1539502055;
|
|
18
|
-
|
|
19
|
-
export const GIT_FALLBACK_LAST_UPDATE_AUTHOR = 'Author';
|
|
20
|
-
|
|
21
|
-
async function getGitLastUpdate(filePath: string): Promise<LastUpdateData> {
|
|
22
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
23
|
-
// Use fake data in dev/test for faster development.
|
|
24
|
-
return {
|
|
25
|
-
lastUpdatedBy: GIT_FALLBACK_LAST_UPDATE_AUTHOR,
|
|
26
|
-
lastUpdatedAt: GIT_FALLBACK_LAST_UPDATE_DATE,
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
const {author, timestamp} = (await getFileLastUpdate(filePath)) ?? {};
|
|
30
|
-
return {lastUpdatedBy: author, lastUpdatedAt: timestamp};
|
|
31
|
-
}
|
|
32
|
-
|
|
33
17
|
export type LastUpdateData = {
|
|
34
|
-
/** A timestamp in **
|
|
18
|
+
/** A timestamp in **milliseconds**, usually read from `git log` */
|
|
35
19
|
lastUpdatedAt?: number;
|
|
36
|
-
/** The author's name
|
|
20
|
+
/** The author's name, usually coming from `git log` */
|
|
37
21
|
lastUpdatedBy?: string;
|
|
38
22
|
};
|
|
39
23
|
|
|
40
|
-
export type FrontMatterLastUpdate = {
|
|
41
|
-
author?: string;
|
|
42
|
-
/** Date can be any
|
|
43
|
-
* [parsable date string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).
|
|
44
|
-
*/
|
|
45
|
-
date?: Date | string;
|
|
46
|
-
};
|
|
47
|
-
|
|
48
24
|
let showedGitRequirementError = false;
|
|
49
25
|
let showedFileNotTrackedError = false;
|
|
50
26
|
|
|
51
|
-
export async function
|
|
27
|
+
export async function getGitLastUpdate(
|
|
52
28
|
filePath: string,
|
|
53
|
-
): Promise<
|
|
29
|
+
): Promise<LastUpdateData | null> {
|
|
54
30
|
if (!filePath) {
|
|
55
31
|
return null;
|
|
56
32
|
}
|
|
@@ -63,7 +39,7 @@ export async function getFileLastUpdate(
|
|
|
63
39
|
includeAuthor: true,
|
|
64
40
|
});
|
|
65
41
|
|
|
66
|
-
return {
|
|
42
|
+
return {lastUpdatedAt: result.timestamp, lastUpdatedBy: result.author};
|
|
67
43
|
} catch (err) {
|
|
68
44
|
if (err instanceof GitNotFoundError) {
|
|
69
45
|
if (!showedGitRequirementError) {
|
|
@@ -87,11 +63,35 @@ export async function getFileLastUpdate(
|
|
|
87
63
|
}
|
|
88
64
|
}
|
|
89
65
|
|
|
66
|
+
export const LAST_UPDATE_FALLBACK: LastUpdateData = {
|
|
67
|
+
lastUpdatedAt: 1539502055000,
|
|
68
|
+
lastUpdatedBy: 'Author',
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export async function getLastUpdate(
|
|
72
|
+
filePath: string,
|
|
73
|
+
): Promise<LastUpdateData | null> {
|
|
74
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
75
|
+
// Use fake data in dev/test for faster development.
|
|
76
|
+
return LAST_UPDATE_FALLBACK;
|
|
77
|
+
}
|
|
78
|
+
return getGitLastUpdate(filePath);
|
|
79
|
+
}
|
|
80
|
+
|
|
90
81
|
type LastUpdateOptions = Pick<
|
|
91
82
|
PluginOptions,
|
|
92
83
|
'showLastUpdateAuthor' | 'showLastUpdateTime'
|
|
93
84
|
>;
|
|
94
85
|
|
|
86
|
+
export type FrontMatterLastUpdate = {
|
|
87
|
+
author?: string;
|
|
88
|
+
/**
|
|
89
|
+
* Date can be any
|
|
90
|
+
* [parsable date string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).
|
|
91
|
+
*/
|
|
92
|
+
date?: Date | string;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
95
|
export async function readLastUpdateData(
|
|
96
96
|
filePath: string,
|
|
97
97
|
options: LastUpdateOptions,
|
|
@@ -105,24 +105,24 @@ export async function readLastUpdateData(
|
|
|
105
105
|
|
|
106
106
|
const frontMatterAuthor = lastUpdateFrontMatter?.author;
|
|
107
107
|
const frontMatterTimestamp = lastUpdateFrontMatter?.date
|
|
108
|
-
? new Date(lastUpdateFrontMatter.date).getTime()
|
|
108
|
+
? new Date(lastUpdateFrontMatter.date).getTime()
|
|
109
109
|
: undefined;
|
|
110
110
|
|
|
111
111
|
// We try to minimize git last update calls
|
|
112
112
|
// We call it at most once
|
|
113
113
|
// If all the data is provided as front matter, we do not call it
|
|
114
|
-
const
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
const
|
|
118
|
-
|
|
114
|
+
const getLastUpdateMemoized = _.memoize(() => getLastUpdate(filePath));
|
|
115
|
+
const getLastUpdateBy = () =>
|
|
116
|
+
getLastUpdateMemoized().then((update) => update?.lastUpdatedBy);
|
|
117
|
+
const getLastUpdateAt = () =>
|
|
118
|
+
getLastUpdateMemoized().then((update) => update?.lastUpdatedAt);
|
|
119
119
|
|
|
120
120
|
const lastUpdatedBy = showLastUpdateAuthor
|
|
121
|
-
? frontMatterAuthor ?? (await
|
|
121
|
+
? frontMatterAuthor ?? (await getLastUpdateBy())
|
|
122
122
|
: undefined;
|
|
123
123
|
|
|
124
124
|
const lastUpdatedAt = showLastUpdateTime
|
|
125
|
-
? frontMatterTimestamp ?? (await
|
|
125
|
+
? frontMatterTimestamp ?? (await getLastUpdateAt())
|
|
126
126
|
: undefined;
|
|
127
127
|
|
|
128
128
|
return {
|
package/src/pathUtils.ts
CHANGED
|
@@ -92,6 +92,20 @@ export function aliasedSitePath(filePath: string, siteDir: string): string {
|
|
|
92
92
|
return `@site/${relativePath}`;
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
+
/**
|
|
96
|
+
* Converts back the aliased site path (starting with "@site/...") to a relative path
|
|
97
|
+
*
|
|
98
|
+
* TODO method this is a workaround, we shouldn't need to alias/un-alias paths
|
|
99
|
+
* we should refactor the codebase to not have aliased site paths everywhere
|
|
100
|
+
* We probably only need aliasing for client-only paths required by Webpack
|
|
101
|
+
*/
|
|
102
|
+
export function aliasedSitePathToRelativePath(filePath: string): string {
|
|
103
|
+
if (filePath.startsWith('@site/')) {
|
|
104
|
+
return filePath.replace('@site/', '');
|
|
105
|
+
}
|
|
106
|
+
throw new Error(`Unexpected, filePath is not site-aliased: ${filePath}`);
|
|
107
|
+
}
|
|
108
|
+
|
|
95
109
|
/**
|
|
96
110
|
* When you have a path like C:\X\Y
|
|
97
111
|
* It is not safe to use directly when generating code
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
|
|
8
|
+
import type {RouteConfig} from '@docusaurus/types';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Recursively flatten routes and only return the "leaf routes"
|
|
12
|
+
* Parent routes are filtered out
|
|
13
|
+
*/
|
|
14
|
+
export function flattenRoutes(routeConfig: RouteConfig[]): RouteConfig[] {
|
|
15
|
+
function flatten(route: RouteConfig): RouteConfig[] {
|
|
16
|
+
return route.routes ? route.routes.flatMap(flatten) : [route];
|
|
17
|
+
}
|
|
18
|
+
return routeConfig.flatMap(flatten);
|
|
19
|
+
}
|