@pgtyped/cli
This package provides the pgtyped
CLI.
The pgtyped
CLI can work in build and watch mode.
Flags:
The CLI supports two flags:
-c config_file_path.json
to pass the config file path.-w
to start in watch mode.
Running the CLI:
npx pgtyped -w -c config.json
Env variables:
PgTyped supports common PostgreSQL environment variables:
PGHOST
PGUSER
PGPASSWORD
PGDATABASE
PGPORT
These variables will override values provided in config.json
.
Config file:
Config file format (config.json
):
{
"transforms": [
{
"mode": "sql",
"include": "**/*.sql",
"emitTemplate": "{{dir}}/{{name}}.queries.ts"
},
{
"mode": "ts",
"include": "**/action.ts",
"emitTemplate": "{{dir}}/{{name}}.types.ts"
}
],
"srcDir": "./src/",
"failOnError": false,
"camelCaseColumnNames": false,
"db": {
"dbName": "testdb",
"user": "user",
"password": "password",
"host": "127.0.0.1"
}
}
Generated files
By default, PgTyped saves generated files in the same folder as the source files it parses.
This behavior can be customized using the emitTemplate
config parameter.
In that template, four parameters are available for interpolation: root
, dir
, base
, name
and ext
.
For example, when parsing source/query file /home/user/dir/file.sql
, these parameters are assigned the following values:
┌─────────────────────┬────────────┐
│ dir │ base │
├──────┬ ├──────┬─────┤
│ root │ │ name │ ext │
" / home/user/dir / file .sql "
└──────┴──────────────┴──────┴─────┘
(All spaces in the "" line should be ignored. They are purely for formatting.)
This package is part of the PgTyped project.
Refer to root README for details.