UNPKG

testcafe

Version:

Automated browser testing for the modern web development stack.

38 lines 5.13 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.load = void 0; const api_based_1 = __importDefault(require("./test-file/api-based")); const url_1 = __importDefault(require("url")); const index_1 = __importDefault(require("./index")); const setup_sourcemap_support_1 = require("../utils/setup-sourcemap-support"); function getFilenameFromURL(url) { try { return url_1.default.fileURLToPath(url); } catch (_) { return null; } } async function load(url, context, defaultLoad) { const isNodeModulesDep = api_based_1.default._isNodeModulesDep(url); const isTestcafeLibDep = api_based_1.default._isTestCafeLibDep(url); const filename = getFilenameFromURL(url); if (isNodeModulesDep || isTestcafeLibDep || !filename) return defaultLoad(url, context, defaultLoad); const testFilesInfo = await index_1.default.createTestFileInfo(filename, true); if (testFilesInfo === null || testFilesInfo === void 0 ? void 0 : testFilesInfo.compiler) { const [compiledCode] = await testFilesInfo.compiler.precompile([testFilesInfo]); setup_sourcemap_support_1.fileContentsCache[url] = compiledCode; return { format: context.format || 'module', source: compiledCode, shortCircuit: true, }; } return defaultLoad(url, context, defaultLoad); } exports.load = load; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNtLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21waWxlci9lc20tbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHNFQUFpRTtBQUNqRSw4Q0FBMkI7QUFDM0Isb0RBQStCO0FBQy9CLDhFQUFxRTtBQWNyRSxTQUFTLGtCQUFrQixDQUFFLEdBQVc7SUFDcEMsSUFBSTtRQUNBLE9BQU8sYUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUN0QztJQUNELE9BQU8sQ0FBQyxFQUFFO1FBQ04sT0FBTyxJQUFJLENBQUM7S0FDZjtBQUNMLENBQUM7QUFFTSxLQUFLLFVBQVUsSUFBSSxDQUFFLEdBQVcsRUFBRSxPQUFnQixFQUFFLFdBQXFCO0lBQzVFLE1BQU0sZ0JBQWdCLEdBQUcsbUJBQTRCLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0UsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBNEIsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3RSxNQUFNLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV6QyxJQUFJLGdCQUFnQixJQUFJLGdCQUFnQixJQUFJLENBQUMsUUFBUTtRQUNqRCxPQUFPLFdBQVcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBRWxELE1BQU0sYUFBYSxHQUFHLE1BQU0sZUFBUSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUV4RSxJQUFJLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxRQUFRLEVBQUU7UUFDekIsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLE1BQU0sYUFBYSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBRWhGLDJDQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQztRQUV0QyxPQUFPO1lBQ0gsTUFBTSxFQUFRLE9BQU8sQ0FBQyxNQUFNLElBQUksUUFBUTtZQUN4QyxNQUFNLEVBQVEsWUFBWTtZQUMxQixZQUFZLEVBQUUsSUFBSTtTQUNyQixDQUFDO0tBQ0w7SUFFRCxPQUFPLFdBQVcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUF2QkQsb0JBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFQSUJhc2VkVGVzdEZpbGVDb21waWxlckJhc2UgZnJvbSAnLi90ZXN0LWZpbGUvYXBpLWJhc2VkJztcbmltcG9ydCB1cmxVdGlscyBmcm9tICd1cmwnO1xuaW1wb3J0IENvbXBpbGVyIGZyb20gJy4vaW5kZXgnO1xuaW1wb3J0IHsgZmlsZUNvbnRlbnRzQ2FjaGUgfSBmcm9tICcuLi91dGlscy9zZXR1cC1zb3VyY2VtYXAtc3VwcG9ydCc7XG5cbmludGVyZmFjZSBMb2FkIHtcbiAgICBmb3JtYXQ6IHN0cmluZztcbiAgICBzaG9ydENpcmN1aXQ/OiBib29sZWFuO1xuICAgIHNvdXJjZTogc3RyaW5nIHwgQXJyYXlCdWZmZXI7XG59XG5cbmludGVyZmFjZSBDb250ZXh0IHtcbiAgICBjb25kaXRpb25zOiBzdHJpbmdbXTtcbiAgICBmb3JtYXQ/OiBzdHJpbmcgfCBudWxsO1xuICAgIGltcG9ydEFzc2VydGlvbnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG5mdW5jdGlvbiBnZXRGaWxlbmFtZUZyb21VUkwgKHVybDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHVybFV0aWxzLmZpbGVVUkxUb1BhdGgodXJsKTtcbiAgICB9XG4gICAgY2F0Y2ggKF8pIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZCAodXJsOiBzdHJpbmcsIGNvbnRleHQ6IENvbnRleHQsIGRlZmF1bHRMb2FkOiBGdW5jdGlvbik6IFByb21pc2U8TG9hZD4ge1xuICAgIGNvbnN0IGlzTm9kZU1vZHVsZXNEZXAgPSBBUElCYXNlZFRlc3RGaWxlQ29tcGlsZXJCYXNlLl9pc05vZGVNb2R1bGVzRGVwKHVybCk7XG4gICAgY29uc3QgaXNUZXN0Y2FmZUxpYkRlcCA9IEFQSUJhc2VkVGVzdEZpbGVDb21waWxlckJhc2UuX2lzVGVzdENhZmVMaWJEZXAodXJsKTtcbiAgICBjb25zdCBmaWxlbmFtZSA9IGdldEZpbGVuYW1lRnJvbVVSTCh1cmwpO1xuXG4gICAgaWYgKGlzTm9kZU1vZHVsZXNEZXAgfHwgaXNUZXN0Y2FmZUxpYkRlcCB8fCAhZmlsZW5hbWUpXG4gICAgICAgIHJldHVybiBkZWZhdWx0TG9hZCh1cmwsIGNvbnRleHQsIGRlZmF1bHRMb2FkKTtcblxuICAgIGNvbnN0IHRlc3RGaWxlc0luZm8gPSBhd2FpdCBDb21waWxlci5jcmVhdGVUZXN0RmlsZUluZm8oZmlsZW5hbWUsIHRydWUpO1xuXG4gICAgaWYgKHRlc3RGaWxlc0luZm8/LmNvbXBpbGVyKSB7XG4gICAgICAgIGNvbnN0IFtjb21waWxlZENvZGVdID0gYXdhaXQgdGVzdEZpbGVzSW5mby5jb21waWxlci5wcmVjb21waWxlKFt0ZXN0RmlsZXNJbmZvXSk7XG5cbiAgICAgICAgZmlsZUNvbnRlbnRzQ2FjaGVbdXJsXSA9IGNvbXBpbGVkQ29kZTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZm9ybWF0OiAgICAgICBjb250ZXh0LmZvcm1hdCB8fCAnbW9kdWxlJyxcbiAgICAgICAgICAgIHNvdXJjZTogICAgICAgY29tcGlsZWRDb2RlLFxuICAgICAgICAgICAgc2hvcnRDaXJjdWl0OiB0cnVlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBkZWZhdWx0TG9hZCh1cmwsIGNvbnRleHQsIGRlZmF1bHRMb2FkKTtcbn1cbiJdfQ==