diff options
author | Luca Casonato <lucacasonato@yahoo.com> | 2020-09-08 15:28:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-08 15:28:42 +0200 |
commit | 6ff939553216125ce058a070d91b7eb430cc4665 (patch) | |
tree | 794d50667d09ce852646f33dcab5b8ad21f31a41 | |
parent | 241d2281045b7edef93b069a739eee54bf9f1640 (diff) |
feat(unstable): enable isolatedModules by default (#7327)
-rw-r--r-- | cli/tsc.rs | 4 | ||||
-rw-r--r-- | cli/tsc/99_main_compiler.js | 16 |
2 files changed, 18 insertions, 2 deletions
diff --git a/cli/tsc.rs b/cli/tsc.rs index 0e2e19a9c..ae2db6978 100644 --- a/cli/tsc.rs +++ b/cli/tsc.rs @@ -621,6 +621,8 @@ impl TsCompiler { "esModuleInterop": true, "incremental": true, "inlineSourceMap": true, + // TODO(lucacasonato): enable this by default in 1.5.0 + "isolatedModules": unstable, "jsx": "react", "lib": lib, "module": "esnext", @@ -1252,6 +1254,8 @@ pub async fn runtime_compile( "allowNonTsExtensions": true, "checkJs": false, "esModuleInterop": true, + // TODO(lucacasonato): enable this by default in 1.5.0 + "isolatedModules": unstable, "jsx": "react", "module": "esnext", "sourceMap": true, diff --git a/cli/tsc/99_main_compiler.js b/cli/tsc/99_main_compiler.js index dede279c1..a2e127508 100644 --- a/cli/tsc/99_main_compiler.js +++ b/cli/tsc/99_main_compiler.js @@ -878,6 +878,13 @@ delete Object.prototype.__proto__; 7016, ]; + const IGNORED_COMPILE_DIAGNOSTICS = [ + // TS1208: All files must be modules when the '--isolatedModules' flag is + // provided. We can ignore because we guarantuee that all files are + // modules. + 1208, + ]; + const stats = []; let statsStart = 0; @@ -1162,7 +1169,9 @@ delete Object.prototype.__proto__; ...program.getSemanticDiagnostics(), ]; diagnostics = diagnostics.filter( - ({ code }) => !IGNORED_DIAGNOSTICS.includes(code), + ({ code }) => + !IGNORED_DIAGNOSTICS.includes(code) && + !IGNORED_COMPILE_DIAGNOSTICS.includes(code), ); // We will only proceed with the emit if there are no diagnostics. @@ -1333,7 +1342,10 @@ delete Object.prototype.__proto__; const diagnostics = ts .getPreEmitDiagnostics(program) - .filter(({ code }) => !IGNORED_DIAGNOSTICS.includes(code)); + .filter(({ code }) => + !IGNORED_DIAGNOSTICS.includes(code) && + !IGNORED_COMPILE_DIAGNOSTICS.includes(code) + ); const emitResult = program.emit(); assert(emitResult.emitSkipped === false, "Unexpected skip of the emit."); |