{"action":"created","issue":{"url":"https://api.github.com/repos/systemjs/systemjs/issues/1193","repository_url":"https://api.github.com/repos/systemjs/systemjs","labels_url":"https://api.github.com/repos/systemjs/systemjs/issues/1193/labels{/name}","comments_url":"https://api.github.com/repos/systemjs/systemjs/issues/1193/comments","events_url":"https://api.github.com/repos/systemjs/systemjs/issues/1193/events","html_url":"https://github.com/systemjs/systemjs/pull/1193","id":144751982,"number":1193,"title":"Fixing #1192. Falling back to normal way of setting properties when getOwnPropertyDescriptor throws","user":{"login":"joeldenning","id":5524384,"avatar_url":"https://avatars.githubusercontent.com/u/5524384?v=3","gravatar_id":"","url":"https://api.github.com/users/joeldenning","html_url":"https://github.com/joeldenning","followers_url":"https://api.github.com/users/joeldenning/followers","following_url":"https://api.github.com/users/joeldenning/following{/other_user}","gists_url":"https://api.github.com/users/joeldenning/gists{/gist_id}","starred_url":"https://api.github.com/users/joeldenning/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joeldenning/subscriptions","organizations_url":"https://api.github.com/users/joeldenning/orgs","repos_url":"https://api.github.com/users/joeldenning/repos","events_url":"https://api.github.com/users/joeldenning/events{/privacy}","received_events_url":"https://api.github.com/users/joeldenning/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-03-30T23:56:05Z","updated_at":"2016-04-01T16:22:46Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/systemjs/systemjs/pulls/1193","html_url":"https://github.com/systemjs/systemjs/pull/1193","diff_url":"https://github.com/systemjs/systemjs/pull/1193.diff","patch_url":"https://github.com/systemjs/systemjs/pull/1193.patch"},"body":"See #1192 for an explanation of the bug this fixes. My solution is to be defensive when calling `Object.getOwnPropertyDescriptor`, falling back to just setting the property normally when `getOwnPropertyDescriptor` throws (even though a `setter` is potentially being fired). I didn't dive deep enough into the code to find out how hard it would be to write a test for this use case, but I did test this locally and saw that my app, that was unable to bootstrap in IE11 without this code, is now able to properly bootstrap. Let me know if there's a good way to write a test for it though.\r\n\r\nAlso, assuming that this is merged, when could I hope for it to be published to npm? The company I work for is hoping to launch a new product in about next two weeks, and I'd rather not have to deploy my fork of systemjs (and probably a forked jspm pointing to my systemjs, too??) to production."},"comment":{"url":"https://api.github.com/repos/systemjs/systemjs/issues/comments/204458640","html_url":"https://github.com/systemjs/systemjs/pull/1193#issuecomment-204458640","issue_url":"https://api.github.com/repos/systemjs/systemjs/issues/1193","id":204458640,"user":{"login":"joeldenning","id":5524384,"avatar_url":"https://avatars.githubusercontent.com/u/5524384?v=3","gravatar_id":"","url":"https://api.github.com/users/joeldenning","html_url":"https://github.com/joeldenning","followers_url":"https://api.github.com/users/joeldenning/followers","following_url":"https://api.github.com/users/joeldenning/following{/other_user}","gists_url":"https://api.github.com/users/joeldenning/gists{/gist_id}","starred_url":"https://api.github.com/users/joeldenning/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joeldenning/subscriptions","organizations_url":"https://api.github.com/users/joeldenning/orgs","repos_url":"https://api.github.com/users/joeldenning/repos","events_url":"https://api.github.com/users/joeldenning/events{/privacy}","received_events_url":"https://api.github.com/users/joeldenning/received_events","type":"User","site_admin":false},"created_at":"2016-04-01T16:22:46Z","updated_at":"2016-04-01T16:22:46Z","body":"I think that I understand what you mean -- just put the try/catch into a separate function so that `getESModule` can still be optimized by V8's compiler (and probably other compilers too). I just added another commit that does that and then retested on my app to ensure that it still fixes the issue and doesn't break anything else."}}