@stryker-mutator/jest-runner
Version:
A plugin to use the jest test runner and framework in Stryker, the JavaScript mutation testing framework
25 lines (17 loc) • 930 B
text/typescript
import { createRequire } from 'module';
import type jestConfig from 'jest-config';
import { pluginTokens } from '../plugin-di.js';
const require = createRequire(import.meta.url);
export class JestConfigWrapper {
private readonly jestConfig: typeof jestConfig;
public static readonly inject = [pluginTokens.resolveFromDirectory] as const;
constructor(resolveFromDirectory: string) {
// Use requireResolve, that way you can use this plugin from a different directory
const requireFromJest = createRequire(require.resolve('jest', { paths: [resolveFromDirectory] }));
const requireFromJestCli = createRequire(requireFromJest.resolve('jest-cli'));
this.jestConfig = requireFromJestCli('jest-config');
}
public readInitialOptions(...args: Parameters<typeof jestConfig.readInitialOptions>): ReturnType<typeof jestConfig.readInitialOptions> {
return this.jestConfig.readInitialOptions(...args);
}
}