diff --git a/package-lock.json b/package-lock.json index 8b371613..31dc47ca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -125,6 +125,13 @@ "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", "dev": true }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true, + "optional": true + }, "ansi-escapes": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-2.0.0.tgz", @@ -1515,6 +1522,18 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz", "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=" }, + "call-matcher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-matcher/-/call-matcher-1.0.1.tgz", + "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", + "dev": true, + "requires": { + "core-js": "2.5.0", + "deep-equal": "1.0.1", + "espurify": "1.7.0", + "estraverse": "4.2.0" + } + }, "caller-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", @@ -3050,6 +3069,43 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, + "escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "dev": true, + "requires": { + "esprima": "2.7.3", + "estraverse": "1.9.3", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.2.0" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true + }, + "source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, "escope": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", @@ -3242,6 +3298,15 @@ "integrity": "sha1-U88kes2ncxPlUcOqLnM0LT+099k=", "optional": true }, + "espurify": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.7.0.tgz", + "integrity": "sha1-HFz2y8zDLm9jk4C9T5kfq5up0iY=", + "dev": true, + "requires": { + "core-js": "2.5.0" + } + }, "esquery": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", @@ -11044,6 +11109,29 @@ } } }, + "unassert": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/unassert/-/unassert-1.5.1.tgz", + "integrity": "sha1-y8iOw4dBfFpeTALTzQe+mL11/3Y=", + "dev": true, + "requires": { + "acorn": "4.0.13", + "call-matcher": "1.0.1", + "deep-equal": "1.0.1", + "espurify": "1.7.0", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "object-assign": "4.1.1" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, "underscore": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", @@ -11578,6 +11666,26 @@ "source-map": "0.5.7" } }, + "webpack-unassert-loader": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webpack-unassert-loader/-/webpack-unassert-loader-1.2.0.tgz", + "integrity": "sha1-GE/d6xb5Yno9TGGHylMZ6WIOn/Y=", + "dev": true, + "requires": { + "escodegen": "1.8.1", + "esprima": "4.0.0", + "estraverse": "4.2.0", + "unassert": "1.5.1" + }, + "dependencies": { + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "dev": true + } + } + }, "websocket-driver": { "version": "0.6.5", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", diff --git a/package.json b/package.json index 3b65ca90..8b34185d 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,8 @@ "val-loader": "^1.0.2", "webpack": "^3.5.5", "webpack-dev-server": "^2.7.1", - "webpack-manifest-plugin": "^1.3.1" + "webpack-manifest-plugin": "^1.3.1", + "webpack-unassert-loader": "^1.2.0" }, "dependencies": { "aws-sdk": "^2.103.0", diff --git a/webpack.config.js b/webpack.config.js index db7e2c8c..1b5a1364 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -17,42 +17,49 @@ module.exports = { rules: [ { test: /\.js$/, - loader: 'babel-loader', - include: [ - path.resolve(__dirname, 'app'), - path.resolve(__dirname, 'common'), - path.resolve(__dirname, 'node_modules/testpilot-ga/src') - ], - options: { - babelrc: false, - presets: [['env', { modules: false }], 'stage-2'], - plugins: ['yo-yoify'] - } - }, - { - test: /\.js$/, - include: [path.dirname(require.resolve('fluent'))], - use: [ + oneOf: [ { - loader: 'expose-loader', - options: 'fluent' + include: require.resolve('./assets/cryptofill'), + use: [ + { + loader: 'file-loader', + options: { + name: '[name].[hash:8].[ext]' + } + } + ] + }, + { + include: [path.dirname(require.resolve('fluent'))], + use: [ + { + loader: 'expose-loader', + options: 'fluent' + }, + { + loader: 'babel-loader', + options: { + presets: [['env', { modules: false }]] + } + } + ] }, { loader: 'babel-loader', + include: [ + path.resolve(__dirname, 'app'), + path.resolve(__dirname, 'common'), + path.resolve(__dirname, 'node_modules/testpilot-ga/src') + ], options: { - presets: [['env', { modules: false }]] + babelrc: false, + presets: [['env', { modules: false }], 'stage-2'], + plugins: ['yo-yoify'] } - } - ] - }, - { - test: require.resolve('./assets/cryptofill'), - use: [ + }, { - loader: 'file-loader', - options: { - name: '[name].[hash:8].[ext]' - } + include: [path.resolve(__dirname, 'node_modules')], + loader: 'webpack-unassert-loader' } ] },