@justanarthur/payload-www 0.3.2 → 0.3.4

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.
@@ -26,6 +26,11 @@ function getImageUrl(doc, siteUrl) {
26
26
  return img.url.startsWith("http") ? img.url : `${siteUrl}${img.url}`;
27
27
  return null;
28
28
  }
29
+ function getImageUrlWithLog(doc, siteUrl) {
30
+ const result = getImageUrl(doc, siteUrl);
31
+ console.log("[WWW] render/metadata:jsonld:getImageUrl ->", result);
32
+ return result;
33
+ }
29
34
  function resolveLocalizedField(value, locale) {
30
35
  if (value == null)
31
36
  return "";
@@ -47,6 +52,13 @@ function resolveLocalizedField(value, locale) {
47
52
  }
48
53
  return Object.values(obj).filter((v) => typeof v === "string" && v.length > 0).join(" / ");
49
54
  }
55
+ function resolveLocalizedFieldWithLog(value, locale) {
56
+ const result = resolveLocalizedField(value, locale);
57
+ if (value && typeof value === "object") {
58
+ console.log("[WWW] render/metadata:jsonld:resolveLocalizedField locale=", locale, "->", JSON.stringify(result));
59
+ }
60
+ return result;
61
+ }
50
62
  function buildArticleLd({
51
63
  doc,
52
64
  url,
@@ -57,12 +69,13 @@ function buildArticleLd({
57
69
  publisherLogo
58
70
  }) {
59
71
  const name = publisherName ?? new URL(siteUrl).hostname;
72
+ console.log("[WWW] render/metadata:buildArticleLd url=", url, "locale=", locale, "type=", type, "publisherName=", name);
60
73
  const ld = {
61
74
  "@context": "https://schema.org",
62
75
  "@type": type,
63
76
  "@id": `${url}#article`,
64
- headline: resolveLocalizedField(doc.title, locale),
65
- description: resolveLocalizedField(doc.meta?.description ?? doc.description ?? doc.excerpt, locale),
77
+ headline: resolveLocalizedFieldWithLog(doc.title, locale),
78
+ description: resolveLocalizedFieldWithLog(doc.meta?.description ?? doc.description ?? doc.excerpt, locale),
66
79
  inLanguage: locale,
67
80
  url,
68
81
  dateModified: doc.updatedAt ? new Date(doc.updatedAt).toISOString() : undefined
@@ -70,7 +83,7 @@ function buildArticleLd({
70
83
  const datePublished = doc.publishedAt ?? doc.createdAt;
71
84
  if (datePublished)
72
85
  ld.datePublished = new Date(datePublished).toISOString();
73
- const imgUrl = getImageUrl(doc, siteUrl);
86
+ const imgUrl = getImageUrlWithLog(doc, siteUrl);
74
87
  if (imgUrl)
75
88
  ld.image = imgUrl;
76
89
  ld.author = { "@type": "Organization", name, url: siteUrl };
@@ -86,6 +99,7 @@ function buildBreadcrumbsLd({
86
99
  items,
87
100
  currentUrl
88
101
  }) {
102
+ console.log("[WWW] render/metadata:buildBreadcrumbsLd items=", items.length, "currentUrl=", currentUrl);
89
103
  return {
90
104
  "@context": "https://schema.org",
91
105
  "@type": "BreadcrumbList",
@@ -103,6 +117,7 @@ function buildOrganizationLd({
103
117
  logo,
104
118
  sameAs
105
119
  }) {
120
+ console.log("[WWW] render/metadata:buildOrganizationLd siteUrl=", siteUrl, "name=", name, "logo?", Boolean(logo), "sameAs?", Boolean(sameAs));
106
121
  const org = {
107
122
  "@context": "https://schema.org",
108
123
  "@type": "Organization",
@@ -129,6 +144,7 @@ async function buildHreflangAlternates({
129
144
  localePrefix = "always"
130
145
  }) {
131
146
  const allLocaleSlugs = await queryAllLocaleSlugs(storedSlug, locale);
147
+ console.log("[WWW] render/metadata:buildHreflangAlternates storedSlug=", storedSlug, "locale=", locale, "allLocaleSlugs=", JSON.stringify(allLocaleSlugs));
132
148
  const languages = {};
133
149
  const urlFor = (l, slug) => {
134
150
  const trimmedPrefix = urlPrefix.replace(/^\/|\/$/g, "");
@@ -146,29 +162,36 @@ async function buildHreflangAlternates({
146
162
  if (allLocaleSlugs?.[defaultLocale]) {
147
163
  languages["x-default"] = urlFor(defaultLocale, allLocaleSlugs[defaultLocale]);
148
164
  }
165
+ console.log("[WWW] render/metadata:buildHreflangAlternates ->", JSON.stringify(languages));
149
166
  return languages;
150
167
  }
151
168
 
152
169
  // src/render/metadata/slug.ts
153
170
  var SLUG_NESTED_DIVIDER = "_";
154
171
  function segmentsToStoredSlug(segments, nested) {
155
- if (!Array.isArray(segments))
172
+ if (!Array.isArray(segments)) {
173
+ console.log("[WWW] render/metadata:segmentsToStoredSlug string passthrough:", JSON.stringify(segments));
156
174
  return segments;
157
- if (nested)
158
- return segments.join(SLUG_NESTED_DIVIDER);
159
- return segments[0] ?? "";
175
+ }
176
+ const result = nested ? segments.join(SLUG_NESTED_DIVIDER) : segments[0] ?? "";
177
+ console.log("[WWW] render/metadata:segmentsToStoredSlug nested=", nested, "segments=", JSON.stringify(segments), "->", result);
178
+ return result;
160
179
  }
161
180
  function segmentsToUrlPath(segments, nested) {
181
+ let result;
162
182
  if (!Array.isArray(segments))
163
- return "/" + segments;
164
- if (nested)
165
- return "/" + segments.join("/");
166
- return "/" + (segments[0] ?? "");
183
+ result = "/" + segments;
184
+ else if (nested)
185
+ result = "/" + segments.join("/");
186
+ else
187
+ result = "/" + (segments[0] ?? "");
188
+ console.log("[WWW] render/metadata:segmentsToUrlPath nested=", nested, "segments=", JSON.stringify(segments), "->", result);
189
+ return result;
167
190
  }
168
191
  function storedSlugToSegments(storedSlug, nested) {
169
- if (nested)
170
- return storedSlug.split(SLUG_NESTED_DIVIDER);
171
- return storedSlug;
192
+ const result = nested ? storedSlug.split(SLUG_NESTED_DIVIDER) : storedSlug;
193
+ console.log("[WWW] render/metadata:storedSlugToSegments nested=", nested, "storedSlug=", storedSlug, "->", JSON.stringify(result));
194
+ return result;
172
195
  }
173
196
  function buildCanonicalUrl({
174
197
  siteUrl,
@@ -178,7 +201,9 @@ function buildCanonicalUrl({
178
201
  }) {
179
202
  const trimmedPrefix = urlPrefix.replace(/^\/|\/$/g, "");
180
203
  const prefixSegment = trimmedPrefix ? `/${trimmedPrefix}` : "";
181
- return `${siteUrl}/${locale}${prefixSegment}${urlPath}`;
204
+ const result = `${siteUrl}/${locale}${prefixSegment}${urlPath}`;
205
+ console.log("[WWW] render/metadata:buildCanonicalUrl siteUrl=", siteUrl, "locale=", locale, "urlPrefix=", urlPrefix, "urlPath=", urlPath, "->", result);
206
+ return result;
182
207
  }
183
208
  function getUrlPath(segments, nested, homeSlug) {
184
209
  const urlPath = segmentsToUrlPath(segments, nested);
@@ -199,7 +224,10 @@ import { cache } from "react";
199
224
 
200
225
  // src/core/utils/getFromImportMap.ts
201
226
  function getFromImportMap(key, importMap) {
202
- return importMap[key.includes("#") ? key : key + "#default"];
227
+ const resolvedKey = key.includes("#") ? key : key + "#default";
228
+ const value = importMap[resolvedKey];
229
+ console.log("[WWW] core/utils:getFromImportMap key=", key, "resolved=", resolvedKey, "hit=", Boolean(value));
230
+ return value;
203
231
  }
204
232
 
205
233
  // src/render/metadata/query.ts
@@ -211,6 +239,7 @@ var queryDocBySlug = cache(async function queryDocBySlug2({
211
239
  draft = false,
212
240
  config
213
241
  }) {
242
+ console.log("[WWW] render/metadata:queryDocBySlug collection=", collectionSlug, "slug=", slug, "slugField=", slugField, "locale=", locale, "draft=", draft);
214
243
  const payload = await getPayload({ config });
215
244
  const result = await payload.find({
216
245
  collection: collectionSlug,
@@ -221,7 +250,9 @@ var queryDocBySlug = cache(async function queryDocBySlug2({
221
250
  where: { [slugField]: { equals: slug } },
222
251
  locale
223
252
  });
224
- return result.docs?.[0] ?? null;
253
+ const doc = result.docs?.[0] ?? null;
254
+ console.log("[WWW] render/metadata:queryDocBySlug ->", doc ? "hit" : "miss");
255
+ return doc;
225
256
  });
226
257
  var queryAllDocs = cache(async function queryAllDocs2({
227
258
  collectionSlug,
@@ -229,6 +260,7 @@ var queryAllDocs = cache(async function queryAllDocs2({
229
260
  locale,
230
261
  config
231
262
  }) {
263
+ console.log("[WWW] render/metadata:queryAllDocs collection=", collectionSlug, "locale=", locale);
232
264
  const payload = await getPayload({ config });
233
265
  const result = await payload.find({
234
266
  collection: collectionSlug,
@@ -239,7 +271,9 @@ var queryAllDocs = cache(async function queryAllDocs2({
239
271
  select: { [slugField]: true },
240
272
  locale
241
273
  });
242
- return result.docs ?? [];
274
+ const docs = result.docs ?? [];
275
+ console.log("[WWW] render/metadata:queryAllDocs -> count=", docs.length);
276
+ return docs;
243
277
  });
244
278
  var queryAllLocaleSlugs = cache(async function queryAllLocaleSlugs2({
245
279
  collectionSlug,
@@ -248,6 +282,7 @@ var queryAllLocaleSlugs = cache(async function queryAllLocaleSlugs2({
248
282
  locale,
249
283
  config
250
284
  }) {
285
+ console.log("[WWW] render/metadata:queryAllLocaleSlugs collection=", collectionSlug, "slug=", slug, "locale=", locale);
251
286
  const payload = await getPayload({ config });
252
287
  const result = await payload.find({
253
288
  collection: collectionSlug,
@@ -260,8 +295,10 @@ var queryAllLocaleSlugs = cache(async function queryAllLocaleSlugs2({
260
295
  select: { [slugField]: true }
261
296
  });
262
297
  const doc = result.docs?.[0];
263
- if (!doc)
298
+ if (!doc) {
299
+ console.log("[WWW] render/metadata:queryAllLocaleSlugs -> undefined (no doc)");
264
300
  return;
301
+ }
265
302
  let fieldValue = doc[slugField];
266
303
  if (doc.id != null) {
267
304
  const allLocales = await payload.findByID({
@@ -276,6 +313,7 @@ var queryAllLocaleSlugs = cache(async function queryAllLocaleSlugs2({
276
313
  fieldValue = allLocales[slugField];
277
314
  }
278
315
  if (fieldValue && typeof fieldValue === "object") {
316
+ console.log("[WWW] render/metadata:queryAllLocaleSlugs -> localized map=", JSON.stringify(fieldValue));
279
317
  return fieldValue;
280
318
  }
281
319
  const resolved = await config;
@@ -283,6 +321,7 @@ var queryAllLocaleSlugs = cache(async function queryAllLocaleSlugs2({
283
321
  const out = {};
284
322
  for (const l of rawLocales)
285
323
  out[l] = String(fieldValue ?? slug);
324
+ console.log("[WWW] render/metadata:queryAllLocaleSlugs -> flat-fanout locales=", rawLocales.length, "slug=", JSON.stringify(fieldValue ?? slug));
286
325
  return out;
287
326
  });
288
327
  var queryGlobal = cache(async function queryGlobal2({
@@ -292,6 +331,7 @@ var queryGlobal = cache(async function queryGlobal2({
292
331
  draft = false,
293
332
  config
294
333
  }) {
334
+ console.log("[WWW] render/metadata:queryGlobal global=", globalSlug, "locale=", locale, "depth=", depth, "draft=", draft);
295
335
  const payload = await getPayload({ config });
296
336
  try {
297
337
  const global = await payload.findGlobal({
@@ -300,17 +340,23 @@ var queryGlobal = cache(async function queryGlobal2({
300
340
  draft,
301
341
  locale
302
342
  });
343
+ console.log("[WWW] render/metadata:queryGlobal -> hit");
303
344
  return global;
304
- } catch {
345
+ } catch (error) {
346
+ console.warn("[WWW] render/metadata:queryGlobal failed for slug=", globalSlug, "err=", String(error));
305
347
  return null;
306
348
  }
307
349
  });
308
350
  function getRenderModuleExports(exportName, collection, importMap) {
309
351
  const path = collection?.custom?.path;
310
- if (!path)
352
+ if (!path) {
353
+ console.log("[WWW] render/metadata:getRenderModuleExports no custom.path exportName=", exportName);
311
354
  return;
355
+ }
312
356
  const mod = getFromImportMap(path, importMap);
313
- return mod?.[exportName];
357
+ const value = mod?.[exportName];
358
+ console.log("[WWW] render/metadata:getRenderModuleExports exportName=", exportName, "path=", path, "hit=", Boolean(value));
359
+ return value;
314
360
  }
315
361
 
316
362
  // src/exports/render-metadata.ts