UNPKG

vitest-environment-puppeteer

Version:
60 lines (56 loc) 1.76 kB
import { ConnectOptions, PuppeteerLaunchOptions, Browser, Page, BrowserContext } from 'puppeteer'; import { Config } from 'vitest-dev-server'; import { Environment } from 'vitest/environments'; interface VitestPuppeteerConfig { /** * Puppeteer connect options. * @see https://pptr.dev/api/puppeteer.connectoptions */ connect?: ConnectOptions; /** * Puppeteer launch options. * @see https://pptr.dev/api/puppeteer.launchoptions */ launch?: PuppeteerLaunchOptions; /** * Server config for `vitest-dev-server`. * @see https://www.npmjs.com/package/vitest-dev-server */ server?: Config | Config[]; /** * Allow to run one browser per worker. * @default false */ browserPerWorker?: boolean; /** * Browser context to use. * @default "default" */ browserContext?: "default" | "incognito"; /** * Exit on page error. * @default true */ exitOnPageError?: boolean; /** * Use `runBeforeUnload` in `page.close`. * @see https://pptr.dev/api/puppeteer.page.close * @default false */ runBeforeUnloadOnClose?: boolean; } type VitestPuppeteer = { debug: () => Promise<void>; resetPage: () => Promise<void>; resetBrowser: () => Promise<void>; }; type StrictGlobal = { browser?: Browser | undefined; page?: Page | undefined; context?: BrowserContext | undefined; puppeteerConfig: VitestPuppeteerConfig; vitestPuppeteer: VitestPuppeteer; }; type VitestPuppeteerGlobal = Required<StrictGlobal>; declare const PuppeteerEnvironment: Environment; export { PuppeteerEnvironment as TestEnvironment, type VitestPuppeteerConfig, type VitestPuppeteerGlobal, PuppeteerEnvironment as default };