From a0d776f7761eeea1ec3f667bebc3bdb79a5283c3 Mon Sep 17 00:00:00 2001 From: Yusuke Wada Date: Sat, 5 Oct 2024 16:46:15 +0900 Subject: [PATCH] fix: support `vite-tsconfig-paths` (#231) --- bun.lockb | Bin 306696 -> 307862 bytes .../SomeComponent.tsx | 5 +++ .../islands/Counter.tsx | 3 ++ .../routes/_renderer.tsx | 20 +++++++++++ .../routes/has-islands.tsx | 5 +++ .../routes/has-no-islands.tsx | 3 ++ mocks/tsconfig.json | 3 ++ package.json | 1 + src/vite/inject-importing-islands.ts | 27 ++++++++++----- test-integration/apps.test.ts | 32 ++++++++++++++++++ test-integration/vitest.config.ts | 2 ++ tsconfig.json | 10 ++++-- yarn.lock | 23 +++++++++++-- 13 files changed, 122 insertions(+), 12 deletions(-) create mode 100644 mocks/app-alias-tsconfig-paths/SomeComponent.tsx create mode 100644 mocks/app-alias-tsconfig-paths/islands/Counter.tsx create mode 100644 mocks/app-alias-tsconfig-paths/routes/_renderer.tsx create mode 100644 mocks/app-alias-tsconfig-paths/routes/has-islands.tsx create mode 100644 mocks/app-alias-tsconfig-paths/routes/has-no-islands.tsx create mode 100644 mocks/tsconfig.json diff --git a/bun.lockb b/bun.lockb index 06e3e3256407ef3b9918f82b8d62c636307ff8c1..043534ec8913f561b100b07e443d4277469e28dd 100755 GIT binary patch delta 56682 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

0QHwBuu{kijp7e4;Rj&IXGdvx8= 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