Skip to content

fix(resolve): fix resolver not following node resolve algorithm#2718

Merged
patak-cat merged 1 commit into
vitejs:mainfrom
Timsonrobl:fix-2695
Mar 29, 2021
Merged

fix(resolve): fix resolver not following node resolve algorithm#2718
patak-cat merged 1 commit into
vitejs:mainfrom
Timsonrobl:fix-2695

Conversation

@Timsonrobl
Copy link
Copy Markdown
Contributor

@Timsonrobl Timsonrobl commented Mar 26, 2021

(fix #2695)

Description

Fixing resolver trying to postfix every file extension to path before trying to resolve to non-posfixed direct match.
Removed the ability to resolve to directory path while not in package.json and index resolution step.
Added 2 tests that previous implementation would fail.

Additional context


What is the purpose of this pull request?

  • Bug fix
  • New Feature
  • Documentation update
  • Other

Before submitting the PR, please make sure you do the following

  • Read the Contributing Guidelines.
  • Read the Pull Request Guidelines and follow the Commit Convention.
  • Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
  • Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
  • Ideally, include relevant tests that fail without this PR but pass with it.

Comment thread packages/vite/src/node/plugins/resolve.ts
@Shinigami92 Shinigami92 added the p3-minor-bug An edge case that only affects very specific usage (priority) label Mar 26, 2021
Comment thread packages/vite/src/node/plugins/resolve.ts
@patak-cat
Copy link
Copy Markdown
Member

Note: this PR fixes edge cases (included in the tests) and improves performance when the project is using extensions in their imports. Before this PR, for the default config, 7 tryResolveFile would be called before trying for the exact match. With this PR, that 7 tryResolveFile are avoided.

@Timsonrobl Timsonrobl closed this Mar 27, 2021
@Timsonrobl Timsonrobl reopened this Mar 27, 2021
@patak-cat patak-cat merged commit 669c591 into vitejs:main Mar 29, 2021
@Timsonrobl Timsonrobl deleted the fix-2695 branch March 30, 2021 13:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

p3-minor-bug An edge case that only affects very specific usage (priority)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Resolver prioritize files with duplicated extensions

4 participants