{"action":"opened","issue":{"url":"https://api.github.com/repos/google/closure-compiler/issues/1993","repository_url":"https://api.github.com/repos/google/closure-compiler","labels_url":"https://api.github.com/repos/google/closure-compiler/issues/1993/labels{/name}","comments_url":"https://api.github.com/repos/google/closure-compiler/issues/1993/comments","events_url":"https://api.github.com/repos/google/closure-compiler/issues/1993/events","html_url":"https://github.com/google/closure-compiler/issues/1993","id":174642600,"number":1993,"title":"Methods transpiled from ES6 should not be enumerable","user":{"login":"kevinoconnor7","id":29744,"avatar_url":"https://avatars.githubusercontent.com/u/29744?v=3","gravatar_id":"","url":"https://api.github.com/users/kevinoconnor7","html_url":"https://github.com/kevinoconnor7","followers_url":"https://api.github.com/users/kevinoconnor7/followers","following_url":"https://api.github.com/users/kevinoconnor7/following{/other_user}","gists_url":"https://api.github.com/users/kevinoconnor7/gists{/gist_id}","starred_url":"https://api.github.com/users/kevinoconnor7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevinoconnor7/subscriptions","organizations_url":"https://api.github.com/users/kevinoconnor7/orgs","repos_url":"https://api.github.com/users/kevinoconnor7/repos","events_url":"https://api.github.com/users/kevinoconnor7/events{/privacy}","received_events_url":"https://api.github.com/users/kevinoconnor7/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-09-01T22:41:18Z","updated_at":"2016-09-01T22:41:18Z","closed_at":null,"body":"It seems that enumerability is currently not handled by the compiler when transpiling methods from ES6 to ES5.\r\n\r\nTake for example:\r\n```javascript\r\nclass Foo {\r\n  static bar() {}\r\n}\r\nFoo.buzz = 10;\r\nfor (var key in Foo) console.log(key);\r\n// buzz\r\n```\r\n\r\nHowever, when transpiled the code would be:\r\n```javascript\r\nvar Foo = function() {};\r\nFoo.bar = function() {};\r\nFoo.buzz = 10;\r\nfor (var key in Foo) console.log(key);\r\n// bar\r\n// buzz\r\n```\r\n\r\nUnfortunately making these non-enumerable will probably do terrible things for code size :("}}
{"actor":{"display_login":"kevinoconnor7"}}