diff --git a/src/importsToResolve.js b/src/importsToResolve.js index 76a39b97..1f40b6de 100644 --- a/src/importsToResolve.js +++ b/src/importsToResolve.js @@ -2,7 +2,14 @@ import path from 'path'; import utils from 'loader-utils'; -const matchModuleImport = /^~([^/]+|@[^/]+[/][^/]+)$/; +// Examples: +// - ~package +// - ~package/ +// - ~@org +// - ~@org/ +// - ~@org/package +// - ~@org/package/ +const matchModuleImport = /^~([^/]+|[^/]+\/|@[^/]+[/][^/]+|@[^/]+\/?|@[^/]+[/][^/]+\/)$/; /** * When libsass tries to resolve an import, it uses a special algorithm. diff --git a/test/helpers/getCodeFromSass.js b/test/helpers/getCodeFromSass.js index a336f3df..e4a31503 100644 --- a/test/helpers/getCodeFromSass.js +++ b/test/helpers/getCodeFromSass.js @@ -650,10 +650,18 @@ function getCodeFromSass(testId, options) { /^~@path-to-scss-dir\/dir-with-underscore-index$/, pathToSCSSIndexAlias ) + .replace( + /^~@path-to-scss-dir\/dir-with-underscore-index\/$/, + pathToSCSSIndexAlias + ) .replace( /^~@path-to-sass-dir\/dir-with-underscore-index$/, pathToSassIndexAlias ) + .replace( + /^~@path-to-sass-dir\/dir-with-underscore-index\/$/, + pathToSassIndexAlias + ) .replace( /^~@\/path-to-scss-dir\/dir-with-underscore-index$/, pathToSCSSIndexAlias diff --git a/test/sass/import-alias.sass b/test/sass/import-alias.sass index 241ddd62..ca216850 100644 --- a/test/sass/import-alias.sass +++ b/test/sass/import-alias.sass @@ -1,4 +1,5 @@ @import 'path-to-alias' @import "~@sass" @import "~@path-to-sass-dir/dir-with-underscore-index" +@import "~@path-to-sass-dir/dir-with-underscore-index/" @import "~@/path-to-sass-dir/dir-with-underscore-index" diff --git a/test/scss/import-alias.scss b/test/scss/import-alias.scss index 64872db1..838e1dc9 100644 --- a/test/scss/import-alias.scss +++ b/test/scss/import-alias.scss @@ -1,4 +1,5 @@ @import 'path-to-alias'; @import "~@scss"; @import "~@path-to-scss-dir/dir-with-underscore-index"; +@import "~@path-to-scss-dir/dir-with-underscore-index/"; @import "~@/path-to-scss-dir/dir-with-underscore-index";