What is it?

Ruby implementation of javascript packager / dependency resolver.

Why?

As a javascript programmer, you often need to split your code into multiple files. When you have 50+ different modules / libraries, you need some way to resolve complex dependencies and package all you need and nil you don't. Jsus is an utility that allows you to do just that: package your libraries into one piece with all dependencies included.

Features

  • Jsus works with mootools-style packages. That means you specify a package.yml / package.json file with package structure for every library/bigger module you have. Source files should also have special headers denoting their requirements and what they provide.
  • Jsus automatically resolves dependencies, so you don't have to worry about order issues or anything else.
  • Jsus allows you to make "extensions". Extension is a monkey-patch you can apply to any other library. Because sometimes you want to make project-specific change to a library you don't have control over and you want to be able to update this library without applying manual patches from their source.
  • Jsus uses murdoc for doccu style docs generation.
  • Jsus generates special json files denoting source and resulting project structure which can be useful for later introspection.
  • Jsus can also generate a special js file with loader for your dependencies, so that you don't need to repackage everything during development cycle.

Examples

Using with Rails / Sinatra / Whatever

Jsus comes with a middleware in its backpack. See rails example and sinatra example.

Plans

These are rather long-term, for when I get to have time and mood to do those:

  • Rails integration
  • npm packages support

NB:

  • I don't have any particular roadmap or plans for more features
  • However, I am open for any suggestions
    • Bonus points for suggestions with pull-requests

License

Public Domain, details in UNLICENSE file.