Open1
nextjsメモ
tsconfig.json
nextjsのプロジェクト作成した際にtsconfig.jsonにデフォルトで設定されていたプロパティについて以下にまとめます。nextjsのバージョンは15.0.3です。
オプション | 値 | 内容 |
---|---|---|
target | ES2017 | TypeScript はトランスパイルされ JavaScript に変換されます。target はどのバージョンの JavaScript に変換するかを指定できます。例えば利用者が古いバージョンのブラウザを使っている場合は、古いバージョンのブラウザで実行可能な JavaScript を指定します。typescriptが出しているNode.jsのバージョンとtargetのマッピングを参考にするのがおすすめhttps://github.com/microsoft/TypeScript/wiki/Node-Target-Mapping |
lib | ["dom", "dom.iterable", "esnext"] | targetに指定しているjsのバージョンには含まれていない、組み込みライブラリを使用する場合は、libに明示的な指定が必要になります。 |
allowJs | true | TypeScriptファイル内で、JavaScriptファイルをインポート可能にすることができるオプション。 TypeScriptと、JavaScriptの共存にはこちらが必須 |
skipLibCheck | true | 型定義ファイル(.d.ts)のチェックをスキップするオプション。コンパイル実行時間を削減することができる |
strict | true | 有効にすることで厳密な型チェックを行うことができる。有効化することで、以下のオプションが有効化される。(alwaysStrict、strictNullChecks、strictBindCallApply、strictFunctionTypes、strictPropertyInitialization、noImplicitAny、noImplicitThis、useUnknownInCatchVariables) |
alwaysStrict | true | ファイルを ECMAScript の strict モードで解釈し、各ファイルへ”use strict”が出力される |
strictNullChecks | true | 有効化することで、"null"と"undefined"に明示的な型が与えられ、コンパイル時に予期せぬエラーが検知される。 |
strictBindCallApply | true | 有効化することで、関数の組み込みメソッドのcallとbindとapplyについて、元となっている関数に対して正しい引数で呼び出されているかを TypeScript がチェックする |
strictFunctionTypes | true | 有効化することで、関数の引数の型をTypeScript がチェックする |
strictPropertyInitialization | true | 有効化することで、Class プロパティが宣言されているがコンストラクターで値がセットされていないときにエラーになる |
noImplicitAny | true | 有効化することで、暗黙的なany型に型推論される場合はエラーになる |
noEmit | true | 有効化することで、JavaScriptのソースコード、ソースマップ、型定義のファイルをトランスパイル時に出力しないようにすることができる |
esModuleInterop | true | 有効化することで、CommonJS と ES Modules 間で相互運用可能なコードすることができる。defaultをエクスポートしていない CommonJS 形式のモジュールを、ES Modules でデフォルトインポート可能になる |
module | esnext | どのモジュールシステムを利用するかを指定することができる。 |
moduleResolution | bundler | モジュールの依存関係の解決アルゴリズムを指定するためのオプション。 |
resolveJsonModule | true | 有効化することで、.json拡張子のファイルをTypeScriptでインポート可能にする |
isolatedModules | true | 有効化することで、単一ファイルのトランスパイル処理で正しく解釈できないコードが書かれたときにエラーになる |
jsx | preserve | JSX構文がどのように JavaScript ファイルに出力されるかを設定する |
incremental | true | 有効化することで、以前のコンパイルから変更があった差分のみを今回のコンパイル対象とし、コンパイル時間が短縮することができる |
plugins | [{"name": "next"}] | エディタ内部で動作させるTypeScript の構文チェックを拡張する機能。 |
paths | {"@/": ["./"]} | パスエイリアスを設定する機能。 |
include | ["next-env.d.ts", "/*.ts", "/.tsx", ".next/types/**/.ts"] | TypeScript のコンパイル対象に含めるファイルを指定する。tsconfig.json ファイルを含んでいるディレクトリからの相対パスとして指定する。 |
exclude | ["node_modules"] | TypeScript のコンパイル対象に含めないファイルを指定する。tsconfig.json ファイルを含んでいるディレクトリからの相対パスとして指定する。 |