@stryker-mutator/core
Version:
The extendable JavaScript mutation testing framework
39 lines • 1.87 kB
TypeScript
import type { execaCommand } from 'execa';
import { Injector, commonTokens, PluginContext } from '@stryker-mutator/api/plugin';
import { StrykerOptions } from '@stryker-mutator/api/core';
import { Reporter } from '@stryker-mutator/api/report';
import { I } from '@stryker-mutator/util';
import { coreTokens, PluginCreator } from '../di/index.js';
import { Timer } from '../utils/timer.js';
import { TemporaryDirectory } from '../utils/temporary-directory.js';
import { UnexpectedExitHandler } from '../unexpected-exit-handler.js';
import { FileSystem, Project } from '../fs/index.js';
import { DryRunContext } from './3-dry-run-executor.js';
export interface MutantInstrumenterContext extends PluginContext {
[commonTokens.options]: StrykerOptions;
[coreTokens.project]: Project;
[coreTokens.reporter]: Required<Reporter>;
[coreTokens.timer]: I<Timer>;
[coreTokens.temporaryDirectory]: I<TemporaryDirectory>;
[coreTokens.execa]: typeof execaCommand;
[coreTokens.process]: NodeJS.Process;
[coreTokens.unexpectedExitRegistry]: I<UnexpectedExitHandler>;
[coreTokens.pluginModulePaths]: readonly string[];
[coreTokens.fs]: I<FileSystem>;
[coreTokens.pluginCreator]: PluginCreator;
[coreTokens.loggingServerAddress]: {
port: number;
};
}
export declare class MutantInstrumenterExecutor {
private readonly injector;
private readonly project;
private readonly options;
private readonly pluginCreator;
static readonly inject: ["$injector", "project", "options", "pluginCreator"];
constructor(injector: Injector<MutantInstrumenterContext>, project: Project, options: StrykerOptions, pluginCreator: PluginCreator);
execute(): Promise<Injector<DryRunContext>>;
private readFilesToMutate;
private writeInstrumentedFiles;
}
//# sourceMappingURL=2-mutant-instrumenter-executor.d.ts.map