boardgame.io
Version:
library for turn-based games
218 lines (217 loc) • 6.58 kB
JSON
{
"name": "boardgame.io",
"version": "0.39.16",
"description": "library for turn-based games",
"repository": "https://github.com/boardgameio/boardgame.io",
"scripts": {
"prestart": "run-p examples:install build",
"start": "run-p dev:server dev:client",
"predev": "npm run examples:install",
"dev": "run-p build:watch dev:server dev:client",
"dev:client": "node scripts/dev-client.js",
"dev:server": "cross-env NODE_ENV=development nodemon -w src -w examples -e js,ts --exec babel-node --extensions \".ts,.js\" --ignore \"src/**/*.test.ts\" --presets @babel/preset-env examples/react-web/server.js",
"build": "cross-env BABEL_ENV=rollup rollup --config rollup.config.js",
"build:watch": "cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js",
"benchmark": "babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js",
"docs": "docsify serve docs",
"examples": "npm run start",
"examples:install": "node scripts/install-examples.js",
"pretest": "npm run lint",
"test": "cross-env NODE_ENV=test jest --no-cache",
"test:watch": "cross-env NODE_ENV=test jest --watch",
"test:coverage": "npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit",
"test:coveralls": "coveralls < coverage/lcov.info",
"test:integration": "node ./scripts/integration.js",
"ts": "tsc --noEmit",
"ts:watch": "tsc --noEmit --watch",
"lint": "eslint .",
"lint:fix": "eslint --fix .",
"prepublishOnly": "npm run clean",
"proxydirs": "node scripts/proxy-dirs.js",
"prepack": "run-s build proxydirs",
"postpack": "npm run clean",
"prettier": "prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"",
"changelog": "node ./scripts/changelog.js",
"clean": "node ./scripts/clean.js"
},
"sideEffects": false,
"main": "dist/boardgameio.js",
"unpkg": "dist/boardgameio.min.js",
"module": "dist/boardgameio.es.js",
"types": "dist/types/src/types.d.ts",
"files": [
"src",
"dist/boardgameio.js",
"dist/boardgameio.min.js",
"dist/boardgameio.es.js",
"dist/esm",
"dist/cjs",
"dist/types",
"client",
"core",
"debug",
"react",
"react-native",
"server",
"ai",
"plugins",
"master",
"multiplayer",
"internal"
],
"keywords": [
"board games",
"card games",
"tabletop games",
"game engine"
],
"engines": {
"node": ">=10.0",
"npm": ">=6.0"
},
"author": "nicolodavis@gmail.com",
"license": "MIT",
"devDependencies": {
"@babel/cli": "^7.10.3",
"@babel/core": "^7.10.3",
"@babel/node": "^7.10.3",
"@babel/plugin-proposal-class-properties": "^7.10.1",
"@babel/plugin-transform-modules-commonjs": "^7.10.1",
"@babel/preset-env": "^7.10.3",
"@babel/preset-react": "^7.10.1",
"@babel/preset-typescript": "^7.10.1",
"@testing-library/jest-dom": "^4.1.2",
"@testing-library/svelte": "^1.9.0",
"@types/enzyme": "^3.10.5",
"@types/jest": "^24.0.0",
"@types/koa-router": "^7.4.0",
"@types/koa__cors": "^3.0.1",
"@types/react": "^16.9.36",
"@types/react-dom": "^16.9.8",
"@types/shortid": "0.0.29",
"@types/socket.io": "^2.1.4",
"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",
"benchmark": "^2.1.4",
"bundlewatch": "^0.2.5",
"coveralls": "^3.0.0",
"cross-env": "^5.1.1",
"css-loader": "^3.1.0",
"docsify-cli": "^4.4.0",
"enzyme": "^3.10.0",
"enzyme-adapter-react-16": "^1.14.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",
"husky": "^1.3.1",
"identity-obj-proxy": "^3.0.0",
"jest": "^24.0.0",
"jest-transform-svelte": "^2.1.0",
"lint-staged": "^8.1.0",
"node-persist": "^3.0.4",
"nodemon": "^1.18.9",
"npm-run-all": "^4.1.5",
"prettier": "^1.19.1",
"raf": "^3.4.0",
"react": "^16.7.0",
"react-dom": "^16.7.0",
"react-router-dom": "^5.1.2",
"react-svg-loader": "^3.0.3",
"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-replace": "^2.1.0",
"rollup-plugin-svelte": "^5.1.0",
"rollup-plugin-terser": "^5.3.0",
"rollup-plugin-typescript2": "^0.22.0",
"shelljs": "^0.7.8",
"style-loader": "^0.18.2",
"superagent": "^3.8.3",
"supertest": "^3.1.0",
"svelte-icons": "^1.1.0",
"tempy": "^0.5.0",
"ts-jest": "^24.0.2",
"ts-transformer-imports": "^0.4.3",
"ttypescript": "^1.5.7",
"typescript": "^3.8.2"
},
"dependencies": {
"@koa/cors": "^2.2.1",
"@types/koa": "^2.11.3",
"flatted": "^0.2.3",
"immer": "^1.8.0",
"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",
"prop-types": "^15.5.10",
"react-cookies": "^0.1.0",
"redux": "^4.0.0",
"shortid": "^2.2.14",
"socket.io": "^2.1.1",
"svelte": "^3.24.0",
"ts-toolbelt": "^6.3.6",
"uuid": "3.2.1"
},
"jest": {
"preset": "ts-jest/presets/js-with-babel",
"moduleNameMapper": {
"\\.(css)$": "identity-obj-proxy",
"\\.(svg)$": "<rootDir>/.empty_module.js"
},
"coveragePathIgnorePatterns": [
"/node_modules/",
"src/.*/random.alea.js",
"src/client/debug/.*",
"src/types.ts"
],
"setupFiles": [
"raf/polyfill"
],
"setupFilesAfterEnv": [
"@testing-library/jest-dom/extend-expect"
],
"transform": {
"^.+\\.svelte$": "jest-transform-svelte"
},
"transformIgnorePatterns": [
"node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"
],
"testPathIgnorePatterns": [
"examples/",
"integration/",
"node_modules/",
".npm/"
]
},
"bundlewatch": {
"files": [
{
"path": "dist/*.js",
"maxSize": "100kB"
},
{
"path": "dist/esm/*.js",
"maxSize": "200kB",
"compression": "none"
}
]
},
"husky": {
"hooks": {
"pre-commit": "lint-staged",
"pre-push": "npm run test:coverage"
}
}
}