Skip to content

Commit 79b8164

Browse files
authored
feat(create-vite): set types compiler option in tsconfigs (#2166)
1 parent 202a0d3 commit 79b8164

File tree

3 files changed

+24
-16
lines changed

3 files changed

+24
-16
lines changed

guide/api-hmr.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,14 @@ if (import.meta.hot) {
6262
6363
## TypeScript の IntelliSense
6464
65-
Vite は `import.meta.hot` の型定義を [`vite/client.d.ts`](https://github.com/vitejs/vite/blob/main/packages/vite/client.d.ts) で提供しています。`src` ディレクトリーに `vite-env.d.ts` を作成することで、TypeScript が型定義を読み込むようになります:
65+
Vite は `import.meta.hot` の型定義を [`vite/client.d.ts`](https://github.com/vitejs/vite/blob/main/packages/vite/client.d.ts) で提供しています。`tsconfig.json` に "vite/client" を追加することで、TypeScript が型定義を読み込むようになります:
6666
67-
```ts [vite-env.d.ts]
68-
/// <reference types="vite/client" />
67+
```json [tsconfig.json]
68+
{
69+
"compilerOptions": {
70+
"types": ["vite/client"]
71+
}
72+
}
6973
```
7074
7175
## `hot.accept(cb)`

guide/env-and-mode.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,6 @@ VITE_BAR=bar
117117
この目的を達するには、`src` ディレクトリーに `vite-env.d.ts` を作成し、以下のように `ImportMetaEnv` を補ってください:
118118
119119
```typescript [vite-env.d.ts]
120-
/// <reference types="vite/client" />
121-
122120
interface ViteTypeOptions {
123121
// この行を追加することで ImportMetaEnv の型を厳密にし、不明なキーを許可しないように
124122
// できます。

guide/features.md

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -113,15 +113,7 @@ Vite のスターターテンプレートでは依存関係の型チェックを
113113

114114
### クライアントでの型 {#client-types}
115115

116-
Vite はデフォルトでは Node.js の API を提供します。Vite でクライアント用のコードを使用するには `d.ts` の定義ファイルを追加します:
117-
118-
```typescript
119-
/// <reference types="vite/client" />
120-
```
121-
122-
::: details `compilerOptions.types` の使用
123-
124-
または、`tsconfig.json` 内の `compilerOptions.types``vite/client` を追加することもできます:
116+
Vite はデフォルトでは Node.js の API を提供します。Vite でクライアント用のコードを使用するには、`tsconfig.json` 内の `compilerOptions.types``vite/client` を追加できます:
125117

126118
```json [tsconfig.json]
127119
{
@@ -131,7 +123,15 @@ Vite はデフォルトでは Node.js の API を提供します。Vite でク
131123
}
132124
```
133125

134-
[`compilerOptions.types`](https://www.typescriptlang.org/tsconfig#types) が指定された場合、グローバルスコープには(見つかるすべての "@types" パッケージの代わりに)これらのパッケージのみが含まれるようになることに注意してください。
126+
[`compilerOptions.types`](https://www.typescriptlang.org/tsconfig#types) が指定された場合、グローバルスコープには(見つかるすべての "@types" パッケージの代わりに)これらのパッケージのみが含まれるようになることに注意してください。これは TS 5.9 以降で推奨されています。
127+
128+
::: details triple-slash directive の使用
129+
130+
または、`d.ts` の定義ファイルを追加することもできます:
131+
132+
```typescript [vite-env.d.ts]
133+
/// <reference types="vite/client" />
134+
```
135135

136136
:::
137137

@@ -153,7 +153,13 @@ Vite はデフォルトでは Node.js の API を提供します。Vite でク
153153
export default content
154154
}
155155
```
156-
- `vite/client` への参照を含むファイル(通常は `vite-env.d.ts`):
156+
- `compilerOptions.types` を使用している場合は、ファイルが `tsconfig.json` に含まれるようにします:
157+
```json [tsconfig.json]
158+
{
159+
"include": ["src", "./vite-env-override.d.ts"]
160+
}
161+
```
162+
- triple-slash directive を使用している場合は、`vite/client` への参照を含むファイル(通常は `vite-env.d.ts`)を更新します:
157163
```ts
158164
/// <reference types="./vite-env-override.d.ts" />
159165
/// <reference types="vite/client" />

0 commit comments

Comments
 (0)