Skip to content

Commit

Permalink
[Fix] allow aliases that start with @ to be "internal"
Browse files Browse the repository at this point in the history
Fixes #1293.
  • Loading branch information
jeffshaver authored and ljharb committed Feb 21, 2019
1 parent e9544f8 commit 651829d
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

1 comment on commit 651829d

@X9X
Copy link

@X9X X9X commented on 651829d Mar 6, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great Work! But is there a schedule to publish a patch version?

Please sign in to comment.