ecmacomp
Compile javascript modules, optimize them with prepack and terser if `NODE_ENV` is `production`, and do more optimisations from this project. Reduce your code in production today!
Last updated 10 months ago by fabiosantoscode .
ISC · Original npm · Tarball · package.json
$ cnpm install ecmacomp 
SYNC missed versions from official npm registry.

ecmacomp Build Status

Compile javascript modules, optimize them with prepack and terser if NODE_ENV is production, and do more optimisations from this project. Reduce your code in production today!

Further optimizations are coming up:

  • Caching React elements in variables and modifying them before passing them to React.createElement
  • Turning fs.readFileSync and other sync APIs into their Promise counterparts, and turning every function above the call into an async function
  • Removing react completely using rawact
  • Reducing GC allocations
  • Caching some function results
  • ...And other amazing optimizations

Usage (CLI)

You can disable rollup or prepack (to disable terser, use the NODE_ENV environment variable NODE_ENV=production ecmacomp ...)

$ ecmacomp input.js [--norollup] [--noprepack] [--public dir] [--output file]

Usage (JS API)

await require('ecmacomp')({ filename: 'input.js' })  // Or 'function code....'

Hacking ecmacomp

To hack on ecmacomp, clone this repository (git clone https://github.com/fabiosantoscode/ecmacomp), cd to it, run npm i, write a test in the appropriate place, respect the lint (npm run lint) and start hacking :)

This CLI command reveals the bytecode for a piece of javascript:

$ ecmacomp --parse input.js

You can use this bytecode as reference because it's the bytecode used in all the optimisations.

Current Tags

  • 1.0.0                                ...           latest (10 months ago)

1 Versions

  • 1.0.0                                ...           10 months ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 2
Last Day 0
Last Week 1
Last Month 0
Dependencies (11)
Dev Dependencies (9)
Dependents (0)
None

Copyright 2014 - 2016 © taobao.org |