Skip to main content

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

Credits

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jspack-0.4.tar.gz (6.6 kB view details)

Uploaded Source

File details

Details for the file jspack-0.4.tar.gz.

File metadata

  • Download URL: jspack-0.4.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for jspack-0.4.tar.gz
Algorithm Hash digest
SHA256 49ee2e28e4e3aaf0cdfcc8fa9db8342337ac4bc33d73b9f00c5631d01a93ce4c
MD5 c235919aad9ee631b75b3642a531173b
BLAKE2b-256 ac0eb79b83e986695e49d35551d4bcaf1ef9fa20135e5cb54f85085a841b3ca4

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.4 This release

1 file

0.3

1 file

0.2

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page