Vitest fails with TypeError: Unknown file extension ".jsx"
I am trying to test a component using Vitest, but following the documentation fails with this error https://docs.solidjs.com/guides/testing#adding-testing-packages
TypeError: Unknown file extension ".jsx" for /media/aminya/Linux/GitHub/test/test/node_modules/.pnpm/@[email protected][email protected]/node_modules/@corvu/utils/dist/reactivity/index.jsx
My test file is a tsx file. It seems Vitest has trouble loading the .jsx file. My config is the same as the doc.
"@solidjs/testing-library": "^0.8.8",
"@testing-library/jest-dom": "^6.4.5",
"@testing-library/user-event": "^14.5.2",
"@vitest/coverage-v8": "^1.6.0",
"@vitest/ui": "^1.6.0",
"solid-devtools": "^0.30.1",
"typescript": "^5.4.5",
"vite": "^5.2.12",
"vite-plugin-solid": "^2.10.2",
"vitest": "^1.6.0"
Im not alone, yes! I have a stackblitz here that reproduces it and it's fairly minimal, only adding one file ontop of the solidstart vitest template. https://stackblitz.com/edit/solidjs-templates-6zmfus?file=package.json&view=editor
Did you ever manage to fix it?
No, I could not fix the issue, but I added a production in #158 as well. I talked to @ryansolid about this. He mentioned that @atk created the testing part of the plugin.
It is really hard to keep up with the constant changes, so I'm sorry, but I have no fast solution.
Does #158 help you debug the issue?
I'm working around this with the experimental vitest feature 'browser mode' so no fast solutions needed personally :)
I'm on MacOS and use PNPM. preserveSymlinks: true seems to fix the problem for me, YMMV.
import { defineConfig } from "vitest/config";
export default defineConfig({
resolve: {
preserveSymlinks: true,
},
});
@aminya were you able to fix this?