Open1

nextjsメモ

HikaruHikaru

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 ファイルを含んでいるディレクトリからの相対パスとして指定する。