Skip to content
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

CS2 Discussion: Project: Make it extensible or pluggable #4903

Closed
coffeescriptbot opened this issue Feb 19, 2018 · 5 comments
Closed

CS2 Discussion: Project: Make it extensible or pluggable #4903

coffeescriptbot opened this issue Feb 19, 2018 · 5 comments

Comments

@coffeescriptbot
Copy link
Collaborator

From @aurium on July 12, 2016 20:8

To make this transpiler pluggable, to be possible to plug parser extensions, and plug external AST to JS code generator.

With this, initiatives like IcedCoffee, ember-script, and ES(next) support could survive integrated to this CS ecosystem. Develop the support to the next ES will not hurt, and independent plugins will prove good ideas to make JS features CSish.

Copied from original issue: coffeescript6/discuss#4

@coffeescriptbot
Copy link
Collaborator Author

From @carlsmith on July 14, 2016 13:40

Sounds good. We should try and stick to a standard format for the AST. The de facto standard is ESTree, that grew out of work done at Mozilla. They have excellent contributors, and seem to be on top of their ES6-7 support.

We may have less work to do than we thought, especially if we fork Redux.

@coffeescriptbot
Copy link
Collaborator Author

From @rattrayalex on July 14, 2016 19:40

One thing to think about could be plugging directly into Babylon, and leaning on Babel to do provide the plugin support.

I haven't looked into this in-depth, and babylon itself isn't pluggable yet:

Significant diversions are expected to occur in the future such as streaming, EBNF definitions, sweet.js integration, interspacial parsing and more.

Since (IIRC) the grammar of CSRedux is EBNF or similar, this might not be terrible to implement.

@coffeescriptbot
Copy link
Collaborator Author

coffeescriptbot commented Feb 19, 2018

From @rdeforest on August 23, 2016 15:56

I was lukewarm on this idea until I read coffeescript6/discuss#21, now I see it more like the modularity of XMPP (Jabber). I'd be happier still if modules also had a stability index akin to the Node stability index, designated by the core community and defaulting to experimental when no such designation has been given.

Maybe the index would look something like...

idx title description
-1 rejected incompatible with project tech or philosophy
0 deprecated not supported
1 experimental under development
2 testing stabilizing
3 stable official, stable, standard part of project
4 core critical bugs and security fixes only

@coffeescriptbot
Copy link
Collaborator Author

coffeescriptbot commented Feb 19, 2018

From @GeoffreyBooth on August 23, 2016 16:47

This is only relevant if we have people willing to devote serious time to this project. See coffeescript6/discuss#27

@coffeescriptbot
Copy link
Collaborator Author

From @rattrayalex on September 9, 2016 15:32

Closing as this looks generally out-of-scope.

I know @carlsmith has begun work on a separate project which may allow this, however. See https://github.com/carlsmith/shalt/ for that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant