punimtag/package.json
ilia 0a9223c943
All checks were successful
CI / skip-ci-check (pull_request) Successful in 4s
CI / docker-ci (pull_request) Successful in 5s
CI / secret-scan (pull_request) Successful in 10s
CI / e2e (pull_request) Successful in 46s
test: add Playwright e2e smoke suite for punimtag dev
Add an e2e/ Playwright harness (via @levkin/playkit) that smoke-tests
the public DEV host: login page loads, sign-out never redirects to a
LAN host, FastAPI /health responds, and forgot-password mail lands in
Mailtrap with a public reset link (Kolby #56/#57 regressions).

Wire it into Gitea Actions as a new `e2e` job (self-hosted runner,
Chromium via Playwright), gated behind the existing skip-ci-check.
Add npm root scripts (install:e2e, test:e2e) and gitignore e2e build
artifacts (node_modules, reports, .env).
2026-07-14 17:11:38 -04:00

35 lines
2.1 KiB
JSON

{
"name": "punimtag-monorepo",
"version": "1.0.0",
"private": true,
"description": "PunimTag monorepo - Photo management with facial recognition",
"scripts": {
"install:all": "npm install --prefix admin-frontend && npm install --prefix viewer-frontend",
"dev:admin": "npm run dev --prefix admin-frontend",
"dev:viewer": "npm run dev --prefix viewer-frontend",
"dev:backend": "source venv/bin/activate && export PYTHONPATH=$(pwd) && uvicorn backend.app:app --host 127.0.0.1 --port 8000",
"dev:all": "./start_all.sh",
"build:admin": "npm run build --prefix admin-frontend",
"build:viewer": "npm run build --prefix viewer-frontend",
"build:all": "npm run build:admin && npm run build:viewer",
"lint:admin": "npm run lint --prefix admin-frontend",
"lint:viewer": "npm run lint --prefix viewer-frontend",
"lint:all": "npm run lint:admin && npm run lint:viewer",
"type-check:viewer": "npm run type-check --prefix viewer-frontend",
"lint:python": "flake8 backend --max-line-length=100 --ignore=E501,W503,W293,E305,F401,F811,W291,W391,E712,W504,F841,E402,F824,E128,E226,F402,F541,E302,E117,E722 || true",
"lint:python:syntax": "find backend -name '*.py' -exec python -m py_compile {} \\;",
"test:backend": "export PYTHONPATH=$(pwd) && export SKIP_DEEPFACE_IN_TESTS=1 && ./venv/bin/python3 -m pytest tests/ -v",
"test:e2e": "npm test --prefix e2e",
"test:all": "npm run test:backend",
"install:e2e": "npm install --prefix e2e",
"ci:local": "npm run lint:all && npm run type-check:viewer && npm run lint:python && npm run test:backend && npm run build:all",
"deploy:dev": "npm run build:all && echo '✅ Build complete. Ready for deployment to dev server (10.0.10.121)'",
"deploy:dev:prepare": "npm run build:all && mkdir -p deploy/package && cp -r backend deploy/package/ && cp -r admin-frontend/dist deploy/package/admin-frontend-dist && cp -r viewer-frontend/.next deploy/package/viewer-frontend-next && cp requirements.txt deploy/package/ && cp .env.example deploy/package/ && echo '✅ Deployment package prepared in deploy/package/'"
},
"engines": {
"node": ">=18.0.0",
"npm": ">=9.0.0"
}
}