pg-minify
v1.8.0
Published
Minifies PostgreSQL scripts.
Downloads
3,198,974
Maintainers
Readme
pg-minify
Minifies PostgreSQL scripts, reducing the IO usage.
Features:
- Removes
/*multi-line*/(including nested) and--single-linecomments - Preserves special/copyright multi-line comments that start with
/*! - Concatenates multi-line strings into a single line with
\n - Fixes multi-line text, prefixing it with
Ewhere needed - Removes redundant line gaps: line breaks, tabs and spaces
- Provides basic parsing and error detection for invalid SQL
- Flattens the resulting script into a single line
- Optionally, compresses SQL for minimum space
Installing
$ npm install pg-minifyUsage
const minify = require('pg-minify');
const sql = 'SELECT 1; -- comments';
minify(sql); //=> SELECT 1;with compression (removes all unnecessary spaces):
const sql = 'SELECT * FROM "table" WHERE col = 123; -- comments';
minify(sql, {compress: true});
//=> SELECT*FROM"table"WHERE col=123;The library's distribution includes TypeScript declarations.
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)- keeps minimum spaces, for easier readtrue- removes all unnecessary spaces
See also: SQL Compression.
options.removeAll ⇒ Boolean
Removes everything, i.e. special/copyright multi-line comments that start with /*! will be removed as well.
Limitations
Double-dollar $$ string escaping, which avoids escaping single quotes, is not supported.
See #12.
License
Copyright © 2025 Vitaly Tomilov; Released under the MIT license.
