Formatter utilities for @flowblade/sql-tag
npm install @flowblade/sql-tag-formatSql formatter utilities for @flowblade/sql-tag









- 🛡️ Tested on node 18-22, browser, cloudflare workers and runtime/edge.
- 🗝️ Available in ESM and CJS formats.
``bash`
yarn add @flowblade/sql-tag-format @flowblade/sql-tagUsage
`typescript
import { sql } from '@flowblade/sql-tag';
import { SqlFormatter } from "@flowblade/sql-tag-format";
// 👈 Unvalidated parameters
const params = {
country: 'BE',
users: ['John', 'Doe'],
ids: [1],
};
const query = sql<{
id: number;
username: string;
}>
SELECT id, username FROM users
WHERE country = ${params.country} -- 👈 simple
AND username IN (${sql.join(params.users)}) -- 👈 sql.join ;
const pgsqlFormatter = new SqlFormatter('postgresql');
const formatted = pgsqlFormatter.formatOrNull(query);
try {
const formatted = pgsqlFormatter.formatOrThrow(query);
} catch (e) {
console.error(e);
}
`
| Dialect | Description |
|---------------|------------------------------|
| bigquery | Google SQL |
| db2 | DB2 SQL |
| db2i | DB2 iSeries SQL |
| hive | HiveQL |
| mariadb | MariaDB SQL |
| mysql | MySQL SQL |
| n1ql | N1QL |
| plsql | PL/SQL |
| postgresql | PostgreSQL SQL |
| redshift | Redshift SQL |
| singlestoredb | SingleStore SQL |
| snowflake | Snowflake SQL |
| spark | Spark SQL |
| sql | ANSI SQL |
| sqlite | SQLite SQL |
| tidb | TiDB SQL |
| transactsql | Mssql / Transact-SQL (T-SQL) |
| trino | Trino SQL |
| tsql | Transact-SQL |
Bundle size is tracked by a size-limit configuration
| Scenario (esm) | Size (compressed) |
|-----------------------------------------------------------|------------------:|
| import { SqlFormatter } from '@flowblade/sql-tag-format` | ~ 47Kb |
| Level | CI | Description |
|------------|----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Node | ✅ | CI for 18.x, 20.x & 22.x. |
| Browser | ✅ | Tested with latest chrome (vitest/playwright) |
| Browserslist | ✅ | > 95% on 01/2025. Chrome 96+, Firefox 90+, Edge 19+, ios 15+, Safari 15+ and Opera 77+ |
| Edge | ✅ | Ensured on CI with @vercel/edge-runtime. |
| Cloudflare | ✅ | Ensured with @cloudflare/vitest-pool-workers (see wrangler.toml |
| Typescript | ✅ | TS 5.0 + / are-the-type-wrong checks on CI. |
| ES2022 | ✅ | Dist files checked with es-check |
| Performance| ✅ | Monitored with codspeed.io |
Contributions are welcome. Have a look to the CONTRIBUTING document.
Sponsor>), coffee>),
or star – All is spent for quality time with loved ones. Thanks ! 🙏❤️
![]() | |
JetBrains | Embie.be |
MIT © Sébastien Vanvelthem and contributors.