JSPM

  • Created
  • Published
  • Downloads 117
  • Score
    100M100P100Q84998F
  • License MIT

Go minifiers for web formats

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: CSS
  • text/html: HTML
  • image/svg+xml: SVG
  • (application|text)/(x-)?(java|ecma)script: JS
  • */json */*-json: JSON
  • */xml */*-xml: XML