JSPM

minify-fast

0.11.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1296
  • Score
    100M100P100Q100021F
  • License MIT

Minify a js file very fast by just removing spaces

Package Exports

  • minify-fast

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 (minify-fast) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Minify a JavaScript file very fast

This package focus on providing space / comment removal from JavaScript code as fast as possible. No mangling, just spaces / comment removal

For those special situations in which a very large file full minification using uglify takes too long to execute.

When you need an intermediate stage before real production and very large files are involved...

Technologies used: By default it will use esprima parser and escodegen code generatorbut it can be configured to use acorn parser and astring code generator .

CLI

npm install -g minify-fast
minify-fast --input src/**/*.js # will modify files in src !
minify-fast --input src/**/*.js --output out

# minify two input globs but this time using acorn parser and dump some debug information: 
minify-fast --input dist/**/*.js --input dist-umd/**/*.js --parser acorn --generator astring --debug

node.js API

npm install --save-dev minify-fast
var minify = require('minify-fast')
// Or if using ES modules / TypeScript
// import minify from 'minify-fast'

const code = `
  let a     = [1  , 2,    3];
  const b = a.map (n => n * 2) /*hello */
  console.log(a, b) 
`
console.log(minify({code}))
// let a=[1,2,3];const b=a.map(n=>n*2);console.log(a,b)

By default it will use acorn parser and astring code generator but it can be configured to use [esprima] parser and escodegen code generator.

TODO

  • error handling
  • generator astring not minifying
  • support typescript : https://github.com/eslint/typescript-eslint-parser ? mmm we still need a generator right ?
  • another parser : https://github.com/eslint/espree
  • input CLI verification for --parser, --generator, etc and fail OK
  • benchmarks to compare parsers and generators and against real minifiers like google-closure-compiler / uglify
  • sourcemaps ? test if / how affects performance
  • preserve comments ?
  • jsx ?