Skip to content
# Interface: SqlFormatterOptions

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

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:39

Number of spaces for indentation

Inherited from

BaseFormattingOptions.indentSize


indentChar?

optional indentChar: string

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

Character to use for indentation ('space' or 'tab')

Inherited from

BaseFormattingOptions.indentChar


newline?

optional newline: NewlineOption

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

Newline character style

Inherited from

BaseFormattingOptions.newline


keywordCase?

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

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

Case transformation for SQL keywords

Inherited from

BaseFormattingOptions.keywordCase


commaBreak?

optional commaBreak: CommaBreakStyle

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

Style for comma line breaks

Inherited from

BaseFormattingOptions.commaBreak


cteCommaBreak?

optional cteCommaBreak: CommaBreakStyle

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

Style for comma line breaks inside WITH clause definitions

Inherited from

BaseFormattingOptions.cteCommaBreak


andBreak?

optional andBreak: AndBreakStyle

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

Style for AND/OR line breaks

Inherited from

BaseFormattingOptions.andBreak


exportComment?

optional exportComment: boolean

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

Whether to export comments in formatted output

Inherited from

BaseFormattingOptions.exportComment


strictCommentPlacement?

optional strictCommentPlacement: boolean

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

Whether to only export comments from clause-level keywords

Inherited from

BaseFormattingOptions.strictCommentPlacement


commentStyle?

optional commentStyle: CommentStyle

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

Comment formatting style

Inherited from

BaseFormattingOptions.commentStyle


withClauseStyle?

optional withClauseStyle: WithClauseStyle

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

Formatting style for WITH clauses

Inherited from

BaseFormattingOptions.withClauseStyle


parenthesesOneLine?

optional parenthesesOneLine: boolean

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

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:63

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:65

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:67

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:69

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:71

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

Inherited from

BaseFormattingOptions.subqueryOneLine


preset?

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

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

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


identifierEscape?

optional identifierEscape: object

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

Custom identifier escape characters (e.g., {start: '"', end: '"'} for PostgreSQL)

start

start: string

end

end: string


parameterSymbol?

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

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

Parameter symbol configuration for SQL parameters


parameterStyle?

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

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

Style for parameter formatting

Released under the MIT License.