{"action":"created","issue":{"url":"https://api.github.com/repos/angular/angular/issues/5242","labels_url":"https://api.github.com/repos/angular/angular/issues/5242/labels{/name}","comments_url":"https://api.github.com/repos/angular/angular/issues/5242/comments","events_url":"https://api.github.com/repos/angular/angular/issues/5242/events","html_url":"https://github.com/angular/angular/issues/5242","id":116405236,"number":5242,"title":"don't allow arbitrary ES6 APIs usage","user":{"login":"alexeagle","id":47395,"avatar_url":"https://avatars.githubusercontent.com/u/47395?v=3","gravatar_id":"","url":"https://api.github.com/users/alexeagle","html_url":"https://github.com/alexeagle","followers_url":"https://api.github.com/users/alexeagle/followers","following_url":"https://api.github.com/users/alexeagle/following{/other_user}","gists_url":"https://api.github.com/users/alexeagle/gists{/gist_id}","starred_url":"https://api.github.com/users/alexeagle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexeagle/subscriptions","organizations_url":"https://api.github.com/users/alexeagle/orgs","repos_url":"https://api.github.com/users/alexeagle/repos","events_url":"https://api.github.com/users/alexeagle/events{/privacy}","received_events_url":"https://api.github.com/users/alexeagle/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"alexeagle","id":47395,"avatar_url":"https://avatars.githubusercontent.com/u/47395?v=3","gravatar_id":"","url":"https://api.github.com/users/alexeagle","html_url":"https://github.com/alexeagle","followers_url":"https://api.github.com/users/alexeagle/followers","following_url":"https://api.github.com/users/alexeagle/following{/other_user}","gists_url":"https://api.github.com/users/alexeagle/gists{/gist_id}","starred_url":"https://api.github.com/users/alexeagle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexeagle/subscriptions","organizations_url":"https://api.github.com/users/alexeagle/orgs","repos_url":"https://api.github.com/users/alexeagle/repos","events_url":"https://api.github.com/users/alexeagle/events{/privacy}","received_events_url":"https://api.github.com/users/alexeagle/received_events","type":"User","site_admin":false},"milestone":null,"comments":5,"created_at":"2015-11-11T19:32:12Z","updated_at":"2015-11-14T00:11:28Z","closed_at":null,"body":"Right now we use eg. `string.startsWith` in our code. This requires that users include an ES6 polyfill library like es6-shim when running Angular.\r\nWe should avoid adding more of these. We can hand-write a typings file describing the APIs we use already, but not type-check against all of `es6-shim.d.ts`, which gives us too broad a surface to target at runtime."},"comment":{"url":"https://api.github.com/repos/angular/angular/issues/comments/156595461","html_url":"https://github.com/angular/angular/issues/5242#issuecomment-156595461","issue_url":"https://api.github.com/repos/angular/angular/issues/5242","id":156595461,"user":{"login":"alexeagle","id":47395,"avatar_url":"https://avatars.githubusercontent.com/u/47395?v=3","gravatar_id":"","url":"https://api.github.com/users/alexeagle","html_url":"https://github.com/alexeagle","followers_url":"https://api.github.com/users/alexeagle/followers","following_url":"https://api.github.com/users/alexeagle/following{/other_user}","gists_url":"https://api.github.com/users/alexeagle/gists{/gist_id}","starred_url":"https://api.github.com/users/alexeagle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexeagle/subscriptions","organizations_url":"https://api.github.com/users/alexeagle/orgs","repos_url":"https://api.github.com/users/alexeagle/repos","events_url":"https://api.github.com/users/alexeagle/events{/privacy}","received_events_url":"https://api.github.com/users/alexeagle/received_events","type":"User","site_admin":false},"created_at":"2015-11-14T00:11:28Z","updated_at":"2015-11-14T00:11:28Z","body":"If the user targets a runtime where more APIs are available, they can bring\ntypings for those.\nBut Angular's usage of these APIs forces all users to target such\nenvironments or shim the behavior.\nI think Rado knows better why we don't just bundle es6-shim with angular...\n\nOn Thu, Nov 12, 2015 at 10:38 PM Evan Winslow <notifications@github.com>\nwrote:\n\n> +1 to vicb comment. If you need the functionality, you might as well\n> provide the shim yourself?\n>\n> —\n> Reply to this email directly or view it on GitHub\n> <https://github.com/angular/angular/issues/5242#issuecomment-156340092>.\n>\n"}}