Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gajus/pg-formatter
A PostgreSQL SQL syntax beautifier.
https://github.com/gajus/pg-formatter
postgresql pretty
Last synced: 8 days ago
JSON representation
A PostgreSQL SQL syntax beautifier.
- Host: GitHub
- URL: https://github.com/gajus/pg-formatter
- Owner: gajus
- License: other
- Created: 2017-06-05T19:41:41.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-03-06T20:05:23.000Z (8 months ago)
- Last Synced: 2024-10-19T00:18:33.070Z (20 days ago)
- Topics: postgresql, pretty
- Language: TypeScript
- Size: 436 KB
- Stars: 80
- Watchers: 3
- Forks: 15
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - gajus/pg-formatter - A PostgreSQL SQL syntax beautifier. (TypeScript)
README
# pg-formatter
[![NPM version](http://img.shields.io/npm/v/pg-formatter.svg?style=flat-square)](https://www.npmjs.org/package/pg-formatter)
[![Canonical Code Style](https://img.shields.io/badge/code%20style-canonical-blue.svg?style=flat-square)](https://github.com/gajus/canonical)
[![Twitter Follow](https://img.shields.io/twitter/follow/kuizinas.svg?style=social&label=Follow)](https://twitter.com/kuizinas)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
```js
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
```bash
$ npm install pg-formatter -g
$ pg-formatter --help
Formats SQL filesOptions:
--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]
```