@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.
@@ -27,6 +27,7 @@ function LocaleSwitcher({
27
27
  labels
28
28
  }) {
29
29
  const locales = Object.keys(hreflangAlternates).filter((k) => k !== "x-default");
30
+ console.log("[WWW] render/components:LocaleSwitcher currentLocale=", currentLocale, "locales=", JSON.stringify(locales), "hasXDefault=", Boolean(hreflangAlternates["x-default"]));
30
31
  return /* @__PURE__ */ jsx("nav", {
31
32
  "aria-label": "Language",
32
33
  className: "locale-switcher",
@@ -73,11 +74,14 @@ function createPreviewHandler(options) {
73
74
  const url = new URL(req.url);
74
75
  const path = url.searchParams.get("path") ?? "/";
75
76
  const previewSecret = url.searchParams.get("previewSecret");
77
+ console.log("[WWW] render/preview:createPreviewHandler:GET path=", path, "hasSecret=", Boolean(previewSecret), "enableDraftMode=", enableDraftMode);
76
78
  if (!previewSecret || previewSecret !== secret) {
79
+ console.warn("[WWW] render/preview:createPreviewHandler:GET invalid preview secret (401)");
77
80
  return new Response("Invalid preview secret", { status: 401 });
78
81
  }
79
82
  if (enableDraftMode) {
80
83
  (await draftMode()).enable();
84
+ console.log("[WWW] render/preview:createPreviewHandler:GET draftMode enabled");
81
85
  }
82
86
  redirect(path);
83
87
  return new Response(null, { status: 204 });
@@ -86,30 +90,45 @@ function createPreviewHandler(options) {
86
90
 
87
91
  // src/render/_locale.ts
88
92
  function prefixFor(locale, defaultLocale, mode) {
93
+ let result;
89
94
  if (mode === "never")
90
- return "";
91
- if (mode === "as-needed" && locale === defaultLocale)
92
- return "";
93
- return `/${locale}`;
95
+ result = "";
96
+ else if (mode === "as-needed" && locale === defaultLocale)
97
+ result = "";
98
+ else
99
+ result = `/${locale}`;
100
+ console.log("[WWW] render/_locale:prefixFor locale=", locale, "default=", defaultLocale, "mode=", mode, "->", JSON.stringify(result));
101
+ return result;
94
102
  }
95
103
  function resolveLocale(req) {
96
- if (!req || typeof req !== "object")
104
+ if (!req || typeof req !== "object") {
105
+ console.log('[WWW] render/_locale:resolveLocale -> "" (no req)');
97
106
  return "";
107
+ }
98
108
  const r = req;
99
- if (typeof r.locale === "string" && r.locale.length > 0)
109
+ if (typeof r.locale === "string" && r.locale.length > 0) {
110
+ console.log("[WWW] render/_locale:resolveLocale ->", r.locale, "(from req.locale)");
100
111
  return r.locale;
112
+ }
101
113
  const fallback = r.payload?.config?.localization?.defaultLocale;
102
- if (typeof fallback === "string" && fallback.length > 0)
114
+ if (typeof fallback === "string" && fallback.length > 0) {
115
+ console.log("[WWW] render/_locale:resolveLocale ->", fallback, "(from config.localization.defaultLocale)");
103
116
  return fallback;
117
+ }
118
+ console.log('[WWW] render/_locale:resolveLocale -> "" (no locale anywhere)');
104
119
  return "";
105
120
  }
106
121
  function allLocales(req) {
107
- if (!req || typeof req !== "object")
122
+ if (!req || typeof req !== "object") {
123
+ console.log("[WWW] render/_locale:allLocales -> [] (no req)");
108
124
  return [];
125
+ }
109
126
  const r = req;
110
127
  const list = r.payload?.config?.localization?.locales;
111
- if (!Array.isArray(list) || list.length === 0)
128
+ if (!Array.isArray(list) || list.length === 0) {
129
+ console.log("[WWW] render/_locale:allLocales -> [] (no locales declared)");
112
130
  return [];
131
+ }
113
132
  const out = [];
114
133
  for (const entry of list) {
115
134
  if (typeof entry === "string" && entry.length > 0) {
@@ -120,6 +139,7 @@ function allLocales(req) {
120
139
  out.push(code);
121
140
  }
122
141
  }
142
+ console.log("[WWW] render/_locale:allLocales ->", JSON.stringify(out));
123
143
  return out;
124
144
  }
125
145
 
@@ -137,6 +157,7 @@ async function buildHreflangAlternates({
137
157
  localePrefix = "always"
138
158
  }) {
139
159
  const allLocaleSlugs = await queryAllLocaleSlugs(storedSlug, locale);
160
+ console.log("[WWW] render/metadata:buildHreflangAlternates storedSlug=", storedSlug, "locale=", locale, "allLocaleSlugs=", JSON.stringify(allLocaleSlugs));
140
161
  const languages = {};
141
162
  const urlFor = (l, slug) => {
142
163
  const trimmedPrefix = urlPrefix.replace(/^\/|\/$/g, "");
@@ -154,6 +175,7 @@ async function buildHreflangAlternates({
154
175
  if (allLocaleSlugs?.[defaultLocale]) {
155
176
  languages["x-default"] = urlFor(defaultLocale, allLocaleSlugs[defaultLocale]);
156
177
  }
178
+ console.log("[WWW] render/metadata:buildHreflangAlternates ->", JSON.stringify(languages));
157
179
  return languages;
158
180
  }
159
181
 
@@ -163,7 +185,10 @@ import { cache } from "react";
163
185
 
164
186
  // src/core/utils/getFromImportMap.ts
165
187
  function getFromImportMap(key, importMap) {
166
- return importMap[key.includes("#") ? key : key + "#default"];
188
+ const resolvedKey = key.includes("#") ? key : key + "#default";
189
+ const value = importMap[resolvedKey];
190
+ console.log("[WWW] core/utils:getFromImportMap key=", key, "resolved=", resolvedKey, "hit=", Boolean(value));
191
+ return value;
167
192
  }
168
193
 
169
194
  // src/render/metadata/query.ts
@@ -175,6 +200,7 @@ var queryDocBySlug = cache(async function queryDocBySlug2({
175
200
  draft = false,
176
201
  config
177
202
  }) {
203
+ console.log("[WWW] render/metadata:queryDocBySlug collection=", collectionSlug, "slug=", slug, "slugField=", slugField, "locale=", locale, "draft=", draft);
178
204
  const payload = await getPayload({ config });
179
205
  const result = await payload.find({
180
206
  collection: collectionSlug,
@@ -185,7 +211,9 @@ var queryDocBySlug = cache(async function queryDocBySlug2({
185
211
  where: { [slugField]: { equals: slug } },
186
212
  locale
187
213
  });
188
- return result.docs?.[0] ?? null;
214
+ const doc = result.docs?.[0] ?? null;
215
+ console.log("[WWW] render/metadata:queryDocBySlug ->", doc ? "hit" : "miss");
216
+ return doc;
189
217
  });
190
218
  var queryAllDocs = cache(async function queryAllDocs2({
191
219
  collectionSlug,
@@ -193,6 +221,7 @@ var queryAllDocs = cache(async function queryAllDocs2({
193
221
  locale,
194
222
  config
195
223
  }) {
224
+ console.log("[WWW] render/metadata:queryAllDocs collection=", collectionSlug, "locale=", locale);
196
225
  const payload = await getPayload({ config });
197
226
  const result = await payload.find({
198
227
  collection: collectionSlug,
@@ -203,7 +232,9 @@ var queryAllDocs = cache(async function queryAllDocs2({
203
232
  select: { [slugField]: true },
204
233
  locale
205
234
  });
206
- return result.docs ?? [];
235
+ const docs = result.docs ?? [];
236
+ console.log("[WWW] render/metadata:queryAllDocs -> count=", docs.length);
237
+ return docs;
207
238
  });
208
239
  var queryAllLocaleSlugs = cache(async function queryAllLocaleSlugs2({
209
240
  collectionSlug,
@@ -212,6 +243,7 @@ var queryAllLocaleSlugs = cache(async function queryAllLocaleSlugs2({
212
243
  locale,
213
244
  config
214
245
  }) {
246
+ console.log("[WWW] render/metadata:queryAllLocaleSlugs collection=", collectionSlug, "slug=", slug, "locale=", locale);
215
247
  const payload = await getPayload({ config });
216
248
  const result = await payload.find({
217
249
  collection: collectionSlug,
@@ -224,8 +256,10 @@ var queryAllLocaleSlugs = cache(async function queryAllLocaleSlugs2({
224
256
  select: { [slugField]: true }
225
257
  });
226
258
  const doc = result.docs?.[0];
227
- if (!doc)
259
+ if (!doc) {
260
+ console.log("[WWW] render/metadata:queryAllLocaleSlugs -> undefined (no doc)");
228
261
  return;
262
+ }
229
263
  let fieldValue = doc[slugField];
230
264
  if (doc.id != null) {
231
265
  const allLocales2 = await payload.findByID({
@@ -240,6 +274,7 @@ var queryAllLocaleSlugs = cache(async function queryAllLocaleSlugs2({
240
274
  fieldValue = allLocales2[slugField];
241
275
  }
242
276
  if (fieldValue && typeof fieldValue === "object") {
277
+ console.log("[WWW] render/metadata:queryAllLocaleSlugs -> localized map=", JSON.stringify(fieldValue));
243
278
  return fieldValue;
244
279
  }
245
280
  const resolved = await config;
@@ -247,6 +282,7 @@ var queryAllLocaleSlugs = cache(async function queryAllLocaleSlugs2({
247
282
  const out = {};
248
283
  for (const l of rawLocales)
249
284
  out[l] = String(fieldValue ?? slug);
285
+ console.log("[WWW] render/metadata:queryAllLocaleSlugs -> flat-fanout locales=", rawLocales.length, "slug=", JSON.stringify(fieldValue ?? slug));
250
286
  return out;
251
287
  });
252
288
  var queryGlobal = cache(async function queryGlobal2({
@@ -256,6 +292,7 @@ var queryGlobal = cache(async function queryGlobal2({
256
292
  draft = false,
257
293
  config
258
294
  }) {
295
+ console.log("[WWW] render/metadata:queryGlobal global=", globalSlug, "locale=", locale, "depth=", depth, "draft=", draft);
259
296
  const payload = await getPayload({ config });
260
297
  try {
261
298
  const global = await payload.findGlobal({
@@ -264,27 +301,35 @@ var queryGlobal = cache(async function queryGlobal2({
264
301
  draft,
265
302
  locale
266
303
  });
304
+ console.log("[WWW] render/metadata:queryGlobal -> hit");
267
305
  return global;
268
- } catch {
306
+ } catch (error) {
307
+ console.warn("[WWW] render/metadata:queryGlobal failed for slug=", globalSlug, "err=", String(error));
269
308
  return null;
270
309
  }
271
310
  });
272
311
  function getRenderModuleExports(exportName, collection, importMap) {
273
312
  const path = collection?.custom?.path;
274
- if (!path)
313
+ if (!path) {
314
+ console.log("[WWW] render/metadata:getRenderModuleExports no custom.path exportName=", exportName);
275
315
  return;
316
+ }
276
317
  const mod = getFromImportMap(path, importMap);
277
- return mod?.[exportName];
318
+ const value = mod?.[exportName];
319
+ console.log("[WWW] render/metadata:getRenderModuleExports exportName=", exportName, "path=", path, "hit=", Boolean(value));
320
+ return value;
278
321
  }
279
322
 
280
323
  // src/render/sitemap/createSitemapFile.ts
281
324
  function createSitemapFile(options) {
282
325
  const { collections } = options;
283
326
  return async function sitemap() {
327
+ console.log("[WWW] render/sitemap:createSitemapFile:sitemap collections=", JSON.stringify(options.collections), "localePrefix=", options.localePrefix ?? "always");
284
328
  const cfg = await options.config;
285
329
  const allLocales2 = Array.isArray(cfg.localization?.locales) ? cfg.localization.locales.map((l) => typeof l === "string" ? l : l.code) : [cfg.localization?.defaultLocale ?? "en"];
286
330
  const defaultLocale = cfg.localization?.defaultLocale ?? allLocales2[0];
287
331
  const activeLocales = Array.isArray(options.locales) && options.locales.length > 0 ? options.locales.filter((l) => allLocales2.includes(l)) : allLocales2;
332
+ console.log("[WWW] render/sitemap:createSitemapFile:sitemap allLocales=", JSON.stringify(allLocales2), "default=", defaultLocale, "active=", JSON.stringify(activeLocales));
288
333
  const entries = [];
289
334
  const seen = new Set;
290
335
  for (const collectionSlug of collections) {
@@ -340,6 +385,7 @@ function createSitemapFile(options) {
340
385
  }
341
386
  }
342
387
  }
388
+ console.log("[WWW] render/sitemap:createSitemapFile:sitemap -> entries=", entries.length);
343
389
  return entries;
344
390
  };
345
391
  }