diff --git a/packages/compiler-cli/ngcc/src/dependencies/module_resolver.ts b/packages/compiler-cli/ngcc/src/dependencies/module_resolver.ts index 1208744b98..b059452ec2 100644 --- a/packages/compiler-cli/ngcc/src/dependencies/module_resolver.ts +++ b/packages/compiler-cli/ngcc/src/dependencies/module_resolver.ts @@ -25,7 +25,7 @@ export class ModuleResolver { private pathMappings: ProcessedPathMapping[]; constructor(private fs: FileSystem, pathMappings?: PathMappings, private relativeExtensions = [ - '.js', '/index.js' + '', '.js', '/index.js' ]) { this.pathMappings = pathMappings ? this.processPathMappings(pathMappings) : []; } diff --git a/packages/compiler-cli/ngcc/test/dependencies/module_resolver_spec.ts b/packages/compiler-cli/ngcc/test/dependencies/module_resolver_spec.ts index c88856fa01..2ef140ca71 100644 --- a/packages/compiler-cli/ngcc/test/dependencies/module_resolver_spec.ts +++ b/packages/compiler-cli/ngcc/test/dependencies/module_resolver_spec.ts @@ -83,6 +83,12 @@ runInEachFileSystem(() => { const resolver = new ModuleResolver(getFileSystem()); expect(resolver.resolveModuleImport('./y', _('/libs/local-package/index.js'))).toBe(null); }); + + it('should resolve modules that already include an extension', () => { + const resolver = new ModuleResolver(getFileSystem()); + expect(resolver.resolveModuleImport('./x.js', _('/libs/local-package/index.js'))) + .toEqual(new ResolvedRelativeModule(_('/libs/local-package/x.js'))); + }); }); describe('with non-mapped external paths', () => {