{ "name": "kutt", "version": "2.7.4", "description": "Modern URL shortener.", "main": "./production-server/server.js", "scripts": { "test": "jest --passWithNoTests", "docker:build": "docker build -t kutt .", "docker:run": "docker run -p 3000:3000 --env-file .env -d kutt:latest", "dev": "node --watch server/server.js", "dev:backup": "npm run migrate && cross-env NODE_ENV=development nodemon server/server.ts", "build": "rimraf production-server && tsc --project tsconfig.json && copyfiles -f \"server/mail/*.html\" production-server/mail && next build client/ ", "start": "npm run migrate && cross-env NODE_ENV=production node production-server/server.js", "migrate": "knex migrate:latest --env production", "migrate:make": "knex migrate:make --env production", "docs:build": "cd docs/api && tsc generate.ts --resolveJsonModule && node generate && cd ../.." }, "repository": { "type": "git", "url": "git+https://github.com/TheDevs-Network/kutt.git" }, "keywords": [ "url-shortener" ], "author": "Pouria Ezzati ", "license": "MIT", "bugs": { "url": "https://github.com/TheDevs-Network/kutt/issues" }, "homepage": "https://github.com/TheDevs-Network/kutt#readme", "dependencies": { "app-root-path": "^3.1.0", "axios": "^1.1.3", "bcryptjs": "^2.4.3", "bull": "^4.10.1", "cookie-parser": "^1.4.6", "cors": "^2.8.5", "cross-env": "^7.0.3", "d3-color": "^3.1.0", "date-fns": "^2.29.3", "dotenv": "^16.0.3", "easy-peasy": "^5.1.0", "email-validator": "^2.0.4", "envalid": "^7.3.1", "express": "^4.18.2", "express-async-handler": "1.1.4", "express-validator": "^6.14.2", "geoip-lite": "^1.4.6", "hbs": "^4.2.0", "helmet": "^6.0.0", "ioredis": "^5.2.4", "isbot": "^3.6.3", "js-cookie": "^3.0.1", "jsonwebtoken": "^8.5.1", "jwt-decode": "^3.1.2", "knex": "^2.3.0", "morgan": "^1.10.0", "ms": "^2.1.3", "nanoid": "^2.1.11", "node-cron": "^3.0.2", "nodemailer": "^6.8.0", "p-queue": "^7.3.0", "passport": "^0.6.0", "passport-jwt": "^4.0.0", "passport-local": "^1.0.0", "passport-localapikey-update": "^0.6.0", "pg": "^8.8.0", "pg-query-stream": "^4.2.4", "qrcode.react": "^3.1.0", "query-string": "^7.1.1", "rebass": "^4.0.7", "recharts": "^2.1.16", "redis": "^4.5.0", "signale": "^1.4.0", "styled-components": "^5.3.6", "styled-tools": "^1.7.2", "url-regex-safe": "^3.0.0", "use-media": "^1.4.0", "useragent": "^2.2.1", "uuid": "^3.4.0", "winston": "^3.3.3", "winston-daily-rotate-file": "^4.7.1" }, "devDependencies": { "@types/bcryptjs": "^2.4.2", "@types/cookie-parser": "^1.4.3", "@types/cors": "^2.8.12", "@types/express": "^4.17.14", "@types/hbs": "^4.0.4", "@types/jest": "^26.0.20", "@types/jsonwebtoken": "^7.2.8", "@types/morgan": "^1.7.37", "@types/ms": "^0.7.31", "@types/nanoid": "^3.0.0", "@types/node": "^18.11.9", "@types/node-cron": "^2.0.2", "@types/nodemailer": "^6.4.6", "@types/pg": "^8.6.5", "@types/rebass": "^4.0.10", "@types/signale": "^1.4.4", "@types/styled-components": "^5.1.7", "copyfiles": "^2.4.1", "husky": "^8.0.2", "jest": "^29.3.1", "nodemon": "^2.0.20", "prettier": "^2.7.1", "redoc": "^2.0.0", "rimraf": "^3.0.2", "ts-node": "^10.9.1", "typescript": "^4.8.4" }, "overrides": { "react-use-form-state": { "react": "*", "react-dom": "*" }, "redoc": { "react": "*", "react-dom": "*" }, "use-media": { "react": "*", "react-dom": "*" }, "react-transition-group": { "react": "*", "react-dom": "*" }, "recharts": { "react": "*", "react-dom": "*", "d3-color": "*" } } }