Skip to main content

Version Standards

Standardized dependency versions across all Juniro repositories

Last Updated: January 8, 2026


Overview

This document defines the standardized dependency versions used across all Juniro repositories. All repositories must adhere to these standards to ensure consistency, compatibility, and maintainability.


Core Versions

DependencyStandard 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

Node.js

Standard: >=20.0.0

Required in:

  • package.json engines field
  • GitHub Actions workflows
  • CI/CD pipelines
  • Local development (use .nvmrc if present)

Rationale:

  • Node.js 20 is the current LTS version
  • Better performance and security
  • Modern JavaScript features
  • Better TypeScript support

Next.js

Standard: ^15.1.3

Required in:

  • All frontend repositories
  • Design system (juniro-design)
  • All web applications

Rationale:

  • Latest stable version
  • Improved App Router
  • Better Server Components support
  • Performance improvements

Repositories:

  • juniro-design
  • juniro-web-public
  • juniro-web-parents
  • juniro-web-providers
  • juniro-web-admin
  • juniro-web-launch
  • juniro-platform

React

Standard: ^18.3.1

Required in:

  • All frontend repositories
  • Design system

Rationale:

  • Stable and widely adopted
  • Good TypeScript support
  • Compatible with Next.js 15

TypeScript

Standard: ^5.9.2

Required in:

  • All TypeScript repositories

Rationale:

  • Latest stable version
  • Better type inference
  • Improved performance
  • Better error messages

Zod

Standard: ^3.24.1

Required in:

  • All repositories using Zod
  • API (juniro-api)
  • All web applications

Rationale:

  • API uses Zod 3.x
  • Shared schemas compatibility
  • Stable and well-tested

Note: All repositories must use Zod 3.x to ensure compatibility with shared validation schemas.


Package Manager

npm

Standard: >=9.0.0

Used in:

  • juniro-api
  • juniro-web-public
  • juniro-web-parents
  • juniro-web-providers
  • juniro-web-admin
  • juniro-platform

bun

Used in:

  • juniro-design
  • juniro-docs

Note: Package manager choice is repository-specific. Use the package manager specified in the repository's package.json or packageManager field.


CI/CD Requirements

GitHub Actions

All workflows must use:

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm' # or 'bun' for bun repos

Vercel

Vercel automatically detects Node.js version from package.json engines field. Ensure "node": ">=20.0.0" is specified.


Version Updates

Process

  1. Audit: Run version consistency audit
  2. Plan: Create standardization plan
  3. Update: Update all repositories
  4. Test: Verify builds pass
  5. Document: Update this document

Frequency

  • Major versions: Quarterly review
  • Minor versions: Monthly review
  • Security updates: Immediate

Checking Versions

Local Check

# Check Node.js version
node --version

# Check package.json engines
grep -A1 '"engines"' package.json

# Check installed versions
npm list next react typescript zod

CI/CD Check

All workflows should verify Node.js version matches package.json engines field.


Exceptions

Exceptions to these standards must be:

  1. Documented in repository's CLAUDE.md
  2. Justified with technical rationale
  3. Reviewed and approved
  4. Added to this document's exceptions section


Last Updated: January 8, 2026