UNPKG

parse-domain

Version:

Splits a hostname into subdomains, domain and (effective) top-level domains

26 lines 1.51 kB
import * as fs from "node:fs"; import * as path from "node:path"; import { PUBLIC_SUFFIX_URL } from "../config.js"; import { fetchBuildSerializeTries } from "../update-tries.js"; const writeTriesToFiles = async ({ serializedIcannTrie, serializedPrivateTrie, }) => { const indexOfScriptArg = process.argv.lastIndexOf("--"); const targetDirectories = process.argv.slice(indexOfScriptArg + 1); await Promise.all(targetDirectories.map(async (targetDirectory) => { const pathToIcannTrie = path.resolve(import.meta.dirname, targetDirectory, "icann.js"); const pathToPrivateTrie = path.resolve(import.meta.dirname, targetDirectory, "private.js"); const pathToTrieInfoFile = path.resolve(import.meta.dirname, targetDirectory, "info.json"); console.warn(`Writing ${pathToIcannTrie}...`); console.warn(`Writing ${pathToPrivateTrie}...`); console.warn(`Writing ${pathToTrieInfoFile}...`); await Promise.all([ fs.promises.writeFile(pathToIcannTrie, `export default ${JSON.stringify(serializedIcannTrie)};`), fs.promises.writeFile(pathToPrivateTrie, `export default ${JSON.stringify(serializedPrivateTrie)};`), fs.promises.writeFile(pathToTrieInfoFile, JSON.stringify({ updatedAt: new Date(), })), ]); })); }; console.warn(`Fetching public suffix list from ${PUBLIC_SUFFIX_URL}...`); await writeTriesToFiles(await fetchBuildSerializeTries()); //# sourceMappingURL=update-tries.js.map