diff --git a/src/index.js b/src/index.js index 620792c..84e9b7a 100644 --- a/src/index.js +++ b/src/index.js @@ -97,7 +97,7 @@ export function resolve(pkg, entry='.', options={}) { } if (tmp === '*' && target.startsWith(key.slice(0, -1))) { // do not trigger if no *content* to inject - if (target.length - key.length > 1) { + if (target.substring(key.length - 1).length > 0) { return (tmp = loop(exports[key], allows)) ? tmp.replace('*', target.substring(key.length - 1)) : bail(name, target, 1); diff --git a/test/resolve.js b/test/resolve.js index 8847d56..dd5dc39 100644 --- a/test/resolve.js +++ b/test/resolve.js @@ -377,6 +377,10 @@ resolve('exports["./features/*"]', () => { fail(pkg, './features/', 'features/'); fail(pkg, './features/', 'foobar/features/'); + pass(pkg, './features/a.js', 'foobar/features/a'); + pass(pkg, './features/ab.js', 'foobar/features/ab'); + pass(pkg, './features/abc.js', 'foobar/features/abc'); + pass(pkg, './features/hello.js', 'foobar/features/hello'); pass(pkg, './features/world.js', 'foobar/features/world');