diff --git a/CHANGELOG.md b/CHANGELOG.md index 94105a0..836dda2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,18 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [Unreleased] +### Fixed + +- `apps/playground` was pinned to `@behindthemusictree/genre-tree-view@0.4.0` directly, independent + of `packages/app-kit`'s own `0.5.0` dependency, so the playground rendered `0.5.0`'s + `GenreTreeWheel`/`GenreTree` markup (new absolutely-positioned pan/zoom stage) styled with + `0.4.0`'s CSS (no clipping/positioning rules for it), producing an overlapping, unclipped wheel + and tree. Fixed by introducing a pnpm `catalog:` entry in `pnpm-workspace.yaml` for + `@behindthemusictree/genre-tree-view`, `@behindthemusictree/ui`, and `@behindthemusictree/brand`, + and switching both `packages/app-kit` and `apps/playground` to reference `"catalog:"` instead of + hardcoding each version separately — a single source of truth per dependency, so this class of + drift can't recur. + ## [1.0.1] - 2026-08-14 ### Changed diff --git a/apps/playground/package.json b/apps/playground/package.json index c4fe8fc..6727c56 100644 --- a/apps/playground/package.json +++ b/apps/playground/package.json @@ -10,8 +10,8 @@ }, "dependencies": { "@behindthemusictree/app-kit": "workspace:*", - "@behindthemusictree/genre-tree-view": "0.4.0", - "@behindthemusictree/ui": "^0.1.0", + "@behindthemusictree/genre-tree-view": "catalog:", + "@behindthemusictree/ui": "catalog:", "@tanstack/react-query": "^5.72.2", "react": "^18.2.0", "react-dom": "^18.2.0" diff --git a/packages/app-kit/package.json b/packages/app-kit/package.json index f22c704..1bb8b74 100644 --- a/packages/app-kit/package.json +++ b/packages/app-kit/package.json @@ -61,9 +61,9 @@ "react-dom": ">=18.0.0" }, "dependencies": { - "@behindthemusictree/brand": "12.0.0", - "@behindthemusictree/genre-tree-view": "0.5.0", - "@behindthemusictree/ui": "^0.1.0", + "@behindthemusictree/brand": "catalog:", + "@behindthemusictree/genre-tree-view": "catalog:", + "@behindthemusictree/ui": "catalog:", "clsx": "^2.1.1", "lucide-react": "^0.487.0", "react-icons": "^5.5.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4911307..0a58797 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,18 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +catalogs: + default: + '@behindthemusictree/brand': + specifier: 12.0.0 + version: 12.0.0 + '@behindthemusictree/genre-tree-view': + specifier: 0.5.0 + version: 0.5.0 + '@behindthemusictree/ui': + specifier: ^0.1.0 + version: 0.1.0 + importers: .: @@ -18,10 +30,10 @@ importers: specifier: workspace:* version: link:../../packages/app-kit '@behindthemusictree/genre-tree-view': - specifier: 0.4.0 - version: 0.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 'catalog:' + version: 0.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@behindthemusictree/ui': - specifier: ^0.1.0 + specifier: 'catalog:' version: 0.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-query': specifier: ^5.72.2 @@ -61,13 +73,13 @@ importers: packages/app-kit: dependencies: '@behindthemusictree/brand': - specifier: 12.0.0 + specifier: 'catalog:' version: 12.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@behindthemusictree/genre-tree-view': - specifier: 0.5.0 + specifier: 'catalog:' version: 0.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@behindthemusictree/ui': - specifier: ^0.1.0 + specifier: 'catalog:' version: 0.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) clsx: specifier: ^2.1.1 @@ -252,12 +264,6 @@ packages: react: '>=18.0.0' react-dom: '>=18.0.0' - '@behindthemusictree/genre-tree-view@0.4.0': - resolution: {integrity: sha512-Hjwq3F35kMhl9LrQhmRuwAsIPmmGXIpv8m4r9M4auU+aZtDDKSx3BNYqZfJGPotiGEH/MZsIHdmAxy50OsUwhg==, tarball: https://npm.pkg.github.com/download/@behindthemusictree/genre-tree-view/0.4.0/d881c1965198cc173b8d24e2879c3da85517acd6} - peerDependencies: - react: '>=18.0.0' - react-dom: '>=18.0.0' - '@behindthemusictree/genre-tree-view@0.5.0': resolution: {integrity: sha512-qexIrWvmsTBPAbgSnQJFkpwqrGsRhREeKzhOo8Vj05ZBSJfSro6cog+PjBFj8tUyqvCla6KxS7DMa292Zv8qhQ==, tarball: https://npm.pkg.github.com/download/@behindthemusictree/genre-tree-view/0.5.0/a30f12e4af49b59021612ae10f02846f435c2582} peerDependencies: @@ -2510,13 +2516,6 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@behindthemusictree/genre-tree-view@0.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - d3: 7.9.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-icons: 5.7.0(react@18.3.1) - '@behindthemusictree/genre-tree-view@0.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: d3: 7.9.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 3a4feb6..0c94ae2 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -2,6 +2,11 @@ packages: - "packages/*" - "apps/*" +catalog: + "@behindthemusictree/brand": 12.0.0 + "@behindthemusictree/genre-tree-view": 0.5.0 + "@behindthemusictree/ui": ^0.1.0 + allowBuilds: esbuild: true sharp: false