Skip to content

Commit

Permalink
closes #1293. allows aliases that start with @ to be caught as internal
Browse files Browse the repository at this point in the history
  • Loading branch information
jeffshaver committed Mar 3, 2019
1 parent e9544f8 commit 55ee760
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 2 deletions.
5 changes: 3 additions & 2 deletions src/core/importType.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,8 @@ export function isScopedMain(name) {
}

function isInternalModule(name, settings, path) {
return externalModuleRegExp.test(name) && !isExternalPath(path, name, settings)
const matchesScopedOrExternalRegExp = scopedRegExp.test(name) || externalModuleRegExp.test(name)
return (matchesScopedOrExternalRegExp && !isExternalPath(path, name, settings))
}

function isRelativeToParent(name) {
Expand All @@ -76,9 +77,9 @@ function isRelativeToSibling(name) {
const typeTest = cond([
[isAbsolute, constant('absolute')],
[isBuiltIn, constant('builtin')],
[isInternalModule, constant('internal')],
[isExternalModule, constant('external')],
[isScoped, constant('external')],
[isInternalModule, constant('internal')],
[isRelativeToParent, constant('parent')],
[isIndex, constant('index')],
[isRelativeToSibling, constant('sibling')],
Expand Down
Empty file added tests/files/@my-alias/fn.js
Empty file.
5 changes: 5 additions & 0 deletions tests/src/core/importType.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,11 @@ describe('importType(name)', function () {
const pathContext = testContext({ "import/resolver": { node: { paths: [ path.join(__dirname, '..', '..', 'files') ] } } })
expect(importType('@importType/index', pathContext)).to.equal('internal')
})

it("should return 'internal' for internal modules that are referenced by aliases", function () {
const pathContext = testContext({ 'import/resolver': { node: { paths: [path.join(__dirname, '..', '..', 'files')] } } })
expect(importType('@my-alias/fn', pathContext)).to.equal('internal')
})

it("should return 'parent' for internal modules that go through the parent", function() {
expect(importType('../foo', context)).to.equal('parent')
Expand Down

0 comments on commit 55ee760

Please sign in to comment.