@websolutespa/payload-plugin-seo 0.1.2 → 0.1.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.
- package/CHANGELOG.md +6 -0
- package/dist/index.js +27 -10
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/dist/index.js
CHANGED
|
@@ -99,6 +99,7 @@ var findVal = /* @__PURE__ */ __name((obj, keyToFind) => {
|
|
|
99
99
|
}, "findVal");
|
|
100
100
|
|
|
101
101
|
// src/seo.ts
|
|
102
|
+
var import_bom_core = require("@websolutespa/bom-core");
|
|
102
103
|
var import_payload_utils2 = require("@websolutespa/payload-utils");
|
|
103
104
|
|
|
104
105
|
// src/api/tokens.service.ts
|
|
@@ -264,7 +265,8 @@ var MetatagsRule = {
|
|
|
264
265
|
components: {
|
|
265
266
|
Field: TextWithTokens
|
|
266
267
|
}
|
|
267
|
-
}
|
|
268
|
+
},
|
|
269
|
+
localized: true
|
|
268
270
|
},
|
|
269
271
|
{
|
|
270
272
|
name: "description",
|
|
@@ -273,7 +275,8 @@ var MetatagsRule = {
|
|
|
273
275
|
components: {
|
|
274
276
|
Field: TextWithTokens
|
|
275
277
|
}
|
|
276
|
-
}
|
|
278
|
+
},
|
|
279
|
+
localized: true
|
|
277
280
|
},
|
|
278
281
|
{
|
|
279
282
|
name: "keywords",
|
|
@@ -282,7 +285,8 @@ var MetatagsRule = {
|
|
|
282
285
|
components: {
|
|
283
286
|
Field: TextWithTokens
|
|
284
287
|
}
|
|
285
|
-
}
|
|
288
|
+
},
|
|
289
|
+
localized: true
|
|
286
290
|
},
|
|
287
291
|
{
|
|
288
292
|
label: "Available Tokens",
|
|
@@ -335,7 +339,7 @@ var replaceTokens = /* @__PURE__ */ __name(async (req, collection, doc, str, loc
|
|
|
335
339
|
switch (fieldConfig?.type) {
|
|
336
340
|
case "text":
|
|
337
341
|
case "textarea": {
|
|
338
|
-
str = str.replace(token, locale && fieldConfig?.localized ? fieldValue[locale.code] ?? fieldValue[defaultLocale2] : fieldValue);
|
|
342
|
+
str = str.replace(token, locale && fieldConfig?.localized ? fieldValue[locale.code] ?? fieldValue[defaultLocale2] ?? Object.values(fieldValue)[0] : fieldValue);
|
|
339
343
|
break;
|
|
340
344
|
}
|
|
341
345
|
case "richText": {
|
|
@@ -381,6 +385,7 @@ var setCollectionMetatags = /* @__PURE__ */ __name(({ req, doc, query }) => asyn
|
|
|
381
385
|
return doc;
|
|
382
386
|
}
|
|
383
387
|
const { payload: payload2 } = req;
|
|
388
|
+
const defaultLocale2 = req.payload.config.localization ? req.payload.config.localization.defaultLocale : "en";
|
|
384
389
|
const result = await payload2.find({
|
|
385
390
|
collection: options.slug.metatagsRule,
|
|
386
391
|
where: {
|
|
@@ -393,7 +398,8 @@ var setCollectionMetatags = /* @__PURE__ */ __name(({ req, doc, query }) => asyn
|
|
|
393
398
|
]
|
|
394
399
|
},
|
|
395
400
|
pagination: false,
|
|
396
|
-
overrideAccess: true
|
|
401
|
+
overrideAccess: true,
|
|
402
|
+
locale: "all"
|
|
397
403
|
});
|
|
398
404
|
let rules = result.docs;
|
|
399
405
|
rules = rules.sort((a, b) => a.collections.length === 0 ? 1 : b.collections.length === 0 ? -1 : 0);
|
|
@@ -401,18 +407,29 @@ var setCollectionMetatags = /* @__PURE__ */ __name(({ req, doc, query }) => asyn
|
|
|
401
407
|
for (const rule of rules) {
|
|
402
408
|
for (const metafield of metaFields) {
|
|
403
409
|
doc.meta = doc.meta || {};
|
|
404
|
-
|
|
405
|
-
if (!ruleValue || doc.meta[metafield]) {
|
|
410
|
+
if (doc.meta[metafield]) {
|
|
406
411
|
continue;
|
|
407
412
|
}
|
|
408
413
|
if (req.locale === "all") {
|
|
409
414
|
const locales = req.payload?.config.localization ? req.payload.config.localization.locales : [];
|
|
410
415
|
for (const locale of locales) {
|
|
411
|
-
|
|
412
|
-
|
|
416
|
+
let ruleValue = rule[metafield];
|
|
417
|
+
if ((0, import_bom_core.isObject)(ruleValue)) {
|
|
418
|
+
ruleValue = ruleValue[locale.code] ?? ruleValue[defaultLocale2] ?? Object.values(ruleValue)[0];
|
|
419
|
+
}
|
|
420
|
+
if (ruleValue) {
|
|
421
|
+
doc.meta[metafield] = doc.meta[metafield] || {};
|
|
422
|
+
doc.meta[metafield][locale.code] = await replaceTokens(req, collection, doc, ruleValue, locale);
|
|
423
|
+
}
|
|
413
424
|
}
|
|
414
425
|
} else {
|
|
415
|
-
|
|
426
|
+
let ruleValue = rule[metafield];
|
|
427
|
+
if ((0, import_bom_core.isObject)(ruleValue)) {
|
|
428
|
+
ruleValue = ruleValue[req.locale ?? defaultLocale2] ?? ruleValue[defaultLocale2] ?? Object.values(ruleValue)[0];
|
|
429
|
+
}
|
|
430
|
+
if (ruleValue) {
|
|
431
|
+
doc.meta[metafield] = await replaceTokens(req, collection, doc, ruleValue, null);
|
|
432
|
+
}
|
|
416
433
|
}
|
|
417
434
|
}
|
|
418
435
|
}
|