Skip to main content

lpjsmin for minifying js files

We need to handle several minification goals within the Launchpad codebase. This helps to create a single lib to help handle all of the cases and allow it to be flexibly used in more projects.

Usage

cmd line

You can pass the cmd line lpjsmin either a filename or a directory and it’ll process the file(s) adding a $fname-min.js next to the original file. This is used for things like minifying files in the combo directory. You can just let it know the root of the combo directory and it’ll minify all files it finds in there.

$ lpjsmin -p static/js/
$ lpjsmin -p static/js/myapp.js

python usage

You can import the module and minify in your own build scripts either via just filename and directory.

import lpjsmin
lpjsmin.minify('static/js')
lpjsmin.minify('static/js/myapp.js')

If you need to be able to customize the name or location of the minified files, wrap the lpjsmin script in your own build script and pass it the in/out streams.

import lpjsmin
lpjsmin.minify_stream(
    open('static/js/myapp.js'),
    open('/tmp/myapp.minified.js', 'w')
)

stdin

You can also just pass text at the script via stdin and it’ll minimze it back out to you.

$ cat file.js | lpjsmin

News

0.7

Release date: 19-December-2024

  • Add support for Python versions 3.9 to 3.13

  • Drop support for Python 2 (Python 2.7 to be specific)

  • Drop support for Python versions 3.5 to 3.7

  • Drop “six” package dependency as Python 2 is no longer supported.

  • Add pytest testing support and drop nose.

  • Add pre-commit and linting

0.6

Release date: 28-February-2020

  • Add tox testing support and drop buildout.

  • Add Python 3 support.

  • Use PEP 508 environment markers.

0.5

Release date: 11-June-2012

  • Ignore any files that don’t end in .js

  • Fix broken logic detecting if this file was already minified or not that allowed multiple nested minifications (filename-min-min-min.js)

0.4

Release date: 21-Feb-2012

  • Fix typo in the setup.py

0.3

Release date: 21-Feb-2012

  • Add argparse as a conditional dep for older Python versions.

0.2

Release date: 21-Feb-2012

  • Move the file/directory based minifying to the -p/–path cmd line flag.

  • Support minifying off of stdin and sending to stdout if no path is specified.

  • Fix the ipdb dependency that should not have been there.

0.1

Release date: 17-Feb-2012

  • Initial pulling out of the Launchpad utils directory.

Metadata

Release files for lpjsmin 0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lpjsmin 0.7
File Size Uploaded
lpjsmin-0.7.tar.gz 9.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lpjsmin 0.7
File Interpreter ABI Platform
lpjsmin-0.7-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 17.8 kB

Release files / lpjsmin-0.7.tar.gz

Download URL lpjsmin-0.7.tar.gz
Size 9.8 kB
Tags Source
SHA-256 checksum
How to use checksums
e764d1ae4c2f1f0b9bfdafa760c9f133948b4556f14a3268f2d54e5eb642ee0e
BLAKE2b-256 checksum
How to use checksums
ee542d98adf0f262aa438a62792b18a20721c4b866f3c645dc2f6eb918be89d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.3

Release files / lpjsmin-0.7-py2.py3-none-any.whl

Download URL lpjsmin-0.7-py2.py3-none-any.whl
Size 8.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
22af4bcb9978075dc7e2ac77e6cfd34d20d5eea0ff280087acd83ef87748c7b5
BLAKE2b-256 checksum
How to use checksums
079ed724145ca4137c44f148bb66b3b38616de8aff41b5ae81223e9d7fc69571
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.7 This release

2 release files

0.6

2 release files

0.5

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

0.1

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