{
    "name": "photos",
    "version": "0.0.1",
    "scripts": {
        "start-frontend": "cd frontend && npm start",
        "start": "ts-node -T -r tsconfig-paths/register src/server.ts",
        "ts-node-dev": "ts-node-dev -r tsconfig-paths/register ./src/server.ts",
        "dev": "cross-env NODE_ENV=development concurrently npm:ts-node-dev npm:start-frontend -c 'blue,green'",
        "test": "cross-env NODE_ENV=test mocha --timeout 15000 -r ts-node/register -r tsconfig-paths/register --reporter mocha-junit-reporter --reporter-options mochaFile=backend-report.xml 'src/tests/**/*.ts' ",
        "test-frontend": "cd frontend && npm test",
        "test-all": "npm test && npm run test-frontend",
        "lint": "eslint ./src/** --ext .js,.jsx,.ts,.tsx && tsc --noEmit",
        "lint-fix": "eslint ./src/** --ext .js,.jsx,.ts,.tsx --fix",
        "lint-frontend": "cd frontend && npm run lint",
        "lint-frontend-fix": "cd frontend && npm run lint-fix",
        "lint-all": "npm run lint && npm run lint-frontend",
        "lint-all-fix": "npm run lint-fix && npm run lint-frontend-fix",
        "prettier-check": "prettier src/**/*.ts frontend/src/**/*.ts frontend/src/**/*.tsx --check",
        "prettify": "prettier src/**/*.ts frontend/src/**/*.ts frontend/src/**/*.tsx  --write",
        "typeorm-dev": "cross-env NODE_ENV=development ts-node -T -r tsconfig-paths/register ./node_modules/typeorm/cli.js",
        "typeorm": "cross-env NODE_ENV=production ts-node -T -r tsconfig-paths/register ./node_modules/typeorm/cli.js"
    },
    "license": "MIT",
    "dependencies": {
        "@koa/cors": "^3.4.1",
        "@koa/router": "^12.0.0",
        "@typescript-eslint/eslint-plugin": "^5.48.1",
        "@typescript-eslint/parser": "^5.48.1",
        "bcrypt": "^5.1.0",
        "chai": "^4.3.7",
        "class-validator": "^0.14.0",
        "concurrently": "^7.6.0",
        "cross-env": "^7.0.3",
        "deasync": "^0.1.28",
        "eslint": "^8.31.0",
        "eslint-config-prettier": "^8.6.0",
        "eslint-import-resolver-typescript": "^3.5.3",
        "eslint-plugin-import": "^2.27.4",
        "eslint-plugin-mocha": "^10.1.0",
        "eslint-plugin-prettier": "^4.2.1",
        "exifreader": "^4.9.1",
        "hasha": "^5.2.2",
        "husky": "^8.0.3",
        "jsonwebtoken": "^9.0.0",
        "koa": "^2.14.1",
        "koa-body": "^5.0.0",
        "koa-jwt": "^4.0.4",
        "koa-logger": "^3.2.1",
        "koa-send": "^5.0.1",
        "koa-sslify": "^5.0.1",
        "koa-static": "^5.0.0",
        "mime-types": "^2.1.35",
        "mocha": "^10.2.0",
        "mysql": "^2.18.1",
        "prettier": "^2.8.2",
        "prettier-eslint": "^15.0.1",
        "sharp": "^0.31.3",
        "supertest": "^6.3.3",
        "ts-node": "^10.9.1",
        "ts-node-dev": "^2",
        "tsconfig-paths": "^4.1.2",
        "typeorm": "^0.2.41",
        "typescript": "^4.9.4"
    },
    "devDependencies": {
        "@types/bcrypt": "^5.0.0",
        "@types/chai": "^4.3.4",
        "@types/concurrently": "^6.4.0",
        "@types/deasync": "^0.1.2",
        "@types/eslint": "^8.4.10",
        "@types/eslint-plugin-prettier": "^3.1.0",
        "@types/jsonwebtoken": "^8.5.9",
        "@types/koa": "^2.13.5",
        "@types/koa__cors": "^3.3.0",
        "@types/koa__router": "^12.0.0",
        "@types/koa-logger": "^3.1.2",
        "@types/koa-send": "^4.1.3",
        "@types/koa-sslify": "^4.0.3",
        "@types/koa-static": "^4.0.2",
        "@types/mime-types": "^2.1.1",
        "@types/mocha": "^10.0.1",
        "@types/mysql": "^2.15.21",
        "@types/prettier": "^2.7.2",
        "@types/sharp": "^0.31.1",
        "@types/supertest": "^2.0.12",
        "mocha-junit-reporter": "^2.2.0"
    },
    "husky": {
        "hooks": {
            "pre-commit": "npm run lint-all && npm run prettier-check"
        }
    }
}
