From 522356bc5936f6222114be55e054ced20dec3250 Mon Sep 17 00:00:00 2001 From: vkozulya Date: Thu, 2 Sep 2021 14:30:53 +0300 Subject: [PATCH 1/3] fix(webpack): pass all user resolve options to loader (fixes #658) --- packages/webpack5-loader/src/index.ts | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/packages/webpack5-loader/src/index.ts b/packages/webpack5-loader/src/index.ts index e4314e2de..240ae6ea0 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,12 +63,7 @@ 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, } ); From 1cbc478a76e91a011de8aab4a686a6f5686753ac Mon Sep 17 00:00:00 2001 From: vkozulya Date: Thu, 2 Sep 2021 14:51:59 +0300 Subject: [PATCH 2/3] fix(webpack):pass all user resolve options to loader(webpack 4, fixes #658) --- packages/webpack4-loader/src/index.ts | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/packages/webpack4-loader/src/index.ts b/packages/webpack4-loader/src/index.ts index c55329acf..24d12d7e8 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,12 +75,7 @@ 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, } ); From 26c8fc154b9b4fcf24420db59c18209d66f2d7bf Mon Sep 17 00:00:00 2001 From: vkozulya Date: Thu, 2 Sep 2021 15:20:12 +0300 Subject: [PATCH 3/3] fix(webpack): override mainFields (shaker can't work with es) --- packages/webpack4-loader/src/index.ts | 1 + packages/webpack5-loader/src/index.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/webpack4-loader/src/index.ts b/packages/webpack4-loader/src/index.ts index 24d12d7e8..93744b29d 100644 --- a/packages/webpack4-loader/src/index.ts +++ b/packages/webpack4-loader/src/index.ts @@ -77,6 +77,7 @@ export default function webpack4Loader( { ...(this._compilation?.options.resolve ?? {}), ...resolveOptions, + mainFields: ['main'], } ); diff --git a/packages/webpack5-loader/src/index.ts b/packages/webpack5-loader/src/index.ts index 240ae6ea0..905c2e4cd 100644 --- a/packages/webpack5-loader/src/index.ts +++ b/packages/webpack5-loader/src/index.ts @@ -65,6 +65,7 @@ export default function webpack5Loader( { ...(this._compilation?.options.resolve ?? {}), ...resolveOptions, + mainFields: ['main'], } );