Releases: DanielFGray/pg-sourcerer
Releases · DanielFGray/pg-sourcerer
v0.5.1
v0.5.0
0.5.0 (2026-01-21)
⚠ BREAKING CHANGES
- inflection: classicInflectionConfig and ClassicInflectionLive removed - classic conventions are now the default
Features
- add ArkType schema generation plugin (92a392a)
- add enumStyle and typeReferences config to validation plugins (9c62411)
- Add formatter hook for post-generation code formatting (815cd7f)
- Add FunctionEntity to IR for PostgreSQL stored functions (7881147)
- add opclassNames to IndexDef via vendored pg-introspection (e4d7bb5)
- add sql-queries plugin with typed query generation (752d2f7)
- bare command runs generate, fix CLI permissions (b0b59ce)
- cli: add interactive init command for config generation (1bbda47)
- conjure,hex: add AST helpers for route generation (0bfa2b6)
- conjure: add export.* helpers for cleaner export generation (0853b94)
- conjure: add rawStatement for arbitrary code emission (6448ba9)
- cursor pagination and user module imports (9818854)
- declarative plugin system with DAG resolution (ae462f8)
- effect-model: add @effect/sql Model plugin with clean output patterns (33da0a8)
- effect: add Effect plugin suite with HTTP API generation (7260ee4)
- emissions: add blank lines before export statements (b2736e5)
- emissions: detect and report undefined symbol references (4980dd8)
- export effect plugin and support plugin presets (c7fe482)
- fix kysely plugins table/type naming consistency (232e618)
- generate composite types in validation plugins (zod, arktype, effect-model) (fe2e88a)
- init: add HTTP/RPC framework selection (b7c58fb)
- init: detect postgres connection strings in .env and process.env (c2d1e0b)
- init: discover schemas with table counts and prompt to run generate (7b5fdb5)
- init: use AST builders for config generation and add all HTTP plugins (79e51d0)
- IR extensions and unified plugins (184114f)
- ir: add IndexDef and simplify relation name handling (a815702)
- ir: add relation graph utilities for join path finding (9a65fc4)
- ir: add reverse relations helpers (getReverseRelations, getAllRelations) (fa20a42)
- kysely-queries: add defaultLimit config option (1df994c)
- kysely-queries: add Kysely query generation plugin (3968991)
- kysely-queries: flat exports with configurable naming functions (b7981d2)
- kysely-types: add composite type support (f0b0441)
- lib: add hex module for SQL query building and param helpers for conjure (3fd5db1)
- plugins: add explicitColumns config for runtime column filtering (c39fcb0)
- plugins: add exportStyle and exportName config to query plugins (f20434a)
- plugins: add HTTP route generation plugins (c533a8b)
- plugins: add inflection composition and fix citext array mapping (a61bca8)
- plugins: add valibot schema plugin (cb3cc3e)
- plugins: make all plugin config options optional with sensible defaults (2c95ec6)
- plugins: simplify plugin config syntax with curried definePlugin (c4d168f)
- plugins: support dynamic provides based on config (8d6d0d3)
- prepare package for npm publication (d6a2dd2)
- restore two-phase plugin architecture from stash (980f191)
- sql-queries,kysely-queries: add function wrapper generation (8e3ea30)
- sql-queries: add sqlStyle config for tag vs string query generation (0281a68)
- sql-queries: add stored function wrappers (8bb97e4)
Bug Fixes
- add --ignore-scripts to npm publish to use bun pack tarball (a6f6e5b)
- add postgres.js dependency for init command (1002283)
- add working-directory and use ls for tarball detection in publish (b95e73d)
- CI - build pg-introspection before tests, use Effect Array.groupBy for Node 20 compat (1654ff9)
- cli: auto-run init when config file is missing (b8b1a61)
- cli: refactor config loading to use Effect DI pattern (e756bc2)
- correct repository URL case for npm provenance (ad99716)
- generate: ensure inflectionLayer takes precedence over PluginRunner.Default (590136d)
- init: staged plugin prompts to prevent conflicts, fix generate after init (36df9b6)
- kysely-queries: rename findMany to listMany (opt-in), dedupe lookups by column (e773e69)
- pass configured role to IR builder for permission filtering (e12fc6d)
- plugins: simplify capability names and fix type registration (595e4a4)
- preserve snake_case field names by default, add FK semantic naming to query plugins ...
v0.2.2
0.2.2 (2026-01-11)
Features
- conjure,hex: add AST helpers for route generation (0bfa2b6)
- conjure: add export.* helpers for cleaner export generation (0853b94)
- declarative plugin system with DAG resolution (ae462f8)
- emissions: add blank lines before export statements (b2736e5)
- emissions: detect and report undefined symbol references (4980dd8)
- init: add HTTP/RPC framework selection (b7c58fb)
- IR extensions and unified plugins (184114f)
- kysely-queries: add defaultLimit config option (1df994c)
- kysely-types: add composite type support (f0b0441)
- plugins: add explicitColumns config for runtime column filtering (c39fcb0)
- plugins: add exportStyle and exportName config to query plugins (f20434a)
- plugins: add HTTP route generation plugins (c533a8b)
- plugins: add valibot schema plugin (cb3cc3e)
- plugins: support dynamic provides based on config (8d6d0d3)
- sql-queries,kysely-queries: add function wrapper generation (8e3ea30)
- sql-queries: add stored function wrappers (8bb97e4)
Bug Fixes
v0.2.1
v0.2.0
0.2.0 (2026-01-09)
⚠ BREAKING CHANGES
- inflection: classicInflectionConfig and ClassicInflectionLive removed
Features
- add ArkType schema generation plugin (2e1840f)
- add enumStyle and typeReferences config to validation plugins (dbec244)
- Add formatter hook for post-generation code formatting (606a2d8)
- Add FunctionEntity to IR for PostgreSQL stored functions (043e7ce)
- add opclassNames to IndexDef via vendored pg-introspection (b3c27fb)
- add sql-queries plugin with typed query generation (c284b30)
- bare command runs generate, fix CLI permissions (7bf6cdf)
- cli: add interactive init command for config generation (641df17)
- conjure: add rawStatement for arbitrary code emission (4762ec2)
- effect-model: add @effect/sql Model plugin with clean output patterns (82177c9)
- fix kysely plugins table/type naming consistency (6f86dfa)
- generate composite types in validation plugins (zod, arktype, effect-model) (1b3a9b3)
- init: detect postgres connection strings in .env and process.env (d6eb123)
- init: discover schemas with table counts and prompt to run generate (b3b3efb)
- ir: add IndexDef and simplify relation name handling (1e8f4a8)
- ir: add relation graph utilities for join path finding (a1cd007)
- ir: add reverse relations helpers (getReverseRelations, getAllRelations) (f5ce23c)
- kysely-queries: add Kysely query generation plugin (0682684)
- kysely-queries: flat exports with configurable naming functions (9e9d053)
- lib: add hex module for SQL query building and param helpers for conjure (98df7b6)
- plugins: add inflection composition and fix citext array mapping (692185b)
- plugins: make all plugin config options optional with sensible defaults (80e9a53)
- plugins: simplify plugin config syntax with curried definePlugin (04a1977)
- prepare package for npm publication (fffdb07)
- sql-queries: add sqlStyle config for tag vs string query generation (a00dcc3)
Bug Fixes
- add --ignore-scripts to npm publish to use bun pack tarball (d9741a4)
- add postgres.js dependency for init command (648e551)
- add working-directory and use ls for tarball detection in publish (0215136)
- CI - build pg-introspection before tests, use Effect Array.groupBy for Node 20 compat (3ffa965)
- correct repository URL case for npm provenance (3b2904e)
- generate: ensure inflectionLayer takes precedence over PluginRunner.Default (ae524d3)
- init: staged plugin prompts to prevent conflicts, fix generate after init (4a7bb35)
- kysely-queries: rename findMany to listMany (opt-in), dedupe lookups by column (082046c)
- pass configured role to IR builder for permission filtering (658d1b9)
- preserve snake_case field names by default, add FK semantic naming to query plugins (4158a74)
- use bun pack then npm publish for proper dep resolution (36bed67)
Code Refactoring
- inflection: make classic conventions the default (1495cc7)
v0.1.9
Highlights
Improved Init Experience
- Staged plugin selection - Radio-group prompts prevent selecting conflicting plugins (e.g., both
zodandtypes) - Schema discovery - Introspects database to show available schemas with table counts
- Connection string detection - Automatically finds postgres URLs in
.envandprocess.env - Generate after init - Option to run generate immediately after creating config
Plugin Improvements
- Composite type support - Validation plugins (zod, arktype, effect-model) now generate schemas for composite types
- enumStyle and typeReferences config - Control how enums are represented across all validation plugins
- Optional config with sensible defaults - All plugin options are now optional
- Better naming conventions - Preserve snake_case field names by default, semantic FK naming in query plugins
Inflection
- Classic conventions by default - Proper English pluralization using pluralize-esm
- listMany renamed from findMany - More descriptive query method names
Bug Fixes
- Fix generate running after init (was silently exiting)
- Fix CLI permissions
- Dedupe lookups by column in kysely-queries
Full Changelog: v0.1.8...v0.1.9