# @sqltools/formatter

> Formats SQL queries. Part of SQLTools

Latest version **1.2.5** (published 2022-10-16) · MIT license · 0 weekly downloads

## Install

```sh
npm install @sqltools/formatter
pnpm add @sqltools/formatter
yarn add @sqltools/formatter
bun add @sqltools/formatter
```

## Health

**Score 40/100 (D)** — status: abandoned.

Positive: has types; no vulnerabilities; high maintenance score; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 1.2.5 |
| Published | 2022-10-16 |
| First published | 2019-03-21 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 73.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1765 |
| Maintainers | gjsjohnmurray, mtxr |
| Keywords | sql, formatter, format, n1ql, whitespaces, sqltools |

## Links

- npm: https://www.npmjs.com/package/@sqltools/formatter
- Repository: https://github.com/mtxr/vscode-sqltools
- Homepage: https://github.com/mtxr/vscode-sqltools#readme
- Issues: https://github.com/mtxr/vscode-sqltools/labels/formatting
- npm.io page: https://npm.io/package/@sqltools/formatter

## Alternatives

- [@libsql/sqlite3](https://npm.io/package/@libsql/sqlite3.md) — 39.8K weekly downloads
- [@fortemi/core](https://npm.io/package/@fortemi/core.md) — 461 weekly downloads
- [cdb-converter](https://npm.io/package/cdb-converter.md) — 341 weekly downloads
- [@uplo/adapter-prisma](https://npm.io/package/@uplo/adapter-prisma.md) — 75 weekly downloads
- [typeorm-aios](https://npm.io/package/typeorm-aios.md) — 30 weekly downloads

## Recent versions

- 1.2.5 (latest) — 2022-10-16
- 1.2.3 — 2021-03-21
- 1.2.2 — 2020-06-07
- 1.2.1 — 2020-06-05
- 1.2.0 — 2020-05-12
- 1.1.1 — 2019-08-04
- 1.1.0 — 2019-08-04
- 1.0.3 — 2019-04-29
- 1.0.2 — 2019-04-06
- 1.0.1 — 2019-04-06
- 1.0.0 — 2019-04-04
- 0.1.0 — 2019-03-22
- 0.0.0 — 2019-03-21

## README

# SQLTools Formatter

[![GitHub](https://img.shields.io/github/license/mtxr/vscode-sqltools)](https://github.com/mtxr/vscode-sqltools/blob/dev/LICENSE)

> Forked from [zeroturnaround/sql-formatter](https://zeroturnaround.github.io/sql-formatter/) but with improvements and ported Typescript.

This package is part of [vscode-sqltools](https://vscode-sqltools.mteixeira.dev/?umd_source=repository&utm_medium=readme&utm_campaign=formatter) extension.

&rarr; Try it online using our **[playground](https://vscode-sqltools.mteixeira.dev/playground/formatter?umd_source=repository&utm_medium=readme&utm_campaign=formatter)**.

## Install

Get the latest version from NPM/Yarn:

```shell
npm install @sqltools/formatter
#
yarn add @sqltools/formatter
```

## Usage

```ts
import sqlFormatter from '@sqltools/formatter';

console.log(sqlFormatter.format('SELECT * FROM table1'));
```

Will output:

```
SELECT *
FROM table1
```

You can also pass in configuration options:

```js
sqlFormatter.format('SELECT *', {
  language: 'sql',
  indent: '\t', // Defaults to two spaces
});
```

## Options

| option              | description                                      | type                                                       | default            |
| ------------------- | ------------------------------------------------ | ---------------------------------------------------------- | ------------------ |
| language            | Query language, default is Standard SQL          | `sql, n1ql, db2, pl/sql`                                   | `sql`              |
| indent              | Characters used for indentation                  | `string`                                                   | ` ` (2 spaces)     |
| reservedWordCase    | How to change the case of reserved words         | `upper`, `lower`, `null`                                   | `null` (no change) |
| linesBetweenQueries | How many line breaks between queries             | `number` or `'preserve'`                                   | `1`                |
| params              | Collection of params for placeholder replacement | `object` for name params, `array` for indexed placeholders |                    |

## Changelog

#### v1.2.4

- Support PostgreSQL c-style escape strings in formatter. [#935](https://github.com/mtxr/vscode-sqltools/pull/935) - thanks to [@sivaramasubramanian](https://github.com/sivaramasubramanian).
- Support PostgreSQL @@ operator in formatter. [#936](https://github.com/mtxr/vscode-sqltools/pull/936) - thanks to [@remlse](https://github.com/remlse).

#### v1.2.3

- Update types path. Thanks to [@sgtpep](https://github.com/sgtpep)
- Update README.md. Thanks to [@hacker0limbo](https://github.com/hacker0limbo)

#### v1.2.2

- Add playground link and options to README.md
- Emitting declarations files for usage with Typescript.

#### v1.2.1

- Fixes JSON operators not inserting spaces. Issue [#605](https://github.com/mtxr/vscode-sqltools/issues/605)
- Fixes Grant type queries. Issue [#460](https://github.com/mtxr/vscode-sqltools/issues/460)

#### v1.2.1

- (Almost) first public version

---
_Source: https://npm.io/package/@sqltools/formatter · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
