diff options
Diffstat (limited to 'cli/tsc')
-rw-r--r-- | cli/tsc/99_main_compiler.js | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/cli/tsc/99_main_compiler.js b/cli/tsc/99_main_compiler.js index a97449175..04638d60c 100644 --- a/cli/tsc/99_main_compiler.js +++ b/cli/tsc/99_main_compiler.js @@ -869,11 +869,13 @@ delete Object.prototype.__proto__; importedFile.mediaType === MediaType.JSX; // If JS or JSX perform substitution for types if available if (isJsOrJsx) { - if (importedFile.typeHeaders.length > 0) { + // @deno-types has highest precedence, followed by + // X-TypeScript-Types header + if (importDesc.resolvedTypeDirective) { + mappedUrl = importDesc.resolvedTypeDirective; + } else if (importedFile.typeHeaders.length > 0) { const typeHeaders = importedFile.typeHeaders[0]; mappedUrl = typeHeaders.resolvedSpecifier; - } else if (importDesc.resolvedTypeDirective) { - mappedUrl = importDesc.resolvedTypeDirective; } else if (importedFile.typesDirectives.length > 0) { const typeDirective = importedFile.typesDirectives[0]; mappedUrl = typeDirective.resolvedSpecifier; @@ -928,11 +930,13 @@ delete Object.prototype.__proto__; importedFile.mediaType === MediaType.JSX; // If JS or JSX perform substitution for types if available if (isJsOrJsx) { - if (importedFile.typeHeaders.length > 0) { + // @deno-types has highest precedence, followed by + // X-TypeScript-Types header + if (importDesc.resolvedTypeDirective) { + mappedUrl = importDesc.resolvedTypeDirective; + } else if (importedFile.typeHeaders.length > 0) { const typeHeaders = importedFile.typeHeaders[0]; mappedUrl = typeHeaders.resolvedSpecifier; - } else if (importDesc.resolvedTypeDirective) { - mappedUrl = importDesc.resolvedTypeDirective; } else if (importedFile.typesDirectives.length > 0) { const typeDirective = importedFile.typesDirectives[0]; mappedUrl = typeDirective.resolvedSpecifier; |