UNPKG

@cypress/webpack-preprocessor

Version:

Cypress preprocessor for bundling JavaScript via webpack

46 lines (45 loc) 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.overrideSourceMaps = void 0; var debug = require('debug')('cypress:webpack'); var _ = require('lodash'); var patched = false; var getProgramOptions = function (rootNamesOrOptions, options) { return _.isArray(rootNamesOrOptions) ? options : rootNamesOrOptions.options; }; var overrideSourceMaps = function (sourceMap, typescriptPath) { try { if (patched) { debug('typescript.createProgram() already overridden'); return; } var typescript_1 = require(typescriptPath || 'typescript'); var createProgram_1 = typescript_1.createProgram; debug('typescript found, overriding typescript.createProgram()'); typescript_1.createProgram = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var rootNamesOrOptions = args[0], _options = args[1]; var options = getProgramOptions(rootNamesOrOptions, _options); debug('typescript unmodified createProgram options %o', options); // if sourceMap has been set then apply // these overrides to force typescript // to generate the right sourcemaps options.sourceMap = sourceMap; delete options.inlineSources; delete options.inlineSourceMap; debug('typescript modified createProgram options %o', options); // @ts-ignore return createProgram_1.apply(typescript_1, args); }; patched = true; } catch (err) { debug('typescript not found'); // for testing purposes return err; } }; exports.overrideSourceMaps = overrideSourceMaps;