{"action":"created","issue":{"url":"https://api.github.com/repos/estree/estree/issues/91","labels_url":"https://api.github.com/repos/estree/estree/issues/91/labels{/name}","comments_url":"https://api.github.com/repos/estree/estree/issues/91/comments","events_url":"https://api.github.com/repos/estree/estree/issues/91/events","html_url":"https://github.com/estree/estree/issues/91","id":87767109,"number":91,"title":"File node","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},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":22,"created_at":"2015-06-12T15:43:09Z","updated_at":"2015-06-12T17:40:52Z","closed_at":"2015-06-12T16:35:04Z","body":"So in order for `Program` to qualify for visiting in the common node-parent pattern, a `File` node is required in order to wrap `Program` so it can be visited. This is a node used by Babel and recast etc. Would there be any objection to including this in the ESTree specification? It doesn't necessarily have to be compulsory and can be purely optional."},"comment":{"url":"https://api.github.com/repos/estree/estree/issues/comments/111570511","html_url":"https://github.com/estree/estree/issues/91#issuecomment-111570511","issue_url":"https://api.github.com/repos/estree/estree/issues/91","id":111570511,"user":{"login":"RReverser","id":557590,"avatar_url":"https://avatars.githubusercontent.com/u/557590?v=3","gravatar_id":"","url":"https://api.github.com/users/RReverser","html_url":"https://github.com/RReverser","followers_url":"https://api.github.com/users/RReverser/followers","following_url":"https://api.github.com/users/RReverser/following{/other_user}","gists_url":"https://api.github.com/users/RReverser/gists{/gist_id}","starred_url":"https://api.github.com/users/RReverser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RReverser/subscriptions","organizations_url":"https://api.github.com/users/RReverser/orgs","repos_url":"https://api.github.com/users/RReverser/repos","events_url":"https://api.github.com/users/RReverser/events{/privacy}","received_events_url":"https://api.github.com/users/RReverser/received_events","type":"User","site_admin":false},"created_at":"2015-06-12T17:40:52Z","updated_at":"2015-06-12T17:40:52Z","body":"Sure, but \"I don't want to check `parent`\" is not really a good argument for creating separate node type as this violates\r\n> Unique: Information should not be duplicated. ie. a kind property should not be present on Literal if the type can be discerned from the value. (eg. #61)\r\n\r\nIn this case it's less obvious, but still `File` doesn't bring any new information that can't be retrieved from `Program` itself and is only a \"virtual\" node type that only helps to simplify code for specific use-cases."}}