Setting the file. One moment.
Skill 28 · Wix Headless Replatform
Subchapter 28.22
Scripts
scripts/36 filesscripts/extract-seo.mjs
JavaScript25 lines848 B
#!/usr/bin/env node
import path from "node:path";
import { docsDir, fetchText, normalizeUrl, parseArgs, resolveOutputDir, writeJson } from "./lib/common.mjs";
import { extractSeo } from "./lib/html-extract.mjs";
async function main() {
const args = parseArgs();
const url = normalizeUrl(args._[0] || args.url).toString();
const outputDir = resolveOutputDir(url, args.out);
const seo = await extractSeoForUrl(url);
await writeJson(path.join(docsDir(outputDir), "seo.json"), seo);
if (args.json) process.stdout.write(`${JSON.stringify(seo, null, 2)}\n`);
}
export async function extractSeoForUrl(url) {
const html = await fetchText(url);
return extractSeo(html, url);
}
if (import.meta.url === `file://${process.argv[1]}`) {
main().catch((error) => {
console.error(error.stack || error.message);
process.exit(1);
});
}