package.json 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. {
  2. "name": "kutt",
  3. "version": "2.7.4",
  4. "description": "Modern URL shortener.",
  5. "main": "./production-server/server.js",
  6. "scripts": {
  7. "test": "jest --passWithNoTests",
  8. "docker:build": "docker build -t kutt .",
  9. "docker:run": "docker run -p 3000:3000 --env-file .env -d kutt:latest",
  10. "dev": "npm run migrate && cross-env NODE_ENV=development nodemon server/server.ts",
  11. "build": "rimraf production-server && tsc --project tsconfig.json && copyfiles -f \"server/mail/*.html\" production-server/mail && next build client/ ",
  12. "start": "npm run migrate && cross-env NODE_ENV=production node production-server/server.js",
  13. "migrate": "knex migrate:latest --env production",
  14. "migrate:make": "knex migrate:make --env production",
  15. "lint": "eslint server/ --ext .js,.ts --fix",
  16. "lint:nofix": "eslint server/ --ext .js,.ts",
  17. "docs:build": "cd docs/api && tsc generate.ts --resolveJsonModule && node generate && cd ../..",
  18. "prepare": "husky install"
  19. },
  20. "repository": {
  21. "type": "git",
  22. "url": "git+https://github.com/TheDevs-Network/kutt.git"
  23. },
  24. "keywords": [
  25. "url-shortener"
  26. ],
  27. "author": "Pouria Ezzati <ezzati.upt@gmail.com>",
  28. "license": "MIT",
  29. "bugs": {
  30. "url": "https://github.com/TheDevs-Network/kutt/issues"
  31. },
  32. "homepage": "https://github.com/TheDevs-Network/kutt#readme",
  33. "dependencies": {
  34. "app-root-path": "^3.1.0",
  35. "axios": "^1.1.3",
  36. "bcryptjs": "^2.4.3",
  37. "bull": "^4.10.1",
  38. "cookie-parser": "^1.4.6",
  39. "cors": "^2.8.5",
  40. "cross-env": "^7.0.3",
  41. "d3-color": "^3.1.0",
  42. "date-fns": "^2.29.3",
  43. "dotenv": "^16.0.3",
  44. "easy-peasy": "^5.1.0",
  45. "email-validator": "^2.0.4",
  46. "envalid": "^7.3.1",
  47. "express": "^4.18.2",
  48. "express-async-handler": "1.1.4",
  49. "express-validator": "^6.14.2",
  50. "geoip-lite": "^1.4.6",
  51. "helmet": "^6.0.0",
  52. "ioredis": "^5.2.4",
  53. "isbot": "^3.6.3",
  54. "js-cookie": "^3.0.1",
  55. "jsonwebtoken": "^8.5.1",
  56. "jwt-decode": "^3.1.2",
  57. "knex": "^2.3.0",
  58. "morgan": "^1.10.0",
  59. "ms": "^2.1.3",
  60. "nanoid": "^2.1.11",
  61. "next": "^12.3.3",
  62. "node-cron": "^3.0.2",
  63. "nodemailer": "^6.8.0",
  64. "p-queue": "^7.3.0",
  65. "passport": "^0.6.0",
  66. "passport-jwt": "^4.0.0",
  67. "passport-local": "^1.0.0",
  68. "passport-localapikey-update": "^0.6.0",
  69. "pg": "^8.8.0",
  70. "pg-query-stream": "^4.2.4",
  71. "qrcode.react": "^3.1.0",
  72. "query-string": "^7.1.1",
  73. "re2": "^1.17.8",
  74. "react": "^17.0.2",
  75. "react-copy-to-clipboard": "^5.1.0",
  76. "react-dom": "^17.0.2",
  77. "react-inlinesvg": "^3.0.1",
  78. "react-tooltip": "^4.5.0",
  79. "react-use-form-state": "^0.13.2",
  80. "rebass": "^4.0.7",
  81. "recharts": "^2.1.16",
  82. "redis": "^4.5.0",
  83. "signale": "^1.4.0",
  84. "styled-components": "^5.3.6",
  85. "styled-tools": "^1.7.2",
  86. "url-regex-safe": "^3.0.0",
  87. "use-media": "^1.4.0",
  88. "useragent": "^2.2.1",
  89. "uuid": "^3.4.0",
  90. "winston": "^3.3.3",
  91. "winston-daily-rotate-file": "^4.7.1"
  92. },
  93. "devDependencies": {
  94. "@types/bcryptjs": "^2.4.2",
  95. "@types/cookie-parser": "^1.4.3",
  96. "@types/cors": "^2.8.12",
  97. "@types/express": "^4.17.14",
  98. "@types/jest": "^26.0.20",
  99. "@types/jsonwebtoken": "^7.2.8",
  100. "@types/morgan": "^1.7.37",
  101. "@types/ms": "^0.7.31",
  102. "@types/nanoid": "^3.0.0",
  103. "@types/node": "^18.11.9",
  104. "@types/node-cron": "^2.0.2",
  105. "@types/nodemailer": "^6.4.6",
  106. "@types/pg": "^8.6.5",
  107. "@types/qrcode.react": "^1.0.2",
  108. "@types/react": "^17.0.52",
  109. "@types/react-dom": "^17.0.18",
  110. "@types/rebass": "^4.0.10",
  111. "@types/signale": "^1.4.4",
  112. "@types/styled-components": "^5.1.7",
  113. "@typescript-eslint/eslint-plugin": "^5.42.1",
  114. "@typescript-eslint/parser": "^5.42.1",
  115. "copyfiles": "^2.4.1",
  116. "eslint": "^8.27.0",
  117. "eslint-config-next": "^13.0.3",
  118. "eslint-config-prettier": "^8.5.0",
  119. "eslint-plugin-prettier": "^4.2.1",
  120. "husky": "^8.0.2",
  121. "jest": "^29.3.1",
  122. "nodemon": "^2.0.20",
  123. "prettier": "^2.7.1",
  124. "redoc": "^2.0.0",
  125. "rimraf": "^3.0.2",
  126. "ts-node": "^10.9.1",
  127. "typescript": "^4.8.4"
  128. },
  129. "overrides": {
  130. "react-use-form-state": {
  131. "react": "*",
  132. "react-dom": "*"
  133. },
  134. "redoc": {
  135. "react": "*",
  136. "react-dom": "*"
  137. },
  138. "use-media": {
  139. "react": "*",
  140. "react-dom": "*"
  141. },
  142. "react-transition-group": {
  143. "react": "*",
  144. "react-dom": "*"
  145. },
  146. "recharts": {
  147. "react": "*",
  148. "react-dom": "*",
  149. "d3-color": "*"
  150. }
  151. }
  152. }