1.0.0 • Published 7 years ago
ecmacomp v1.0.0
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!
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.jsYou can use this bytecode as reference because it's the bytecode used in all the optimisations.
1.0.0
7 years ago