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:
Any program which reads the code from stdin and writes to stdout like yui compressor or UglifyJS
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
Metadata
Release files for jspack 0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jspack-0.4.tar.gz | 6.6 kB | Details |
Release files / jspack-0.4.tar.gz
| Download URL | jspack-0.4.tar.gz |
|---|---|
| Size | 6.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
49ee2e28e4e3aaf0cdfcc8fa9db8342337ac4bc33d73b9f00c5631d01a93ce4c
|
|
BLAKE2b-256 checksum How to use checksums |
ac0eb79b83e986695e49d35551d4bcaf1ef9fa20135e5cb54f85085a841b3ca4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |