feat: add database-postgres driver boundary package (E00-S03-T02)

- packages/database-postgres (@personal-blog/database-postgres): the single
  workspace package allowed to import the PostgreSQL driver — declares pg and
  kysely as exact dependencies (@types/pg for types) and its src/index.ts
  imports and re-exports the driver pieces (Pool, Kysely, PostgresDialect) so
  the isolation is real, not a placeholder
- pnpm-lock.yaml: importer for packages/database-postgres plus the resolved
  pg/kysely dependency tree (frozen-lockfile install keeps working)
- .gitea/workflows/ci.yml: new database-postgres-imports job runs
  tests/database-postgres-imports.test.mjs on every PR so the isolation
  criterion gates merges
This commit is contained in:
implementer
2026-08-29 11:14:14 +00:00
parent 797a1b8dc2
commit 5c202ba21e
5 changed files with 205 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
/**
* @personal-blog/database-postgres — EPPP PostgreSQL adapter package.
*
* [E00-S03-T02] this package is the single owner of the PostgreSQL driver
* stack: it is the only workspace package allowed to import `pg` and Kysely.
* Every piece of the workspace that talks to the database goes through this
* boundary — the pool, the query builder dialect and the adapter API this
* package will expose — so no other package ever imports the driver directly.
*
* This module is the driver boundary: it imports the PostgreSQL driver (`pg`)
* and Kysely and re-exports the pieces later stories build the adapter on
* (migration ledger E00-S03-T03, advisory lock E00-S03-T04). Until then the
* re-exports keep the driver reachable only from here — the isolation is real,
* not a placeholder.
*/
import { Pool } from 'pg';
import { Kysely, PostgresDialect } from 'kysely';
export { Pool, Kysely, PostgresDialect };