UNPKG

squint-cli

Version:

Squint makes visual reviews of web app releases easy

51 lines (50 loc) 1.63 kB
#!/usr/bin/env node "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const puppeteer_1 = __importDefault(require("puppeteer")); const lodash_1 = __importDefault(require("lodash")); const config_1 = require("./config"); const puppeteer_2 = require("./puppeteer"); const commands_1 = require("./commands"); const cli_1 = require("./cli"); async function main() { let config; try { config = config_1.parseConfig(); } catch (e) { console.error(e); process.exit(2); } const browser = await puppeteer_1.default[config.puppeteerLaunchMode.type](config.puppeteerLaunchMode.options); const pagePool = puppeteer_2.createPagePool(browser, config); if (config.command === 'crawl') { await commands_1.crawlCommand(pagePool, config); } else if (config.command === 'compare') { await commands_1.compareCommand(pagePool, config); } else if (config.command === 'screenshot') { await commands_1.screenshotCommand(pagePool, config); } else if (lodash_1.default.isUndefined(config.command)) { console.error(cli_1.formatHelp(config_1.defaultConfig)); } else { console.error(`Unknown command: ${config.command}`); process.exit(1); } if (config.puppeteerLaunchMode.type === 'launch') { await browser.close(); } else { browser.disconnect(); } } main().catch((err) => { console.error(err); process.exit(2); });