prettier-plugin-sql
An opinionated sql formatter plugin for Prettier
Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing, taking various rules into account.
This plugin adds support for a lot of sql files through sql-formatter or node-sql-parser.
Notice
This plugin is still under development, its printer just wraps sql-formatter or node-sql-parser's default printer.
Of course it should just work, but may not match prettier's format sometimes.
Requirements
prettier-plugin-sql
is an evergreen module. 🌲 This module requires an LTS Node version (v12.0.0+).
Install
Using npm:
npm i -D prettier prettier-plugin-sql
yarn add -D prettier prettier-plugin-sql
Usage
Once installed, Prettier plugins must be added to .prettierrc
:
{
"plugins": ["prettier-plugin-sql"]
}
Then:
npx prettier --write db.sql
yarn prettier --write db.sql
Parser Options
interface SqlOptions {
formatter: 'sql-formatter' | 'node-sql-parser'
language:
| 'sql'
| 'bigquery'
| 'db2'
| 'db2i'
| 'hive'
| 'mariadb'
| 'mysql'
| 'n1ql'
| 'postgresql'
| 'plsql'
| 'redshift'
| 'singlestoredb'
| 'snowflake'
| 'spark'
| 'sqlite'
| 'transactsql'
| 'tsql'
| 'trino'
keywordCase: 'preserve' | 'upper' | 'lower'
indentStyle: 'standard' | 'tabularLeft' | 'tabularRight'
logicalOperatorNewline: 'before' | 'after'
tabulateAlias: boolean
commaPosition: 'after' | 'before' | 'tabular'
expressionWidth: number
linesBetweenQueries: number
denseOperators: boolean
newlineBeforeSemicolon: boolean
params: string
paramTypes: string
type: 'table' | 'column'
database:
| 'bigquery'
| 'db2'
| 'hive'
| 'mariadb'
| 'mysql'
| 'postgresql'
| 'transactsql'
| 'flinksql'
| 'snowflake'
}
More details on sql-formatter and node-sql-parser.
Backers
Changelog
Detailed changes for each release are documented in CHANGELOG.md.
License
GPLv2 © JounQin@1stG.me