https://github.com/paxa/jsus
Javascript packager & dependency resolver, and G-d knows what's more
https://github.com/paxa/jsus
Last synced: 3 months ago
JSON representation
Javascript packager & dependency resolver, and G-d knows what's more
- Host: GitHub
- URL: https://github.com/paxa/jsus
- Owner: Paxa
- License: unlicense
- Created: 2011-03-31T21:00:57.000Z (over 15 years ago)
- Default Branch: master
- Last Pushed: 2011-09-09T13:02:20.000Z (almost 15 years ago)
- Last Synced: 2025-01-28T15:16:20.692Z (over 1 year ago)
- Language: Ruby
- Homepage:
- Size: 330 KB
- Stars: 1
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
Awesome Lists containing this project
README
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](https://github.com/markiz/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
========
* For simple examples, take a look at: https://github.com/markiz/jsus-examples
* You can try it yourself on mootools-core:
* Get mootools-core from https://github.com/mootools/mootools-core
* `cd mootools-core`
* `jsus . Output`
* Look at what Output directory contains
Using with Rails / Sinatra / Whatever
=====================================
Jsus comes with a middleware in its backpack. See [rails example](https://github.com/jsus/jsus-rails-app)
and [sinatra example](https://github.com/jsus/jsus-sinatra-app).
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.