-
Notifications
You must be signed in to change notification settings - Fork 358
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A single specification? #208
Comments
I agree. This has been one of the harder things to understand as I have started diving more into parsers and ASTs. Often times you have to go through a few different files and manually merge definitions to get the final, latest definition. And if you miss one of those files, you end up with a wonky picture of the AST, and won't know until it's too late. Having a single "this is the complete, bleeding edge spec" or something would make digesting the repo so much easier. |
Working on this |
I'm wondering if this is a WIP. |
@RReverser @JLHwung it looks like there was no formal discussion or decision on this. I'm definitely a big 👍 to having a single source of truth for the entire specification, but seems like we should make that decision explicit. |
@nzakas I go with a single spec, like we did in Babel. Maintaining a diff between different ES versions is a bit overhead. Can we tag certain commit with |
@JLHwung I like that idea, too. @RReverser thoughts on just moving to a single spec instead of creating new files for each year? |
Hmm how would we do that cleanly for existing history? Or, even going forward, when some cleanups are applied to previous versions? That seems much trickier to maintain, and at least some of the parsers / consumers care about those versions and the differences between them more than about the "final" result. I think a more realistic option is to always autogenerate "latest" Markdown like in @j-f1's attempt. |
Do you have an example of this you can share? I definitely don't want to break any automation. As a plan, I think we can accomplish the tag approach like this:
I would think at that point the people interested in changes from one edition to the next would do a diff like |
I have put together a table that shows ESTree 2022 node types and their properties. Each reference is clickable and takes you to the definitions of the referenced type, sorted by ES version. While not strictly the same as a single specification, some of you might find it useful. (Table data is based on the formal data repository, which merges versions automatically.) |
Why is there not a single specification that contains all of the latest AST definitions? Unless I am missing something, feels like a no-brainer to have one up to date self sufficient specification so we don't have to juggle through 7 different documents.
The text was updated successfully, but these errors were encountered: