← back to Designer Wallcoverings
chore: codemod 46 DW scripts node-fetch require → globalThis.fetch (Node 26)
7d1e0a3210817a9cf7d8db88f06bfe36102f067b · 2026-07-09 22:09:05 -0700 · Steve
DW is on node-fetch 3.3.2 (ESM); bare require('node-fetch') returns a namespace
object on Node 26 → 'fetch is not a function' if ever run. These are manual one-off
scripts (fail-loud, not scheduled) but swapped to built-in global fetch for tidiness
so none can surprise mid-run. Left destructured/.default bindings + thesetdecorator
(node-fetch v2, CJS-safe) untouched. All 46 syntax-checked.
Fixes a prior misfired codemod that blanked the fetch line (auto-committed in 1566feb7).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Files touched
M DW-Programming/ImportNewSkufromURL/find-recent-sancar.jsM DW-Programming/ImportNewSkufromURL/remove-sancar-name.jsM DW-Programming/ImportNewSkufromURL/test-api-response.jsM DW-Programming/maya-romanoff-updater/fix-dwjs-titles.jsM DW-Programming/maya-romanoff-updater/maya-romanoff-updater.jsM DW-Programming/maya-romanoff-updater/server.jsM DW-Programming/vendor-crawlers/thibaut-crawler/full-fetch.jsM DW-Programming/vendor-crawlers/thibaut-crawler/sync-shopify-to-catalog.jsM DW-Programming/versace-dry-run.jsM shopify/quote-api/sku-inquiry-handler.jsM shopify/scripts/activate-arte-cron.jsM shopify/scripts/activate-draft-koroseal.jsM shopify/scripts/activate-koroseal-cron.jsM shopify/scripts/add-koroseal-with-sheets.jsM shopify/scripts/add-new-koroseal-products.jsM shopify/scripts/add-new-koroseal-v2.jsM shopify/scripts/add-sample-variants.jsM shopify/scripts/add-trending-tag.jsM shopify/scripts/arte-dashboard/bulk-title-updater.jsM shopify/scripts/check-sundar-grove.jsM shopify/scripts/find-linsey-no-images.jsM shopify/scripts/fix-302xxx-products.jsM shopify/scripts/fix-adalyn-remaining.jsM shopify/scripts/fix-all-koroseal-images.jsM shopify/scripts/fix-arlo.jsM shopify/scripts/fix-astra-products.jsM shopify/scripts/fix-canopy-colors.jsM shopify/scripts/fix-chateau-titles.jsM shopify/scripts/fix-generic-titles.jsM shopify/scripts/fix-linden-ii.jsM shopify/scripts/fix-linsey.jsM shopify/scripts/fix-marble-hill.jsM shopify/scripts/fix-muga-silk.jsM shopify/scripts/fix-sarah-rowland-immediate.jsM shopify/scripts/fix-sarah-rowland-titles.jsM shopify/scripts/fix-sarah-rowland-v2.jsM shopify/scripts/fix-titles-by-current.jsM shopify/scripts/koroseal-mfr-populator.jsM shopify/scripts/koroseal-new-product-finder.jsM shopify/scripts/populate-draft-mfr.jsM shopify/scripts/remove-review-tags.jsM shopify/scripts/search-koroseal-sundar.jsM shopify/scripts/templates/new-product-import-template.jsM shopify/scripts/update-brand-mckenzie-vendor.jsM shopify/scripts/update-dwk-full-details.jsM shopify/scripts/update-dwk-slow-seo.js
Diff
commit 7d1e0a3210817a9cf7d8db88f06bfe36102f067b
Author: Steve <steve@designerwallcoverings.com>
Date: Thu Jul 9 22:09:05 2026 -0700
chore: codemod 46 DW scripts node-fetch require → globalThis.fetch (Node 26)
DW is on node-fetch 3.3.2 (ESM); bare require('node-fetch') returns a namespace
object on Node 26 → 'fetch is not a function' if ever run. These are manual one-off
scripts (fail-loud, not scheduled) but swapped to built-in global fetch for tidiness
so none can surprise mid-run. Left destructured/.default bindings + thesetdecorator
(node-fetch v2, CJS-safe) untouched. All 46 syntax-checked.
Fixes a prior misfired codemod that blanked the fetch line (auto-committed in 1566feb7).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
DW-Programming/ImportNewSkufromURL/find-recent-sancar.js | 2 +-
DW-Programming/ImportNewSkufromURL/remove-sancar-name.js | 2 +-
DW-Programming/ImportNewSkufromURL/test-api-response.js | 2 +-
DW-Programming/maya-romanoff-updater/fix-dwjs-titles.js | 2 +-
DW-Programming/maya-romanoff-updater/maya-romanoff-updater.js | 2 +-
DW-Programming/maya-romanoff-updater/server.js | 2 +-
DW-Programming/vendor-crawlers/thibaut-crawler/full-fetch.js | 2 +-
.../vendor-crawlers/thibaut-crawler/sync-shopify-to-catalog.js | 2 +-
DW-Programming/versace-dry-run.js | 2 +-
shopify/quote-api/sku-inquiry-handler.js | 2 +-
shopify/scripts/activate-arte-cron.js | 2 +-
shopify/scripts/activate-draft-koroseal.js | 2 +-
shopify/scripts/activate-koroseal-cron.js | 2 +-
shopify/scripts/add-koroseal-with-sheets.js | 2 +-
shopify/scripts/add-new-koroseal-products.js | 2 +-
shopify/scripts/add-new-koroseal-v2.js | 2 +-
shopify/scripts/add-sample-variants.js | 2 +-
shopify/scripts/add-trending-tag.js | 2 +-
shopify/scripts/arte-dashboard/bulk-title-updater.js | 2 +-
shopify/scripts/check-sundar-grove.js | 2 +-
shopify/scripts/find-linsey-no-images.js | 2 +-
shopify/scripts/fix-302xxx-products.js | 2 +-
shopify/scripts/fix-adalyn-remaining.js | 2 +-
shopify/scripts/fix-all-koroseal-images.js | 2 +-
shopify/scripts/fix-arlo.js | 2 +-
shopify/scripts/fix-astra-products.js | 2 +-
shopify/scripts/fix-canopy-colors.js | 2 +-
shopify/scripts/fix-chateau-titles.js | 2 +-
shopify/scripts/fix-generic-titles.js | 2 +-
shopify/scripts/fix-linden-ii.js | 2 +-
shopify/scripts/fix-linsey.js | 2 +-
shopify/scripts/fix-marble-hill.js | 2 +-
shopify/scripts/fix-muga-silk.js | 2 +-
shopify/scripts/fix-sarah-rowland-immediate.js | 2 +-
shopify/scripts/fix-sarah-rowland-titles.js | 2 +-
shopify/scripts/fix-sarah-rowland-v2.js | 2 +-
shopify/scripts/fix-titles-by-current.js | 2 +-
shopify/scripts/koroseal-mfr-populator.js | 2 +-
shopify/scripts/koroseal-new-product-finder.js | 2 +-
shopify/scripts/populate-draft-mfr.js | 2 +-
shopify/scripts/remove-review-tags.js | 2 +-
shopify/scripts/search-koroseal-sundar.js | 2 +-
shopify/scripts/templates/new-product-import-template.js | 2 +-
shopify/scripts/update-brand-mckenzie-vendor.js | 2 +-
shopify/scripts/update-dwk-full-details.js | 2 +-
shopify/scripts/update-dwk-slow-seo.js | 2 +-
46 files changed, 46 insertions(+), 46 deletions(-)
diff --git a/DW-Programming/ImportNewSkufromURL/find-recent-sancar.js b/DW-Programming/ImportNewSkufromURL/find-recent-sancar.js
index 80ef3978..0f94b664 100644
--- a/DW-Programming/ImportNewSkufromURL/find-recent-sancar.js
+++ b/DW-Programming/ImportNewSkufromURL/find-recent-sancar.js
@@ -1,5 +1,5 @@
require('dotenv').config({ path: '.env.local' });
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_DOMAIN = process.env.SHOPIFY_STORE_DOMAIN;
const SHOPIFY_ACCESS_TOKEN = process.env.SHOPIFY_ADMIN_ACCESS_TOKEN;
diff --git a/DW-Programming/ImportNewSkufromURL/remove-sancar-name.js b/DW-Programming/ImportNewSkufromURL/remove-sancar-name.js
index d0b504fc..12768b3f 100644
--- a/DW-Programming/ImportNewSkufromURL/remove-sancar-name.js
+++ b/DW-Programming/ImportNewSkufromURL/remove-sancar-name.js
@@ -1,5 +1,5 @@
require('dotenv').config({ path: '.env.local' });
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_DOMAIN = process.env.SHOPIFY_STORE_DOMAIN;
const SHOPIFY_ACCESS_TOKEN = process.env.SHOPIFY_ADMIN_ACCESS_TOKEN;
diff --git a/DW-Programming/ImportNewSkufromURL/test-api-response.js b/DW-Programming/ImportNewSkufromURL/test-api-response.js
index 4465aa25..02842f5f 100644
--- a/DW-Programming/ImportNewSkufromURL/test-api-response.js
+++ b/DW-Programming/ImportNewSkufromURL/test-api-response.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
(async () => {
const testUrl = 'https://schumacher.com/catalog/products/5017392';
diff --git a/DW-Programming/maya-romanoff-updater/fix-dwjs-titles.js b/DW-Programming/maya-romanoff-updater/fix-dwjs-titles.js
index 2d0cbf73..8a8e568d 100644
--- a/DW-Programming/maya-romanoff-updater/fix-dwjs-titles.js
+++ b/DW-Programming/maya-romanoff-updater/fix-dwjs-titles.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_DOMAIN = 'designer-laboratory-sandbox.myshopify.com';
const ACCESS_TOKEN = process.env.SHOPIFY_ADMIN_TOKEN;
diff --git a/DW-Programming/maya-romanoff-updater/maya-romanoff-updater.js b/DW-Programming/maya-romanoff-updater/maya-romanoff-updater.js
index 89376ae4..c1bd918a 100644
--- a/DW-Programming/maya-romanoff-updater/maya-romanoff-updater.js
+++ b/DW-Programming/maya-romanoff-updater/maya-romanoff-updater.js
@@ -14,7 +14,7 @@
*/
const puppeteer = require('puppeteer');
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const { Pool } = require('pg');
// Configuration
diff --git a/DW-Programming/maya-romanoff-updater/server.js b/DW-Programming/maya-romanoff-updater/server.js
index 8e765e8c..1dfc65d5 100644
--- a/DW-Programming/maya-romanoff-updater/server.js
+++ b/DW-Programming/maya-romanoff-updater/server.js
@@ -15,7 +15,7 @@
const express = require('express');
const puppeteer = require('puppeteer');
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const { Pool } = require('pg');
const app = express();
diff --git a/DW-Programming/vendor-crawlers/thibaut-crawler/full-fetch.js b/DW-Programming/vendor-crawlers/thibaut-crawler/full-fetch.js
index d60be722..b05eec24 100644
--- a/DW-Programming/vendor-crawlers/thibaut-crawler/full-fetch.js
+++ b/DW-Programming/vendor-crawlers/thibaut-crawler/full-fetch.js
@@ -6,7 +6,7 @@
*/
const puppeteer = require('puppeteer');
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const { Pool } = require('pg');
const CRAWLER_API = 'http://localhost:9966';
diff --git a/DW-Programming/vendor-crawlers/thibaut-crawler/sync-shopify-to-catalog.js b/DW-Programming/vendor-crawlers/thibaut-crawler/sync-shopify-to-catalog.js
index 97d61eb1..65478fcd 100644
--- a/DW-Programming/vendor-crawlers/thibaut-crawler/sync-shopify-to-catalog.js
+++ b/DW-Programming/vendor-crawlers/thibaut-crawler/sync-shopify-to-catalog.js
@@ -10,7 +10,7 @@
*/
const { Pool } = require('pg');
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const pool = new Pool({
connectionString: (process.env.DATABASE_URL || 'postgresql://dw_admin@127.0.0.1:5432/dw_unified')
diff --git a/DW-Programming/versace-dry-run.js b/DW-Programming/versace-dry-run.js
index 865f1909..fe9f23a3 100644
--- a/DW-Programming/versace-dry-run.js
+++ b/DW-Programming/versace-dry-run.js
@@ -1,5 +1,5 @@
const { Pool } = require('pg');
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const pool = new Pool({ connectionString: (process.env.DATABASE_URL || 'postgresql://dw_admin@127.0.0.1:5432/dw_unified') });
diff --git a/shopify/quote-api/sku-inquiry-handler.js b/shopify/quote-api/sku-inquiry-handler.js
index 3320d102..9742ccb9 100644
--- a/shopify/quote-api/sku-inquiry-handler.js
+++ b/shopify/quote-api/sku-inquiry-handler.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
/**
* sku-inquiry-handler.js — backend for the contact-for-price.liquid PDP block.
diff --git a/shopify/scripts/activate-arte-cron.js b/shopify/scripts/activate-arte-cron.js
index 40fde523..536bd546 100644
--- a/shopify/scripts/activate-arte-cron.js
+++ b/shopify/scripts/activate-arte-cron.js
@@ -5,7 +5,7 @@
* - Sends Slack notification to Steve
*/
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const { isProtected } = require('/Users/macstudio3/Projects/_shared/archive-guard');
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
diff --git a/shopify/scripts/activate-draft-koroseal.js b/shopify/scripts/activate-draft-koroseal.js
index 2963ae6d..64d9be3a 100644
--- a/shopify/scripts/activate-draft-koroseal.js
+++ b/shopify/scripts/activate-draft-koroseal.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const cheerio = require('cheerio');
const { isProtected } = require('/Users/macstudio3/Projects/_shared/archive-guard');
diff --git a/shopify/scripts/activate-koroseal-cron.js b/shopify/scripts/activate-koroseal-cron.js
index e9dffc3c..a34feec9 100644
--- a/shopify/scripts/activate-koroseal-cron.js
+++ b/shopify/scripts/activate-koroseal-cron.js
@@ -4,7 +4,7 @@
* Sends Slack notification to Steve
*/
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const { isProtected } = require('/Users/macstudio3/Projects/_shared/archive-guard');
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
diff --git a/shopify/scripts/add-koroseal-with-sheets.js b/shopify/scripts/add-koroseal-with-sheets.js
index 840af9fe..1db6cdc9 100644
--- a/shopify/scripts/add-koroseal-with-sheets.js
+++ b/shopify/scripts/add-koroseal-with-sheets.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const cheerio = require('cheerio');
const { google } = require('googleapis');
const path = require('path');
diff --git a/shopify/scripts/add-new-koroseal-products.js b/shopify/scripts/add-new-koroseal-products.js
index ce10dd8f..f3e864ff 100644
--- a/shopify/scripts/add-new-koroseal-products.js
+++ b/shopify/scripts/add-new-koroseal-products.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const cheerio = require('cheerio');
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
diff --git a/shopify/scripts/add-new-koroseal-v2.js b/shopify/scripts/add-new-koroseal-v2.js
index 0a42f236..64626f52 100644
--- a/shopify/scripts/add-new-koroseal-v2.js
+++ b/shopify/scripts/add-new-koroseal-v2.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const cheerio = require('cheerio');
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
diff --git a/shopify/scripts/add-sample-variants.js b/shopify/scripts/add-sample-variants.js
index dcad7e00..be17b86d 100644
--- a/shopify/scripts/add-sample-variants.js
+++ b/shopify/scripts/add-sample-variants.js
@@ -3,7 +3,7 @@
* Add SKU and $4.25 price to all DWK-40xxx Koroseal product variants
*/
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = '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';
diff --git a/shopify/scripts/add-trending-tag.js b/shopify/scripts/add-trending-tag.js
index 26434572..61de4264 100644
--- a/shopify/scripts/add-trending-tag.js
+++ b/shopify/scripts/add-trending-tag.js
@@ -1,5 +1,5 @@
#!/usr/bin/env node
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = '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';
diff --git a/shopify/scripts/arte-dashboard/bulk-title-updater.js b/shopify/scripts/arte-dashboard/bulk-title-updater.js
index 7c29c9cb..19c8a8ac 100755
--- a/shopify/scripts/arte-dashboard/bulk-title-updater.js
+++ b/shopify/scripts/arte-dashboard/bulk-title-updater.js
@@ -9,7 +9,7 @@
*/
const { Pool } = require('pg');
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const pool = new Pool({
connectionString: (process.env.DATABASE_URL || 'postgresql://dw_admin@127.0.0.1:5432/dw_unified')
diff --git a/shopify/scripts/check-sundar-grove.js b/shopify/scripts/check-sundar-grove.js
index d6f468aa..c268d20a 100644
--- a/shopify/scripts/check-sundar-grove.js
+++ b/shopify/scripts/check-sundar-grove.js
@@ -3,7 +3,7 @@
* Check Sundar Grove products for images
*/
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = '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';
diff --git a/shopify/scripts/find-linsey-no-images.js b/shopify/scripts/find-linsey-no-images.js
index a235f5cd..ff5fe40d 100644
--- a/shopify/scripts/find-linsey-no-images.js
+++ b/shopify/scripts/find-linsey-no-images.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = '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';
diff --git a/shopify/scripts/fix-302xxx-products.js b/shopify/scripts/fix-302xxx-products.js
index 7471b907..327903f9 100644
--- a/shopify/scripts/fix-302xxx-products.js
+++ b/shopify/scripts/fix-302xxx-products.js
@@ -8,7 +8,7 @@
* Run: node fix-302xxx-products.js
*/
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
// Shopify Configuration
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
diff --git a/shopify/scripts/fix-adalyn-remaining.js b/shopify/scripts/fix-adalyn-remaining.js
index 8b9012ef..728d28bc 100644
--- a/shopify/scripts/fix-adalyn-remaining.js
+++ b/shopify/scripts/fix-adalyn-remaining.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = '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';
diff --git a/shopify/scripts/fix-all-koroseal-images.js b/shopify/scripts/fix-all-koroseal-images.js
index a631f6fe..a505c721 100644
--- a/shopify/scripts/fix-all-koroseal-images.js
+++ b/shopify/scripts/fix-all-koroseal-images.js
@@ -6,7 +6,7 @@
* - Adds images to Shopify products
*/
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const cheerio = require('cheerio');
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
diff --git a/shopify/scripts/fix-arlo.js b/shopify/scripts/fix-arlo.js
index 0163af21..da237362 100644
--- a/shopify/scripts/fix-arlo.js
+++ b/shopify/scripts/fix-arlo.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = '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';
diff --git a/shopify/scripts/fix-astra-products.js b/shopify/scripts/fix-astra-products.js
index ecb3233a..8977c389 100644
--- a/shopify/scripts/fix-astra-products.js
+++ b/shopify/scripts/fix-astra-products.js
@@ -3,7 +3,7 @@
* Fix Astra Vinyl Products - Update titles and MFR numbers
*/
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = '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';
diff --git a/shopify/scripts/fix-canopy-colors.js b/shopify/scripts/fix-canopy-colors.js
index 29b2e1c4..8efc2a2f 100644
--- a/shopify/scripts/fix-canopy-colors.js
+++ b/shopify/scripts/fix-canopy-colors.js
@@ -3,7 +3,7 @@
* Fix Canopy product titles with correct Koroseal color names
*/
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = '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';
diff --git a/shopify/scripts/fix-chateau-titles.js b/shopify/scripts/fix-chateau-titles.js
index 84e9810f..787d4053 100644
--- a/shopify/scripts/fix-chateau-titles.js
+++ b/shopify/scripts/fix-chateau-titles.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = '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';
diff --git a/shopify/scripts/fix-generic-titles.js b/shopify/scripts/fix-generic-titles.js
index 78d0365d..5de777a3 100644
--- a/shopify/scripts/fix-generic-titles.js
+++ b/shopify/scripts/fix-generic-titles.js
@@ -8,7 +8,7 @@
* Run: node fix-generic-titles.js
*/
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
// Shopify Configuration
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
diff --git a/shopify/scripts/fix-linden-ii.js b/shopify/scripts/fix-linden-ii.js
index ad50aee5..547e5f37 100644
--- a/shopify/scripts/fix-linden-ii.js
+++ b/shopify/scripts/fix-linden-ii.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = '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';
diff --git a/shopify/scripts/fix-linsey.js b/shopify/scripts/fix-linsey.js
index 1dfa7b69..e8dc5262 100644
--- a/shopify/scripts/fix-linsey.js
+++ b/shopify/scripts/fix-linsey.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = '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';
diff --git a/shopify/scripts/fix-marble-hill.js b/shopify/scripts/fix-marble-hill.js
index cd62be61..580efceb 100644
--- a/shopify/scripts/fix-marble-hill.js
+++ b/shopify/scripts/fix-marble-hill.js
@@ -1,5 +1,5 @@
#!/usr/bin/env node
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = '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';
diff --git a/shopify/scripts/fix-muga-silk.js b/shopify/scripts/fix-muga-silk.js
index c73625c7..ca80cfc5 100644
--- a/shopify/scripts/fix-muga-silk.js
+++ b/shopify/scripts/fix-muga-silk.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = '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';
diff --git a/shopify/scripts/fix-sarah-rowland-immediate.js b/shopify/scripts/fix-sarah-rowland-immediate.js
index a0912cea..dd3110d6 100644
--- a/shopify/scripts/fix-sarah-rowland-immediate.js
+++ b/shopify/scripts/fix-sarah-rowland-immediate.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = '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';
diff --git a/shopify/scripts/fix-sarah-rowland-titles.js b/shopify/scripts/fix-sarah-rowland-titles.js
index 5d00fb72..67b0bbe9 100644
--- a/shopify/scripts/fix-sarah-rowland-titles.js
+++ b/shopify/scripts/fix-sarah-rowland-titles.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = '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';
diff --git a/shopify/scripts/fix-sarah-rowland-v2.js b/shopify/scripts/fix-sarah-rowland-v2.js
index 1c8a84f1..8fd5c4db 100644
--- a/shopify/scripts/fix-sarah-rowland-v2.js
+++ b/shopify/scripts/fix-sarah-rowland-v2.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = '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';
diff --git a/shopify/scripts/fix-titles-by-current.js b/shopify/scripts/fix-titles-by-current.js
index 44486c5e..3724a3b3 100644
--- a/shopify/scripts/fix-titles-by-current.js
+++ b/shopify/scripts/fix-titles-by-current.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = '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';
diff --git a/shopify/scripts/koroseal-mfr-populator.js b/shopify/scripts/koroseal-mfr-populator.js
index 5f724044..8a7e56cc 100644
--- a/shopify/scripts/koroseal-mfr-populator.js
+++ b/shopify/scripts/koroseal-mfr-populator.js
@@ -8,7 +8,7 @@
* Run this FIRST before the main update script.
*/
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
// Shopify Configuration
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
diff --git a/shopify/scripts/koroseal-new-product-finder.js b/shopify/scripts/koroseal-new-product-finder.js
index 3cb312db..ab80e0f6 100644
--- a/shopify/scripts/koroseal-new-product-finder.js
+++ b/shopify/scripts/koroseal-new-product-finder.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const cheerio = require('cheerio');
const fs = require('fs');
diff --git a/shopify/scripts/populate-draft-mfr.js b/shopify/scripts/populate-draft-mfr.js
index d4fed0c5..a5afe366 100644
--- a/shopify/scripts/populate-draft-mfr.js
+++ b/shopify/scripts/populate-draft-mfr.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = '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';
diff --git a/shopify/scripts/remove-review-tags.js b/shopify/scripts/remove-review-tags.js
index 67a47110..b1982eef 100644
--- a/shopify/scripts/remove-review-tags.js
+++ b/shopify/scripts/remove-review-tags.js
@@ -1,4 +1,4 @@
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = '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';
diff --git a/shopify/scripts/search-koroseal-sundar.js b/shopify/scripts/search-koroseal-sundar.js
index 49090756..d450a4bb 100644
--- a/shopify/scripts/search-koroseal-sundar.js
+++ b/shopify/scripts/search-koroseal-sundar.js
@@ -3,7 +3,7 @@
* Search Koroseal for Sundar Grove images
*/
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const cheerio = require('cheerio');
async function searchKoroseal(term) {
diff --git a/shopify/scripts/templates/new-product-import-template.js b/shopify/scripts/templates/new-product-import-template.js
index 5aaf9b06..d5925f7d 100644
--- a/shopify/scripts/templates/new-product-import-template.js
+++ b/shopify/scripts/templates/new-product-import-template.js
@@ -12,7 +12,7 @@
* 4. Run: node your-import-script.js
*/
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const { checkDuplicate, registerSku, updateShopifyInfo, getStats, close } = require('../lib/sku-registry');
// ==================== CONFIGURATION ====================
diff --git a/shopify/scripts/update-brand-mckenzie-vendor.js b/shopify/scripts/update-brand-mckenzie-vendor.js
index ea57487d..ec5d8cbd 100644
--- a/shopify/scripts/update-brand-mckenzie-vendor.js
+++ b/shopify/scripts/update-brand-mckenzie-vendor.js
@@ -5,7 +5,7 @@
* - Set manufacturer_sku metafield with BMGI codes
*/
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
const SHOPIFY_TOKEN = process.env.SHOPIFY_ADMIN_TOKEN;
diff --git a/shopify/scripts/update-dwk-full-details.js b/shopify/scripts/update-dwk-full-details.js
index 8d89dfde..1ad62869 100644
--- a/shopify/scripts/update-dwk-full-details.js
+++ b/shopify/scripts/update-dwk-full-details.js
@@ -7,7 +7,7 @@
* - Sample variant with SKU and $4.25 price
*/
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const cheerio = require('cheerio');
const SHOPIFY_STORE = 'designer-laboratory-sandbox.myshopify.com';
diff --git a/shopify/scripts/update-dwk-slow-seo.js b/shopify/scripts/update-dwk-slow-seo.js
index 8db52bf8..0c9a1a58 100644
--- a/shopify/scripts/update-dwk-slow-seo.js
+++ b/shopify/scripts/update-dwk-slow-seo.js
@@ -8,7 +8,7 @@
* Rate: 1 product every 6 minutes = 10/hour
*/
-{REPL}
+const fetch = globalThis.fetch; // node-fetch shim removed -- Node 26 global fetch
const cheerio = require('cheerio');
const fs = require('fs');
← 1566feb7 auto-save: 2026-07-09T20:42:07 (53 files) — DW-Programming/I
·
back to Designer Wallcoverings
·
chore: test-koroseal-sample.ts node-fetch require → globalTh 2d06b02a →