1 | const { ScriptTransformer } = require('@jest/transform');
|
2 |
|
3 | const getNextTransformer = (fileName, config) => {
|
4 | const self = config.transform.find(([pattern]) => new RegExp(pattern).test(fileName));
|
5 | return new ScriptTransformer({
|
6 | ...config,
|
7 | transform: config.transform.filter((entry) => entry !== self),
|
8 | });
|
9 | };
|
10 |
|
11 | module.exports = {
|
12 | process(src, fileName, config, { instrument }) {
|
13 | const transformer = getNextTransformer(fileName, config);
|
14 | const { code } = transformer.transformSource(fileName, src, instrument);
|
15 |
|
16 | return `${code};
|
17 | if(exports.default != null) {
|
18 | exports.default.parameters = exports.default.parameters || {};
|
19 | exports.default.parameters.fileName = '${fileName.replace(/\\/g, '\\\\')}';
|
20 | }
|
21 | `;
|
22 | },
|
23 | };
|