{"action":"closed","issue":{"url":"https://api.github.com/repos/systemjs/systemjs/issues/786","labels_url":"https://api.github.com/repos/systemjs/systemjs/issues/786/labels{/name}","comments_url":"https://api.github.com/repos/systemjs/systemjs/issues/786/comments","events_url":"https://api.github.com/repos/systemjs/systemjs/issues/786/events","html_url":"https://github.com/systemjs/systemjs/issues/786","id":106764062,"number":786,"title":"systemJSConstructor is not getting called when extending System.constructor and transpile with Babel","user":{"login":"katrotz","id":1922321,"avatar_url":"https://avatars.githubusercontent.com/u/1922321?v=3","gravatar_id":"","url":"https://api.github.com/users/katrotz","html_url":"https://github.com/katrotz","followers_url":"https://api.github.com/users/katrotz/followers","following_url":"https://api.github.com/users/katrotz/following{/other_user}","gists_url":"https://api.github.com/users/katrotz/gists{/gist_id}","starred_url":"https://api.github.com/users/katrotz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/katrotz/subscriptions","organizations_url":"https://api.github.com/users/katrotz/orgs","repos_url":"https://api.github.com/users/katrotz/repos","events_url":"https://api.github.com/users/katrotz/events{/privacy}","received_events_url":"https://api.github.com/users/katrotz/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/systemjs/systemjs/labels/fixed%20pending%20release","name":"fixed pending release","color":"009800"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-09-16T12:33:04Z","updated_at":"2015-09-18T13:27:34Z","closed_at":"2015-09-18T13:27:33Z","body":"Trying to extend the System.constructor in a ES2015 class syntax and transpile with Babel the `SystemJSLoader` is not getting invoked.\r\n \r\nThe issue is only reproducible with Babel transpiler, Traceur works fine. The discrepancy hides in the way `super` is implemented:\r\n\r\n*Babel*: `_get(Object.getPrototypeOf(SubClass.prototype), 'constructor', this).call(this);` which returns the constructor of SuperClass prototype\r\n*Traceur*: `$traceurRuntime.superConstructor(SubClass).call(this);` which returns the SuperClass\r\n\r\n**Note**: Related issue on babel side: https://github.com/babel/babel/issues/2048"}}