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

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)

Source distribution for jspack 0.4
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

Release history Release notifications | RSS feed

This release

0.4 This release

1 release file

0.3

1 release file

0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page