Package Exports
- @tdewolff/minify
- @tdewolff/minify/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@tdewolff/minify) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
JavaScript bindings for the Go minifiers for web formats minify
, see github.com/tdewolff/minify.
Installation on Windows
THIS DOES NOT WORK UNFORTUNATELY
- Install NPM
- Install Python (optional?)
- Open Windows Command Prompt and run:
$ npm install @tdewolff/minify
Build from source
- Install Git
- Install NPM
- Install Python
- Install Build Tools for Visual Studio under "Tools for Visual Studio". Make sure to also enable the "Desktop development with C++", see NodeJS - On Windows
- Install TDM-GCC and select the 64+32 bit version, this is only to provide the
mingw32-make
binary - Install Go
- Open the Git Bash and run:
$ git clone https://github.com/tdewolff/minify
$ cd minify/bindings/js
$ npm install
Usage
There are three functions available in JavaScript: configure the minifiers, minify a string, and minify a file. Below an example of their usage:
import { config, string, file } from '@tdewolff/minify';
# default config option values
config({
'css-precision': 0,
'html-keep-comments': false,
'html-keep-conditional-comments': false,
'html-keep-default-attr-vals': false,
'html-keep-document-tags': false,
'html-keep-end-tags': false,
'html-keep-whitespace': false,
'html-keep-quotes': false,
'js-precision': 0,
'js-keep-var-names': false,
'js-version': 0,
'json-precision': 0,
'json-keep-numbers': false,
'svg-keep-comments': false,
'svg-precision': 0,
'xml-keep-whitespace': false,
})
const s = string('text/html', '<span style="color:#ff0000;" class="text">Some text</span>')
console.log(s) // <span style=color:red class=text>Some text</span>
file('text/html', 'example.html', 'example.min.html') // creates example.min.html
Mediatypes
The first argument is the mediatype of the content. The following mediatypes correspond to the configured minifiers:
text/css
: CSStext/html
: HTMLimage/svg+xml
: SVG(application|text)/(x-)?(java|ecma)script
: JS*/json */*-json
: JSON*/xml */*-xml
: XML