From 2e3266242f7f2dd01fd21c3ba58d0fb575635e43 Mon Sep 17 00:00:00 2001 From: Kombu Date: Mon, 11 Dec 2017 10:47:52 +0800 Subject: [PATCH] feat(Resolver): give high priority to extension of parent file (#159) --- src/Resolver.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Resolver.js b/src/Resolver.js index a3bf39d3ee9..963cddea5be 100644 --- a/src/Resolver.js +++ b/src/Resolver.js @@ -31,11 +31,18 @@ class Resolver { return {path: path.resolve(path.dirname(parent), filename)}; } + let extensions = Object.keys(this.options.extensions); + if (parent) { + const parentExt = path.extname(parent); + // parent's extension given high priority + extensions = [parentExt, ...extensions.filter(ext => ext !== parentExt)]; + } + return resolver(filename, { filename: parent, paths: this.options.paths, modules: builtins, - extensions: Object.keys(this.options.extensions), + extensions: extensions, packageFilter(pkg, pkgfile) { // Expose the path to the package.json file pkg.pkgfile = pkgfile;