diff --git a/packages/core/src/module-resolver.ts b/packages/core/src/module-resolver.ts index 7cacab99e..08e0fa645 100644 --- a/packages/core/src/module-resolver.ts +++ b/packages/core/src/module-resolver.ts @@ -119,7 +119,11 @@ class NodeModuleRequest implements ModuleRequest { return new NodeModuleRequest(specifier, this.fromFile) as this; } rehome(fromFile: string): this { - return new NodeModuleRequest(this.specifier, fromFile) as this; + if (this.fromFile === fromFile) { + return this; + } else { + return new NodeModuleRequest(this.specifier, fromFile) as this; + } } virtualize(filename: string) { return new NodeModuleRequest(filename, this.fromFile, true) as this; diff --git a/packages/webpack/src/webpack-resolver-plugin.ts b/packages/webpack/src/webpack-resolver-plugin.ts index bde43ecda..20db3e276 100644 --- a/packages/webpack/src/webpack-resolver-plugin.ts +++ b/packages/webpack/src/webpack-resolver-plugin.ts @@ -161,9 +161,13 @@ class WebpackModuleRequest implements ModuleRequest { return new WebpackModuleRequest(this.babelLoaderPrefix, this.state) as this; } rehome(newFromFile: string) { - this.state.contextInfo.issuer = newFromFile; - this.state.context = dirname(newFromFile); - return new WebpackModuleRequest(this.babelLoaderPrefix, this.state) as this; + if (this.fromFile === newFromFile) { + return this; + } else { + this.state.contextInfo.issuer = newFromFile; + this.state.context = dirname(newFromFile); + return new WebpackModuleRequest(this.babelLoaderPrefix, this.state) as this; + } } virtualize(filename: string) { let next = this.alias(`${this.babelLoaderPrefix}${virtualLoaderName}?${filename}!`);