Skip to content

Bump yoga-sql-types to 0.2 and heterogeneous to 0.7 - #1

Merged
afcondon merged 1 commit into
rowtype-yoga:mainfrom
afcondon:harmonize-yoga-sql-types-heterogeneous
May 30, 2026
Merged

Bump yoga-sql-types to 0.2 and heterogeneous to 0.7#1
afcondon merged 1 commit into
rowtype-yoga:mainfrom
afcondon:harmonize-yoga-sql-types-heterogeneous

Conversation

@afcondon

Copy link
Copy Markdown
Contributor

What

Forward-ports two dependency bounds:

  • heterogeneous >=0.6.0 <0.7.0>=0.7.0 <0.8.0
  • yoga-sql-types >=0.1.0 <0.2.0>=0.2.0 <0.3.0

Why

yoga-postgres 0.3.0 still pins the old yoga-sql-types 0.1 / heterogeneous 0.6 line, so it can't co-install with current package sets that ship yoga-sql-types 0.2 / heterogeneous 0.7.

Why it's safe

The library's entire surface on these two packages is unchanged across the bump, so no source changes are needed:

  • heterogeneous — the only use is class HFoldlWithIndex (in TypedQuery.purs). Heterogeneous.Folding is byte-identical between 0.6.0 and 0.7.0; the only change in 0.7 is an additive Heterogeneous.Variadic module.
  • yoga-sql-types — the only import is Yoga.SQL.PostgresTypes (class ToSQLParam, SQLParameter, SQLQuery, TurnIntoSQLParam, argsFor, sqlQueryToString), and both Yoga.SQL.Types and Yoga.SQL.PostgresTypes are byte-identical between 0.1.0 and 0.2.0.

Test note

Regenerating the lock also pulled yoga-test-docker 0.1.2, which newtyped ComposeFile/Timeout. I updated the two integration-test call sites in test/Main.purs to match (the 30s startup wait is now Timeout (Milliseconds 30000.0)). spago build is green for both the library and the test.

🤖 Generated with Claude Code

yoga-postgres pinned yoga-sql-types >=0.1.0 <0.2.0 (the heterogeneous 0.6
line), which prevents it co-installing with current package sets that
ship yoga-sql-types 0.2 / heterogeneous 0.7.

The consumed API surface is unchanged across the bump: yoga-postgres uses
only `class HFoldlWithIndex` from heterogeneous (byte-identical 0.6->0.7,
which is purely additive) and `Yoga.SQL.PostgresTypes` from yoga-sql-types
(byte-identical 0.1.0->0.2.0), so the library itself needs no source
changes.

Regenerating the lock also pulls yoga-test-docker 0.1.2, which newtyped
ComposeFile/Timeout; updated the two integration-test call sites to match.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@afcondon
afcondon merged commit 35e8250 into rowtype-yoga:main May 30, 2026
1 check passed
afcondon added a commit to afcondon/notothenia that referenced this pull request May 30, 2026
Establishes the continuously-built home for the type-level extension-
ladder work (migration-breaks-a-query, compile-time dead columns), which
depends on yoga and so can't live in dependency-free minard-db.

- New workspace package `minard-bridge` (bridge/) depends on yoga-postgres
  consumed from GitHub via a git extraPackage pinned to the merge commit
  of the harmonization PR (rowtype-yoga/purescript-yoga-postgres#1) — no
  registry publish needed.
- Package set 73.3.0 resolves all of yoga-postgres's transitive deps
  (heterogeneous 0.7, yoga-sql-types 0.2, ...) with zero overrides.
- bridge/src/Smoke.purs compiles a typed Q query whose explicit signature
  documents where the rung-3/4 signals live: result row = projection
  reach, params row = WHERE params typed to their columns.

minard-db itself stays yoga-dependency-free.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant