{
  "name": "spokenio-api",
  "version": "0.1.12",
  "private": false,
  "author": "create-inc",
  "devDependencies": {
    "@google-cloud/firestore": "^5.0.1",
    "@types/aws-sdk": "^2.7.0",
    "@types/basic-auth": "^1.1.3",
    "@types/cookie-parser": "^1.4.2",
    "@types/cors": "^2.8.12",
    "@types/dotenv-flow": "^3.1.0",
    "@types/email-validator": "^1.0.6",
    "@types/express": "^4.17.12",
    "@types/express-jwt": "^6.0.1",
    "@types/express-session": "^1.17.3",
    "@types/faker": "^5.5.9",
    "@types/graphql": "^14.5.0",
    "@types/graphql-upload": "^8.0.6",
    "@types/helmet": "^4.0.0",
    "@types/jest": "^26.0.24",
    "@types/jsonwebtoken": "^8.5.7",
    "@types/lodash.kebabcase": "^4.1.6",
    "@types/lodash.snakecase": "^4.1.6",
    "@types/ms": "^0.7.31",
    "@types/node": "14",
    "@types/papaparse": "^5.3.2",
    "@types/pg": "^8.6.1",
    "@types/stream-json": "^1.7.2",
    "@types/supertest": "^2.0.12",
    "@types/swagger-ui-express": "^4.1.3",
    "@types/uuid": "^8.3.0",
    "@types/winston": "^2.4.4",
    "@types/zxcvbn": "^4.4.1",
    "@typescript-eslint/eslint-plugin": "^4.28.0",
    "@typescript-eslint/parser": "^4.28.0",
    "camelcase": "^6.3.0",
    "cdktf": "^0.8.6",
    "cdktf-cli": "^0.8.6",
    "constructs": "^10.0.29",
    "eslint": "^7.28.0",
    "eslint-config-prettier": "^8.3.0",
    "eslint-import-resolver-typescript": "^3.5.1",
    "eslint-plugin-import": "^2.26.0",
    "eslint-plugin-prettier": "^3.4.0",
    "firebase-admin": "^10.0.2",
    "inquirer-autocomplete-prompt": "^2.0.0",
    "jest": "^27.0.6",
    "jest-config": "^27.4.7",
    "jest-environment-node": "^27.5.1",
    "jest-extended": "^1.2.0",
    "lint-staged": "^11.0.0",
    "lodash.kebabcase": "^4.1.1",
    "lodash.snakecase": "^4.1.1",
    "p-all": "^3.0.0",
    "prettier": "^2.3.1",
    "stream-json": "^1.7.4",
    "supertest": "^6.2.4",
    "ts-jest": "^27.0.4",
    "ts-morph": "^15.1.0",
    "ts-node": "^10.0.0",
    "ts-node-dev": "^1.1.6",
    "tsc-alias": "^1.5.0",
    "tsc-watch": "^4.4.0",
    "tsconfig-paths": "^3.12.0",
    "typescript": "^4.3.2"
  },
  "dependencies": {
    "@bull-board/api": "^3.11.1",
    "@bull-board/express": "^3.11.1",
    "@sendgrid/mail": "^7.6.2",
    "@spokenio/jobqueue-producer": "0.0.1",
    "@types/randomatic": "^3.1.3",
    "algoliasearch": "^4.12.0",
    "analytics-node": "^4.0.1",
    "apollo-datasource": "^0.9.0",
    "apollo-server": "^2.25.0",
    "apollo-server-express": "^2.25.2",
    "aws-sdk": "^2.950.0",
    "basic-auth": "^2.0.1",
    "body-parser": "^1.19.0",
    "class-validator": "^0.13.1",
    "cookie-parser": "^1.4.6",
    "cors": "^2.8.5",
    "dataloader": "^2.0.0",
    "date-fns": "^2.28.0",
    "dotenv-flow": "^3.2.0",
    "email-validator": "^2.0.4",
    "express": "^4.17.1",
    "express-basic-auth": "^1.2.1",
    "express-graphql": "^0.12.0",
    "express-rate-limit": "^6.5.1",
    "faker": "^5.5.3",
    "graphql": "^15.5.0",
    "graphql-custom-types": "^1.6.0",
    "graphql-relay": "^0.8.0",
    "graphql-request": "^3.4.0",
    "graphql-tag": "^2.12.5",
    "graphql-upload": "^12.0.0",
    "helmet": "^4.6.0",
    "jsonwebtoken": "^8.5.1",
    "ms": "^2.1.3",
    "papaparse": "^5.3.2",
    "pg": "^8.6.0",
    "pg-query-stream": "^4.2.3",
    "randomatic": "^3.1.1",
    "reflect-metadata": "^0.1.13",
    "sitemap": "^7.1.1",
    "swagger-ui-express": "^4.5.0",
    "tsoa": "^4.1.1",
    "type-graphql": "^1.1.1",
    "typeorm": "^0.2.34",
    "uuid": "^8.3.2",
    "winston": "^3.3.3",
    "zxcvbn": "^4.4.2"
  },
  "lint-staged": {
    "*.{js,ts,tsx}": [
      "prettier --write",
      "eslint --ext .js,.ts,.tsx --fix"
    ],
    "*.{js,md}": "prettier --write"
  },
  "scripts": {
    "lint": "eslint --ext .ts ./",
    "lint:fix": "yarn lint --fix",
    "pretty": "prettier **/*.ts --write",
    "gen:swagger": "yarn gen:swagger:spec & yarn gen:swagger:routes",
    "gen:swagger:spec": "find src/routes -type f -name '*tsoa-spec.json' | xargs -P 2 -I {} yarn tsoa spec -c {}",
    "gen:swagger:routes": "find src/routes -type f -name 'tsoa-routes.json' | xargs -P 2 -I {} yarn tsoa routes -c {}",
    "start": "node ./dist/index.js",
    "start:local:dev": "NODE_ENV=development tsc-watch -p ./tsconfig.build.json --noClear --onSuccess \"yarn tsc:watch:success\"",
    "tsc:watch:success": "tsc-alias -p tsconfig.json && node --inspect=0.0.0.0:9229 ./dist/index.js",
    "test": "jest",
    "test:ci": "jest --silent --coverage --ci --coverageReporters=\"text\" --coverageReporters=\"text-summary\"",
    "test:watch": "jest --watchAll",
    "test:changed": "jest --onlyChanged",
    "build": "tsc -p ./tsconfig.build.json && tsc-alias -p tsconfig.json",
    "build:workspace_dependencies": "echo \"build:workspace_dependencies is deprecated. Use yarn build:deps instead.\"",
    "build:deps": "yarn workspace @spokenio/jobqueue-shared build && yarn workspace @spokenio/jobqueue-producer build",
    "watch": "tsc --watch --preserveWatchOutput -p ./tsconfig.build.json & tsc-alias -w -p tsconfig.json",
    "typeorm": "yarn tsnode ../node_modules/typeorm/cli.js --config src/config/db/config.ts",
    "migration:create": "yarn typeorm migration:create",
    "migration:up": "yarn typeorm migration:run",
    "migration:down": "yarn typeorm migration:revert",
    "migration:generate": "yarn typeorm migration:generate --pretty",
    "seed:run": "yarn tsnode --files src/seed/index.ts --transpileOnly",
    "schema:drop": "yarn typeorm schema:drop",
    "schema:sync": "yarn typeorm schema:sync",
    "schema:reset": "yarn tsnode --files scripts/reset-schema.ts",
    "entity:create": "yarn typeorm entity:create",
    "docker:compose": "docker compose up --build api",
    "docker:up": "docker compose up api",
    "docker:logs": "docker compose logs api",
    "docker:logs:follow": "docker compose logs --tail 20 api --follow",
    "docker:yarn": "docker compose exec api yarn",
    "docker:migration:up": "docker compose exec api yarn migration:up",
    "docker:migration:down": "docker compose exec api yarn migration:down",
    "docker:migration:generate": "docker compose exec api yarn migration:generate",
    "docker:migration:regenerate": "docker compose exec api yarn tsnode --files scripts/regenerate-last-migration.ts",
    "docker:seed:run": "docker compose exec api yarn seed:run",
    "docker:schema:drop": "docker compose exec api yarn schema:drop",
    "docker:schema:sync": "docker compose exec api yarn schema:sync",
    "docker:schema:reset": "docker compose exec api yarn schema:reset",
    "docker:restart": "docker compose restart api",
    "docker:exec": "docker compose exec api bash",
    "docker:testdb": "docker compose up --build test_database",
    "infra:build": "cdktf get && cdktf synth",
    "infra:plan": "cdktf plan",
    "infra:deploy": "cdktf deploy",
    "infra:deploy:ci": "yarn infra:deploy --auto-approve",
    "infra:destroy": "cdktf destroy",
    "tsnode": "ts-node --project tsconfig.json --files -r tsconfig-paths/register -r dotenv-flow/config",
    "publish-api": "npm publish --access=public"
  },
  "peerDependencies": {
    "graphql": "^15"
  }
}
