Source code

Revision control

Copy as Markdown

Other Tools

Metadata-Version: 1.2
Name: jsmin
Version: 3.0.0
Summary: JavaScript minifier.
Author: Dave St.Germain
Author-email: dave@st.germa.in
Maintainer: Tikitu de Jager
Maintainer-email: tikitu+jsmin@logophile.org
License: MIT License
Description: =====
jsmin
=====
JavaScript minifier.
Usage
=====
.. code:: python
from jsmin import jsmin
with open('myfile.js') as js_file:
minified = jsmin(js_file.read())
You can run it as a commandline tool also::
python -m jsmin myfile.js
NB: ``jsmin`` makes no attempt to be compatible with
The current maintainer does not intend to add ES6-compatibility. If you would
like to take over maintenance and update ``jsmin`` for ES6, please contact
`Tikitu de Jager <mailto:tikitu+jsmin@logophile.org>`_. Pull requests are also
welcome, of course, but my time to review them is somewhat limited these days.
If you're using ``jsmin`` on ES6 code, though, you might find the ``quote_chars``
parameter useful:
.. code:: python
from jsmin import jsmin
with open('myfile.js') as js_file:
minified = jsmin(js_file.read(), quote_chars="'\"`")
Where to get it
===============
* install the package `from pypi <https://pypi.python.org/pypi/jsmin/>`_
* get the latest release `from latest-release on github <https://github.com/tikitu/jsmin/tree/latest-release/jsmin>`_
* get the development version `from master on github <https://github.com/tikitu/jsmin/>`_
Python 2 support removed
========================
Python 2 support was removed in version 3.0.0. If you need to support Python 2, please use version 2.2.2 with setuptools<58.
Contributing
============
will be gratefully received on Github. The project used to be hosted
`on bitbucket <https://bitbucket.org/dcs/jsmin/>`_ and old issues can still be
found there.
If possible, please make separate pull requests for tests and for code: tests will be added to the `latest-release` branch while code will go to `master`.
Unless you request otherwise, your Github identity will be added to the contributor's list below; if you prefer a
different name feel free to add it in your pull request instead. (If you prefer not to be mentioned you'll have to let
the maintainer know somehow.)
Build/test status
=================
Both branches are tested with Travis: https://travis-ci.org/tikitu/jsmin
The `latest-release` branch (the version on PyPI plus any new tests) is tested against CPython 3.
Currently:
If that branch is failing that means there's a new test that fails on *the latest released version on pypi*, with no fix yet
released.
The `master` branch (development version, might be ahead of latest released version) is tested against CPython 3.
Currently:
If `master` is failing don't use it, but as long as `latest-release` is passing the pypi release should be ok.
Contributors (chronological commit order)
=========================================
* `Dave St.Germain <https://bitbucket.org/dcs>`_ (original author)
* `Tikitu de Jager <mailto:tikitu+jsmin@logophile.org>`_ (current maintainer)
* `Nick Alexander <https://bitbucket.org/ncalexan>`_
* `Gennady Kovshenin <https://github.com/soulseekah>`_
* `Matt Molyneaux <https://github.com/moggers87>`_
* `Albert Wang <https://github.com/albertyw>`_
* `Ben Bradshaw <https://github.com/serenecloud>`_
Changelog
=========
v3.0.0 (2021-09-08) Ben Bradshaw
--------------------------------
- Breaking Change: Removed support for Python 2
- Removed usage of use_2to3 in setup.py
v2.2.2 (2017-05-01) Tikitu de Jager
-----------------------------------
- Add license headers to code files (fixes i#17)
- Remove mercurial files (fixes #20)
v2.2.1 (2016-03-06) Tikitu de Jager
-----------------------------------
- Fix #14: Infinite loop on `return x / 1;`
v2.2.0 (2015-12-19) Tikitu de Jager
-----------------------------------
- Merge #13: Preserve "loud comments" starting with `/*!`
These are commonly used for copyright notices, and are preserved by various
other minifiers (e.g. YUI Compressor).
v2.1.6 (2015-10-14) Tikitu de Jager
-----------------------------------
- Fix #12: Newline following a regex literal should not be elided.
v2.1.5 (2015-10-11) Tikitu de Jager
-----------------------------------
- Fix #9: Premature end of statement caused by multi-line comment not
adding newline.
- Fix #10: Removing multiline comment separating tokens must leave a space.
- Refactor comment handling for maintainability.
v2.1.4 (2015-08-23) Tikitu de Jager
-----------------------------------
- Fix #6: regex literal matching comment was not correctly matched.
- Refactor regex literal handling for robustness.
v2.1.3 (2015-08-09) Tikitu de Jager
-----------------------------------
- Reset issue numbering: issues live in github from now on.
- Fix #1: regex literal was not recognised when occurring directly after `{`.
v2.1.2 (2015-07-12) Tikitu de Jager
-----------------------------------
- Issue numbers here and below refer to the bitbucket repository.
- Fix #17: bug when JS starts with comment then literal regex.
v2.1.1 (2015-02-14) Tikitu de Jager
-----------------------------------
- Fix #16: bug returning a literal regex containing escaped forward-slashes.
v2.1.0 (2014-12-24) Tikitu de Jager
-----------------------------------
- First changelog entries; see README.rst for prior contributors.
- Expose quote_chars parameter to provide just enough unofficial Harmony
support to be useful.
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Pre-processors
Classifier: Topic :: Text Processing :: Filters