summaryrefslogtreecommitdiff
path: root/cli/tsc/99_main_compiler.js
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tsc/99_main_compiler.js')
-rw-r--r--cli/tsc/99_main_compiler.js11
1 files changed, 8 insertions, 3 deletions
diff --git a/cli/tsc/99_main_compiler.js b/cli/tsc/99_main_compiler.js
index 5ef9bca65..bb8458c93 100644
--- a/cli/tsc/99_main_compiler.js
+++ b/cli/tsc/99_main_compiler.js
@@ -150,7 +150,7 @@ delete Object.prototype.__proto__;
/** An object literal of the incremental compiler host, which provides the
* specific "bindings" to the Deno environment that tsc needs to work.
- *
+ *
* @type {ts.CompilerHost} */
const host = {
fileExists(fileName) {
@@ -299,7 +299,7 @@ delete Object.prototype.__proto__;
*/
/** The API that is called by Rust when executing a request.
- * @param {Request} request
+ * @param {Request} request
*/
function exec({ config, debug: debugFlag, rootNames }) {
setLogDebug(debugFlag, "TS");
@@ -309,6 +309,11 @@ delete Object.prototype.__proto__;
const { options, errors: configFileParsingDiagnostics } = ts
.convertCompilerOptionsFromJson(config, "", "tsconfig.json");
+ // The `allowNonTsExtensions` is a "hidden" compiler option used in VSCode
+ // which is not allowed to be passed in JSON, we need it to allow special
+ // URLs which Deno supports. So we need to either ignore the diagnostic, or
+ // inject it ourselves.
+ Object.assign(options, { allowNonTsExtensions: true });
const program = ts.createIncrementalProgram({
rootNames,
options,
@@ -338,7 +343,7 @@ delete Object.prototype.__proto__;
let hasStarted = false;
/** Startup the runtime environment, setting various flags.
- * @param {{ debugFlag?: boolean; legacyFlag?: boolean; }} msg
+ * @param {{ debugFlag?: boolean; legacyFlag?: boolean; }} msg
*/
function startup({ debugFlag = false }) {
if (hasStarted) {