{
  "name": "@freeboardgame.org/boardgame.io",
  "version": "0.0.12",
  "description": "library for turn-based games",
  "repository": "https://github.com/freeboardgame/boardgame.io",
  "scripts": {
    "start": "bash ./scripts/dev.sh",
    "dev:client": "(cd examples/react-web; npm start)",
    "dev:server": "cross-env NODE_ENV=development nodemon -w src -w examples --exec babel-node --presets @babel/preset-env examples/react-web/server.js",
    "build": "cross-env BABEL_ENV=rollup rollup --config rollup.npm.js",
    "docsify": "docsify serve docs",
    "docsify:update": "npm run build && node ./scripts/docsify-update.js",
    "examples": "npm run start",
    "pretest": "npm run lint",
    "test": "cross-env NODE_ENV=test jest --no-cache",
    "test:watch": "cross-env NODE_ENV=test jest --watch",
    "test:coverage": "cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --collectCoverageFrom=!src/ui/3d/** --collectCoverageFrom=!src/ui/*.js --forceExit",
    "test:coveralls": "cat coverage/lcov.info | node node_modules/.bin/coveralls",
    "test:integration": "bash ./scripts/integration.sh",
    "lint": "eslint .",
    "lint:fix": "eslint --fix .",
    "prepack": "npm run build && generate-export-aliases",
    "postpack": "npm run clean",
    "prettier": "prettier --write \"{examples,src}/**/*.{js,css,md}\"",
    "changelog": "bash ./scripts/changelog.sh",
    "clean": "node ./scripts/clean.js"
  },
  "main": "dist/boardgameio.js",
  "unpkg": "dist/boardgameio.min.js",
  "module": "dist/boardgameio.es.js",
  "files": [
    "dist/boardgameio.js",
    "dist/boardgameio.min.js",
    "dist/boardgameio.es.js",
    "dist/server.js",
    "dist/master.js",
    "dist/client.js",
    "dist/react.js",
    "dist/react-native.js",
    "dist/core.js",
    "dist/plugins.js",
    "dist/ui.js",
    "dist/ai.js",
    "dist/ai-visualize.js",
    "dist/internal.js",
    "server.js",
    "client.js",
    "master.js",
    "react.js",
    "react-native.js",
    "core.js",
    "plugins.js",
    "ui.js",
    "ai.js",
    "ai-visualize.js"
  ],
  "keywords": [
    "react",
    "redux",
    "boardgames"
  ],
  "engines": {
    "node": ">=10.0",
    "npm": ">=6.0"
  },
  "author": "nicolodavis@gmail.com",
  "license": "MIT",
  "devDependencies": {
    "@babel/cli": "^7.2.3",
    "@babel/core": "^7.2.2",
    "@babel/node": "^7.2.2",
    "@babel/plugin-proposal-class-properties": "^7.2.3",
    "@babel/plugin-transform-modules-commonjs": "^7.2.0",
    "@babel/preset-env": "^7.2.3",
    "@babel/preset-react": "^7.0.0",
    "@tweenjs/tween.js": "^17.2.0",
    "ajv": "^6.6.2",
    "babel-core": "^7.0.0-bridge.0",
    "babel-eslint": "^8.0.0",
    "babel-loader": "^8.0.5",
    "babel-plugin-module-resolver": "^3.0.0",
    "concurrently": "^4.1.0",
    "coveralls": "^3.0.0",
    "cross-env": "^5.1.1",
    "css-loader": "^0.28.7",
    "docsify-cli": "^4.3.0",
    "enzyme": "^3.6.0",
    "enzyme-adapter-react-16": "^1.4.0",
    "eslint": "^5.6.0",
    "eslint-config-prettier": "^3.1.0",
    "eslint-plugin-jest": "^21.22.1",
    "eslint-plugin-prettier": "^2.6.2",
    "eslint-plugin-react": "^7.11.1",
    "eslint-plugin-unicorn": "^6.0.1",
    "firebase": "^5.7.3",
    "firebase-admin": "^7.2.0",
    "firebase-mock": "^2.2.10",
    "generate-export-aliases": "^1.0.0",
    "graceful-fs": "https://github.com/mekwall/node-graceful-fs.git#patch-1",
    "husky": "^1.3.1",
    "identity-obj-proxy": "^3.0.0",
    "jest": "^21.2.1",
    "lint-staged": "^8.1.0",
    "mongo-mock": "^3.3.2",
    "mongodb": "^3.0.3",
    "node-persist": "^3.0.4",
    "nodemon": "^1.18.9",
    "prettier": "^1.10.2",
    "raf": "^3.4.0",
    "react": "^16.7.0",
    "react-dom": "^16.7.0",
    "react-router-dom": "^4.2.2",
    "react-svg-loader": "^2.1.0",
    "react-test-renderer": "^16.0.0",
    "rollup": "^1.0.2",
    "rollup-plugin-babel": "^4.2.0",
    "rollup-plugin-commonjs": "^9.2.0",
    "rollup-plugin-filesize": "^6.0.0",
    "rollup-plugin-node-builtins": "^2.1.2",
    "rollup-plugin-node-resolve": "^4.0.0",
    "rollup-plugin-postcss": "^1.6.3",
    "rollup-plugin-replace": "^2.1.0",
    "rollup-plugin-terser": "^4.0.2",
    "shelljs": "^0.7.8",
    "style-loader": "^0.18.2",
    "superagent": "^3.8.3",
    "supertest": "^3.1.0",
    "three": "^0.100.0"
  },
  "dependencies": {
    "@koa/cors": "^2.2.1",
    "flatted": "^0.2.3",
    "immer": "^3.1.3",
    "koa": "^2.7.0",
    "koa-body": "^4.1.0",
    "koa-router": "^7.2.1",
    "koa-socket-2": "^1.0.17",
    "lru-cache": "^4.1.1",
    "mousetrap": "^1.6.1",
    "prop-types": "^15.5.10",
    "react-cookies": "^0.1.0",
    "react-dragtastic": "^2.4.3",
    "redux": "^4.0.0",
    "shortid": "^2.2.14",
    "socket.io": "^2.1.1",
    "uuid": "3.2.1"
  },
  "config": {
    "exportAliases": {
      "client": "./dist/client.js",
      "react": "./dist/react.js",
      "react-native": "./dist/react-native.js",
      "server": "./dist/server.js",
      "core": "./dist/core.js",
      "plugins": "./dist/plugins.js",
      "ui": "./dist/ui.js",
      "ai": "./dist/ai.js",
      "ai-visualize": "./dist/ai-visualize.js",
      "master": "./dist/master.js"
    }
  },
  "jest": {
    "moduleNameMapper": {
      "\\.(css)$": "identity-obj-proxy",
      "\\.(svg)$": "<rootDir>/.empty_module.js"
    },
    "setupFiles": [
      "raf/polyfill"
    ],
    "transformIgnorePatterns": [
      "node_modules/(?!(boardgame.io|flatted)/)"
    ],
    "testPathIgnorePatterns": [
      "examples/",
      "integration/",
      "node_modules/",
      ".npm/"
    ]
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged",
      "pre-push": "npm run test:coverage"
    }
  }
}
