{"action":"closed","issue":{"url":"https://api.github.com/repos/eslint/eslint/issues/4877","repository_url":"https://api.github.com/repos/eslint/eslint","labels_url":"https://api.github.com/repos/eslint/eslint/issues/4877/labels{/name}","comments_url":"https://api.github.com/repos/eslint/eslint/issues/4877/comments","events_url":"https://api.github.com/repos/eslint/eslint/issues/4877/events","html_url":"https://github.com/eslint/eslint/issues/4877","id":125477992,"number":4877,"title":"The fallout from ecmaVersion","user":{"login":"domenic","id":617481,"avatar_url":"https://avatars.githubusercontent.com/u/617481?v=3","gravatar_id":"","url":"https://api.github.com/users/domenic","html_url":"https://github.com/domenic","followers_url":"https://api.github.com/users/domenic/followers","following_url":"https://api.github.com/users/domenic/following{/other_user}","gists_url":"https://api.github.com/users/domenic/gists{/gist_id}","starred_url":"https://api.github.com/users/domenic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/domenic/subscriptions","organizations_url":"https://api.github.com/users/domenic/orgs","repos_url":"https://api.github.com/users/domenic/repos","events_url":"https://api.github.com/users/domenic/events{/privacy}","received_events_url":"https://api.github.com/users/domenic/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/eslint/eslint/labels/triage","name":"triage","color":"cc317c"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2016-01-07T20:26:42Z","updated_at":"2016-02-11T03:18:02Z","closed_at":"2016-02-11T03:18:02Z","body":"In https://github.com/eslint/eslint/issues/4641#issuecomment-167245100 I discussed why the upcoming change to ecmaVersion is extremely disappointing from a spec author and browser implementer point of view. So ideally I would like that whole thing to be reverted. Ideally I'd prefer to see eslint work on a feature-wise basis, using e.g. the kangax tables, similar to Autoprefixr (\"last 2 versions\", \"> 5%\", [etc.](https://github.com/ai/browserslist#queries)).\r\n\r\n Assuming I can't get that to happen, here are some suggestions for making it less painful.\r\n\r\nMy initial attempt to upgrade was to swap out my ecmaFeatures for ecmaVersion: 6. This ran into problems because ES2015 includes more than just syntax. I got a bunch of errors about Promise/Symbol/Map/Set/Uint8Array/ArrayBuffer/etc. not being defined.\r\n\r\n(The ArrayBuffer/Uint8Array errors are especially hilarious, speaking to my above point about spec versions not being a good proxy for support; they were supported in many browsers before their ES5 implementations were complete, so the fact they were only Ecma-approved in ES2015 is super-irrelevant.)\r\n\r\nSo there needs to be clear guidance and an easy switch to make these globals not count as errors.\r\n\r\nThe other big mitigation would be to either bundle or link to something like @mysticatea's https://github.com/mysticatea/eslint-plugin-node/blob/master/docs/rules/no-unsupported-features.md. That is a much better approach and should be the recommended path.\r\n\r\n<bountysource-plugin>\r\n---\r\nWant to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/29680277-the-fallout-from-ecmaversion?utm_campaign=plugin&utm_content=tracker%2F282608&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F282608&utm_medium=issues&utm_source=github).\r\n</bountysource-plugin>"}}