vitejs / vite

Next generation frontend tooling. It's fast!
http://vitejs.dev
MIT License
65.84k stars 5.87k forks source link

Unused import from external module prints massive indecipherable warning message #17517

Open benmccann opened 1 week ago

benmccann commented 1 week ago

Describe the bug

I've gotten this error message from vite, but don't know how to fix it. It's a pretty bizarre error message because it just tells me a bunch of files where the classes aren't used. But where are the offending classes actually imported?

"Sprite" and "CubeTexture" are imported from external module "three" but never used in "node_modules/.pnpm/@threlte+core@7.3.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/core/dist/lib/revision.js", "node_modules/.pnpm/@threlte+core@7.3.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/core/dist/lib/defaultCamera.js", "node_modules/.pnpm/@threlte+core@7.3.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/core/dist/lib/contexts.js", "node_modules/.pnpm/@threlte+core@7.3.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/core/dist/lib/useRenderer.js", "node_modules/.pnpm/@threlte+core@7.3.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/core/dist/Canvas.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/hooks/useGltfAnimations.js", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/hooks/useProgress.js", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/hooks/useTexture.js", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/hooks/useFBO.js", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/hooks/useMask.js", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/AnimatedSpriteMaterial/AnimatedSpriteMaterial.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/Float/Float.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/Gizmo/Gizmo.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/RoundedBoxGeometry/RoundedBoxGeometry.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/SoftShadows/SoftShadows.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/MeshLine/MeshLineGeometry.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/Sky/Sky.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/Billboard/Billboard.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/Mask/Mask.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/audio/AudioListener/AudioListener.svelte", "node_modules/.pnpm/@threlte+core@7.3.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/core/dist/components/T/T.js", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/suspense/Suspense.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/HTML/utils.js", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/HTML/HTML.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/ContactShadows/ContactShadows.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/controls/TransformControls/TransformControls.svelte", "nodemodules/.pnpm/@threejs-kit+instanced-sprite-mesh@2.4.7@types+three@0.165.0_three@0.165.0/node_modules/@threejs-kit/instanced-sprite-mesh/dist/index.js", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/InstancedSprite/instancedSpriteUtils.js", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/Instancing/PositionMesh.js", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/Instancing/Api.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/Instancing/InstancedMesh.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/MeshLine/vertex.js", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/Align/Align.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/FakeGlowMaterial/fragment.js", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/FakeGlowMaterial/FakeGlowMaterial.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/Stars/fragment.js", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/Stars/Stars.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/MeshRefractionMaterial/fragment.js", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/audio/PositionalAudio/PositionalAudio.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/audio/utils/useAudio.js", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/audio/Audio/Audio.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/InstancedSprite/InstancedSprite.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/interactivity/context.js", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/ImageMaterial/ImageMaterial.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/Grid/Grid.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/MeshLine/MeshLineMaterial.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/Outlines/Outlines.svelte", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/lib/revision.js", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/Environment/Environment.svelte", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/utils/TriangleUtilities.js", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/gpu/VertexAttributeTexture.js", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/utils/StaticGeometryGenerator.js", "node_modules/.pnpm/troika-three-utils@0.49.0_three@0.165.0/node_modules/troika-three-utils/dist/troika-three-utils.esm.js", "node_modules/.pnpm/troika-three-text@0.49.1_three@0.165.0/node_modules/troika-three-text/dist/troika-three-text.esm.js", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/objects/MeshBVHHelper.js", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/core/cast/closestPointToPoint.js", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/debug/Debug.js", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/utils/ExtensionUtilities.js", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/math/SeparatingAxisBounds.js", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/math/OrientedBox.js", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/math/MathUtilities.js", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/math/ExtendedTriangle.js", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/core/cast/closestPointToGeometry.generated.js", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/core/cast/closestPointToGeometry_indirect.generated.js", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/core/build/geometryUtils.js", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/gpu/MeshBVHUniformStruct.js", "node_modules/.pnpm/three-perf@1.0.10_three@0.165.0/node_modules/three-perf/dist/GLPerf.mjs", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/core/cast/intersectsGeometry.generated.js", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/core/cast/intersectsGeometry_indirect.generated.js", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/core/cast/bvhcast.js", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/core/cast/shapecast.js", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/utils/ThreeRayIntersectUtilities.js", "node_modules/.pnpm/three-mesh-bvh@0.7.5_three@0.165.0/node_modules/three-mesh-bvh/src/core/MeshBVH.js", "nodemodules/.pnpm/@threlte+extras@8.11.2@types+three@0.165.0_svelte@4.2.18_three@0.165.0/node_modules/@threlte/extras/dist/components/MeshRefractionMaterial/MeshRefractionMaterial.svelte", "node_modules/.pnpm/troika-three-utils@0.47.2_three@0.165.0/node_modules/troika-three-utils/dist/troika-three-utils.esm.js", "node_modules/.pnpm/troika-three-text@0.47.2_three@0.165.0/node_modules/troika-three-text/dist/troika-three-text.esm.js", "node_modules/.pnpm/three-perf@1.0.10_three@0.165.0/node_modules/three-perf/dist/ui/UI.mjs" and "node_modules/.pnpm/three-perf@1.0.10_three@0.165.0/node_modules/three-perf/dist/ThreePerf.mjs".

Reproduction

https://github.com/benmccann/vite-warning-bug

Steps to reproduce

pnpm install
pnpm build

System Info

command is hanging on my machine. maybe because it's a pnpm project?
vite 5.3.1
rollup 4.18.0

Used Package Manager

pnpm

Logs

No response

Validations

benmccann commented 1 week ago

looks like this warning is coming from rollup:

benmccann commented 1 week ago

Sigh. I guess I partially have myself to blame for this one: https://github.com/rollup/rollup/pull/4194. Lol

To be fair, putting a huge list of files where you have to guess which one contains the error is slightly better than the old version, which told you nothing. And I was just using the information available where the real issue is the warning being generated without the relevant info

bluwy commented 1 week ago

I've seen this happen more often since a couple months ago, but I'm not sure it's related to Vite either. Perhaps it should be reported to Rollup instead? Maybe also worth testing downgrading Rollup versions.

benmccann commented 1 week ago

I was going to close this and file an issue with Rollup, but I can't reproduce it with Rollup alone: https://stackblitz.com/edit/rollup-repro-imroal

I'm guessing that there's something in Vite's TypeScript transformation that is triggering this or something along those lines