← 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');