{
  "name": "opengroupware",
  "version": "0.1.0",
  "description": "Simple project-based groupware built with Next.js 15, TypeScript, and SQLite",
  "type": "module",
  "scripts": {
    "prepare": "husky",
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "eslint .",
    "format": "prettier --write .",
    "typecheck": "tsc --noEmit",
    "test": "vitest run",
    "test:watch": "vitest",
    "test:e2e": "playwright test",
    "test:e2e:ui": "playwright test --ui",
    "test:coverage": "vitest run --coverage",
    "migrate": "tsx lib/db/run-migrations.ts",
    "seed": "tsx scripts/seed-demo.ts"
  },
  "keywords": [
    "groupware",
    "nextjs",
    "sqlite"
  ],
  "author": "Ken Yasue",
  "license": "MIT",
  "dependencies": {
    "bcrypt": "^5.1.1",
    "better-sqlite3": "^11.3.0",
    "fflate": "^0.8.3",
    "next": "^15.1.0",
    "react": "^19.0.0",
    "react-dom": "^19.0.0",
    "react-markdown": "^9.0.1",
    "rehype-sanitize": "^6.0.0",
    "remark-gfm": "^4.0.0"
  },
  "devDependencies": {
    "@playwright/test": "^1.49.0",
    "@types/bcrypt": "^5.0.2",
    "@types/better-sqlite3": "^7.6.11",
    "@types/node": "^20.11.0",
    "@types/react": "^19.0.0",
    "@types/react-dom": "^19.0.0",
    "@vitest/coverage-v8": "^2.0.0",
    "@vitest/ui": "^2.0.0",
    "autoprefixer": "^10.4.20",
    "eslint": "^9.0.0",
    "eslint-config-next": "^15.1.0",
    "eslint-config-prettier": "^9.1.0",
    "husky": "^9.0.0",
    "lint-staged": "^15.2.0",
    "postcss": "^8.4.49",
    "prettier": "^3.2.0",
    "tailwindcss": "^3.4.15",
    "tsx": "^4.19.2",
    "typescript": "~5.3.0",
    "typescript-eslint": "^8.0.0",
    "vitest": "^2.0.0"
  },
  "lint-staged": {
    "*.{ts,tsx}": [
      "eslint --fix",
      "prettier --write"
    ]
  }
}
