/
index.ts
63 lines (54 loc) · 1.64 KB
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import { readFileSync } from 'fs'
import { resolve } from 'path'
import { createJestPreset } from './config/create-jest-preset'
import { pathsToModuleNameMapper } from './config/paths-to-module-name-mapper'
import { TsJestTransformer } from './ts-jest-transformer'
import { TsJestGlobalOptions } from './types'
import { VersionCheckers } from './util/version-checkers'
export * from './util/testing'
// tslint:disable-next-line:no-var-requires
export const version: string = require('../package.json').version
export const digest: string = readFileSync(resolve(__dirname, '..', '.ts-jest-digest'), 'utf8')
let transformer!: TsJestTransformer
function defaultTransformer(): TsJestTransformer {
return transformer || (transformer = createTransformer())
}
export function createTransformer(baseConfig?: TsJestGlobalOptions) {
VersionCheckers.jest.warn()
return new TsJestTransformer(baseConfig)
}
/**
* @internal
*/
export function process(...args: any[]): any {
return (defaultTransformer().process as any)(...args)
}
/**
* @internal
*/
export function getCacheKey(...args: any[]): any {
return (defaultTransformer().getCacheKey as any)(...args)
}
/**
* @internal
*/
// we let jest doing the instrumentation, it does it well
export const canInstrument = false
const jestPreset = createJestPreset()
/**
* @internal
*/
// for tests
// tslint:disable-next-line:variable-name
export const __singleton = () => transformer
/**
* @internal
*/
// tslint:disable-next-line:variable-name
export const __resetModule = () => (transformer = undefined as any)
export {
// extra ==================
createJestPreset,
jestPreset,
pathsToModuleNameMapper,
}