go-sql-formatter is a distribution of sql-formatter, that can be built with Go. It does not actually reimplement any
functionality of sql-formatter in Go, instead packaging it with the lightweight JS runtime QuickJS, and
executing with the pure Go Wasm runtime wazero. This means that go install
or go run
can be used to execute it, with no need to rely on separate package managers such as pnpm,
on any platform that Go supports.
Precompiled binaries are available in the releases.
Alternatively, install the plugin you want using go install
.
$ go install github.com/wasilibs/go-sql-formatter/cmd/sql-formatter@latest
To avoid installation entirely, it can be convenient to use go run
$ go run github.com/wasilibs/go-sql-formatter/cmd/sql-formatter@latest -o formatted.sql unformatted.sql
Note that due to the sandboxing of the filesystem when using Wasm, currently only files that descend
from the current directory when executing the tool are accessible to it, i.e., ../sql/my.sql
or
/separate/root/my.sql
will not be found.