Skip to content

Commit bce6b69

Browse files
authored
refactor!: bump required node version to 20.19+, 22.12+ and remove cjs build (#1962)
1 parent f41b4c7 commit bce6b69

File tree

2 files changed

+16
-32
lines changed

2 files changed

+16
-32
lines changed

guide/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Vite は完全な型サポートのある [Plugin API](./api-plugin) と [JavaSc
4444
## 最初の Vite プロジェクトを生成する
4545

4646
::: tip 互換性について
47-
Vite は [Node.js](https://nodejs.org/en/) 20+ のバージョンが必要です。ただし、一部のテンプレートではそれ以上のバージョンの Node.js を必要としますので、パッケージマネージャーが警告を出した場合はアップグレードしてください。
47+
Vite は [Node.js](https://nodejs.org/en/) 20.19+, 22.12+ のバージョンが必要です。ただし、一部のテンプレートではそれ以上のバージョンの Node.js を必要としますので、パッケージマネージャーが警告を出した場合はアップグレードしてください。
4848
:::
4949

5050
::: code-group

guide/troubleshooting.md

Lines changed: 15 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -4,37 +4,6 @@
44

55
こちらに提案されているもので動作しなかった場合、[GitHub Discussions](https://github.com/vitejs/vite/discussions)[Vite Land Discord](https://chat.vite.dev)`#help` チャンネルで質問してみてください。
66

7-
## CJS
8-
9-
### Vite の CJS Node API は非推奨に
10-
11-
Vite の Node API の CJS ビルドは非推奨となり、Vite 6 で削除される予定です。詳細は [GitHub ディスカッション](https://github.com/vitejs/vite/discussions/13928)を参照してください。Vite の ESM ビルドをインポートするにはファイルやフレームワークを更新する必要があります。
12-
13-
基本的な Vite プロジェクトでは、以下を確認してください:
14-
15-
1. `vite.config.js` ファイルの内容が ESM 構文を使っていること
16-
2. 最も近い `package.json` ファイルが `"type": "module"` を含むか、`.mjs`/`.mts` 拡張子を利用すること(例:`vite.config.mjs``vite.config.mts`
17-
18-
その他のプロジェクトについては、いくつかの一般的なアプローチがあります:
19-
20-
- **ESM をデフォルトとして設定し、必要であれば CJS にオプトインする:** プロジェクトの `package.json``"type": "module"` を追加します。すべての `*.js` ファイルは ESM として解釈されるようになり、ESM 構文を使用する必要があります。ファイルの拡張子を `.cjs` にリネームすることで、CJS を使用し続けることができます。
21-
- **CJS をデフォルトのままにして、必要であれば ESM にオプトインする:** プロジェクトの `package.json``"type": "module"` がない場合、すべての `*.js` ファイルは CJS として解釈されます。ファイルの拡張子を `.mjs` にリネームすることで、ESM を使用できます。
22-
- **Vite を動的にインポートする:** CJS を使用し続ける必要がある場合は、代わりに `import('vite')` を使用して Vite を動的にインポートできます。これにはコードを `async` のコンテキストで記述する必要がありますが、Vite の API はほとんどが非同期であるため何とかなるでしょう。
23-
24-
警告の出所がわからない場合は、`VITE_CJS_TRACE=true` フラグを指定してスクリプトを実行し、スタックトレースを記録できます:
25-
26-
```bash
27-
VITE_CJS_TRACE=true vite dev
28-
```
29-
30-
警告を一時的に無視したい場合は、`VITE_CJS_IGNORE_WARNING=true` フラグを指定してスクリプトを実行できます:
31-
32-
```bash
33-
VITE_CJS_IGNORE_WARNING=true vite dev
34-
```
35-
36-
なお、postcss の設定ファイルは ESM + TypeScript(`"type": "module"``.mts``.ts`)にはまだ対応していないので注意してください。もし、postcss の設定ファイルが `.ts` で、package.json に `"type": "module"` を追加した場合、postcss の設定ファイル名を `.cts` に変更する必要があります。
37-
387
## CLI
398

409
### `Error: Cannot find module 'C:\foo\bar&baz\vite\bin\vite.js'`
@@ -245,3 +214,18 @@ Windows でプロジェクトにクロスドライブリンクがある場合、
245214
- `mklink` コマンドによる別ドライブへのシンボリックリンク/ジャンクション(例:Yarn のグローバルキャッシュ)
246215

247216
関連 issue: [#10802](https://github.com/vitejs/vite/issues/10802)
217+
218+
<script setup lang="ts">
219+
// redirect old links with hash to old version docs
220+
if (typeof window !== "undefined") {
221+
const hashForOldVersion = {
222+
'vite-cjs-node-api-deprecated': 6
223+
}
224+
225+
const version = hashForOldVersion[location.hash.slice(1)]
226+
if (version) {
227+
// update the scheme and the port as well so that it works in local preview (it is http and 4173 locally)
228+
location.href = `https://v${version}.vite.dev` + location.pathname + location.search + location.hash
229+
}
230+
}
231+
</script>

0 commit comments

Comments
 (0)