`vite-plus/test/browser-playwright` types import `playwright`, which vite-plus does not declare, so provider options go unchecked under pnpm
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 84/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- playwright, typescript
- Domaine
- developer-experience
Piste de recherche
Commencez par vite-plus/dist/test/browser-playwright.d.ts et les métadonnées du package qui contrôlent ses dépendances peer. Ajoutez playwright comme peer facultatif, puis exécutez la reproduction fournie avec pnpm et vp check pour confirmer que les contextOptions invalides sont rejetées et que les types de déclaration sont résolus correctement.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
What happens
vite-plus/dist/test/browser-playwright.d.ts imports types from playwright:
import { Page, Frame, FrameLocator, BrowserContext, CDPSession, Browser, LaunchOptions, ConnectOptions, BrowserContextOptions } from 'playwright';
vite-plus doesn't declare playwright as a dependency or a peer. It only declares @vitest/browser-playwright as an optional peer. With pnpm's isolated layouts (confirmed with virtualStoreType: global), vite-plus's own slot therefore has no playwright, and TypeScript can't resolve the import. With skipLibCheck: true (the usual setting), the Playwright types in the provider's declarations silently lose their meaning:
playwright({ contextOptions })is unchecked, socontextOptions: { reducedMotion: "bogus" }compiles;cdp().send(...), typed through theCDPSessionaugmentation, is error-typed, so type-aware Oxlint reportsno-unsafe-callon every call.
Repro
- A pnpm project with
virtualStoreType: globaland[email protected],[email protected]and@vitest/[email protected]as devDependencies. - In
vite.config.ts:provider: playwright({ contextOptions: { reducedMotion: "bogus" } })fromvite-plus/test/browser-playwright. vp checkpasses.lsvite-plus's slot (<store>/links/@/vite-plus/1.0.0/<hash>/node_modules/):vitest,vite,oxlint… but noplaywright.
Proposal
Declare playwright as an optional peer of vite-plus, the way @vitest/browser-playwright already is:
"peerDependencies": { "playwright": "*" },
"peerDependenciesMeta": { "playwright": { "optional": true } }
Workaround: a .pnpmfile.mjs readPackage hook that adds that optional peer to vite-plus. With it, playwright is linked into vite-plus's slot, and vp check rejects reducedMotion: "bogus" with TS2322: Type '"bogus"' is not assignable to type '"no-preference" | "reduce" | null | undefined'.
Versions: vite-plus 1.0.0, pnpm 12.8.1, playwright 1.63.0, TypeScript 7.0.2, macOS.
- Langage dominant
- Rust
- Étoiles
- 6.5k
- Forks
- 296
- Merge moyen
- 1 j 9 h
- PR mergées (30 j)
- 224
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de voidzero-dev/vite-plus
-
pending triage
Difficulté 2/5 1-3 heures Accessibilité débutants 63/100
voidzero-dev/vite-plus#3235 ·
Les mainteneurs répondent en général sous 1 jour
-
Docker guide: the runtime stage needs libatomic1 for Node.js 25 and laterPeut-être pris @kshanxs l’a pris il y a 2 jours. Ouvertedocumentation
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
voidzero-dev/vite-plus#3219 · 1 commentaire · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
pending triage
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
voidzero-dev/vite-plus#2882 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
pending triage
Difficulté 2/5 1-3 heures Accessibilité débutants 55/100
voidzero-dev/vite-plus#3247 ·
Les mainteneurs répondent en général sous 1 jour
-
pending triage
Difficulté 3/5 1-2 jours Accessibilité débutants 56/100
voidzero-dev/vite-plus#3245 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de voidzero-dev/vite-plus
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
good first issue hardware help wanted no-box serve
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
Les mainteneurs répondent en général sous 1 jour
-
Query Log shows "Upstream" for CNAME cloaking, schedule, NXDOMAIN hijack and response IP blocksOuvertebug good first issue query-log web
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
ferrous-networking/ferrous-dns#326 ·
Les mainteneurs répondent en général sous 1 jour