diff --git a/CHANGELOG.md b/CHANGELOG.md index e2350e7d6..0fd0c5795 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -65,6 +65,27 @@ cssLoader.options = Object.assign(cssLoader.options, { }) ``` +- Expose rest of configurable dev server options from webpacker.yml + +```yml +quiet: false +headers: + 'Access-Control-Allow-Origin': '*' +watch_options: + ignored: /node_modules/ +``` + +- Enforce deterministic loader order in desc order, starts processing from top to bottom + +- Enforce the entire path of all required modules match the exact case of the actual path on disk using [case sensitive paths plugin](https://github.com/Urthen/case-sensitive-paths-webpack-plugin). + +- Add url loader to process and embed smaller static files + + +### Removed + +- resolve url loader [#1042](https://github.com/rails/webpacker/issues/1042) + ### Added (Gem) - Allow skipping webpacker compile using an env variable diff --git a/lib/install/config/webpacker.yml b/lib/install/config/webpacker.yml index 51afa9df5..f1bf26792 100644 --- a/lib/install/config/webpacker.yml +++ b/lib/install/config/webpacker.yml @@ -43,8 +43,15 @@ development: # Inline should be set to true if using HMR inline: true overlay: true + compress: true disable_host_check: true use_local_ip: false + quiet: false + headers: + 'Access-Control-Allow-Origin': '*' + watch_options: + ignored: /node_modules/ + test: <<: *default diff --git a/package.json b/package.json index b9cc23dbc..5ab5f7412 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "babel-plugin-transform-object-rest-spread": "^6.26.0", "babel-polyfill": "^6.26.0", "babel-preset-env": "^1.6.1", + "case-sensitive-paths-webpack-plugin": "^2.1.1", "coffee-loader": "^0.9.0", "compression-webpack-plugin": "^1.0.1", "css-loader": "^0.28.7", @@ -31,9 +32,9 @@ "postcss-loader": "^2.0.9", "postcss-smart-import": "^0.7.5", "rails-erb-loader": "^5.2.1", - "resolve-url-loader": "^2.2.0", "sass-loader": "^6.0.6", "style-loader": "^0.19.0", + "url-loader": "^0.6.2", "webpack": "^3.8.1", "webpack-manifest-plugin": "^1.3.2" }, diff --git a/package/config.js b/package/config.js index 47eb6f7ca..ab111cff5 100644 --- a/package/config.js +++ b/package/config.js @@ -1,10 +1,15 @@ const { resolve } = require('path') const { safeLoad } = require('js-yaml') const { readFileSync } = require('fs') +const deepMerge = require('./utils/deep_merge') +const defaultFilePath = require.resolve('../lib/install/config/webpacker.yml') const filePath = resolve('config', 'webpacker.yml') + const environment = process.env.NODE_ENV || 'development' -const config = safeLoad(readFileSync(filePath), 'utf8')[environment] +const defaultConfig = safeLoad(readFileSync(defaultFilePath), 'utf8')[environment] +const appConfig = safeLoad(readFileSync(filePath), 'utf8')[environment] +const config = deepMerge(defaultConfig, appConfig) const isBoolean = str => /^true/.test(str) || /^false/.test(str) diff --git a/package/environment.js b/package/environment.js index bda495e5b..1af2b08ac 100644 --- a/package/environment.js +++ b/package/environment.js @@ -10,6 +10,7 @@ const extname = require('path-complete-extname') const webpack = require('webpack') const ExtractTextPlugin = require('extract-text-webpack-plugin') const ManifestPlugin = require('webpack-manifest-plugin') +const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin') const { ConfigList, ConfigObject } = require('./config_types') const rules = require('./rules') @@ -25,6 +26,7 @@ const getLoaderList = () => { const getPluginList = () => { const result = new ConfigList() result.append('Environment', new webpack.EnvironmentPlugin(JSON.parse(JSON.stringify(process.env)))) + result.append('CaseSensitivePaths', new CaseSensitivePathsPlugin()) result.append('ExtractText', new ExtractTextPlugin('[name]-[contenthash].css')) result.append('Manifest', new ManifestPlugin({ publicPath: assetHost.publicPath, writeToFileEmit: true })) return result @@ -76,6 +78,14 @@ const getBaseConfig = () => resolveLoader: { modules: ['node_modules'] + }, + + node: { + dgram: 'empty', + fs: 'empty', + net: 'empty', + tls: 'empty', + child_process: 'empty' } }) @@ -93,7 +103,10 @@ module.exports = class Environment { entry: this.entry.toObject(), module: { - rules: this.loaders.values() + strictExportPresence: true, + rules: [ + { oneOf: this.loaders.values() } + ] }, plugins: this.plugins.values(), diff --git a/package/environments/development.js b/package/environments/development.js index dfdcd0e97..41cc31483 100644 --- a/package/environments/development.js +++ b/package/environments/development.js @@ -20,7 +20,8 @@ module.exports = class extends Environment { }, devServer: { clientLogLevel: 'none', - compress: true, + compress: devServer.compress, + quiet: devServer.quiet, disableHostCheck: devServer.disable_host_check, host: devServer.host, port: devServer.port, @@ -31,17 +32,15 @@ module.exports = class extends Environment { useLocalIp: devServer.use_local_ip, public: devServer.public, publicPath: assetHost.publicPath, - historyApiFallback: true, - headers: { - 'Access-Control-Allow-Origin': '*' + historyApiFallback: { + disableDotRule: true }, + headers: devServer.headers, overlay: devServer.overlay, - watchOptions: { - ignored: /node_modules/ - }, stats: { errorDetails: true - } + }, + watchOptions: devServer.watch_options } }) } diff --git a/package/environments/production.js b/package/environments/production.js index e219b837f..a5d6eee0e 100644 --- a/package/environments/production.js +++ b/package/environments/production.js @@ -10,11 +10,16 @@ module.exports = class extends Environment { this.plugins.append('UglifyJs', new webpack.optimize.UglifyJsPlugin({ sourceMap: true, + mangle: { + safari10: true + }, compress: { - warnings: false + warnings: false, + comparisons: false }, output: { - comments: false + comments: false, + ascii_only: true } })) diff --git a/package/rules/coffee.js b/package/rules/coffee.js index 1be87f82d..4666716dc 100644 --- a/package/rules/coffee.js +++ b/package/rules/coffee.js @@ -1,4 +1,6 @@ module.exports = { test: /\.coffee(\.erb)?$/, - use: ['coffee-loader'] + use: [{ + loader: 'coffee-loader' + }] } diff --git a/package/rules/css.js b/package/rules/css.js index faca976da..521f21d51 100644 --- a/package/rules/css.js +++ b/package/rules/css.js @@ -19,9 +19,8 @@ const styleLoader = { const extractOptions = { fallback: styleLoader, use: [ - { loader: 'css-loader', options: { minimize: isProduction, sourceMap: true, importLoaders: 3 } }, - { loader: 'postcss-loader', options: { sourceMap: true, config: { path: postcssConfigPath } } }, - { loader: 'resolve-url-loader', options: { attempts: 1 } } + { loader: 'css-loader', options: { minimize: isProduction, sourceMap: true, importLoaders: 2 } }, + { loader: 'postcss-loader', options: { sourceMap: true, config: { path: postcssConfigPath } } } ] } diff --git a/package/rules/elm.js b/package/rules/elm.js index 162e7174c..b4bcb773e 100644 --- a/package/rules/elm.js +++ b/package/rules/elm.js @@ -19,5 +19,5 @@ const elmWebpackLoader = { module.exports = { test: /\.elm(\.erb)?$/, exclude: [/elm-stuff/, /node_modules/], - use: isProduction ? [elmWebpackLoader] : ['elm-hot-loader', elmWebpackLoader] + use: isProduction ? [elmWebpackLoader] : [{ loader: 'elm-hot-loader' }, elmWebpackLoader] } diff --git a/package/rules/file.js b/package/rules/file.js index f60c476be..c101b99c5 100644 --- a/package/rules/file.js +++ b/package/rules/file.js @@ -3,7 +3,7 @@ const { source_path } = require('../config') const assetHost = require('../asset_host') module.exports = { - test: /\.(jpg|jpeg|png|gif|tiff|ico|svg|eot|otf|ttf|woff|woff2)$/i, + exclude: /\.(js|jsx|coffee|ts|tsx|vue|elm|scss|sass|css|html|json)?(\.erb)?$/, use: [{ loader: 'file-loader', options: { diff --git a/package/rules/index.js b/package/rules/index.js index c0a8fae1f..a71dcd73d 100644 --- a/package/rules/index.js +++ b/package/rules/index.js @@ -3,12 +3,14 @@ const coffee = require('./coffee') const elm = require('./elm') const erb = require('./erb') const file = require('./file') +const url = require('./url') const css = require('./css') const sass = require('./sass') const typescript = require('./typescript') const vue = require('./vue') module.exports = { + url, babel, coffee, elm, diff --git a/package/rules/sass.js b/package/rules/sass.js index 6047d7dad..9a8107a2c 100644 --- a/package/rules/sass.js +++ b/package/rules/sass.js @@ -6,7 +6,10 @@ let sassLoader = JSON.parse(JSON.stringify(cssLoader)) sassLoader = deepMerge(sassLoader, { test: /\.(scss|sass)$/i, - use: [{ loader: 'sass-loader', options: { sourceMap: true } }] + use: [{ + loader: 'sass-loader', + options: { sourceMap: true } + }] }) module.exports = sassLoader diff --git a/package/rules/typescript.js b/package/rules/typescript.js index 24284ab1e..9400260e1 100644 --- a/package/rules/typescript.js +++ b/package/rules/typescript.js @@ -1,4 +1,6 @@ module.exports = { test: /\.(ts|tsx)?(\.erb)?$/, - use: ['ts-loader'] + use: [{ + loader: 'ts-loader' + }] } diff --git a/package/rules/url.js b/package/rules/url.js new file mode 100644 index 000000000..fd4517072 --- /dev/null +++ b/package/rules/url.js @@ -0,0 +1,13 @@ +const assetHost = require('../asset_host') + +module.exports = { + test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/], + use: [{ + loader: 'url-loader', + options: { + limit: 10000, + name: '[name]-[hash].[ext]', + publicPath: assetHost.publicPathWithHost + } + }] +} diff --git a/package/utils/deep_merge.js b/package/utils/deep_merge.js index ddba0f330..e6bf2fc87 100644 --- a/package/utils/deep_merge.js +++ b/package/utils/deep_merge.js @@ -1,8 +1,10 @@ -const { isObject, isArray, isEqual } = require('./helpers') +const { + isObject, isArray, isEqual, isEmpty +} = require('./helpers') const deepMerge = (target, source) => { - if (!target) return source - if (!source) return target + if (isEmpty(target)) return source + if (isEmpty(source)) return target if (isEqual(target, source)) return source if (isArray(target) && isArray(source)) return [...new Set([...target, ...source])] if (!(isObject(target) && isObject(source))) return source diff --git a/package/utils/helpers.js b/package/utils/helpers.js index 39ee461bc..e3a11cc6c 100644 --- a/package/utils/helpers.js +++ b/package/utils/helpers.js @@ -4,6 +4,8 @@ const isObject = value => ( (value.length === undefined || value.length === null) ) +const isEmpty = value => (value === null || value === undefined) + const isString = key => key && typeof key === 'string' const isStrPath = (key) => { @@ -23,6 +25,7 @@ module.exports = { isObject, isArray, isEqual, + isEmpty, isStrPath, canMerge, prettyPrint diff --git a/yarn.lock b/yarn.lock index 669b3e749..5d6618ac5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -44,18 +44,6 @@ acorn@^5.0.0, acorn@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.2.1.tgz#317ac7821826c22c702d66189ab8359675f135d7" -adjust-sourcemap-loader@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-1.1.0.tgz#412d92404eb61e4113635012cba53a33d008e0e2" - dependencies: - assert "^1.3.0" - camelcase "^1.2.1" - loader-utils "^1.0.2" - lodash.assign "^4.0.1" - lodash.defaults "^3.1.2" - object-path "^0.9.2" - regex-parser "^2.2.1" - ajv-keywords@^2.0.0, ajv-keywords@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" @@ -221,7 +209,7 @@ assert-plus@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" -assert@^1.1.1, assert@^1.3.0: +assert@^1.1.1: version "1.4.1" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" dependencies: @@ -263,10 +251,6 @@ asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" -atob@~1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/atob/-/atob-1.1.3.tgz#95f13629b12c3a51a5d215abdce2aa9f32f80773" - autoprefixer@^6.3.1: version "6.7.7" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" @@ -1031,7 +1015,7 @@ camelcase-keys@^2.0.0: camelcase "^2.0.0" map-obj "^1.0.0" -camelcase@^1.0.2, camelcase@^1.2.1: +camelcase@^1.0.2: version "1.2.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" @@ -1043,7 +1027,7 @@ camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" -camelcase@^4.0.0, camelcase@^4.1.0: +camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" @@ -1073,6 +1057,10 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000748, caniuse-lite@^1.0.30000770: version "1.0.30000770" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000770.tgz#bc8e7f50b073273390db6ab357378909a14e9bdb" +case-sensitive-paths-webpack-plugin@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.1.1.tgz#3d29ced8c1f124bf6f53846fb3f5894731fdc909" + caseless@~0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" @@ -1314,11 +1302,7 @@ content-type-parser@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/content-type-parser/-/content-type-parser-1.0.2.tgz#caabe80623e63638b2502fd4c7f12ff4ce2352e7" -convert-source-map@^0.3.3: - version "0.3.5" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" - -convert-source-map@^1.1.1, convert-source-map@^1.4.0, convert-source-map@^1.5.0: +convert-source-map@^1.4.0, convert-source-map@^1.5.0: version "1.5.1" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" @@ -1460,15 +1444,6 @@ css-unit-converter@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" -css@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/css/-/css-2.2.1.tgz#73a4c81de85db664d4ee674f7d47085e3b2d55dc" - dependencies: - inherits "^2.0.1" - source-map "^0.1.38" - source-map-resolve "^0.3.0" - urix "^0.1.0" - cssesc@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" @@ -3339,7 +3314,7 @@ loader-runner@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" -loader-utils@^1.0.0, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0: +loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" dependencies: @@ -3354,50 +3329,11 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" -lodash._baseassign@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" - dependencies: - lodash._basecopy "^3.0.0" - lodash.keys "^3.0.0" - -lodash._basecopy@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" - -lodash._bindcallback@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" - -lodash._createassigner@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz#838a5bae2fdaca63ac22dee8e19fa4e6d6970b11" - dependencies: - lodash._bindcallback "^3.0.0" - lodash._isiterateecall "^3.0.0" - lodash.restparam "^3.0.0" - -lodash._getnative@^3.0.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" - -lodash._isiterateecall@^3.0.0: - version "3.0.9" - resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" - lodash._reinterpolate@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" -lodash.assign@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz#3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa" - dependencies: - lodash._baseassign "^3.0.0" - lodash._createassigner "^3.0.0" - lodash.keys "^3.0.0" - -lodash.assign@^4.0.1, lodash.assign@^4.2.0: +lodash.assign@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" @@ -3413,33 +3349,10 @@ lodash.cond@^4.3.0: version "4.5.2" resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" -lodash.defaults@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-3.1.2.tgz#c7308b18dbf8bc9372d701a73493c61192bd2e2c" - dependencies: - lodash.assign "^3.0.0" - lodash.restparam "^3.0.0" - -lodash.defaults@^4.0.0, lodash.defaults@^4.2.0: +lodash.defaults@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" -lodash.isarguments@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" - -lodash.isarray@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" - -lodash.keys@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" - dependencies: - lodash._getnative "^3.0.0" - lodash.isarguments "^3.0.0" - lodash.isarray "^3.0.0" - lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -3448,10 +3361,6 @@ lodash.mergewith@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz#150cf0a16791f5903b8891eab154609274bdea55" -lodash.restparam@^3.0.0: - version "3.6.1" - resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" - lodash.tail@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" @@ -3611,6 +3520,10 @@ mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.7: dependencies: mime-db "~1.30.0" +mime@^1.4.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + mimic-fn@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" @@ -3860,10 +3773,6 @@ object-keys@^1.0.8: version "1.0.11" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" -object-path@^0.9.2: - version "0.9.2" - resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.9.2.tgz#0fd9a74fc5fad1ae3968b586bda5c632bd6c05a5" - object.omit@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" @@ -4894,10 +4803,6 @@ regex-cache@^0.4.2: dependencies: is-equal-shallow "^0.1.3" -regex-parser@^2.2.1: - version "2.2.8" - resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.8.tgz#da4c0cda5a828559094168930f455f532b6ffbac" - regexpu-core@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" @@ -5044,24 +4949,6 @@ resolve-from@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" -resolve-url-loader@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-2.2.0.tgz#9662feaa11debf7cf8e3feb91dae9544aa7dee88" - dependencies: - adjust-sourcemap-loader "^1.1.0" - camelcase "^4.0.0" - convert-source-map "^1.1.1" - loader-utils "^1.0.0" - lodash.defaults "^4.0.0" - rework "^1.0.1" - rework-visit "^1.0.0" - source-map "^0.5.6" - urix "^0.1.0" - -resolve-url@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" @@ -5079,17 +4966,6 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" -rework-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rework-visit/-/rework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a" - -rework@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/rework/-/rework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7" - dependencies: - convert-source-map "^0.3.3" - css "^2.0.0" - rgb-hex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/rgb-hex/-/rgb-hex-2.1.0.tgz#c773c5fe2268a25578d92539a82a7a5ce53beda6" @@ -5283,31 +5159,12 @@ source-list-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" -source-map-resolve@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.3.1.tgz#610f6122a445b8dd51535a2a71b783dfc1248761" - dependencies: - atob "~1.1.0" - resolve-url "~0.2.1" - source-map-url "~0.3.0" - urix "~0.1.0" - source-map-support@^0.4.15: version "0.4.18" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" dependencies: source-map "^0.5.6" -source-map-url@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.3.0.tgz#7ecaf13b57bcd09da8a40c5d269db33799d4aaf9" - -source-map@^0.1.38: - version "0.1.43" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" - dependencies: - amdefine ">=0.0.4" - source-map@^0.4.2, source-map@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" @@ -5690,9 +5547,13 @@ units-css@^0.4.0: isnumeric "^0.2.0" viewport-dimensions "^0.2.0" -urix@^0.1.0, urix@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" +url-loader@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.6.2.tgz#a007a7109620e9d988d14bce677a1decb9a993f7" + dependencies: + loader-utils "^1.0.2" + mime "^1.4.1" + schema-utils "^0.3.0" url@^0.11.0: version "0.11.0"