Blaze Standalone Project

Hello guys, hope you’re all doing well. I just would like you to let you know about a Blaze de-meteorization project I’ve been working on since March. It’s called Blast. It’s based on a previous project built by @znewsham where I simply renovated the code but kept the same principles and examples. I had hoped to finished it by October for Meteor Impact but the more I try to wrap it up the lengthier it got but I’m finally glad it’s complete.

It’s a little experiment to see how easy it’d be to port Meteor code to NPM. And since Blaze is one of the most Meteor-y part of Meteor, I think it shows how easy we can port other parts of Meteor. I think this opens the door to new interesting things.

This project is named Blast and not Blaze because when I was trying to kick start this project, I tried to modularize the packages and keep them separate as Meteor did so we can later use them separately in a non Meteor project but soon I found out that this was a bit hard to achieve since there are many packages already on NPM with the same name so to circumvent that I would prepend “standalone” to the package name like here or here but soon that proved to be nonoptimal as well. The names started to get long and weird and if we were to repeat “standalone” before every package name we would be better off having them under some sort of organization name. I tried every name close to Blaze like Blast, Burn, Flame …etc but all were taken in NPM until one worked - blastjs.

The main goal was to get things up and running as fast as possible so there’s still a huge room for improvement like converting the code to ES6, updating underlying packages and much more. But I didn’t want to get lost so I decided to showcase this project as soon as it’s ready. If it gains traction I might invest more into it. So please give it a try and tell me what you think.

You can clone the project and check the example applications.

A big shout-out to @znewsham. He played a critical role in this project. He provided the base code, constant guidance and mentoring.

11 Likes

I really like Blaze and aware of it’s problem about dependancies. I can see that the first problem you want to solve is not about new features. However, you may want to add new things. If you missed, you can check zodern’s work in here.
Implementing Flare - Single File Blaze Templates (zodern.me)

There is already a blast.js project: blastjs - npm

Good work but what is your roadmap from here going onwards?

I really like Blaze and aware of it’s problem about dependancies. I can see that the first problem you want to solve is not about new features. However, you may want to add new things. If you missed, you can check zodern’s work in here.

Thanks for the feedback @guncebektas. Yeah, I’m aware of Zodern’s work but he just took way next level to the point where I’m unsure if people would like such changes. That’s why I’d like to gather more feedback and see what people like and need. There’re lots of underlying problems that we could tackle before drastically change how the library acts and works.

Good work but what is your roadmap from here going onwards?

I don’t know :sweat_smile: Not the answer you’d want to hear but it’s true. Like I said, this was an experiment to test how hard it’d be port Meteor to NPM and it proved successful. Where I go from here depends on the people 1) if they actually show interest and use the library 2) their feedback and needs. Though, there’re some neutral problems that anyone could benefit from solving like removing jQuery, improving code etc. But this creates a new problem should I create PRs for Blaze too or keep the work to Blast only?

A minor update:
Minimongo is now converted to JS. Please give it a go and report back any issues you find, thanks!

2 Likes