- 
                Notifications
    
You must be signed in to change notification settings  - Fork 13.1k
 
Closed
Labels
BugA bug in TypeScriptA bug in TypeScriptFixedA PR has been merged for this issueA PR has been merged for this issue
Milestone
Description
Given
"use strict";
export function Relation(callback: () => new() => any): PropertyDecorator {
    return function () {
        console.log(callback());
    }
}we presently emit:
"use strict";
define(["require", "exports"], function (require, exports) {
    function Relation(callback) {
        return function () {
            console.log(callback());
        };
    }
    exports.Relation = Relation;
});but should emit:
define(["require", "exports"], function (require, exports) {
    "use strict";
    function Relation(callback) {
        return function () {
            console.log(callback());
        };
    }
    exports.Relation = Relation;
});Our current emit is detrimental to the module concatenation story, as it:
- Litters the concatenated files with useless string literals.
 - Breaks concatenating strict and non-strict modules together.
 
Metadata
Metadata
Assignees
Labels
BugA bug in TypeScriptA bug in TypeScriptFixedA PR has been merged for this issueA PR has been merged for this issue