skip to navigation
skip to content

Not Logged In

jspack 0.4

A simple tool for javascript packging using config files

jspack

jspack is a simple and small tool to aggegate javascript files with optional miminization.

The tool allows also:

  • Create initial configuration files from html files
  • Reemplace in html script tags by minimized ones.

The project is open source.

A similar tool is jstools which do recursive search for the javascript files and also support dependencies.

Requirements

Python 2.6

For javascript minimization you can use:

Install

You can install jspack like a simple python egg:

  • Using easy_install: easy_install jstools
  • Using pip: pip install jstools
  • If you use buildout, add it to the eggs list in your buildout.cfg, or as a dependency of one of your own packages in setup.py.

The code is available in the jspack repo

Usage

If you have a config file (test.cfg) like:

[DEFAULT]
minimizer = jsmin

[concatenated.js]
# yui compressor
minimizer = inout: java -jar compressor.jar --type js
# Can be used to replace the js tags
html = test.html
files = file/relative/to/root.js
        /absolute/file.js

[compressed.js]
minimizer = slimit
files = file/relative/to/root.js
        js/two.js

[css/all.css]
root = css
minimizer = none
files = one.css
        two.css

And generates concatenated.js, compressed.js and css/all.css

If root option is not specified, the relative files are considered relative to the config parent directory (test.cfg).

You can use the help:

$ bin/jspack  --help
Usage:
jspack [options] file_or_directory

Typical Usage:

1. First create cfg files:
   $ jspack -w htmlfile_or_directory
2. Now we can edit the jspack.cfg files and customize
3. Then generate minimized:
   $ jspack cfgfile_or_directory
4. Last, replace script tags:
   $ jspack -rn cfgfile_or_directory

Note: 3 and 4 can be summarized which: $ jspack -r cfgfile_or_directory


Options:
  -h, --help            show this help message and exit
  -w, --write-config    For each FILE.html file write a FILE.jspack.cfg file
                        which later can be used to produce FILE-minimized.js
  -o, --ovewrite-config
                        Overwrite a jspack.cfg file if exists. Use which -w
                        option
  -i INCLUDE, --include-only=INCLUDE
                        When parsing html (to generate a .jspack.cfg file) ,
                        include only javascript files which match this regular
                        expression. Default (?!http), Use  for no restriction
  -s, --allow-strict-mode
                        When concatenate js files, dont't drop 'use strict'
                        lines. Default is remove strip mode
  -n, --no-pack         no packing when using the jspack.cfg. Only usefull
                        with -r option for only replace
  -r, --replace-script-tags
                        Replace the script tags in html files
  -q, --quiet           Supress non error output
  -v, --verbose         Vebose output (debug mode)

Roadmap

  • CSS links replacement in html files
  • Better documentation
  • Tests

Changelog

0.4 (2011-06-06)

  • The project is hosted in bitbucked now. I had issues with hg-git plugin.
  • Css link replace feature.

0.3 (2011-06-03)

  • Support for several tools (yui compressor) using inout in minimizer
  • Verbose mode
  • Updated documentation: new link to github project

0.2 (2011-06-02)

  • Replace command
  • Multiple mimimizers

0.1 (2011-06-02)

  • Initial release
 
File Type Py Version Uploaded on Size
jspack-0.4.tar.gz (md5) Source 2011-06-06 6KB
  • Downloads (All Versions):
  • 9 downloads in the last day
  • 37 downloads in the last week
  • 274 downloads in the last month