JSPM

  • Created
  • Published
  • Downloads 765417
  • Score
    100M100P100Q187884F
  • License MIT

Minifies PostgreSQL scripts.

Package Exports

  • pg-minify

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 (pg-minify) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

pg-minify

Build Status Coverage Status

Minifies a PostgreSQL script into a single line:

  1. Removes both /*multi-line*/ and --single-line comments
  2. Concatenates multi-line strings into a single line with \n
  3. Removes redundant line gaps: line breaks, tabs and spaces
  4. Flattens the resulting script into a single line

It also provides basic parsing and error reporting for invalid SQL.

Installing

$ npm install pg-minify

Testing

First, clone the repository and install DEV dependencies.

$ npm test

Testing with coverage:

$ npm run coverage

Usage

var minify = require('pg-minify');

var sql = "SELECT 1; -- comments";

minify(sql); //=> SELECT 1;

Error Handling

SQLParsingError is thrown on failed SQL parsing:

try {
    minify("SELECT '1");
} catch (error) {
    // error is minify.SQLParsingError instance
    // error.message:
    // Error parsing SQL at {line:1,col:8}: Unclosed text block.
}

API

minify(sql, [options]) ⇒ String

Minifies SQL into a single line, according to the options.

options.compress ⇒ Boolean

Compresses / uglifies the SQL to its bare minimum, by removing all unnecessary spaces.

  • false (default) - keep minimum spaces, for easier read
  • true - remove all unnecessary spaces

License

Copyright © 2016 Vitaly Tomilov; Released under the MIT license.