IonicaBizau / ajs

:crystal_ball: Asynchronous templating in Node.js
MIT License
21 stars 6 forks source link

Can I adopt this project? #2

Closed IonicaBizau closed 7 years ago

IonicaBizau commented 8 years ago

@kainosnoema I'm very impressed about this project and I'd like to adopt it. Can we transfer it in my account and continue maintaining it?

Keep up the great work! :sparkles:

kainosnoema commented 8 years ago

Thanks for the kind words! I'd be open to transferring to you at some point soon, but I'd like to make sure it goes to a good home. Would you mind sharing what you're thinking of doing with it and maybe starting with a few PRs and/or bugfixes? Happy to bring it back to active development if folks find it useful.

IonicaBizau commented 8 years ago

@kainosnoema Well, in short, I need an EJS-like templating system with async support.

ajs covers basically all above: async support, async include (I played with it yesterday, pretty 🆒).

I currently use ejs in blah. Because of the lack of async support, I had to deasync all the async functions. So, my ejs template for blah (used to render the README.md files across repositories) looks like this: https://github.com/IonicaBizau/dotfiles/blob/master/blah-templates/README.ejs#L30-L41

I'd be open to transferring to you at some point soon, but I'd like to make sure it goes to a good home.

That would be great. 💫 The other alternative would be creating an organization and add new potential members and related projects under the same account.

Here is a playground I built for EJS: https://ionicabizau.github.io/ejs-playground/

Happy to bring it back to active development if folks find it useful.

✨

IonicaBizau commented 8 years ago

@kainosnoema I opened #3. I may end by maintain a fork of this project, under a different name, if you don't agree to transfer the repository itself.

kainosnoema commented 8 years ago

@IonicaBizau it has an MIT license so you're more than welcome to. Is it the npm module name you're primarily interested in though? The repo itself doesn't give any additional benefits really that I can think of.

Again though, I'm open to transferring it to someone who will maintain it well—but I'd like to get to know you a bit first, I'm sure that's understandable. Opening a few PRs and contributing that way is really helpful. I'm happy to review, merge and publish. Once it's clear that it's better in your hands than mine, I'll transfer both the repo and npm module over to you!

IonicaBizau commented 8 years ago

The repo itself doesn't give any additional benefits really that I can think of.

Redirects from the kainosnoema/ajs to IonicaBizau/ajs, forks, stars, avoiding the confusion between two similar projects. Of course, the npm name is way more important as long the name remains the same.

That sounds good. I will keep playing with it and submit PRs.

Would it be hard to built it from scratch again, based on the current version of ejs which does NOT support async functions? I didn't look deep in the code yet, but from the first quick view, it's pretty complex. :sweat_smile:

kainosnoema commented 8 years ago

@IonicaBizau this isn't actually based directly on ejs at all, it's just the syntax that is similar. It's based on a full JS parser, lexer and a simple VM that manages the callbacks and buffers the template output (there are detailed comments of the source here: http://kainosnoema.github.io/ajs/docs/). The drawback of this approach is that modern JS isn't valid, and any new ejs features won't be present. Those are the areas that could probably be fixed up with a bit of effort.

IonicaBizau commented 7 years ago

@kainosnoema Thank you very much for the transfer! 🎉