{
  "name": "@acapela/root",
  "private": true,
  "version": "0.1.0",
  "license": "MIT",
  "engines": {
    "node": "16"
  },
  "workspaces": {
    "packages": [
      "frontend",
      "backend",
      "config",
      "ui",
      "shared",
      "db",
      "tooling",
      "gql",
      "e2e",
      "clientdb",
      "desktop",
      "hooks"
    ]
  },
  "scripts": {
    "dev": "run-scenario",
    "dev2": "ts-node dev.ts",
    "code": "code acapela.code-workspace",
    "unstable:scope": "func() { ( npm \"$2\" --prefix \"$1\" --save --package-lock-only --no-package-lock \"$3\" ; ) && npm i;}; func",
    "frontend:dev": "yarn frontend dev",
    "frontend:build": "yarn frontend build",
    "backend:dev": "yarn backend dev",
    "backend:test": "yarn backend test",
    "backend:test:watch": "yarn backend test:watch",
    "backend:build": "yarn backend build",
    "docker:up:detach": "yarn docker:up -d",
    "docker:up:force": "yarn docker:up --force-recreate",
    "docker:up": "docker-compose --env-file .env up",
    "docker:config": "docker-compose --env-file .env config",
    "docker:stop": "docker-compose stop",
    "docker:down": "docker-compose down -v",
    "frontend": "yarn workspace @aca/frontend",
    "backend": "yarn workspace @aca/backend",
    "desktop": "yarn workspace @aca/desktop",
    "tooling": "yarn workspace @aca/tooling",
    "hooks": "yarn workspace @aca/hooks",
    "ui": "yarn workspace @aca/ui",
    "db": "yarn workspace @aca/db",
    "clientdb": "yarn workspace @aca/clientdb",
    "shared": "yarn workspace @aca/shared",
    "e2e": "yarn workspace @aca/e2e",
    "start": "ntl --descriptions --autocomplete --no-rerun-cache --size 20 --exclude start frontend backend",
    "hasura:migrations": "hasura migrate apply --all-databases --project infrastructure/hasura --admin-secret dev",
    "hasura:migrations:squash": "hasura migrate squash --name \"$1\" --from \"$2\" --project infrastructure/hasura --admin-secret dev",
    "hasura:migrations:mark-as-applied": "hasura migrate apply --version \"$1\" --skip-execution --project infrastructure/hasura --admin-secret dev",
    "hasura:seeds:create": "func(){ hasura seed create \"$1\" --project infrastructure/hasura --admin-secret dev; }; func",
    "hasura:meta": "hasura metadata apply --project infrastructure/hasura --admin-secret dev",
    "hasura:meta:reload": "zx scripts/hasura-meta-reload.mjs",
    "hasura:console": "hasura console --project infrastructure/hasura --admin-secret dev",
    "hasura:console:proxy": "./scripts/hasura-console-proxy.sh",
    "hasura:update": "yarn hasura:meta && yarn hasura:migrations && yarn hasura:meta:reload",
    "tooling:gql-types": "tooling gql frontend --watch",
    "lint": "eslint --max-warnings=0 . && prettier --check .",
    "test": "yarn backend:test",
    "format": "eslint --fix . && prettier --write .",
    "postinstall": "husky install",
    "start:backend": "yarn backend start",
    "start:frontend": "yarn frontend start",
    "build": "yarn frontend:build",
    "generate": "yarn db update && tooling gql frontend",
    "typecheck": "tsc --project tsconfig.typecheck.json",
    "run-e2e-tests": "zx ./scripts/run-e2e-tests.mjs",
    "hooks:dev": "yarn hooks dev"
  },
  "lint-staged": {
    "*.{md,yaml,yml,graphql,json,html}": "prettier --write",
    "*.{js,jsx,ts,tsx}": [
      "eslint --max-warnings=0 --fix",
      "prettier --write"
    ]
  },
  "scenarios": {
    "dev": [
      {
        "commands": [
          "yarn run docker:up:detach"
        ]
      },
      {
        "commands": [
          "yarn hasura:update"
        ],
        "dependsOnFiles": "infrastructure/hasura/**"
      },
      {
        "commands": [
          "yarn db update"
        ],
        "dependsOnFiles": "infrastructure/hasura/migrations/**"
      },
      {
        "commands": [
          "yarn frontend:dev",
          "yarn backend:dev",
          "yarn hooks:dev",
          "yarn tooling:gql-types",
          "yarn hasura:console"
        ]
      }
    ]
  },
  "ntl": {
    "descriptions": {
      "frontend:dev": "Start frontend dev server",
      "frontend:gql-types": "Generate graphql types for frontend",
      "backend:dev": "Start backend dev server",
      "hooks:dev": "Start the hooks service dev server",
      "docker:up:detach": "Start docker infrastructure in detached mode",
      "docker:up": "Start docker infrastructure in interactive mode",
      "docker:stop": "Stop docker infrastructure",
      "hasura:console": "Start hasura dev console",
      "hasura:console:proxy": "Connect to the staging or production hasura console (yarn hasura:console:proxy [production|staging])"
    }
  },
  "dependencies": {
    "@aca/tooling": "0.1.0",
    "@acapela/clientdb": "^0.1.5",
    "@install-binary/berglas": "0.6.2",
    "@install-binary/hasura": "2.7.0",
    "@tiptap/extension-placeholder": "^2.0.0-beta.31",
    "@vvo/tzdb": "^6.44.0",
    "axios": "^0.24.0",
    "chalk": "^4.1.2",
    "common-tags": "^1.8.2",
    "date-fns": "^2.28.0",
    "date-fns-tz": "^1.2.2",
    "dotenv": "^10.0.0",
    "express": "^4.17.2",
    "form-data": "^4.0.0",
    "husky": "^7.0.4",
    "idb": "^7.0.0",
    "js-base64": "^3.7.2",
    "mobx": "^6.3.13",
    "newrelic": "8.13.0",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-use": "^17.3.2",
    "spring-easing": "^1.1.0",
    "styled-components": "^5.3.3",
    "trace-unhandled": "^2.0.1",
    "ts-node": "^10.4.0",
    "type-fest": "^2.11.1",
    "typescript": "4.5.5",
    "utility-types": "^3.10.0",
    "ws": "^8.4.2",
    "zx": "^4.3.0"
  },
  "resolutions": {
    "node-fetch": "2.6.7",
    "react": "17.0.2",
    "tslib": "2.3.1",
    "typescript": "4.5.5"
  },
  "devDependencies": {
    "@types/common-tags": "^1.8.1",
    "@types/express": "^4.17.13",
    "@types/form-data": "^2.5.0",
    "@types/glob": "^7.2.0",
    "@types/glob-watcher": "^5.0.2",
    "@types/inquirer": "^8.2.0",
    "@types/jest": "^27.4.0",
    "@types/lodash": "^4.14.178",
    "@types/newrelic": "^7.0.3",
    "@types/node": "^16.11.22",
    "@types/react": "^17.0.38",
    "@types/react-dom": "^17.0.11",
    "@types/ws": "^8.2.2",
    "@typescript-eslint/eslint-plugin": "^5.10.2",
    "@typescript-eslint/parser": "^5.10.2",
    "commitizen": "^4.2.4",
    "cz-conventional-changelog": "^3.3.0",
    "eslint": "^8.8.0",
    "eslint-config-prettier": "^8.3.0",
    "glob": "^7.2.0",
    "glob-watcher": "^5.0.5",
    "import-sort-style-module-and-prefix": "^0.1.3",
    "inquirer": "^8.2.0",
    "jest": "^27.4.7",
    "kustomize": "4.5.4",
    "lint-staged": "^12.3.3",
    "ntl": "^5.1.0",
    "prettier": "^2.5.1",
    "prettier-plugin-import-sort": "^0.0.7",
    "tslib": "^2.3.1"
  },
  "config": {
    "commitizen": {
      "path": "./node_modules/cz-conventional-changelog"
    }
  },
  "importSort": {
    ".js, .jsx, .ts, .tsx, .mjs": {
      "style": "module-and-prefix",
      "parser": "typescript"
    }
  },
  "importSortPrefix": {
    "groupings": [
      "@aca"
    ]
  },
  "packageManager": "yarn@3.2.1"
}