{"action":"created","issue":{"url":"https://api.github.com/repos/fkling/astexplorer/issues/139","repository_url":"https://api.github.com/repos/fkling/astexplorer","labels_url":"https://api.github.com/repos/fkling/astexplorer/issues/139/labels{/name}","comments_url":"https://api.github.com/repos/fkling/astexplorer/issues/139/comments","events_url":"https://api.github.com/repos/fkling/astexplorer/issues/139/events","html_url":"https://github.com/fkling/astexplorer/pull/139","id":165410574,"number":139,"title":"add esformatter to parsers","user":{"login":"millermedeiros","id":155633,"avatar_url":"https://avatars.githubusercontent.com/u/155633?v=3","gravatar_id":"","url":"https://api.github.com/users/millermedeiros","html_url":"https://github.com/millermedeiros","followers_url":"https://api.github.com/users/millermedeiros/followers","following_url":"https://api.github.com/users/millermedeiros/following{/other_user}","gists_url":"https://api.github.com/users/millermedeiros/gists{/gist_id}","starred_url":"https://api.github.com/users/millermedeiros/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/millermedeiros/subscriptions","organizations_url":"https://api.github.com/users/millermedeiros/orgs","repos_url":"https://api.github.com/users/millermedeiros/repos","events_url":"https://api.github.com/users/millermedeiros/events{/privacy}","received_events_url":"https://api.github.com/users/millermedeiros/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2016-07-13T20:12:41Z","updated_at":"2016-07-14T18:06:37Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/fkling/astexplorer/pulls/139","html_url":"https://github.com/fkling/astexplorer/pull/139","diff_url":"https://github.com/fkling/astexplorer/pull/139.diff","patch_url":"https://github.com/fkling/astexplorer/pull/139.patch"},"body":"The AST used by [esformatter](https://github.com/millermedeiros/esformatter) is very similar to `babel-eslint`, but we also have a linked list of tokens (which can be accessed through the `startToken`/`endToken` props); Nodes that are inside Arrays, also have `next` and `prev` properties (see [rocambole](https://github.com/millermedeiros/rocambole) for more details). Given these differences, I believe it's worth the addition.\r\n\r\nThis will make it easier for contributors to [write plugins](https://github.com/millermedeiros/esformatter/wiki/Plugins) and fix bugs.\r\n\r\n![screen shot 2016-07-13 at 12 57 54 pm](https://cloud.githubusercontent.com/assets/155633/16818046/97aefade-48fa-11e6-8b1c-881ba7e0158c.png)"},"comment":{"url":"https://api.github.com/repos/fkling/astexplorer/issues/comments/232744969","html_url":"https://github.com/fkling/astexplorer/pull/139#issuecomment-232744969","issue_url":"https://api.github.com/repos/fkling/astexplorer/issues/139","id":232744969,"user":{"login":"millermedeiros","id":155633,"avatar_url":"https://avatars.githubusercontent.com/u/155633?v=3","gravatar_id":"","url":"https://api.github.com/users/millermedeiros","html_url":"https://github.com/millermedeiros","followers_url":"https://api.github.com/users/millermedeiros/followers","following_url":"https://api.github.com/users/millermedeiros/following{/other_user}","gists_url":"https://api.github.com/users/millermedeiros/gists{/gist_id}","starred_url":"https://api.github.com/users/millermedeiros/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/millermedeiros/subscriptions","organizations_url":"https://api.github.com/users/millermedeiros/orgs","repos_url":"https://api.github.com/users/millermedeiros/repos","events_url":"https://api.github.com/users/millermedeiros/events{/privacy}","received_events_url":"https://api.github.com/users/millermedeiros/received_events","type":"User","site_admin":false},"created_at":"2016-07-14T18:06:37Z","updated_at":"2016-07-14T18:06:37Z","body":"@TimothyGu the tokens returned by `esformatter-parser` includes white spaces, line breaks, comments and indentation. It also handles some edge-cases related to the `Program` range (to include comments/shebang/whitespace).\r\n\r\nSo even if you create a way to visualize the tokens, it would need to include the proper types (eg. `rocambole` uses `{type: 'LineComment', ...}` and `{type: 'BlockComment', ...}` while other tools might use a single `{type: 'Comment', block: true, ...}`)\r\n\r\nIf the displayed information doesn't match the actual AST, it would be worse than having no tool to *explore* it at all (\"a bad map is worse than no map at all\").\r\n\r\nIf this doesn't get merged to `astexplorer` I will end up forking it and creating a version that works only for `esformatter`... - but I'd rather have it here."}}
{"actor":{"display_login":"millermedeiros"}}