voidzero-dev / voidzero-dev/vite-plus

Revert bundling Vitest directly inside Vite+

オープン
#2,401 コメント 0 件 リアクション 1 件 担当者 0 名 GitHub で見る
pending triage
主要言語
Rust
スター
5.8k
フォーク
262
平均マージ
1日 34分
マージ済み PR(30日)
135

説明

### Description

Currently, there is no way to add an import subpath as a package override (example below)

```jsonc
{
"devDependencies": {
"vitest": "npm:vite-plus@0.2.8/test" // doesn't work!
}
}
```

This means that, despite supposedly being compatible with Vitest, packages and integrations may break now due to the absence of a `vitest` package to import from.

### Suggested solution

The old setup of overriding `vitest` with `@voidzero-dev/vite-plus-test` worked fine for this purpose. I propose that we bring it back, at least temporarily, if the Vite+ core team is dead set on bundling it. This way, integrations that check for the `vitest` package still work with Vite+.

### Alternative

Alternatives include migrating the entire ecosystem to use the `vite-plus/test` export which seems unlikely to happen (and also would break compatibility with vanilla Vitest unless packages have to check for both exports, which is another optional peer dependency required to be declared).

### Additional context

This isn't as much of a problem for Vite, tsdown, Rolldown, and Oxlint because their requirements are type-level imports or (in the case of Vite) is already bypassed by overriding the `vite` package. On the other hand, some Vitest reporters rely on extending existing reporters or programmatically running Vitest, which isn't covered in the current export model.

### Validations

- [x] Read the [Contributing Guidelines](https://github.com/voidzero-dev/vite-plus/blob/main/CONTRIBUTING.md).
- [x] Confirm this request is for Vite+ itself and not for Vite, Vitest, tsdown, Rolldown, or Oxc.
- [x] Check that there isn't already an issue requesting the same feature.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Start by tracing Vite+'s package export and dependency-override configuration, then compare it with the npm alias example and the former @voidzero-dev/vite-plus-test setup. Done means integrations that import or programmatically use the vitest package resolve under Vite+ without requiring migration to vite-plus/test.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript
領域
developer-experience, tooling
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。