@fpjs-incubator/broyster
Version:
37 lines (36 loc) • 1.66 kB
TypeScript
import type { Config, ConfigOptions } from 'karma';
import type { KarmaTypescriptConfig } from 'karma-typescript';
declare module 'karma' {
interface ConfigOptions {
karmaTypescriptConfig?: KarmaTypescriptConfig | undefined;
}
interface Config extends ConfigOptions {
preset?: string;
}
}
interface KarmaConfiguratorOptions {
/** Will be shown in the BrowserStack Automation UI */
projectName: string;
/** List of files/patterns to load in the browser. Don't forget the necessary .d.ts files. */
includeFiles: ConfigOptions['files'];
/** Path to the tsconfig.json file that will be used to compile the TS files given in `includeFiles` */
tsconfigPath?: string;
/** Retries of failed tests are disabled in local (not CI) environment. Set this to `true` to enable. */
alwaysRetryTests?: boolean;
/** A callback to add custom configuration. It's called when the basic configuration is complete. */
configureCustom?: (karmaConfig: Config) => void | Promise<void>;
}
/**
* Makes a function that applies an opinionated configuration, used by Fingerprint's projects, to Karma.
*
* When a Karma configuration file is created, add `--preset local`, `--preset browserstack` or
* `--preset browserstack-beta` to the Karma command to choose where to run the tests.
*
* @example karma.conf.ts in the project's root directory
* module.exports = makeKarmaConfigurator({ ... })
*
* @example Run tests in the local browsers
* karma start --preset local --single-run
*/
export declare function makeKarmaConfigurator(options: KarmaConfiguratorOptions): (karmaConfig: Config) => void;
export {};