Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Test environment detection doesn't consider Vitest workspaces

Ouverte Adaptée aux débutants
#205 1 commentaire 2 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@carloitaben y travaille déjà.

Depuis le 22/8/2026.

  • #323 par @carloitaben — ouverte

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
78/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
typescript, vite
Domaine
testing-qa

Piste de recherche

Commencez aux lignes 213-224 de src/index.ts et comparez la détection de l’environnement de test du plugin avec la configuration test.workspace dans la reproduction liée. Vérifiez que les environnements basés sur un workspace sont respectés et que le workaround dans vite.config.ts n’est plus nécessaire, notamment en évitant la demande répétée d’installation de jsdom.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Hello! I am integrating the new Vitest Browser mode into a project using Solid. Their guide suggests that if you want to use it alongside other test environments, you should configure it using workspaces.

The Solid Vite plugin does not appear to read the user test.workspace configuration and defaults to jsdom.

// ...
      const userTest = (userConfig as any).test ?? {};
      const test = {} as any;
      if (userConfig.mode === 'test') {
        // ...
        if (!userTest.environment && !options.ssr) {
          test.environment = 'jsdom';
        }
// ...

Which results on being prompted to install jsdom each time

Image

Reproduction

I made a quick reproduction here.

Workaround

My current workaround is to do this on my vite.config.ts:

import { defineConfig } from "vite"
import solid from "vite-plugin-solid"
import tsConfigPaths from "vite-tsconfig-paths"

export default defineConfig({
  plugins: [tsConfigPaths(), solid()],
  test: {
    // Workaround for Solid Vite plugin. Get's superseeded by `workspace` config
    environment: "node",
    workspace: [
      {
        extends: true,
        test: {
          include: ["**/*.test.{ts,tsx}"],
          name: "Node.js",
          environment: "node",
        },
      },
      {
        extends: true,
        test: {
          include: ["**/*.test.dom.{ts,tsx}"],
          browser: {
            enabled: true,
            headless: true,
            ui: false,
            provider: "playwright",
            instances: [
              {
                browser: "chromium",
                name: "DOM",
              },
            ],
          },
        },
      },
    ],
  },
})

Could the Solid Vite plugin also check the user test.workspace configuration? 🙂 I can draft a PR if the request makes sense

Langage dominant
TypeScript
Étoiles
522
Forks
72
Merge moyen
1 j 3 h
PR mergées (30 j)
38

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de solidjs/solid-vite-plugin

Toutes les issues de solidjs/solid-vite-plugin

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.