{ "name": "kutt", "version": "2.7.4", "description": "Modern URL shortener.", "main": "./production-server/server.js", "scripts": { "test": "jest", "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 ../.." }, "husky": { "hooks": { "pre-commit": "npm run lint:nofix" } }, "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": { "@sentry/apm": "^5.21.1", "@sentry/node": "^5.21.1", "@sentry/react": "^5.21.1", "app-root-path": "^3.0.0", "axios": "^0.21.1", "babel-plugin-inline-react-svg": "^1.1.0", "bcryptjs": "^2.4.3", "bull": "^3.12.1", "cookie-parser": "^1.4.4", "cors": "^2.8.5", "cross-env": "^7.0.3", "date-fns": "^2.9.0", "dotenv": "^8.2.0", "easy-peasy": "^5.0.3", "email-validator": "^1.2.3", "envalid": "^6.0.0", "express": "^4.17.1", "express-async-handler": "^1.1.4", "express-validator": "^6.3.1", "geoip-lite": "^1.4.0", "helmet": "^3.21.2", "isbot": "^2.5.4", "js-cookie": "^2.2.1", "jsonwebtoken": "^8.4.0", "jwt-decode": "^2.2.0", "knex": "^0.21.1", "morgan": "^1.9.1", "ms": "^2.1.2", "nanoid": "^1.3.4", "neo4j-driver": "^1.7.6", "next": "^9.4.4", "node-cron": "^2.0.3", "nodemailer": "^6.4.2", "p-queue": "^6.2.1", "passport": "^0.4.1", "passport-jwt": "^4.0.0", "passport-local": "^1.0.0", "passport-localapikey-update": "^0.6.0", "pg": "^8.2.1", "pg-query-stream": "^2.1.2", "prop-types": "^15.7.2", "qrcode.react": "^0.8.0", "query-string": "^6.10.1", "react": "^16.12.0", "react-copy-to-clipboard": "^5.0.2", "react-dom": "^16.12.0", "react-ga": "^2.7.0", "react-inlinesvg": "^1.2.0", "react-tippy": "^1.3.1", "react-tooltip": "^3.11.2", "react-use-form-state": "^0.12.1", "recharts": "^1.8.5", "redis": "^3.1.1", "reflexbox": "^4.0.6", "signale": "^1.4.0", "styled-components": "^5.0.0", "styled-tools": "^1.7.1", "universal-analytics": "^0.4.20", "url-regex": "^4.1.1", "use-media": "^1.4.0", "useragent": "^2.2.1", "uuid": "^3.4.0", "winston": "^3.3.3" }, "devDependencies": { "@babel/cli": "^7.8.3", "@babel/core": "^7.12.17", "@babel/node": "^7.8.3", "@babel/preset-env": "^7.12.17", "@babel/register": "^7.8.3", "@testing-library/jest-dom": "^5.11.9", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^12.8.3", "@types/bcryptjs": "^2.4.2", "@types/body-parser": "^1.17.1", "@types/bull": "^3.12.0", "@types/chai": "^4.2.15", "@types/cookie-parser": "^1.4.2", "@types/cors": "^2.8.6", "@types/date-fns": "^2.6.0", "@types/dotenv": "^4.0.3", "@types/express": "^4.17.2", "@types/helmet": "0.0.38", "@types/jest": "^26.0.20", "@types/jsonwebtoken": "^7.2.8", "@types/jwt-decode": "^2.2.1", "@types/mongodb": "^3.3.14", "@types/morgan": "^1.7.37", "@types/ms": "^0.7.31", "@types/next": "^9.0.0", "@types/node-cron": "^2.0.2", "@types/nodemailer": "^6.4.0", "@types/pg": "^7.14.1", "@types/pg-query-stream": "^1.0.3", "@types/qrcode.react": "^1.0.0", "@types/react": "^16.9.17", "@types/react-dom": "^16.9.4", "@types/react-tooltip": "^3.11.0", "@types/redis": "^2.8.14", "@types/reflexbox": "^4.0.0", "@types/sinon": "^9.0.10", "@types/styled-components": "^5.1.7", "@typescript-eslint/eslint-plugin": "^4.15.2", "@typescript-eslint/parser": "^4.15.2", "babel": "^6.23.0", "babel-cli": "^6.26.0", "babel-core": "^6.26.3", "babel-eslint": "^8.2.6", "babel-jest": "^26.6.3", "babel-plugin-styled-components": "^1.10.6", "babel-preset-env": "^1.7.0", "chai": "^4.3.0", "copyfiles": "^2.2.0", "deep-freeze": "^0.0.1", "eslint": "^5.16.0", "eslint-config-airbnb": "^16.1.0", "eslint-config-prettier": "^6.9.0", "eslint-plugin-import": "^2.20.0", "eslint-plugin-jsx-a11y": "^6.2.3", "eslint-plugin-prettier": "^3.1.2", "eslint-plugin-react": "^7.18.0", "husky": "^0.15.0-rc.13", "jest": "^26.6.3", "mocha": "^5.2.0", "nock": "^9.3.3", "nodemon": "^1.19.4", "prettier": "^1.19.1", "redoc": "^2.0.0-rc.20", "rimraf": "^3.0.0", "sinon": "^6.0.0", "ts-jest": "^26.5.1", "ts-node": "^9.1.1", "typescript": "^4.2.2" } }