feat: Better sierra springs

This commit is contained in:
Brennan Wilkes (Text Groove) 2026-01-31 16:28:33 -08:00
parent 218381a22b
commit f9769823cd

View file

@ -1,7 +1,7 @@
"use strict"; "use strict";
const { decodeHtml, cleanText, extractFirstImgUrl } = require("../utils/html"); const { decodeHtml, cleanText, extractFirstImgUrl } = require("../utils/html");
const { normalizeCspc } = require("../utils/sku"); const { normalizeCspc, normalizeSkuKey } = require("../utils/sku");
const { extractPriceFromTmbBlock } = require("../utils/woocommerce"); const { extractPriceFromTmbBlock } = require("../utils/woocommerce");
function allowSierraSpiritsLiquorUrlRumWhisky(item) { function allowSierraSpiritsLiquorUrlRumWhisky(item) {
@ -34,12 +34,19 @@ function parseProductsSierra(html, ctx) {
const price = extractPriceFromTmbBlock(block); const price = extractPriceFromTmbBlock(block);
const sku = normalizeCspc( const rawSku =
block.match(/\bdata-product_sku=["']([^"']+)["']/i)?.[1] || block.match(/\bdata-product_sku=["']([^"']+)["']/i)?.[1] ||
block.match(/\bSKU[:\s]*([0-9]{6})\b/i)?.[1] || block.match(/\bSKU[:\s]*([0-9]{6})\b/i)?.[1] ||
"" "";
);
// Sierra uses short numeric SKUs like "1222" -> treat as id:
const taggedSku = /^\d{1,11}$/.test(String(rawSku).trim())
? `id:${String(rawSku).trim()}`
: rawSku;
const sku = normalizeSkuKey(taggedSku, { storeLabel: ctx?.store?.name, url });
const img = extractFirstImgUrl(block, base); const img = extractFirstImgUrl(block, base);
items.push({ name, price, url, sku, img }); items.push({ name, price, url, sku, img });