Back to browse
GitHub Repository

TypeScript JSON migration tool with Zod schema validation

15 starsTypeScript

JSON-up – Like database migrations, but for JSON

by mrspence·Feb 25, 2026·1 point·0 comments

AI Analysis

●●SolidSolve My ProblemShip It

Type-safe JSON migrations inspired by database patterns—clean API but crowded space.

Strengths
  • Type-safe builder API with Zod integration means compiler catches version mismatches early, reducing runtime errors.
  • Fluent chain design mirrors familiar database migration patterns, lowering cognitive load for teams already using Prisma or Liquibase.
  • Zero runtime dependencies (Zod as peer) keeps bundle small for mobile and local-first apps.
Weaknesses
  • Solves a niche problem—most apps either accept occasional breakage or use database migrations; pure JSON versioning is mid-tier pain.
  • No differentiator from alternatives like migrate-mongo or custom upgrade logic; the pattern is well-established, execution is competent but expected.
Target Audience

Mobile app developers, Electron/local-storage apps, config-file maintainers

Similar To

Prisma migrations · Liquibase · Flyway

Post Description

When you store JSON locally - app data, config files, browser storage - the schema inevitably changes between versions.

New fields get added, old ones get renamed, formats evolve. Without a migration system, you end up with brittle ad-hoc upgrade code or broken user data.

I built json-up, a small TypeScript library that lets you define a chain of versioned migrations that transform JSON data step by step. It's type-safe, so the compiler catches mismatches between versions.

Originally, I needed this for upgrading local app data between mobile app releases for Whisper, but it works for anything where JSON schemas drift over time. Happy to hear what you think.

---

json-up: https://github.com/Nano-Collective/json-up Whisper: https://usewhisper.org

Similar Projects