A simple tool for javascript packging using config files
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49ee2e28e4e3aaf0cdfcc8fa9db8342337ac4bc33d73b9f00c5631d01a93ce4c
|
|
| MD5 |
c235919aad9ee631b75b3642a531173b
|
|
| BLAKE2b-256 |
ac0eb79b83e986695e49d35551d4bcaf1ef9fa20135e5cb54f85085a841b3ca4
|