UNPKG

react-scanner-orbit

Version:

Extract React components and props usage from code.

50 lines (45 loc) 1.4 kB
const startTime = process.hrtime.bigint(); import path from "path"; import sade from "sade"; import { validateConfig } from "./utils.js"; import run from "./run.js"; import { createRequire } from "module"; const require = createRequire(import.meta.url); const packageJson = require("../package.json"); sade("react-scanner", true) .version(packageJson.version) .describe(packageJson.description) .option("-c, --config", "Path to config file") .example("-c /path/to/react-scanner.config.js") .option("-p, --path", "/path/to/folder") .action(async (options) => { const configPath = path.resolve(process.cwd(), options.config); const configDir = path.dirname(configPath); const { default: config } = await import(configPath); const pathToCrawl = options.path && path.resolve(process.cwd(), options.path); if (pathToCrawl) { run({ config, configDir, crawlFrom: pathToCrawl, startTime, }); } else { const { crawlFrom, errors } = validateConfig(config, configDir); if (errors.length === 0) { run({ config, configDir, crawlFrom, startTime, }); } else { console.error(`Config errors:`); errors.forEach((error) => { console.error(`- ${error}`); }); process.exit(1); } } }) .parse(process.argv);