-
Notifications
You must be signed in to change notification settings - Fork 18
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
Packaging / publishing strategy #64
Comments
@piuccio how did you imagine using browserify-built files when putting this packaging in place? |
For info, I have opened #65 which adds the noder build. |
I've been trying to use hashspace for a project or two and I'm afraid it won't sell if it depends on noder. When I created the browserify files is because I can simply drop that files in my page and I'll take care of loading my templates. |
@piuccio I hear what you are saying and I think that the general approach is to give people as much freedom as possible and let them mix and match tools and approaches. I sincerly hope that the idea here is not to couple #space with noder, but have noder as a vialble option. In my ideal world (once again, this is just setting a direction), I would:
It seems to me that we are not that far from this "ideal world", the 2 practical issues I can see are:
Once again, I think that both problems that I'm brining up here are solvable, but not without some looking into the details. @piuccio would you mind describing your "ideal" workflow while working on the #space based project? |
To give you all my 2 cents, i have the exact same workflow as you @PK1A
To conclude, for me what is the most important thing if we want to catch users, is exactly what @piuccio said:
People will probably integrate hsp in their existing application, with backbone for models management for example. |
In my ideal world, I'm spending all day long in a tropical island without touching a computer ever, but in a less than ideal world I'll be using hashspace to replace an existing JSP page with a client side page (for better maintainability). The resulting template is quite complex, and that's why existing solutions are not best fit. Note again that for performance and SEO I'd love to be able to compile a static page out of whatever server side logic I have, but some pages simply cannot become static, this is where hashspace comes into play. So yes, my workflow looks like yours and my modules are basically raw scripts |
FYI, #space is life on npm: https://www.npmjs.org/package/hashspace |
Then it's probably about time to create some documentation 😁 |
I installed the npm package, and there is a |
A simple project illustrating #space workflow with Grunt: |
So, here is my attempt at another type of workflow with plunker: If we want to use plunker or similar tool as a way sharing snippets / reproduce scenarios (and I think we should as one plunk is worth 1000 words!) we should into ways of making work with plunks easier. Possible ideas:
In any case, just recording the current attempt here in the hope that we can look into ways of improving this workflow. |
With the 8193adc landed we've got now a publishing mechanism in place that can push build files to the gh-pages branch and thus have them accessible through GitHub pages. The results are available here (still some cleanup needed): https://github.com/ariatemplates/hashspace/tree/gh-pages
As soon as those were published I was trying to use new scripts like so:
which is basically like trying to use browserify-built #space runtime with noder to load app assets. This obviously doesn't work as
require
function defined by browserify is different from the one used by noder.... Which is not cool.I'm opening this issue to discuss possible way of moving forward. I can think of:
require("hsp/rt")
in generated templatesNot sure what is the best course of action here. What I'm trying to achieve here is to have a packaged version of the runtime that I can include in the
<script>
tag and leave people freedom in packaging / loading they app assets.Thoughts?
The text was updated successfully, but these errors were encountered: