OUI_XFAB documentation

Dependency Handbook

Authority and maintenance

This handbook owns the purpose, maintenance owner, declared range, resolved version, compatibility constraints, and audit policy/status for every direct package in package.json.

Update the relevant row whenever package.json or package-lock.json changes. The owner column identifies the repository area responsible for compatibility review.

The focused UI libraries and versions inventory compares every current UI runtime, integration, styling, and verification package with npm's latest tag as of 23 August 2026.

Runtime baseline

Runtime dependencies

Package Kind Declared range Resolved version Purpose Owner Official documentation
@mdi/font runtime ^7.4.47 7.4.47 Material Design Icons font used by the UI icon classes src/main.ts and UI component owners Material Design Icons
pinia runtime ^4.0.2 4.0.3 Application and feature state management src/app/bootstrap/pinia.ts and owning stores Pinia
vue runtime ^3.5.30 3.5.41 Application framework and single-file component runtime src/main.ts, app bootstrap, and all UI owners Vue
vue-router runtime ^5.0.4 5.2.0 Route definitions, navigation, and lazy page composition src/router/ Vue Router
vuetify runtime ^4.1.10 4.1.10 Material Design component library src/main.ts, src/shared/ui/vuetify.ts, and UI component owners Vuetify

Development dependencies

Package Kind Declared range Resolved version Purpose Owner Official documentation
@11ty/eleventy development ^3.1.6 3.1.6 Static documentation site generation .eleventy.js and docs/ Eleventy
@playwright/test development ^1.62.0 1.62.1 Production-preview browser verification tests/e2e/ and playwright.config.ts Playwright Test
@types/node development ^24.12.0 24.13.3 Node API types aligned with Node 24 LTS TypeScript configuration and Node scripts DefinitelyTyped Node
@typescript-eslint/eslint-plugin development ^8.32.0 8.67.0 TypeScript lint rules eslint.config.js typescript-eslint
@typescript-eslint/parser development ^8.32.0 8.67.0 TypeScript parser for ESLint eslint.config.js typescript-eslint parser
@vitejs/plugin-vue development ^6.0.5 6.0.8 Vue single-file component compilation in Vite vite.config.ts and vitest.config.ts Vite Vue plugin
@vitest/coverage-v8 development ^4.1.4 4.1.11 V8 coverage collection and threshold enforcement vitest.config.ts Vitest coverage
@vue/test-utils development ^2.4.6 2.4.11 Vue component mounting and interaction tests Co-located Vue component tests Vue Test Utils
autoprefixer development ^10.4.27 10.5.4 CSS vendor prefixing postcss.config.js Autoprefixer
eslint development ^10.0.3 10.8.1 Source and architecture lint enforcement eslint.config.js and architecture tests ESLint
eslint-config-prettier development ^10.1.8 10.1.8 Disables ESLint rules that conflict with Prettier eslint.config.js eslint-config-prettier
eslint-plugin-vue development ^10.8.0 10.10.0 Vue template and script lint rules eslint.config.js eslint-plugin-vue
jsdom development ^30.0.0 30.0.1 Browser-like DOM environment for Vitest vitest.config.ts and component tests jsdom
postcss development ^8.5.22 8.5.26 CSS transformation pipeline postcss.config.js PostCSS
postcss-selector-parser development ^7.1.1 7.1.5 Architecture and style-selector validation src/architecture/ Selector parser
prettier development ^3.8.1 3.9.6 Repository formatting Root formatting configuration and scripts Prettier
sass-embedded development ^1.98.0 1.102.0 SCSS compilation through the embedded Sass protocol Vite CSS pipeline and stylesheet owners Dart Sass
terser development ^5.46.1 5.50.0 Production JavaScript minification vite.config.ts Terser
typescript development 6.0.3 6.0.3 TypeScript 6 compiler tsconfig.json and all TypeScript owners TypeScript
vite development ^8.0.1 8.2.1 Development server and production build vite.config.ts Vite
vite-plugin-vuetify development ^2.1.3 2.1.3 Vuetify component transformation and auto-import support vite.config.ts Vuetify plugin
vitest development ^4.1.0 4.1.11 Unit, integration, architecture, and release tests vitest.config.ts and all test owners Vitest
vue-eslint-parser development ^10.4.0 10.4.1 Vue template and script parsing for ESLint eslint.config.js vue-eslint-parser
vue-tsc development ^3.2.6 3.3.10 Strict Vue and TypeScript type checking tsconfig.json and npm run type-check vue-tsc
wrangler development ^4.124.0 4.124.0 Authenticated Cloudflare Pages documentation deployment docs:deploy package script Wrangler

Transitive dependency inspection

Do not copy the transitive package list into documentation. Inspect the authoritative lockfile graph with:

npm ls --all
npm explain <package>
npm outdated
npm audit
npm audit --omit=dev

Use npm ci to prove that a lockfile change installs reproducibly before committing it.

Upgrade cohorts and compatibility constraints

Audit status

There are currently no accepted audit exceptions. Both npm audit --omit=dev and the full npm audit must report zero vulnerabilities. Do not use npm audit fix --force; apply compatible lockfile updates deliberately and verify them with npm ci and the repository gates.

Update workflow

  1. Change one dependency cohort at a time.
  2. Regenerate package-lock.json with the validated Node 24/npm 11 toolchain.
  3. Update the affected handbook rows and compatibility notes.
  4. Run npm run validate:dependencies.
  5. Run focused tests for the affected owner, followed by lint, strict type-check, coverage, production build, and browser verification required by AGENTS.md.
  6. Run npm audit --omit=dev and npm audit; never force-fix a breaking downgrade.
  7. Commit each verified cohort independently so it can be reverted without disturbing later work.