Skip to content

Commit

Permalink
fix: resolve nested dependencies (#3254) (#3753)
Browse files Browse the repository at this point in the history
* fix: resolve nested dependencies (#3254)

* chore: inline packages

* chore: force optimize

* chore: cleanup

Co-authored-by: Anthony Fu <anthonyfu117@hotmail.com>
  • Loading branch information
Yelmor and antfu committed Jun 27, 2021
1 parent d2a51ca commit 8467f64
Show file tree
Hide file tree
Showing 12 changed files with 78 additions and 1 deletion.
5 changes: 5 additions & 0 deletions packages/playground/nested-deps/__tests__/nested-deps.spec.ts
@@ -0,0 +1,5 @@
test('handle nested package', async () => {
expect(await page.textContent('.a')).toBe('A@2.0.0')
expect(await page.textContent('.b')).toBe('B@1.0.0')
expect(await page.textContent('.nested-a')).toBe('A@1.0.0')
})
21 changes: 21 additions & 0 deletions packages/playground/nested-deps/index.html
@@ -0,0 +1,21 @@
<h2>direct dependency A</h2>
<pre class="a"></pre>

<h2>direct dependency B</h2>
<pre class="b"></pre>

<h2>nested dependency A</h2>
<pre class="nested-a"></pre>

<script type="module">
import A from 'test-package-a'
import B, { A as nestedA } from 'test-package-b'

text('.a', A)
text('.b', B)
text('.nested-a', nestedA)

function text(sel, text) {
document.querySelector(sel).textContent = text
}
</script>
15 changes: 15 additions & 0 deletions packages/playground/nested-deps/package.json
@@ -0,0 +1,15 @@
{
"name": "@test/nested-deps",
"private": true,
"version": "0.0.0",
"scripts": {
"dev": "vite",
"build": "vite build",
"debug": "node --inspect-brk ../../vite/bin/vite",
"serve": "vite preview"
},
"dependencies": {
"test-package-a": "link:./test-package-a",
"test-package-b": "link:./test-package-b"
}
}
1 change: 1 addition & 0 deletions packages/playground/nested-deps/test-package-a/index.js
@@ -0,0 +1 @@
export default 'A@2.0.0'
5 changes: 5 additions & 0 deletions packages/playground/nested-deps/test-package-a/package.json
@@ -0,0 +1,5 @@
{
"name": "test-package-a",
"version": "2.0.0",
"main": "index.js"
}
3 changes: 3 additions & 0 deletions packages/playground/nested-deps/test-package-b/index.js
@@ -0,0 +1,3 @@
export { default as A } from 'test-package-a'

export default 'B@1.0.0'

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions packages/playground/nested-deps/test-package-b/package.json
@@ -0,0 +1,5 @@
{
"name": "test-package-b",
"version": "1.0.0",
"main": "index.js"
}
8 changes: 8 additions & 0 deletions packages/playground/nested-deps/vite.config.js
@@ -0,0 +1,8 @@
/**
* @type {import('vite').UserConfig}
*/
module.exports = {
optimizeDeps: {
include: ['test-package-a', 'test-package-b']
}
}
2 changes: 1 addition & 1 deletion packages/vite/src/node/optimizer/esbuildDepPlugin.ts
Expand Up @@ -94,7 +94,7 @@ export function esbuildDepPlugin(
namespace: 'dep'
}
: {
path: require.resolve(qualified[flatId], {
path: require.resolve(id, {
paths: [resolveDir]
})
}
Expand Down
8 changes: 8 additions & 0 deletions yarn.lock
Expand Up @@ -6922,6 +6922,14 @@ test-exclude@^6.0.0:
glob "^7.1.4"
minimatch "^3.0.4"

"test-package-a@link:./packages/playground/nested-deps/test-package-a":
version "0.0.0"
uid ""

"test-package-b@link:./packages/playground/nested-deps/test-package-b":
version "0.0.0"
uid ""

text-extensions@^1.0.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26"
Expand Down

0 comments on commit 8467f64

Please sign in to comment.