1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 | import type {Config} from '@jest/types';
|
8 | import type {EncodedSourceMap} from '@jridgewell/trace-mapping';
|
9 | import type {TransformTypes} from '@jest/types';
|
10 |
|
11 | export declare interface AsyncTransformer<TransformerConfig = unknown> {
|
12 | |
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 | canInstrument?: boolean;
|
19 | getCacheKey?: (
|
20 | sourceText: string,
|
21 | sourcePath: string,
|
22 | options: TransformOptions<TransformerConfig>,
|
23 | ) => string;
|
24 | getCacheKeyAsync?: (
|
25 | sourceText: string,
|
26 | sourcePath: string,
|
27 | options: TransformOptions<TransformerConfig>,
|
28 | ) => Promise<string>;
|
29 | process?: (
|
30 | sourceText: string,
|
31 | sourcePath: string,
|
32 | options: TransformOptions<TransformerConfig>,
|
33 | ) => TransformedSource;
|
34 | processAsync: (
|
35 | sourceText: string,
|
36 | sourcePath: string,
|
37 | options: TransformOptions<TransformerConfig>,
|
38 | ) => Promise<TransformedSource>;
|
39 | }
|
40 |
|
41 | export declare interface CallerTransformOptions {
|
42 | supportsDynamicImport: boolean;
|
43 | supportsExportNamespaceFrom: boolean;
|
44 | supportsStaticESM: boolean;
|
45 | supportsTopLevelAwait: boolean;
|
46 | }
|
47 |
|
48 | export declare function createScriptTransformer(
|
49 | config: Config.ProjectConfig,
|
50 | cacheFS?: StringMap,
|
51 | ): Promise<ScriptTransformer>;
|
52 |
|
53 | export declare function createTranspilingRequire(
|
54 | config: Config.ProjectConfig,
|
55 | ): Promise<
|
56 | <TModuleType = unknown>(
|
57 | resolverPath: string,
|
58 | applyInteropRequireDefault?: boolean,
|
59 | ) => Promise<TModuleType>
|
60 | >;
|
61 |
|
62 | declare interface ErrorWithCodeFrame extends Error {
|
63 | codeFrame?: string;
|
64 | }
|
65 |
|
66 | declare interface FixedRawSourceMap extends Omit<EncodedSourceMap, 'version'> {
|
67 | version: number;
|
68 | }
|
69 |
|
70 | export declare function handlePotentialSyntaxError(
|
71 | e: ErrorWithCodeFrame,
|
72 | ): ErrorWithCodeFrame;
|
73 |
|
74 | declare interface ReducedTransformOptions extends CallerTransformOptions {
|
75 | instrument: boolean;
|
76 | }
|
77 |
|
78 | declare interface RequireAndTranspileModuleOptions
|
79 | extends ReducedTransformOptions {
|
80 | applyInteropRequireDefault: boolean;
|
81 | }
|
82 |
|
83 | export declare type ScriptTransformer = ScriptTransformer_2;
|
84 |
|
85 | declare class ScriptTransformer_2 {
|
86 | private readonly _config;
|
87 | private readonly _cacheFS;
|
88 | private readonly _cache;
|
89 | private readonly _transformCache;
|
90 | private _transformsAreLoaded;
|
91 | constructor(_config: Config.ProjectConfig, _cacheFS: StringMap);
|
92 | private _buildCacheKeyFromFileInfo;
|
93 | private _getCacheKey;
|
94 | private _getCacheKeyAsync;
|
95 | private _createCachedFilename;
|
96 | private _getFileCachePath;
|
97 | private _getFileCachePathAsync;
|
98 | private _getTransformPath;
|
99 | loadTransformers(): Promise<void>;
|
100 | private _getTransformer;
|
101 | private _instrumentFile;
|
102 | private _buildTransformResult;
|
103 | transformSource(
|
104 | filepath: string,
|
105 | content: string,
|
106 | options: ReducedTransformOptions,
|
107 | ): TransformResult;
|
108 | transformSourceAsync(
|
109 | filepath: string,
|
110 | content: string,
|
111 | options: ReducedTransformOptions,
|
112 | ): Promise<TransformResult>;
|
113 | private _transformAndBuildScriptAsync;
|
114 | private _transformAndBuildScript;
|
115 | transformAsync(
|
116 | filename: string,
|
117 | options: TransformationOptions,
|
118 | fileSource?: string,
|
119 | ): Promise<TransformResult>;
|
120 | transform(
|
121 | filename: string,
|
122 | options: TransformationOptions,
|
123 | fileSource?: string,
|
124 | ): TransformResult;
|
125 | transformJson(
|
126 | filename: string,
|
127 | options: TransformationOptions,
|
128 | fileSource: string,
|
129 | ): string;
|
130 | requireAndTranspileModule<ModuleType = unknown>(
|
131 | moduleName: string,
|
132 | callback?: (module: ModuleType) => void | Promise<void>,
|
133 | options?: RequireAndTranspileModuleOptions,
|
134 | ): Promise<ModuleType>;
|
135 | shouldTransform(filename: string): boolean;
|
136 | }
|
137 |
|
138 | export declare function shouldInstrument(
|
139 | filename: string,
|
140 | options: ShouldInstrumentOptions,
|
141 | config: Config.ProjectConfig,
|
142 | ): boolean;
|
143 |
|
144 | export declare interface ShouldInstrumentOptions
|
145 | extends Pick<
|
146 | Config.GlobalConfig,
|
147 | 'collectCoverage' | 'collectCoverageFrom' | 'coverageProvider'
|
148 | > {
|
149 | changedFiles?: Set<string>;
|
150 | sourcesRelatedToTestsInChangedFiles?: Set<string>;
|
151 | }
|
152 |
|
153 | declare type StringMap = Map<string, string>;
|
154 |
|
155 | export declare interface SyncTransformer<TransformerConfig = unknown> {
|
156 | |
157 |
|
158 |
|
159 |
|
160 |
|
161 |
|
162 | canInstrument?: boolean;
|
163 | getCacheKey?: (
|
164 | sourceText: string,
|
165 | sourcePath: string,
|
166 | options: TransformOptions<TransformerConfig>,
|
167 | ) => string;
|
168 | getCacheKeyAsync?: (
|
169 | sourceText: string,
|
170 | sourcePath: string,
|
171 | options: TransformOptions<TransformerConfig>,
|
172 | ) => Promise<string>;
|
173 | process: (
|
174 | sourceText: string,
|
175 | sourcePath: string,
|
176 | options: TransformOptions<TransformerConfig>,
|
177 | ) => TransformedSource;
|
178 | processAsync?: (
|
179 | sourceText: string,
|
180 | sourcePath: string,
|
181 | options: TransformOptions<TransformerConfig>,
|
182 | ) => Promise<TransformedSource>;
|
183 | }
|
184 |
|
185 | export declare interface TransformationOptions
|
186 | extends ShouldInstrumentOptions,
|
187 | CallerTransformOptions {
|
188 | isInternalModule?: boolean;
|
189 | }
|
190 |
|
191 | export declare type TransformedSource = {
|
192 | code: string;
|
193 | map?: FixedRawSourceMap | string | null;
|
194 | };
|
195 |
|
196 |
|
197 |
|
198 |
|
199 |
|
200 |
|
201 |
|
202 |
|
203 |
|
204 | declare type Transformer_2<TransformerConfig = unknown> =
|
205 | | SyncTransformer<TransformerConfig>
|
206 | | AsyncTransformer<TransformerConfig>;
|
207 | export {Transformer_2 as Transformer};
|
208 |
|
209 | export declare type TransformerCreator<
|
210 | X extends Transformer_2<TransformerConfig>,
|
211 | TransformerConfig = unknown,
|
212 | > = (transformerConfig?: TransformerConfig) => X;
|
213 |
|
214 |
|
215 |
|
216 |
|
217 |
|
218 |
|
219 | export declare type TransformerFactory<X extends Transformer_2> = {
|
220 | createTransformer: TransformerCreator<X>;
|
221 | };
|
222 |
|
223 | export declare interface TransformOptions<TransformerConfig = unknown>
|
224 | extends ReducedTransformOptions {
|
225 |
|
226 | cacheFS: StringMap;
|
227 |
|
228 | config: Config.ProjectConfig;
|
229 |
|
230 | configString: string;
|
231 |
|
232 | transformerConfig: TransformerConfig;
|
233 | }
|
234 |
|
235 | export declare type TransformResult = TransformTypes.TransformResult;
|
236 |
|
237 | export {};
|