package.json 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. {
  2. "name": "kutt",
  3. "version": "2.2.2",
  4. "description": "Modern URL shortener.",
  5. "main": "./production-server/server.js",
  6. "scripts": {
  7. "test": "mocha --compilers js:@babel/register ./client/**/__test__/*.js",
  8. "docker:build": "docker build -t kutt .",
  9. "docker:run": "docker run -p 3000:3000 --env-file .env -d kutt:latest",
  10. "dev": "nodemon server/server.ts",
  11. "build": "next build client/ && rimraf production-server && tsc --project tsconfig.json && copyfiles -f \"server/mail/*.html\" production-server/mail",
  12. "start": "NODE_ENV=production node production-server/server.js",
  13. "lint": "eslint server/ --ext .js,.ts --fix",
  14. "lint:nofix": "eslint server/ --ext .js,.ts"
  15. },
  16. "husky": {
  17. "hooks": {
  18. "pre-commit": "npm run lint:nofix"
  19. }
  20. },
  21. "repository": {
  22. "type": "git",
  23. "url": "git+https://github.com/TheDevs-Network/kutt.git"
  24. },
  25. "keywords": [
  26. "url-shortener"
  27. ],
  28. "author": "Pouria Ezzati <ezzati.upt@gmail.com>",
  29. "license": "MIT",
  30. "bugs": {
  31. "url": "https://github.com/TheDevs-Network/kutt/issues"
  32. },
  33. "homepage": "https://github.com/TheDevs-Network/kutt#readme",
  34. "dependencies": {
  35. "axios": "^0.19.0",
  36. "babel-plugin-inline-react-svg": "^1.1.0",
  37. "bcryptjs": "^2.4.3",
  38. "bull": "^3.11.0",
  39. "cookie-parser": "^1.4.4",
  40. "cors": "^2.8.5",
  41. "date-fns": "^2.4.1",
  42. "dotenv": "^8.0.0",
  43. "easy-peasy": "^3.2.3",
  44. "email-validator": "^1.2.3",
  45. "express": "^4.17.1",
  46. "express-validator": "^4.3.0",
  47. "geoip-lite": "^1.3.8",
  48. "helmet": "^3.21.1",
  49. "isbot": "^2.2.1",
  50. "js-cookie": "^2.2.0",
  51. "jsonwebtoken": "^8.4.0",
  52. "jwt-decode": "^2.2.0",
  53. "knex": "^0.19.5",
  54. "morgan": "^1.9.1",
  55. "ms": "^2.1.1",
  56. "nanoid": "^1.3.4",
  57. "neo4j-driver": "^1.7.5",
  58. "next": "^9.1.4",
  59. "next-images": "^1.2.0",
  60. "next-redux-wrapper": "^2.1.0",
  61. "node-cron": "^2.0.3",
  62. "nodemailer": "^6.3.0",
  63. "p-queue": "^6.1.1",
  64. "passport": "^0.4.0",
  65. "passport-jwt": "^4.0.0",
  66. "passport-local": "^1.0.0",
  67. "passport-localapikey-update": "^0.6.0",
  68. "pg": "^7.12.1",
  69. "pg-query-stream": "^2.0.0",
  70. "prop-types": "^15.7.2",
  71. "qrcode.react": "^0.8.0",
  72. "query-string": "^6.9.0",
  73. "raven": "^2.6.4",
  74. "react": "^16.8.1",
  75. "react-copy-to-clipboard": "^5.0.1",
  76. "react-dom": "^16.8.1",
  77. "react-ga": "^2.5.7",
  78. "react-inlinesvg": "^0.7.5",
  79. "react-redux": "^6.0.0",
  80. "react-tippy": "^1.3.1",
  81. "react-tooltip": "^3.11.1",
  82. "react-use-form-state": "^0.12.0",
  83. "recharts": "^1.4.3",
  84. "redis": "^2.8.0",
  85. "redux": "^4.0.1",
  86. "redux-devtools-extension": "^2.13.8",
  87. "redux-thunk": "^2.3.0",
  88. "reflexbox": "^4.0.6",
  89. "styled-components": "^4.4.1",
  90. "styled-tools": "^1.7.1",
  91. "universal-analytics": "^0.4.20",
  92. "url-regex": "^4.1.1",
  93. "useragent": "^2.2.1",
  94. "uuid": "^3.3.2"
  95. },
  96. "devDependencies": {
  97. "@babel/cli": "^7.2.3",
  98. "@babel/core": "^7.2.2",
  99. "@babel/node": "^7.2.2",
  100. "@babel/plugin-proposal-nullish-coalescing-operator": "^7.7.4",
  101. "@babel/plugin-proposal-optional-chaining": "^7.7.5",
  102. "@babel/preset-env": "^7.3.1",
  103. "@babel/register": "^7.0.0",
  104. "@types/bcryptjs": "^2.4.2",
  105. "@types/body-parser": "^1.17.0",
  106. "@types/bull": "^3.10.5",
  107. "@types/cookie-parser": "^1.4.1",
  108. "@types/cors": "^2.8.5",
  109. "@types/date-fns": "^2.6.0",
  110. "@types/dotenv": "^4.0.3",
  111. "@types/express": "^4.16.0",
  112. "@types/helmet": "0.0.38",
  113. "@types/jsonwebtoken": "^7.2.8",
  114. "@types/jwt-decode": "^2.2.1",
  115. "@types/mongodb": "^3.1.17",
  116. "@types/morgan": "^1.7.36",
  117. "@types/ms": "^0.7.30",
  118. "@types/next": "^9.0.0",
  119. "@types/node-cron": "^2.0.2",
  120. "@types/nodemailer": "^6.2.1",
  121. "@types/pg": "^7.11.0",
  122. "@types/pg-query-stream": "^1.0.3",
  123. "@types/qrcode.react": "^1.0.0",
  124. "@types/react": "^16.9.16",
  125. "@types/react-dom": "^16.9.4",
  126. "@types/react-tooltip": "^3.11.0",
  127. "@types/redis": "^2.8.10",
  128. "@types/reflexbox": "^4.0.0",
  129. "@types/styled-components": "^4.1.8",
  130. "@typescript-eslint/eslint-plugin": "^2.0.0",
  131. "@typescript-eslint/parser": "^2.0.0",
  132. "@zeit/next-typescript": "^1.1.1",
  133. "babel": "^6.23.0",
  134. "babel-cli": "^6.26.0",
  135. "babel-core": "^6.26.3",
  136. "babel-eslint": "^8.2.6",
  137. "babel-plugin-styled-components": "^1.10.0",
  138. "babel-preset-env": "^1.7.0",
  139. "chai": "^4.1.2",
  140. "copyfiles": "^2.1.1",
  141. "deep-freeze": "^0.0.1",
  142. "eslint": "^5.4.0",
  143. "eslint-config-airbnb": "^16.1.0",
  144. "eslint-config-prettier": "^6.7.0",
  145. "eslint-plugin-import": "^2.16.0",
  146. "eslint-plugin-jsx-a11y": "^6.2.1",
  147. "eslint-plugin-prettier": "^3.1.2",
  148. "eslint-plugin-react": "^7.14.3",
  149. "husky": "^0.15.0-rc.13",
  150. "mocha": "^5.2.0",
  151. "nock": "^9.3.3",
  152. "nodemon": "^1.18.10",
  153. "prettier": "^1.19.1",
  154. "redux-mock-store": "^1.5.3",
  155. "rimraf": "^3.0.0",
  156. "sinon": "^6.0.0",
  157. "typescript": "^3.7.3"
  158. }
  159. }