From 4752f570e518b29fb14151a87a6d02c2b91d62fa Mon Sep 17 00:00:00 2001 From: dRPC Marketing <156195424+dRPCMarketing@users.noreply.github.com> Date: Fri, 5 Dec 2025 15:48:25 +0200 Subject: [PATCH 1/6] Add new dRPC RPC endpoints and network updates This update adds new and corrected RPC endpoints for multiple networks --- constants/extraRpcs.js | 126 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) diff --git a/constants/extraRpcs.js b/constants/extraRpcs.js index 344d2a331a..163ed93019 100644 --- a/constants/extraRpcs.js +++ b/constants/extraRpcs.js @@ -9192,6 +9192,132 @@ export const extraRpcs = { }, ], }, + 4202: { + rpcs: [ + { + url: "https://lisk-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://lisk-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ] +}, + 3441006: { + rpcs: [ + { + url: "https://manta-pacific-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://manta-pacific-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ] +}, + 397: { + rpcs: [ + { + url: "https://near.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://near.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ] +}, + 999999999: { + rpcs: [ + { + url: "https://zora-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://zora-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ] +}, + 8453: { + rpcs: [ + { + url: "https://base.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://base.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ] +}, + 232: { + rpcs: [ + { + url: "https://lens.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://lens.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ] +}, + 1440000: { + rpcs: [ + { + url: "https://xrpl.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://xrpl.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ] +}, + 97477: { + rpcs: [ + { + url: "https://doma.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://doma.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ] +}, + 2523: { + rpcs: [ + { + url: "https://fraxtal-testnet.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://fraxtal-testnet.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ] + }, }; const allExtraRpcs = mergeDeep(llamaNodesRpcs, extraRpcs); From 3ac8bf1ba48d8270ed4b2bdf7fc40acae02b396a Mon Sep 17 00:00:00 2001 From: dRPC Marketing <156195424+dRPCMarketing@users.noreply.github.com> Date: Wed, 10 Dec 2025 09:53:29 +0200 Subject: [PATCH 2/6] Fix duplicate chain entries and merge RPCs into existing blocks Resolved duplicate chainId entries noted in review (4202 , 3441006, 999999999, 8453, 232, 1440000). Removed new top-level blocks for chainIds that already have existing rpcs arrays upstream and merged dRPC endpoints into the correct existing entries. Left chainId 97477 intact as no prior entry exists in the repository. --- constants/extraRpcs.js | 150 ++++++++++++++--------------------------- 1 file changed, 51 insertions(+), 99 deletions(-) diff --git a/constants/extraRpcs.js b/constants/extraRpcs.js index 163ed93019..97cbf9155b 100644 --- a/constants/extraRpcs.js +++ b/constants/extraRpcs.js @@ -5367,6 +5367,10 @@ export const extraRpcs = { url: "https://api-base-mainnet-archive.n.dwellir.com/2ccf18bf-2916-4198-8856-42172854353c", tracking: "limited", trackingDetails: privacyStatement.dwellir, + { + url: "wss://base.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, }, ], }, @@ -7159,6 +7163,18 @@ export const extraRpcs = { }, 4202: { rpcs: ["https://rpc.sepolia-api.lisk.com"], + }, + { + url: "https://lisk-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://lisk-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ], }, 1135: { rpcs: [ @@ -7227,6 +7243,17 @@ export const extraRpcs = { }, 999999999: { rpcs: ["https://sepolia.rpc.zora.energy"], + { + url: "https://zora-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://zora-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ], }, 7777777: { rpcs: [ @@ -7823,6 +7850,14 @@ export const extraRpcs = { url: "https://endpoints.omniatech.io/v1/manta-pacific/sepolia/public", tracking: "none", trackingDetails: privacyStatement.omnia, + { + url: "https://manta-pacific-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + { + url: "wss://manta-pacific-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, }, ], }, @@ -8364,6 +8399,11 @@ export const extraRpcs = { tracking: "none", trackingDetails: privacyStatement.drpc, }, + { + url: "wss://lens.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, ], }, 37111: { @@ -9063,6 +9103,16 @@ export const extraRpcs = { tracking: "limited", trackingDetails: privacyStatement.grove, }, + { + url: "https://xrpl.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://xrpl.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, ], }, 1449000: { @@ -9192,34 +9242,6 @@ export const extraRpcs = { }, ], }, - 4202: { - rpcs: [ - { - url: "https://lisk-sepolia.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - { - url: "wss://lisk-sepolia.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - ] -}, - 3441006: { - rpcs: [ - { - url: "https://manta-pacific-sepolia.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - { - url: "wss://manta-pacific-sepolia.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - ] -}, 397: { rpcs: [ { @@ -9233,77 +9255,7 @@ export const extraRpcs = { trackingDetails: privacyStatement.drpc, }, ] -}, - 999999999: { - rpcs: [ - { - url: "https://zora-sepolia.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - { - url: "wss://zora-sepolia.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - ] -}, - 8453: { - rpcs: [ - { - url: "https://base.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - { - url: "wss://base.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - ] -}, - 232: { - rpcs: [ - { - url: "https://lens.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - { - url: "wss://lens.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - ] -}, - 1440000: { - rpcs: [ - { - url: "https://xrpl.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - { - url: "wss://xrpl.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - ] -}, - 97477: { - rpcs: [ - { - url: "https://doma.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - { - url: "wss://doma.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - ] -}, + }, 2523: { rpcs: [ { From 76f2dbbe77ace880b2a4c04de30b8edfdc582300 Mon Sep 17 00:00:00 2001 From: mintdart <96025197+mintdart@users.noreply.github.com> Date: Wed, 10 Dec 2025 00:07:34 -0800 Subject: [PATCH 3/6] Revert "Fix duplicate chain entries and merge RPCs into existing blocks" This reverts commit 3ac8bf1ba48d8270ed4b2bdf7fc40acae02b396a. --- constants/extraRpcs.js | 150 +++++++++++++++++++++++++++-------------- 1 file changed, 99 insertions(+), 51 deletions(-) diff --git a/constants/extraRpcs.js b/constants/extraRpcs.js index 97cbf9155b..163ed93019 100644 --- a/constants/extraRpcs.js +++ b/constants/extraRpcs.js @@ -5367,10 +5367,6 @@ export const extraRpcs = { url: "https://api-base-mainnet-archive.n.dwellir.com/2ccf18bf-2916-4198-8856-42172854353c", tracking: "limited", trackingDetails: privacyStatement.dwellir, - { - url: "wss://base.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, }, ], }, @@ -7163,18 +7159,6 @@ export const extraRpcs = { }, 4202: { rpcs: ["https://rpc.sepolia-api.lisk.com"], - }, - { - url: "https://lisk-sepolia.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - { - url: "wss://lisk-sepolia.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - ], }, 1135: { rpcs: [ @@ -7243,17 +7227,6 @@ export const extraRpcs = { }, 999999999: { rpcs: ["https://sepolia.rpc.zora.energy"], - { - url: "https://zora-sepolia.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - { - url: "wss://zora-sepolia.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - ], }, 7777777: { rpcs: [ @@ -7850,14 +7823,6 @@ export const extraRpcs = { url: "https://endpoints.omniatech.io/v1/manta-pacific/sepolia/public", tracking: "none", trackingDetails: privacyStatement.omnia, - { - url: "https://manta-pacific-sepolia.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - { - url: "wss://manta-pacific-sepolia.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, }, ], }, @@ -8399,11 +8364,6 @@ export const extraRpcs = { tracking: "none", trackingDetails: privacyStatement.drpc, }, - { - url: "wss://lens.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, ], }, 37111: { @@ -9103,16 +9063,6 @@ export const extraRpcs = { tracking: "limited", trackingDetails: privacyStatement.grove, }, - { - url: "https://xrpl.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - { - url: "wss://xrpl.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, ], }, 1449000: { @@ -9242,6 +9192,34 @@ export const extraRpcs = { }, ], }, + 4202: { + rpcs: [ + { + url: "https://lisk-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://lisk-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ] +}, + 3441006: { + rpcs: [ + { + url: "https://manta-pacific-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://manta-pacific-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ] +}, 397: { rpcs: [ { @@ -9255,7 +9233,77 @@ export const extraRpcs = { trackingDetails: privacyStatement.drpc, }, ] - }, +}, + 999999999: { + rpcs: [ + { + url: "https://zora-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://zora-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ] +}, + 8453: { + rpcs: [ + { + url: "https://base.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://base.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ] +}, + 232: { + rpcs: [ + { + url: "https://lens.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://lens.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ] +}, + 1440000: { + rpcs: [ + { + url: "https://xrpl.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://xrpl.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ] +}, + 97477: { + rpcs: [ + { + url: "https://doma.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://doma.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ] +}, 2523: { rpcs: [ { From 620732602de9d6b03e65568a94dca57eb25abe96 Mon Sep 17 00:00:00 2001 From: mintdart <96025197+mintdart@users.noreply.github.com> Date: Wed, 10 Dec 2025 00:11:27 -0800 Subject: [PATCH 4/6] fix --- constants/extraRpcs.js | 176 +++++++++++++++++------------------------ 1 file changed, 71 insertions(+), 105 deletions(-) diff --git a/constants/extraRpcs.js b/constants/extraRpcs.js index 163ed93019..434045b111 100644 --- a/constants/extraRpcs.js +++ b/constants/extraRpcs.js @@ -5368,6 +5368,16 @@ export const extraRpcs = { tracking: "limited", trackingDetails: privacyStatement.dwellir, }, + { + url: "https://base.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://base.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, ], }, 11235: { @@ -7158,7 +7168,19 @@ export const extraRpcs = { ], }, 4202: { - rpcs: ["https://rpc.sepolia-api.lisk.com"], + rpcs: [ + "https://rpc.sepolia-api.lisk.com", + { + url: "https://lisk-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://lisk-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ], }, 1135: { rpcs: [ @@ -7226,7 +7248,19 @@ export const extraRpcs = { ], }, 999999999: { - rpcs: ["https://sepolia.rpc.zora.energy"], + rpcs: [ + "https://sepolia.rpc.zora.energy", + { + url: "https://zora-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://zora-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + ], }, 7777777: { rpcs: [ @@ -7824,6 +7858,16 @@ export const extraRpcs = { tracking: "none", trackingDetails: privacyStatement.omnia, }, + { + url: "https://manta-pacific-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://manta-pacific-sepolia.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, ], }, 531050104: { @@ -8364,6 +8408,16 @@ export const extraRpcs = { tracking: "none", trackingDetails: privacyStatement.drpc, }, + { + url: "https://lens.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://lens.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, ], }, 37111: { @@ -9063,6 +9117,16 @@ export const extraRpcs = { tracking: "limited", trackingDetails: privacyStatement.grove, }, + { + url: "https://xrpl.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, + { + url: "wss://xrpl.drpc.org", + tracking: "none", + trackingDetails: privacyStatement.drpc, + }, ], }, 1449000: { @@ -9192,34 +9256,6 @@ export const extraRpcs = { }, ], }, - 4202: { - rpcs: [ - { - url: "https://lisk-sepolia.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - { - url: "wss://lisk-sepolia.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - ] -}, - 3441006: { - rpcs: [ - { - url: "https://manta-pacific-sepolia.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - { - url: "wss://manta-pacific-sepolia.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - ] -}, 397: { rpcs: [ { @@ -9228,82 +9264,12 @@ export const extraRpcs = { trackingDetails: privacyStatement.drpc, }, { - url: "wss://near.drpc.org", + url: "wss://near.drpc.org", tracking: "none", trackingDetails: privacyStatement.drpc, }, - ] -}, - 999999999: { - rpcs: [ - { - url: "https://zora-sepolia.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - { - url: "wss://zora-sepolia.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - ] -}, - 8453: { - rpcs: [ - { - url: "https://base.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - { - url: "wss://base.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - ] -}, - 232: { - rpcs: [ - { - url: "https://lens.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - { - url: "wss://lens.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - ] -}, - 1440000: { - rpcs: [ - { - url: "https://xrpl.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - { - url: "wss://xrpl.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - ] -}, - 97477: { - rpcs: [ - { - url: "https://doma.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - { - url: "wss://doma.drpc.org", - tracking: "none", - trackingDetails: privacyStatement.drpc, - }, - ] -}, + ], + }, 2523: { rpcs: [ { @@ -9312,11 +9278,11 @@ export const extraRpcs = { trackingDetails: privacyStatement.drpc, }, { - url: "wss://fraxtal-testnet.drpc.org", + url: "wss://fraxtal-testnet.drpc.org", tracking: "none", trackingDetails: privacyStatement.drpc, }, - ] + ], }, }; From 6c79b10a211a2f29079d2d8a805fa71f7049d6f0 Mon Sep 17 00:00:00 2001 From: mintdart <96025197+mintdart@users.noreply.github.com> Date: Mon, 15 Dec 2025 12:42:39 -0800 Subject: [PATCH 5/6] fix tests --- tests/check-duplicate-keys.js | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/tests/check-duplicate-keys.js b/tests/check-duplicate-keys.js index 4109d50bfb..a6edccde60 100644 --- a/tests/check-duplicate-keys.js +++ b/tests/check-duplicate-keys.js @@ -8,17 +8,25 @@ const fs = require("fs"); const path = require("path"); +const os = require("os"); const { execSync } = require("child_process"); /** * Check JavaScript syntax validity by attempting to import the ES module + * Uses a temporary .mjs wrapper to force ES module parsing */ function checkJsSyntax(filePath, fileName) { console.log(`Checking ${fileName} for valid JavaScript syntax...`); + // Convert to file:// URL for cross-platform compatibility + const fileUrl = `file://${filePath.replace(/\\/g, "/")}`; + + // Create a temporary .mjs file to force ES module context + const tempFile = path.join(os.tmpdir(), `syntax-check-${Date.now()}-${Math.random().toString(36).slice(2)}.mjs`); + fs.writeFileSync(tempFile, `import "${fileUrl}";\n`); + try { - // Try to import the module - this will catch syntax errors - execSync(`node --input-type=module -e "import '${filePath}'"`, { + execSync(`node "${tempFile}"`, { encoding: "utf-8", stdio: "pipe", }); @@ -27,10 +35,15 @@ function checkJsSyntax(filePath, fileName) { const errorOutput = error.stderr || error.stdout || error.message; // Extract the relevant error line const syntaxMatch = errorOutput.match(/SyntaxError: (.+)/); - const errorMsg = syntaxMatch ? syntaxMatch[1] : "Invalid syntax"; + const errorMsg = syntaxMatch ? syntaxMatch[1] : errorOutput.split("\n")[0] || "Invalid syntax"; console.error(`ERROR: Invalid JavaScript syntax in ${fileName}`); console.error(` ${errorMsg}`); throw new Error(`Invalid JavaScript syntax in ${fileName}: ${errorMsg}`); + } finally { + // Clean up temp file + try { + fs.unlinkSync(tempFile); + } catch {} } } From 2c49171ee2a90f5eb50d84d863b15f9cf450f56e Mon Sep 17 00:00:00 2001 From: mintdart <96025197+mintdart@users.noreply.github.com> Date: Mon, 15 Dec 2025 12:43:55 -0800 Subject: [PATCH 6/6] Revert "fix tests" This reverts commit 6c79b10a211a2f29079d2d8a805fa71f7049d6f0. --- tests/check-duplicate-keys.js | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/tests/check-duplicate-keys.js b/tests/check-duplicate-keys.js index a6edccde60..4109d50bfb 100644 --- a/tests/check-duplicate-keys.js +++ b/tests/check-duplicate-keys.js @@ -8,25 +8,17 @@ const fs = require("fs"); const path = require("path"); -const os = require("os"); const { execSync } = require("child_process"); /** * Check JavaScript syntax validity by attempting to import the ES module - * Uses a temporary .mjs wrapper to force ES module parsing */ function checkJsSyntax(filePath, fileName) { console.log(`Checking ${fileName} for valid JavaScript syntax...`); - // Convert to file:// URL for cross-platform compatibility - const fileUrl = `file://${filePath.replace(/\\/g, "/")}`; - - // Create a temporary .mjs file to force ES module context - const tempFile = path.join(os.tmpdir(), `syntax-check-${Date.now()}-${Math.random().toString(36).slice(2)}.mjs`); - fs.writeFileSync(tempFile, `import "${fileUrl}";\n`); - try { - execSync(`node "${tempFile}"`, { + // Try to import the module - this will catch syntax errors + execSync(`node --input-type=module -e "import '${filePath}'"`, { encoding: "utf-8", stdio: "pipe", }); @@ -35,15 +27,10 @@ function checkJsSyntax(filePath, fileName) { const errorOutput = error.stderr || error.stdout || error.message; // Extract the relevant error line const syntaxMatch = errorOutput.match(/SyntaxError: (.+)/); - const errorMsg = syntaxMatch ? syntaxMatch[1] : errorOutput.split("\n")[0] || "Invalid syntax"; + const errorMsg = syntaxMatch ? syntaxMatch[1] : "Invalid syntax"; console.error(`ERROR: Invalid JavaScript syntax in ${fileName}`); console.error(` ${errorMsg}`); throw new Error(`Invalid JavaScript syntax in ${fileName}: ${errorMsg}`); - } finally { - // Clean up temp file - try { - fs.unlinkSync(tempFile); - } catch {} } }