aboutsummaryrefslogtreecommitdiffstats
path: root/config/jestEsbuildTransformer.js
diff options
context:
space:
mode:
Diffstat (limited to 'config/jestEsbuildTransformer.js')
-rw-r--r--config/jestEsbuildTransformer.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/config/jestEsbuildTransformer.js b/config/jestEsbuildTransformer.js
new file mode 100644
index 0000000..b6f2fc3
--- /dev/null
+++ b/config/jestEsbuildTransformer.js
@@ -0,0 +1,28 @@
1import { transform } from 'esbuild';
2
3import { node } from './buildConstants.js';
4
5/**
6 * @param {string} source
7 * @param {import('@jest/types').Config.Path} filePath
8 * @return {Promise<import('@jest/transform').TransformedSource>}
9 */
10async function processAsync(source, filePath) {
11 const { code, map } = await transform(source, {
12 loader: filePath.endsWith('tsx') ? 'tsx' : 'ts',
13 sourcefile: filePath,
14 format: 'esm',
15 target: node,
16 sourcemap: true,
17 });
18 return {
19 code,
20 map,
21 };
22}
23
24/** @type {import('@jest/transform').AsyncTransformer<void>} */
25export default {
26 canInstrument: false,
27 processAsync,
28};