Skip to content
# Interface: SqlFormatterOptions

Defined in: packages/core/src/transformers/SqlFormatter.ts:97

High level configuration accepted by SqlFormatter.

Example ​

typescript
const formatter = new SqlFormatter({ preset: 'postgres', commentStyle: 'smart' });
const { formattedSql } = formatter.format(SelectQueryParser.parse('select * from users where active = true'));

Related tests: packages/core/tests/transformers/CommentStyle.comprehensive.test.ts

Extends ​

Extended by ​

Properties ​

indentSize? ​

optional indentSize: number

Defined in: packages/core/src/transformers/SqlFormatter.ts:41

Number of spaces for indentation

Inherited from ​

BaseFormattingOptions.indentSize


indentChar? ​

optional indentChar: string

Defined in: packages/core/src/transformers/SqlFormatter.ts:43

Character to use for indentation (logical 'space'/'tab' or literal control character)

Inherited from ​

BaseFormattingOptions.indentChar


newline? ​

optional newline: NewlineOption

Defined in: packages/core/src/transformers/SqlFormatter.ts:45

Newline character style (logical 'lf'/'crlf'/'cr' or literal newline string)

Inherited from ​

BaseFormattingOptions.newline


keywordCase? ​

optional keywordCase: "none" | "upper" | "lower"

Defined in: packages/core/src/transformers/SqlFormatter.ts:47

Case transformation for SQL keywords

Inherited from ​

BaseFormattingOptions.keywordCase


commaBreak? ​

optional commaBreak: CommaBreakStyle

Defined in: packages/core/src/transformers/SqlFormatter.ts:49

Style for comma line breaks

Inherited from ​

BaseFormattingOptions.commaBreak


cteCommaBreak? ​

optional cteCommaBreak: CommaBreakStyle

Defined in: packages/core/src/transformers/SqlFormatter.ts:51

Style for comma line breaks inside WITH clause definitions

Inherited from ​

BaseFormattingOptions.cteCommaBreak


valuesCommaBreak? ​

optional valuesCommaBreak: CommaBreakStyle

Defined in: packages/core/src/transformers/SqlFormatter.ts:53

Style for comma line breaks inside VALUES clauses

Inherited from ​

BaseFormattingOptions.valuesCommaBreak


andBreak? ​

optional andBreak: AndBreakStyle

Defined in: packages/core/src/transformers/SqlFormatter.ts:55

Style for AND line breaks

Inherited from ​

BaseFormattingOptions.andBreak


orBreak? ​

optional orBreak: OrBreakStyle

Defined in: packages/core/src/transformers/SqlFormatter.ts:57

Style for OR line breaks

Inherited from ​

BaseFormattingOptions.orBreak


exportComment? ​

optional exportComment: boolean | CommentExportMode

Defined in: packages/core/src/transformers/SqlFormatter.ts:59

Whether to export comments in formatted output

Inherited from ​

BaseFormattingOptions.exportComment


commentStyle? ​

optional commentStyle: CommentStyle

Defined in: packages/core/src/transformers/SqlFormatter.ts:61

Comment formatting style

Inherited from ​

BaseFormattingOptions.commentStyle


withClauseStyle? ​

optional withClauseStyle: WithClauseStyle

Defined in: packages/core/src/transformers/SqlFormatter.ts:63

Formatting style for WITH clauses

Inherited from ​

BaseFormattingOptions.withClauseStyle


parenthesesOneLine? ​

optional parenthesesOneLine: boolean

Defined in: packages/core/src/transformers/SqlFormatter.ts:65

Keep parentheses content on one line regardless of AND/OR break settings

Inherited from ​

BaseFormattingOptions.parenthesesOneLine


betweenOneLine? ​

optional betweenOneLine: boolean

Defined in: packages/core/src/transformers/SqlFormatter.ts:67

Keep BETWEEN expressions on one line regardless of AND break settings

Inherited from ​

BaseFormattingOptions.betweenOneLine


valuesOneLine? ​

optional valuesOneLine: boolean

Defined in: packages/core/src/transformers/SqlFormatter.ts:69

Keep VALUES clause on one line regardless of comma break settings

Inherited from ​

BaseFormattingOptions.valuesOneLine


joinOneLine? ​

optional joinOneLine: boolean

Defined in: packages/core/src/transformers/SqlFormatter.ts:71

Keep JOIN conditions on one line regardless of AND/OR break settings

Inherited from ​

BaseFormattingOptions.joinOneLine


caseOneLine? ​

optional caseOneLine: boolean

Defined in: packages/core/src/transformers/SqlFormatter.ts:73

Keep CASE expressions on one line regardless of formatting settings

Inherited from ​

BaseFormattingOptions.caseOneLine


subqueryOneLine? ​

optional subqueryOneLine: boolean

Defined in: packages/core/src/transformers/SqlFormatter.ts:75

Keep subqueries (inline queries) on one line regardless of formatting settings

Inherited from ​

BaseFormattingOptions.subqueryOneLine


indentNestedParentheses? ​

optional indentNestedParentheses: boolean

Defined in: packages/core/src/transformers/SqlFormatter.ts:77

Indent nested parentheses when boolean groups contain additional parentheses

Inherited from ​

BaseFormattingOptions.indentNestedParentheses


insertColumnsOneLine? ​

optional insertColumnsOneLine: boolean

Defined in: packages/core/src/transformers/SqlFormatter.ts:79

Keep INSERT column lists on one line regardless of comma break settings

Inherited from ​

BaseFormattingOptions.insertColumnsOneLine


whenOneLine? ​

optional whenOneLine: boolean

Defined in: packages/core/src/transformers/SqlFormatter.ts:81

Keep MERGE WHEN clause predicates on one line regardless of AND break settings

Inherited from ​

BaseFormattingOptions.whenOneLine


joinConditionOrderByDeclaration? ​

optional joinConditionOrderByDeclaration: boolean

Defined in: packages/core/src/transformers/SqlFormatter.ts:83

Reorder JOIN ON column comparisons to follow table declaration order

Inherited from ​

BaseFormattingOptions.joinConditionOrderByDeclaration


preset? ​

optional preset: "postgres" | "mysql" | "sqlserver" | "sqlite"

Defined in: packages/core/src/transformers/SqlFormatter.ts:99

Database preset for formatting style ('mysql', 'postgres', 'sqlserver', 'sqlite')


identifierEscape? ​

optional identifierEscape: IdentifierEscapeOption

Defined in: packages/core/src/transformers/SqlFormatter.ts:101

Identifier escape style (logical name like 'quote' or explicit delimiters)


parameterSymbol? ​

optional parameterSymbol: string | { start: string; end: string; }

Defined in: packages/core/src/transformers/SqlFormatter.ts:103

Parameter symbol configuration for SQL parameters


parameterStyle? ​

optional parameterStyle: "named" | "indexed" | "anonymous"

Defined in: packages/core/src/transformers/SqlFormatter.ts:105

Style for parameter formatting


castStyle? ​

optional castStyle: CastStyle

Defined in: packages/core/src/transformers/SqlFormatter.ts:107

Preferred CAST rendering style


constraintStyle? ​

optional constraintStyle: ConstraintStyle

Defined in: packages/core/src/transformers/SqlFormatter.ts:109

Constraint rendering style (affects CREATE TABLE constraint layout)

Released under the MIT License.