From c802b6d96363b5fd0103c85c0cf58c630f36c846 Mon Sep 17 00:00:00 2001 From: Jason Miller Date: Thu, 18 Apr 2019 16:21:50 -0400 Subject: [PATCH] Add --downlevel option to manually enable IE9+ compat --- src/cli.js | 3 ++- src/configure.js | 2 ++ src/lib/babel-loader.js | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/cli.js b/src/cli.js index 957700b..315762e 100644 --- a/src/cli.js +++ b/src/cli.js @@ -17,7 +17,8 @@ prog .version(version) .option('--files', 'Minimatch pattern for test files') .option('--headless', 'Run using Chrome Headless', true) - .option('--coverage', 'Report code coverage of tests', true); + .option('--coverage', 'Report code coverage of tests', true) + .option('--downlevel', 'Downlevel syntax to ES5'); prog .command('run [...files]', '', { default: true }) diff --git a/src/configure.js b/src/configure.js index 88e2e69..5f0c3b8 100644 --- a/src/configure.js +++ b/src/configure.js @@ -17,6 +17,7 @@ const WEBPACK_MAJOR = parseInt(WEBPACK_VERSION.split('.')[0], 10); * @param {Boolean} [options.watch=false] - Start a continuous test server and retest when files change * @param {Boolean} [options.coverage=false] - Instrument and collect code coverage statistics * @param {Object} [options.webpackConfig] - Custom webpack configuration + * @param {Boolean} [options.downlevel=false] - Downlevel/transpile syntax to ES5 */ export default function configure(options) { let cwd = process.cwd(), @@ -235,6 +236,7 @@ export default function configure(options) { webpack: { devtool: 'cheap-module-eval-source-map', + // devtool: 'module-source-map', mode: webpackConfig.mode || 'development', module: { // @TODO check webpack version and use loaders VS rules as the key here appropriately: diff --git a/src/lib/babel-loader.js b/src/lib/babel-loader.js index 0142350..0d54a2c 100644 --- a/src/lib/babel-loader.js +++ b/src/lib/babel-loader.js @@ -10,7 +10,7 @@ export default function babelLoader(options) { browsers: [ 'last 2 Chrome versions', 'last 2 Firefox versions', - options.browsers && String(options.browsers).match(/(\bie(\b|\d)|internet.explorer)/gi) && 'ie>=9' + (options.downlevel || options.browsers && String(options.browsers).match(/(\bie(\b|\d)|internet.explorer)/gi)) && 'ie>=9' ].filter(Boolean) }, corejs: 2,