TypeScript 61.9%
HTML 37.2%
SQL 0.7%
1/**2 * Capture/smoke helper for the g6 connectors: load connectors/domains.json plus ONLY this group's3 * domains.d fragment through `setDomains()`. Parallel contributors may leave a temporarily invalid4 * fragment in domains.d; this keeps our live captures runnable without touching their files.5 * (Production uses the normal loader, which validates every fragment.)6 */7import { readFileSync } from 'node:fs';8import path from 'node:path';9import { fileURLToPath } from 'node:url';10import { setDomains } from '@rareindex/connectors';1112const here = path.dirname(fileURLToPath(import.meta.url));13const root = path.resolve(here, '../../..');1415export function useGroupDomains(): void {16 const base = JSON.parse(readFileSync(path.join(root, 'connectors/domains.json'), 'utf8')) as { version?: string; defaults?: Record<string, unknown>; domains?: Record<string, unknown> };17 const frag = JSON.parse(readFileSync(path.join(root, 'connectors/domains.d/g6-comics-toys-games.json'), 'utf8')) as { domains?: Record<string, unknown> };18 setDomains({ version: base.version ?? '1.0', defaults: (base.defaults ?? {}) as never, domains: { ...(base.domains ?? {}), ...(frag.domains ?? {}) } as never });19}2021/** Loads repo-root .env (FIRECRAWL_API_KEY / SCRAPFLY_API_KEY) when present. */22export function loadEnv(): void {23 try {24 process.loadEnvFile?.(path.join(root, '.env'));25 } catch {26 /* no .env — fine for api-only connectors */27 }28}29