Skip to content

Dependencies

Complete list of project dependencies and their purposes.

Core Dependencies

Framework

Package Version Purpose
next 16.0.9 React framework with App Router
react 19.2.1 UI library
react-dom 19.2.1 React DOM bindings

UI Components

Package Version Purpose
@mui/material 7.3.6 Material Design components
@mui/icons-material 7.3.6 Material Design icons
@emotion/react 11.14.0 CSS-in-JS for MUI
@emotion/styled 11.14.0 Styled components for Emotion

State & Utilities

Package Version Purpose
js-cookie 3.0.5 Cookie management

Build & Tooling

Monorepo

Package Version Purpose
nx 22.2.3 Monorepo build system
@nx/next 22.2.3 Nx Next.js plugin
@nx/react 22.2.3 Nx React plugin
@nx/jest 22.2.3 Nx Jest plugin
@nx/js 22.2.3 Nx JavaScript plugin
@nx/eslint 22.2.3 Nx ESLint plugin
@nx/playwright 22.2.3 Nx Playwright plugin

TypeScript

Package Version Purpose
typescript 5.9.2 TypeScript compiler
@types/node 24.10.3 Node.js type definitions
@types/react 19.0.7 React type definitions
@types/react-dom 19.0.3 React DOM type definitions
@types/jest 30.0.2 Jest type definitions

Testing

Package Version Purpose
jest 30.0.2 Testing framework
@testing-library/react 16.1.0 React testing utilities
@testing-library/jest-dom 6.6.3 Jest DOM matchers
@playwright/test 1.36.0 E2E testing
@nx/jest 22.2.3 Jest integration for Nx

Linting & Formatting

Package Version Purpose
eslint 9.18.0 JavaScript linter
@typescript-eslint/eslint-plugin 8.21.0 TypeScript ESLint rules
@typescript-eslint/parser 8.21.0 TypeScript parser for ESLint
eslint-plugin-react 7.37.3 React-specific linting
eslint-plugin-react-hooks 5.1.0 React Hooks linting
eslint-plugin-jsx-a11y 6.10.2 Accessibility linting
eslint-plugin-import 2.31.0 Import/export linting
eslint-plugin-security 3.0.1 Security linting
eslint-plugin-unicorn 56.0.1 Code quality rules

Storybook

Package Version Purpose
@storybook/react-vite 10.1.3 Storybook for React
@storybook/addon-essentials 10.1.3 Essential Storybook addons
@storybook/addon-a11y 10.1.3 Accessibility testing addon

Documentation Dependencies

MkDocs (Python)

Installed via apps/petfolio-docs/requirements.txt:

Package Version Purpose
mkdocs >=1.6.0 Static site generator
mkdocs-material >=9.5.0 Material Design theme
mike >=2.1.0 Version management
mkdocs-git-revision-date-localized-plugin >=1.3.0 Git timestamps
pymdown-extensions >=10.13.0 Markdown extensions

Development Tools

Package Management

Tool Version Purpose
npm 10.x Package manager
node 22.x JavaScript runtime

Docker

Tool Version Purpose
Docker 24.x+ Containerization
Docker Compose 2.x+ Multi-container orchestration

Version Management

Keeping Dependencies Updated

# Check outdated packages
npm outdated

# Update specific package
npm update package-name

# Update all (carefully!)
npm update

# View dependency tree
npm list

# Audit security
npm audit

Dependabot

Automated dependency updates via .github/dependabot.yml:

  • Weekly updates for npm packages
  • Grouped updates for minor/patch versions
  • Individual PRs for major versions

Dependency Graph

graph TD
    A[petfolio-business] --> B[Next.js 16]
    A --> C[React 19]
    A --> D[MUI 7]
    A --> E[ui-component-library]
    A --> F[util-global-theme]

    E --> C
    E --> D
    E --> F

    F --> D
    F --> G[Emotion]

    H[petfolio-ui-tests] --> I[Playwright]
    H -.->|tests| A

    J[petfolio-docs] --> K[MkDocs Material]

    style A fill:#4fc3f7
    style E fill:#81c784
    style F fill:#ffb74d
    style H fill:#e57373
    style J fill:#ba68c8

Breaking Changes

React 19 (19.2.1)

  • Removed defaultProps (use default parameters instead)
  • New JSX transform enabled by default
  • Automatic batching for all updates

Next.js 16 (16.0.9)

  • App Router is now stable
  • Server Components by default
  • Improved performance and caching

Material UI 7 (7.3.6)

  • Updated design tokens
  • New components and variants
  • Performance improvements

Compatibility Notes

Node.js Version

  • Required: Node.js 22.x
  • Recommended: Node.js 22 LTS

TypeScript Version

  • Current: TypeScript 5.9.2
  • Mode: Strict mode enabled
  • Target: ES2022

Browser Support

Based on Next.js and MUI defaults:

  • Chrome (last 2 versions)
  • Firefox (last 2 versions)
  • Safari (last 2 versions)
  • Edge (last 2 versions)

Security

Vulnerability Scanning

  • npm audit: Runs automatically in CI
  • Trivy: Scans Docker images for vulnerabilities
  • Dependabot: Automated security updates

Known Issues

Check for security advisories:

npm audit

# Fix automatically where possible
npm audit fix

# Force fix (may include breaking changes)
npm audit fix --force

License Information

All dependencies use permissive open-source licenses:

  • MIT: Most packages
  • Apache 2.0: Some Google packages
  • BSD: Some utilities

Check individual package licenses:

npx license-checker --summary

Next Steps