{"action":"created","issue":{"url":"https://api.github.com/repos/nodejs/node-eps/issues/33","repository_url":"https://api.github.com/repos/nodejs/node-eps","labels_url":"https://api.github.com/repos/nodejs/node-eps/issues/33/labels{/name}","comments_url":"https://api.github.com/repos/nodejs/node-eps/issues/33/comments","events_url":"https://api.github.com/repos/nodejs/node-eps/issues/33/events","html_url":"https://github.com/nodejs/node-eps/pull/33","id":162242109,"number":33,"title":"Replace section 5.1 with unambiguous JavaScript grammar.","user":{"login":"jdalton","id":4303,"avatar_url":"https://avatars.githubusercontent.com/u/4303?v=3","gravatar_id":"","url":"https://api.github.com/users/jdalton","html_url":"https://github.com/jdalton","followers_url":"https://api.github.com/users/jdalton/followers","following_url":"https://api.github.com/users/jdalton/following{/other_user}","gists_url":"https://api.github.com/users/jdalton/gists{/gist_id}","starred_url":"https://api.github.com/users/jdalton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdalton/subscriptions","organizations_url":"https://api.github.com/users/jdalton/orgs","repos_url":"https://api.github.com/users/jdalton/repos","events_url":"https://api.github.com/users/jdalton/events{/privacy}","received_events_url":"https://api.github.com/users/jdalton/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":13,"created_at":"2016-06-24T22:26:54Z","updated_at":"2016-06-27T12:34:35Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/nodejs/node-eps/pulls/33","html_url":"https://github.com/nodejs/node-eps/pull/33","diff_url":"https://github.com/nodejs/node-eps/pull/33.diff","patch_url":"https://github.com/nodejs/node-eps/pull/33.patch"},"body":"This PR replaces [section 5.1](https://github.com/nodejs/node-eps/blob/master/002-es6-modules.md#51-determining-if-source-is-an-es-module) of the [ES6 Module Interoperability](https://github.com/nodejs/node-eps/blob/master/002-es6-modules.md) proposal with the [UnambiguousJavaScriptGrammar](https://github.com/bmeck/UnambiguousJavaScriptGrammar) proposal.\r\n\r\n#### TL;DR\r\n\r\n* CJS and ES modules **just work** without new extensions, extra ceremony, or\r\n  excessive scaffolding\r\n* Performance is generally on par with existing CJS module loading\r\n* Performance is significantly improved for ES modules over transpilation workflows\r\n* Change JS grammars for Script and Module to be unambiguous\r\n* Determine grammar of `.js` files by parsing as one grammar and falling back to others\r\n\r\n>\r\n<img src=\"https://cloud.githubusercontent.com/assets/4303/16352075/a50ccc9a-3a1f-11e6-967e-26bae2d8d38b.gif\" width=50% height=50%>"},"comment":{"url":"https://api.github.com/repos/nodejs/node-eps/issues/comments/228732844","html_url":"https://github.com/nodejs/node-eps/pull/33#issuecomment-228732844","issue_url":"https://api.github.com/repos/nodejs/node-eps/issues/33","id":228732844,"user":{"login":"ChALkeR","id":291301,"avatar_url":"https://avatars.githubusercontent.com/u/291301?v=3","gravatar_id":"","url":"https://api.github.com/users/ChALkeR","html_url":"https://github.com/ChALkeR","followers_url":"https://api.github.com/users/ChALkeR/followers","following_url":"https://api.github.com/users/ChALkeR/following{/other_user}","gists_url":"https://api.github.com/users/ChALkeR/gists{/gist_id}","starred_url":"https://api.github.com/users/ChALkeR/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChALkeR/subscriptions","organizations_url":"https://api.github.com/users/ChALkeR/orgs","repos_url":"https://api.github.com/users/ChALkeR/repos","events_url":"https://api.github.com/users/ChALkeR/events{/privacy}","received_events_url":"https://api.github.com/users/ChALkeR/received_events","type":"User","site_admin":false},"created_at":"2016-06-27T12:34:35Z","updated_at":"2016-06-27T12:34:35Z","body":"@RReverser \r\n>  It's totally possible not to drop away all the parsing results, but only to delay strict early errors + things like octal literals until the end of the parsing (and, because V8 already uses lazy parsing, it should result in pretty small if no overhead).\r\n\r\nNote that e.g. a top-level `await(fo);` would have different meaning in scripts and modules, and it might happen that this would be correct in both of those, but have different results."}}
{"actor":{"display_login":"ChALkeR"}}