vite-plugin-solid icon indicating copy to clipboard operation
vite-plugin-solid copied to clipboard

Vitest fails with TypeError: Unknown file extension ".jsx"

Open aminya opened this issue 1 year ago • 13 comments

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"
    

aminya avatar Jun 04 '24 08:06 aminya

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?

NexRX avatar Jul 15 '24 20:07 NexRX

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.

aminya avatar Jul 15 '24 21:07 aminya

It is really hard to keep up with the constant changes, so I'm sorry, but I have no fast solution.

atk avatar Jul 16 '24 08:07 atk

Does #158 help you debug the issue?

aminya avatar Jul 16 '24 23:07 aminya

I'm working around this with the experimental vitest feature 'browser mode' so no fast solutions needed personally :)

NexRX avatar Jul 17 '24 01:07 NexRX

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,
  },
});

jaroel avatar Sep 16 '24 18:09 jaroel

@aminya were you able to fix this?

kiocos avatar Dec 03 '25 19:12 kiocos