* chore: harden npm supply chain — pin overrides, enforce npm ci, add ignore-scripts Replace open-ended >= version overrides with exact pins matching lockfile versions across all 6 package.json files. Remove dead overrides for packages not present in lockfiles. Switch CI and devcontainer from npm install to npm ci for deterministic lockfile-based installs. Add .npmrc to all 7 JS project directories with ignore-scripts=true (blocks postinstall RAT vectors like the axios@1.14.1 supply chain attack) and min-release-age=3d (refuses packages published <3 days ago, requires npm >=11.10). Remove Yarn-only resolutions field from docs/my-website. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: bump sharp to 0.33.5 in docs, add docs .npmrc sharp 0.32.x uses postinstall to download native binaries, which breaks with ignore-scripts=true. sharp 0.33+ distributes via optionalDependencies instead, making it compatible with the new .npmrc hardening. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: remove docs .npmrc to fix Vercel deploy Vercel's build for docs/my-website uses npm install which needs sharp 0.32.6's postinstall script. Since we don't control Vercel's build process, remove the .npmrc from docs rather than fight it. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: Dockerfile npm ci + nvm checksum verification - Replace npm install with npm ci in Dockerfile.non_root, Dockerfile.custom_ui, and spend-logs/Dockerfile for deterministic lockfile-based installs - Replace curl-pipe-bash nvm install with download-then-verify pattern in build_admin_ui.sh, build_ui.sh, and build_ui_custom_path.sh - Update nvm from v0.38.0 (2021) to v0.40.4 (Jan 2026) with SHA256 checksum verification before execution Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: macOS sha256sum compat + clarify min-release-age scope - Use shasum -a 256 fallback on macOS where sha256sum is unavailable - Clarify in .npmrc comments that min-release-age only protects local npm install, not npm ci (used in CI) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
99 lines
2.8 KiB
JSON
99 lines
2.8 KiB
JSON
{
|
|
"name": "litellm-dashboard",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"dev:webpack": "next dev --webpack",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "next lint",
|
|
"test": "vitest",
|
|
"test:dot": "vitest --reporter=dot",
|
|
"test:watch": "vitest -w",
|
|
"test:coverage": "vitest run --coverage",
|
|
"format": "prettier --write .",
|
|
"format:check": "prettier --check .",
|
|
"e2e": "playwright test --config e2e_tests/playwright.config.ts",
|
|
"e2e:ui": "playwright test --ui --config e2e_tests/playwright.config.ts",
|
|
"knip": "knip",
|
|
"knip:fix": "knip --fix"
|
|
},
|
|
"dependencies": {
|
|
"@anthropic-ai/sdk": "^0.54.0",
|
|
"@headlessui/tailwindcss": "^0.2.0",
|
|
"@heroicons/react": "^1.0.6",
|
|
"@remixicon/react": "^4.1.1",
|
|
"@tanstack/react-pacer": "^0.2.0",
|
|
"@tanstack/react-query": "^5.64.1",
|
|
"@tanstack/react-table": "^8.20.6",
|
|
"@tremor/react": "^3.13.3",
|
|
"@types/papaparse": "^5.3.15",
|
|
"antd": "^5.13.2",
|
|
"cva": "^1.0.0-beta.3",
|
|
"dayjs": "^1.11.19",
|
|
"jwt-decode": "^4.0.0",
|
|
"lucide-react": "^0.513.0",
|
|
"moment": "^2.30.1",
|
|
"next": "^16.1.7",
|
|
"openai": "^4.93.0",
|
|
"papaparse": "^5.5.2",
|
|
"react": "^18.3.1",
|
|
"react-copy-to-clipboard": "^5.1.0",
|
|
"react-dom": "^18.3.1",
|
|
"react-json-view-lite": "^2.5.0",
|
|
"react-markdown": "^9.0.1",
|
|
"react-syntax-highlighter": "^15.6.6",
|
|
"remark-gfm": "^4.0.1",
|
|
"tailwind-merge": "^3.2.0",
|
|
"uuid": "^11.1.0"
|
|
},
|
|
"devDependencies": {
|
|
"@neondatabase/api-client": "^2.6.0",
|
|
"@playwright/test": "^1.57.0",
|
|
"@tailwindcss/forms": "^0.5.7",
|
|
"@testing-library/dom": "^10.4.1",
|
|
"@testing-library/jest-dom": "^6.8.0",
|
|
"@testing-library/react": "^16.3.0",
|
|
"@testing-library/user-event": "^14.6.1",
|
|
"@types/babel__traverse": "^7.28.0",
|
|
"@types/lodash": "^4.17.15",
|
|
"@types/node": "20.19.37",
|
|
"@types/react": "18.2.48",
|
|
"@types/react-copy-to-clipboard": "^5.0.7",
|
|
"@types/react-dom": "^18",
|
|
"@types/react-syntax-highlighter": "^15.5.11",
|
|
"@types/uuid": "^10.0.0",
|
|
"@vitest/coverage-v8": "^3.2.4",
|
|
"@vitest/ui": "^3.2.4",
|
|
"autoprefixer": "^10.4.17",
|
|
"dotenv": "^17.2.3",
|
|
"eslint": "^9.39.2",
|
|
"eslint-config-next": "15.5.10",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"eslint-plugin-unused-imports": "^4.2.0",
|
|
"jsdom": "^27.0.0",
|
|
"knip": "^5.83.1",
|
|
"postcss": "^8.4.33",
|
|
"prettier": "3.2.5",
|
|
"tailwindcss": "^3.4.1",
|
|
"typescript": "5.9.3",
|
|
"vite": "^7.1.11",
|
|
"vitest": "^3.2.4"
|
|
},
|
|
"overrides": {
|
|
"prismjs": "1.30.0",
|
|
"js-yaml": "4.1.1",
|
|
"glob": "13.0.0",
|
|
"minimatch": "10.2.4",
|
|
"lodash": "4.17.23",
|
|
"ws": "8.19.0",
|
|
"braces": "3.0.3",
|
|
"axios": "1.13.6"
|
|
},
|
|
"engines": {
|
|
"node": ">=18.17.0",
|
|
"npm": ">=8.3.0"
|
|
}
|
|
}
|