{ "name": "cairo", "version": "0.0.4", "description": "Typescript Authentication & Authorization Server", "type": "module", "scripts": { "start": "node dist/app.js", "start:dev": "concurrently \"CAIRO_DEV_PORT=52025 nodemon lib/app.ts\" \" CAIRO_VITE_DEV_PORT=52000 CAIRO_VITE_BACKEND_URL=http://localhost:52025 vite\" -n s,v -p -c green,yellow", "build:server": "esbuild `find lib \\( -name '*.ts' \\)` --tsconfig=tsconfig.server.json --outdir=build/server && tsc-alias -p tsconfig.server.json", "build:all": "rm -Rf build && concurrently --kill-others-on-fail \"vite build\" \"npm run build:server\" -n s,v -c cyan,yellow", "package:dist": "mkdir -p dist && mv build/server/* dist/ && mv build/vite dist/static && rm -Rf build", "package:full": "rm -Rf dist && npm run build:all && npm run package:dist", "format": "prettier -w src lib vite.config.ts tsconfig*.json && prisma format", "tsc": "concurrently --kill-others-on-fail \"tsc --noEmit\" \"tsc -p tsconfig.server.json --noEmit\" -n s,v -c cyan,yellow", "generate:api": "vix --generate-api --vixpress-path lib/Cairo.ts", "db:generate": "prisma generate", "db:deploy": "prisma migrate deploy", "db:migrate": "prisma migrate dev", "db:seed": "tsx prisma/seed.ts" }, "keywords": [ "Cairo", "Dunemask", "Authentication" ], "author": "Dunemask", "license": "LGPL-2.1", "devDependencies": { "@types/bcrypt": "^5.0.2", "@types/express": "^4.17.21", "@types/figlet": "^1.5.8", "@types/jsonwebtoken": "^9.0.6", "@types/node": "^22.5.0", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.3.1", "concurrently": "^8.2.2", "esbuild": "^0.23.1", "nodemon": "^3.1.4", "prettier": "^3.3.3", "tsc-alias": "^1.8.10", "tsx": "^4.17.0", "typescript": "^5.5.4", "vite": "^5.4.2", "vite-bundle-analyzer": "^0.10.6", "vite-tsconfig-paths": "^5.0.1" }, "dependencies": { "@chakra-ui/react": "^2.8.2", "@dunemask/vix": "^0.0.1-alpha.0", "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", "@mui/material": "^5.16.7", "@prisma/client": "^5.18.0", "@sendgrid/mail": "^8.1.3", "@tanstack/react-query": "^5.53.3", "bcrypt": "^5.1.1", "cron": "^3.1.7", "dotenv": "^16.4.5", "dotenv-expand": "^11.0.6", "express": "^4.19.2", "express-async-errors": "^3.1.1", "express-bearer-token": "^2.4.0", "figlet": "^1.7.0", "framer-motion": "^11.3.30", "jsonwebtoken": "^9.0.2", "moment-timezone": "^0.5.45", "prisma": "^5.18.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-error-boundary": "^4.0.13", "react-icons": "^5.3.0", "react-router-dom": "^6.26.1", "react-toastify": "^10.0.5", "yup": "^1.4.0" }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] }, "nodemonConfig": { "watch": [ "lib" ], "ext": "ts", "execMap": { "ts": "tsx --tsconfig tsconfig.server.json" } } }