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.
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.
prettier-plugin-sql is an evergreen module. 🌲 This module requires an LTS Node version (v12.0.0+).
Using npm:
# npm
npm i -D prettier prettier-plugin-sql
# yarn
yarn add -D prettier prettier-plugin-sqlOnce installed, Prettier plugins should be automatically recognized by Prettier. To use this plugin, confirm that it's installed and run Prettier using your preferred method. For example:
# npx
npx prettier --write db.sql
# yarn
yarn prettier --write db.sqlinterface SqlOptions {
formatter: 'sql-formatter' | 'node-sql-parser' // default `sql-formatter`
// sql-formatter
language:
| 'sql'
| 'bigquery'
| 'hive'
| 'mariadb'
| 'mysql'
| 'postgresql'
| 'db2'
| 'plsql'
| 'n1ql'
| 'redshift'
| 'singlestoredb'
| 'spark'
| 'sqlite'
| 'tsql'
| 'trino' // default `sql`
keywordCase: 'preserve' | 'upper' | 'lower' // default `preserve`
indentStyle: 'standard' | 'tabularLeft' | 'tabularRight' // default `standard`
logicalOperatorNewline: 'before' | 'after' // default `before`
tabulateAlias: boolean // default `false`
commaPosition: 'after' | 'before' | 'tabular' // default `after`
expressionWidth: number // default `50`
linesBetweenQueries: number // default `1`
denseOperators: boolean // default `false`
newlineBeforeSemicolon: boolean // default `false`
params: Array | Object
// node-sql-parser
type: 'table' | 'column' // default `table`
database:
| 'bigquery'
| 'db2'
| 'hive'
| 'mariadb'
| 'mysql'
| 'postgresql'
| 'transactsql'
| 'flinksql' // default `mysql`
}More details on sql-formatter and node-sql-parser.
| 1stG | RxTS | UnTS |
|---|---|---|
| 1stG | RxTS | UnTS |
|---|---|---|
Detailed changes for each release are documented in CHANGELOG.md.