Skip to content

Commit 858c50b

Browse files
authored
feat(transformer): async code transformation (#9889)
1 parent 344b31a commit 858c50b

File tree

8 files changed

+1859
-125
lines changed

8 files changed

+1859
-125
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
- `[jest-transform]` Pass config options defined in Jest's config to transformer's `process` and `getCacheKey` functions ([#10926](https://github.com/facebook/jest/pull/10926))
2525
- `[jest-transform]` Add support for transformers written in ESM ([#11163](https://github.com/facebook/jest/pull/11163))
2626
- `[jest-transform]` [**BREAKING**] Do not export `ScriptTransformer` class, instead export the async function `createScriptTransformer` ([#11163](https://github.com/facebook/jest/pull/11163))
27+
- `[jest-transform]` Async code transformations ([#9889](https://github.com/facebook/jest/pull/9889))
2728
- `[jest-worker]` Add support for custom task queues and adds a `PriorityQueue` implementation. ([#10921](https://github.com/facebook/jest/pull/10921))
2829
- `[jest-worker]` Add in-order scheduling policy to jest worker ([10902](https://github.com/facebook/jest/pull/10902))
2930

packages/babel-jest/src/index.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import * as fs from 'graceful-fs';
1717
import slash = require('slash');
1818
import type {
1919
TransformOptions as JestTransformOptions,
20-
Transformer,
20+
SyncTransformer,
2121
} from '@jest/transform';
2222
import type {Config} from '@jest/types';
2323
import {loadPartialConfig} from './loadBabelConfig';
@@ -26,7 +26,7 @@ const THIS_FILE = fs.readFileSync(__filename);
2626
const jestPresetPath = require.resolve('babel-preset-jest');
2727
const babelIstanbulPlugin = require.resolve('babel-plugin-istanbul');
2828

29-
type CreateTransformer = Transformer<TransformOptions>['createTransformer'];
29+
type CreateTransformer = SyncTransformer<TransformOptions>['createTransformer'];
3030

3131
const createTransformer: CreateTransformer = userOptions => {
3232
const inputOptions = userOptions ?? {};
@@ -160,7 +160,7 @@ const createTransformer: CreateTransformer = userOptions => {
160160
};
161161
};
162162

163-
const transformer: Transformer<TransformOptions> = {
163+
const transformer: SyncTransformer<TransformOptions> = {
164164
...createTransformer(),
165165
// Assigned here so only the exported transformer has `createTransformer`,
166166
// instead of all created transformers by the function

packages/jest-repl/src/cli/repl.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,11 @@ declare const jestProjectConfig: Config.ProjectConfig;
1111
import * as path from 'path';
1212
import * as repl from 'repl';
1313
import {runInThisContext} from 'vm';
14-
import type {Transformer} from '@jest/transform';
14+
import type {SyncTransformer} from '@jest/transform';
1515
import type {Config} from '@jest/types';
1616

17-
let transformer: Transformer;
17+
// TODO: support async as well
18+
let transformer: SyncTransformer;
1819
let transformerConfig: unknown;
1920

2021
const evalCommand: repl.REPLEval = (

0 commit comments

Comments
 (0)