diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 1b6b31f9586..c8e3b8381c3 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1034,10 +1034,6 @@ namespace ts { return; } - if (moduleName.indexOf("!") >= 0) { - moduleName = moduleName.substr(0, moduleName.indexOf("!")); - } - const isRelative = isExternalModuleNameRelative(moduleName); if (!isRelative) { const symbol = getSymbol(globals, "\"" + moduleName + "\"", SymbolFlags.ValueModule); diff --git a/tests/baselines/reference/bangInModuleName.js b/tests/baselines/reference/bangInModuleName.js new file mode 100644 index 00000000000..769ccbf1d42 --- /dev/null +++ b/tests/baselines/reference/bangInModuleName.js @@ -0,0 +1,23 @@ +//// [tests/cases/compiler/bangInModuleName.ts] //// + +//// [a.d.ts] + + +declare module "http" { +} + +declare module 'intern/dojo/node!http' { + import http = require('http'); + export = http; +} + +//// [a.ts] + +/// + +import * as http from 'intern/dojo/node!http'; + +//// [a.js] +/// +define(["require", "exports"], function (require, exports) { +}); diff --git a/tests/baselines/reference/bangInModuleName.symbols b/tests/baselines/reference/bangInModuleName.symbols new file mode 100644 index 00000000000..63ba5d106d8 --- /dev/null +++ b/tests/baselines/reference/bangInModuleName.symbols @@ -0,0 +1,21 @@ +=== tests/cases/compiler/a.ts === + +/// + +import * as http from 'intern/dojo/node!http'; +>http : Symbol(http, Decl(a.ts, 3, 6)) + +=== tests/cases/compiler/a.d.ts === + + +declare module "http" { +} + +declare module 'intern/dojo/node!http' { + import http = require('http'); +>http : Symbol(http, Decl(a.d.ts, 5, 40)) + + export = http; +>http : Symbol(http, Decl(a.d.ts, 5, 40)) +} + diff --git a/tests/baselines/reference/bangInModuleName.types b/tests/baselines/reference/bangInModuleName.types new file mode 100644 index 00000000000..06a602e2ff8 --- /dev/null +++ b/tests/baselines/reference/bangInModuleName.types @@ -0,0 +1,21 @@ +=== tests/cases/compiler/a.ts === + +/// + +import * as http from 'intern/dojo/node!http'; +>http : typeof http + +=== tests/cases/compiler/a.d.ts === + + +declare module "http" { +} + +declare module 'intern/dojo/node!http' { + import http = require('http'); +>http : typeof http + + export = http; +>http : typeof http +} + diff --git a/tests/cases/compiler/bangInModuleName.ts b/tests/cases/compiler/bangInModuleName.ts new file mode 100644 index 00000000000..6e8f7163109 --- /dev/null +++ b/tests/cases/compiler/bangInModuleName.ts @@ -0,0 +1,17 @@ +// @module: amd + +// @filename: a.d.ts + +declare module "http" { +} + +declare module 'intern/dojo/node!http' { + import http = require('http'); + export = http; +} + +// @filename: a.ts + +/// + +import * as http from 'intern/dojo/node!http'; \ No newline at end of file