{
  "name": "neotypa-booktabs",
  "version": "0.0.1",
  "description": "Self-hosted bookmark manager with tabbed and hierarchical views",
  "license": "Elastic-2.0",
  "private": true,
  "type": "module",
  "workspaces": [
    "src/shared"
  ],
  "scripts": {
    "clean": "node scripts/clean.mjs",
    "dev": "concurrently -n server,client -c blue,green \"npm:dev:server\" \"npm:dev:client\"",
    "dev:server": "tsx watch src/server/index.ts",
    "dev:client": "node scripts/dev-client.mjs",
    "build": "npm run build:client && npm run build:server",
    "build:client": "node scripts/build-client.mjs",
    "build:server": "tsc -b",
    "start": "node dist/server/index.js",
    "test": "vitest run",
    "migrate:passwords": "node scripts/migrate-passwords.mjs"
  },
  "dependencies": {
    "bcrypt": "^6.0.0",
    "cookie": "^1.0.2",
    "mime": "^4.1.0",
    "proper-lockfile": "^4.1.2",
    "sql.js": "^1.13.0",
    "zod": "^3.25.0"
  },
  "devDependencies": {
    "@types/bcrypt": "^6.0.0",
    "@types/cookie": "^1.0.0",
    "@types/node": "^24.0.0",
    "@types/proper-lockfile": "^4.1.0",
    "autoprefixer": "^10.4.21",
    "concurrently": "^9.1.2",
    "daisyui": "^4.12.14",
    "esbuild": "^0.25.0",
    "postcss": "^8.5.6",
    "tailwindcss": "^3.4.17",
    "tsx": "^4.20.0",
    "typescript": "^5.9.0",
    "vitest": "^3.2.0"
  }
}
