156 lines
4.8 KiB
JSON
156 lines
4.8 KiB
JSON
{
|
|
"name": "klip",
|
|
"version": "2.5.2",
|
|
"description": "Modern URL shortener.",
|
|
"main": "./production-server/server.js",
|
|
"scripts": {
|
|
"test": "mocha --compilers js:@babel/register ./client/**/__test__/*.js",
|
|
"docker:build": "docker build -t klip .",
|
|
"docker:run": "docker run -p 3000:3000 --env-file .env -d klip:latest",
|
|
"dev": "npm run migrate && nodemon server/server.ts",
|
|
"build": "next build client/ && rimraf production-server && tsc --project tsconfig.json && copyfiles -f \"server/mail/*.html\" production-server/mail",
|
|
"start": "npm run migrate && NODE_ENV=production node production-server/server.js",
|
|
"migrate": "knex migrate:up --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/jellykells/klip.git"
|
|
},
|
|
"keywords": [
|
|
"url-shortener"
|
|
],
|
|
"author": "Pouria Ezzati <ezzati.upt@gmail.com>",
|
|
"license": "MIT",
|
|
"bugs": {
|
|
"url": "https://github.com/jellykells/klip/issues"
|
|
},
|
|
"homepage": "https://github.com/jellykells/klip#readme",
|
|
"dependencies": {
|
|
"axios": "^0.19.1",
|
|
"babel-plugin-inline-react-svg": "^1.1.1",
|
|
"bcryptjs": "^2.4.3",
|
|
"bull": "^3.12.1",
|
|
"cookie-parser": "^1.4.4",
|
|
"cors": "^2.8.5",
|
|
"date-fns": "^2.9.0",
|
|
"dotenv": "^8.2.0",
|
|
"easy-peasy": "^3.3.0",
|
|
"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",
|
|
"raven": "^2.6.4",
|
|
"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": "^2.8.0",
|
|
"reflexbox": "^4.0.6",
|
|
"signale": "^1.4.0",
|
|
"styled-components": "^5.0.0",
|
|
"styled-tools": "^1.7.1",
|
|
"url-regex-safe": "^1.0.2",
|
|
"use-media": "^1.4.0",
|
|
"useragent": "^2.2.1",
|
|
"uuid": "^3.4.0"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/cli": "^7.8.3",
|
|
"@babel/core": "^7.8.3",
|
|
"@babel/node": "^7.8.3",
|
|
"@babel/preset-env": "^7.8.3",
|
|
"@babel/register": "^7.8.3",
|
|
"@types/bcryptjs": "^2.4.2",
|
|
"@types/body-parser": "^1.17.1",
|
|
"@types/bull": "^3.12.0",
|
|
"@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/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/styled-components": "^4.1.8",
|
|
"@typescript-eslint/eslint-plugin": "^2.16.0",
|
|
"@typescript-eslint/parser": "^2.16.0",
|
|
"babel": "^6.23.0",
|
|
"babel-cli": "^6.26.0",
|
|
"babel-core": "^6.26.3",
|
|
"babel-eslint": "^8.2.6",
|
|
"babel-plugin-styled-components": "^1.10.6",
|
|
"babel-preset-env": "^1.7.0",
|
|
"chai": "^4.1.2",
|
|
"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",
|
|
"mocha": "^5.2.0",
|
|
"nock": "^9.3.3",
|
|
"nodemon": "^1.19.4",
|
|
"prettier": "^1.19.1",
|
|
"redoc": "^2.0.0-rc.40",
|
|
"rimraf": "^3.0.0",
|
|
"sinon": "^6.0.0",
|
|
"typescript": "^3.7.5"
|
|
}
|
|
}
|