From e12b004dcc5848d5ae0638e885147c54e11cc72b Mon Sep 17 00:00:00 2001 From: Ahn Date: Tue, 9 Feb 2021 10:40:05 +0100 Subject: [PATCH] feat(presets): add typing for `presets` entry point (#2341) --- .eslintignore | 1 + presets/index.d.ts | 8 ++++++++ src/cli/helpers/presets.ts | 2 +- src/presets/create-jest-preset.ts | 3 +-- src/types.ts | 2 ++ 5 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 presets/index.d.ts diff --git a/.eslintignore b/.eslintignore index 2b56278eaa..5a69593f48 100644 --- a/.eslintignore +++ b/.eslintignore @@ -5,5 +5,6 @@ e2e/__workdir_synlink__/ e2e/__external-repos__/ coverage/ docs/ +presets/index.d.ts *.config.js .eslintrc.js diff --git a/presets/index.d.ts b/presets/index.d.ts new file mode 100644 index 0000000000..5c985d0dbc --- /dev/null +++ b/presets/index.d.ts @@ -0,0 +1,8 @@ +import type { TsJestPresets } from '../dist/types' + +declare const _default: { + defaults: TsJestPresets; + jsWithTs: TsJestPresets; + jsWithBabel: TsJestPresets; +}; +export = _default; diff --git a/src/cli/helpers/presets.ts b/src/cli/helpers/presets.ts index 00490a5ff1..3055b37790 100644 --- a/src/cli/helpers/presets.ts +++ b/src/cli/helpers/presets.ts @@ -1,4 +1,4 @@ -import type { TsJestPresets } from '../../presets/create-jest-preset' +import type { TsJestPresets } from '../../types' /** @internal */ export const enum JestPresetNames { diff --git a/src/presets/create-jest-preset.ts b/src/presets/create-jest-preset.ts index 0b48c79eac..44d309c808 100644 --- a/src/presets/create-jest-preset.ts +++ b/src/presets/create-jest-preset.ts @@ -1,11 +1,10 @@ import type { Config } from '@jest/types' +import type { TsJestPresets } from '../types' import { rootLogger } from '../utils/logger' const logger = rootLogger.child({ namespace: 'jest-preset' }) -export type TsJestPresets = Pick - interface CreateJestPresetOptions { allowJs?: boolean } diff --git a/src/types.ts b/src/types.ts index dab618cc4e..b0b8dd111a 100644 --- a/src/types.ts +++ b/src/types.ts @@ -162,6 +162,8 @@ export interface InitialOptionsTsJest extends Config.InitialOptions { globals?: GlobalConfigTsJest } +export type TsJestPresets = Pick + interface TsJestConfig$tsConfig$file { kind: 'file' value: string | undefined