Security News
CISA Brings KEV Data to GitHub
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
An ES2015-aware JavaScript minifier built using Babel.
npm install escompress
There are two ways to use the base ESCompress package. Both are thin wrappers around the equivalent Babel CLI and API.
ESCompress accepts any options through the CLI and API that are valid for Babel but some of them have different values by default:
Option | Default | Notes |
---|---|---|
babelrc | false | Needed so that it doesn't pick up your existing one |
comments | false | |
compact | 'true' | |
presets | ['escompress'] | Will be merged with any presets passed |
You can of course override these.
For more information see Babel:
escompress [options] input.js
For more information see Babel:
import escompress from 'escompress';
const code = `class Example {}`;
const result = escompress.transform(code, { /* options */ });
result.code; // Generated code
result.map; // Sourcemap
result.ast; // AST
ESCompress is a JavaScript compressor and minifier (and beautifier if you want 💅) that is able to work on ES2015 (and soon beyond) syntax.
At its heart, it's a wrapper around Babel using some plugins to remove and simplify code so that it's ready for production.
Modern browsers are now approaching almost full implementation of the ES2015 spec. See for yourself here: http://kangax.github.io/compat-table/es6/
We're reaching the point where it's entirely feasible to think about deploying some of this syntax to the browser instead of always transpiling down to ES5. The Webpack creator, @sokra, in his Advanced Frontend Optimization (with Webpack) presentation recommends that we prepare JavaScript files "for every combination". Yes, he mentions ES5 and ES3🕸, but that's because there's a problem: at the moment we can't really compress and minify ES2015/ES6 with UglifyJS (although it is being worked on).
By developing a tool built on Babel we get access to a parser, AST traversal and code generator that supports the latest syntax. All we need to do is provide plugins!
At the moment we're using the following plugins via the ESCompress preset:
FAQs
A JavaScript minifier built using Babel
The npm package escompress receives a total of 4 weekly downloads. As such, escompress popularity was classified as not popular.
We found that escompress demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
Security News
Opengrep forks Semgrep to preserve open source SAST in response to controversial licensing changes.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.