{
  "name": "cadence-web",
  "version": "3.35.4",
  "description": "Cadence Web UI",
  "main": "server/index.js",
  "licence": "MIT",
  "scripts": {
    "clean": "rm -rf dist",
    "dev": "NODE_ENV=development node server.js",
    "lint": "npm run lint:check -- --fix",
    "lint:check": "eslint --ext .js,.vue client server LICENSE",
    "install": "npm run install:idl && npm run install:news",
    "install:idl": "mkdir server/idl; npm run install:idl:proto; npm run install:idl:thrift",
    "install:idl:proto": "napa && rm -rf server/idl/proto && cp -R node_modules/cadence-idl/proto server/idl/proto",
    "install:idl:thrift": "napa && rm -rf server/idl/thrift && cp -R node_modules/cadence-idl/thrift server/idl/thrift",
    "install:news": "cd news && npm install",
    "start": "npm run build && NODE_ENV=production node server.js",
    "test": "mocha server/test && mocha-chrome http://localhost:8090",
    "test:unit": "TZ=UTC jest --no-watchman",
    "test-server": "CADENCE_WEB_PORT=8090 TEST_RUN=ci node server.js",
    "build": "webpack",
    "build:news": "cd news && npm run build && cp -R blog/.vuepress/dist ../",
    "build-production": "NODE_ENV=production npm run clean && npm run build && npm run build:news"
  },
  "keywords": [
    "uber",
    "workflow",
    "cadence",
    "asynchronous"
  ],
  "author": "Nathan Black <nathanbl@uber.com>",
  "engines": {
    "node": "14.19.3",
    "npm": "6.14.17"
  },
  "dependencies": {
    "@babel/core": "^7.8.3",
    "@babel/plugin-transform-regenerator": "^7.8.7",
    "@babel/polyfill": "^7.8.3",
    "@babel/preset-env": "^7.8.3",
    "@grpc/grpc-js": "^1.6.7",
    "@grpc/proto-loader": "^0.6.12",
    "babel-loader": "^8.0.6",
    "babel-plugin-module-resolver": "^4.0.0",
    "babel-polyfill": "^6.26.0",
    "babel-preset-env": "^1.7.0",
    "btoa": "^1.2.1",
    "css-loader": "^0.28.7",
    "cytoscape": "3.16.0",
    "deepmerge": "^2.0.0",
    "extract-text-webpack-plugin": "^3.0.1",
    "file-loader": "^1.1.5",
    "friendly-querystring": "^0.2.0",
    "html-loader": "^0.5.5",
    "html-webpack-plugin": "^2.30.1",
    "html-webpack-template": "^6.1.0",
    "is-ipv4-node": "^1.0.6",
    "jsonwebtoken": "^8.5.1",
    "koa": "^2.3.0",
    "koa-better-error-handler": "^1.3.0",
    "koa-bodyparser": "^4.2.0",
    "koa-compress": "^2.0.0",
    "koa-onerror": "^3.1.0",
    "koa-router": "^7.2.1",
    "koa-send": "^4.1.1",
    "koa-static": "^4.0.1",
    "koa-webpack": "^2.0.3",
    "lodash-es": "^4.17.4",
    "lodash.camelcase": "^4.3.0",
    "lodash.get": "^4.4.2",
    "lodash.isequal": "^4.5.0",
    "lodash.isstring": "^4.0.1",
    "lodash.lowercase": "^4.3.0",
    "lodash.snakecase": "^4.1.1",
    "lodash.startcase": "^4.4.0",
    "long": "^3.2.0",
    "lossless-json": "^1.0.2",
    "moment": "^2.19.1",
    "napa": "^3.0.0",
    "prismjs": "^1.14.0",
    "promise.prototype.finally": "^3.1.0",
    "stylus": "^0.54.5",
    "stylus-loader": "^3.0.1",
    "tchannel": "3.10.1",
    "vis-data": "^7.1.0",
    "vis-timeline": "^7.4.0",
    "vue": "^2.5.13",
    "vue-infinite-scroll": "^2.0.2",
    "vue-js-modal": "^1.3.18",
    "vue-js-toggle-button": "^1.3.3",
    "vue-loader": "^13.0.1",
    "vue-prism-component": "^1.0.1",
    "vue-router": "^3.0.1",
    "vue-select": "^3.11.2",
    "vue-split-panel": "^1.0.4",
    "vue-style-loader": "^3.1.2",
    "vue-template-compiler": "^2.5.2",
    "vue-virtual-scroller": "^1.0.0-rc.2",
    "vue2-datepicker": "^3.4.1",
    "vuex": "^3.5.1",
    "vuex-connect": "^2.2.0",
    "vuex-persist": "^3.1.3",
    "vuex-router-sync": "^5.0.0",
    "webpack": "^3.12.0"
  },
  "devDependencies": {
    "atob": "^2.1.2",
    "babel-eslint": "^10.0.3",
    "babel-jest": "^24.9.0",
    "chai": "^4.1.2",
    "chai-dom": "^1.7.0",
    "chai-spies": "^1.1.0",
    "chai-string": "^1.5.0",
    "chai-things": "^0.2.0",
    "eslint": "^7.32.0",
    "eslint-config-prettier": "^6.9.0",
    "eslint-import-resolver-babel-module": "^5.1.2",
    "eslint-import-resolver-webpack": "^0.12.1",
    "eslint-plugin-chai-friendly": "^0.5.0",
    "eslint-plugin-header": "https://github.com/just-at-uber/eslint-plugin-header/tarball/aee6a4610ffc1946b821fe869f0ac6b922df303c",
    "eslint-plugin-import": "^2.20.0",
    "eslint-plugin-jest": "^23.6.0",
    "eslint-plugin-prettier": "^3.1.2",
    "eslint-plugin-vue": "^9.1.0",
    "fetch-mock": "^7.7.0",
    "jest": "^24.9.0",
    "jest-fetch-mock": "^3.0.3",
    "jest-useragent-mock": "^0.1.1",
    "mocha": "^4.0.1",
    "mocha-chrome": "^1.1.0",
    "mockdate": "^3.0.5",
    "moment-timezone": "^0.5.34",
    "nathanboktae-browser-test-utils": "^0.1.0",
    "node-abort-controller": "^1.0.4",
    "prettier": "^1.19.1",
    "supertest": "^3.0.0",
    "webpack-hot-client": "^1.3.0"
  },
  "napa": {
    "cadence-idl": "uber/cadence-idl#57c717b37a361f441be070ad6bd436328677c5ef"
  },
  "napa-config": {
    "cache": false
  }
}
