JSPM

esbeautify

0.0.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q26602F
  • License ISC

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

Package Exports

  • esbeautify

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (esbeautify) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

ESBeautify

Blazing fast JavaScript beautifier and minifier


WIP!

Features

  • Generates JavaScript code up to ECMAScript® 2021
  • 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, and does some code formatting based on your options.

Options

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:

import { beutifyScript } from 'esbeutify';

 generate(`[
     a
          = b
      ]
        =
  c`);

produces the string '[a = b] = c'.

This is how you minify

import { beutifyScript } from 'esbeutify';

 generate(`[
     a
          = b
      ]
        =
  c`, { minify: true });

produces the string '[a=b]=c'.