diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2020-07-24 14:21:36 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-24 14:21:36 +0200 |
commit | b45f9a7357fad1d13c2fbffa5e419e064a3aa89f (patch) | |
tree | 70c957d129377e4e887c948b75ca2c1ceb787721 /cli/tsc/99_main_compiler.js | |
parent | f162ced76aa475a20a17411510d185c994a25425 (diff) |
fix: deno-types directive should have higher precedence than X-TypeScript-Types header (#6761)
Diffstat (limited to 'cli/tsc/99_main_compiler.js')
-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; |