Skip to main content

Version Consistency Audit

Audit of Node.js, Next.js, React, TypeScript, and other key dependency versions across Juniro repositories

Date: January 8, 2026


Summary

Status: ⚠️ Inconsistencies Found

There are version inconsistencies across repositories that should be standardized for:

  • Easier maintenance
  • Consistent developer experience
  • Reduced compatibility issues
  • Simplified CI/CD

Current State

Node.js Versions

RepositoryNode.js VersionNotes
juniro-api>=20.0.0✅ Explicitly specified
juniro-designNot specified⚠️ Should specify
juniro-web-public>=18.0.0⚠️ Different from API
juniro-web-parentsNot specified⚠️ Should specify
juniro-web-providersNot specified⚠️ Should specify
juniro-web-admin>=18.0.0⚠️ Different from API
juniro-docs20.x✅ Explicitly specified
juniro-platform>=18.0.0⚠️ Different from API

Recommendation: Standardize on Node.js 20.x (LTS) across all repos.


Next.js Versions

RepositoryNext.js VersionNotes
juniro-design^15.1.3⚠️ Latest (15.x)
juniro-web-public^14.0.0⚠️ Older (14.x)
juniro-web-parents^14.0.0⚠️ Older (14.x)
juniro-web-providers14.2.35⚠️ Older (14.x)
juniro-web-admin^14.0.0⚠️ Older (14.x)

Issue: juniro-design is on Next.js 15.x while all web apps are on 14.x. This creates:

  • Incompatibility risks when syncing components
  • Different API behaviors (App Router, Server Components)
  • Different build outputs

Recommendation:

  • Option A: Upgrade all web apps to Next.js 15.x (recommended for consistency)
  • Option B: Downgrade juniro-design to Next.js 14.x (not recommended - loses 15.x features)

React Versions

RepositoryReact VersionNotes
juniro-design^18.3.1✅ Consistent
juniro-web-public^18.3.1✅ Consistent
juniro-web-parents^18.3.1✅ Consistent
juniro-web-providers^18.3.1✅ Consistent
juniro-web-admin^18.3.1✅ Consistent
juniro-docs^18.0.0⚠️ Slightly older (but acceptable)

Status:Mostly consistent - React 18.x across all repos.


TypeScript Versions

RepositoryTypeScript VersionNotes
juniro-api^5.7.2✅ Latest
juniro-designNot in dependencies⚠️ Check devDependencies
juniro-web-public^5.9.2✅ Latest
juniro-web-parents^5.9.2✅ Latest
juniro-web-providers^5.9.2✅ Latest
juniro-web-admin^5.9.2✅ Latest

Status:Consistent - TypeScript 5.x across all repos.


Other Key Dependencies

Zod Versions

  • juniro-api: ^3.24.1 (Zod 3.x)
  • juniro-web-public: ^4.0.16 (Zod 4.x) ⚠️ Incompatible
  • juniro-web-parents: ^4.0.16 (Zod 4.x) ⚠️ Incompatible
  • juniro-web-providers: ^4.0.16 (Zod 4.x) ⚠️ Incompatible
  • juniro-web-admin: ^4.0.16 (Zod 4.x) ⚠️ Incompatible

Issue: Zod 3.x and 4.x have breaking changes. This affects:

  • Shared validation schemas
  • API request/response validation
  • Type compatibility

Recommendation: Standardize on Zod 3.x (API uses 3.x) or upgrade API to 4.x.


Core Versions

DependencyRecommended VersionRationale
Node.js>=20.0.0LTS, modern features, better performance
Next.js^15.1.3Latest stable, App Router improvements
React^18.3.1Stable, widely used
TypeScript^5.9.2Latest stable, better type inference
Zod^3.24.1Stable, API compatibility

Package Manager

RepositoryPackage ManagerNotes
juniro-apinpm✅ Standard
juniro-designbun⚠️ Different
juniro-web-publicnpm✅ Standard
juniro-web-parentsnpm✅ Standard
juniro-web-providersnpm✅ Standard
juniro-web-adminnpm✅ Standard
juniro-docsbun⚠️ Different

Recommendation: Standardize on npm for consistency, or document bun usage clearly.


Action Items

High Priority

  1. Standardize Node.js version

    • Add "engines": { "node": ">=20.0.0" } to all repos
    • Update CI/CD workflows to use Node.js 20
  2. Resolve Next.js version mismatch

    • Upgrade all web apps to Next.js 15.x, OR
    • Document the version difference and compatibility strategy
  3. Resolve Zod version mismatch

    • Standardize on Zod 3.x (downgrade web apps), OR
    • Upgrade API to Zod 4.x (requires testing)

Medium Priority

  1. Standardize package manager

    • Document bun usage (if intentional), OR
    • Migrate to npm for consistency
  2. Add version checks to CI/CD

    • Verify Node.js version in CI
    • Check for version drift in PRs

Implementation Strategy

Phase 1: Document Current State

  • ✅ This audit document
  • Update CLAUDE.md files with version requirements

Phase 2: Standardize Node.js

  • Add engines field to all package.json files
  • Update CI/CD workflows
  • Update documentation

Phase 3: Resolve Next.js Mismatch

  • Test Next.js 15.x compatibility
  • Upgrade web apps OR document strategy

Phase 4: Resolve Zod Mismatch

  • Test compatibility
  • Standardize version
  • Update shared schemas


Last Updated: January 8, 2026