From fbd10aa5f46716fa675f51d9117663d027eb8962 Mon Sep 17 00:00:00 2001 From: bluwy Date: Sat, 23 Jul 2022 23:01:13 +0800 Subject: [PATCH 1/3] chore: add tests --- .../__tests__/optimize-deps.spec.ts | 13 ++++++++++++ .../dep-with-optional-peer-dep/index.js | 7 +++++++ .../dep-with-optional-peer-dep/package.json | 15 ++++++++++++++ playground/optimize-deps/index.html | 10 ++++++++++ playground/optimize-deps/package.json | 1 + pnpm-lock.yaml | 20 +++++++++++++++++++ 6 files changed, 66 insertions(+) create mode 100644 playground/optimize-deps/dep-with-optional-peer-dep/index.js create mode 100644 playground/optimize-deps/dep-with-optional-peer-dep/package.json diff --git a/playground/optimize-deps/__tests__/optimize-deps.spec.ts b/playground/optimize-deps/__tests__/optimize-deps.spec.ts index a62b4525e057be..cf729216a5d9ea 100644 --- a/playground/optimize-deps/__tests__/optimize-deps.spec.ts +++ b/playground/optimize-deps/__tests__/optimize-deps.spec.ts @@ -87,6 +87,19 @@ test('dep with dynamic import', async () => { ) }) +test('dep with optional peer dep', async () => { + expect(await page.textContent('.dep-with-optional-peer-dep')).toMatch( + `[success]` + ) + if (isServe) { + expect(browserErrors.map((error) => error.message)).toEqual( + expect.arrayContaining([ + 'Could not resolve "undefined" imported by "undefined". Is it installed?' + ]) + ) + } +}) + test('dep with css import', async () => { expect(await getColor('.dep-linked-include')).toBe('red') }) diff --git a/playground/optimize-deps/dep-with-optional-peer-dep/index.js b/playground/optimize-deps/dep-with-optional-peer-dep/index.js new file mode 100644 index 00000000000000..bce89ca18f3ad7 --- /dev/null +++ b/playground/optimize-deps/dep-with-optional-peer-dep/index.js @@ -0,0 +1,7 @@ +export function callItself() { + return '[success]' +} + +export async function callPeerDep() { + return await import('foobar') +} diff --git a/playground/optimize-deps/dep-with-optional-peer-dep/package.json b/playground/optimize-deps/dep-with-optional-peer-dep/package.json new file mode 100644 index 00000000000000..bf43db6b7919d9 --- /dev/null +++ b/playground/optimize-deps/dep-with-optional-peer-dep/package.json @@ -0,0 +1,15 @@ +{ + "name": "dep-with-optional-peer-dep", + "private": true, + "version": "0.0.0", + "main": "index.js", + "type": "module", + "peerDependencies": { + "foobar": "0.0.0" + }, + "peerDependenciesMeta": { + "foobar": { + "optional": true + } + } +} diff --git a/playground/optimize-deps/index.html b/playground/optimize-deps/index.html index 7b0c43e82fdcbc..fe507e9ba568f4 100644 --- a/playground/optimize-deps/index.html +++ b/playground/optimize-deps/index.html @@ -59,6 +59,9 @@

Import from dependency with dynamic import

+

Import from dependency with optional peer dep

+
+

Dep w/ special file format supported via plugins

@@ -152,6 +155,13 @@

Flatten Id

text('.reused-variable-names', reusedName) + +