← back to Novasuede Min Fix
inspect-salt.mjs
18 lines
import fs from 'fs';
const all = JSON.parse(fs.readFileSync('live-novasuede.json','utf8'));
const salt = all.find(p=>/salt/i.test(p.title));
function dump(p){
console.log('\n### '+p.title+' ('+p.id+') handle='+p.handle);
console.log(' PRODUCT metafields:');
for(const m of p.metafields.nodes) if(/quantity|min|units/i.test(m.key)) console.log(' '+m.namespace+'.'+m.key+' = '+JSON.stringify(m.value)+' ['+m.type+']');
for(const v of p.variants.nodes){
console.log(' VARIANT "'+v.title+'" sku='+v.sku);
for(const m of v.metafields.nodes) console.log(' '+m.namespace+'.'+m.key+' = '+JSON.stringify(m.value)+' ['+m.type+']');
}
}
dump(salt);
// a "good" product (has variant min=5)
const good = all.find(p=>p.variants.nodes.some(v=>/Per Yard/.test(v.title)&&v.metafields.nodes.some(m=>m.key==='v_prod_quantity_order_min'&&m.value==='5')) && p.metafields.nodes.some(m=>m.key==='v_prods_quantity_order_min'&&m.value==='5'));
console.log('\n\n===== A FULLY-CORRECT REFERENCE PRODUCT =====');
if(good) dump(good); else console.log('none fully correct found');