do not error if typings for external library is empty .d.ts file

This commit is contained in:
Vladimir Matveev 2016-02-02 11:36:38 -08:00
parent 0855933757
commit fb99a6697d
5 changed files with 38 additions and 1 deletions

View file

@ -1490,7 +1490,7 @@ namespace ts {
if (importedFile && resolution.isExternalLibraryImport) {
// Since currently irrespective of allowJs, we only look for supportedTypeScript extension external module files,
// this check is ok. Otherwise this would be never true for javascript file
if (!isExternalModule(importedFile)) {
if (!isExternalModule(importedFile) && importedFile.statements.length) {
const start = getTokenPosOfNode(file.imports[i], file);
fileProcessingDiagnostics.add(createFileDiagnostic(file, start, file.imports[i].end - start, Diagnostics.Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition, importedFile.fileName));
}

View file

@ -0,0 +1,13 @@
//// [tests/cases/compiler/noErrorOnEmptyDts.ts] ////
//// [test.d.ts]
// comment
//// [main.ts]
import "test"
//// [main.js]
"use strict";
require("test");

View file

@ -0,0 +1,8 @@
=== c:/node_modules/test.d.ts ===
No type information for this code.
No type information for this code.// comment
No type information for this code.
No type information for this code.=== c:/app/main.ts ===
import "test"
No type information for this code.

View file

@ -0,0 +1,8 @@
=== c:/node_modules/test.d.ts ===
No type information for this code.
No type information for this code.// comment
No type information for this code.
No type information for this code.=== c:/app/main.ts ===
import "test"
No type information for this code.

View file

@ -0,0 +1,8 @@
// @module: commonjs
// @filename: c:/node_modules/test.d.ts
// comment
// @filename: c:/app/main.ts
import "test"