diff --git a/generate-json.js b/generate-json.js index 841682feb7..8189621f30 100644 --- a/generate-json.js +++ b/generate-json.js @@ -1,20 +1,22 @@ -import {generateChainData} from "./utils/fetch.js" -import {writeFileSync} from "fs" +const { writeFileSync } = require("fs"); +async function writeRpcsJson() { + // Use dynamic import to load ES6 module + const fetchModule = await import("./utils/fetch.js"); + const { generateChainData } = fetchModule; -async function writeRpcsJson(){ - const rpcs = await generateChainData() - - const cleanedRpcs = rpcs.map(chain => { - if (chain.rpc) { - chain.rpc = chain.rpc.map(rpcEntry => { - const { trackingDetails, ...rest } = rpcEntry - return rest - }) - } - return chain - }) - - writeFileSync("out/rpcs.json", JSON.stringify(cleanedRpcs, null, 2)) + const rpcs = await generateChainData(); + + const cleanedRpcs = rpcs.map((chain) => { + if (chain.rpc) { + chain.rpc = chain.rpc.map((rpcEntry) => { + const { trackingDetails, ...rest } = rpcEntry; + return rest; + }); + } + return chain; + }); + + writeFileSync("out/rpcs.json", JSON.stringify(cleanedRpcs, null, 2)); } writeRpcsJson(); \ No newline at end of file diff --git a/generate-sitemap.js b/generate-sitemap.js index bf573f3deb..5849502ec2 100644 --- a/generate-sitemap.js +++ b/generate-sitemap.js @@ -1,8 +1,6 @@ -import chainIds from "./constants/chainIds.js"; -import fs from "fs"; -import { generateChainData } from "./utils/fetch.js"; +const fs = require("fs"); -function generateSiteMap(chains) { +async function generateSiteMap(chains, chainIds) { return ` @@ -68,10 +66,16 @@ function generateSiteMap(chains) { } async function writeSiteMap() { + // Use dynamic import to load ES6 modules + const chainIdsModule = await import("./constants/chainIds.js"); + const chainIds = chainIdsModule.default; + const fetchModule = await import("./utils/fetch.js"); + const { generateChainData } = fetchModule; + const chains = await generateChainData(); // We generate the XML sitemap with the chains data - const sitemap = generateSiteMap(chains); + const sitemap = await generateSiteMap(chains, chainIds); // We write the sitemap to the next export out folder fs.writeFileSync("out/sitemap.xml", sitemap); diff --git a/hooks/useFilteredChains.jsx b/hooks/useFilteredChains.jsx index 0a9853bf85..f3bcdab887 100644 --- a/hooks/useFilteredChains.jsx +++ b/hooks/useFilteredChains.jsx @@ -1,25 +1,12 @@ import React, { useMemo } from 'react'; import { useRouter } from 'next/router'; - -const TESTNET_KEYWORDS = ['test', 'devnet']; +import { isTestnet } from '../utils'; const createSearchMatcher = (searchTerm) => { const normalized = searchTerm.toLowerCase(); return (value) => value?.toLowerCase().includes(normalized); }; -const isTestnet = (chain) => { - const lowercaseValues = [ - chain.name, - chain.title, - chain.network - ].map((val) => val?.toLowerCase()); - - return TESTNET_KEYWORDS.some((keyword) => - lowercaseValues.some((val) => val?.includes(keyword)) - ); -}; - const matchesSearchTerm = (chain, matcher) => { return ( matcher(chain.chain) || diff --git a/package.json b/package.json index 10db3c8a16..81fbd1bc5f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,6 @@ { "name": "chainlist", "version": "1.0.0", - "private": true, "scripts": { "dev": "next dev", "build": "./scripts/build.sh", diff --git a/pages/index.js b/pages/index.js index 00677487a3..0b886e92f2 100755 --- a/pages/index.js +++ b/pages/index.js @@ -46,7 +46,7 @@ function Home({ chains }) { })} - {end - 1 < finalChains.length ? ( + {end < finalChains.length ? (