← back to Dw Width Fix
verify.mjs
13 lines
import fs from 'fs';
const env = Object.fromEntries(fs.readFileSync('.env','utf8').split('\n').filter(l=>l.includes('=')&&!l.startsWith('#')).map(l=>{const i=l.indexOf('=');return [l.slice(0,i).trim(), l.slice(i+1).trim()];}));
const TOKEN=env.SHOPIFY_ADMIN_TOKEN;const API='https://designer-laboratory-sandbox.myshopify.com/admin/api/2024-10/graphql.json';
async function gql(q,v={}){const r=await fetch(API,{method:'POST',headers:{'X-Shopify-Access-Token':TOKEN,'Content-Type':'application/json'},body:JSON.stringify({query:q,variables:v})});return (await r.json()).data;}
const items=JSON.parse(fs.readFileSync('to-write.json','utf8'));
const handles=process.argv[2]==='canary'?items.slice(0,3):items;
for(const it of handles){
const d=await gql(`query($id:ID!){product(id:$id){handle metafield(namespace:"custom",key:"width"){value}}}`,{id:it.id});
const v=d.product.metafield?.value;
const ok = v===it.newWidth;
console.log(`${ok?'✓':'✗'} ${it.handle} live="${v}" expected="${it.newWidth}"`);
}