isoaltedModules
use other transpilers such as Babel to do this.
However, other transpilers only operate on a single file at a time,
which means they can’t apply code transforms that depend on understanding the full type system.
babelのようなその他のトランスパイラを使うときにこのオプションを使う
その他のトランスパイラは、一度に一つのファイルしか扱えない
完全な型システムの理解にもとづいたコード変換を適用できません。
わからんmiyamonz.icon
This restriction also applies to TypeScript’s ts.transpileModule API which is used by some build tools.
code:訳
これらの制限は、const enum や名前空間などの一部の TypeScript の機能で実行時の問題を引き起こす可能性があります。isolatedModules フラグを設定すると、シングルファイルのトランスパイルプロセスで正しく解釈できない特定のコードを書いた場合に、TypeScript が警告を発するようになります。
コードの動作を変更したり、TypeScriptのチェックやエミット処理の動作を変更したりするものではありません。
コンパイル対象のファイル間の関係性を一切無視して、全てのファイルを単一のモジュールとしてコンパイルする。
その場合の安全でない記法についてコンパイル時にエラーを出すようにする。
これをtrueにした場合、コンパイル対象の全てのファイルがexport構文を含む必要があり、コード中の
declare const enum
型のre-export
はエラーとなりコンパイル出来ない。
Next.jsでは、9からデフォルトでTypeScriptをサポートするようになった。 しかし、その方法はtscではなくBabel(babel/preset-typescript)を用いたトランスパイルであり、それに伴い"isolatedModules": trueが必須になった。
今まで独自にtscでTypeScriptをコンパイルしてNextを使っている(かつ"isolatedModules": falseである)場合、使用しているdeclare const enumや型のre-exportが全てエラーになり、コンパイルが通らなくなる。