UNPKG

esbeautify

Version:

lightweight and blazing fast JavaScript code generator from an EScaya-compliant AST

94 lines (72 loc) 2.06 kB
<h1 align="center">ESBeautify</h1> <p align="center"> Blazing fast JavaScript beautifier and minifier </p> <br> **WIP!** ## Features * Generates JavaScript code up to [ECMAScript® 2021](https://tc39.es/ecma262/index.html) * Generated output is 98 % identical to the input. * Supports prettier options * Supports code compression (*minification*) * Supports JSON serializing * Supports source map * Supports incremental code generation * Performance * Optimized for use on handheld devices such as a mobile phone or tablet * No backtracking * Low memory usage ## API `Esbeautify` uses `Escaya` to generat JavaScript code up to [ECMAScript® 2021](https://tc39.es/ecma262/index.html), and does some code formatting based on your options. ### Options ```js export interface Options { // Enable ESNext features next?: boolean; // Enable location tracking loc?: boolean; // Disable Web compat disableWebCompat?: boolean; // Force strict mode impliedStrict?: boolean; // Specify the number of spaces per indentation-level tabWidth?: number; // Print semicolons at the ends of statements semicolons?: boolean; // Remove unnecessary whitespace removeWhiteSpace?: boolean; // Define file endings ('lf', 'crlf', or 'cr') endOfLine?: string; // Removes unnecessary whitespace, semicolons and line endings minify?: boolean; // Include parentheses around a sole arrow function parameter arrowParens?: boolean; // Enable the ability to omit superfluous parentheses parentheses?: boolean; // Print trailing commas wherever possible when multi-line trailingCommas?: boolean; // Use single quotes instead of double quotes singleQuote?: boolean; } ``` ### Example usage: ```js import { beutifyScript } from 'esbeutify'; generate(`[ a = b ] = c`); produces the string '[a = b] = c'. ``` This is how you minify ```js import { beutifyScript } from 'esbeutify'; generate(`[ a = b ] = c`, { minify: true }); produces the string '[a=b]=c'. ```