{
  "name": "scpdb",
  "version": "4.40.0",
  "description": "SCP Foundation Russia Web Services",
  "scripts": {
    "test": "npm run lint",
    "lint": "eslint src --ext='js,ts,jsx,tsx'",
    "build": "concurrently 'tsc && npm run esbuild' 'npm:build:scss'",
    "build:production": "concurrently 'tsc && npm run esbuild:production' 'npm:build:scss:production'",
    "esbuild:base": "esbuild --bundle build/ui/app.js --outdir=public/dist",
    "esbuild": "npm run esbuild:base -- --define:process.env.NODE_ENV=\"'development'\"",
    "esbuild:production": "npm run esbuild:base -- --minify --sourcemap --define:process.env.NODE_ENV=\"'production'\"",
    "watch:ts": "tsc-watch --onSuccess './bin/dev' --preserveWatchOutput",
    "build:scss": "node-sass src/ui/styles/index.scss public/dist/styles.css",
    "build:scss:production": "npm run build:scss -- --output-style compressed",
    "watch:scss": "npm run build:scss && npm run build:scss -- -w",
    "dev": "concurrently -k -n 'ts,st' 'npm:watch:ts' 'npm:watch:scss'",
    "worker": "node build/server worker",
    "console": "node build/server console",
    "crontab:install": "sudo crontab -u scpdb /var/scpdb/app/current/system/crontab",
    "systemd:install": "sudo cp /var/scpdb/app/current/system/http.service /etc/systemd/system/scpdb-http.service && sudo cp /var/scpdb/app/current/system/worker.service /etc/systemd/system/scpdb-worker.service && sudo systemctl enable scpdb-http scpdb-worker",
    "systemd:restart": "sudo systemctl restart scpdb-http scpdb-worker",
    "deploy": "np minor && ssh scpdb@$FOUNDATION_DEPLOY_HOST 'cd /var/scpdb/app && (npm upgrade scpdb --latest || (npm i && npm upgrade scpdb --latest)) && npm run symlink && cd current && npx knex migrate:latest && npm run systemd:install && npm run systemd:restart && npm run crontab:install'",
    "production:console": "ssh -t scpdb@$FOUNDATION_DEPLOY_HOST 'cd /var/scpdb/app/current && node build/server console'",
    "prepublishOnly": "npm run build:production"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/scpdb/foundation.git"
  },
  "author": "Gadzhi Gadzhiev <resure@yandex.ru> (https://resure.net)",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/scpdb/foundation/issues"
  },
  "files": [
    "app",
    "build",
    "system",
    "public",
    "migrations",
    "knexfile.js"
  ],
  "homepage": "https://scpdb.org",
  "devDependencies": {
    "@types/cheerio": "^0.22.28",
    "@types/cookie-parser": "^1.4.2",
    "@types/dotenv": "^4.0.2",
    "@types/express": "^4.17.11",
    "@types/express-session": "^1.17.3",
    "@types/knex": "^0.14.25",
    "@types/lodash": "^4.14.168",
    "@types/markdown-it": "^12.2.3",
    "@types/node": "^9.6.61",
    "@types/passport": "^1.0.6",
    "@types/passport-google-oauth20": "^2.0.7",
    "@types/pino": "^6.3.8",
    "@types/pino-http": "^5.4.1",
    "@types/react": "^16.14.6",
    "@types/react-dom": "^16.9.12",
    "@types/react-router-dom": "^5.1.7",
    "@types/react-timeago": "^4.1.2",
    "@types/source-map-support": "^0.5.3",
    "@types/uuid": "^7.0.3",
    "@types/xmlrpc": "^1.3.6",
    "concurrently": "^6.5.1",
    "esbuild": "^0.1.24",
    "eslint": "^7.25.0",
    "eslint-config-rs": "^1.0.0",
    "husky": "^4.3.8",
    "lint-staged": "^10.5.4",
    "node-sass": "^7.0.1",
    "pino-pretty": "^4.7.1",
    "prettier": "2.2.1",
    "tsc-watch": "^4.2.9",
    "typescript": "^3.9.9"
  },
  "dependencies": {
    "@sentry/node": "^5.30.0",
    "axios": "^0.21.1",
    "body-parser": "^1.19.0",
    "cheerio": "^1.0.0-rc.9",
    "connect-session-knex": "^1.7.3",
    "cookie-parser": "^1.4.5",
    "dotenv": "^6.0.0",
    "express": "^4.17.1",
    "express-session": "^1.17.0",
    "knex": "^0.21.2",
    "pg": "^8.0.0",
    "lodash": "^4.17.21",
    "markdown-it": "^10.0.0",
    "markdown-it-abbr": "^1.0.4",
    "markdown-it-anchor": "^5.2.7",
    "markdown-it-container": "^2.0.0",
    "markdown-it-deflist": "^2.1.0",
    "markdown-it-footnote": "^3.0.2",
    "markdown-it-sub": "^1.0.0",
    "markdown-it-sup": "^1.0.0",
    "markdown-it-table": "^2.0.4",
    "markdown-it-table-of-contents": "^0.4.4",
    "objection": "^2.2.15",
    "passport": "^0.4.1",
    "passport-google-oauth20": "^2.0.0",
    "pg-boss": "^3.2.2",
    "pino": "^6.11.3",
    "pino-http": "^5.5.0",
    "react": "^16.14.0",
    "react-dom": "^16.14.0",
    "react-router-dom": "^5.1.2",
    "react-timeago": "^4.4.0",
    "source-map-support": "^0.5.16",
    "uuid": "^3.4.0",
    "wikidot-kit": "^4.3.2",
    "xmlrpc": "^1.3.2"
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{js,ts,jsx,tsx}": "eslint --cache --fix",
    "*.{js,css,md}": "prettier --write"
  }
}
