UNPKG

creevey

Version:

Cross-browser screenshot testing tool for Storybook with fancy UI Runner

28 lines (24 loc) 895 B
import type { Config } from '../types'; import type { Options } from '../schema.js'; import { waitOnUrl } from './utils.js'; import { logger } from './logger.js'; const RESPONSE_CHECK_TIMEOUT_MS = 10000; const RESPONSE_CHECK_INTERVAL_MS = 200; export function getStorybookUrl({ storybookUrl }: Config, { storybookStart }: Options): [string, string | undefined] { if (storybookStart) { const url = new URL(storybookUrl); url.hostname = 'localhost'; return [url.toString(), storybookUrl]; } return [storybookUrl, undefined]; } export async function checkIsStorybookConnected(url: string) { try { await waitOnUrl(url, RESPONSE_CHECK_TIMEOUT_MS, RESPONSE_CHECK_INTERVAL_MS); return true; } catch (reason: unknown) { const error = reason instanceof Error ? (reason.stack ?? reason.message) : (reason as string); logger().error(error); return false; } }