@actuate-media/cms-core 0.77.2 → 0.77.3

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.
Files changed (79) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/__tests__/api/appearance-routes.test.js +1 -1
  3. package/dist/__tests__/api/appearance-routes.test.js.map +1 -1
  4. package/dist/__tests__/api/route-contracts.test.js +2 -0
  5. package/dist/__tests__/api/route-contracts.test.js.map +1 -1
  6. package/dist/__tests__/appearance/appearance.test.js +5 -4
  7. package/dist/__tests__/appearance/appearance.test.js.map +1 -1
  8. package/dist/__tests__/appearance/favicon-icon.test.d.ts +2 -0
  9. package/dist/__tests__/appearance/favicon-icon.test.d.ts.map +1 -0
  10. package/dist/__tests__/appearance/favicon-icon.test.js +12 -0
  11. package/dist/__tests__/appearance/favicon-icon.test.js.map +1 -0
  12. package/dist/__tests__/cron/cron.test.js +1 -3
  13. package/dist/__tests__/cron/cron.test.js.map +1 -1
  14. package/dist/__tests__/seo/audit-engine.test.js +14 -0
  15. package/dist/__tests__/seo/audit-engine.test.js.map +1 -1
  16. package/dist/__tests__/seo/audit-runner.test.js +70 -1
  17. package/dist/__tests__/seo/audit-runner.test.js.map +1 -1
  18. package/dist/__tests__/seo/migrate-schema.test.d.ts +2 -0
  19. package/dist/__tests__/seo/migrate-schema.test.d.ts.map +1 -0
  20. package/dist/__tests__/seo/migrate-schema.test.js +97 -0
  21. package/dist/__tests__/seo/migrate-schema.test.js.map +1 -0
  22. package/dist/__tests__/seo/schema-sync.test.d.ts +2 -0
  23. package/dist/__tests__/seo/schema-sync.test.d.ts.map +1 -0
  24. package/dist/__tests__/seo/schema-sync.test.js +59 -0
  25. package/dist/__tests__/seo/schema-sync.test.js.map +1 -0
  26. package/dist/actions.d.ts.map +1 -1
  27. package/dist/actions.js +70 -9
  28. package/dist/actions.js.map +1 -1
  29. package/dist/api/route-helpers.d.ts.map +1 -1
  30. package/dist/api/route-helpers.js +3 -2
  31. package/dist/api/route-helpers.js.map +1 -1
  32. package/dist/api/routes/globals.d.ts.map +1 -1
  33. package/dist/api/routes/globals.js +24 -0
  34. package/dist/api/routes/globals.js.map +1 -1
  35. package/dist/api/routes/seo.d.ts.map +1 -1
  36. package/dist/api/routes/seo.js +5 -0
  37. package/dist/api/routes/seo.js.map +1 -1
  38. package/dist/appearance/favicon-icon.d.ts +12 -0
  39. package/dist/appearance/favicon-icon.d.ts.map +1 -0
  40. package/dist/appearance/favicon-icon.js +65 -0
  41. package/dist/appearance/favicon-icon.js.map +1 -0
  42. package/dist/appearance/favicon-paths.d.ts +6 -0
  43. package/dist/appearance/favicon-paths.d.ts.map +1 -0
  44. package/dist/appearance/favicon-paths.js +6 -0
  45. package/dist/appearance/favicon-paths.js.map +1 -0
  46. package/dist/appearance/index.d.ts +2 -0
  47. package/dist/appearance/index.d.ts.map +1 -1
  48. package/dist/appearance/index.js +2 -0
  49. package/dist/appearance/index.js.map +1 -1
  50. package/dist/appearance/resolve.d.ts.map +1 -1
  51. package/dist/appearance/resolve.js +9 -2
  52. package/dist/appearance/resolve.js.map +1 -1
  53. package/dist/cron/index.d.ts.map +1 -1
  54. package/dist/cron/index.js +0 -4
  55. package/dist/cron/index.js.map +1 -1
  56. package/dist/index.d.ts +4 -1
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +3 -1
  59. package/dist/index.js.map +1 -1
  60. package/dist/seo/audit-runner.d.ts.map +1 -1
  61. package/dist/seo/audit-runner.js +26 -3
  62. package/dist/seo/audit-runner.js.map +1 -1
  63. package/dist/seo/index.d.ts +5 -1
  64. package/dist/seo/index.d.ts.map +1 -1
  65. package/dist/seo/index.js +3 -1
  66. package/dist/seo/index.js.map +1 -1
  67. package/dist/seo/migrate-schema.d.ts +28 -0
  68. package/dist/seo/migrate-schema.d.ts.map +1 -0
  69. package/dist/seo/migrate-schema.js +119 -0
  70. package/dist/seo/migrate-schema.js.map +1 -0
  71. package/dist/seo/page-meta.d.ts +11 -0
  72. package/dist/seo/page-meta.d.ts.map +1 -1
  73. package/dist/seo/page-meta.js +18 -1
  74. package/dist/seo/page-meta.js.map +1 -1
  75. package/dist/seo/schema-sync.d.ts +62 -0
  76. package/dist/seo/schema-sync.d.ts.map +1 -0
  77. package/dist/seo/schema-sync.js +139 -0
  78. package/dist/seo/schema-sync.js.map +1 -0
  79. package/package.json +1 -1
@@ -0,0 +1,119 @@
1
+ import { updateDocumentSeoFields } from '../actions.js';
2
+ import { getActuateConfig } from '../config/runtime.js';
3
+ import { isPublicContentCollection, prepareContentStructuredData } from './schema-sync.js';
4
+ import { frontEndContentCollectionTypes } from './audit-runner.js';
5
+ function isPlainObject(v) {
6
+ return !!v && typeof v === 'object' && !Array.isArray(v);
7
+ }
8
+ function pickString(...candidates) {
9
+ for (const c of candidates) {
10
+ if (typeof c === 'string' && c.trim().length > 0)
11
+ return c.trim();
12
+ }
13
+ return undefined;
14
+ }
15
+ function hasJsonLdColumn(structured) {
16
+ return !!structured && Object.keys(structured).length > 0;
17
+ }
18
+ function needsMigration(status, data, structured) {
19
+ const hasType = pickString(data.structuredDataType, data.schemaType);
20
+ if (!hasType)
21
+ return true;
22
+ if (status === 'PUBLISHED' && !hasJsonLdColumn(structured))
23
+ return true;
24
+ return false;
25
+ }
26
+ /**
27
+ * Backfill schema type fields (and published JSON-LD) for content documents.
28
+ */
29
+ export async function migrateStructuredDataFields(ctx, options = {}) {
30
+ const dryRun = options.dryRun ?? false;
31
+ const batchSize = options.batchSize && options.batchSize > 0 ? options.batchSize : 100;
32
+ const config = getActuateConfig();
33
+ const defaultCollections = Object.keys(frontEndContentCollectionTypes(config));
34
+ const targetCollections = options.collections && options.collections.length > 0 ? options.collections : defaultCollections;
35
+ const result = {
36
+ scanned: 0,
37
+ migrated: 0,
38
+ skipped: 0,
39
+ migratedIds: [],
40
+ };
41
+ if (targetCollections.length === 0) {
42
+ return result;
43
+ }
44
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Prisma client is intentionally untyped at the core/config boundary.
45
+ const db = ctx.db;
46
+ let cursor;
47
+ for (;;) {
48
+ const batch = await db.document.findMany({
49
+ where: {
50
+ deletedAt: null,
51
+ collection: { in: targetCollections },
52
+ },
53
+ orderBy: { id: 'asc' },
54
+ take: batchSize,
55
+ ...(cursor ? { skip: 1, cursor: { id: cursor } } : {}),
56
+ select: {
57
+ id: true,
58
+ collection: true,
59
+ slug: true,
60
+ status: true,
61
+ data: true,
62
+ structuredData: true,
63
+ publishedAt: true,
64
+ updatedAt: true,
65
+ },
66
+ });
67
+ if (batch.length === 0)
68
+ break;
69
+ cursor = batch[batch.length - 1].id;
70
+ for (const doc of batch) {
71
+ result.scanned++;
72
+ const data = isPlainObject(doc.data) ? doc.data : null;
73
+ if (!data) {
74
+ result.skipped++;
75
+ continue;
76
+ }
77
+ const collectionDef = config?.collections?.[doc.collection] ?? null;
78
+ if (!isPublicContentCollection(collectionDef)) {
79
+ result.skipped++;
80
+ continue;
81
+ }
82
+ const structured = isPlainObject(doc.structuredData) ? doc.structuredData : null;
83
+ if (!needsMigration(doc.status, data, structured)) {
84
+ result.skipped++;
85
+ continue;
86
+ }
87
+ const prep = prepareContentStructuredData(doc.collection, data, {
88
+ collectionDef,
89
+ config,
90
+ existingStructuredData: structured,
91
+ publishing: doc.status === 'PUBLISHED',
92
+ doc: {
93
+ id: doc.id,
94
+ slug: doc.slug,
95
+ publishedAt: doc.publishedAt,
96
+ updatedAt: doc.updatedAt,
97
+ },
98
+ });
99
+ if (!dryRun) {
100
+ await updateDocumentSeoFields(doc.collection, doc.id, {
101
+ structuredDataType: prep.data.structuredDataType,
102
+ schemaType: prep.data.schemaType,
103
+ }, ctx);
104
+ if (doc.status === 'PUBLISHED' && prep.structuredData && !hasJsonLdColumn(structured)) {
105
+ await db.document.update({
106
+ where: { id: doc.id },
107
+ data: { structuredData: prep.structuredData },
108
+ });
109
+ }
110
+ }
111
+ result.migrated++;
112
+ result.migratedIds.push(doc.id);
113
+ }
114
+ if (batch.length < batchSize)
115
+ break;
116
+ }
117
+ return result;
118
+ }
119
+ //# sourceMappingURL=migrate-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-schema.js","sourceRoot":"","sources":["../../src/seo/migrate-schema.ts"],"names":[],"mappings":"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"}
@@ -105,6 +105,17 @@ export declare function resolveDocumentUrl(params: {
105
105
  slug?: string | null;
106
106
  data?: Record<string, unknown> | null;
107
107
  }): string;
108
+ /**
109
+ * Resolve the canonical URL a document will emit — explicit override or auto
110
+ * from {@link resolveDocumentUrl}. Matches the fallback used in
111
+ * `composePageMeta()` so audits and render stay aligned.
112
+ */
113
+ export declare function resolveEffectiveCanonicalUrl(params: {
114
+ data?: Record<string, unknown> | null;
115
+ siteUrl?: string;
116
+ urlPrefix?: string | null;
117
+ slug?: string | null;
118
+ }): string;
108
119
  /**
109
120
  * Resolve the canonical freshness dates for a document so every public surface
110
121
  * (JSON-LD, Open Graph, etc.) reports the same recency. `datePublished` prefers
@@ -1 +1 @@
1
- {"version":3,"file":"page-meta.d.ts","sourceRoot":"","sources":["../../src/seo/page-meta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAiB,MAAM,oBAAoB,CAAA;AAe/F;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACrC,WAAW,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAA;IAClC,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAA;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAC9C;AAED,MAAM,WAAW,oBAAoB;IACnC,kEAAkE;IAClE,GAAG,EAAE,oBAAoB,CAAA;IACzB,kFAAkF;IAClF,UAAU,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAA;IACxC,6FAA6F;IAC7F,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,CAAA;IACtD;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACvD;AAED,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAA;IACjB,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACtC,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAA;IAClB,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAA;IAChB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAA;CACjB;AA0CD,iBAAS,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAQxD;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CACtC,GAAG,MAAM,CAYT;AAgDD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,GAAG,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CACtC,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAiBpD;AA8ND;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,gBAAgB,CA4K7E;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"page-meta.d.ts","sourceRoot":"","sources":["../../src/seo/page-meta.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,23 @@ export function resolveDocumentUrl(params) {
82
82
  const prefix = (params.urlPrefix ?? '').replace(/^\/|\/$/g, '');
83
83
  return prefix ? `${base}/${prefix}/${slug}` : `${base}/${slug}`;
84
84
  }
85
+ /**
86
+ * Resolve the canonical URL a document will emit — explicit override or auto
87
+ * from {@link resolveDocumentUrl}. Matches the fallback used in
88
+ * `composePageMeta()` so audits and render stay aligned.
89
+ */
90
+ export function resolveEffectiveCanonicalUrl(params) {
91
+ const data = params.data ?? {};
92
+ const explicit = pickString(data.canonical, data.canonicalUrl);
93
+ if (explicit)
94
+ return explicit;
95
+ return resolveDocumentUrl({
96
+ siteUrl: params.siteUrl ?? '',
97
+ urlPrefix: params.urlPrefix,
98
+ slug: params.slug,
99
+ data,
100
+ });
101
+ }
85
102
  function pickString(...candidates) {
86
103
  for (const c of candidates) {
87
104
  if (typeof c === 'string' && c.trim().length > 0)
@@ -360,7 +377,7 @@ export function composePageMeta(input) {
360
377
  slug,
361
378
  data,
362
379
  });
363
- const schemaType = pickString(page.schemaType, data.schemaType, collectionSeo?.defaultSchemaType) ??
380
+ const schemaType = pickString(page.schemaType, data.schemaType, data.structuredDataType, page.structuredDataType, collectionSeo?.defaultSchemaType) ??
364
381
  input.defaultSchemaType ??
365
382
  (collection?.slug ? detectSchemaType(collection.slug) : 'WebPage');
366
383
  // Title: an explicit per-document SEO title always wins. Otherwise apply the
@@ -1 +1 @@
1
- {"version":3,"file":"page-meta.js","sourceRoot":"","sources":["../../src/seo/page-meta.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-meta.js","sourceRoot":"","sources":["../../src/seo/page-meta.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Structured-data defaults for content documents.
3
+ *
4
+ * Public pages already emit JSON-LD via `composePageMeta()` at render time, but
5
+ * the SEO audit and Content SEO list read persisted `structuredDataType` on the
6
+ * document. This module keeps those in sync with the same resolution order the
7
+ * page build / `/resolve` path uses.
8
+ */
9
+ import type { ActuateCMSConfig, CollectionDefinition } from '../config/types.js';
10
+ /** True when the collection renders a public page or post. */
11
+ export declare function isPublicContentCollection(collectionDef: CollectionDefinition | null | undefined): boolean;
12
+ /**
13
+ * Resolve the Schema.org type a document will emit — same precedence as
14
+ * `composePageMeta()`.
15
+ */
16
+ export declare function resolveEffectiveSchemaType(params: {
17
+ collection: string;
18
+ data?: Record<string, unknown> | null;
19
+ structuredData?: Record<string, unknown> | null;
20
+ collectionDef?: CollectionDefinition | null;
21
+ }): string;
22
+ /** Keep `structuredDataType` and `schemaType` in sync when either is set. */
23
+ export declare function syncSchemaTypeFields(fields: Record<string, unknown>): Record<string, unknown>;
24
+ /** Stamp `structuredDataType` / `schemaType` on document data when unset. */
25
+ export declare function applyStructuredDataFieldsToData(collection: string, data: Record<string, unknown>, collectionDef?: CollectionDefinition | null, structuredData?: Record<string, unknown> | null): Record<string, unknown>;
26
+ /**
27
+ * Compose JSON-LD for a published document when the `structuredData` column is
28
+ * empty. Respects explicit overrides already stored on the column.
29
+ */
30
+ export declare function composeStructuredDataForPublish(params: {
31
+ collection: string;
32
+ doc: {
33
+ id: string;
34
+ slug?: string | null;
35
+ data: Record<string, unknown>;
36
+ publishedAt?: Date | string | null;
37
+ updatedAt?: Date | string | null;
38
+ structuredData?: Record<string, unknown> | null;
39
+ };
40
+ config: Pick<ActuateCMSConfig, 'seo' | 'i18n' | 'collections'> | null | undefined;
41
+ }): Record<string, unknown> | null;
42
+ export interface ContentStructuredDataPrep {
43
+ data: Record<string, unknown>;
44
+ structuredData?: Record<string, unknown> | null;
45
+ }
46
+ /**
47
+ * Apply structured-data defaults on content document writes. When publishing,
48
+ * also materialize JSON-LD on the document column for audits/API consumers.
49
+ */
50
+ export declare function prepareContentStructuredData(collection: string, data: Record<string, unknown>, options?: {
51
+ collectionDef?: CollectionDefinition | null;
52
+ config?: Pick<ActuateCMSConfig, 'seo' | 'i18n' | 'collections'> | null;
53
+ existingStructuredData?: Record<string, unknown> | null;
54
+ doc?: {
55
+ id: string;
56
+ slug?: string | null;
57
+ publishedAt?: Date | string | null;
58
+ updatedAt?: Date | string | null;
59
+ };
60
+ publishing?: boolean;
61
+ }): ContentStructuredDataPrep;
62
+ //# sourceMappingURL=schema-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-sync.d.ts","sourceRoot":"","sources":["../../src/seo/schema-sync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Structured-data defaults for content documents.
3
+ *
4
+ * Public pages already emit JSON-LD via `composePageMeta()` at render time, but
5
+ * the SEO audit and Content SEO list read persisted `structuredDataType` on the
6
+ * document. This module keeps those in sync with the same resolution order the
7
+ * page build / `/resolve` path uses.
8
+ */
9
+ import { composePageMeta, detectSchemaType } from './page-meta.js';
10
+ function pickString(...candidates) {
11
+ for (const c of candidates) {
12
+ if (typeof c === 'string' && c.trim().length > 0)
13
+ return c.trim();
14
+ }
15
+ return undefined;
16
+ }
17
+ function asRecord(v) {
18
+ return v && typeof v === 'object' && !Array.isArray(v) ? v : null;
19
+ }
20
+ /** Extract a primary Schema.org type from stored JSON-LD. */
21
+ function schemaTypeFromStructuredData(structured) {
22
+ if (!structured)
23
+ return undefined;
24
+ const direct = structured['@type'];
25
+ if (typeof direct === 'string' && direct.trim())
26
+ return direct.trim();
27
+ const graph = structured['@graph'];
28
+ if (!Array.isArray(graph))
29
+ return undefined;
30
+ const skip = new Set(['WebSite', 'Organization', 'BreadcrumbList', 'ImageObject']);
31
+ for (const node of graph) {
32
+ const rec = asRecord(node);
33
+ const type = rec?.['@type'];
34
+ if (typeof type === 'string' && !skip.has(type))
35
+ return type;
36
+ if (Array.isArray(type)) {
37
+ const primary = type.find((t) => typeof t === 'string' && !skip.has(t));
38
+ if (typeof primary === 'string')
39
+ return primary;
40
+ }
41
+ }
42
+ return undefined;
43
+ }
44
+ function pageSettingsFromData(data) {
45
+ const ps = data._pageSettings ?? data.pageSettings;
46
+ return asRecord(ps) ?? undefined;
47
+ }
48
+ /** True when the collection renders a public page or post. */
49
+ export function isPublicContentCollection(collectionDef) {
50
+ return collectionDef?.type === 'page' || collectionDef?.type === 'post';
51
+ }
52
+ /**
53
+ * Resolve the Schema.org type a document will emit — same precedence as
54
+ * `composePageMeta()`.
55
+ */
56
+ export function resolveEffectiveSchemaType(params) {
57
+ const data = params.data ?? {};
58
+ const pageSettings = pageSettingsFromData(data);
59
+ const fromColumn = schemaTypeFromStructuredData(asRecord(params.structuredData));
60
+ if (fromColumn)
61
+ return fromColumn;
62
+ return (pickString(data.structuredDataType, data.schemaType, pageSettings?.schemaType, pageSettings?.structuredDataType, params.collectionDef?.seo?.defaultSchemaType) ?? detectSchemaType(params.collection));
63
+ }
64
+ /** Keep `structuredDataType` and `schemaType` in sync when either is set. */
65
+ export function syncSchemaTypeFields(fields) {
66
+ const type = pickString(fields.structuredDataType, fields.schemaType);
67
+ if (!type)
68
+ return fields;
69
+ return { ...fields, structuredDataType: type, schemaType: type };
70
+ }
71
+ /** Stamp `structuredDataType` / `schemaType` on document data when unset. */
72
+ export function applyStructuredDataFieldsToData(collection, data, collectionDef, structuredData) {
73
+ const effective = resolveEffectiveSchemaType({
74
+ collection,
75
+ data,
76
+ structuredData,
77
+ collectionDef,
78
+ });
79
+ const next = { ...data };
80
+ if (!pickString(data.structuredDataType))
81
+ next.structuredDataType = effective;
82
+ if (!pickString(data.schemaType))
83
+ next.schemaType = effective;
84
+ return next;
85
+ }
86
+ /**
87
+ * Compose JSON-LD for a published document when the `structuredData` column is
88
+ * empty. Respects explicit overrides already stored on the column.
89
+ */
90
+ export function composeStructuredDataForPublish(params) {
91
+ const existing = asRecord(params.doc.structuredData);
92
+ if (existing && Object.keys(existing).length > 0)
93
+ return existing;
94
+ const collectionDef = params.config?.collections?.[params.collection] ?? null;
95
+ const pageSettings = pageSettingsFromData(params.doc.data);
96
+ const composed = composePageMeta({
97
+ doc: {
98
+ id: params.doc.id,
99
+ collection: params.collection,
100
+ slug: params.doc.slug,
101
+ data: params.doc.data,
102
+ publishedAt: params.doc.publishedAt,
103
+ updatedAt: params.doc.updatedAt,
104
+ structuredData: null,
105
+ pageSettings: pageSettings ?? null,
106
+ },
107
+ collection: collectionDef,
108
+ config: params.config,
109
+ });
110
+ return composed.jsonLd ?? null;
111
+ }
112
+ /**
113
+ * Apply structured-data defaults on content document writes. When publishing,
114
+ * also materialize JSON-LD on the document column for audits/API consumers.
115
+ */
116
+ export function prepareContentStructuredData(collection, data, options = {}) {
117
+ const { collectionDef, config, existingStructuredData, doc, publishing } = options;
118
+ if (!isPublicContentCollection(collectionDef)) {
119
+ return { data };
120
+ }
121
+ const nextData = applyStructuredDataFieldsToData(collection, data, collectionDef, existingStructuredData);
122
+ if (!publishing || !doc?.id) {
123
+ return { data: nextData };
124
+ }
125
+ const structuredData = composeStructuredDataForPublish({
126
+ collection,
127
+ doc: {
128
+ id: doc.id,
129
+ slug: doc.slug,
130
+ data: nextData,
131
+ publishedAt: doc.publishedAt,
132
+ updatedAt: doc.updatedAt,
133
+ structuredData: existingStructuredData,
134
+ },
135
+ config: config ?? null,
136
+ });
137
+ return structuredData ? { data: nextData, structuredData } : { data: nextData };
138
+ }
139
+ //# sourceMappingURL=schema-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-sync.js","sourceRoot":"","sources":["../../src/seo/schema-sync.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@actuate-media/cms-core",
3
- "version": "0.77.2",
3
+ "version": "0.77.3",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/actuate-media/actuatecms.git",