Skip to content

Commit 834f8d5

Browse files
committed
Merge remote-tracking branch 'upstream/main' into 1745
2 parents 21e0d28 + 9ae00d4 commit 834f8d5

File tree

4 files changed

+530
-7
lines changed

4 files changed

+530
-7
lines changed

changes/ssr-using-modulerunner.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,18 @@
44
[Environment API feedback discussion](https://github.com/vitejs/vite/discussions/16358)でフィードバックをお寄せください。
55
:::
66

7-
`server.ssrLoadModule`[Module Runner](/guide/api-environment#modulerunner) に置き換えられました
7+
`server.ssrLoadModule`[Module Runner](/guide/api-environment#modulerunner) からのインポートに置き換えられました
88

99
影響範囲: `Vite プラグイン作成者`
1010

1111
::: warning 将来の廃止予定
12-
`ModuleRunner``v6.0` で初めて導入されました。`server.ssrLoadModule` の廃止は将来のメジャーバージョンで予定されています。使用状況を明確にするため、vite config で `future.removeSrLoadModule``"warn"` に設定してください。
12+
`ModuleRunner``v6.0` で初めて導入されました。`server.ssrLoadModule` の廃止は将来のメジャーバージョンで予定されています。使用状況を明確にするため、vite config で `future.removeSsrLoadModule``"warn"` に設定してください。
1313
:::
1414

1515
## 動機
1616

17-
// TODO: <small>(訳注: 原文ママ)</small>
17+
`server.ssrLoadModule(url)``ssr` 環境でのモジュールインポートのみを許可し、Vite 開発サーバーと同じプロセスでのみモジュールを実行できます。カスタム環境を持つアプリケーションでは、各環境は `ModuleRunner` と関連付けられ、個別のスレッドまたはプロセスで実行される場合があります。モジュールをインポートするには、`moduleRunner.import(url)` を使用します。
1818

1919
## 移行ガイド
2020

21-
// TODO: <small>(訳注: 原文ママ)</small>
21+
[Environment API フレームワークガイド](../guide/api-environment-frameworks.md)をご覧ください。

guide/migration.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,53 @@ Vite 5 のように `style.css` を使い続けたい場合は、代わりに `b
101101
- キャッシュフォルダにファイルを書き込んですぐにインポートするといったエッジケースのために、このオプトイン最適化は削除されました。
102102
- [[#18697] fix(deps)!: update dependency dotenv-expand to v12](https://github.com/vitejs/vite/pull/18697)
103103
- 補間に使用される変数は、補間の実行前に宣言する必要があるようになりました。詳しくは、[`dotenv-expand` の changelog](https://github.com/motdotla/dotenv-expand/blob/v12.0.1/CHANGELOG.md#1200-2024-11-16) を参照してください。
104+
- [[#16471] feat: v6 - Environment API](https://github.com/vitejs/vite/pull/16471)
105+
106+
- SSR 専用モジュールの更新がクライアント側でページ全体のリロードを引き起こすことはなくなりました。以前の動作に戻すには、カスタム Vite プラグインを使用できます:
107+
<details>
108+
<summary>クリックして例を表示</summary>
109+
110+
```ts twoslash
111+
import type { Plugin, EnvironmentModuleNode } from 'vite'
112+
113+
function hmrReload(): Plugin {
114+
return {
115+
name: 'hmr-reload',
116+
enforce: 'post',
117+
hotUpdate: {
118+
order: 'post',
119+
handler({ modules, server, timestamp }) {
120+
if (this.environment.name !== 'ssr') return
121+
122+
let hasSsrOnlyModules = false
123+
124+
const invalidatedModules = new Set<EnvironmentModuleNode>()
125+
for (const mod of modules) {
126+
if (mod.id == null) continue
127+
const clientModule =
128+
server.environments.client.moduleGraph.getModuleById(mod.id)
129+
if (clientModule != null) continue
130+
131+
this.environment.moduleGraph.invalidateModule(
132+
mod,
133+
invalidatedModules,
134+
timestamp,
135+
true,
136+
)
137+
hasSsrOnlyModules = true
138+
}
139+
140+
if (hasSsrOnlyModules) {
141+
server.ws.send({ type: 'full-reload' })
142+
return []
143+
}
144+
},
145+
},
146+
}
147+
}
148+
```
149+
150+
</details>
104151

105152
## v4 からの移行
106153

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"textlint-filter-rule-allowlist": "^4.0.0",
2020
"textlint-filter-rule-comments": "^1.2.2",
2121
"textlint-rule-preset-vuejs-jp": "git+https://github.com/vuejs-jp/textlint-rule-preset-vuejs-jp.git",
22-
"vite": "^5.4.11",
22+
"vite": "^6.0.0",
2323
"vitepress": "1.5.0",
2424
"vitepress-plugin-group-icons": "^1.3.0",
2525
"vue": "^3.5.13",

0 commit comments

Comments
 (0)