spine / hem

Bundler for Node/CommonJS/Web Apps
MIT License
281 stars 71 forks source link

jeco templates silently fail to compile on syntax error #76

Closed daviddoran closed 11 years ago

daviddoran commented 11 years ago

Take the following .jeco template:

<% if @condition: %>
    <span>some content</span>
<% else %>
    <span>some other content</else>
<% end %>

There's a typo here because <% else %> should be <% else: %> which I've gotten wrong a few times (forgetting about the colon).

Actual result

Here's the output from hem build:

Building 'appName' target: ./public/application.js
undefined

Expected result

There should probably be a syntax error raised. It's the silent nature of the failure that's the problem, since I ended up searching through every change in the commit trying to figure out where (and what) the issue was.

Steps to reproduce

Try and compile the template above with hem build or hem watch etc.

aeischeid commented 11 years ago

What version of hem?

This may be a simple fix. I'll take a look, but as a heads up jeco is a dead project. We have been keeping an eye on ect as a possible replacement, but for the most part these days our team uses jade, which has also has support built into hem.

daviddoran commented 11 years ago

I think I installed hem off the github master branch. That's fair enough, I'll look at switching to jade. Is there somewhere I should look at for the up-to-date tools and versions? It seems like a lot of the documentation and tools are out of date (which has tripped me up a few times) but I'm very happy with the application I'm building on Spine and the development process with hem watch so I'm reluctant to abandon either. On a higher level, is it a good idea to be building a new project on Spine/hem?

aeischeid commented 11 years ago

We are still actively using spine and hem for our production apps. So we have every intention to maintain both for the foreseeable future. That said, when time is short documentation seems to be one of the first things that suffers. Thinking we may have more time to catch up on that in 2014, but really the beautiful thing about spine is how approachable the source code is. Hem is a little more magical but that's partially because of of it being a node.js app and depending on other node packages. still not terribly complicated.

the next version of Hem is a big shift, and when we get the documentation and other pieces in order it will be on its way. take a glance at the version4 branch if your interested. Spine is modular by nature. I don't see big evolutions coming in the core anytime soon, but improving and adding more modules is definitely on the radar.

not sure if that helps answer your last question. to summerize, in my opinion in general building a new project on spine/hem is definitely not a bad idea :-)

daviddoran commented 11 years ago

Thanks for the reply Aaron. I agree, I've been amazed at the lack of magic in Spine and how easily it can be extended.

The only things that give me pause are documentation and testing/development/debugging. As you know, the documentation needs a little work but I don't see that as a big issue. I'd be more worried if hem was abandoned and we were left to figure out how to keep hem watch/build/test working. I'll try and chip in anyway.

On testing, I still haven't been able to get tests working. Would you be able to take a look at my group post here: https://groups.google.com/forum/#!topic/spinejs/2Qq7r-jowmU

Much appreciated.

cengebretson commented 11 years ago

I should be able to look at this sometime in the next day or two, there should be fairly simple way to catch compile errors and alert the user.

The company I work for uses hem all the time so I see it being worked on and improved for a while. I know there are other build tools out there but I think there is a place for a simpler build tool that doesn't try to do everything.

But definitely need to update the docs/examples and finish the work in version 4, I think that will help a lot in trying to get tests/projects up and running faster.

thanks!

daviddoran commented 11 years ago

Sounds great Chris.

I hope hem can be kept alive and kicking. I'll do what I can to contribute, the main issue is that it's very hard to rewrite the docs without having docs to learn from. Tricky one.

Do let me know if there's an area you think I could help out with.

cengebretson commented 11 years ago

I updated the master branch if you wanted to give that a shot, there should be exceptions thrown now if there are any eco/jeco issues, at the least it should tell you what file wasn't compilable.

aeischeid commented 11 years ago

released to npm as well.

daviddoran commented 11 years ago

Thanks for the fix Chris and the update Aaron. I've tested it out and it's a big improvement.