Jam 0.2.0 released!

91 views
Skip to first unread message

Caolan McMahon

unread,
Aug 10, 2012, 11:45:33 AM8/10/12
to ja...@googlegroups.com
Hi all,

I'm pleased to announce the release of Jam 0.2.0. This has some significant changes from previous releases that you should know about before upgrading.

New Features
==========

- It is now MUCH easier to manage custom install paths (eg, public/vendor, instead of ./jam), and custom base URLs (eg, ./public or ./www).
- Dependencies can be listed in package.json - this seems to be a more familiar place for many Node.js developers
- The publish command and the Jam package website now support categories to make it easier to find new packages (http://jamjs.org/packages/)

See the UPDATED DOCUMENTATION for more information on the new package.json format: http://jamjs.org/docs

Important Changes
==============

The jam/jam.json file is no longer used, instead you can add Jam dependencies to a project-level package.json. If you're using Node.js you can now keep your NPM and Jam dependencies in a single file. It's a good idea to copy the contents of jam.json into the jam.dependencies property in your package.json file, but Jam will continue to work without doing this. Be careful with Jam clean. It will prompt you to remove any package not in package.json (or one of those package's dependencies).

Jam will not automatically update the dependency list for your project when doing "jam install". Previously the jam.json file was managed automatically by Jam, the new package.json file will not be written to by Jam, however. In the future I will add a --save option to the install command that will update it.

Jam lock and unlock have been removed. This is because I'm expecting people to manage their own dependency list and version requirements in the new package.json file.

Jam compile when called without any include arguments will include all packages in the package directory (previously it only included those that were listed in jam.json).

-------

I hope you like the new layout. If you have any problems with the upgrade please create an issue on GitHub. Feedback is most welcome in this thread.

Thanks,

Caolan

Kevin Rockwood

unread,
Aug 10, 2012, 11:57:37 AM8/10/12
to ja...@googlegroups.com
Awesome! 

I've been using Jam for a few weeks now, and I'm really loving it.

Keep it up!

-Kevin


--
You received this message because you are subscribed to the Google Groups "jamjs" group.
To post to this group, send an email to ja...@googlegroups.com.
To unsubscribe from this group, send email to jamjs+un...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msg/jamjs/-/HFZv7o1hHtwJ.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Kevin Rockwood | www.rockwood.me


Caolan McMahon

unread,
Aug 10, 2012, 12:01:45 PM8/10/12
to ja...@googlegroups.com
And don't forget, you can always get help on IRC: FreeNode #jamjs -- I'll try and stick around this morning should anyone run into difficulties with the upgrade :)

Tim Caswell

unread,
Aug 10, 2012, 12:20:10 PM8/10/12
to ja...@googlegroups.com
Looks great. My only complaints now are the sheer amount of code this
uses. I would love to be able to add jamjs as a dependency in my node
app and then use the locally installed jam to install my browser deps
from an npm hook. As it stands now, jamjs has way too many
dependencies and I can't justify the cost. Also on the browser side,
I feel that requirejs is overkill for a simple problem. I would
prefer something more opinionated that's ~100 lines of code. Do we
really need to support ~20 different boilerplate permutations in the
browser?
> --
> You received this message because you are subscribed to the Google Groups
> "jamjs" group.
> To post to this group, send an email to ja...@googlegroups.com.
> To unsubscribe from this group, send email to
> jamjs+un...@googlegroups.com.
> To view this discussion on the web, visit
> https://groups.google.com/d/msg/jamjs/-/VyTH0wxFKlcJ.

Tim Caswell

unread,
Aug 10, 2012, 2:39:55 PM8/10/12
to ja...@googlegroups.com
I just wanted to share my new package.json file that auto-bootstraps from npm.

https://github.com/creationix/redact/commit/42517f9d4937d276776ced6285044b6946c46411

To test, clone the redact repo and then `npm install` to get deps and
then `npm start` to start the server.

Npm script hooks run with $DIRNAME/node_modules/.bin in their path, so
the local dependency on jamjs in my node project means that I don't
have to tell my users to install jamjs globally to use my app.

Thanks again for a great release. Now if we can only trim things up a bit.

Caolan McMahon

unread,
Aug 10, 2012, 4:27:52 PM8/10/12
to ja...@googlegroups.com
> Thanks again for a great release. Now if we can only trim things up a bit.

Thanks for your feedback too, that's what inspired these changes,
afterall ;) I see what you mean regarding depending on Jam bringing in a
lot of dependencies. I'll see if there are any I can cull, but I think
we'll end up with quite a few deps regardless.

As for a simpler, smaller and more opinionated AMD/RequireJS, I'm all
ears. It's incredibly powerful, but does seem like it tries to do too
much. I rather suspect we'll end up in the same place, but I'd be happy
to try and work out an AMD subset with you. I tend to think this about
quite a few things until I actually try and implement them ;)

Also, you might find the Almond shim useful if you know you won't be
dynamically requesting extra resources after a compile. It will reduce
the size of the download at least (use the --almond option when doing
jam compile).

Caolan McMahon

unread,
Aug 10, 2012, 4:35:10 PM8/10/12
to ja...@googlegroups.com
Oh, you might also want to just bundle the Jam dependencies. I realize this
is a matter of taste but some of the reasons you'd avoid it with NPM
deps (compiling etc) don't apply to Jam packages. I personally just
check them into git and publish with the rest of the package.

Tim Caswell

unread,
Aug 10, 2012, 5:23:45 PM8/10/12
to ja...@googlegroups.com
I could, but I don't want to. It dirties my git code stats when I
bundle my deps in with my code. I like my git repos to be fully
normalized so that each one contains unique code. This is why I like
jam so much. I can declare my dependencies, but not actually include
them.

>
> --
> You received this message because you are subscribed to the Google Groups "jamjs" group.
> To post to this group, send an email to ja...@googlegroups.com.
> To unsubscribe from this group, send email to jamjs+un...@googlegroups.com.

Caolan McMahon

unread,
Aug 12, 2012, 3:46:38 AM8/12/12
to ja...@googlegroups.com
I could, but I don't want to.  It dirties my git code stats when I
bundle my deps in with my code.  I like my git repos to be fully
normalized so that each one contains unique code.  This is why I like
jam so much.  I can declare my dependencies, but not actually include
them.

And I will gladly support your right to do so :) Just pointing out the technical situation as I see it.
Reply all
Reply to author
Forward
0 new messages