New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] TypeScript make generated codes from enum could be minified when not used #9268

Open
morlay opened this Issue Jan 2, 2019 · 1 comment

Comments

Projects
None yet
2 participants
@morlay
Copy link

morlay commented Jan 2, 2019

Feature Request

Is your feature request related to a problem? Please describe.

For now TypeScript will transform enum from

enum Test {
    Key = 1
}

to

var Test;
(function (Test) {
    Test[Test["Key"] = 1] = "Key";
})(Test || (Test = {}));

This result is not friendly for uglyify or tree-shaking.
When Test is not be used, the generated code block always remain as dead codes.

Describe the solution you'd like

prefer to generate codes below:

var Test = /*#__PURE__*/(function () {
    var e = {}
    e[e["Key"] = 1] = "Key";
    return e
})();

image

The suggestion version will be removed.

related: Microsoft/TypeScript#27604
custom plugin: https://github.com/morlay/babel-plugin-typescript-iife-enum

@babel-bot

This comment has been minimized.

Copy link
Collaborator

babel-bot commented Jan 2, 2019

Hey @morlay! We really appreciate you taking the time to report an issue. The collaborators
on this project attempt to help as many people as possible, but we're a limited number of volunteers,
so it's possible this won't be addressed swiftly.

If you need any help, or just have general Babel or JavaScript questions, we have a vibrant Slack
community
that typically always has someone willing to help. You can sign-up here
for an invite.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment