intern
Version:
Intern. A next-generation code testing stack for JavaScript.
100 lines (99 loc) • 2.73 kB
TypeScript
import { ReporterOptions } from '../reporters/Reporter';
import { BenchmarkReporterOptions } from '../reporters/Benchmark';
import { TunnelOptions } from '@theintern/digdug/Tunnel';
import { BrowserStackOptions } from '@theintern/digdug/BrowserStackTunnel';
import { SeleniumOptions } from '@theintern/digdug/SeleniumTunnel';
export interface Config extends ResourceConfig {
bail: boolean;
baseline: boolean;
basePath: string;
benchmark: boolean;
benchmarkConfig?: BenchmarkConfig;
browser: ResourceConfig;
coverageVariable: string;
debug: boolean;
defaultTimeout: number;
description: string;
filterErrorStack: boolean;
grep: RegExp;
internPath: string;
name: string;
node: ResourceConfig;
sessionId: string;
showConfig: boolean;
capabilities: {
name?: string;
build?: string;
[key: string]: any;
};
connectTimeout: number;
coverage: false | string[];
environments: EnvironmentSpec[];
excludeInstrumentation: never;
functionalBaseUrl?: string;
functionalCoverage: boolean;
functionalSuites: string[];
functionalTimeouts: {
connectTimeout?: never;
find?: number;
executeAsync?: number;
pageLoad?: number;
};
heartbeatInterval?: number;
instrumenterOptions: {
[key: string]: any;
};
leaveRemoteOpen: boolean | 'fail';
maxConcurrency: number;
proxy?: string;
remoteOptions: RemoteOptions;
runInSync: boolean;
serveOnly: boolean;
serverPort: number;
serverUrl: string;
socketPort?: number;
socketTimeout?: number;
tunnel: string;
tunnelOptions: TunnelOptions & BrowserStackOptions & SeleniumOptions;
warnOnUnhandledRejection: boolean | RegExp;
warnOnUncaughtException: boolean | RegExp;
}
export interface ReporterDescriptor {
name: string;
options?: ReporterOptions;
}
export interface PluginDescriptor {
script: string;
useLoader?: boolean;
options?: any;
}
export interface Listener<T> {
(arg: T): void | PromiseLike<void>;
}
export interface ResourceConfig {
loader: LoaderDescriptor;
reporters: ReporterDescriptor[];
plugins: PluginDescriptor[];
suites: string[];
tsconfig?: string | false;
require: never;
requires: never;
scripts: never;
}
export interface BenchmarkConfig extends BenchmarkReporterOptions {
id: string;
}
export interface LoaderDescriptor {
script: string;
options?: {
internLoaderPath?: string;
[key: string]: any;
};
}
export interface EnvironmentSpec {
browserName: string;
[key: string]: any;
}
export interface RemoteOptions {
disableDomUpdates: boolean;
}