mh-two-thousand-and-two
2024-04-12 7fc6dbf547b8899d949b67cdec36b96a7d1701c7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
'use strict';
 
Object.defineProperty(exports, '__esModule', {
  value: true
});
exports.default = void 0;
 
function _pEachSeries() {
  const data = _interopRequireDefault(require('p-each-series'));
 
  _pEachSeries = function () {
    return data;
  };
 
  return data;
}
 
function _transform() {
  const data = require('@jest/transform');
 
  _transform = function () {
    return data;
  };
 
  return data;
}
 
function _jestUtil() {
  const data = require('jest-util');
 
  _jestUtil = function () {
    return data;
  };
 
  return data;
}
 
function _interopRequireDefault(obj) {
  return obj && obj.__esModule ? obj : {default: obj};
}
 
/**
 * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
var _default = async ({allTests, globalConfig, moduleName}) => {
  const globalModulePaths = new Set(
    allTests.map(test => test.context.config[moduleName])
  );
 
  if (globalConfig[moduleName]) {
    globalModulePaths.add(globalConfig[moduleName]);
  }
 
  if (globalModulePaths.size > 0) {
    await (0, _pEachSeries().default)(
      Array.from(globalModulePaths),
      async modulePath => {
        if (!modulePath) {
          return;
        }
 
        const correctConfig = allTests.find(
          t => t.context.config[moduleName] === modulePath
        );
        const projectConfig = correctConfig
          ? correctConfig.context.config // Fallback to first config
          : allTests[0].context.config;
        const transformer = new (_transform().ScriptTransformer)(projectConfig);
        await transformer.requireAndTranspileModule(modulePath, async m => {
          const globalModule = (0, _jestUtil().interopRequireDefault)(m)
            .default;
 
          if (typeof globalModule !== 'function') {
            throw new TypeError(
              `${moduleName} file must export a function at ${modulePath}`
            );
          }
 
          await globalModule(globalConfig);
        });
      }
    );
  }
 
  return Promise.resolve();
};
 
exports.default = _default;