diff --git a/src/utils/path.js b/src/utils/path.js index 1ea179f..269702b 100644 --- a/src/utils/path.js +++ b/src/utils/path.js @@ -58,12 +58,10 @@ export function resolve ( ...paths ) { } else { const parts = path.split( /[\/\\]/ ); - while ( parts[0] && parts[0][0] === '.' ) { + while ( parts[0] === '.' || parts[0] === '..' ) { const part = parts.shift(); if ( part === '..' ) { resolvedParts.pop(); - } else if ( part !== '.' ) { - throw new Error( `Unexpected path part (${part})` ); } } diff --git a/test/function/hidden-directories/.foo/bar.js b/test/function/hidden-directories/.foo/bar.js new file mode 100644 index 0000000..7a4e8a7 --- /dev/null +++ b/test/function/hidden-directories/.foo/bar.js @@ -0,0 +1 @@ +export default 42; diff --git a/test/function/hidden-directories/_config.js b/test/function/hidden-directories/_config.js new file mode 100644 index 0000000..80cd784 --- /dev/null +++ b/test/function/hidden-directories/_config.js @@ -0,0 +1,3 @@ +module.exports = { + description: 'allows imports from directories with leading "." character' +}; diff --git a/test/function/hidden-directories/main.js b/test/function/hidden-directories/main.js new file mode 100644 index 0000000..2e6fcd5 --- /dev/null +++ b/test/function/hidden-directories/main.js @@ -0,0 +1,3 @@ +import bar from './.foo/bar'; + +assert.equal( bar, 42 );