From a0590e5183b3ad3a93fd7adce61504fd85b4bcb1 Mon Sep 17 00:00:00 2001 From: Vladislav Kozulya Date: Thu, 2 Sep 2021 15:21:16 +0300 Subject: [PATCH] fix(webpack): pass all user resolve options to loader (fixes #658) (#830) * fix(webpack): pass all user resolve options to loader (fixes #658) * fix(webpack):pass all user resolve options to loader(webpack 4, fixes #658) * fix(webpack): override mainFields (shaker can't work with es) --- packages/webpack4-loader/src/index.ts | 13 ++----------- packages/webpack5-loader/src/index.ts | 13 ++----------- 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/packages/webpack4-loader/src/index.ts b/packages/webpack4-loader/src/index.ts index c55329acf..93744b29d 100644 --- a/packages/webpack4-loader/src/index.ts +++ b/packages/webpack4-loader/src/index.ts @@ -44,11 +44,6 @@ export default function webpack4Loader( EvalCache.clearForFile(this.resourcePath); - const resolveOptionsDefaults = { - conditionNames: ['require'], - extensions: ['.js', '.jsx', '.ts', '.tsx', '.json'], - }; - const { sourceMap = undefined, cacheDirectory = '.linaria-cache', @@ -80,13 +75,9 @@ export default function webpack4Loader( // Another option is to read the webpack.config.js, but it won't work for programmatic usage // This API is used by many loaders/plugins, so hope we're safe for a while { - ...resolveOptionsDefaults, - ...((this._compilation?.options.resolve && { - alias: this._compilation.options.resolve.alias, - modules: this._compilation.options.resolve.modules, - }) || - {}), + ...(this._compilation?.options.resolve ?? {}), ...resolveOptions, + mainFields: ['main'], } ); diff --git a/packages/webpack5-loader/src/index.ts b/packages/webpack5-loader/src/index.ts index e4314e2de..905c2e4cd 100644 --- a/packages/webpack5-loader/src/index.ts +++ b/packages/webpack5-loader/src/index.ts @@ -32,11 +32,6 @@ export default function webpack5Loader( EvalCache.clearForFile(this.resourcePath); - const resolveOptionsDefaults = { - conditionNames: ['require'], - extensions: ['.js', '.jsx', '.ts', '.tsx', '.json'], - }; - const { sourceMap = undefined, cacheDirectory = '.linaria-cache', @@ -68,13 +63,9 @@ export default function webpack5Loader( // Another option is to read the webpack.config.js, but it won't work for programmatic usage // This API is used by many loaders/plugins, so hope we're safe for a while { - ...resolveOptionsDefaults, - ...((this._compilation?.options.resolve && { - alias: this._compilation.options.resolve.alias, - modules: this._compilation.options.resolve.modules, - }) || - {}), + ...(this._compilation?.options.resolve ?? {}), ...resolveOptions, + mainFields: ['main'], } );