Skip to content

gajus/pg-formatter

Repository files navigation

pg-formatter

NPM version Canonical Code Style Twitter Follow

A PostgreSQL SQL syntax beautifier.

Note:

This project is a thin wrapper of https://github.com/darold/pgFormatter. Execution of the module relies on Perl being available on the host system.

Usage

import {
  format
} from 'pg-formatter';

format(`SELECT foo FROM bar`);

Configuration

Configuration Format Default Description pgFormatter equivalent
anonymize boolean false Obscure all literals in queries, useful to hide confidential data before formatting. anonymize
commaBreak boolean false Add a newline after each comma in an insert statement. comma-break
functionCase string ("unchanged", "lowercase", "uppercase", "capitalize") unchanged Change the case of the function names. function-case
keywordCase string ("unchanged", "lowercase", "uppercase", "capitalize") unchanged Change the case of the reserved keyword. keyword-case
noRcFile boolean false Do not read ~/.pg_format automatically. no-rcfile
placeholder string (regex) N/A Regex to find code that must not be changed. placeholder
spaces number 4 Number of spaces to indent the code. spaces
stripComments boolean false Remove any comment from SQL code. nocomment
tabs boolean false Use tabs instead of spaces. When true, the spaces option is ignored. tabs

CLI Usage

$ npm install pg-formatter -g
$ pg-formatter --help
Formats SQL files

Options:
      --version         Show version number                            [boolean]
      --anonymize       Obscure all literals in queries, useful to hide
                        confidential data before formatting.
                                                      [boolean] [default: false]
      --comma-break     Add a newline after each comma in an insert statement.
                                                      [boolean] [default: false]
      --function-case   Change the case of the function names.
         [string] [choices: "unchanged", "lowercase", "uppercase", "capitalize"]
                                                          [default: "unchanged"]
  -i, --inplace         Override input file with formatted content.
                                                      [boolean] [default: false]
      --keyword-case    Change the case of the reserved keyword.
         [string] [choices: "unchanged", "lowercase", "uppercase", "capitalize"]
                                                          [default: "unchanged"]
      --no-rc-file      Do not read ~/.pg_format automatically.
                                                      [boolean] [default: false]
      --placeholder     Regex to find code that must not be changed.    [string]
      --spaces          Number of spaces to indent the code.
                                                           [number] [default: 4]
      --strip-comments  Remove any comment from SQL code.
                                                      [boolean] [default: false]
      --tabs            Use tabs instead of spaces. When true, the spaces option
                        is ignored.                   [boolean] [default: false]
      --help            Show help                                      [boolean]