{"action":"created","issue":{"url":"https://api.github.com/repos/babel/babel/issues/581","labels_url":"https://api.github.com/repos/babel/babel/issues/581/labels{/name}","comments_url":"https://api.github.com/repos/babel/babel/issues/581/comments","events_url":"https://api.github.com/repos/babel/babel/issues/581/events","html_url":"https://github.com/babel/babel/issues/581","id":55352527,"number":581,"title":"Make it possible to transpile ES7 to ES6.","user":{"login":"bolinfest","id":655869,"avatar_url":"https://avatars.githubusercontent.com/u/655869?v=3","gravatar_id":"","url":"https://api.github.com/users/bolinfest","html_url":"https://github.com/bolinfest","followers_url":"https://api.github.com/users/bolinfest/followers","following_url":"https://api.github.com/users/bolinfest/following{/other_user}","gists_url":"https://api.github.com/users/bolinfest/gists{/gist_id}","starred_url":"https://api.github.com/users/bolinfest/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bolinfest/subscriptions","organizations_url":"https://api.github.com/users/bolinfest/orgs","repos_url":"https://api.github.com/users/bolinfest/repos","events_url":"https://api.github.com/users/bolinfest/events{/privacy}","received_events_url":"https://api.github.com/users/bolinfest/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/babel/babel/labels/question","name":"question","color":"cc317c"}],"state":"closed","locked":false,"assignee":{"login":"sebmck","id":853712,"avatar_url":"https://avatars.githubusercontent.com/u/853712?v=3","gravatar_id":"","url":"https://api.github.com/users/sebmck","html_url":"https://github.com/sebmck","followers_url":"https://api.github.com/users/sebmck/followers","following_url":"https://api.github.com/users/sebmck/following{/other_user}","gists_url":"https://api.github.com/users/sebmck/gists{/gist_id}","starred_url":"https://api.github.com/users/sebmck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sebmck/subscriptions","organizations_url":"https://api.github.com/users/sebmck/orgs","repos_url":"https://api.github.com/users/sebmck/repos","events_url":"https://api.github.com/users/sebmck/events{/privacy}","received_events_url":"https://api.github.com/users/sebmck/received_events","type":"User","site_admin":false},"milestone":null,"comments":10,"created_at":"2015-01-24T01:04:59Z","updated_at":"2015-04-06T05:44:42Z","closed_at":"2015-01-24T05:55:26Z","body":"Or to word this another way: \"Make it possible to specify a list of transformers that parse and preserve their input, but do not transform.\"\r\n\r\nI realize this sounds weird, so let me explain what I am trying to do.\r\n\r\nI am using 6to5 (with `experimental`, `includeRegenerator`, and `reactCompat` enabled) to transpile my ES7+JSX code to ES5 so I can run it in [Atom](https://atom.io/). That works really well.\r\n\r\nHowever, I also want to use 6to5 to transpile my ES7+JSX code to ES6 that I can lint my source with [ESLint](http://eslint.org/). For ES6 features that ESLint recognizes, I do not want them transpiled. By making the delta between my ES7 and ES6 code smaller, it makes ESLint more valuable.\r\n\r\nSpecifically, if the original version of my source has a defect that would be flagged by ESLint, but 6to5's transpilation rewrites my code to clean up the defect, that's bad because then I am not able to leverage ESLint to find that defect.\r\n\r\nThere is also the issue that some of the transpiled code does not satisfy ESLint today. For example, if I use ES6 class inheritance in one of my source files, I end up with the following in the transpiled output:\r\n\r\n    if (superClass) subClass.__proto__ = superClass;\r\n\r\nThis gets flagged by [ESLint's `no-proto` rule](http://eslint.org/docs/rules/no-proto.html). Obviously I could disable this rule in ESLint, but I would rather not.\r\n\r\nIt would also be nice if there was an option to preserve the quoting style in the input in the output for the same reason. Because all of the output contains double-quoted strings, I get a ton of [\"Strings must use singlequote\"](http://eslint.org/docs/rules/quotes.html) warnings from ESLint.\r\n\r\nIn addition to linting, I think there are long-term benefits her. As environments start to support ES6 features natively, it would be nice to disable 6to5's rewriting of those features. Again, it makes the delta between input and output smaller, and in cases where JS engines have been optimized for some of the new language features, it would make it possible to leverage them.\r\n\r\nThoughts?"},"comment":{"url":"https://api.github.com/repos/babel/babel/issues/comments/89932695","html_url":"https://github.com/babel/babel/issues/581#issuecomment-89932695","issue_url":"https://api.github.com/repos/babel/babel/issues/581","id":89932695,"user":{"login":"sebmck","id":853712,"avatar_url":"https://avatars.githubusercontent.com/u/853712?v=3","gravatar_id":"","url":"https://api.github.com/users/sebmck","html_url":"https://github.com/sebmck","followers_url":"https://api.github.com/users/sebmck/followers","following_url":"https://api.github.com/users/sebmck/following{/other_user}","gists_url":"https://api.github.com/users/sebmck/gists{/gist_id}","starred_url":"https://api.github.com/users/sebmck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sebmck/subscriptions","organizations_url":"https://api.github.com/users/sebmck/orgs","repos_url":"https://api.github.com/users/sebmck/repos","events_url":"https://api.github.com/users/sebmck/events{/privacy}","received_events_url":"https://api.github.com/users/sebmck/received_events","type":"User","site_admin":false},"created_at":"2015-04-06T05:44:42Z","updated_at":"2015-04-06T05:44:42Z","body":"@niieani You already can :smile: See [bluebirdCoroutines](http://babeljs.io/docs/usage/transformers/other/bluebird-coroutines/) and [asyncToGenerator](http://babeljs.io/docs/usage/transformers/other/async-to-generator/)."}}