Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Prevent unpredictable dependency hosting by explicitly resolve module…
… path on webpack.ProvidePlugin (#20971) ProvidePlugin replaces certain identifiers with another modules. As a result, 'buffer' and 'process' modules are added as implicit dependencies to all Next.js plugins. This can be problematic. With "Plug'n'Play" strategy, it don't work at all since they fail-fast with implicit dependencies. With "node_modules" strategy, it might seem OK but actually it can be result into unpredictable behavior since in uses dependency [hoisting](https://yarnpkg.com/advanced/lexicon#hoisting). For example, currently users cannot use next-auth plugin with Plug'n'Play strategy: ![image](https://user-images.githubusercontent.com/4435445/103481517-d5547700-4e1e-11eb-9f23-bc2c9939418e.png) This patch let Next.js properly handles such cases with `require.resolve`. Closes #20955 ###### References: - nextauthjs/next-auth#1034
- Loading branch information