dbt-formatter
dbt-formatter copied to clipboard
Formatting for dbt jinja-flavored sql
DBT Formatter
Install
npm install -s dbt-formatter
Usage
import formatter from 'dbt-formatter';
const mySql = "SELECT * FROM {{ ref('myTableRef') }}";
const myOpts = { sql: 'default', indent: 2, upper: false };
formatter.format(mySql, myOpts);
This will result in:
SELECT
*
FROM
{{ ref('myTableRef') }}
Usage options
Fine tune dbt-formatter behavior with the following options:
| Option | Default | Description |
|---|---|---|
| sql | default |
The sql dialect you want to use, currently only default is available |
| indent | 2 |
How many spaces you want an indentation to be |
| upper | false |
Formats sql reserved words to be uppercase when set to true |
| newline | false |
Appends a new line at the end of the formatted sql string |
| lowerWords | false |
Lowercases all words as identified by the tokenizer |
| allowCamelcase | true |
Allows column names to be camelcased |
Development
NPM scripts
npm test: Run test suitenpm start: Runnpm run buildin watch modenpm run build: Generate bundles and typings, create docsnpm run lint: Lints codenpm run package: Package dbt-formatter as a binary
Roadmap
- Add more sql dialects:
- [x] snowflake
- [ ] redshift
- [ ] bigquery
- [ ] postgres
- [ ] presto