@qualcomm-ui/mdx-vite 2.5.3 → 2.6.0

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.
@@ -9,6 +9,7 @@ export declare const configSchema: z.ZodObject<{
9
9
  hotUpdateIgnore: z.ZodOptional<z.ZodType<RegExp, z.ZodTypeDef, RegExp>>;
10
10
  navConfig: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodType<RouteMeta, z.ZodTypeDef, RouteMeta>, z.ZodObject<{}, z.UnknownKeysParam, z.ZodTypeAny, {}, {}>]>, "many">>;
11
11
  pageDirectory: z.ZodOptional<z.ZodString>;
12
+ pageTimestampMetadata: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"off">, z.ZodLiteral<"timestamp">, z.ZodLiteral<"user-and-timestamp">]>>;
12
13
  routingStrategy: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"vite-generouted">, z.ZodFunction<z.ZodTuple<[z.ZodString], null>, z.ZodArray<z.ZodString, "many">>]>>;
13
14
  typeDocProps: z.ZodOptional<z.ZodString>;
14
15
  typeDocPropsOptions: z.ZodOptional<z.ZodObject<{
@@ -24,6 +25,7 @@ export declare const configSchema: z.ZodObject<{
24
25
  disableCache?: boolean | undefined;
25
26
  headings?: ("h1" | "h2" | "h3" | "h4" | "h5" | "h6")[] | undefined;
26
27
  navConfig?: (RouteMeta | {})[] | undefined;
28
+ pageTimestampMetadata?: "off" | "timestamp" | "user-and-timestamp" | undefined;
27
29
  routingStrategy?: "vite-generouted" | ((args_0: string) => string[]) | undefined;
28
30
  typeDocPropsOptions?: {
29
31
  includeInSearchIndex?: boolean | undefined;
@@ -36,6 +38,7 @@ export declare const configSchema: z.ZodObject<{
36
38
  disableCache?: boolean | undefined;
37
39
  headings?: ("h1" | "h2" | "h3" | "h4" | "h5" | "h6")[] | undefined;
38
40
  navConfig?: (RouteMeta | {})[] | undefined;
41
+ pageTimestampMetadata?: "off" | "timestamp" | "user-and-timestamp" | undefined;
39
42
  routingStrategy?: "vite-generouted" | ((args_0: string) => string[]) | undefined;
40
43
  typeDocPropsOptions?: {
41
44
  includeInSearchIndex?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["../../../src/docs-plugin/internal/config-schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,CAAC,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAC,MAAM,KAAK,CAAA;AAErD,OAAO,KAAK,EAIV,SAAS,EACV,MAAM,UAAU,CAAA;AAIjB,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,EAAE,CAItC,CAAA;AAEF,eAAO,MAAM,eAAe,EAAE,SAAS,CAAC,SAAS,CAmB7C,CAAA;AAMJ,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BvB,CAAA"}
1
+ {"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["../../../src/docs-plugin/internal/config-schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,CAAC,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAC,MAAM,KAAK,CAAA;AAErD,OAAO,KAAK,EAIV,SAAS,EACV,MAAM,UAAU,CAAA;AAIjB,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,EAAE,CAItC,CAAA;AAEF,eAAO,MAAM,eAAe,EAAE,SAAS,CAAC,SAAS,CAmB7C,CAAA;AAMJ,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCvB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-indexer.d.ts","sourceRoot":"","sources":["../../../src/docs-plugin/internal/search-indexer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,OAAO,EAEP,OAAO,EACP,WAAW,EACZ,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAA;AAE7D,OAAO,KAAK,EAGV,oBAAoB,EACrB,MAAM,UAAU,CAAA;AAEjB,OAAO,EACL,KAAK,eAAe,EAEpB,eAAe,EAQf,kBAAkB,EAClB,eAAe,EACf,UAAU,EACX,MAAM,YAAY,CAAA;AAInB,qBAAa,aAAa;IA4Cf,MAAM,EAAE,oBAAoB;IAC5B,WAAW;IA5CpB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAa;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2C;IAExE,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAE/D;IACD,OAAO,CAAC,aAAa,CAAmD;IAExE,IAAI,YAAY,IAAI,MAAM,CAEzB;IACD,OAAO,CAAC,aAAa,CAAY;IAEjC,IAAI,QAAQ,IAAI,OAAO,EAAE,CAExB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IACD,OAAO,CAAC,QAAQ,CAAc;IAE9B,IAAI,WAAW,IAAI,WAAW,EAAE,CAE/B;IACD,OAAO,CAAC,YAAY,CAAoB;IAExC,KAAK,IAAI,IAAI;gBAOJ,MAAM,EAAE,oBAAoB,EAC5B,WAAW,UAAO,EAEzB,MAAM,GAAE;QACN,eAAe,CAAC,EAAE,eAAe,CAAA;QACjC,SAAS,CAAC,EAAE,kBAAkB,CAAA;QAC9B,eAAe,CAAC,EAAE,eAAe,CAAA;QACjC,UAAU,CAAC,EAAE,UAAU,CAAA;KACnB;IAwBR;;;OAGG;IACH,OAAO,CAAC,YAAY;IA4DpB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAiHtB,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,cAAc;IAqBtB,UAAU,CACR,aAAa,EAAE,MAAM,EAAE,EACvB,WAAW,GAAE,OAAc,GAC1B,eAAe,EAAE;CAmCrB"}
1
+ {"version":3,"file":"search-indexer.d.ts","sourceRoot":"","sources":["../../../src/docs-plugin/internal/search-indexer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,OAAO,EAEP,OAAO,EACP,WAAW,EACZ,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAA;AAE7D,OAAO,KAAK,EAGV,oBAAoB,EACrB,MAAM,UAAU,CAAA;AAEjB,OAAO,EACL,KAAK,eAAe,EAEpB,eAAe,EAQf,kBAAkB,EAClB,eAAe,EACf,UAAU,EACX,MAAM,YAAY,CAAA;AAInB,qBAAa,aAAa;IA4Cf,MAAM,EAAE,oBAAoB;IAC5B,WAAW;IA5CpB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAa;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2C;IAExE,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAE/D;IACD,OAAO,CAAC,aAAa,CAAmD;IAExE,IAAI,YAAY,IAAI,MAAM,CAEzB;IACD,OAAO,CAAC,aAAa,CAAY;IAEjC,IAAI,QAAQ,IAAI,OAAO,EAAE,CAExB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IACD,OAAO,CAAC,QAAQ,CAAc;IAE9B,IAAI,WAAW,IAAI,WAAW,EAAE,CAE/B;IACD,OAAO,CAAC,YAAY,CAAoB;IAExC,KAAK,IAAI,IAAI;gBAOJ,MAAM,EAAE,oBAAoB,EAC5B,WAAW,UAAO,EAEzB,MAAM,GAAE;QACN,eAAe,CAAC,EAAE,eAAe,CAAA;QACjC,SAAS,CAAC,EAAE,kBAAkB,CAAA;QAC9B,eAAe,CAAC,EAAE,eAAe,CAAA;QACjC,UAAU,CAAC,EAAE,UAAU,CAAA;KACnB;IAyBR;;;OAGG;IACH,OAAO,CAAC,YAAY;IA8DpB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAiHtB,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,cAAc;IAqBtB,UAAU,CACR,aAAa,EAAE,MAAM,EAAE,EACvB,WAAW,GAAE,OAAc,GAC1B,eAAe,EAAE;CAmCrB"}
@@ -1,6 +1,17 @@
1
1
  import type { PageFrontmatter } from "@qualcomm-ui/mdx-common";
2
2
  import type { QuiPropTypes } from "@qualcomm-ui/typedoc-common";
3
+ import type { PageTimestampMetadataMode } from "../../../types";
3
4
  import type { IndexedPage, IndexedSection } from "./markdown.types";
5
+ export interface GitMetadata {
6
+ updatedBy?: string;
7
+ updatedOn?: string;
8
+ }
9
+ /**
10
+ * Gets the last git commit metadata for a file.
11
+ * Returns undefined values if the file is not tracked by git or if git is
12
+ * unavailable.
13
+ */
14
+ export declare function getGitMetadata(filePath: string, mode: PageTimestampMetadataMode): GitMetadata;
4
15
  interface PageCache {
5
16
  frontmatter: PageFrontmatter;
6
17
  md5: string;
@@ -10,10 +21,11 @@ interface PageCache {
10
21
  }
11
22
  export declare class MarkdownFileReader {
12
23
  enabled: boolean;
24
+ pageTimestampMetadata: PageTimestampMetadataMode;
13
25
  cachedFileCount: number;
14
26
  logWarnings: boolean;
15
27
  private mdxCache;
16
- constructor(enabled: boolean);
28
+ constructor(enabled: boolean, pageTimestampMetadata?: PageTimestampMetadataMode);
17
29
  private hash;
18
30
  reset(): void;
19
31
  readCache(filePath: string): PageCache | null;
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-file-reader.d.ts","sourceRoot":"","sources":["../../../../../src/docs-plugin/internal/services/markdown/markdown-file-reader.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAA;AAI7D,OAAO,KAAK,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAEjE,UAAU,SAAS;IACjB,WAAW,EAAE,eAAe,CAAA;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,WAAW,CAAA;IACjB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAC1C,mBAAmB,EAAE,cAAc,EAAE,CAAA;CACtC;AAED,qBAAa,kBAAkB;IAKV,OAAO,EAAE,OAAO;IAJnC,eAAe,SAAI;IACnB,WAAW,UAAO;IAClB,OAAO,CAAC,QAAQ,CAAgC;gBAE7B,OAAO,EAAE,OAAO;IAEnC,OAAO,CAAC,IAAI;IAIZ,KAAK,IAAI,IAAI;IAIb,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAI7C,OAAO,CAAC,UAAU;IAyBlB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG;QAC1B,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,SAAS,CAAA;QAC1C,YAAY,EAAE,MAAM,CAAA;QACpB,WAAW,EAAE,eAAe,CAAA;KAC7B;IAuDD,WAAW,CACT,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,GAChC,IAAI;CAKR"}
1
+ {"version":3,"file":"markdown-file-reader.d.ts","sourceRoot":"","sources":["../../../../../src/docs-plugin/internal/services/markdown/markdown-file-reader.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAA;AAE7D,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,gBAAgB,CAAA;AAG7D,OAAO,KAAK,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAEjE,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,yBAAyB,GAC9B,WAAW,CAyBb;AAED,UAAU,SAAS;IACjB,WAAW,EAAE,eAAe,CAAA;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,WAAW,CAAA;IACjB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAC1C,mBAAmB,EAAE,cAAc,EAAE,CAAA;CACtC;AAED,qBAAa,kBAAkB;IAMpB,OAAO,EAAE,OAAO;IAChB,qBAAqB,EAAE,yBAAyB;IANzD,eAAe,SAAI;IACnB,WAAW,UAAO;IAClB,OAAO,CAAC,QAAQ,CAAgC;gBAGvC,OAAO,EAAE,OAAO,EAChB,qBAAqB,GAAE,yBAAiC;IAGjE,OAAO,CAAC,IAAI;IAIZ,KAAK,IAAI,IAAI;IAIb,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAI7C,OAAO,CAAC,UAAU;IAyBlB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG;QAC1B,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,SAAS,CAAA;QAC1C,YAAY,EAAE,MAAM,CAAA;QACpB,WAAW,EAAE,eAAe,CAAA;KAC7B;IAiED,WAAW,CACT,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,GAChC,IAAI;CAKR"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/docs-plugin/internal/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAI,KAAK,SAAS,EAAC,MAAM,KAAK,CAAA;AAMrC,eAAO,MAAM,SAAS,GACpB,OAAO,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,KAC3D,OAAyD,CAAA;AAE5D,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,CAAC,CAElE;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,CAAC,EAAE,CAcxC,CAAA;AAEJ;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/docs-plugin/internal/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAI,KAAK,SAAS,EAAC,MAAM,KAAK,CAAA;AAMrC,eAAO,MAAM,SAAS,GACpB,OAAO,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,KAC3D,OAAyD,CAAA;AAE5D,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,CAAC,CAElE;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,CAAC,EAAE,CAgBxC,CAAA;AAEJ;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD"}
@@ -1,6 +1,13 @@
1
1
  import type { PageFrontmatter, TocHeading } from "@qualcomm-ui/mdx-common";
2
2
  import type { QuiPropTypes } from "@qualcomm-ui/typedoc-common";
3
3
  export type RoutingStrategy = "vite-generouted" | ((filePath: string) => string[]);
4
+ /**
5
+ * Controls how page timestamp metadata is populated from git history.
6
+ * - "off": No timestamp data is added
7
+ * - "timestamp": Only `updatedOn` is populated
8
+ * - "user-and-timestamp": Both `updatedOn` and `updatedBy` are populated
9
+ */
10
+ export type PageTimestampMetadataMode = "off" | "timestamp" | "user-and-timestamp";
4
11
  /**
5
12
  * Side nav item data.
6
13
  */
@@ -117,6 +124,12 @@ export interface SearchIndexerOptions {
117
124
  * directory.
118
125
  */
119
126
  pageDirectory: string;
127
+ /**
128
+ * Controls how page timestamp metadata is populated from git history.
129
+ *
130
+ * @default "off"
131
+ */
132
+ pageTimestampMetadata?: PageTimestampMetadataMode;
120
133
  /**
121
134
  * Strategy to use for building each route's path segments. Omit this property if
122
135
  * you are using the default {@link https://github.com/kiliman/remix-flat-routes
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/docs-plugin/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/docs-plugin/types.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -82,6 +82,11 @@ var configSchema = implement().with({
82
82
  hotUpdateIgnore: z2.instanceof(RegExp).optional(),
83
83
  navConfig: z2.array(z2.union([routeMetaSchema, navMetaSchema])).optional(),
84
84
  pageDirectory: z2.string().optional(),
85
+ pageTimestampMetadata: z2.union([
86
+ z2.literal("off"),
87
+ z2.literal("timestamp"),
88
+ z2.literal("user-and-timestamp")
89
+ ]).optional(),
85
90
  routingStrategy: z2.union([
86
91
  z2.literal("vite-generouted"),
87
92
  z2.function(z2.tuple([z2.string()]), z2.array(z2.string()))
@@ -107,7 +112,9 @@ var frontmatterSchema = implement().with({
107
112
  id: z3.string().optional(),
108
113
  restricted: z3.boolean().optional(),
109
114
  sideNavTitle: z3.string().optional(),
110
- title: z3.string()
115
+ title: z3.string(),
116
+ updatedBy: z3.string().optional(),
117
+ updatedOn: z3.string().optional()
111
118
  });
112
119
  function fixPath(str) {
113
120
  return str.replaceAll("\\", "/");
@@ -383,6 +390,7 @@ var DocPropsIndexer = class {
383
390
 
384
391
  // src/docs-plugin/internal/services/markdown/markdown-file-reader.ts
385
392
  import chalk from "chalk";
393
+ import { execSync } from "node:child_process";
386
394
  import { createHash } from "node:crypto";
387
395
  import { readFileSync } from "node:fs";
388
396
  import remarkFrontmatter from "remark-frontmatter";
@@ -390,9 +398,32 @@ import remarkParse2 from "remark-parse";
390
398
  import remarkParseFrontmatter from "remark-parse-frontmatter";
391
399
  import remarkStringify2 from "remark-stringify";
392
400
  import { unified as unified2 } from "unified";
401
+ function getGitMetadata(filePath, mode) {
402
+ if (mode === "off") {
403
+ return {};
404
+ }
405
+ try {
406
+ const format = mode === "user-and-timestamp" ? "%cI%n%aN" : "%cI";
407
+ const result = execSync(`git log -1 --format=${format} -- "${filePath}"`, {
408
+ encoding: "utf-8",
409
+ stdio: ["pipe", "pipe", "pipe"]
410
+ }).trim();
411
+ if (!result) {
412
+ return {};
413
+ }
414
+ if (mode === "user-and-timestamp") {
415
+ const [updatedOn, updatedBy] = result.split("\n");
416
+ return { updatedBy, updatedOn };
417
+ }
418
+ return { updatedOn: result };
419
+ } catch {
420
+ return {};
421
+ }
422
+ }
393
423
  var MarkdownFileReader = class {
394
- constructor(enabled) {
424
+ constructor(enabled, pageTimestampMetadata = "off") {
395
425
  this.enabled = enabled;
426
+ this.pageTimestampMetadata = pageTimestampMetadata;
396
427
  }
397
428
  cachedFileCount = 0;
398
429
  logWarnings = true;
@@ -458,6 +489,15 @@ var MarkdownFileReader = class {
458
489
  console.debug(`- ${issue.path.join(".")}`);
459
490
  });
460
491
  }
492
+ if (!frontmatter.updatedOn || !frontmatter.updatedBy) {
493
+ const gitMetadata = getGitMetadata(filepath, this.pageTimestampMetadata);
494
+ if (!frontmatter.updatedOn && gitMetadata.updatedOn) {
495
+ frontmatter.updatedOn = gitMetadata.updatedOn;
496
+ }
497
+ if (!frontmatter.updatedBy && gitMetadata.updatedBy) {
498
+ frontmatter.updatedBy = gitMetadata.updatedBy;
499
+ }
500
+ }
461
501
  return { cached, fileContents, frontmatter };
462
502
  }
463
503
  updateCache(filepath, fileContents, cacheData) {
@@ -1414,7 +1454,8 @@ var SearchIndexer = class {
1414
1454
  this.navBuilder = addons.navBuilder || new NavBuilder(this.metaJson, this.routeMetaNav);
1415
1455
  this.docPropsIndexer = addons.docPropsIndexer || new DocPropsIndexer(this.config.typeDocProps ?? {});
1416
1456
  this.fileCache = addons.fileCache || new MarkdownFileReader(
1417
- process.env.NODE_ENV === "development" && !this.config.disableCache
1457
+ process.env.NODE_ENV === "development" && !this.config.disableCache,
1458
+ this.config.pageTimestampMetadata
1418
1459
  );
1419
1460
  }
1420
1461
  docPropsIndexer;
@@ -1483,7 +1524,9 @@ var SearchIndexer = class {
1483
1524
  pathname,
1484
1525
  pathSegments,
1485
1526
  restricted: defined(routeMeta.restricted) ? routeMeta.restricted : frontmatter.restricted,
1486
- title: defined(routeMeta.title) ? routeMeta.title || "" : frontmatter.title || ""
1527
+ title: defined(routeMeta.title) ? routeMeta.title || "" : frontmatter.title || "",
1528
+ updatedBy: frontmatter.updatedBy,
1529
+ updatedOn: frontmatter.updatedOn
1487
1530
  };
1488
1531
  }
1489
1532
  /**