Skip to content

[Transforms] ES6 module exports in namespaces are emitted #7874

@mhegazy

Description

@mhegazy

Expected:

//// [es5ModuleInternalNamedImports.ts]

export module M {
    // variable
    export var M_V = 0;
    ....

    // Reexports
    export {M_V as v};
    ....
}


//// [es5ModuleInternalNamedImports.js]
define(["require", "exports"], function (require, exports) {
    "use strict";
    var M;
    (function (M) {
        // variable
        M.M_V = 0;
        ....
        // Reexports
    })(M = exports.M || (exports.M = {}));
});

Actual:

//// [es5ModuleInternalNamedImports.ts]

export module M {
    // variable
    export var M_V = 0;
   ....
    // Reexports
    export {M_V as v};
}


//// [es5ModuleInternalNamedImports.js]
define(["require", "exports"], function (require, exports) {
    "use strict";
    var M;
    (function (M) {
        // variable
        M.M_V = 0;
        // Reexports
        export { M_V as v } from ;
    })(M = exports.M || (exports.M = {}));
});

Failed tests:

  • tests\cases\compiler\es5ModuleInternalNamedImports.ts
  • tests/cases/compiler/exportDeclarationInInternalModule.ts

Metadata

Metadata

Assignees

Labels

BugA bug in TypeScriptDomain: TransformsRelates to the public transform APIFixedA PR has been merged for this issue

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions