{ "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": "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", "lint": "eslint server/ --ext .js,.ts --fix", "lint:nofix": "eslint server/ --ext .js,.ts", "docs:build": "cd docs/api && tsc generate.ts --resolveJsonModule && node generate && cd ../..", "prepare": "husky install" }, "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", "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", "next": "^12.3.3", "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", "re2": "^1.17.8", "react": "^17.0.2", "react-copy-to-clipboard": "^5.1.0", "react-dom": "^17.0.2", "react-inlinesvg": "^3.0.1", "react-tooltip": "^4.5.0", "react-use-form-state": "^0.13.2", "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/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/qrcode.react": "^1.0.2", "@types/react": "^17.0.52", "@types/react-dom": "^17.0.18", "@types/rebass": "^4.0.10", "@types/signale": "^1.4.4", "@types/styled-components": "^5.1.7", "@typescript-eslint/eslint-plugin": "^5.42.1", "@typescript-eslint/parser": "^5.42.1", "copyfiles": "^2.4.1", "eslint": "^8.27.0", "eslint-config-next": "^13.0.3", "eslint-config-prettier": "^8.5.0", "eslint-plugin-prettier": "^4.2.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": "*" } } }