UNPKG

26.6 kBTypeScriptView Raw
1// Type definitions for karma 5.0
2// Project: https://github.com/karma-runner/karma, http://karma-runner.github.io
3// Definitions by: Tanguy Krotoff <https://github.com/tkrotoff>
4// James Garbutt <https://github.com/43081j>
5// Yaroslav Admin <https://github.com/devoto13>
6// Piotr Błażejewicz <https://github.com/peterblazejewicz>
7// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
8// TypeScript Version: 3.2
9
10/// <reference types="node" />
11
12// See Karma public API https://karma-runner.github.io/latest/dev/public-api.html
13import https = require('https');
14import { Appender } from 'log4js';
15import { EventEmitter } from 'events';
16import * as constants from './lib/constants';
17import { VERSION } from './lib/constants';
18
19export { constants, VERSION };
20/**
21 * `start` method is deprecated since 0.13. It will be removed in 0.14.
22 * Please use
23 * <code>
24 * server = new Server(config, [done])
25 * server.start()
26 * </code>
27 * instead.
28 *
29 * @deprecated
30 */
31export const server: DeprecatedServer;
32export const runner: Runner;
33export const stopper: Stopper;
34
35export namespace launcher {
36 class Launcher {
37 static generateId(): string;
38
39 constructor(emitter: NodeJS.EventEmitter, injector: any);
40
41 // TODO: Can this return value ever be typified?
42 launch(names: string[], protocol: string, hostname: string, port: number, urlRoot: string): any[];
43 kill(id: string, callback: () => void): boolean;
44 restart(id: string): boolean;
45 killAll(callback: () => void): void;
46 areAllCaptured(): boolean;
47 markCaptured(id: string): void;
48 }
49}
50
51/** @deprecated */
52export interface DeprecatedServer {
53 /** @deprecated */
54 start(options?: any, callback?: ServerCallback): void;
55}
56
57export interface Runner {
58 run(options?: ConfigOptions | ConfigFile, callback?: ServerCallback): void;
59}
60
61export interface Stopper {
62 /**
63 * This function will signal a running server to stop. The equivalent of karma stop.
64 */
65 stop(options?: ConfigOptions, callback?: ServerCallback): void;
66}
67
68export interface TestResults {
69 disconnected: boolean;
70 error: boolean;
71 exitCode: number;
72 failed: number;
73 success: number;
74}
75
76export class Server extends EventEmitter {
77 constructor(options?: ConfigOptions | ConfigFile, callback?: ServerCallback);
78 /**
79 * Start the server
80 */
81 start(): void;
82 /**
83 * Get properties from the injector
84 * @param token
85 */
86 get(token: string): any;
87 /**
88 * Force a refresh of the file list
89 */
90 refreshFiles(): Promise<any>;
91
92 on(event: string, listener: (...args: any[]) => void): this;
93
94 /**
95 * Listen to the 'run_complete' event.
96 */
97 on(event: 'run_complete', listener: (browsers: any, results: TestResults) => void): this;
98
99 /**
100 * Backward-compatibility with karma-intellij bundled with WebStorm.
101 * Deprecated since version 0.13, to be removed in 0.14
102 */
103 // static start(): void;
104}
105
106export type ServerCallback = (exitCode: number) => void;
107
108export interface Config {
109 set: (config: ConfigOptions) => void;
110 LOG_DISABLE: string;
111 LOG_ERROR: string;
112 LOG_WARN: string;
113 LOG_INFO: string;
114 LOG_DEBUG: string;
115}
116
117export interface ConfigFile {
118 configFile: string;
119}
120
121// For documentation and intellisense list Karma browsers
122
123/**
124 * Available browser launchers
125 * - `Chrome` - launcher requires `karma-chrome-launcher` plugin
126 * - `ChromeCanary` - launcher requires `karma-chrome-launcher` plugin
127 * - `ChromeHeadless` - launcher requires `karma-chrome-launcher` plugin
128 * - `PhantomJS` - launcher requires `karma-phantomjs-launcher` plugin
129 * - `Firefox` - launcher requires `karma-firefox-launcher` plugin
130 * - `FirefoxHeadless` - launcher requires `karma-firefox-launcher` plugin
131 * - `FirefoxDeveloper` - launcher requires `karma-firefox-launcher` plugin
132 * - `FirefoxDeveloperHeadless` - launcher requires `karma-firefox-launcher` plugin
133 * - `FirefoxAurora` - launcher requires `karma-firefox-launcher` plugin
134 * - `FirefoxAuroraHeadless` - launcher requires `karma-firefox-launcher` plugin
135 * - `FirefoxNightly` - launcher requires `karma-firefox-launcher` plugin
136 * - `FirefoxNightlyHeadless` - launcher requires `karma-firefox-launcher` plugin
137 * - `Opera` - launcher requires `karma-opera-launcher` plugin
138 * - `IE` - launcher requires `karma-ie-launcher` plugin
139 * - `Safari` - launcher requires karma-safari-launcher plugin
140 */
141export type AutomatedBrowsers =
142 | 'Chrome'
143 | 'ChromeCanary'
144 | 'ChromeHeadless'
145 | 'PhantomJS'
146 | 'Firefox'
147 | 'FirefoxHeadless'
148 | 'FirefoxDeveloper'
149 | 'FirefoxDeveloperHeadless'
150 | 'FirefoxAurora'
151 | 'FirefoxAuroraHeadless'
152 | 'FirefoxNightly'
153 | 'FirefoxNightlyHeadless'
154 | 'Opera'
155 | 'IE'
156 | 'Safari';
157
158export interface CustomHeaders {
159 /** Regular expression string to match files */
160 match: string;
161 /** HTTP header name */
162 name: string;
163 /** HTTP header value */
164 value: string;
165}
166
167export interface ProxyOptions {
168 /** The target url or path (mandatory) */
169 target: string;
170 /**
171 * Whether or not the proxy should override the Host header using the host from the target
172 * @defult false
173 */
174 changeOrigin?: boolean;
175}
176
177/** A map of path-proxy pairs. */
178export interface PathProxyPairs {
179 [path: string]: string | ProxyOptions;
180}
181
182/** For use when the Karma server needs to be run behind a proxy that changes the base url, etc */
183export interface UpstreamProxy {
184 /**
185 * Will be prepended to the base url when launching browsers and prepended to internal urls as loaded by the browsers
186 * @default '/'
187 */
188 path?: string;
189 /**
190 * Will be used as the port when launching browsers
191 * @default 9875
192 */
193 port?: number;
194 /**
195 * Will be used as the hostname when launching browsers
196 * @default 'localhost'
197 */
198 hostname?: string;
199 /**
200 * Will be used as the protocol when launching browsers
201 * @default 'http'
202 */
203 protocol?: string;
204}
205
206// description of inline plugins
207export type PluginName = string;
208// tslint:disable-next-line:ban-types support for constructor function and classes
209export type ConstructorFn = Function | (new (...params: any[]) => any);
210export type FactoryFn = (...params: any[]) => any;
211export type ConstructorFnType = ['type', ConstructorFn];
212export type FactoryFnType = ['factory', FactoryFn];
213export type ValueType = ['value', any];
214export type InlinePluginType = FactoryFnType | ConstructorFnType | ValueType;
215export type InlinePluginDef = Record<PluginName, InlinePluginType>;
216
217export interface ConfigOptions {
218 /**
219 * @description Enable or disable watching files and executing the tests whenever one of these files changes.
220 * @default true
221 */
222 autoWatch?: boolean;
223 /**
224 * @description When Karma is watching the files for changes, it tries to batch multiple changes into a single run
225 * so that the test runner doesn't try to start and restart running tests more than it should.
226 * The configuration setting tells Karma how long to wait (in milliseconds) after any changes have occurred
227 * before starting the test process again.
228 * @default 250
229 */
230 autoWatchBatchDelay?: number;
231 /**
232 * @default ''
233 * @description The root path location that will be used to resolve all relative paths defined in <code>files</code> and <code>exclude</code>.
234 * If the basePath configuration is a relative path then it will be resolved to
235 * the <code>__dirname</code> of the configuration file.
236 */
237 basePath?: string;
238 /**
239 * Configure how the browser console is logged with the following properties, all of which are optional
240 */
241 browserConsoleLogOptions?: BrowserConsoleLogOptions;
242 /**
243 * @default 2000
244 * @description How long does Karma wait for a browser to reconnect (in ms).
245 * <p>
246 * With a flaky connection it is pretty common that the browser disconnects,
247 * but the actual test execution is still running without any problems. Karma does not treat a disconnection
248 * as immediate failure and will wait <code>browserDisconnectTimeout</code> (ms).
249 * If the browser reconnects during that time, everything is fine.
250 * </p>
251 */
252 browserDisconnectTimeout?: number;
253 /**
254 * @default 0
255 * @description The number of disconnections tolerated.
256 * <p>
257 * The <code>disconnectTolerance</code> value represents the maximum number of tries a browser will attempt
258 * in the case of a disconnection. Usually any disconnection is considered a failure,
259 * but this option allows you to define a tolerance level when there is a flaky network link between
260 * the Karma server and the browsers.
261 * </p>
262 */
263 browserDisconnectTolerance?: number;
264 /**
265 * @default 10000
266 * @description How long will Karma wait for a message from a browser before disconnecting from it (in ms).
267 * <p>
268 * If, during test execution, Karma does not receive any message from a browser within
269 * <code>browserNoActivityTimeout</code> (ms), it will disconnect from the browser
270 * </p>
271 */
272 browserNoActivityTimeout?: number;
273 /**
274 * Timeout for the client socket connection (in ms)
275 * @default 20000
276 */
277 browserSocketTimeout?: number;
278 /**
279 * @default []
280 * Possible Values:
281 * <ul>
282 * <li>Chrome (launcher comes installed with Karma)</li>
283 * <li>ChromeCanary (launcher comes installed with Karma)</li>
284 * <li>PhantomJS (launcher comes installed with Karma)</li>
285 * <li>Firefox (launcher requires karma-firefox-launcher plugin)</li>
286 * <li>FirefoxHeadless (launcher requires karma-firefox-launcher plugin)</li>
287 * <li>FirefoxDeveloper (launcher requires karma-firefox-launcher plugin)</li>
288 * <li>FirefoxDeveloperHeadless (launcher requires karma-firefox-launcher plugin)</li>
289 * <li>FirefoxAurora (launcher requires karma-firefox-launcher plugin)</li>
290 * <li>FirefoxAuroraHeadless (launcher requires karma-firefox-launcher plugin)</li>
291 * <li>FirefoxNightly (launcher requires karma-firefox-launcher plugin)</li>
292 * <li>FirefoxNightlyHeadless (launcher requires karma-firefox-launcher plugin)</li>
293 * <li>Opera (launcher requires karma-opera-launcher plugin)</li>
294 * <li>Internet Explorer (launcher requires karma-ie-launcher plugin)</li>
295 * <li>Safari (launcher requires karma-safari-launcher plugin)</li>
296 * </ul>
297 * @description A list of browsers to launch and capture. When Karma starts up, it will also start up each browser
298 * which is placed within this setting. Once Karma is shut down, it will shut down these browsers as well.
299 * You can capture any browser manually by opening the browser and visiting the URL where
300 * the Karma web server is listening (by default it is <code>http://localhost:9876/</code>).
301 */
302 browsers?: Array<AutomatedBrowsers | string>;
303 /**
304 * @default 60000
305 * @description Timeout for capturing a browser (in ms).
306 * <p>
307 * The <code>captureTimeout</code> value represents the maximum boot-up time allowed for a
308 * browser to start and connect to Karma. If any browser does not get captured within the timeout, Karma
309 * will kill it and try to launch it again and, after three attempts to capture it, Karma will give up.
310 * </p>
311 */
312 captureTimeout?: number;
313 client?: ClientOptions;
314 /**
315 * @default true
316 * @description Enable or disable colors in the output (reporters and logs).
317 */
318 colors?: boolean;
319 /**
320 * @default 'Infinity'
321 * @description How many browsers Karma launches in parallel.
322 * Especially on services like SauceLabs and Browserstack, it makes sense only to launch a limited
323 * amount of browsers at once, and only start more when those have finished. Using this configuration,
324 * you can specify how many browsers should be running at once at any given point in time.
325 */
326 concurrency?: number;
327 /**
328 * When true, this will append the crossorigin attribute to generated script tags,
329 * which enables better error reporting for JavaScript files served from a different origin
330 * @default true
331 */
332 crossOriginAttribute?: boolean;
333 /**
334 * If null (default), uses karma's own context.html file.
335 * @default undefined
336 */
337 customContextFile?: string;
338 /**
339 * If null (default), uses karma's own client_with_context.html file (which is used when client.runInParent set to true).
340 * @default undefined
341 */
342 customClientContextFile?: string;
343 /**
344 * If null (default), uses karma's own debug.html file.
345 * @default undefined
346 */
347 customDebugFile?: string;
348 /**
349 * Custom HTTP headers that will be set upon serving files by Karma's web server.
350 * Custom headers are useful, especially with upcoming browser features like Service Workers.
351 * @default undefined
352 */
353 customHeaders?: CustomHeaders[];
354 customLaunchers?: { [key: string]: CustomLauncher };
355 /**
356 * When true, this will start the karma server in another process, writing no output to the console.
357 * The server can be stopped using the karma stop command.
358 * @default false
359 */
360 detached?: boolean;
361 /**
362 * @default []
363 * @description List of files/patterns to exclude from loaded files.
364 */
365 exclude?: string[];
366 /**
367 * Enable or disable failure on running empty test-suites.
368 * If disabled the program will return exit-code 0 and display a warning.
369 * @default true
370 */
371 failOnEmptyTestSuite?: boolean;
372 /**
373 * Enable or disable failure on tests deliberately disabled, eg fit() or xit() tests in jasmine.
374 * Use this to prevent accidental disabling tests needed to validate production.
375 * @default true
376 */
377 failOnSkippedTests?: boolean;
378 /**
379 * Enable or disable failure on failing tests.
380 * @default true
381 */
382 failOnFailingTestSuite?: boolean;
383 /**
384 * @default []
385 * @description List of files/patterns to load in the browser.
386 */
387 files?: Array<FilePattern | string>;
388 /**
389 * Force socket.io to use JSONP polling instead of XHR polling
390 * @default false
391 */
392 forceJSONP?: boolean;
393 /**
394 * A new error message line
395 * @default undefined
396 */
397 formatError?: (msg: string) => string;
398 /**
399 * @default []
400 * @description List of test frameworks you want to use. Typically, you will set this to ['jasmine'], ['mocha'] or ['qunit']...
401 * Please note just about all frameworks in Karma require an additional plugin/framework library to be installed (via NPM).
402 */
403 frameworks?: string[];
404 /**
405 * @default 'localhost'
406 * @description Hostname to be used when capturing browsers.
407 */
408 hostname?: string;
409 /**
410 * Module used for Karma webserver
411 * @default undefined
412 */
413 httpModule?: string;
414 /**
415 * @default {}
416 * @description Options object to be used by Node's https class.
417 * Object description can be found in the
418 * [NodeJS.org API docs](https://nodejs.org/api/tls.html#tls_tls_createserver_options_secureconnectionlistener)
419 */
420 httpsServerOptions?: https.ServerOptions;
421 /**
422 * Address that the server will listen on. Change to 'localhost' to only listen to the loopback, or '::' to listen on all IPv6 interfaces
423 * @default '0.0.0.0' or `LISTEN_ADDR`
424 */
425 listenAddress?: string;
426 /**
427 * @default config.LOG_INFO
428 * Possible values:
429 * <ul>
430 * <li>config.LOG_DISABLE</li>
431 * <li>config.LOG_ERROR</li>
432 * <li>config.LOG_WARN</li>
433 * <li>config.LOG_INFO</li>
434 * <li>config.LOG_DEBUG</li>
435 * </ul>
436 * @description Level of logging.
437 */
438 logLevel?: string;
439 /**
440 * @default [{type: 'console'}]
441 * @description A list of log appenders to be used. See the documentation for [log4js] for more information.
442 */
443 loggers?: { [name: string]: Appender } | Appender[];
444 /**
445 * @default []
446 * @description List of names of additional middleware you want the
447 * Karma server to use. Middleware will be used in the order listed.
448 * You must have installed the middleware via a plugin/framework
449 * (either inline or via NPM). Additional information can be found in
450 * [plugins](http://karma-runner.github.io/2.0/config/plugins.html).
451 * The plugin must provide an express/connect middleware function
452 * (details about this can be found in the
453 * [Express](http://expressjs.com/guide/using-middleware.html) docs).
454 */
455 middleware?: string[];
456 /**
457 * This is the same as middleware except that these middleware will be run before karma's own middleware.
458 * @default []
459 */
460 beforeMiddleware?: string[];
461 /**
462 * @default {}
463 * @description Redefine default mapping from file extensions to MIME-type.
464 * Set property name to required MIME, provide Array of extensions (without dots) as it's value.
465 */
466 mime?: { [type: string]: string[] };
467 /**
468 * Socket.io pingTimeout in ms, https://socket.io/docs/server-api/#new-Server-httpServer-options.
469 * Very slow networks may need values up to 60000. Larger values delay discovery of deadlock in tests or browser crashes.
470 * @default 5000
471 */
472 pingTimeout?: number;
473 /**
474 * @default ['karma-*']
475 * @description List of plugins to load. A plugin can be a string (in which case it will be required
476 * by Karma) or an inlined plugin - Object.
477 * By default, Karma loads all sibling NPM modules which have a name starting with karma-*.
478 * Note: Just about all plugins in Karma require an additional library to be installed (via NPM).
479 */
480 plugins?: Array<PluginName | InlinePluginDef>;
481 /**
482 * @default 9876
483 * @description The port where the web server will be listening.
484 */
485 port?: number;
486 /**
487 * How long will Karma wait for browser process to terminate before sending a SIGKILL signal
488 * @default 2000
489 */
490 processKillTimeout?: number;
491 /**
492 * @default {'**\/*.coffee': 'coffee'}
493 * @description A map of preprocessors to use.
494 *
495 * Preprocessors can be loaded through [plugins].
496 *
497 * Note: Just about all preprocessors in Karma (other than CoffeeScript and some other defaults)
498 * require an additional library to be installed (via NPM).
499 *
500 * Be aware that preprocessors may be transforming the files and file types that are available at run time. For instance,
501 * if you are using the "coverage" preprocessor on your source files, if you then attempt to interactively debug
502 * your tests, you'll discover that your expected source code is completely changed from what you expected. Because
503 * of that, you'll want to engineer this so that your automated builds use the coverage entry in the "reporters" list,
504 * but your interactive debugging does not.
505 *
506 */
507 preprocessors?: { [name: string]: string | string[] };
508 /**
509 * @default 'http:'
510 * Possible Values:
511 * <ul>
512 * <li>http:</li>
513 * <li>https:</li>
514 * </ul>
515 * @description Protocol used for running the Karma webserver.
516 * Determines the use of the Node http or https class.
517 * Note: Using <code>'https:'</code> requires you to specify <code>httpsServerOptions</code>.
518 */
519 protocol?: string;
520 /**
521 * @default {}
522 * @description A map of path-proxy pairs
523 * The proxy can be specified directly by the target url or path, or with an object to configure more options
524 */
525 proxies?: PathProxyPairs;
526 /**
527 * Called when requesting Proxy
528 * @default undefined
529 */
530 proxyReq?: (proxyReq: any, req: any, res: any, options: object) => void;
531 /**
532 * Called when respnsing Proxy
533 * @default undefined
534 */
535 proxyRes?: (proxyRes: any, req: any, res: any) => void;
536 /**
537 * @default true
538 * @description Whether or not Karma or any browsers should raise an error when an inavlid SSL certificate is found.
539 */
540 proxyValidateSSL?: boolean;
541 /**
542 * @default 0
543 * @description Karma will report all the tests that are slower than given time limit (in ms).
544 * This is disabled by default (since the default value is 0).
545 */
546 reportSlowerThan?: number;
547 /**
548 * @default ['progress']
549 * Possible Values:
550 * <ul>
551 * <li>dots</li>
552 * <li>progress</li>
553 * </ul>
554 * @description A list of reporters to use.
555 * Additional reporters, such as growl, junit, teamcity or coverage can be loaded through plugins.
556 * Note: Just about all additional reporters in Karma (other than progress) require an additional library to be installed (via NPM).
557 */
558 reporters?: string[];
559 /**
560 * When Karma is watching the files for changes, it will delay a new run
561 * until the current run is finished. Enabling this setting
562 * will cancel the current run and start a new run immediately when a change is detected.
563 */
564 restartOnFileChange?: boolean;
565 /**
566 * When a browser crashes, karma will try to relaunch. This defines how many times karma should relaunch a browser before giving up.
567 * @default 2
568 */
569 retryLimit?: number;
570 /**
571 * @default false
572 * @description Continuous Integration mode.
573 * If true, Karma will start and capture all configured browsers, run tests and then exit with an exit code of 0 or 1 depending
574 * on whether all tests passed or any tests failed.
575 */
576 singleRun?: boolean;
577 /**
578 * @default ['polling', 'websocket']
579 * @description An array of allowed transport methods between the browser and testing server. This configuration setting
580 * is handed off to [socket.io](http://socket.io/) (which manages the communication
581 * between browsers and the testing server).
582 */
583 transports?: string[];
584 /**
585 * For use when the Karma server needs to be run behind a proxy that changes the base url, etc
586 */
587 upstreamProxy?: UpstreamProxy;
588 /**
589 * @default '/'
590 * @description The base url, where Karma runs.
591 * All of Karma's urls get prefixed with the urlRoot. This is helpful when using proxies, as
592 * sometimes you might want to proxy a url that is already taken by Karma.
593 */
594 urlRoot?: string;
595}
596
597export interface ClientOptions {
598 /**
599 * @default undefined
600 * @description When karma run is passed additional arguments on the command-line, they
601 * are passed through to the test adapter as karma.config.args (an array of strings).
602 * The client.args option allows you to set this value for actions other than run.
603 * How this value is used is up to your test adapter - you should check your adapter's
604 * documentation to see how (and if) it uses this value.
605 */
606 args?: string[];
607 /**
608 * @default false
609 * @description Set style display none on client elements.
610 * If true, Karma does not display the banner and browser list.
611 * Useful when using karma on component tests with screenshots
612 */
613 clientDisplayNone?: boolean;
614 /**
615 * @default true
616 * @description Run the tests inside an iFrame or a new window
617 * If true, Karma runs the tests inside an iFrame. If false, Karma runs the tests in a new window. Some tests may not run in an
618 * iFrame and may need a new window to run.
619 */
620 useIframe?: boolean;
621 /**
622 * @default true
623 * @description Capture all console output and pipe it to the terminal.
624 */
625 captureConsole?: boolean;
626 /**
627 * @default false
628 * @description Run the tests on the same window as the client, without using iframe or a new window
629 */
630 runInParent?: boolean;
631 /**
632 * @default true
633 * @description Clear the context window
634 * If true, Karma clears the context window upon the completion of running the tests.
635 * If false, Karma does not clear the context window upon the completion of running the tests.
636 * Setting this to false is useful when embedding a Jasmine Spec Runner Template.
637 */
638 clearContext?: boolean;
639}
640
641/** type to use when including a file */
642export type FilePatternTypes = 'css' | 'html' | 'js' | 'dart' | 'module' | 'dom';
643
644export interface FilePattern {
645 /**
646 * The pattern to use for matching.
647 */
648 pattern: string;
649 /**
650 * @default true
651 * @description If <code>autoWatch</code> is true all files that have set watched to true will be watched
652 * for changes.
653 */
654 watched?: boolean;
655 /**
656 * @default true
657 * @description Should the files be included in the browser using <script> tag? Use false if you want to
658 * load them manually, eg. using Require.js.
659 */
660 included?: boolean;
661 /**
662 * @default true
663 * @description Should the files be served by Karma's webserver?
664 */
665 served?: boolean;
666 /**
667 * Choose the type to use when including a file
668 * @default 'js'
669 * @description The type determines the mechanism for including the file.
670 * The css and html types create link elements; the js, dart, and module elements create script elements.
671 * The dom type includes the file content in the page, used, for example, to test components combining HTML and JS.
672 */
673 type?: FilePatternTypes;
674 /**
675 * @default false
676 * @description Should the files be served from disk on each request by Karma's webserver?
677 */
678 nocache?: boolean;
679}
680
681export interface CustomLauncher {
682 base: string;
683 browserName?: string;
684 flags?: string[];
685 platform?: string;
686}
687
688export interface BrowserConsoleLogOptions {
689 /** the desired log-level, where level log always is logged */
690 level?: 'log' | 'error' | 'warn' | 'info' | 'debug';
691 /**
692 * The format is a string where `%b`, `%t`, `%T`, and `%m` are replaced with the browser string,
693 * log type in lower-case, log type in uppercase, and log message, respectively.
694 * This format will only effect the output file
695 */
696 format?: string;
697 /** output-path of the output-file */
698 path?: string;
699 /** if the log should be written in the terminal, or not */
700 terminal?: boolean;
701}
702
703export namespace config {
704 function parseConfig(configFilePath: string, cliOptions: ConfigOptions): Config;
705}