Skip to content

Issues with AMD Plugin syntax #5729

Closed
@kitsonk

Description

@kitsonk

I was trying typescript@next (specifically v1.8.0-dev.20151120) and we extensively use AMD loader plugins, where we use [module id]![resource id]. In v1.6.2 and earlier we would simply declare an ambient declaration describing our module, for example, we have a module that reverts to the CommonJS loader and we would do something like this to load a CommonJS only module in our .d.ts file:

declare module 'intern/dojo/node!http' {
    import http = require('http');
    export = http;
}

And then we would import it in module:

import * as http from 'intern/dojo/node!http';

And everything worked fine. But it seems that at some point, tsc appears to only be matching up to the bang (!) and either reporting the module not found, or matching returning whatever ambient declaration it matches and even with the ambient declaration above, I am getting error TS2307: Cannot find module 'intern/dojo/node'.

I tried to find the related change, but only thing I was aware of was #2709 and that doesn't look like that has been addressed yet.

Is there anyway to get tsc to revert to the previous behaviour?

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugA bug in TypeScriptFixedA PR has been merged for this issueHigh Priority

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions