UNPKG

testcafe

Version:

Automated browser testing for the modern web development stack.

70 lines 9.22 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const get_exportable_lib_path_1 = __importDefault(require("../test-file/get-exportable-lib-path")); function getPresetEnvForTestCodeOpts(dontUseModules) { const opts = { targets: { node: 'current' }, loose: true, exclude: ['transform-regenerator'], }; if (dontUseModules) opts.modules = false; return opts; } function getPresetEnvForClientFunctionOpts() { return { loose: true, exclude: ['transform-typeof-symbol', 'transform-for-of'], }; } function getModuleResolverOpts(esm) { return { resolvePath(source) { //NOTE: Prevent module caching to import 'fixture' and 'test' in ESM mode. if (source === 'testcafe') return (0, get_exportable_lib_path_1.default)(esm); return source; }, }; } function getTransformForOfOptions() { // NOTE: allowArrayLike is required to allow iterating non-iterable objects (e.g. NodeList) // to preserve compatibility with older TestCafe code return { loose: true, allowArrayLike: true }; } function getTransformRuntimeOpts() { // NOTE: We are forced to import helpers to each compiled file // because of '@babel/plugin-transform-runtime' plugin cannot correctly resolve path // to the helpers from the '@babel/runtime' module. return { 'helpers': false, }; } function getPresetReact() { const presetReact = require('@babel/preset-react'); presetReact.presets = []; // disables flow so it doesn't confict w/ presetFlow return presetReact; } // NOTE: lazy load heavy dependencies function loadLibs({ esm } = {}) { return { babel: require('@babel/core'), presetStage2: require('./preset-stage-2'), presetFlow: require('@babel/preset-flow'), transformRuntime: [require('@babel/plugin-transform-runtime'), getTransformRuntimeOpts()], transformForOfAsArray: [require('@babel/plugin-transform-for-of'), getTransformForOfOptions()], presetEnvForClientFunction: [require('@babel/preset-env'), getPresetEnvForClientFunctionOpts()], presetEnvForTestCode: [require('@babel/preset-env'), getPresetEnvForTestCodeOpts(esm)], moduleResolver: [require('babel-plugin-module-resolver'), getModuleResolverOpts(esm)], presetReact: getPresetReact(), transformPrivateMethods: [require('@babel/plugin-transform-private-methods'), { loose: true }], transformClassProperties: [require('@babel/plugin-transform-class-properties'), { loose: true }], transformClassStaticBlock: require('@babel/plugin-transform-class-static-block'), }; } exports.default = loadLibs; module.exports = exports.default; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1saWJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBpbGVyL2JhYmVsL2xvYWQtbGlicy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1HQUF3RTtBQUV4RSxTQUFTLDJCQUEyQixDQUFFLGNBQWM7SUFDaEQsTUFBTSxJQUFJLEdBQUc7UUFDVCxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1FBQzVCLEtBQUssRUFBSSxJQUFJO1FBQ2IsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7S0FDckMsQ0FBQztJQUVGLElBQUksY0FBYztRQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBRXpCLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLGlDQUFpQztJQUN0QyxPQUFPO1FBQ0gsS0FBSyxFQUFJLElBQUk7UUFDYixPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxrQkFBa0IsQ0FBQztLQUMzRCxDQUFDO0FBQ04sQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUUsR0FBRztJQUMvQixPQUFPO1FBQ0gsV0FBVyxDQUFFLE1BQU07WUFDZiwwRUFBMEU7WUFDMUUsSUFBSSxNQUFNLEtBQUssVUFBVTtnQkFDckIsT0FBTyxJQUFBLGlDQUFvQixFQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRXJDLE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7S0FDSixDQUFDO0FBQ04sQ0FBQztBQUVELFNBQVMsd0JBQXdCO0lBQzdCLDJGQUEyRjtJQUMzRixxREFBcUQ7SUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ2pELENBQUM7QUFFRCxTQUFTLHVCQUF1QjtJQUM1Qiw4REFBOEQ7SUFDOUQsb0ZBQW9GO0lBQ3BGLG1EQUFtRDtJQUNuRCxPQUFPO1FBQ0gsU0FBUyxFQUFFLEtBQUs7S0FDbkIsQ0FBQztBQUNOLENBQUM7QUFFRCxTQUFTLGNBQWM7SUFDbkIsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFbkQsV0FBVyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQyxvREFBb0Q7SUFFOUUsT0FBTyxXQUFXLENBQUM7QUFDdkIsQ0FBQztBQUVELHFDQUFxQztBQUNyQyxTQUF3QixRQUFRLENBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO0lBQzFDLE9BQU87UUFDSCxLQUFLLEVBQXVCLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDbEQsWUFBWSxFQUFnQixPQUFPLENBQUMsa0JBQWtCLENBQUM7UUFDdkQsVUFBVSxFQUFrQixPQUFPLENBQUMsb0JBQW9CLENBQUM7UUFDekQsZ0JBQWdCLEVBQVksQ0FBQyxPQUFPLENBQUMsaUNBQWlDLENBQUMsRUFBRSx1QkFBdUIsRUFBRSxDQUFDO1FBQ25HLHFCQUFxQixFQUFPLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQztRQUNuRywwQkFBMEIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLGlDQUFpQyxFQUFFLENBQUM7UUFDL0Ysb0JBQW9CLEVBQVEsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsRUFBRSwyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1RixjQUFjLEVBQWMsQ0FBQyxPQUFPLENBQUMsOEJBQThCLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRyxXQUFXLEVBQWlCLGNBQWMsRUFBRTtRQUM1Qyx1QkFBdUIsRUFBSyxDQUFDLE9BQU8sQ0FBQyx5Q0FBeUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ2pHLHdCQUF3QixFQUFJLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDbEcseUJBQXlCLEVBQUcsT0FBTyxDQUFDLDRDQUE0QyxDQUFDO0tBQ3BGLENBQUM7QUFDTixDQUFDO0FBZkQsMkJBZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2V0RXhwb3J0YWJsZUxpYlBhdGggZnJvbSAnLi4vdGVzdC1maWxlL2dldC1leHBvcnRhYmxlLWxpYi1wYXRoJztcblxuZnVuY3Rpb24gZ2V0UHJlc2V0RW52Rm9yVGVzdENvZGVPcHRzIChkb250VXNlTW9kdWxlcykge1xuICAgIGNvbnN0IG9wdHMgPSB7XG4gICAgICAgIHRhcmdldHM6IHsgbm9kZTogJ2N1cnJlbnQnIH0sXG4gICAgICAgIGxvb3NlOiAgIHRydWUsXG4gICAgICAgIGV4Y2x1ZGU6IFsndHJhbnNmb3JtLXJlZ2VuZXJhdG9yJ10sXG4gICAgfTtcblxuICAgIGlmIChkb250VXNlTW9kdWxlcylcbiAgICAgICAgb3B0cy5tb2R1bGVzID0gZmFsc2U7XG5cbiAgICByZXR1cm4gb3B0cztcbn1cblxuZnVuY3Rpb24gZ2V0UHJlc2V0RW52Rm9yQ2xpZW50RnVuY3Rpb25PcHRzICgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBsb29zZTogICB0cnVlLFxuICAgICAgICBleGNsdWRlOiBbJ3RyYW5zZm9ybS10eXBlb2Ytc3ltYm9sJywgJ3RyYW5zZm9ybS1mb3Itb2YnXSxcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBnZXRNb2R1bGVSZXNvbHZlck9wdHMgKGVzbSkge1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlc29sdmVQYXRoIChzb3VyY2UpIHtcbiAgICAgICAgICAgIC8vTk9URTogUHJldmVudCBtb2R1bGUgY2FjaGluZyB0byBpbXBvcnQgJ2ZpeHR1cmUnIGFuZCAndGVzdCcgaW4gRVNNIG1vZGUuXG4gICAgICAgICAgICBpZiAoc291cmNlID09PSAndGVzdGNhZmUnKVxuICAgICAgICAgICAgICAgIHJldHVybiBnZXRFeHBvcnRhYmxlTGliUGF0aChlc20pO1xuXG4gICAgICAgICAgICByZXR1cm4gc291cmNlO1xuICAgICAgICB9LFxuICAgIH07XG59XG5cbmZ1bmN0aW9uIGdldFRyYW5zZm9ybUZvck9mT3B0aW9ucyAoKSB7XG4gICAgLy8gTk9URTogYWxsb3dBcnJheUxpa2UgaXMgcmVxdWlyZWQgdG8gYWxsb3cgaXRlcmF0aW5nIG5vbi1pdGVyYWJsZSBvYmplY3RzIChlLmcuIE5vZGVMaXN0KVxuICAgIC8vIHRvIHByZXNlcnZlIGNvbXBhdGliaWxpdHkgd2l0aCBvbGRlciBUZXN0Q2FmZSBjb2RlXG4gICAgcmV0dXJuIHsgbG9vc2U6IHRydWUsIGFsbG93QXJyYXlMaWtlOiB0cnVlIH07XG59XG5cbmZ1bmN0aW9uIGdldFRyYW5zZm9ybVJ1bnRpbWVPcHRzICgpIHtcbiAgICAvLyBOT1RFOiBXZSBhcmUgZm9yY2VkIHRvIGltcG9ydCBoZWxwZXJzIHRvIGVhY2ggY29tcGlsZWQgZmlsZVxuICAgIC8vIGJlY2F1c2Ugb2YgJ0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJ1bnRpbWUnIHBsdWdpbiBjYW5ub3QgY29ycmVjdGx5IHJlc29sdmUgcGF0aFxuICAgIC8vIHRvIHRoZSBoZWxwZXJzIGZyb20gdGhlICdAYmFiZWwvcnVudGltZScgbW9kdWxlLlxuICAgIHJldHVybiB7XG4gICAgICAgICdoZWxwZXJzJzogZmFsc2UsXG4gICAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0UHJlc2V0UmVhY3QgKCkge1xuICAgIGNvbnN0IHByZXNldFJlYWN0ID0gcmVxdWlyZSgnQGJhYmVsL3ByZXNldC1yZWFjdCcpO1xuXG4gICAgcHJlc2V0UmVhY3QucHJlc2V0cyA9IFtdOyAvLyBkaXNhYmxlcyBmbG93IHNvIGl0IGRvZXNuJ3QgY29uZmljdCB3LyBwcmVzZXRGbG93XG5cbiAgICByZXR1cm4gcHJlc2V0UmVhY3Q7XG59XG5cbi8vIE5PVEU6IGxhenkgbG9hZCBoZWF2eSBkZXBlbmRlbmNpZXNcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGxvYWRMaWJzICh7IGVzbSB9ID0ge30pIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBiYWJlbDogICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZSgnQGJhYmVsL2NvcmUnKSxcbiAgICAgICAgcHJlc2V0U3RhZ2UyOiAgICAgICAgICAgICAgIHJlcXVpcmUoJy4vcHJlc2V0LXN0YWdlLTInKSxcbiAgICAgICAgcHJlc2V0RmxvdzogICAgICAgICAgICAgICAgIHJlcXVpcmUoJ0BiYWJlbC9wcmVzZXQtZmxvdycpLFxuICAgICAgICB0cmFuc2Zvcm1SdW50aW1lOiAgICAgICAgICAgW3JlcXVpcmUoJ0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJ1bnRpbWUnKSwgZ2V0VHJhbnNmb3JtUnVudGltZU9wdHMoKV0sXG4gICAgICAgIHRyYW5zZm9ybUZvck9mQXNBcnJheTogICAgICBbcmVxdWlyZSgnQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZm9yLW9mJyksIGdldFRyYW5zZm9ybUZvck9mT3B0aW9ucygpXSxcbiAgICAgICAgcHJlc2V0RW52Rm9yQ2xpZW50RnVuY3Rpb246IFtyZXF1aXJlKCdAYmFiZWwvcHJlc2V0LWVudicpLCBnZXRQcmVzZXRFbnZGb3JDbGllbnRGdW5jdGlvbk9wdHMoKV0sXG4gICAgICAgIHByZXNldEVudkZvclRlc3RDb2RlOiAgICAgICBbcmVxdWlyZSgnQGJhYmVsL3ByZXNldC1lbnYnKSwgZ2V0UHJlc2V0RW52Rm9yVGVzdENvZGVPcHRzKGVzbSldLFxuICAgICAgICBtb2R1bGVSZXNvbHZlcjogICAgICAgICAgICAgW3JlcXVpcmUoJ2JhYmVsLXBsdWdpbi1tb2R1bGUtcmVzb2x2ZXInKSwgZ2V0TW9kdWxlUmVzb2x2ZXJPcHRzKGVzbSldLFxuICAgICAgICBwcmVzZXRSZWFjdDogICAgICAgICAgICAgICAgZ2V0UHJlc2V0UmVhY3QoKSxcbiAgICAgICAgdHJhbnNmb3JtUHJpdmF0ZU1ldGhvZHM6ICAgIFtyZXF1aXJlKCdAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1wcml2YXRlLW1ldGhvZHMnKSwgeyBsb29zZTogdHJ1ZSB9XSxcbiAgICAgICAgdHJhbnNmb3JtQ2xhc3NQcm9wZXJ0aWVzOiAgIFtyZXF1aXJlKCdAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1jbGFzcy1wcm9wZXJ0aWVzJyksIHsgbG9vc2U6IHRydWUgfV0sXG4gICAgICAgIHRyYW5zZm9ybUNsYXNzU3RhdGljQmxvY2s6ICByZXF1aXJlKCdAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1jbGFzcy1zdGF0aWMtYmxvY2snKSxcbiAgICB9O1xufVxuIl19