recma-minify
v1.0.0
Published
recma plugin to add support for minifying code
Downloads
96
Readme
recma-minify
recma plugin to minify code.
Contents
What is this?
This package is a unified (recma) that minifies code with Terser.
When should I use this?
You can use this if you want to make code smaller.
You can alternatively use terser
manually if you don’t use
recma
.
Install
This package is ESM only. In Node.js (version 16+), install with npm:
npm install recma-minify
In Deno with esm.sh
:
import recmaMinify from 'https://esm.sh/recma-minify@1'
In browsers with esm.sh
:
<script type="module">
import recmaMinify from 'https://esm.sh/recma-minify@1?bundle'
</script>
Use
Say we have the following module example.js
:
import recmaMinify from 'recma-minify'
import recmaParse from 'recma-parse'
import recmaStringify from 'recma-stringify'
import {unified} from 'unified'
const file = await unified()
.use(recmaParse, {module: true})
.use(recmaMinify, {
compress: true,
ecma: 2020,
mangle: true,
toplevel: true
})
.use(recmaStringify)
.process(
'console.log(sum(2, 3)); function sum(left, right) { return left + right }'
)
console.log(String(file))
…running that with node example.js
yields:
console.log(2 + 3);
API
This package exports no identifiers.
The default export is recmaMinify
.
unified().use(recmaMinify[, options])
Plugin to minify code.
Parameters
options
(Options
, optional) — configuration
Returns
Transform (Transformer
).
Options
Configuration (TypeScript type).
Same as MinifyOptions
from
terser
except that you do not need to pass
format
, module
, output
, parse
, or sourceMap
;
you should probably pass compress: true
, ecma: 2020
,
mangle: true
, and toplevel: true
.
Types
This package is fully typed with TypeScript.
It exports the additional type Options
.
Compatibility
Projects maintained by the unified collective are compatible with maintained versions of Node.js.
When we cut a new major release,
we drop support for unmaintained versions of Node.
This means we try to keep the current release line,
recma-minify@1
,
compatible with Node.js 16.
Security
As recma works on JS and evaluating JS is unsafe, use of recma can also be unsafe. Do not evaluate unsafe code.
Contribute
See § Contribute on our site for ways to get started. See § Support for ways to get help.
This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.