mirror of
https://github.com/LibreChat-AI/librechat.ai.git
synced 2026-03-27 02:38:32 +07:00
Patch fumadocs-ui to fix accessibility issues reported by amberhinds, plus additional issues found via WCAG 2.1 audit: Reported issues: - #513: Add aria-label to docs navigation toggle button - #514: Add aria-haspopup="dialog" and aria-label to search buttons - #515: Fix close search button accessible name to include visible text - #516: Add role="status" live region for screen reader search announcements - #517: Change search suggestions from <button> to <a> links with role="option" - #518: Add nav landmarks for sidebar, breadcrumbs, TOC, and pagination Additional fixes found via audit: - Theme toggle button: add aria-label="Toggle theme" (WCAG 4.1.2) - Sidebar <aside>: add aria-label="Docs sidebar" (WCAG 4.1.2) - Collapse sidebar button: dynamic label based on state (WCAG 4.1.2) - Heading anchor link icons: add peer-focus-visible:opacity-100 (WCAG 2.4.7) - Breadcrumbs: use <ol>/<li> structure, aria-hidden on separator SVGs (WCAG 1.3.1) - Feedback textarea: add aria-label (WCAG 4.1.2) Closes #513 Closes #514 Closes #515 Closes #516 Closes #517 Closes #518
124 lines
3.6 KiB
JSON
124 lines
3.6 KiB
JSON
{
|
|
"name": "librechat.ai",
|
|
"version": "1.0.0",
|
|
"description": "librechat.ai",
|
|
"packageManager": "pnpm@9.5.0",
|
|
"scripts": {
|
|
"dev": "next dev --webpack -p 3333",
|
|
"build": "next build --webpack",
|
|
"postbuild": "node scripts/clean-cache.ts",
|
|
"start": "next start -p 3333",
|
|
"analyze": "cross-env ANALYZE=true next build",
|
|
"lint": "eslint --cache --max-warnings 0 .",
|
|
"lint:prettier": "prettier --cache --check --ignore-path .gitignore --ignore-path .prettierignore .",
|
|
"prettier": "bun run lint:prettier --write",
|
|
"prepare": "husky"
|
|
},
|
|
"homepage": "https://www.librechat.ai",
|
|
"dependencies": {
|
|
"@glidejs/glide": "^3.6.0",
|
|
"@hookform/resolvers": "^3.3.4",
|
|
"@mdx-js/loader": "^3.1.1",
|
|
"@mdx-js/react": "^3.1.1",
|
|
"@radix-ui/react-accordion": "^1.1.2",
|
|
"@radix-ui/react-avatar": "^1.0.4",
|
|
"@radix-ui/react-dialog": "^1.0.5",
|
|
"@radix-ui/react-dropdown-menu": "^2.0.6",
|
|
"@radix-ui/react-label": "^2.0.2",
|
|
"@radix-ui/react-popover": "^1.1.15",
|
|
"@radix-ui/react-select": "^2.0.0",
|
|
"@radix-ui/react-separator": "^1.0.3",
|
|
"@radix-ui/react-slot": "^1.0.2",
|
|
"@radix-ui/react-tabs": "^1.0.4",
|
|
"@supabase/supabase-js": "^2.86.2",
|
|
"@vercel/analytics": "^1.2.2",
|
|
"@vercel/og": "^0.6.2",
|
|
"@vercel/speed-insights": "^1.0.10",
|
|
"@vidstack/react": "^0.6.15",
|
|
"ace-builds": "^1.43.5",
|
|
"ajv": "^8.18.0",
|
|
"class-variance-authority": "^0.7.0",
|
|
"clsx": "^2.1.1",
|
|
"framer-motion": "^11.1.9",
|
|
"fumadocs-core": "14.7.7",
|
|
"fumadocs-mdx": "11.10.1",
|
|
"fumadocs-ui": "14.7.7",
|
|
"geist": "^1.3.1",
|
|
"js-yaml": "^4.1.0",
|
|
"lucide-react": "^0.378.0",
|
|
"next": "^15.5.10",
|
|
"next-sitemap": "^4.2.3",
|
|
"posthog-js": "^1.131.4",
|
|
"react": "^18.3.1",
|
|
"react-ace": "^11.0.1",
|
|
"react-dom": "^18.3.1",
|
|
"react-hook-form": "^7.51.4",
|
|
"react-hot-toast": "^2.4.1",
|
|
"react-social-icons": "^6.16.0",
|
|
"react-tweet": "^3.2.1",
|
|
"remark-gfm": "^4.0.0",
|
|
"sharp": "^0.33.3",
|
|
"tailwind-merge": "^2.3.0",
|
|
"tailwindcss": "^3.4.0",
|
|
"tailwindcss-animate": "^1.0.7",
|
|
"validator": "^13.15.23",
|
|
"zod": "^4.3.6"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/compat": "^1",
|
|
"@eslint/js": "^9",
|
|
"@next/bundle-analyzer": "^15.1.4",
|
|
"@next/eslint-plugin-next": "^15",
|
|
"@playwright/test": "^1.58.2",
|
|
"@types/mdx": "^2.0.13",
|
|
"@types/node": "18.16.0",
|
|
"@types/react": "^18.3.12",
|
|
"autoprefixer": "^10.4.19",
|
|
"cross-env": "^7.0.3",
|
|
"eslint": "^9",
|
|
"eslint-config-prettier": "^9.1.0",
|
|
"eslint-plugin-import": "^2",
|
|
"eslint-plugin-react": "^7.34.1",
|
|
"eslint-plugin-react-hooks": "^5",
|
|
"eslint-plugin-tailwindcss": "^3.18.2",
|
|
"eslint-plugin-unicorn": "^56",
|
|
"globals": "^15",
|
|
"husky": "^9.0.11",
|
|
"lint-staged": "^16.2.7",
|
|
"playwright": "^1.58.2",
|
|
"postcss": "^8.4.38",
|
|
"prettier": "^3.2.5",
|
|
"typescript": "^5.4.5",
|
|
"typescript-eslint": "^8",
|
|
"webpack": "^5.104.1"
|
|
},
|
|
"optionalDependencies": {
|
|
"crisp-sdk-web": "^1.0.25"
|
|
},
|
|
"pnpm": {
|
|
"overrides": {
|
|
"next": ">=15.5.10",
|
|
"preact": ">=10.28.2",
|
|
"webpack": ">=5.104.1",
|
|
"diff": ">=5.2.2",
|
|
"minimatch": ">=3.1.4",
|
|
"serialize-javascript": ">=7.0.3"
|
|
},
|
|
"patchedDependencies": {
|
|
"fumadocs-ui@14.7.7": "patches/fumadocs-ui@14.7.7.patch"
|
|
}
|
|
},
|
|
"nextBundleAnalysis": {
|
|
"budget": 358400,
|
|
"budgetPercentIncreaseRed": 20,
|
|
"minimumChangeThreshold": 50,
|
|
"showDetails": true
|
|
},
|
|
"lint-staged": {
|
|
"*.{ts,tsx,js,jsx}": [
|
|
"prettier --write",
|
|
"cross-env ESLINT_USE_FLAT_CONFIG=false eslint --fix"
|
|
]
|
|
}
|
|
}
|