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