mirror of
https://github.com/actions/setup-python.git
synced 2024-11-23 09:17:16 +00:00
187 lines
4.6 KiB
JavaScript
187 lines
4.6 KiB
JavaScript
'use strict';
|
|
|
|
Object.defineProperty(exports, '__esModule', {
|
|
value: true
|
|
});
|
|
exports.default = void 0;
|
|
|
|
function _path() {
|
|
const data = require('path');
|
|
|
|
_path = function _path() {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
function _pEachSeries() {
|
|
const data = _interopRequireDefault(require('p-each-series'));
|
|
|
|
_pEachSeries = function _pEachSeries() {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
function _pirates() {
|
|
const data = require('pirates');
|
|
|
|
_pirates = function _pirates() {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
function _transform() {
|
|
const data = require('@jest/transform');
|
|
|
|
_transform = function _transform() {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
function _jestUtil() {
|
|
const data = require('jest-util');
|
|
|
|
_jestUtil = function _jestUtil() {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
function _interopRequireDefault(obj) {
|
|
return obj && obj.__esModule ? obj : {default: obj};
|
|
}
|
|
|
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
try {
|
|
var info = gen[key](arg);
|
|
var value = info.value;
|
|
} catch (error) {
|
|
reject(error);
|
|
return;
|
|
}
|
|
if (info.done) {
|
|
resolve(value);
|
|
} else {
|
|
Promise.resolve(value).then(_next, _throw);
|
|
}
|
|
}
|
|
|
|
function _asyncToGenerator(fn) {
|
|
return function() {
|
|
var self = this,
|
|
args = arguments;
|
|
return new Promise(function(resolve, reject) {
|
|
var gen = fn.apply(self, args);
|
|
function _next(value) {
|
|
asyncGeneratorStep(gen, resolve, reject, _next, _throw, 'next', value);
|
|
}
|
|
function _throw(err) {
|
|
asyncGeneratorStep(gen, resolve, reject, _next, _throw, 'throw', err);
|
|
}
|
|
_next(undefined);
|
|
});
|
|
};
|
|
}
|
|
|
|
var _default =
|
|
/*#__PURE__*/
|
|
(function() {
|
|
var _ref = _asyncToGenerator(function*({
|
|
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) {
|
|
yield (0, _pEachSeries().default)(
|
|
Array.from(globalModulePaths),
|
|
/*#__PURE__*/
|
|
(function() {
|
|
var _ref2 = _asyncToGenerator(function*(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
|
|
); // Load the transformer to avoid a cycle where we need to load a
|
|
// transformer in order to transform it in the require hooks
|
|
|
|
transformer.preloadTransformer(modulePath);
|
|
let transforming = false;
|
|
const revertHook = (0, _pirates().addHook)(
|
|
(code, filename) => {
|
|
try {
|
|
transforming = true;
|
|
return (
|
|
transformer.transformSource(filename, code, false).code ||
|
|
code
|
|
);
|
|
} finally {
|
|
transforming = false;
|
|
}
|
|
},
|
|
{
|
|
exts: [(0, _path().extname)(modulePath)],
|
|
ignoreNodeModules: false,
|
|
matcher: (...args) => {
|
|
if (transforming) {
|
|
// Don't transform any dependency required by the transformer itself
|
|
return false;
|
|
}
|
|
|
|
return transformer.shouldTransform(...args);
|
|
}
|
|
}
|
|
);
|
|
const globalModule = (0, _jestUtil().interopRequireDefault)(
|
|
require(modulePath)
|
|
).default;
|
|
|
|
if (typeof globalModule !== 'function') {
|
|
throw new TypeError(
|
|
`${moduleName} file must export a function at ${modulePath}`
|
|
);
|
|
}
|
|
|
|
yield globalModule(globalConfig);
|
|
revertHook();
|
|
});
|
|
|
|
return function(_x2) {
|
|
return _ref2.apply(this, arguments);
|
|
};
|
|
})()
|
|
);
|
|
}
|
|
|
|
return Promise.resolve();
|
|
});
|
|
|
|
return function(_x) {
|
|
return _ref.apply(this, arguments);
|
|
};
|
|
})();
|
|
|
|
exports.default = _default;
|