cameras/package.json
Michael Mainguy 30b1f36e1b Ship a standalone build and an onvif-dashboard start command
- next.config.ts builds standalone output with image optimization off,
  and scripts/bundle-standalone.mjs puts the static files beside the
  server, then drops what tracing swept in but the app never runs (the
  MediaMTX binary and sharp's platform binaries, 79 MB). The build is
  27 MB and npm pack is 4.9 MB.
- The CLI gained start, which runs that server from any directory with
  the remembered data folder and stored key in its environment, and
  admin, so the messages in the UI can name a command that exists.
- Messages that said "npm run …" now say "onvif-dashboard …".

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-19 19:09:13 -05:00

80 lines
2.1 KiB
JSON

{
"name": "onvif-dashboard",
"version": "0.1.0",
"description": "Web dashboard for ONVIF cameras (Hikvision, Annke): discovery, live video over WebRTC, motion recording and settings, all on your own network.",
"keywords": [
"onvif",
"hikvision",
"annke",
"ip-camera",
"cctv",
"webrtc",
"nvr",
"surveillance",
"dashboard"
],
"license": "MIT",
"author": "Michael Mainguy",
"repository": {
"type": "git",
"url": "git+https://git.dasfad.com/mmainguy/cameras.git"
},
"engines": {
"node": ">=24.0.0"
},
"files": [
".next/standalone",
".next/static",
"public",
"cli",
"src/lib/paths.ts",
"src/lib/first-run.ts",
"src/lib/mediamtx-install.ts",
"src/lib/admin-file.ts",
"scripts/create-admin.mts",
"scripts/install-mediamtx.mts",
"LICENSE",
"README.md"
],
"scripts": {
"dev": "next dev",
"build": "next build && node scripts/bundle-standalone.mjs",
"start": "next start",
"lint": "eslint",
"test": "vitest run",
"test:watch": "vitest",
"coverage": "vitest run --coverage",
"admin:create": "node --disable-warning=MODULE_TYPELESS_PACKAGE_JSON scripts/create-admin.mts",
"video:install": "node --disable-warning=MODULE_TYPELESS_PACKAGE_JSON scripts/install-mediamtx.mts"
},
"dependencies": {
"@tanstack/react-query": "^5.103.1",
"lucide-react": "^1.47.0",
"next": "16.3.5",
"onvif": "github:mikemainguy/onvif#e8c340fdf97cf4a42da23ce810b4ecdd8c93dd4b",
"react": "19.2.8",
"react-dom": "19.2.8",
"server-only": "^0.0.1",
"zod": "^4.6.5"
},
"devDependencies": {
"@tailwindcss/postcss": "^4",
"@testing-library/dom": "^10.4.2",
"@testing-library/react": "^16.3.3",
"@types/node": "^24.13.6",
"@types/react": "^19",
"@types/react-dom": "^19",
"@vitejs/plugin-react": "^6.1.1",
"@vitest/coverage-v8": "^5.0.1",
"eslint": "^9",
"eslint-config-next": "16.3.5",
"jsdom": "^29.1.1",
"tailwindcss": "^4",
"typescript": "^5",
"vitest": "^5.0.1"
},
"bin": {
"onvif-dashboard": "cli/onvif-dashboard.mjs"
}
}