{"_id":"boardgame.io","_rev":"222-a3bcfc64401ebaaab0064df59f2e0b2a","name":"boardgame.io","dist-tags":{"alpha":"0.50.0-alpha.2","latest":"0.50.2"},"versions":{"0.0.1-security":{"name":"boardgame.io","version":"0.0.1-security","_id":"boardgame.io@0.0.1-security","maintainers":[{"name":"elizposadas","email":"elizabeth@npmjs.com"}],"homepage":"https://github.com/npm/security-holder#readme","bugs":{"url":"https://github.com/npm/security-holder/issues"},"dist":{"shasum":"272e987dfb75bc58074a4d19fd0db9d0039e3b0b","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.0.1-security.tgz","integrity":"sha512-rmcbe9W5gUlliLc7Kt8b27MeYKbZOXu5DHNtUhc7iAoqpcE98uXNzpcuBN3ye2l+TrPphpSnHCDuUfsvzB6gvQ==","signatures":[{"sig":"MEYCIQDleNqzjX9nTmWmaAWf8Guvke+rcneOqXvde2zq8iGumAIhAMZeiSVAhtZ6Sbrg3Eu5lu9/tk7g3E9KqYkDhTBQ3Hfx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_npmUser":{"name":"elizposadas","email":"elizabeth@npmjs.com"},"repository":{"url":"git+https://github.com/npm/security-holder.git","type":"git"},"_npmVersion":"5.5.1","description":"security holding package","directories":{},"_nodeVersion":"8.2.1","_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.0.1-security.tgz_1508780991631_0.9737317990511656","host":"s3://npm-registry-packages"}},"0.10.0":{"name":"boardgame.io","version":"0.10.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.10.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"10d399b1067505845d6f187f7079beeab5631d8c","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.10.0.tgz","integrity":"sha512-06bmTJIAgMdvs9aZlY2HBZNz+ti8dc9yc79nlJhMIjwrzRor8zgwv3xFxlHP2vc8qYeLoEqdea4fFSMajv/pWA==","signatures":[{"sig":"MEQCIDkYdGbdp6mhNg39FjV7oacjlBgcVqwAGKLr2Xc/nAbfAiAWQazpmSKhN3hO5XHslcdZoRh3ebMIIwD2Mf86e0Zpqg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy"},"testPathIgnorePatterns":["/node_modules/",".npm/"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/game.js","server.js","client.js","game.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"game":"./dist/game.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"c8ff39afea2a5bf2e169100e010a07482526f876","scripts":{"dev":"NODE_ENV=development babel-watch --presets es2015 example/server.js","lint":"eslint .","test":"jest","clean":"rm -rf dist node_modules","start":"node server.js","prepare":"BABEL_ENV=rollup rollup --config rollup.npm.js","test:watch":"jest --watch","postpublish":"rm -f server.js client.js game.js","test:coverage":"jest --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"npm run test:coverage && cat coverage/lcov.info | node node_modules/.bin/coveralls"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.4.1","description":"library for turn-based games","directories":{},"_nodeVersion":"8.4.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.1.0","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","webpack":"^3.5.5","babel-cli":"^6.26.0","coveralls":"^3.0.0","node-sass":"^4.5.3","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","koa-webpack":"^1.0.0","sass-loader":"^6.0.6","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.10.0.tgz_1511312218065_0.09734460734762251","host":"s3://npm-registry-packages"}},"0.10.1":{"name":"boardgame.io","version":"0.10.1","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.10.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"59c03cef04fdcca82282e5076ee0a5a15028313c","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.10.1.tgz","integrity":"sha512-9gIZXfCIlWVPjXjuGD43ryWAh/ypcO6OGdUbS1LwdfcHs7c/UeQhubnWQEHWClSlChOVYPvZ69+x1jz15b4Adg==","signatures":[{"sig":"MEYCIQDDaxo0NXkQ7TPPZiSy4CGDSLhEGG7Jg5rxHzgzbOAvMAIhALFs999McrOV9phnSJvFjptbRM+4UrMJaRHi6h+LKFb3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy"},"testPathIgnorePatterns":["/node_modules/",".npm/"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/game.js","server.js","client.js","game.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"game":"./dist/game.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"e7b7d9a86a60eeabb72e1fb3cd6f2627a5ba254e","scripts":{"dev":"NODE_ENV=development babel-watch --presets es2015 example/server.js","lint":"eslint .","test":"jest","clean":"rm -rf dist node_modules","start":"node server.js","prepare":"BABEL_ENV=rollup rollup --config rollup.npm.js","test:watch":"jest --watch","postpublish":"rm -f server.js client.js game.js","test:coverage":"jest --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"npm run test:coverage && cat coverage/lcov.info | node node_modules/.bin/coveralls"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.4.1","description":"library for turn-based games","directories":{},"_nodeVersion":"8.4.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.1.0","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","webpack":"^3.5.5","babel-cli":"^6.26.0","coveralls":"^3.0.0","node-sass":"^4.5.3","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","koa-webpack":"^1.0.0","sass-loader":"^6.0.6","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.10.1.tgz_1511314000674_0.19841056340374053","host":"s3://npm-registry-packages"}},"0.10.2":{"name":"boardgame.io","version":"0.10.2","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.10.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"0b941144db04e5097f47e825570f585e92735fa2","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.10.2.tgz","integrity":"sha512-Mk3afLN39muYw/2ezHePeVFX08RPz6XiU/SWgXrec02BsYN2YIWSyDfNkKfgAJDRCVjj6UhG3e1T9gZEogHP3g==","signatures":[{"sig":"MEQCIESfXvqLUtsKdAX3c44I94pVJrMTL8jAltOuc5SXKcE+AiBScjuQOV/4Qx1jWRycMSWY+jUM8VW6+ZgHqjtKBs6t7w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy"},"testPathIgnorePatterns":["/node_modules/",".npm/"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/game.js","server.js","client.js","game.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"game":"./dist/game.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"f3207e2b3a0055720cf70cee67b237d8aae20b77","scripts":{"dev":"NODE_ENV=development babel-watch --presets es2015 example/server.js","lint":"eslint .","test":"jest","clean":"rm -rf dist node_modules","start":"node server.js","prepare":"BABEL_ENV=rollup rollup --config rollup.npm.js","test:watch":"jest --watch","postpublish":"rm -f server.js client.js game.js","test:coverage":"jest --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"npm run test:coverage && cat coverage/lcov.info | node node_modules/.bin/coveralls"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.4.1","description":"library for turn-based games","directories":{},"_nodeVersion":"8.4.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.1.0","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","webpack":"^3.5.5","babel-cli":"^6.26.0","coveralls":"^3.0.0","node-sass":"^4.5.3","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","koa-webpack":"^1.0.0","sass-loader":"^6.0.6","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.10.2.tgz_1511393289354_0.6545543395914137","host":"s3://npm-registry-packages"}},"0.11.0":{"name":"boardgame.io","version":"0.11.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.11.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"09e356ec42b6d7458fe3ff22bed9e06d1ba164ec","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.11.0.tgz","integrity":"sha512-ZIX0FDeY04Q02pyG9Zh1rtYI4JjA+QOACbYBM7SiyFhMc3G9fo1BF+88fbPJcNS/SsejhXNg5ivkMi7k5r3DOg==","signatures":[{"sig":"MEUCIQDQcwlJK5ZI8CU5OHtr4u5v5ZYwNoFA7H/T9ZR/1V431AIgR2WX7qKnsfoG98hE5FHxSQPMh7CmWGmIoOB36pcbAz0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/game.js","server.js","client.js","game.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"game":"./dist/game.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"8ff903e9584f190d9e15442fc240e61497b07f0e","scripts":{"dev":"NODE_ENV=development babel-watch --presets es2015 example/server.js","lint":"eslint .","test":"jest","clean":"rm -rf dist node_modules","start":"node server.js","prepare":"BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","storybook":"start-storybook -p 3000 -c storybook","test:watch":"jest --watch","postpublish":"rm -f server.js client.js game.js","test:coverage":"jest --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.5.1","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.1.0","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","webpack":"^3.5.5","babel-cli":"^6.26.0","coveralls":"^3.0.0","node-sass":"^4.5.3","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","koa-webpack":"^1.0.0","sass-loader":"^6.0.6","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.11.0.tgz_1511931988910_0.2011809954419732","host":"s3://npm-registry-packages"}},"0.11.1":{"name":"boardgame.io","version":"0.11.1","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.11.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"674e2ad9e68dc515d64c5735a838d8cceaed0444","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.11.1.tgz","integrity":"sha512-sqDyFdRsEYADQ8BMEG58W+6MX597ydso9H4ymQeYyGKfePFOOOCTf9dOW4B3L9qNIFonm2fFn/Qj+3bcg+5qKQ==","signatures":[{"sig":"MEQCIEoBlzOqbyf6/gB/L0VWtrxS2Tznp40Uyhh8mluGuhsGAiA+EncoRYi2iavzBRxv0imnmxP9xuV/Qr9AHJn8ORoSSQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/game.js","server.js","client.js","game.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"game":"./dist/game.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"55d0a5a9ba81bbf7798aca1e837de44bc04f23d2","scripts":{"dev":"NODE_ENV=development babel-watch --presets es2015 example/server.js","lint":"eslint .","test":"jest","clean":"rm -rf dist node_modules","start":"node server.js","prepare":"BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","storybook":"start-storybook -p 3000 -c storybook","test:watch":"jest --watch","postinstall":"ln -s ../packages node_modules/boardgame.io","postpublish":"rm -f server.js client.js game.js","test:coverage":"jest --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.5.1","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.1.0","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","webpack":"^3.5.5","babel-cli":"^6.26.0","coveralls":"^3.0.0","node-sass":"^4.5.3","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","koa-webpack":"^1.0.0","sass-loader":"^6.0.6","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.11.1.tgz_1513449262559_0.19248875346966088","host":"s3://npm-registry-packages"}},"0.11.2":{"name":"boardgame.io","version":"0.11.2","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.11.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"9ce0b9e5f0e5c10ff17a9634039db96af46d4956","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.11.2.tgz","integrity":"sha512-g3n5eVZIXOXPsM5CmBsxFwjXBD8ax1GcSdcUeJZEG4UurFkltYMXfgPKwaIoLYJkfoKpRGJZwSOX0h0B9zuQ8A==","signatures":[{"sig":"MEUCIGiV+nAxtf0A7G7GIhjdxeysuTWhuHq1bI0C1D9iRQphAiEAjzKqYJc5/b08W0RdWHhvF/t3oGkfxFi+rWr6oBad0kE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/game.js","server.js","client.js","game.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"game":"./dist/game.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"9a84f573bc041673fd55f72f957ab9a03a1ca6e6","scripts":{"dev":"NODE_ENV=development babel-watch --presets es2015 example/server.js","lint":"eslint .","test":"jest","clean":"rm -rf dist node_modules","start":"node server.js","prepare":"BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","storybook":"start-storybook -p 3000 -c storybook","test:watch":"jest --watch","postinstall":"ln -s ../packages node_modules/boardgame.io","postpublish":"rm -f server.js client.js game.js","test:coverage":"jest --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.5.1","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.1.0","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","webpack":"^3.5.5","babel-cli":"^6.26.0","coveralls":"^3.0.0","node-sass":"^4.5.3","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","koa-webpack":"^1.0.0","sass-loader":"^6.0.6","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.11.2.tgz_1513449511496_0.5318030475173146","host":"s3://npm-registry-packages"}},"0.11.3":{"name":"boardgame.io","version":"0.11.3","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.11.3","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"8f7cc5798c927fa308ef5d6a9ecee88ed32cadd4","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.11.3.tgz","integrity":"sha512-gVlywqfNYMYfbbihw39vtOBV1Cy3foLVRptTKVNrF3cf8HBcJBP79ExSXkTsqhSPvpL34ienJWBBbWrIVkcOxw==","signatures":[{"sig":"MEYCIQDa2csIvNxMWTuhingKfC61bDJNuTRiVDZcNmTO9UqtmwIhAN9ifMchjs513GemOFqFLkKaDwxG3X4tdzrPRCt8Geqq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/game.js","server.js","client.js","game.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"game":"./dist/game.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"49a3010678c53570aaa4b4edcdc6e0ef48b7462c","scripts":{"dev":"NODE_ENV=development babel-watch --presets es2015 example/server.js","lint":"eslint .","test":"jest","clean":"rm -rf dist node_modules","start":"node server.js","prepare":"BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","storybook":"start-storybook -p 3000 -c storybook","test:watch":"jest --watch","postinstall":"ln -s ../packages node_modules/boardgame.io","postpublish":"rm -f server.js client.js game.js","test:coverage":"jest --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.5.1","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.1.0","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","webpack":"^3.5.5","babel-cli":"^6.26.0","coveralls":"^3.0.0","node-sass":"^4.5.3","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","koa-webpack":"^1.0.0","sass-loader":"^6.0.6","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.11.3.tgz_1513449693727_0.19402229227125645","host":"s3://npm-registry-packages"}},"0.11.4":{"name":"boardgame.io","version":"0.11.4","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.11.4","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"da92577f920780a0deec6bcd74c07dfe9beaea75","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.11.4.tgz","integrity":"sha512-TSQ6nAcmb8WyMVXbZpUzWt3FACTbbWsasrf9fgyp0IhUhdnCfTw3u+hv0f5xSb6f3KcLZlc86XjyxIt4c2nRXQ==","signatures":[{"sig":"MEYCIQDPXzOYlcnODQ/rFtWP5X1bTrGgHg0uPHmw4RpVTHDINQIhAMPTdLHVye9OBo4mKZ+pgwiLlloerRZYy/9QLdPTCZEJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/game.js","server.js","client.js","game.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"game":"./dist/game.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"9b794b1d0ffe0febfd2b4c5811531ca7dbfd7f06","scripts":{"dev":"NODE_ENV=development babel-watch --presets es2015 examples/tic-tac-toe/server.js","lint":"eslint .","test":"jest","clean":"rm -rf dist node_modules","start":"node server.js","prepare":"BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","storybook":"start-storybook -p 3000 -c storybook","test:watch":"jest --watch","postinstall":"ln -s ../packages/node_modules/boardgame.io","postpublish":"rm -f server.js client.js game.js","test:coverage":"jest --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.5.1","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.1.0","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","webpack":"^3.5.5","babel-cli":"^6.26.0","coveralls":"^3.0.0","node-sass":"^4.5.3","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","koa-webpack":"^1.0.0","sass-loader":"^6.0.6","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.11.4.tgz_1513547971063_0.4514331475365907","host":"s3://npm-registry-packages"}},"0.12.0":{"name":"boardgame.io","version":"0.12.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.12.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"fc98533d328dc06b64691e80fc0bb21cb6c47a12","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.12.0.tgz","integrity":"sha512-lCqiiEx9Sz1uK5pdFXrp+iCM0jXcbi9sFsTGIW3BMLowMbGCpUipJCXS9c1p+apCnKab9dhYS9ojO3fOpAU6qA==","signatures":[{"sig":"MEUCIELyzYedk24H86IZc6Fl4q1JYb0t5RcIqme0VGtTPZQ2AiEA30reSswVqQQB3dBNzXaSfHxC/fFXxDdbqVZ/VNi5bFE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/game.js","server.js","client.js","game.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"game":"./dist/game.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"265ce04438fb638be0cc7042c2cb31a292cfc3e3","scripts":{"dev":"NODE_ENV=development babel-watch --presets es2015 examples/tic-tac-toe/server.js","lint":"eslint .","test":"jest","clean":"rm -rf dist node_modules","start":"node server.js","docsify":"docsify serve docs","prepare":"BABEL_ENV=rollup rollup --config rollup.npm.js","prepush":"npm run test:coverage","examples":"npm run dev","precommit":"npm run lint","storybook":"start-storybook -p 3000 -c storybook","test:watch":"jest --watch","postinstall":"ln -s $PWD/packages/ $PWD/node_modules/boardgame.io","postpublish":"rm -f server.js client.js game.js","test:coverage":"jest --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.1.0","husky":"^0.14.3","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","webpack":"^3.5.5","babel-cli":"^6.26.0","coveralls":"^3.0.0","node-sass":"^4.5.3","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","sass-loader":"^6.0.6","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.12.0.tgz_1513929760735_0.19510135101154447","host":"s3://npm-registry-packages"}},"0.13.0":{"name":"boardgame.io","version":"0.13.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.13.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"e2939b196df160c1e8fb365e27fe7966f421d8cf","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.13.0.tgz","integrity":"sha512-1l4vvH2W2V8jzqjuOg7k7FXCRqh47JJhLVSmg4t3tsnI7ob7yFgaNR+QkqlNd6HxpyU26QV0b22brjAeoriY9A==","signatures":[{"sig":"MEYCIQCploOvV4syTdUoJ1+JfZCVLg0ldNM68oRwiGmHm8+hVgIhAMLUYbbvLYJsTuiYaxOfVhlp0Nmjg1kSCyNocOwtcyM8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/game.js","server.js","client.js","game.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"game":"./dist/game.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"9fd07c4d9c9e9e1e3c8a60300cfe1e10dc4e3e99","scripts":{"dev":"NODE_ENV=development babel-watch --presets es2015 examples/tic-tac-toe/server.js","lint":"eslint .","test":"jest","clean":"rm -rf dist node_modules","start":"node server.js","docsify":"docsify serve docs","prepare":"BABEL_ENV=rollup rollup --config rollup.npm.js","prepush":"npm run test:coverage","examples":"npm run dev","precommit":"npm run lint","storybook":"start-storybook -p 3000 -c storybook","test:watch":"jest --watch","postinstall":"ln -s $PWD/packages/ $PWD/node_modules/boardgame.io","postpublish":"rm -f server.js client.js game.js","test:coverage":"jest --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.5.1","description":"library for turn-based games","directories":{},"_nodeVersion":"8.0.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.1.0","husky":"^0.14.3","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","webpack":"^3.5.5","babel-cli":"^6.26.0","coveralls":"^3.0.0","node-sass":"^4.5.3","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","sass-loader":"^6.0.6","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.13.0.tgz_1513986905368_0.017186862416565418","host":"s3://npm-registry-packages"}},"0.13.1":{"name":"boardgame.io","version":"0.13.1","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.13.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"fa93d90487cc0fba3e25a976348a8b95133709c3","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.13.1.tgz","integrity":"sha512-/zcf/v2laJlXaYnaZ3j/20OlwRQWc/iBAAnQHv3HJBTkRJ4jnTwBiM3bb7y6Dxh6YFl73JpqJ6VIN/5OuI1qQw==","signatures":[{"sig":"MEQCIC3ZB02FbsiR2bE832tCuu9U55pyNHTVX49XcWUPR/71AiAs+bn7RI0QEG2zusmr3mMM9KWxUlPCY9p+ds70omBOSg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/game.js","server.js","client.js","game.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"game":"./dist/game.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"5120eda0754d6d70c7985fb0ae66760b7993a8d1","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/tic-tac-toe/server.js","lint":"eslint .","test":"NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","prepush":"npm run test:coverage","examples":"npm run dev","precommit":"npm run lint","storybook":"start-storybook -p 3000 -c storybook","test:watch":"jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.2.1","husky":"^0.14.3","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","node-sass":"^4.5.3","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","sass-loader":"^6.0.6","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.13.1.tgz_1514100938380_0.3224504345562309","host":"s3://npm-registry-packages"}},"0.14.0":{"name":"boardgame.io","version":"0.14.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.14.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"52b8ef1ac7ceb4ad54ec47070f2cc0527f385d78","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.14.0.tgz","integrity":"sha512-mrnzTnLfJqdglLRJqRluc/2Jdp6Og8a21It+9X17lvgrLDawBqDOCIL4lXh9ynKlHH7UOsQEqzsUSP2DdZDv9w==","signatures":[{"sig":"MEQCIFKeJXwM78lQyXzvNCRDr6vYSKejhP2/kc1HNO4cAz1RAiAy2rvo2B2jSLv38ATEli1I8Tv0ftEecFCPvPlo086dPQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/game.js","server.js","client.js","game.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"game":"./dist/game.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"ad163b25734c0931d645059bfbdc717464a4272c","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/tic-tac-toe/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","prepush":"npm run test:coverage","examples":"npm run dev","precommit":"npm run lint","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.2.1","husky":"^0.14.3","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","node-sass":"^4.5.3","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","sass-loader":"^6.0.6","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.14.0.tgz_1514174657577_0.5997738793957978","host":"s3://npm-registry-packages"}},"0.15.0":{"name":"boardgame.io","version":"0.15.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.15.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"35da615ae7d69d57393f892f52481629c71d95e1","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.15.0.tgz","integrity":"sha512-4Bh7Kh8whOwpxohOBLIfhBwwUYvpW8LVAipiYMl1v4wOaZzH841wo1YBP5yt3WRYdkRzdG2ROg6mu47ENwkVxg==","signatures":[{"sig":"MEUCIQDr+snE4AeXKXvfA0z0FcqM36qxmKxHWBl5Rld/zx/QPwIgbcBeJX8ZLUuZgBIGF0aA38WHBioRTOyGjJCbRzPWp5g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/game.js","server.js","client.js","game.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"game":"./dist/game.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"86666f3a94cace8ae611bb624c710228d1fffcad","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","prepush":"npm run test:coverage","examples":"npm run dev","precommit":"npm run lint","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.2.1","husky":"^0.14.3","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","node-sass":"^4.5.3","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","sass-loader":"^6.0.6","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.15.0.tgz_1514534920873_0.302991482662037","host":"s3://npm-registry-packages"}},"0.16.0":{"name":"boardgame.io","version":"0.16.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.16.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"e071e4553f08a4ac47fafae1c0a0729512ab17fb","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.16.0.tgz","integrity":"sha512-Df32sV8J+O9A/j1Y8NkOxmMHIUJCPthoBaUJW1BWDJeB3j9oWwNzdOQmIFE445ZmVq+u/A2d3l3VbZ4Mz4HJAA==","signatures":[{"sig":"MEUCIQCIPZ5QhUYY9Ssqn8kM7nNCd5H58QhoIpePNkK5zlU/lAIgWVLjO6aoMerCkM5R9H971WvseoNMZShNWjzu/wpn614=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/core.js","server.js","client.js","core.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"core":"./dist/core.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"7994a4a2f8b562cf4ee743879938d979132902e0","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","prepush":"npm run test:coverage","examples":"npm run dev","precommit":"npm run lint","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.2.1","husky":"^0.14.3","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","node-sass":"^4.5.3","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","sass-loader":"^6.0.6","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.16.0.tgz_1515365641938_0.43800039193592966","host":"s3://npm-registry-packages"}},"0.16.1":{"name":"boardgame.io","version":"0.16.1","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.16.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"3a176b09e2ede7734defd64dd6a6c5460559b517","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.16.1.tgz","integrity":"sha512-CGFUZrqVze6IR80WXqrg6s9lexbjA3zK8BE8LM/Rh49BFobH+2Hpdb/rhOimn7ax0yRb/hXJkfDBHPKgZBnHrA==","signatures":[{"sig":"MEUCIQCV28F1xVU1E2PSiim8UuS5oamCtYHbM90twzNUj54YeAIgEO87BXEhFdIab6QBBXpOeA4wOoPBxEEEAjMATWE21C0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/core.js","server.js","client.js","core.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"core":"./dist/core.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"32738d64144433596d870f97b82ba81af618e3d5","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","prepush":"npm run test:coverage","examples":"npm run dev","precommit":"npm run lint","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.2.1","husky":"^0.14.3","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","node-sass":"^4.5.3","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","sass-loader":"^6.0.6","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.16.1.tgz_1515630265556_0.953802217496559","host":"s3://npm-registry-packages"}},"0.16.2":{"name":"boardgame.io","version":"0.16.2","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.16.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"b07c6a3b322e50345287d215a28164bb1b196eb9","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.16.2.tgz","integrity":"sha512-wrGEE5PvML0BCc2Fh6pippuTmnVlRPVX73K1qvLx7vUSjq7bDCV212TfsBl64VXLcjYDVW5CPKNm3qQVjxka3g==","signatures":[{"sig":"MEUCIQDUTVEcidbshPbwcvVGq0ieudRHa+ILQ3fr9NAjV815AwIgHGGTVrtj9OpHA5uskPNqL9u2h1IjqRrdjwxgS+o/ooY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/core.js","server.js","client.js","core.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"core":"./dist/core.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"1ed7028d5f324422ddefd1a688a80bc598a7279f","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","prepush":"npm run test:coverage","examples":"npm run dev","precommit":"npm run lint","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.2.1","husky":"^0.14.3","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","node-sass":"^4.5.3","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","sass-loader":"^6.0.6","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.16.2.tgz_1515636088811_0.6462558566126972","host":"s3://npm-registry-packages"}},"0.16.3":{"name":"boardgame.io","version":"0.16.3","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.16.3","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"b81469a481fae2a3576ddd074844effb76729386","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.16.3.tgz","integrity":"sha512-6ROl5MdqJE/Qm5Ots/ZvD1QQwSyGbK8pJmFLtHT2IXE5sX9/fOSAXv/1ZeTSHO4iMCjsLU4PcsSFNuv4oaOrYg==","signatures":[{"sig":"MEYCIQCklMcoXpKYAK3FXlUV4wfDIb+EiljMRKZrqGuwlRLh6wIhAPoIvzcfFMnvH36a8EZbTn8vw85leFgipcLNqfQMD1O4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/core.js","server.js","client.js","core.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"core":"./dist/core.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"3a4b024e2bf6d0d619774ba6f7bb98d322e16fe8","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","prepush":"npm run test:coverage","examples":"npm run dev","precommit":"npm run lint","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.2.1","husky":"^0.14.3","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","node-sass":"^4.5.3","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","sass-loader":"^6.0.6","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.16.3.tgz_1515742524854_0.3876409528311342","host":"s3://npm-registry-packages"}},"0.16.4":{"name":"boardgame.io","version":"0.16.4","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.16.4","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"e21b3f8e64a3f13b777dcacd6f48e4d1e3340103","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.16.4.tgz","integrity":"sha512-ba8fdht7UaF41hYZpL6ZVwL96jRTPEwwp2ulteQ6zbc9XAwivH0EeaIj4dBDQoGPZiijWDL5e6cCYkv1iLKIJA==","signatures":[{"sig":"MEQCIGbvcT2uhurPDTW1SiEtJSHMU/mKthwwN35u5/cXPHTiAiAn22auDz2CMyOHW9JIOgIn6ivBqFT1qDCUkgWVos3Ryg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/core.js","server.js","client.js","core.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"core":"./dist/core.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"3aaa5b134590053ba500a2191fc81259fba63058","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","prepush":"npm run test:coverage","examples":"npm run dev","precommit":"npm run lint","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.2.1","husky":"^0.14.3","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","node-sass":"^4.5.3","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","sass-loader":"^6.0.6","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.16.4.tgz_1515810406245_0.25637619639746845","host":"s3://npm-registry-packages"}},"0.16.5":{"name":"boardgame.io","version":"0.16.5","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.16.5","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"b83a54b3162a185c619d4cd4e61a16b859a7ec14","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.16.5.tgz","integrity":"sha512-6t5gSERm1YtH5rnLludD/Wqnx7iH+TIdMs5HtpDmsOLK0quJchxVqrdoBXdu9emFgzwtbGtVk/8YyU87pa/4Qg==","signatures":[{"sig":"MEQCIE7d4VIxYF7ZVp5o8vLgYDIzAIVzx77OMxsXSrTawFOSAiA0ag2LCSWV0EhzSOCc4vXVFYRgceeFKkSMSDraiH5nHA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/core.js","server.js","client.js","core.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"core":"./dist/core.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"5e54a529f53d1e2242041443b2cc02c52480544e","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","prepush":"npm run test:coverage","examples":"npm run dev","precommit":"npm run lint","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.2.1","husky":"^0.14.3","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","node-sass":"^4.5.3","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","sass-loader":"^6.0.6","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.16.5.tgz_1515882626741_0.9867106599267572","host":"s3://npm-registry-packages"}},"0.16.6":{"name":"boardgame.io","version":"0.16.6","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.16.6","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"e7af360902983802a93e377c44a809baffdc14bd","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.16.6.tgz","integrity":"sha512-Ag+IQEUcjv40Mzc0kBp+riDVrZQNVFLacs1C8R7W1omAENo4l2ePlhtz4sDT9bBYQD/O+6lAruv4z/Q0upvFqQ==","signatures":[{"sig":"MEUCIQDstc+Rw/HtriQYfmMGSMWKyBCqNRm3i855Hlhg0qjLggIgFmQVxVDbxV+RwmQwgO5a4wkNs6iZq0xOUK+RVzkyVzs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/core.js","server.js","client.js","core.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"core":"./dist/core.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"444d5d659d71929f6146a50eca7c9773b3fc38c6","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","prepush":"npm run test:coverage","examples":"npm run dev","precommit":"npm run lint","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.2.1","husky":"^0.14.3","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.16.6.tgz_1516082220687_0.15168271074071527","host":"s3://npm-registry-packages"}},"0.16.7":{"name":"boardgame.io","version":"0.16.7","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.16.7","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"db2409c33a9ac8efa5a1f2f90fc626d5442c5a29","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.16.7.tgz","integrity":"sha512-/mK6xqzVS7xUdvNnRaIN7HlVP3wqLMVQlkAiWanjuLsGTvX7euj85nFYFHd3maiqAKtpFdTg5gl9s9FFzPs5mg==","signatures":[{"sig":"MEUCICc9dgeakYc89ODN3kZ72JUy4GNYD0escMoF4yN6gnbdAiEA9cX4PLn4zhQF/tcrq7xUrTKiv79BGtYAAHqMwVQ8muo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/core.js","server.js","client.js","core.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"core":"./dist/core.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"62e7af46cc7079766b5298a57e6592ebd74f5459","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","prepush":"npm run test:coverage","examples":"npm run dev","precommit":"npm run lint","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.2.1","husky":"^0.14.3","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.16.7.tgz_1516084737970_0.3622544757090509","host":"s3://npm-registry-packages"}},"0.16.8":{"name":"boardgame.io","version":"0.16.8","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.16.8","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"004250ae8b70b4a8e49f609699ee3e9b76f870ad","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.16.8.tgz","integrity":"sha512-3ugfXwvrmR2MijQG+uLFrsmN2892DdAMX1PPIYrXaMz9NBSEMvk5eFUrEWpDeCvSSkIP63in5kN2aogDhkol9g==","signatures":[{"sig":"MEUCIQDr7rhugENbU2sqZcvGcQc32cw35htLQa5zPX1wGkVr4QIgcEuZplu5FtZfqvOHxQA4wnh8qDWSm/QF+a/77JYfC8c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/core.js","server.js","client.js","core.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"core":"./dist/core.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"a1d64e6aa141f08a1a87a070adf84b72e948ff71","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","prepush":"npm run test:coverage","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","precommit":"lint-staged","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.2.1","husky":"^0.14.3","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.16.8.tgz_1517035447331_0.9417021519038826","host":"s3://npm-registry-packages"}},"0.17.0":{"name":"boardgame.io","version":"0.17.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.17.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"084a2f60527b0d612e267f365b1c5fee0c6ff6a9","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.17.0.tgz","integrity":"sha512-h31JbhdNbHr3MHtUHhP/BJs2FaiQb8i31wlI8l3eWKI2wiW/rH5AD73+u+IqLahx7BVtedi1hpFKzxgVIZko+g==","signatures":[{"sig":"MEUCIDk9cmH6Rk8qkXpQzZ20si3HlXOnHbBotG9eiehCLt4MAiEA+w+OdMYvykKw3C1U0DE1CV+zDRHCxbft8waz4hx9SDI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/core.js","dist/ui.js","server.js","client.js","core.js","ui.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ui":"./dist/ui.js","core":"./dist/core.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"a691746bfc92642b3fff64aad3d99788f0598ac8","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","prepush":"npm run test:coverage","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","precommit":"lint-staged","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.2.1","husky":"^0.14.3","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io-0.17.0.tgz_1517713154847_0.21298209391534328","host":"s3://npm-registry-packages"}},"0.17.1":{"name":"boardgame.io","version":"0.17.1","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.17.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"7c85b79c572598b905d01b33b97d8532dd9784fa","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.17.1.tgz","integrity":"sha512-Go77Ytzsq6NA0bc+JlClvfx2cEzL6sYiR6CktpPdlw0KP6f3U1wal9uLbfcaDBV7q2VfivQTdbmWML4FKM1NeQ==","signatures":[{"sig":"MEQCIDx5xlMVc+6yG+GrHsXHNSZ4w2pi+3x5FK+XcB/KtIKwAiAOfwKGu3E9paKJOxptpOroW7F/+3AilBKKrRHXtVvQcw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/core.js","dist/ui.js","server.js","client.js","core.js","ui.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ui":"./dist/ui.js","core":"./dist/core.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"6ca3e75cb87a820ba4e154537fd9f2ff0fa6a51e","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","prepush":"npm run test:coverage","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","precommit":"lint-staged","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"devDependencies":{"jest":"^21.2.1","husky":"^0.14.3","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","babel-preset-stage-0":"^6.24.1","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.17.1_1517980516310_0.736235230567464","host":"s3://npm-registry-packages"}},"0.17.2":{"name":"boardgame.io","version":"0.17.2","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.17.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"03162630429ca591601990c6096e786de7cc1af1","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.17.2.tgz","fileCount":14,"integrity":"sha512-Yax3O55SeK7VW2I/myvcRTHv45lQxH24PfjcDHoysUM0O81GzTev9hCe4/wq6PNuen85biWstco3EFsZgvvzmA==","signatures":[{"sig":"MEUCIA0iaZ1qhBn0scX8LgGeaMxh78a+Kk6+xlAHw2GQSzzjAiEAlrnQzmZ4V3GzrixmfCm+uqkEcG881Wdt8XQLZXX0kj8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":574806},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/core.js","dist/ui.js","server.js","client.js","core.js","ui.js"],"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ui":"./dist/ui.js","core":"./dist/core.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"6be8ddd66a8378a0ecc908eed3c099b4ef5f052a","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","prepush":"npm run test:coverage","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","precommit":"lint-staged","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"8.0.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-redux":"^5.0.6","react-json-view":"^1.13.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.14.3","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.17.2_1518397642952_0.9057559140256559","host":"s3://npm-registry-packages"}},"0.18.0":{"name":"boardgame.io","version":"0.18.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.18.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"1524132bf8519bba0ff10ed3e0cc8b4cee600125","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.18.0.tgz","fileCount":15,"integrity":"sha512-WcFsXKFQqrHCy3wgYInF7gTACyifYUmPheBGIppk8h9H7kbtxDG9qxAoAjQkbad7ykgu3pFolEh+7HOOK+XOjQ==","signatures":[{"sig":"MEQCIDPhczZcJFK8KfhS2CPFq8FfsgyVehRItk4/rR/pvGwvAiAy8ivxx8qBAMn9maHnRXlzU3gULzfQiJ0Bq/tGQPJ1Hw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":582740},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/core.js","dist/ui.js","server.js","client.js","react.js","core.js","ui.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"abb048b5a1d8e5d958a0fb20dd2350b7e7c7fbfd","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-json-view":"^1.13.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.18.0_1519726173679_0.585064656274725","host":"s3://npm-registry-packages"}},"0.18.1":{"name":"boardgame.io","version":"0.18.1","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.18.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"81b4c13c6843672b27a53e50d874932364d9b45a","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.18.1.tgz","fileCount":16,"integrity":"sha512-XB3xHaqrhWNWU1BVDICQ1Ya9DVQy0sb3YEi52kzm+rRqJZhuFwR7wdxaQE7+u7PtnEJ5AfDeu4hqGVwanG/7pQ==","signatures":[{"sig":"MEYCIQCYrtMc1+Vxu4tWCUeRGCnYjciwqfY7d+8smGEHIF9DlwIhANAhiOFpr17LgCsDp1p66aSwQznJnVamAlyUUd7Ac+L2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":639866},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/core.js","dist/ui.js","server.js","client.js","react.js","core.js","ui.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"9258f3ddaf6976086d04f7975c730f84e9c747a9","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-json-view":"^1.13.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.18.1_1519732823100_0.08758460045175354","host":"s3://npm-registry-packages"}},"0.19.0":{"name":"boardgame.io","version":"0.19.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.19.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"f5a098d4b469d81ba52929c30d2edd5a5f668931","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.19.0.tgz","fileCount":16,"integrity":"sha512-W98fxCKBsSDfGYGP06ZTvGEo8w1aGM6vCmYgsapdQpuMdlIzhr3KX97Ko0qOniEc+yRrVdFKo6CU1xOj4pXeQQ==","signatures":[{"sig":"MEUCIQCqTDx48f/M6Mh5tlXOmOp8ohbMni6K7TAB+STh/VqJ+gIgExKviHp4dHTIaYRnnqpUwJdRvMbImsSpcwi/Y1X4lTk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":644485},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/core.js","dist/ui.js","server.js","client.js","react.js","core.js","ui.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"8dee3f54b7fd1a0a44cfde421e8a8346f91ba37f","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mongodb":"^3.0.3","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-json-view":"^1.13.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.19.0_1519899050052_0.7789989181701555","host":"s3://npm-registry-packages"}},"0.20.0":{"name":"boardgame.io","version":"0.20.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.20.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"e4429a0f1d3fe42da4e95a84715a7b61b30a2d2a","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.20.0.tgz","fileCount":16,"integrity":"sha512-u78abxlmQiSf4gMmDMHx7MgPyFFI5it5/ItgjlRBdfdaV2GqYJNdMjH87tUcXyL5QNUhOSu694IhcvGL+ph8GA==","signatures":[{"sig":"MEQCIHnbcQvfeJFSzz4kRfIF+A5w8Ng+UWwdNmt1pZR2uyhMAiBQaZyMNf2Q2jqmaQriG3gVAeWcvDBmXpqAJGX9uviHIg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":648915},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/core.js","dist/ui.js","server.js","client.js","react.js","core.js","ui.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"9f46afd631db743096a107c6bff11a686848cd0d","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mongodb":"^3.0.3","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10","react-json-view":"^1.13.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.20.0_1519910288720_0.19689092473148873","host":"s3://npm-registry-packages"}},"0.20.1":{"name":"boardgame.io","version":"0.20.1","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.20.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"3c2045e729d9c7f37e2e55031f3a409f6c39eb83","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.20.1.tgz","fileCount":16,"integrity":"sha512-Hqp2nzqiHLTspurHTnC4hXMWEcvNBeWNvJ5w+n/ZKAD6UgfpJAWfaOVCeN5fphLeJZmfJ9h83dAeOpaSVDb48A==","signatures":[{"sig":"MEQCIA53fWsXYIk2pNbY81snI2XwFlYgidbteLWo1u6hExdQAiB5NljiyJFN5v/FrI6v+c8CAbzE3vNtUK0yw+Cm57qYcw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":500525},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/core.js","dist/ui.js","server.js","client.js","react.js","core.js","ui.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"07c4a5c588829bccc4908373caa5b86a6ef827f0","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"8.0.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mongodb":"^3.0.3","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.20.1_1520855385211_0.7707962977009899","host":"s3://npm-registry-packages"}},"0.20.2":{"name":"boardgame.io","version":"0.20.2","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.20.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"848c2e5e32fc2301cb9deff9f849772e5885cc72","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.20.2.tgz","fileCount":16,"integrity":"sha512-xaIFFkKm/OVuapipsrTw29ojmilrzqu2dvTlpYYG5R1QPIC0zuL6nR530HNtzjBuIa/dYUVG7RqQcHYSyG8WDw==","signatures":[{"sig":"MEUCIQDiANfpVaT/QcU8Z34PIjKq9coluwKjP21V5iWLJXYE4AIgUOO1ICOkAPYeaZZnjwPy7VfD7ZlZHpkPXNkFOJ9x18k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":511321},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/core.js","dist/ui.js","server.js","client.js","react.js","core.js","ui.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"5c0428c20a9231eed71e637f2edf6891292f7c66","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.7.1","description":"library for turn-based games","directories":{},"_nodeVersion":"8.0.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mongodb":"^3.0.3","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.20.2_1521093978140_0.6938884741218856","host":"s3://npm-registry-packages"}},"0.21.0":{"name":"boardgame.io","version":"0.21.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.21.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"0f1d34710fa71812d00549955743e1820fc6fc64","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.21.0.tgz","fileCount":16,"integrity":"sha512-MhdQeoWwXNnGTNxjaNSmtN5uHkorC4EMP282NxceYMZixt9YZQuDFtUA+qDM/ExcDSDASvW8/YeNNtCWIJ8xaA==","signatures":[{"sig":"MEUCIEqwT/0qxgs4I8J98AxsWXnMzZn4c37+/NWNpuy5f4IkAiEAj/e+fMmYNf1Fyjdo5h4A0j0K8/u3eDTQQAVEkXULDbQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":563797},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/core.js","dist/ui.js","server.js","client.js","react.js","core.js","ui.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"47123a9bcb63d7c485ab6d29c92ca573ae243589","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.7.1","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mongodb":"^3.0.3","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.21.0_1521547088150_0.06342379406788612","host":"s3://npm-registry-packages"}},"0.21.1":{"name":"boardgame.io","version":"0.21.1","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.21.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"3ae2b6eca1dc5a57c5dd411825e5f04e269d8277","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.21.1.tgz","fileCount":16,"integrity":"sha512-J/nhKbOFAmaCU4SYNr4oMNagaTwowIFb4ujdNuJwxuMQzvUrTGbADu9INcuziIHXn4GptBoDtn/jrONka2jEVA==","signatures":[{"sig":"MEUCIFYXUauWZQX+m/NfybgDJBCBD8I4PjCK93rBm97TDM9yAiEAshnWWns+m+Q7P7cei/WtZDUm8NKaCRSkUGGFSTOAdio=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":563830},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/core.js","dist/ui.js","server.js","client.js","react.js","core.js","ui.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"1872bd494d8480b237493c345cceee5769f10824","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.7.1","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mongodb":"^3.0.3","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.21.1_1521608228957_0.46696385472649937","host":"s3://npm-registry-packages"}},"0.21.2":{"name":"boardgame.io","version":"0.21.2","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.21.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"399c5609e1bf192a7a3d498f52f3cad51766dd6e","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.21.2.tgz","fileCount":16,"integrity":"sha512-94xcJnDPDrdf2PUoAOkb4ZT5JCDQ46eO76nIVwp16GhQG/Ek0uEsHD/ImszhRoAtoqcayCrcIrPU/SV3V/ce8A==","signatures":[{"sig":"MEUCIC9MfixtD5w3VPtweST9hrpwtxprlkGs/N5gV3Iei2ZsAiEApOtWMgTOcVMh6fy1Vn+abXBtktYM3VGRYnDKGxCGbCo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":563830},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/core.js","dist/ui.js","server.js","client.js","react.js","core.js","ui.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"e5c567b72f17abf7200f5c41896a14d048434b5f","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.7.1","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mongodb":"^3.0.3","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.21.2_1521610737063_0.747326321923816","host":"s3://npm-registry-packages"}},"0.21.3":{"name":"boardgame.io","version":"0.21.3","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.21.3","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"dbe4d457d8f812633739c2f45c7783ac70e93e1e","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.21.3.tgz","fileCount":16,"integrity":"sha512-DnnYaFQiTbwjHS19RYqdXNfGpd6yr0JINGf+wOn5gUYYG8d50dI0c5t4D2veuqBaeIfkSIGDjFGmQCMlKKVybQ==","signatures":[{"sig":"MEUCIQCkRBYgKml2UE7yE6NW6Ppff1xIzvI1tkP1VCEzo+SzkgIga8o8a4vqw1ZiOuW1WBoz2Gjc9EPvI+GNAuIfLB84iug=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":576058},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/core.js","dist/ui.js","server.js","client.js","react.js","core.js","ui.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"e9ad424eed63c6560ccedfcbde876f6ae0bb0e0c","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.7.1","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mongodb":"^3.0.3","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.21.3_1521889496612_0.8843155122469457","host":"s3://npm-registry-packages"}},"0.21.4":{"name":"boardgame.io","version":"0.21.4","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.21.4","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"798361a36256ab6a2778c8e641c5ea4a1941762f","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.21.4.tgz","fileCount":16,"integrity":"sha512-r4k6aFNrNyPePXgg5dGhDRoA662h0LqP12q/MSsbil7LcWFDdpdAl38Xx0STzsJHPXnxOLauT3mTXZXU+jJNTg==","signatures":[{"sig":"MEQCIAz0Q/0gIqZWarsVkJWIs7XJMskQxw8YCzZYmBmNB9wzAiAIpoCQV7SrmmGFqN021xdn7fx1XhwWsuNTy5WA1MEoPQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":580456},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/core.js","dist/ui.js","server.js","client.js","react.js","core.js","ui.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"e898241e5068e61a783ac0f55d9bf8b3fdc70031","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.7.1","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mongodb":"^3.0.3","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.21.4_1522163921474_0.44112473956386977","host":"s3://npm-registry-packages"}},"0.21.5":{"name":"boardgame.io","version":"0.21.5","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.21.5","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"2004c89203003b70577bd7695114cc9adfd951c6","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.21.5.tgz","fileCount":16,"integrity":"sha512-x4xooGi8lxAa7olcpOLDPXSBf7O2QcHZOFXk/99XtedWDbMwviW5ZJnbi0p4XcipbRf55FsQiJEj5E839eAdfg==","signatures":[{"sig":"MEUCIQC/4tD19ohzIwzl2ZJp8Jqfjv0aU7+mUOMysp9DomuDagIgTWqzvwO0Ae1u4fdzE4hPePu8uXgQdP9kDUJFAbl52AU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":580478},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","boardgame.io/game":"<rootDir>/packages/game","boardgame.io/client":"<rootDir>/packages/client","boardgame.io/server":"<rootDir>/packages/server"},"testPathIgnorePatterns":["storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/core.js","dist/ui.js","server.js","client.js","react.js","core.js","ui.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"4535f9527cb0cb8f5a3a1b791db67ce23452f857","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.7.1","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mongodb":"^3.0.3","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.21.5_1522164346447_0.2978152780732759","host":"s3://npm-registry-packages"}},"0.22.0":{"name":"boardgame.io","version":"0.22.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.22.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"0bb5c7a8a2879a86673c5e43476eaf780aa03ebe","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.22.0.tgz","fileCount":18,"integrity":"sha512-DQfe2aQucbzArcnusdicoi1PHywl2wkseous//sLwLKf0EDZ+ORNIA8eLHM5uH+cdyu5nvsV3Fa5WPewZ6LfsA==","signatures":[{"sig":"MEYCIQDT4M8vrBJ/Z8h2D0pKZit+yyEleqpmTo9VORYQ4strRgIhAPrACcqK//cTzs3E5+A02mwNUgNBXpsJPUSSXHrMbFnJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":621349},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/react-native.js","dist/core.js","dist/ui.js","server.js","client.js","react.js","react-native.js","core.js","ui.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"c0615b84887925549596e7268cd84e45779e6245","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.8.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mongodb":"^3.0.3","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.22.0_1523162839586_0.8704139667184478","host":"s3://npm-registry-packages"}},"0.22.1":{"name":"boardgame.io","version":"0.22.1","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.22.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"baca3cded66ae71f9920e416663c50ff8c0b9ca1","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.22.1.tgz","fileCount":18,"integrity":"sha512-akwNnE4QHDpBMPPRBjXNQzoc1n7P8aZr6n2kNebOLSdsineuklpZGd7QrvHNg6DeNLE6gPiwvDFhmaP4SeoYpw==","signatures":[{"sig":"MEUCIQCASjhfhXpe2FvRT7HBSleYSgiVpNsj+0NHxo3RnF3//QIgUP8GMlTv/9Nb5P5GuC1Ix3rZQWcuf+G6g7oxq4mkwKQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":623291,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/EMTCRA9TVsSAnZWagAAuCUP/2HCSSx/e3mr+SitGmGc\nuFbmZ+VeVK5QRcxo2RTteYuPYlISgFv53mDG+hDgpQ+4ZEXrws07RpwoEZ/M\n0TUMc/hNsecmkbplka+T1DoNPlXcldtrdXyiW4EWkf1L6BJCYpLloAGzhiAt\nZEZ/gPtUaB/9qkyopjX1MWPgoUoGyt1kKyZ+3laqM6blDRhXLijvL+Jl202u\n5ldQ2u72irXzPZMLrNbwWVcG9lPs4lmSSQEakn7bM94mKn9CCgWyIlxBo/Yu\nyUZWrUCqG6U0EfvAfOFLU7x94QRLGyzUmxEOHDu4Rt3d4OqCGUxPIDolqunF\nwLOqlcKv2cTUlGdG+oVr+4SYXRF9qjC1dbGOKdMfsWIliPPIisUB9DrCDfTc\nDGAL6MxykMTxM1t4AwasrmEFWEuIPxL2vGa1nAr2B89kbAkpU7vqdQCQjf+C\nSQdu111Sd7iy/315BxqiBPkaikGX1jkIRCd4kWPWEsQ5mABzwunykL/BU/nI\nHq6FAZl7+hrUKbbZw6Z37N7KI8px9sjwN3RFZVeSFAzKX5ZAPrcScfSGDtzc\nRYOM0l77EWezjXGx5Ki1P78a45JO4aCqxUZXujUATgaQl+hLazq6otbtx8Tw\nYWZGTH9hej4duScG+rwd0K7NAveJuAQ89shIammFEALdwbijiG+x1gG0niLo\n6/02\r\n=+8aD\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/react-native.js","dist/core.js","dist/ui.js","server.js","client.js","react.js","react-native.js","core.js","ui.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"2710e560747bd2aa822a19cee54e35d23b7c709e","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.8.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","redux":"^3.7.2","mongodb":"^3.0.3","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.22.1_1526481681643_0.4081518528204373","host":"s3://npm-registry-packages"}},"0.23.0":{"name":"boardgame.io","version":"0.23.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.23.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"18fc3dbed9056c8e2dbcfd6461e3d4c78bfc9e31","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.23.0.tgz","fileCount":18,"integrity":"sha512-58YbBLk2mBFQWvVPGu8Rc2VTmRlEFW+L8OGxRV8mWMK9JxQz82e5GY6YYBRRB3IggibCkCD+xwNa61vyftmZaQ==","signatures":[{"sig":"MEYCIQDkwQZP/FloX8USPO1+xtIMwfdpIBqgrz4oXrlmcfGWcgIhAJ9Cupl2kzooX2hJFdsGf0AU0bSRG5R+D+tWaDhIPXH1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":694137,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFUbrCRA9TVsSAnZWagAAQMYP/R0ug8qlv4LN3++nPZ3r\nK5bUEHGw0yT3b6RKJYQ8/seSR+T5HRiZwOWnLJTX4oRbXx6Olx/G00flmVzB\nITYgdWjnNsJ8yVn44Fkv3A+FExp61rC54yP9IcOuP1kExA7SWdZB1Zyq4fHR\npJacvVv2vtd+LQ4/2lMZhP61yonTKqNV2UNqPc8x5hf3gkNNGtXzo5E7tH0O\naU2A+uwlaCp0OojgueXWFJg0/qiccmxB/F4N+cWV7h8CfTWTdqHdGQ9VGyeW\nMCqUnWSQe6XJmZYUg0oX4cqXJDYx0aU+vnR9Krn7ARC8ih0tSNLHZOaqM1d8\nMx1cKSF16SSQ4P6CRgR4F1v+EZdoDmx1hqCeGhmo5RL4KF9Dc/Cz+x4lPJRr\nUL15CNj5D2rsH1S77Z7QGnXZ39bSAXwIsTWqBrcnnL7V/Yrx7t59HuMVletF\nAGSzs+Cawh/tfj2P9Z/CMA8ltxKyzIcD5tovRZUHZ8t8xNtgFrkPKbZ2L6RT\nO9RcHhRhMs/6NxHSuU1s5x04UCJ3LNPnCitrjqmx7OKAkTBEuwWDPxfSzNdY\neqFhHu/7LgyE5ATqVORAcjxcK9CaxgRcaDGYqTPYV3AQmn4GIuSoxQxfDjBu\ngGu2wcrQZbiRNReSkU2T23ykwbEcpsP3naWcq8XwwSSAUpqOglTiOs24H0uh\niyr/\r\n=rfvq\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/react-native.js","dist/core.js","dist/ui.js","server.js","client.js","react.js","react-native.js","core.js","ui.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"cfd2b19b1adea358f2298419b1bc2dc741f115fe","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.8.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","uuid":"3.2.1","redux":"^3.7.2","mongodb":"^3.0.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.23.0_1528121065938_0.881909229722309","host":"s3://npm-registry-packages"}},"0.23.1":{"name":"boardgame.io","version":"0.23.1","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.23.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"743d9743d1932fc6345537e50a94ea144815a94f","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.23.1.tgz","fileCount":20,"integrity":"sha512-B96uS6Ae/uVQK9egcz5/Xd3snGQvRTlBy3sXdNvVuwGNCPlkHGxrKPYpBvZJRlvPFpZlCMw1+PZ9mr/tENDe5w==","signatures":[{"sig":"MEQCIDK2oKpId4DVQjrQxkGaA8TEgdUeJkZtcF7L5rqV9DD3AiB6Q3G3+0MSrL33L9C4gWU+YbeX54pwebv8aIXTY7u21Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":734350,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFVTcCRA9TVsSAnZWagAAfXgP/1H0sXEjsb/s2BAKGEbi\nYiWS8Cc3qwy/xQARRi2CZC3MBVej+ISySFPGnahwOGLpWlAWpiUqcT2pWg9X\n7lWhpMh48VODvhHAtQzeMegLmwULOXdddR6Xtp+gHJquXmpySADZlcL247Kp\nRh5u/VNqBt0CB+igzcG/1u0HCal1on+TwdPblIwUquEF7kqP5rYoykCqPzCx\nVeSOCcPUTtBjyJa0KWFaCYonKTiVORflLZqS94OkZmShNBEHLrqbK+ZoBXh6\nFbLQGNWkRKzw+6emzp7CVCi6XS7NF/Y1cZfK+LAriyp1+HdxrdLF9gfo73gF\negT2lyPprmyv+lDRgFyHSDzOKC6Mag7pB+uaheyD4SIIIPf4wORm2ZBOrVzI\nXt7C+oAi0LqM2CSDcatcAleLCH+zhG3H5iUVSdnYG4t/wTNSvRsGGvbuHh2g\npqetiUvnjKDOpS4/wjv0rmMCH4opnzZJ33Z/aDeHKdU5iTle0Z6aw/nN3xhZ\nvYZT9taLThoHNUmgIkVsfh0syd9AIN4f3mX+UOxDW9SNQ8yb9Tl+nU7TRLR9\n3s2PIZB84igatoHcaKwuPBOzPx4E8JVggEQkid60EDCbUgk4KaJaEnU6qghs\n1ryKXbQ8qZGAxd4cx59aT0IQMnAyUnpjIgvZDzgNG05imt3dWgque+BW/k5t\n2kCz\r\n=qyOE\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/react-native.js","dist/core.js","dist/ui.js","dist/ai.js","server.js","client.js","react.js","react-native.js","core.js","ui.js","ai.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"24e2241ccd291ddacbefebaf7792f48a5f358843","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.8.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","uuid":"3.2.1","redux":"^3.7.2","mongodb":"^3.0.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.23.1_1528124635971_0.1046448237624491","host":"s3://npm-registry-packages"}},"0.23.2":{"name":"boardgame.io","version":"0.23.2","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.23.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"4094f3adc24e07dada3a0f82565f7d7e2adecbee","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.23.2.tgz","fileCount":20,"integrity":"sha512-r+V+VyJ3B9DB11j/FvVFE9izkCTi2to14o4awbXlVlfh7RgoLI+rElKvKY66korTW4SwzhqDDB8h2eRIM0TEhA==","signatures":[{"sig":"MEYCIQCDpRsiZtHNtSGGrTL4WFBUAgr8q8Qv0hl3mNpTbxJkWQIhAJglbr6uDCIhUlZUFcjbp/QCSDbEbelM6PXZGyqsO8iK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":734347,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbIzM1CRA9TVsSAnZWagAAT6sP/Arg5eu3o3dKvJy8Sl7a\nb/NB8rzW9BN9RsDNLT7YPRlUT04pfmhHE6kh+HHKXDzBRKSnIS3le611OXOs\nDyhus6pdXMaksC671pk2l5+5ivLJdQqvGG1LY1TsLaSl/zLQHmb5Uf1NBRLT\njrPuTwqb1eS1AB+Hzq55BDqlBpZ3+JXWbvl7VJvkcO7k44JcIOf83fLN+axm\noqo6MK8EZUb1YpxOKhn3mhv2e94qeUg2bltdUIRCtzlQHAfbjGwGHEJ+/GtU\nvH0KF/EpDRTSp5WId96nLlCMJRGXmJjQA5zJivd6s805jSPhzd13+TZ0yhRq\n+DCVDnEcYEPrN5hu+iyPNI5vCuW7cL75Zf8jigQIhf/DzZY1YvQQo2gzyjs/\nmbwhJvs/6vyZhlb6CX35Y5xgd8KGGeFsmu0EyLHr+Lcv72E9u5zG1Esj426n\nkO2RQXYRPYxnT1uht77T6YBgEOc7WS4wp4PCVdb/pnsBRwQ0S2qimQAQgyYd\npqbtdBSE61ucMXgAMlC4GFtgUg6wnaesbwcbwMNe6RHMywpVM+v/0Ay08pJ0\nQqKvY8d7DHNCd7rKGmKDPIaN9Gm9VSujipESoWqjmuBLFJv1BkOJDK/rYJe/\nwTZPeBf0bK/HpCuU9q+p00eaXDpZ3aawxIabMFLZmSvDWDTPLpS56gpYphpD\nFFR9\r\n=kBLH\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/react-native.js","dist/core.js","dist/ui.js","dist/ai.js","server.js","client.js","react.js","react-native.js","core.js","ui.js","ai.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"e4d4b233d5a1f6aef155c26da53119bdb1b41ea2","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.8.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","uuid":"3.2.1","redux":"^3.7.2","mongodb":"^3.0.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.23.2_1529033524484_0.30333471215250274","host":"s3://npm-registry-packages"}},"0.23.3-canary":{"name":"boardgame.io","version":"0.23.3-canary","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.23.3-canary","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"6086ea225195b1b821aaa68a6eef0550482aad94","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.23.3-canary.tgz","fileCount":20,"integrity":"sha512-JOg4aj/hFbDgUnPRGvwxU5e1CJFYqnA3Qv2uEAVqACneasoiifCXCqCVPbTGlGCj/Lq3GSvNwAqY3w7z7lyFMw==","signatures":[{"sig":"MEUCIQCaomLwfdDnIgXNvw/X5DS6OxnyE01t5hreia1TbMODaQIgUKFPkP1JQww0uaTYC0g66m1zPV7qAd5zc4z5QQnp7NA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":734354,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKQGVCRA9TVsSAnZWagAAQT0P/2v2UqMtFRrX6hpNnQVW\nkFekQjDa4OzYPtofjB5UnWdV5JL/7w30snESoZrEEFo/ktwZrNyIA91gx4yc\nBDeIijiGGPJG5s3yWKXsGD9u9I4IQVSGH/gnfM41NjnTuNXJK7sLSNnUeJNz\n0b7D1Rt4T/X6041OeJtEfyQbGpEpdj3m+QlVuM2QtEXE/06hJer7OuJC5GfI\nyoC8hSdqLTcknaDYWhztJMWdANv4J+wBPZWD4M/iG5JrKIeTOU07fXI7HHo9\nemy3vWZvVtmxhhk6iA7IPmexRPoCc65ffTUsRWQ5aqoHwmSNYtY/sHl2OhmS\nV/uN3CL89xZ1sPVAcND6z3aI2hQyOgRvDrl5BOCyUFXto44yC+4g3QSIPs2N\n0G6c7i2EpNd69RNfTIalwahA4wEq13Eh/UtvXoBKpfPZLwUJKFqEsCj1tH3R\ntbGe5ED6oekVwU35MACY8wa4bKNaRqfirc1VKqcNLa9sf97XoFwazAX5BJXl\n6F5CLUaJFiH8IxpN1tWdwnAz2CBbQWEJZ9id467ZunCwTHy4mEZMAUTqr423\ncZjdfWzBnOoUesHRUhJOT3JsHh5RzTrymBtwiHKP2b9PH0+lP5WBamUgXG8f\nQaelpSj2dneZqGO86psHJwMXJapLAWpUrh+A8MLZW3dnsXGYod1LLtnPD311\nXUT7\r\n=nCoK\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/react-native.js","dist/core.js","dist/ui.js","dist/ai.js","server.js","client.js","react.js","react-native.js","core.js","ui.js","ai.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","readme":"<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/google/boardgame.io/master/docs/logo.svg?sanitize=true\" alt=\"boardgame.io\" />\n</p>\n\n<p align=\"center\">\n<a href=\"https://www.npmjs.com/package/boardgame.io\"><img src=\"https://badge.fury.io/js/boardgame.io.svg\" alt=\"npm version\" /></a>\n<a href=\"https://travis-ci.org/google/boardgame.io\"><img src=\"https://img.shields.io/travis/google/boardgame.io/master.svg\" alt=\"Travis\" /></a>\n<a href=\"https://coveralls.io/github/google/boardgame.io?branch=master\"><img src=\"https://img.shields.io/coveralls/google/boardgame.io.svg\" alt=\"Coveralls\" /></a>\n<a href=\"https://gitter.im/boardgame-io\"><img src=\"https://badges.gitter.im/boardgame-io.svg\" alt=\"Gitter\" /></a>\n</p>\n\n<p align=\"center\">\n  <strong>Full Documentation: <a href=\"https://google.github.io/boardgame.io\">link</a></strong>\n</p>\n\nThe goal of this framework is to allow a game author to\nessentially translate the rules of a game into a series of\nsimple functions that describe how the game state changes\nwhen a particular move is made, and the framework takes\ncare of the rest. You will not need to write any\nnetworking or backend code.\n\n## Features\n\n* **State Management**: Game state is managed seamlessly across clients, server and storage automatically.\n* **Cross-platform Multiplayer**: All clients (Web / Android / iOS) connected to the game are synced in real time.\n* **AI Framework**: Create bots that are highly customizable and debuggable.\n* **Game Phases**: with different game rules (including custom turn orders) per phase.\n* **Secret State**: Secret information (like the opponent's cards) can be hidden from the client.\n* **Prototyping**: Debugging interface to simulate moves even before you render the game.\n* **Logs**: Game logs with the ability to time travel (viewing the board at an earlier state).\n* **UI Agnostic**: Client API for React, React Native or plain JS.\n* **Component Toolkit**: Components for hex grids, cards, tokens.\n\n## Usage\n\n### Installation\n\n```\n$ npm install --save boardgame.io\n```\n\n### Running examples in this repository\n\n```\n$ npm install\n$ npm run examples\n```\n\n## Changelog\n\nSee [changelog](docs/CHANGELOG.md).\n\n## Contributing\n\nSee the contributing [guidelines](CONTRIBUTING.md). Also take a look at the [roadmap](docs/roadmap.md)\nto find things that you could contribute to.\n\n## Disclaimer\n\nThis is not an official Google product. It's a Googler's\nhobby project that's supported by contributions from the\ncommunity.\n","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"10abff09875324e5faa21be7f262ccc8a86dc483","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.8.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","uuid":"3.2.1","redux":"^3.7.2","mongodb":"^3.0.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.23.3-canary_1529414036421_0.9895209533487537","host":"s3://npm-registry-packages"}},"0.23.3-canary-1":{"name":"boardgame.io","version":"0.23.3-canary-1","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.23.3-canary-1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"3821e6b7118663de0dab585273568c54a750c369","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.23.3-canary-1.tgz","fileCount":20,"integrity":"sha512-oRH6SIKLq+p4nuO7UX1vb62pbmA84BDl5fIgrXsdCf0P3fkRYBCPPXc0BjAS0LcRYZXeP8UuHjOD9gXYxZgj4A==","signatures":[{"sig":"MEQCIFvIyrj47t9QkEKhqZgL9t2vi/SDcn/5PkkBsmNrl0O2AiAsspH1V7oMRMCuXZfrcVO+74ODR0oFxXyodGcIls9/ZQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":734745,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKQONCRA9TVsSAnZWagAAgZsP/Rmhs1NvPfhK09mOvgxz\n10DYvbrYh6GZ0lu03rwxoyvyURSOabfgv3Gn0IY3W4HGdGQNFgnyLNUeNbjh\ndOu0wFPMgXEBcN6HxMQV27agZkP69+d0v1AyZcgTxC4BoMYDy9KgXZoFLyZ7\nvqq+EaTdG8GMbVwcZ9GjgXEI9UnBJ4016APBMbMp4ZYic8+Q1cf6SZbFrhCt\nsKCrokItrEx0iEOxBAxtIsEayuXKi4QZckcSOry4jjINEyEgmRA2QJYkXgA+\nc7L3DeF25dxJZQKH+eRNTwL9gImWJuqP2sOGJ0SukqjKfo6XHWrIE5+m6fK4\n47InH/6YgqaUeh30knpKz7SF3MqrZxW7YBdWCXnKxPNCsLn/x4VlCATBezD2\nQarHCki4OXrf887/X/igHsBstBS/QFyGx5PfSRWeGMMX64PD960fzBhXcOu2\n+6VHcCyQ4SfGPef2+fW9BVXXJqjEN+egZOKm472WSCFdcErxBSrriE1sSdtq\nCMr8h5AMM7/F3UT7gWRJNPXPa89t4Gv7tB1my7EoGy3+UY1apz8CQ9MK8/Wk\nYU/+cCKSekq8Kl+SRyYqi0fnsgz1RiflGz8mHbma6hVb0AXQfiKH9iL+ZPic\na5VII1sZoegf2StN9Aggvo9Xgu2qjAJFiVvgjTtaPqji8TTDMHgwujjQgyQP\nplv+\r\n=owr7\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/react-native.js","dist/core.js","dist/ui.js","dist/ai.js","server.js","client.js","react.js","react-native.js","core.js","ui.js","ai.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","readme":"<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/google/boardgame.io/master/docs/logo.svg?sanitize=true\" alt=\"boardgame.io\" />\n</p>\n\n<p align=\"center\">\n<a href=\"https://www.npmjs.com/package/boardgame.io\"><img src=\"https://badge.fury.io/js/boardgame.io.svg\" alt=\"npm version\" /></a>\n<a href=\"https://travis-ci.org/google/boardgame.io\"><img src=\"https://img.shields.io/travis/google/boardgame.io/master.svg\" alt=\"Travis\" /></a>\n<a href=\"https://coveralls.io/github/google/boardgame.io?branch=master\"><img src=\"https://img.shields.io/coveralls/google/boardgame.io.svg\" alt=\"Coveralls\" /></a>\n<a href=\"https://gitter.im/boardgame-io\"><img src=\"https://badges.gitter.im/boardgame-io.svg\" alt=\"Gitter\" /></a>\n</p>\n\n<p align=\"center\">\n  <strong>Full Documentation: <a href=\"https://google.github.io/boardgame.io\">link</a></strong>\n</p>\n\nThe goal of this framework is to allow a game author to\nessentially translate the rules of a game into a series of\nsimple functions that describe how the game state changes\nwhen a particular move is made, and the framework takes\ncare of the rest. You will not need to write any\nnetworking or backend code.\n\n## Features\n\n* **State Management**: Game state is managed seamlessly across clients, server and storage automatically.\n* **Cross-platform Multiplayer**: All clients (Web / Android / iOS) connected to the game are synced in real time.\n* **AI Framework**: Create bots that are highly customizable and debuggable.\n* **Game Phases**: with different game rules (including custom turn orders) per phase.\n* **Secret State**: Secret information (like the opponent's cards) can be hidden from the client.\n* **Prototyping**: Debugging interface to simulate moves even before you render the game.\n* **Logs**: Game logs with the ability to time travel (viewing the board at an earlier state).\n* **UI Agnostic**: Client API for React, React Native or plain JS.\n* **Component Toolkit**: Components for hex grids, cards, tokens.\n\n## Usage\n\n### Installation\n\n```\n$ npm install --save boardgame.io\n```\n\n### Running examples in this repository\n\n```\n$ npm install\n$ npm run examples\n```\n\n## Changelog\n\nSee [changelog](docs/CHANGELOG.md).\n\n## Contributing\n\nSee the contributing [guidelines](CONTRIBUTING.md). Also take a look at the [roadmap](docs/roadmap.md)\nto find things that you could contribute to.\n\n## Disclaimer\n\nThis is not an official Google product. It's a Googler's\nhobby project that's supported by contributions from the\ncommunity.\n","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"10abff09875324e5faa21be7f262ccc8a86dc483","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.8.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","uuid":"3.2.1","redux":"^3.7.2","mongodb":"^3.0.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.23.3-canary-1_1529414541232_0.9639945743756151","host":"s3://npm-registry-packages"}},"0.23.3-canary2":{"name":"boardgame.io","version":"0.23.3-canary2","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.23.3-canary2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"4f5352e0ad724e48fbbf4732097a765df35ac507","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.23.3-canary2.tgz","fileCount":20,"integrity":"sha512-2Ym4E+8O3LLhcZZSRZpGbEIikNiaA2xbnhnUPZnBpf2v/B30fiDH4CfGaXZszZIerjGU6hy3j0dp4NI8c7Npew==","signatures":[{"sig":"MEUCIGRvMWzsBkdGhEPJO6o7YfeXHmqxV9KFidOLvHl+DspqAiEA6JA0+QocTypob6ocyAhdX87WFsknkxbPlcwGMDwaT/E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":734070,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKRLLCRA9TVsSAnZWagAAKlEP/iRRBHlGEz0i3O7fLxSG\nV/2SXvrjYkc6+7TpL5z5ExOTjZVT3nllaXhvQW0L3gjBpe6U4S6JOqtFRc+W\nejrwOgrtuDYBWBiIZ1MtacEMLsII7maiayp+YRsLIFVxJ6XQsc6X3+ufqL+V\nrOrfMo9tDQpUTlX69kgybaT5vNoTEq2en7fJvA5V+qEq03RIhUOz2sJ45P3P\nPoRHudHnHQ7a59hU6O5aT9a8QsEF4iJHKEh9gGBvdsjhxnB9E+SK4m05YWL3\nSo9eeb/+nyUFZFNJSEvt5g6ku2mOJuLYhZJdVPCFOfskIC7H4bKo4mHb+25T\n8i/8G7tBFW4j34PtF0YiXkott6UCoewxPc6ioT1iL4efP4H4jK01N9z6i1NJ\nb0e9aDjUsUgxvJ2fCMlyWKtBxCk1DVT57g6l/si2e63aAKGm7jWRYlfyJYt7\nU+VatTajPX4UuLyzq9b327I+RHMZEU8EBxa2OCPOnS+yl/9jmIk/fORpcQ9h\nnNwZq+kLETwg+MpHvmT7yDuDJlCy+PHlMd9/CIuHpIol8iAhIwgiV0j957L/\nn5hZv0NDmWcUHWpIs+AK4NBMNuzKHDSg7zUzCa6XQB1YF/hY+8/Z/NNOR2SP\nOsPbTNuceEAaz4GyNSwWLpG1PaG8tpXP4M7280w/1I0LXBSD32n8YRmAYbTp\n4UuN\r\n=BfcZ\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/react-native.js","dist/core.js","dist/ui.js","dist/ai.js","server.js","client.js","react.js","react-native.js","core.js","ui.js","ai.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","readme":"<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/google/boardgame.io/master/docs/logo.svg?sanitize=true\" alt=\"boardgame.io\" />\n</p>\n\n<p align=\"center\">\n<a href=\"https://www.npmjs.com/package/boardgame.io\"><img src=\"https://badge.fury.io/js/boardgame.io.svg\" alt=\"npm version\" /></a>\n<a href=\"https://travis-ci.org/google/boardgame.io\"><img src=\"https://img.shields.io/travis/google/boardgame.io/master.svg\" alt=\"Travis\" /></a>\n<a href=\"https://coveralls.io/github/google/boardgame.io?branch=master\"><img src=\"https://img.shields.io/coveralls/google/boardgame.io.svg\" alt=\"Coveralls\" /></a>\n<a href=\"https://gitter.im/boardgame-io\"><img src=\"https://badges.gitter.im/boardgame-io.svg\" alt=\"Gitter\" /></a>\n</p>\n\n<p align=\"center\">\n  <strong>Full Documentation: <a href=\"https://google.github.io/boardgame.io\">link</a></strong>\n</p>\n\nThe goal of this framework is to allow a game author to\nessentially translate the rules of a game into a series of\nsimple functions that describe how the game state changes\nwhen a particular move is made, and the framework takes\ncare of the rest. You will not need to write any\nnetworking or backend code.\n\n## Features\n\n* **State Management**: Game state is managed seamlessly across clients, server and storage automatically.\n* **Cross-platform Multiplayer**: All clients (Web / Android / iOS) connected to the game are synced in real time.\n* **AI Framework**: Create bots that are highly customizable and debuggable.\n* **Game Phases**: with different game rules (including custom turn orders) per phase.\n* **Secret State**: Secret information (like the opponent's cards) can be hidden from the client.\n* **Prototyping**: Debugging interface to simulate moves even before you render the game.\n* **Logs**: Game logs with the ability to time travel (viewing the board at an earlier state).\n* **UI Agnostic**: Client API for React, React Native or plain JS.\n* **Component Toolkit**: Components for hex grids, cards, tokens.\n\n## Usage\n\n### Installation\n\n```\n$ npm install --save boardgame.io\n```\n\n### Running examples in this repository\n\n```\n$ npm install\n$ npm run examples\n```\n\n## Changelog\n\nSee [changelog](docs/CHANGELOG.md).\n\n## Contributing\n\nSee the contributing [guidelines](CONTRIBUTING.md). Also take a look at the [roadmap](docs/roadmap.md)\nto find things that you could contribute to.\n\n## Disclaimer\n\nThis is not an official Google product. It's a Googler's\nhobby project that's supported by contributions from the\ncommunity.\n","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"6194986d6227a98304f6c2eb7c13aa46c5f33710","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.8.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","uuid":"3.2.1","redux":"^3.7.2","mongodb":"^3.0.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.23.3-canary2_1529418442987_0.1861961900297624","host":"s3://npm-registry-packages"}},"0.23.3":{"name":"boardgame.io","version":"0.23.3","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.23.3","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"c31cd68660b685dc81d3ab5a78c0036eae70cd7b","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.23.3.tgz","fileCount":20,"integrity":"sha512-+ElP+fOywFHyP7YD2+W6WIB9VE7wLQnshfKlF59qrbhzuLIw6KiZYuN+Vv9tHxf/yRQt6PSr4TzWYBPZkYYV6A==","signatures":[{"sig":"MEUCIF79yu2XHMcy2rRy49in5Aj1ojlCcUR79bqxmOBjcX5gAiEAxTkJfg5VB26YSFztcEeIrMebi7oLO5yv9Fkzr/updG0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":734062,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKRN7CRA9TVsSAnZWagAAOioQAJ5eaiAuarRs9qk5RFxz\naLL/e0qhu40cB7SdN7NSUEkTmQw52DFxd8wiV7sxE0I+b/P0RcePDteyWrH+\neEpl+cxecp5NsiRa70nb2hl/8lWPmWRx8GeqtM/BagJ5T3TOFmVxozPOYvP8\nGW6ELQxhbEvHJPQXBO9DDgAnHGP9jAc7mMd1lbwu0WIR1EYPS58dzW3RWjrF\nds6HRICZQKHBVUlX+FKeI3D969RfK+wA7YlYI465lE8nY0KfLk5kaglSMkgg\nPqYXM9thkfNn9hK7jHQ1zziSHiVLTZIfaSE646ThwaUbvhr2LKXynbHgsG+a\nlTpTdiFbBK8gR2IGWu48+zuan1deRHsgUthQ5MqTSGUTvG60XRCPc5gcvIQ2\nCD3d5k9rH8bnZ9ZAiSyAi4Qp14xg/cucYgVNojb5yo7xE9xQG3njNv1FewCF\n9cQ15tTjrqvP+QhHIYnxFw+LlhcK8Iy0iBrYwdTNzeA0TskAr1j/0HcFqSlQ\nSgouxMjizIx/pKeixPn9xxPEtUTicvw0qoDp89W2cu4RjDOb4iihNtzr5aRL\n9SgWHMUQ+UuDSBnYoLtizP0WhDPx5aRosr1SSuGZVjKZ8K59+UO6Ah7rI5JE\ntjzE2vBNKgGtaW5m7SFdE9SMoslpzG7mcADqyGF8b6corpDRw7D/+JuruBun\nRZnF\r\n=FmJU\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/react-native.js","dist/core.js","dist/ui.js","dist/ai.js","server.js","client.js","react.js","react-native.js","core.js","ui.js","ai.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"9783887a3fb6f6482957d0606b680d78a4b630d4","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.8.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","uuid":"3.2.1","redux":"^3.7.2","mongodb":"^3.0.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.23.3_1529418618501_0.5138234348083905","host":"s3://npm-registry-packages"}},"0.23.4-canary":{"name":"boardgame.io","version":"0.23.4-canary","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.23.4-canary","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"ded4708961ed45a39c3487106f1c73045f62157a","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.23.4-canary.tgz","fileCount":20,"integrity":"sha512-PZQhmHNpZeBV0tQOiM36GHFkHEd4bVpuOdoMGm2ZN+Yf3I4n+321P9mGkO/EDWMqFymS9qC3vlyyI51gYSy+SA==","signatures":[{"sig":"MEUCIQCB4xZN8cNVzKgQLAyD07ah5xd7/RFcAUfMWtrwbbebbQIgVQoNaTqppQGbmIRD0Fvb4bd7HYvu/ve3+navAX5erbY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":746801,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbOhEsCRA9TVsSAnZWagAAFkAP/2IGmgxMwmzMMX7L+tkZ\noZfIbBi4QqoDgKpBT4x4FN88moB6hUJ+r0FxTubu88vP7tqZOaP0J1QRJO4j\n23vCAm4LJ1fMjXNWVbuwtQnAzgALpfErEovbYoheF6+89sfHIT5twBTr8Obw\nPXtyfPkcR9daNJpNTFJqBcxUZbxLq+NjUOTnriMa8th+bkEjBXtjgxD+liJJ\nsb1RcAvJ78RxpjmxBplcFpC6+y21Ru+vN8fmBJrn6XAjpR/gK5Axhy6tDg1B\nylIHV8HUys1bnAhN4+l4uGHs60wtud9G3ZXJfblUdugs3vgxYb8Atnxf8gj5\noldil6gxf1Ba/1gMEIKu+07sCkV6Sldw2S9CvsYk2ASEz0wWqFGkc9NTDq3J\nLG8RpQ1vROrUiTTDXX+6OvYoe4By1ZDwktFsaWzcpX0N2IojiY5yl+/trCV8\nEzvB9X5a7jpOiBqIls7r2XXg+iDNLJME2qP4JX/sMvvONvqjULLA7xFnatv6\nxlnP9Bxb32i6YzmjppNusBVAeO5nDNOwi922Sbwgn4ILSjngNKy7kuvtwOhh\n5bpxJLBYXVMfIojQI2Jav1uEFaxxMkChqUDsNDjitnmg6KZ4ra8bswQF/b7g\nZf1gyLUGkgZxMxXtlEIOi3skS1hIfyIC+6FjdP9Qkra3YMUs7TgY+AcoGTEv\n76Az\r\n=zRor\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/react-native.js","dist/core.js","dist/ui.js","dist/ai.js","server.js","client.js","react.js","react-native.js","core.js","ui.js","ai.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","readme":"<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/google/boardgame.io/master/docs/logo.svg?sanitize=true\" alt=\"boardgame.io\" />\n</p>\n\n<p align=\"center\">\n<a href=\"https://www.npmjs.com/package/boardgame.io\"><img src=\"https://badge.fury.io/js/boardgame.io.svg\" alt=\"npm version\" /></a>\n<a href=\"https://travis-ci.org/google/boardgame.io\"><img src=\"https://img.shields.io/travis/google/boardgame.io/master.svg\" alt=\"Travis\" /></a>\n<a href=\"https://coveralls.io/github/google/boardgame.io?branch=master\"><img src=\"https://img.shields.io/coveralls/google/boardgame.io.svg\" alt=\"Coveralls\" /></a>\n<a href=\"https://gitter.im/boardgame-io\"><img src=\"https://badges.gitter.im/boardgame-io.svg\" alt=\"Gitter\" /></a>\n</p>\n\n<p align=\"center\">\n  <strong>Full Documentation: <a href=\"https://google.github.io/boardgame.io\">link</a></strong>\n</p>\n\nThe goal of this framework is to allow a game author to\nessentially translate the rules of a game into a series of\nsimple functions that describe how the game state changes\nwhen a particular move is made, and the framework takes\ncare of the rest. You will not need to write any\nnetworking or backend code.\n\n## Features\n\n* **State Management**: Game state is managed seamlessly across clients, server and storage automatically.\n* **Cross-platform Multiplayer**: All clients (Web / Android / iOS) connected to the game are synced in real time.\n* **AI Framework**: Create bots that are highly customizable and debuggable.\n* **Game Phases**: with different game rules (including custom turn orders) per phase.\n* **Secret State**: Secret information (like the opponent's cards) can be hidden from the client.\n* **Prototyping**: Debugging interface to simulate moves even before you render the game.\n* **Logs**: Game logs with the ability to time travel (viewing the board at an earlier state).\n* **UI Agnostic**: Client API for React, React Native or plain JS.\n* **Component Toolkit**: Components for hex grids, cards, tokens.\n\n## Usage\n\n### Installation\n\n```\n$ npm install --save boardgame.io\n```\n\n### Running examples in this repository\n\n```\n$ npm install\n$ npm run examples\n```\n\n## Changelog\n\nSee [changelog](docs/CHANGELOG.md).\n\n## Contributing\n\nSee the contributing [guidelines](CONTRIBUTING.md). Also take a look at the [roadmap](docs/roadmap.md)\nto find things that you could contribute to.\n\n## Disclaimer\n\nThis is not an official Google product. It's a Googler's\nhobby project that's supported by contributions from the\ncommunity.\n","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"b28ee74f943eec4677a094dcfbc116715360dca0","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.8.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","uuid":"3.2.1","redux":"^3.7.2","mongodb":"^3.0.3","firebase":"^5.0.4","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.23.4-canary_1530532139266_0.5452647876907883","host":"s3://npm-registry-packages"}},"0.24.0":{"name":"boardgame.io","version":"0.24.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.24.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"c1669275dd29de08b34f0bf5790c32de380139ff","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.24.0.tgz","fileCount":20,"integrity":"sha512-v6I+b52uWyBM3zBW2gpTsRZz+xCDNmw7sk++ZU4fnOhBfE3uHthCeQWzvNBnYk7eR4SCjzS5u8Yu7gwcLwpGdA==","signatures":[{"sig":"MEYCIQCwaVNqar76cVSGsfKeEpqz4tG7eNyj8+uOE2bkFd8hWQIhAOd/G5youl9ghSBmi1GBGpHGwaZZZ+RkxomS1rygcMVW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":746794,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbOhJ2CRA9TVsSAnZWagAAfZ8QAIligtrGjs/vyQwqo0Da\nd3ip4N1G0X1OEyh7KzH6wdT2m9TnoaaC5KLRMLF+x9hVOZJZ6hZB0medMX6i\nhtBCcoL//6IKaTXnCAw+twwcHPKfMclNZDiI6hT42dh1rsYGK/7a+plzHwXy\nez5c9Kr6D6J34mw7c8V9eoAd7wC+/IR96d/30I2OAG6rndF5O3b/R0E3/6bB\nTC54fuLg3GcJ56NiLoJ+p/6QPcQZHg4f7VWUTQy4h40Ix+oNiFjenbu2QtMr\n8ZTq5WU9lIyA3/3dqmbytlbn2pl57MrSksLZzzEI3JRrOmAut8c6GU5efqZk\nXFcyh26RxKmi657TGsJpyd3bxVwoiGnmdu2ekRQSaFhnfB5lTvuHdStnBwv0\nKbD9eAw8rKkemxQnSrywJonfELdWh7TJiBUD3azt09r5G60ngbC21bTX62Ls\nMa3o8yr4jdxekiFI6SRl4EJ3ftjPWvYRlRRTVUHXvOFBmm8HVGPsJ4B2eGmO\nUP+QEUiv3HAJafSGxNhFCQY+lrz2AismEfUHGk9ioaBw7VbXOCvH1nCBUzUI\nhqhJewRGUSRDzUclezTn8JHip2ESL18HAagCPFi1gOeTZmpozHpyLZdunJW4\nbIDIcYXN4S6TRtnIWFV83BFnqcXvReyDWg+npPKZF8d0YAzR1FEsL+298zeJ\ny0Ws\r\n=CZjF\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/react-native.js","dist/core.js","dist/ui.js","dist/ai.js","server.js","client.js","react.js","react-native.js","core.js","ui.js","ai.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"31b54a7a2dcfb34248baa9ef05e6fd39afbf9d28","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.8.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","uuid":"3.2.1","redux":"^3.7.2","mongodb":"^3.0.3","firebase":"^5.0.4","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.24.0_1530532470651_0.05665410883071864","host":"s3://npm-registry-packages"}},"0.25.0":{"name":"boardgame.io","version":"0.25.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.25.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"99a16274cc8702396254c2a9a0035da9dd7085c8","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.25.0.tgz","fileCount":20,"integrity":"sha512-YGwS0LdoLIdLfpWarT31Uil61L0w/S/pNCa5wElDqW1jAzVQ7BlXH1AoMYRDxJrTJ26qlwGMyWP9anaUv6HH9A==","signatures":[{"sig":"MEUCIDUvY3B1+xdGmAnRiLOe1VLqwl7NMJtCcv3gtWWvEM7lAiEA8abhLrXhPoMkboIAqSa3HPQ+P0XvnsKq29J2OVL8KVI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":795392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZU1/CRA9TVsSAnZWagAA+zgP+gLw/3vXSZxm53o8PNBY\nIkVff+Zx7baeCzBq2cR1tFvGYuJnyjvChYFzSmvj27NUMRedlD9bbr3I/iA2\nxtCb7vtQskK2nMHEVanVfwhC2dZeXR6wC0xfW2lx0l4xQ9hRKQP+C0kMhcqd\nJeAH8+MQM3srxdQ5+u9tVeTyhv2fZdfEXPHw45uki/ssVDpxp4HksFgPnbq1\nDic8QYlPNiRJIFa1kaZfaadoH7T6n46WD8mbDUpm/TfTIzPS3PdBPjaOX+1l\nZ84EPNNbHiNC6NkyduP3wEBsfxtXbKHRiJvQbi6xkMY/vh4g3cS67+joSfdI\nY+DiBtmiCQDtCvToaXe0iIcIIi9K3EovgPBQrJfndPRVeXh33HiGYM+JK2qg\npFJcuoHH7ZoGJJohbTqidVQxTSopI3/6R8yrBDU1jb6cEslKfucrcelDAGpp\nhNEKKh/rpJo3O7Hwahvh+Pu6RTs5y1vosDqR/qUcylDYGG38gZ2LppfSXAsI\nEyXvCbpVoJaGK3EAOTv4b/XwkdHr+m6NX2/cXtPNpHYisqiqbOBjTNL+f3Ht\n54xbH5EIzDsv3EIoOJOqEpSfDmLx/ol2/4QKPuHYCtHzfQYCDYdMbgfUhQzM\nKFgGptXRvpym9JXPLesWOXTL4m7KRcnh5pSsJCRKzGF52NzAG54l6xy7p9Q2\nUMpQ\r\n=aRGH\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/react-native.js","dist/core.js","dist/ui.js","dist/ai.js","server.js","client.js","react.js","react-native.js","core.js","ui.js","ai.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"f7403dfc3debf0b85ef1c99739839c7bfc91c3b1","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.8.0","description":"library for turn-based games","directories":{},"_nodeVersion":"7.6.0","dependencies":{"koa":"^2.3.0","uuid":"3.2.1","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.25.0_1533365630779_0.5747394281973162","host":"s3://npm-registry-packages"}},"0.25.1":{"name":"boardgame.io","version":"0.25.1","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.25.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"cfc734eea91c965f589a743a6f20232940ea1a0d","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.25.1.tgz","fileCount":20,"integrity":"sha512-/T+EpZEK4DvAfdB16YHdh6AvrqVjANUAiRo2FiZFfRtiFMTre+IFuxsxSXEsiw7vojHyG5Y9h/Xcswo67vbrbQ==","signatures":[{"sig":"MEUCIFBIuOo+rO/oBFM4fvmQubxaCuEdas4Js0WfGut5Wa3jAiEAg2R48aOlL/6dTw3NICcqFnRpWqPul7ZfhIPPM6NnzzQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":795336,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbaFVmCRA9TVsSAnZWagAAgTYP+wYk1+PRqfEtzLZgsGhi\nd8Ppi9S7iJWMfr6mZrpbMu8Vrl9utkfUGfVHmeun71JcAcw5jQYQHrOxCxVt\nQdu/1Bqjtrm6AHJD+S/Co4H0PvZzpfOq/Sa5BOGbc8xtDtn0hC65RpouNZxd\nhgihotmOD8OdynqRKLgHBL0QnVQHsCzkItGkRVGRoxIzK95lYn+sa2U6+NAX\nu3FELkGrSQYB5kCE59lqrnnkH+szmwZPIAml+WAiBG0fkB/2399h8NOxW2/9\n4rQfftWKKgI/1CraX1M329F+VbdTVeW+dNFeSCPdfBftDmALKZfTeaEAXrpx\nbN9aGalL3F3MLtNLSob4B2RCxaHcP/CdWDNcoVTgyV+XQzqKoVuO5ebXWjNZ\nO4giQME61tNF6Lc1alyzMe7rSSdXzfMwG1hV2YSTb/uZ2xl/isAi/cgRJAWY\n+5lSWzyK1F1J2yWooqze/HbcLj7cmpTLIQVvByxigUFRmgZBXIozSMAqmiRS\nzVPimEjIbCixJDNJH1ZsKSMq8nMlOzxUFZ6nrmZrRFB8S0jS783zVSjMKp0V\nh4J4J6dSaIiBGhBdR05aCLRArqFmEsPuLAMvfTwJf7m88ChjTRUO2MLday4T\nBhpIjpGAPi9p+C7pCHF6PPH6utnqZ1pq/t7ONK2G2v6GK+B3aMXvHlR5sXHP\nTAUf\r\n=jXIW\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/react-native.js","dist/core.js","dist/ui.js","dist/ai.js","server.js","client.js","react.js","react-native.js","core.js","ui.js","ai.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"862715dc7e7e483829cc95586ddff5ff5daf36ad","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"5.0.0","description":"library for turn-based games","directories":{},"_nodeVersion":"8.0.0","dependencies":{"koa":"^2.3.0","uuid":"3.2.1","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.0.3","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.0","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.25.1_1533564262043_0.6926931623150929","host":"s3://npm-registry-packages"}},"0.25.2":{"name":"boardgame.io","version":"0.25.2","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.25.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"0b62e8150b1d8d55ffcbc267fba08c7a77715bc2","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.25.2.tgz","fileCount":20,"integrity":"sha512-sz3a5SyljWv1NpyncCK6slLeu5TKWi6mRAMTnITu8hOYz4UxdHoAxKuTv35Tm+NI5tzUGMKn4Sp2btMkMLOaCQ==","signatures":[{"sig":"MEUCIGa1de9rgHc6D4yyM00zB8eUXs0Y6AhpMEsRgr7qpHYnAiEA7bFBFhZQahswlelbQWoFm4VI4Yuep6z1p2ZlDHIt5ps=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":799089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbaFq9CRA9TVsSAnZWagAA4XUQAJNxnsCc76TcVeuwHpL0\nBT2rQtEdkvBNLrUxGOXmZkVpYD6TS5yJMYPDGdpym0Tr2ZzYCeinZESj9FkX\ngWVoh3P6VFRRrLJkpmrlkuQyWTNh7STuc5JzdWc2xA0o3hRWTP0QPQPAwvVp\nRFDAMWLjtXbrrfS195MVVTNbp8WsiYokPnmDMcTFS9grIs/wiGehLKfwKsQg\nWV3fm1LcR3wOGaDHx98XSfhQzlrEfkNwtlR0AdT4c13tOQVOoOCIUwp+QXkW\nQZ/RJ8nD0NgUVWvcSyB8tP1gOuP957e7PRpdDahkI3/tbmiFpY42miPZR4TM\n0IUqbn5FGDzKfHlQn9G0CcilFHg5Vk1JomLe/6Vyd92hNSi05TK0pOmXgIvx\nowQMpZXzMNd8ronhp4eCFzuNztGt3jCnxVZHfVBMTSpYDfg6GhAkKv5ah8C9\nIirjnUhGlNqg85mYW+p/X3oOH4dLVxwGzSbVJuE6RmC7DETOaIzJQVE491dz\nK9UVz2cyfbSxfG06gvCnsdy1UGMCyF+dXyJD5hEDinB2uQejEx4t3kuT8EZt\n5M2N3f0O3XPluLEBLlMmQI2mObQNo55HH8CW2RUkKxHrixo04rO4tIxu1jxD\ncyGkR0qqkdsII72mwXmGDV96/WJJ5ut7q4Wg+7nNUAEPkcaqjiBefm9QUek5\nU29r\r\n=pr8g\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/react-native.js","dist/core.js","dist/ui.js","dist/ai.js","server.js","client.js","react.js","react-native.js","core.js","ui.js","ai.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"29a372b3f6972044dc3ecb7dc29cfa0ebb81540e","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.25.2_1533565628614_0.015448463293089798","host":"s3://npm-registry-packages"}},"0.25.3":{"name":"boardgame.io","version":"0.25.3","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.25.3","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"6a98a4b14709884fc9e52046b80c3d14b8686912","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.25.3.tgz","fileCount":20,"integrity":"sha512-xZu7rj2fX0ahFzy7iDaSfeft4o1e04OGnNOaBqSTQNak+l/nW0/y71bRhzourtrFwpNyecU4lXBRooVAsBsSOw==","signatures":[{"sig":"MEUCIQCFK/ZF5TsyEjWaHhYxr0yRYIGAsl8JT5QTf/YJqSmRlAIgWMO66KQ6sv4Rj38ldC5EeXc4jaiffEsUL70MWleodTU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":977297,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbaF6ZCRA9TVsSAnZWagAAwoIQAJJud43AnAYBY4bF6kmI\n9YPQIqaz9NCeZ/PXTm7+XGM1DZ2jeRczHFD6dKesY0AvEYVCd4A7A6XnJ41M\ndLgLHUtB5Hd93EayFdyW3isxJfdOOkMPNb83LM2umexNhB2JjU9H6H2ilDB9\n0e3b2G8GWZovg4GeRZSxmPIxFSG5weqSP9KNiUwlae10ZFfrumEZfllcFccK\nGNuKf5TPCIx+zKne9x2vQ5P3XpRRbH60KaSjstdINV0qVt6drCyvCPBue2GQ\nogRE2kVozvX1jpIFVoDK46/d2uclN2Sz/x/cDsBZl5gZDsDE3XtukuxMMj8W\nrlMnDRfPMqS8csEJjCcGuvtxoSiQCES/s06US+T6Do/CfL+KN98aBPHtTg82\nJuyoM4nGMnKl7+UNzzHlC0K9BrU+8cluXMO5R/8dKqCNVuS8lyHe+/035WVY\neJ2YUu0aHdhBSu0Dq7S0BkxCDmdfyWbhoER6O8fQvzE4A+xpn+/fyTnsqpma\n8q5rQlxcwYiu0+Vwh4x00mItS9JnD4Qt1QeKO2AFcl4r3yiOvbaPgtG1UItz\nmbj6f2eDpF6/y8YdGeyeJs4TGTqIo/5B68Hm5AmyCVeteFadnpw9+j+DT+m6\nsrztZfoQn3Fw+M5giGOXu2Ga4LXHaumUxEnulExc3msr3XNGe6en3uMPNGvM\nkavS\r\n=Anpa\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/react-native.js","dist/core.js","dist/ui.js","dist/ai.js","server.js","client.js","react.js","react-native.js","core.js","ui.js","ai.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"277b13da21f29e4b552a4439c1fc6f0dafa6cccf","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.25.3_1533566607817_0.9405051340109758","host":"s3://npm-registry-packages"}},"0.25.4":{"name":"boardgame.io","version":"0.25.4","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.25.4","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"f06e52bc639bb74aca0b02d7a424d65425ab5aa9","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.25.4.tgz","fileCount":20,"integrity":"sha512-P4oz86hi8JpgYqp+veYZ9/AgfOIinAZ026FMba7kuY3d0nR0QUxksjD8nBHTsfHQQ94DyKWDJmP+sHZDbRHkDg==","signatures":[{"sig":"MEQCICFA6erwiIanOKjjQrl/Dx9fquQ0yKbAV59e0Gj3mHuvAiAz7+zXPpMEEXwfM8JcqCkvpxZf1kafaZanofLAkktjDA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":799081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbaQSnCRA9TVsSAnZWagAA1WoP/ie+bLNC2jCq1eAHmQ0g\na2NselrEIrpUN1O40AQkgoIBiPrq5YvTRv2Qxkx+1R0TFvrrtJYnlJwmEWoq\n/QzbArdEGzd4LH+Zm43ZMAUUuyXgDtTA3KNtCiYYt9UdviGKGXXH/4G+AW2q\ncgSBbgxiVAq21rM4w5lFMqxXrDA3jngNs0nA6C9vvcy9nvQUt9Dp3KxpWhfC\n2v0H8Tqye1s6YdZqJeJb5CdHPyCLNvrRO+jEyxVs52T0WDO2bDShkjNDesv2\nUZk4SW/CtpQPyguqBnAsoSbQng3GavcNfwVIlSrMiMEHI7SlvQUD09EmuYY5\nvzfFBI5DcYX5Q6xQh73og3M3+3TuGBdGbPIAD0MxD34owXKrZbkS1LAVJ9QT\nrg5CTK0axwSYwg+vWuvCPfJk/aq9gkxh9fPwm4SR9Dk2p5JAj03NdLKF7Q0A\nzAUp09MzVbZj9lORzBfznLQ0yV7zmMt/eczrkKoxM4/Zlz+f5zrx5TGiaV9C\nJ4s8Oj666ggFM76DH5yqvv/igXS3izpmkZ4Nb1UFqSUEPQIEgAXqELi24IK3\neSWAdu3RCXDZON7lvpSsbSEeOBtnpVyaBOlryb9fIeeVD/z8LtuZqe3Ysu/b\n7cflMIt4fK4gjD2U45noPffr7EvgmDbmG2x/+uSGF88h3axnI0fc2KCIgsme\nB2r0\r\n=uABt\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/react-native.js","dist/core.js","dist/ui.js","dist/ai.js","server.js","client.js","react.js","react-native.js","core.js","ui.js","ai.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"a0cb7f714269477490f4e34ab79c6db496676309","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"6.3.0","description":"library for turn-based games","directories":{},"_nodeVersion":"8.11.1","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","koa-socket":"^4.4.0","koa-static":"^4.0.1","prop-types":"^15.5.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.25.4_1533609126495_0.1515331472072492","host":"s3://npm-registry-packages"}},"0.25.5-canary":{"name":"boardgame.io","version":"0.25.5-canary","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.25.5-canary","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"a3ede3ccbe641559a0631a23c132430c33aa7c48","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.25.5-canary.tgz","fileCount":20,"integrity":"sha512-MzdrrnEFOQkuYROnKqFxbQiBpSrZyaN/5+ddJgwKy99M5fP1862WVmDRCwXDyWMfS9PhVbzPlPrlwSznMMPzrw==","signatures":[{"sig":"MEUCIQCNx9hfK9ZAIse58gUtIOadZy4QlRP4nd0q/0a1fomXsAIgHtPtdyivdaZNKo33nQ4A80PKRz6QYuF+5lO/9Yoq5Eo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":827992,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbgPBTCRA9TVsSAnZWagAASMYQAJJ/FmuXu/aCAnAxXADX\nhqbkH+y6INYQIHFrTosqdHff4+85r2Ihnk5/HOJSBj5Lpoc8Bft0Q3h9tA7O\nuCKbGiQG0pUfHG96/YxBMhdT8c1/M7WRoJwG5eMh2Qp133TMFfMkjhZA3vJ8\nlVQUPFBRJMeD5EdN86UdtGZI462pb3k+nkPdHWZGIaa6jo/468wbmNNEODJI\n3jqK1cIPUhZCPcKkkaFZNsA1wrABw1xZbvdcyACuCBUTpEWdS8oJKtpn3LAi\nE2/dAOIQri61d996afQrxaXm7OupAGZGlPDIJcAt57uIdEn+i03nUbvSj2om\n3STxIXn870X4XvGkLkugYeT+a2OEYVu9wF+g29kKXgwBq2HXMUuemyOwbVQW\nnaZ9CDACDP8+c1++WJsYbx3N0K9T3FSuYVQubDBVVUh+Ovyyac+9cj3OVOf1\nb+fwPmpja2peT7ESWxMvKTSldIWjUG9jqK9PTOBLCkZqPvYmmTtF+Wg0OwZ0\nDcstPERtP8+WGOTxWx37tmNWmEJy/BVQouNxnTI/iEn6eZVIVVq31JcuRM/x\n0EqbgUz1DgFsWesR01ilble0jCxOcne2uWxtT1rYF8MW10xfXUrsgt7m/bmF\nKz6WpTJ/ecmxQRNHOb5Fy+12pLGGjVsuazXXgW+zBGXxDpzyuD2XMcQ5GTtE\nEtts\r\n=Xs3R\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/react-native.js","dist/core.js","dist/ui.js","dist/ai.js","server.js","client.js","react.js","react-native.js","core.js","ui.js","ai.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","readme":"<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/google/boardgame.io/master/docs/logo.svg?sanitize=true\" alt=\"boardgame.io\" />\n</p>\n\n<p align=\"center\">\n<a href=\"https://www.npmjs.com/package/boardgame.io\"><img src=\"https://badge.fury.io/js/boardgame.io.svg\" alt=\"npm version\" /></a>\n<a href=\"https://travis-ci.org/google/boardgame.io\"><img src=\"https://img.shields.io/travis/google/boardgame.io/master.svg\" alt=\"Travis\" /></a>\n<a href=\"https://coveralls.io/github/google/boardgame.io?branch=master\"><img src=\"https://img.shields.io/coveralls/google/boardgame.io.svg\" alt=\"Coveralls\" /></a>\n<a href=\"https://gitter.im/boardgame-io\"><img src=\"https://badges.gitter.im/boardgame-io.svg\" alt=\"Gitter\" /></a>\n</p>\n\n<p align=\"center\">\n  <strong>Full Documentation: <a href=\"https://google.github.io/boardgame.io\">link</a></strong>\n</p>\n\nThe goal of this framework is to allow a game author to\nessentially translate the rules of a game into a series of\nsimple functions that describe how the game state changes\nwhen a particular move is made, and the framework takes\ncare of the rest. You will not need to write any\nnetworking or backend code.\n\n## Features\n\n* **State Management**: Game state is managed seamlessly across clients, server and storage automatically.\n* **Cross-platform Multiplayer**: All clients (Web / Android / iOS) connected to the game are synced in real time.\n* **AI Framework**: Create bots that are highly customizable and debuggable.\n* **Game Phases**: with different game rules (including custom turn orders) per phase.\n* **Secret State**: Secret information (like the opponent's cards) can be hidden from the client.\n* **Prototyping**: Debugging interface to simulate moves even before you render the game.\n* **Logs**: Game logs with the ability to time travel (viewing the board at an earlier state).\n* **UI Agnostic**: Client API for React, React Native or plain JS.\n* **Component Toolkit**: Components for hex grids, cards, tokens.\n\n## Usage\n\n### Installation\n\n```\n$ npm install --save boardgame.io\n```\n\n### Running examples in this repository\n\n```\n$ npm install\n$ npm run examples\n```\n\n## Changelog\n\nSee [changelog](docs/CHANGELOG.md).\n\n## Contributing\n\nSee the contributing [guidelines](CONTRIBUTING.md). Also take a look at the [roadmap](docs/roadmap.md)\nto find things that you could contribute to.\n\n## Disclaimer\n\nThis is not an official Google product. It's a Googler's\nhobby project that's supported by contributions from the\ncommunity.\n","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"4ed6b940513b9d48f2cb9edb6776c76601722212","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","koa-static":"^4.0.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.25.5-canary_1535176786547_0.9692333186935254","host":"s3://npm-registry-packages"}},"0.25.5":{"name":"boardgame.io","version":"0.25.5","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.25.5","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/google/boardgame.io#readme","bugs":{"url":"https://github.com/google/boardgame.io/issues"},"dist":{"shasum":"ceb3c0847a47eceb1b96dac675876c449d6ad89a","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.25.5.tgz","fileCount":20,"integrity":"sha512-apquKNomAAqjiJN1HpT3sUgifwtNhqbP/2HkcjWZaQBxJluRtPo6pXD/Gtr/1NCfGtpvNjj59h6VZVbXMY8khA==","signatures":[{"sig":"MEUCIGCg3POEOVZ4HLsbBQtvUlcxLzah8U704pRNbFHfO9KVAiEA1E5810DD8PGGJBB3k8Ii3aNQFPQX3V/ZVWfU2rTADj8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":827985,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbgPESCRA9TVsSAnZWagAAvGUP/3pgMeN96wz9m8i6ADAx\n2tidlN6o3oZ28IUGfF7XZheJ+irbgwcN7U0neiXFkxPD+szwiBwi+4bfehnd\nQasiCWyMvyPinRkcJpupIdArjupf9p2jg5LPBboatkUqvcHALd96ZjK1idX/\nc6S0TGj88zL4Yt7m58DOfOJGNJ+EcaqoGdCItv4leYdBQx5HrXkAoChZaISO\nDbRfTx1BqBfW+WnFYc1MaFQ9WV6BaCLWxKDpnpg+BKlveJRp9sZ/2pVYpkAT\nZjORocOYQ1v2xTXHT5yrrJz91ByphzTUMqGzKQUwVSqzCXgK/JCfEjikoFJc\nf9fnJTkdShnhnhZEsbYQ9p9AwDa7vreXmhx74/xeGAtx0jPgX0gZSqxPgKJW\nFFn5eYpNBQB1I1drUQ61w9vkMai2nDnmMFBXcFaNamQr1DXEeJ9FokC7Cc43\nN1SizDg/bSX+qSm13a6FRcCQCc9Qoy2lTrh1Wpvz9AsI44fZTVD5jojvzTx6\nAEAWhLxc/sH3Xsa9qRJzYkJptk1cuYHzFTXvB76j5LhLXbUIZ5k54lnCDek8\nopNXAANOMyPvUApvQT8oKxc2bl3gCqdc2tc5FJEplgNEEukKNgKZ/Su32esv\nsqCkvO0gVTrmpZoTaQ2pg03Dc4NeSgFsaBuURIpAkFAvkWa/mbqGmZi0fYiP\nLG5u\r\n=HO0P\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","files":["dist/boardgameio.js","dist/boardgameio.min.js","dist/boardgameio.es.js","dist/server.js","dist/client.js","dist/react.js","dist/react-native.js","dist/core.js","dist/ui.js","dist/ai.js","server.js","client.js","react.js","react-native.js","core.js","ui.js","ai.js"],"husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"858975ccb7dacc34f0054136f7c3c108a4bc0e88","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","examples":"npm run dev","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/google/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","koa-static":"^4.0.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.0.0","enzyme":"^3.0.0","eslint":"^4.7.2","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.0.0","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.1.0","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.1.12","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.2.16","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.1.0","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"7.3.0","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.7.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.0.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.25.5_1535176977966_0.4122336198288954","host":"s3://npm-registry-packages"}},"0.25.5-test":{"name":"boardgame.io","version":"0.25.5-test","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.25.5-test","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"b5151e3b6f0b936d8ae948ce31f86c54fb452f11","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.25.5-test.tgz","fileCount":20,"integrity":"sha512-fkk5NmuoESc1MVJQpsoWYIzKMJ72wyJg51KnvdRdNoEG2mWCiXn805WHl2UfGcGc+kl8e8xWAiRHFQYPQmUVEQ==","signatures":[{"sig":"MEUCIFqPUaSiGBpfSWv6xhfRDD+IteLw9No+fPzhNHPmh5LJAiEAkjiVwMR9NgXNxKVS0bJGk8jtJ+lQbP1M6d+z+NEahsA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":944265,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvfT7CRA9TVsSAnZWagAAE2sP/j4DDyMm0He9QutVnKVq\nJyiI37t+e0w4H0Af/C3IfaZvafBxShEQwT2EfbWuGslYGb5nqSMps+9cz68d\nTTTHRp1CFVOvPA3lapQO1xjyBtvziPT49RvDa0XBao5YcAw5QKpFWEUJm9KM\n7AppHqSPzVK+WNiTnj/10Q87xIAiqH/nYlTMKonLnr+ItVfznFgZwuU8oIMq\n9E8EPXp1TDPFxjytetWqyANcn5tD+hae/uKC58cF6wjILvn5O6WgPV3qABFw\no9oPfdcF7D/16kyaz+UOYRIPGEy+EjbWgiarfapukABaHwVKOAniLx/H3j7p\nWem5WWDjtbr5G5pCDNOk+PZ+YD+OUdtF/S0zh9XcHA1kyqxjyOM1UqBjPHle\n8gUhPwr1AmNWAJMO0yAqop61MZh0MDnl7X0UcGGIYT9LUhOoLHQ+jA8yav39\nMOrxh1WsBTGI0Q2KiSzaRKfBUVGKHSRy54E9Zi9Vy8yvCOcFXAzd3yKaRj4R\nTSySVQQ3otx+5KG6Rx+kxkDkmanjmVtyWU7kzl5iUGK486sobpGHqowz+Nua\nwg2n9/MRSqRFc1jZbsWkraGOn/owM9tW1tr4rBe8roxzFOLK1thUHfvyQDGu\nFVajIlM9BN3iEoj9bH52gdKVARCFqznpvCCgpd7BXLxxcHFwjJFc5FCnSXD8\nrIKa\r\n=/L80\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"34a3628fcaa833e452d3c5b9b628fb88450a7bec","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","pretest":"npm run lint","examples":"npm run dev","lint:fix":"eslint --fix .","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.3.2","three":"^0.96.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.3.2","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.2.1","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.4.11","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@storybook/addons":"^3.4.11","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-uglify":"^2.0.1","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.25.5-test_1539175674489_0.2897985635481821","host":"s3://npm-registry-packages"}},"0.25.5-canary-a":{"name":"boardgame.io","version":"0.25.5-canary-a","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.25.5-canary-a","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"381e91d2e870470d8924eb3b375b0fb1762f945f","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.25.5-canary-a.tgz","fileCount":20,"integrity":"sha512-g9woIl8NX2m9Ysbzd3jZafbf4STjT8gjWhpGtvh873FVK+7vBvltxlI4dzSZqJUkJtPQrFt99lBZ4DUgEClnQQ==","signatures":[{"sig":"MEYCIQCQYDKkmzEIgWe8BZeEkT/hyFS5SlQbLVT4o3oQ2ECvGQIhAID+YmruboXAFfsUn/kxsBweXRlr3UlywVBLSxPYHJLe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":944269,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvfY9CRA9TVsSAnZWagAAyecQAJN2XiKCARLNJT9uIPEB\n4ro9zRMS0p2SxyrZ0vVgR9l/GdNZjWCxrs64dHXJwOhGWS+6f5TGYmeIbQ6g\nDy+WOlwWLeG61VNhmgJ5+rR67DM04SxcP0xFvmBbfS0PjU8IdYammQGlDye4\n5Prgl4Tmvihe6xFUTz3m9vbsgAgWgZse5LG+eOU2NdP4BV7S4QSh5h+1WC9b\nydzhjC/9AO6IXwX4GAs80h1AmR8sAMJpP7TGmOiHvKxx4T/nMDC1nOog1+LL\nDtQN4eV+PcuAGYeQZ+WVWEvwqtJ7TnNVLQ26P3sRQYRU5FviY/MMTcZsSlU0\njZoC6lGPPlgRgfPbLgOo9y+gwE5RJZUTHAhOgTjetlISvB74XjskVx+hhIDc\nVzffyE5OehcJvDw8vJ0ifGvRR7Sm9dITAgB7BguekrVWPEC5yAkyROCGZ/fG\nyfzqiGk79sPTdFwQ2F4/iXgjYX/QEWlYS2cXIbwZy5FAilUqseezt7yf2j9j\nxTLoaPfWtjEvL08kt4ZK2CDR148E6SEiSevp8n7HyBflNSNXMFfFlg1svBSc\n5/H9eS92IMAI7W+qf2nKZQv02mTd/r0Ic3tYEHKdMwmj/rSto1jTkuoNyPcs\n1K9z/JCgsw/XK5Hgv2zioqgTthPil+OJOQ8rkSG6YIzkQaOsMSuP/EAnz2oJ\nSNOM\r\n=WxIf\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","readme":"<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/nicolodavis/boardgame.io/master/docs/logo.svg?sanitize=true\" alt=\"boardgame.io\" />\n</p>\n\n<p align=\"center\">\n<a href=\"https://www.npmjs.com/package/boardgame.io\"><img src=\"https://badge.fury.io/js/boardgame.io.svg\" alt=\"npm version\" /></a>\n<a href='https://semaphoreci.com/nicolodavis/boardgame-io'> <img src='https://semaphoreci.com/api/v1/nicolodavis/boardgame-io/branches/master/shields_badge.svg' alt='Build Status'></a>\n<a href=\"https://coveralls.io/github/nicolodavis/boardgame.io?branch=master\"><img src=\"https://img.shields.io/coveralls/nicolodavis/boardgame.io.svg\" alt=\"Coveralls\" /></a>\n<a href=\"https://gitter.im/boardgame-io\"><img src=\"https://badges.gitter.im/boardgame-io.svg\" alt=\"Gitter\" /></a>\n</p>\n\n<p align=\"center\">\n  <strong>Full Documentation: <a href=\"https://nicolodavis.github.io/boardgame.io\">link</a></strong>\n</p>\n\nThe goal of this framework is to allow a game developer to\ntranslate the rules of a game into a series of simple functions\nthat describe how the game state changes when a particular move is made,\nand the framework takes care of the rest. You get a fully multiplayer\nimplementation without having to write any networking or storage layer code.\n\n## Features\n\n* **State Management**: Game state is managed seamlessly across clients, server and storage automatically.\n* **Cross-platform Multiplayer**: All clients (Web / Android / iOS) connected to the game are synced in real time.\n* **AI Framework**: Create bots that are highly customizable and debuggable.\n* **Game Phases**: with different game rules (including custom turn orders) per phase.\n* **Secret State**: Secret information (like the opponent's cards) can be hidden from the client.\n* **Prototyping**: Debugging interface to simulate moves even before you render the game.\n* **Logs**: Game logs with the ability to time travel (viewing the board at an earlier state).\n* **UI Agnostic**: Vanilla JS client with bindings for React / React Native.\n* **Component Toolkit**: Components for hex grids, cards, tokens.\n\nThe framework is modular and made up of pluggable adapters, so you can swap out any part\nof it with your own custom implementation. For example, you can connect it to any storage\nbackend, or change the underlying websocket layer to a different implementation. Even though\nbindings are provided for React, you can use the vanilla JS client to connect\nit to any client-side framework (see the examples in this repository for how to use threejs).\n\n## Usage\n\n### Installation\n\n```\n$ npm install --save boardgame.io\n```\n\n### Running examples in this repository\n\n```\n$ npm install\n$ npm run examples\n```\n\n## Changelog\n\nSee [changelog](docs/CHANGELOG.md).\n\n## Contributing\n\nSee the contributing [guidelines](CONTRIBUTING.md). Also take a look at the [roadmap](docs/roadmap.md)\nto find things that you could contribute to.\n\n## License\n\nMIT\n","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"34a3628fcaa833e452d3c5b9b628fb88450a7bec","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"node server.js","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","pretest":"npm run lint","examples":"npm run dev","lint:fix":"eslint --fix .","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"raf":"^3.4.0","jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.3.2","three":"^0.96.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.3.2","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.2.1","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.4.11","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@storybook/addons":"^3.4.11","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-uglify":"^2.0.1","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.25.5-canary-a_1539175996570_0.3416991660172879","host":"s3://npm-registry-packages"}},"0.26.0":{"name":"boardgame.io","version":"0.26.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.26.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"7fb8c04068eff487af21585865e68fd5213fe4b7","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.26.0.tgz","fileCount":20,"integrity":"sha512-rfOEVOXKz1QXP3mSiSJ1WLz4XjfrXxFKTK61xlSv3UxiT9Xxpmcj1W4F1urFPejvWQeMBzKi+iVsreae1x/lzQ==","signatures":[{"sig":"MEQCIAeNacYNs62jH4Feti3YUYXOMzHDHXLeO5GK4elX1bIiAiAT7EeyhEG0t7e6eYjXNpNGSgbKmEnCSeLDKighltLAVw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":944281,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbxEkLCRA9TVsSAnZWagAAcNAP/136Dab9dRE+c4Jjs+hd\nC/OcCl6QTG5ZPKusZMlSS/Yvk1BOvvjjWMGCVhWNt0uVAwr7YpacRF7Wi2hw\n4va9xzR1bLkERG7aug/jg3EP0pd9+SvxWSwLPmI0fiG+kgXCji2Jnd7b49zW\nAMiQKRdnTU/vJX/3+emo2K1xq05b2JGpjBcQrJ8E5xQP4lFTL4MynxMVd0yi\n1riPvtlCykhgTinhF1GJmDimKwYeM89n1fsUEwiEA8RmCXUakWxhgirR9dYm\nP9+u7/19RIAhxaXl4SC8kqX5y0yIgpy7hm8b7jb74N4u7yE2xIHTH5klgOQI\nxHNoYyPhGHVuGosSNer5byhxSmn/079nBUcFNL6X8PkF4WtfSbr7SpTb+JT4\nfkUXPotwBoQ6XXV9oGrMiKFw1jdTIvzXsIdaJUeXz8PIAB6kPAWQuv+T25xD\nYKkoechTQvpcWgKVEtLTQTvxHxGcSxIP1ZHpcWl8ZJ7tUKwrlmNjywPsRkdi\nIX9tZNYwSct7Z11mKhkg/viclHu/GcVvL+bCcKUHnYMN4ZD2CZaEdqF5niAA\nU2UhfTlZIDMEzj5zMlT5KFziyACHdfvuEDMoUz/Y/vGpq0LfduV8dArpbVZ1\niARZ8UggbItpC6Ci0frXFqAGgmDbrZfDAkaHqpg/Mta9M+pLsr/ntDFX+2zv\nsBCL\r\n=F2jL\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"f251b43bdfef0f3a65f555e8208db623167b4707","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"npm run dev","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","pretest":"npm run lint","examples":"npm run dev","lint:fix":"eslint --fix .","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.3.2","three":"^0.96.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.3.2","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.2.1","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.4.11","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@storybook/addons":"^3.4.11","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-uglify":"^2.0.1","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.26.0_1539590410705_0.35228804394090507","host":"s3://npm-registry-packages"}},"0.26.1":{"name":"boardgame.io","version":"0.26.1","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.26.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"b95492d345f84640ba719f23fcb05b1a7afb255b","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.26.1.tgz","fileCount":20,"integrity":"sha512-+8BHConAqCu1miTSUTEIR2pthg+AmGCGxIkS8P7wZvQAiUS9Qe3Zc66/F2n3PyrXrr0teQ+ECQdHfPGJY/R2Gw==","signatures":[{"sig":"MEYCIQCqNuulcJ/QxCK8QgiqS8BVOphTfE2lozwBY3g1my63VQIhAI38ZHE3NXf6Ie0M65R3mSCoNx7zbWgjdEP5+pk9eCuN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":944308,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbxEpvCRA9TVsSAnZWagAA/msP+wYEWb0umWX1rGMBVUbQ\nwtSHqcXbe+JeqU5GxuKCWdTLwCFnSe1nOvWjabad2a9jDaFGboyr0KzpPOQ9\n1M3spmZ2SVvEJSoSJJuiKQdXGjrXASfd28abrOay6ZKoXDizhJmST9YEEiRI\nvUi6CJCYs5VOLT88a4zZrkYtSpKetN8GrTy3zCGhxHM4zTOeiNdlfb8Q8IGA\n/kAAnN9DBo5ghEjzEnkJzqjvEj34otokn1OHa2KFaMxyTErEiw4qTmxYXmMV\nqZtSoJijkBInIcMJ4AW9iLOhgmIBBcMfE9icQ+gwBF7laG5V57D/C+dlq+6A\n9+NTcPQOevxkByakQ4rS/mmE8gZFGtRuclr68cyEynuJ6FrW59TmgcvVcmxt\nd1QxXvuoxCrplu59aAhLc108o/AzQSz2Drkj1ilVM4JaiP7r+TjF4fSJ3U7S\nr9Ti8HeZKs6fhswMMYem3INEdTOFcaYNP/vsRAABM68uEwYVIY7CcnfWpm4I\nEJPIUD3TVeMCwb6YVrs2+vfAxLZpOoLD2pNBxYJwtaQ4o31pEe5DIrcR2o7o\nTWZFUlWffze0TRtCHjpOyxb7/T+CX0kljT8Lw9tHZzMNPqZnHfHP8LgpoS4J\nJKr7OpBBxXyeAkkWfChtQOOgSZ48wKMdYiby9OZWAnBz7WUSXxJHcG+GMlux\n2weU\r\n=T5nS\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"bfd4e35e7e1e52c181e1bee0640ba4946b6458d2","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"npm run dev","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","pretest":"npm run lint","examples":"npm run dev","lint:fix":"eslint --fix .","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.3.2","three":"^0.96.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.3.2","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.2.1","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.4.11","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@storybook/addons":"^3.4.11","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-uglify":"^2.0.1","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.26.1_1539590766708_0.05016855745394255","host":"s3://npm-registry-packages"}},"0.26.2":{"name":"boardgame.io","version":"0.26.2","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.26.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"d88413bfdf48e241379a28f7304373b43255035f","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.26.2.tgz","fileCount":20,"integrity":"sha512-Dsg8OFxqakUzlrFEGlSKoyApvO9WFBkFybQFsJEwotO4Sv4c8f5WzOvuynROdGrzXwRG1zuNPup3G+YG54BSuw==","signatures":[{"sig":"MEUCIBOOIffOUIAo5wDSch9ZoFoD3qGBkjWfyYeNZdaL+8wnAiEA22aH1GNVjtRrL33AfUoDW/ysCKt1+y3dqyfqbo6mBb8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":954945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbxZxHCRA9TVsSAnZWagAAN8QP+wXQQ6j1Q2PA85hzeqY7\njVCVWoHA72uj+RcGDy5sijMngJ+3rrEguEW5JMOVspLVh/XF95p9cu9D8ahL\nYPlyN8lFZCGZQaO1LyFMun0vAzZ/FTzCSkKzUEvobuYbWKckfhoxmAyOXuty\nuQoYEIynXom2P+rVDiFYUrT1MscVI3mIAkCwAQflQWoeq6ncMxC762hAQ8TI\ncj9l+tBihrEj4VQE0LecaMwEbauSwahWeidat3BAc6ot1VTy4LIIr/bXzkZ9\nOGavVafBOUiPd/9ARi0DIJ0Ez+V3onYqWAI8U6cp8vf5EvW2eAzxRMB+Z3Uw\n0gOt3MhSQ68tvjFvY+EXeqRCl9B+akbx+uD9pYWvFAn1jJDU0POG4sCbcTof\n8kgT9U5Cy1s2xDPJb3hRn+b3+9tlp5nqPEE38duBydEEArT4OxF08q0REJz0\n4vWXdIi4Y7B855nOhCf6zIc54mr2KY6Yc2hdLNmsBjvJoxpI3NZQ90+mu+XR\nh9A6NNs0HA95xPJAeUvqH4VSpB318RjjLmpF/FGl8ZZ8uG+EnfOr25mtcrkr\noa5O7rmO41BX0zD740mgRxmqse03EdQn3nWtes/JKg/LkCVXCWOyKi13V9Cy\nQu0AsITp7WeSidjw5dT1fxyIpyyeJCRiZLcgeyx1ThuLojrKx8NLHqyGExj8\niyj8\r\n=xNWL\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"2ec60afa39c7f76b4e07dde0d590ee974515fa57","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"npm run dev","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","pretest":"npm run lint","examples":"npm run dev","lint:fix":"eslint --fix .","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.3.2","three":"^0.96.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.3.2","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.2.1","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.4.11","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@storybook/addons":"^3.4.11","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-uglify":"^2.0.1","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.26.2_1539677255033_0.6203347711573088","host":"s3://npm-registry-packages"}},"0.26.3":{"name":"boardgame.io","version":"0.26.3","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.26.3","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"2ef058aea3878f7b87cf33dd9fdcc6d0211bc96e","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.26.3.tgz","fileCount":20,"integrity":"sha512-MYgyP9INdHCisJ6NiKBFajlhakRUksIAoLBlTiXpFlCqwEfEtnjNN9lfj97BfPYc5g6LP5v4/lHEy6rdsp4QRw==","signatures":[{"sig":"MEUCIQCFy8O2HlE4NzSwTNzX3RLBiNVJ1SrGdIm08M9XE+81JgIgCrZe5NZgiv9BcgNilP73dwa09+e8BQ7C7PqE545MKzI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":955244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbyZUvCRA9TVsSAnZWagAAe3cQAIDNoqrJB3cCMPj5vHv1\ngbuvTySuf3X87lZFdZAMgT50+/1cB5vP50/aLW2BOtq+7oYsTu0oAcr97vQ0\n7Icu/I3LRGy+IHgc8D2tn2pof+ZyM3LqzFgHppn0AHxxD2wS6HxmjIiL9BnT\nRoyF3vjzEO+0T9NS0chD5JRa3jaF1yRgXq+Kn8/H85WC+/mt2pO3iwo/xNjS\nZ4S3YrwlUxTyTva0ciu1sGz/47+ZSTjaYce4DlVknvWDBQHkvmPqh8uuR5gQ\nxAFwi0hFbHD6k5rRZ8Mgz+3OhIjVj/p8zH+W8pQOHcw6+djEEkhlrU9DnCz/\ne98MOLMG9mjvQRWyW2Pu1zHM3BB4xrYavAU+qfHSZpof/HEIibiTQncS0M5S\nPP+qt8oLBB87GUqCazAb0iIqF0P+fMDMJamtCA7Mk3WX0QRc0CDfUWyRwYtq\ngmSN8jLbwxw8QW9DYS08ghrwYwzF+cNNQjCgN58U6gvjx7pEm1Ugaci8PpWZ\nW4kWbYgyYH+sxYBNh1mME/7AqcPEsMr0FBubeYh4RhjEDhzxncFVLjxB/o4h\nGdRueuZVUm1HNe/waDdClQEKJLyiWeYzXci8mQDm8f80v5hxMfysZ9zLISv8\n0eEOgi23sNVwpeqnujCugHFiZlmqdD5x7pHpaGINpWcooAxEEK4vw/4o1UDq\nfBPl\r\n=BWwq\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"fc415b9efdad058a785348659b691d9672ac511d","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"npm run dev","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","pretest":"npm run lint","examples":"npm run dev","lint:fix":"eslint --fix .","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.sh","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.3.2","three":"^0.96.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.3.2","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.2.1","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.4.11","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@storybook/addons":"^3.4.11","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-uglify":"^2.0.1","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.26.3_1539937583172_0.06345973894154167","host":"s3://npm-registry-packages"}},"0.27.0":{"name":"boardgame.io","version":"0.27.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.27.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"31548014ba3f265d63661f03a8fb221464109343","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.27.0.tgz","fileCount":20,"integrity":"sha512-hOMRBGrTG+X7Flu8W1yn/vbjoA0OxTKzzxgUPXroA0FQEBKsJFMiUl85EG8Xv76bWIrUFKAFMSStevjhaqneqg==","signatures":[{"sig":"MEYCIQD8sl0nsTVxVpKzJURvu5ii4Mu4z7MXfm7J0YThNTRsYAIhAI0gcTel01lsLN7kjOKS8rtILbENLLVn4etX7PF/zPNJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":963407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb7Y4wCRA9TVsSAnZWagAAY1gP/3SgCkXWxQilaivMVw/t\nb9g0wS7lnnbqpy11YM7x1YG5PXGo+NJOJO5zNCpi0kclNybPyOiDYbQwvCUI\nBDqnUp7fpRL3GiR7q2BxJNXyHf6IttpuSIAZfTVGYxkpCdM4fjOizmqpIuyM\n+ZLRE96S9akR0+KoGWbOPrgaeC5uuSVazd4qPMcFgik1axer9h+/ixRsuSf9\npk5tJjO2HizeBGa73lIk0498769AV+4tPewaajOHkuB4HXAVzL1X1AHlcNWr\nUtEX83VPLM3gLC7/piaFNErI8Ta+fxRQRX/p/7/XOjWLEWbAWxpogtYb1mLL\nKIUnUk4PWh5wa1i97lYqGWo4s65Dyv2WxEMKDiSzAQjnGgopnYZft7+hIiFL\n+Tny25eZsAsSepGgYnEkVCG4zyi2VCREV+BwE9pv8zF9FIt67JrIV1KKhdmN\nvbfHqjpwa6ljwzXLt1LsIZf+2PDHrOdgC6tO5+rcl9/vFqRNLaxi+IQN64L6\nKyPFygDkmfM0C39EIX+OS2x48iTnECfm4Nk63yoWEV+YkxL22lcyL4PfL7IZ\n4m/33Fg2wnQWeOf1SMQlY3N3+SBNbvmH5so+sZEi46TRM/egllhjhkB/u9Ux\nDOYK81zHZ3O71Iib5Wa2wnlPklSB0K6sHSRn8NBZ9E2yrwS7IdBT+FgilVrN\nwnsN\r\n=QbQp\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","readme":"<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/nicolodavis/boardgame.io/master/docs/logo.svg?sanitize=true\" alt=\"boardgame.io\" />\n</p>\n\n<p align=\"center\">\n<a href=\"https://www.npmjs.com/package/boardgame.io\"><img src=\"https://badge.fury.io/js/boardgame.io.svg\" alt=\"npm version\" /></a>\n<a href='https://semaphoreci.com/nicolodavis/boardgame-io'> <img src='https://semaphoreci.com/api/v1/nicolodavis/boardgame-io/branches/master/shields_badge.svg' alt='Build Status'></a>\n<a href=\"https://coveralls.io/github/nicolodavis/boardgame.io?branch=master\"><img src=\"https://img.shields.io/coveralls/nicolodavis/boardgame.io.svg\" alt=\"Coveralls\" /></a>\n<a href=\"https://gitter.im/boardgame-io\"><img src=\"https://badges.gitter.im/boardgame-io.svg\" alt=\"Gitter\" /></a>\n</p>\n\n<p align=\"center\">\n  <strong>Full Documentation: <a href=\"https://nicolodavis.github.io/boardgame.io\">link</a></strong>\n</p>\n\nThe goal of this framework is to allow a game developer to\ntranslate the rules of a game into a series of simple functions\nthat describe how the game state changes when a particular move is made,\nand the framework takes care of the rest. You get a fully multiplayer\nimplementation without having to write any networking or storage layer code.\n\n## Features\n\n* **State Management**: Game state is managed seamlessly across clients, server and storage automatically.\n* **Cross-platform Multiplayer**: All clients (Web / Android / iOS) connected to the game are synced in real time.\n* **AI Framework**: Create bots that are highly customizable and debuggable.\n* **Game Phases**: with different game rules (including custom turn orders) per phase.\n* **Secret State**: Secret information (like the opponent's cards) can be hidden from the client.\n* **Prototyping**: Debugging interface to simulate moves even before you render the game.\n* **Logs**: Game logs with the ability to time travel (viewing the board at an earlier state).\n* **UI Agnostic**: Vanilla JS client with bindings for React / React Native.\n* **Component Toolkit**: Components for hex grids, cards, tokens.\n\nThe framework is modular and made up of pluggable adapters, so you can swap out any part\nof it with your own custom implementation. For example, you can connect it to any storage\nbackend, or change the underlying websocket layer to a different implementation. Even though\nbindings are provided for React, you can use the vanilla JS client to connect\nit to any client-side framework (see the examples in this repository for how to use threejs).\n\n## Usage\n\n### Installation\n\n```\n$ npm install --save boardgame.io\n```\n\n### Running examples in this repository\n\n```\n$ npm install\n$ npm start\n```\n\n## Changelog\n\nSee [changelog](docs/CHANGELOG.md).\n\n## Contributing\n\nSee the contributing [guidelines](CONTRIBUTING.md). Also take a look at the [roadmap](docs/roadmap.md)\nto find things that you could contribute to.\n\n## License\n\nMIT\n","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"dd1052f8825789c5066b762fd9821bf97fa4a53a","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"npm run dev","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","pretest":"npm run lint","examples":"npm run dev","lint:fix":"eslint --fix .","prettier":"prettier --write \"{examples,docs,src,storybook}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.sh","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"raf":"^3.4.0","jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.3.2","three":"^0.96.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.3.2","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.2.1","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.4.11","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@storybook/addons":"^3.4.11","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-uglify":"^2.0.1","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.27.0_1542295088019_0.5854845886671063","host":"s3://npm-registry-packages"}},"0.27.1":{"name":"boardgame.io","version":"0.27.1","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.27.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"499ef69b7e896a0ce4288dbfe6159ae78dd9d9e6","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.27.1.tgz","fileCount":20,"integrity":"sha512-NwHwWb4o8odxjpqdA9s4mGd8SVuCShX8NQeueszKU1Jmpc0yU3y/IHb6jEnmA29f3wLh2VS/lRxwVUrBuFZiZg==","signatures":[{"sig":"MEUCIEJZqYJtbjvLBhFnfwh+M5jiTpV+qCwAV2eZiQopX6+gAiEA1FOsvs1KfgL52qINgUSy+WYWStddm4eYKNzfBiUpsHQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":970635,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb8XcECRA9TVsSAnZWagAA2hEP/RocCJgk/W5jdEXycfAR\nQL2AASQVW032wLKcDx6rn3t0pFHmov+nvUcLQQJMr/QiuTqsRtoIuy9FT2JL\neusmM+Cz2vt/ml02QaGiqG39XRaV1Kpx2T+mEFDVU+UyCr/9PkIazW0a1da1\nGRxNr3lA0knEOubT3Kql2GvcGvfrtFMW/OE5bisltbTFjH0hmByrLTjx0W81\nxtQJ+AgfX4rZGD5QEJMDcbUtUiVVb1fkQDoYtuu1dWWyX7stDjjI6Yvm8pD3\nR/jkt/5lX/jq8FkjUUVO6dVo1nMnOMeXcaUkkW4o2fK5AoVMDrk6KZ8z+1TJ\nHiJ/ZPJJhfdzMC0nrXUbSmnp8X4goQkvhlVl68dSDwXIgK/EfBo6JFUiHzpg\nzYSeZS0Ih403ANwzSMz2+z7UDaiRgpYsdFfK0+LjXKmhRIBu6VKuNtQAdBis\nXFlWuZG7vc864jqKo/rZ9Y8xtN5m/eG+Jc5ULKRvDFxJ/c0JOnucqSOzSJ8s\nWyWncWXKblVJRU5U6sLysaaOj5mkR3FnLusTYcyVqI9x2DvelKNmAG39F6I/\n2hEZsfJO7pPA+RS6SkpcUZLsHybTqzQE6RmIJjXOGiupIFT49QaCqs03fBTP\nnjLxJJBvTce5tpmERywVn9rdg9LalHfHLxf4QXiQMGQc0bUr4MChYntgKai3\n3NtV\r\n=Zy8R\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"65fff850fd4ef7b32ccccdce5da058757b348be4","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"npm run dev","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","pretest":"npm run lint","examples":"npm run dev","lint:fix":"eslint --fix .","prettier":"prettier --write \"{examples,src,storybook}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.sh","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.3.2","three":"^0.96.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.3.2","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.2.1","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.4.11","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@storybook/addons":"^3.4.11","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-uglify":"^2.0.1","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.27.1_1542551299144_0.7440851686517356","host":"s3://npm-registry-packages"}},"0.28.0":{"name":"boardgame.io","version":"0.28.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.28.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"2dd202266720c538d432b3cb7e1ee5c43827dd74","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.28.0.tgz","fileCount":20,"integrity":"sha512-NqqNDzvoh/W9AlhAhMrTW1UCK/3EE4rf4SAW2HxNbiFkTb97riyjsALnJDJxMAFifd7K/CC6hn7v5+nRVhF99g==","signatures":[{"sig":"MEYCIQCGvs7kcObkqlOJw75Gu8APAQCkeXCHXmJVxQCusJBF8gIhAPErQ6kObVAJVvUrzqsxwiTVQivelZ2K/U0eSt1PPHNf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":981808,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9U9xCRA9TVsSAnZWagAAPFMP/3qE4dwtJpo/oE4RLqEY\n6Wc+OJVjMAPJYH3cBhXPzLCxGJE/3EYSCDqQs0rDrQSMc2rJ/mw3kqVUdxFG\nOQg5YyywvrFAcC2JGExrlDXmiRY99rzkVdW/dQUXq7wup3dMTqBNtjxlDmkt\nGyoAZZ7DJ+PCkz296ixK5yTYx7t3O4Yoc8KfpQVWaHRgJFqQ2T5SeRumCPUm\ni11ehZl3mOq4a0UK6eiOhqq61Vd6O98SALgf3awzBFaFzfCdpzz2QP+BZcoM\n5cyoS1jTu/VXoqQ9PkCtQkl6TbWmC9goXZ5uxuLBVkk0Tr0VrZkSyHnb4ldV\nFlWnNA/Kyx/wuuafTJtI5PKgEYhWkWh5wVNj3loAtcUKIiw5t3Dxd5VHTm6n\nGkkVOvOGeoLFput7cDX1XYLg2Ouc/n95xD5Pbwj0zMn+uuLaJXJTU2ZMJZ/X\nZMYwoVBRUF36cwmdknwGjcBHdTYNjNJawTra2tM4Il0oor+/Qn7VLACtT/PC\nahchUst9hoCNzCuCrQCKbvYbNe+uuDuBuhUdc8MG2it38kCO2ixg9JRrF4t4\nOb/a/sqPLQUMrvtZqLQYiaIsh/Y152loNsDg+n3K4dTQfJ2zocwI1B3li5xO\nbBRwa5kp6bXOtdwifHBDQxUMLsO6ZaDzxVi7xQQ8ckkDNpBoxSqfs9m1AuB2\nMHWS\r\n=N+lg\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["integration/","/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","server":"./dist/server.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"8d92844b603e4f8a33a0494a6c9fe87a99fbafad","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"npm run dev","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","pretest":"npm run lint","examples":"npm run dev","lint:fix":"eslint --fix .","prettier":"prettier --write \"{examples,src,storybook}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.sh","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.3.2","three":"^0.96.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.3.2","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.2.1","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.4.11","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@storybook/addons":"^3.4.11","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-uglify":"^2.0.1","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.28.0_1542803312823_0.9351548094353974","host":"s3://npm-registry-packages"}},"0.28.1":{"name":"boardgame.io","version":"0.28.1","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.28.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"9ec9a53b6f7112e0361a7247098f8bb1a501a12e","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.28.1.tgz","fileCount":25,"integrity":"sha512-hEY0HKlejESXiC+u2h02JYyRJDk9cgdlFjAeaVLw5quhjEU0uB7aa3TXQdsj12kTzWrSAEyYR/aB4W2jcp7yRQ==","signatures":[{"sig":"MEUCIF7b7Gwi81s/cnD/deF6vnd0KKUU/RsTUzgXNlM8HfTRAiEAnxia+m5LKtNM9+BgIIDG5ADNFwYuJmTVvvQE7KQ2eDY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1087706,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcKDLUCRA9TVsSAnZWagAAV3UQAIpFbKi1T+9rwSfOnq1X\nAEP5MXQWTBkufRPA6o4fLe3Q2D8o7j7/YhbO55wyzc9SM9QtWe0YrwtsX6wS\nZKIL92/PBe+6iUtMNLF7Cxrb+h6Fj0HrmTJ9vBw4syvSHW3F2p8d5eV9277M\naJQNHdmThQcpcqeAIL8GAtnn0MCHAP5RjN8UNL1pzLMziwvpSAq6Bw2+itSM\nMkVTihM0aZRxkVrLys4qn9VZahrO9S8hvZU+6cCDHI/EcvAeF1V6DkpA2UUa\nIDAP4ArwYIByQ5Sp7EYAlCfRgsP9Ee5hGnFORWwjaqGUmplp41oVb01CaxnO\nsbHFiAepDCxgDlciHAiR9uYqK09vEzFHZvI+5PRIBGqWs9sutOL+jffs+2Ib\nYwUVpbkQZ7P6pHGTEHharB/TvONBQpTpl2MO1Ly1+INmSXnxeKs+ipWGqv5I\nGRorRMqrDAjV5mc6iGznpKEZptc6QjHrzZWo7VaksI/t+RLjQk+1K/ztZ6fI\nmguXdIKo63CCgRBQ72V5ToHXlkcezQ4VjP78pwTZrrzrtv/XvacrmtEjufaZ\nb++fJAllGyxBYwyE312xWJ7T4UCCascl2F1jFgdPdhrbx4G1e6+w0Ok9neV7\nnSfbmLc1XVjQBE7xG7WL7DBJNgYVt23tnKGk3JnRlVNrX7diOqq0q+myRDFI\nxy/H\r\n=UODD\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["integration/","/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"7924811619dd7cc13b7563a4cc8307c28f38f0c2","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"npm run dev","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","pretest":"npm run lint","examples":"npm run dev","lint:fix":"eslint --fix .","prettier":"prettier --write \"{examples,src,storybook}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.sh","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.3.2","three":"^0.96.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.3.2","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.2.1","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.4.11","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@storybook/addons":"^3.4.11","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-uglify":"^2.0.1","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.28.1_1546138323669_0.9123538934499189","host":"s3://npm-registry-packages"}},"0.29.0":{"name":"boardgame.io","version":"0.29.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.29.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"5fd42cef1ac7a1f0ff2443e3888411d7a09a50d2","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.29.0.tgz","fileCount":27,"integrity":"sha512-wXWzdUeLFaKtOXRYL+gdfuBizbpyKePFj15bpO+Qwogx3ocq1TR2cMXGa6JBOuRWjuSOBRKFvMOfBIw2Wl1KAA==","signatures":[{"sig":"MEUCIQDdt2pzGTI4rO9pFdO2kjfFXphj0fgGIoVjitv1qlEIzwIgKZ/yrrp/tmjqNXiEy5z1vPrmeRKNKwypJuy0RAxdLYo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1103882,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcKNa1CRA9TVsSAnZWagAA/ecQAJAI7Dj4n3XXxSzyGUO9\n7i4AGUAsALJGQ9tIVRYVpcTFAz840/YKQD8vTdvwLdzBssPiOAdIGxcIqlhF\ni86FPynn3JxrKR3cSnrMjMyxCmwrPLF2KdjfoXSx+Xypn1MKi+rXoes7dY1p\n5s9X/5vF0vnW/0hUptuG6dhs0JaK9C7Gab+BZm2FggmVDNHtT6JXiRdcm2cc\nvae+ZU2cnpw64LGmVVOOk6aSdDXhfq2T1Q+61Il066FJ9kIArBNPJPpFGEjr\nitiebgAAxljHy7YsqXH03d61/TezZzIRov4pCJ+AJXwj+UzFuR2jCiSKlsdM\nNTm51TYhdZvwrxb5KyRCc3wp2RdChUqboal0lo6Ocirj6Br8aJo3zMoqYAlt\nauQbL9U5jhKgl6AlNCpT1QuGQP9dqnV4SLQHPrFs9ASgyLW5gB1O1mhguWHG\nRudlRI4DLF7p6iLyY0d8XIt9H6rBM1V9TkcvpGTwqdrLlk2mtvB9zJ4cxEQF\nfbE1Eu7covy8A7D7Nzhzdxmhp58wHUBNrRMo8z2rZmLfC7AmOkeVtqp8xXFb\nDxuaP0Xaq6JvF9d6E6O9uqY9xhrEXZxWCB/rx6GBcczgFgTBph409sBSLoo/\nrkmU7QBN+rh/PFCcnPhMO0/mgoodBBlxBmtRqpysLMUnH13YKwCDQZRFw9nv\noaCC\r\n=5exc\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["integration/","/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"e0413de5f188338ac58fbc7f34a415a6586bd406","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"npm run dev","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","pretest":"npm run lint","examples":"npm run dev","lint:fix":"eslint --fix .","prettier":"prettier --write \"{examples,src,storybook}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.sh","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.3.2","three":"^0.96.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.3.2","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.2.1","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.4.11","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@storybook/addons":"^3.4.11","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-uglify":"^2.0.1","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.29.0_1546180276666_0.7459361084809011","host":"s3://npm-registry-packages"}},"0.29.1":{"name":"boardgame.io","version":"0.29.1","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.29.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"eeaa50c729cd2a1ee2f8b13c182cd9908a35af38","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.29.1.tgz","fileCount":27,"integrity":"sha512-Mc6f07IXzron7awNjeOJPkxiIRju/s+zgaO7M2dcqu8m2izmuRyD8TQmVueUBmUY5SegEaNf2N88RuRU/PcWwQ==","signatures":[{"sig":"MEUCID4HUtbXTKRrZQyft18GHLdNzQMPuneTAWxYvuzfxbCOAiEAl3P+6SLHxIqH/V78rXuunbW1OdIowjf8i5gqEE5ycsY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1156220,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcL390CRA9TVsSAnZWagAAQWwP/j9OXMUTQrYzYwl09tU0\nVP0BpcwNjUzhMo6AtpS/cyQmpRom2qCGZ3PI5XoUf2et6RfzEhxNr5l+M05D\nmND0w+XytzR2tAlGCY1SV9sNlb2BjyCZHWgPUUbGTPzAfKeKvOsS09uNLSwR\nyrplt1whQdIfnsLGaqwI7fubddJI3mV5IZNQMUH34iX2IzeuzIXhIy+PKMgK\nHtxBfSlrCHBIRw2kA1uuLKz1Ctas0iWhcEe85rdaeKLbboqpWYtW5ipIFMMB\nxams2gp3sacZrxND0yx3AA+54O/AA+PTVHPYxMEW3BTGchTF/zv4G/mm9l37\nskG+PNwCDyDhQxueAdAUDC70gKqznriNyjqrcOF5CCrMtRdLXXYUoz+xDc+J\n6UBKsYF1vm19VdjE8WrwrwFCqZUHUgDUGz/AWNFBAiLMzgEC5P4TzdSmA0Hx\nxvl4fCV6ViUxL2Scu17qbf74CnlSAw8u7iShW1QMq/6lH/Amqs4bXJmCzKL6\nCKM8w/nkdw/4xKm+KhlcpcBGYMWolsdqOyS3VMnZ/SUdUYe25q3+Rc0K8nNT\nubsBiGDiGBQre+bfyCt+sUuxBYwXy6F90gUxOOzL/H0lnJ5zLOf6kRUBn1Qi\nYuwowhwdqbvPlPwBB/cr8WMHTrVyyrAQ2RfWVQT0Rdm5/x2rLL6d5hCnz5KQ\n8G5/\r\n=+pbu\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["integration/","/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"a9da244fd37960ac769ad2f4d93e4e921bf9a443","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"npm run dev","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","pretest":"npm run lint","examples":"npm run dev","lint:fix":"eslint --fix .","prettier":"prettier --write \"{examples,src,storybook}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.sh","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.3.2","three":"^0.96.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.3.2","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.2.1","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.4.11","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@storybook/addons":"^3.4.11","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-uglify":"^2.0.1","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.29.1_1546616689967_0.5485907387405247","host":"s3://npm-registry-packages"}},"0.29.2":{"name":"boardgame.io","version":"0.29.2","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.29.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"be379a34905d53ed0c87b695666a6da6caea9d16","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.29.2.tgz","fileCount":27,"integrity":"sha512-7hia1avBRAkabUwp5HtDkm6weuU5dWxmjA2EYhomW4CujHSs5s5uG/se7e1rxsIUyOU6vG5uYQZRHb9GG04NHw==","signatures":[{"sig":"MEUCIC5M8X/pquRjqJCGbJHWjPgK+S9xqmZaBx6bLWqPuQDeAiEAuw5uRMxAC7vrHHO5kQ0qeQp/qzno27Yl6c1A6XGeDaA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1156136,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcMAaoCRA9TVsSAnZWagAAd20P/2RHD80wrIE13zTYKBrC\nivmZJXngeuUq3r544dJ75v0TnHW79orsa0xUlkCmIiFzzRxRHgtgFhnAV9KH\neOOiDi5wqmDDkvMm6S5z32aJG4MRed94alOQDL2bR41gdVPsvRfOjXtAiuN7\nJ3x1JZN6j0aEu+6AyH6zLU+AXznhCHPKZPYgSKx9E4hDWI3hRS4Ok/mvASX9\nRqCt+vC0QtXlsvZ1fL8lerTCZmj8Jr9sPxbB3lBccvB6rrEqDfSa1L+kL+F0\nsL3cn9aho8vB075ONwrxyHL24xDmtuokx+T30e6RWUFvikEZiwzeZ1SHhld5\nkQUaAn56yY3IoOXaX6lAuluYjf6fBMRPXAo9Uj5T3KML2GDLHRS0fs8YJHoW\nu2p7UaoKPR882uVyElgO3peHVQyyRqAhekgFiZPL9hgRxiWCHDGaL4aA3Xjd\nG8+xksOgdoAnn9jPeHEKyD3hRHcclOnZLFfi8NQX9evXqCwEFWCD1VoXM9S1\nK5RV2GHFsZVz0vrosQBIrQkDtHZyLJgeNqv66C2eqVKjvNO678sX460IoaZE\nCc2kr/rwLXv2PtBFh5miuoS4w2v1a0bQWSeGXhihwIc/4Ckx0w510zAEGiL+\nCcNvizJ5yDUEJBgS63dC8xE0oD02VN4dxgsNcteFHFw1SplKfxV8tO8j+T6O\nn/JK\r\n=V/Wu\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["integration/","/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"e50ce2ee6cf07daa39a9361cdef1c75ffeebe105","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"npm run dev","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","pretest":"npm run lint","examples":"npm run dev","lint:fix":"eslint --fix .","prettier":"prettier --write \"{examples,src,storybook}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.sh","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.3.2","three":"^0.96.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.3.2","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.2.1","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.4.11","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@storybook/addons":"^3.4.11","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-uglify":"^2.0.1","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.29.2_1546651303614_0.976028159740814","host":"s3://npm-registry-packages"}},"0.29.3":{"name":"boardgame.io","version":"0.29.3","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.29.3","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"34f9e6d6645089bdd9a3e5bed8bed6fbbf8e657f","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.29.3.tgz","fileCount":27,"integrity":"sha512-nN7MscwxcF9p56x3TalN7BOhFVcUZQvzpFm+DSIB32TCyOyvy/XxZIMc/dL5UAPCS24lMkYA0gGqAWcoP4zjAA==","signatures":[{"sig":"MEUCIESNhA0k/u4TICxQgvtvNTV4rXee75gkhWy/HSmbxiiPAiEAgr7u6SqhesiIIkV1ersRlU2UVqMQkH9LS08Cw5BBqck=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1157229,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNL17CRA9TVsSAnZWagAAvLQP/1ZC9y/ylMuBfp/iOxOy\nxlnQwGAqPuUdIjsvzTiXpg31idzkhfnjZ0cpvoAUYb63kv/okoyT2HBhEFii\nO0V2pipA/Rord0lRcd+qJ/tLpEMlZrhUHPjE1NDriB7CkbmjMW84lQD3AKJY\nXroO/4uGpv8UUUj79rihkTMPaC/SGokwpkYpwUVgk340dHeZeTYtqZK1n2lb\nwIsG/ITTD9owoQQWmgdmVOtEmLAmyeDqY7WsIjx3yfd3ejP4IoHzx4j6Oz15\neZaOOdlRi7LmDsS1BQYBPQgeaiKAaFEaYuF36w7eEZrR4ztDQ0Rgyz6s82T+\nmJKWoe98n7ZzVzD+mfk2eNdUyTNJaOWad5xcqwl1wL86qXPhLg7EfrVEtLWf\n8IBHCX9gPQWVGeMm4gMBsLbMYyv4Pqilz84jB4958/Ux9sA+h8KmeCxuyd/4\nShagzS3zeVUYw03a7zLXYg7oTs/HK+e7ylVS8k9nQcgk2u5+59z9InFU5cxc\nNsSVsFv+BggxinVpkNyKJJgyshodpW7MJGjb4NC4OcMwCKSdHUIJ1LO57YSs\nRVm5W/l4zR4OMQdaMqMaaZcwtm+rhpqrQZsv0v5C3n40i5Yxf5H3omfgi1J3\nD6aDr6Y+fgH4iyDFhkLQQzYBuV3VumW2Id42M2U1Y1ILVqeTNHD5/SUJ9HSJ\nlXjL\r\n=Zuyl\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["integration/","/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"140267b0da7cca80b1da01219ea01f33793c7613","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"npm run dev","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","pretest":"npm run lint","examples":"npm run dev","lint:fix":"eslint --fix .","prettier":"prettier --write \"{examples,src,storybook}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.sh","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.3.2","three":"^0.96.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.3.2","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.2.1","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.4.11","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@storybook/addons":"^3.4.11","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-uglify":"^2.0.1","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.29.3_1546960250948_0.1543513494410773","host":"s3://npm-registry-packages"}},"0.29.4":{"name":"boardgame.io","version":"0.29.4","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.29.4","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"388a4f7de2487b20e60a8dd6d522fb2137f10a0a","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.29.4.tgz","fileCount":27,"integrity":"sha512-01W+A4gYkLbo1UJytUrA4YttzdG0KtY3eZY6+y/b/EL8NputQGOu0FAq6B86ua8C/HACcwNeclA4FIy7Lnx0MQ==","signatures":[{"sig":"MEYCIQDioijIKv2TQJFKu2dAHP5D9Kj9aPLk1WgnpvFrNSP3dQIhAJFAFX/vqn2CZHttnp6opJlNA7bfZ/LtUnA7Zz+ONqBe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1157120,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNVhTCRA9TVsSAnZWagAA+N8P+gK3Bz78CnTedszotBbH\n8LhwsS/x+VJpGwldoYu7+U37HtOTrGvZpgXhXvwATVvoKVAa49eXo47J+ft9\n7qWAg0WEutl1PP3Qze8Ohw0ev0LQBINS6+sKYPbOgxkugAdpxYE3AvnCY530\n2ZPHHukn621k5Zkdq8gD/GEjxGSsrCHbsxtoJdtDEkBeXSkQiDI/VhX1uYCQ\nK5mskLqtHLH2EdHYxQDPujsHj3EWVm7/34ZLEfEGtSAkN6vn6K+9H5sHD3QW\nTJKZNhs1aNLW/XYqqy8A3+xdnCCMcc0O1Z7u7C88CP9EPcKn0w5Ike6SQuIs\nX9GtnWBOIjxHpfuw7tkNKXlnvod77rTu8itKA+itNSgrSoOmfGWh3nIp/ZzP\nzwzRuwjpSJNDtnzpxZQGJje34O+C8jwdaBNGjwMjQP9LjEtSEe4K+HuIKRHq\nGkjbPTu5g4zr3AqK2pFnat8CEsXsGUjAPKVuHLBCSYg+Ms+borNGdUYXaYie\nlwjLxkLk6lpUdiCNKCwFF8yc2Rqp3X5npUBq2BCGHjIO/WCaAVJVYghxfriI\nfSbEvI9V4DvT6G0cPaHU7j8QRZ5v+6TEgz0DW9G1cYUy6wYgPvvpLKPEHWaO\nNEoViR8A+oauFZGKFyGdlusUuYO5WJvcfj3/9SSihiRwHAUqU+n5AkHtvHX4\ng+/K\r\n=v/Op\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["integration/","/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"a4f115a9a323ddf080a13b19417f145fd1ad894a","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"npm run dev","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","pretest":"npm run lint","examples":"npm run dev","lint:fix":"eslint --fix .","prettier":"prettier --write \"{examples,src,storybook}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.sh","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.3.2","three":"^0.96.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.3.2","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.2.1","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.4.11","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@storybook/addons":"^3.4.11","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-uglify":"^2.0.1","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.29.4_1546999890996_0.9742909634622527","host":"s3://npm-registry-packages"}},"0.29.5":{"name":"boardgame.io","version":"0.29.5","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.29.5","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"8a835fb575818e8134f1695285e26850c5202cef","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.29.5.tgz","fileCount":27,"integrity":"sha512-AsLoQrZBA3BiLxHB7bI0m8QuBWjyxbMtC8aMZBIHp5lTgpM27Iw3Lk+WMGHAcg+KKql5ilUecijijCHWJZ/15w==","signatures":[{"sig":"MEQCIExCZMT+KzrONzc1CaZKd2poQ+gN/maBYABEhzh7Qy8oAiALqJ/VcWCHVRBmTZ57InZxd4Kh6zfT9YanYIb9pL1mUg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1165712,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNfOwCRA9TVsSAnZWagAAUrMP/RIOteqmqGRc1bm7D6Oh\nKy4o6rpLbMVeObPZ3V+u+n7kFX9Wij3dqYe/NOPw7Ttt3vwf+dTOaEYX3v/U\nDDqcm3/ymYsdjwV9yE2V3uCQZlWfkLY4Y77SJEk8MOvbd+EZO9+XvdqYiBca\np/aZflBhVb8WgRzD7wyYkuWzMiX7W8ZMeIrghbzpdZaKlN73L2HU/ui1RC3/\nNXfBDUpIfFnF0pZrlaUcueIB7W7UV9hDe/QBVP66T7CQsHIHGmi8nkrDGqye\nbDLPaCBuRX++Ca50moIJMQOaZIxz2fptxz53b+o5KwjxVFDF54bkOYGAUldg\n1RMBgl5iZ3arMR17TFWcqTyx0APAGKoUdzl41BQWtFw6r6bUiuBFeO671TJE\nyjoWTPi6z4Vz5FbZz/GGghfW+jjmzyxSRX3Xz8p8ZT4hbzkxEwJzO0TuR2th\np6ftk+PB1F8Cz2+lf+5AM+k/7XdcqeouJ8YOLZgfk1TxdosVFPAOPKQN0KbV\niYq6EMSvPoG2hKSwpF1xz7fKHeyGpRSxV1s1VheBp1j0SfwSKgpLoZkDkk91\nx07aFK3Q+xusUH5HAVTJH1LhiNW/Zv6CWwik5YqqFNuHvPJzGw5OpE/+9Czi\noNuJNR7hvB6/cN2duNNpJb90dd3wZIv4ys4VktBS6ph1HAohDlI4C1lcyNBM\nnfIh\r\n=AqO9\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["integration/","/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"133e23af5f0e1fdf5b73ede0e734195e4a1205fe","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"npm run dev","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","pretest":"npm run lint","examples":"npm run dev","lint:fix":"eslint --fix .","prettier":"prettier --write \"{examples,src,storybook}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.sh","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.3.2","three":"^0.96.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.3.2","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.2.1","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.4.11","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@storybook/addons":"^3.4.11","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-uglify":"^2.0.1","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.29.5_1547039664284_0.9305436260066506","host":"s3://npm-registry-packages"}},"0.30.0":{"name":"boardgame.io","version":"0.30.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.30.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"fae4bc083cb40fc3df09af7e83641d786bcd2b82","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.30.0.tgz","fileCount":27,"integrity":"sha512-W6oSeewE5P/VlokUs7L4NpkH/M4sAlPCS8i4lMgOR1sl/bSM7FGvUqjxXIafqMRMNPe5bgRkw8f+K3LXpd6igw==","signatures":[{"sig":"MEUCIE9p8q6AYkcNQKLtSKCH5pR5i4H/e2hvF01YtjszUAE2AiEA8v85jAbrZm2CSvGBD1R7S+D4H89tDgVRaFhKbGvngnI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1174474,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcOMmGCRA9TVsSAnZWagAAwigP/iNBjNg0IfzA4tJM+pqd\nfX7nv/JLO0mt+ZJ6ZhCQ6Jw6G2984P24WUiF8QacR/tgUHjFGCS0phdWezii\n4Yk3hvNgavrCfkVNLgpbUxP4BQPPIvc8dmt3LWjY31XYZTtWD/meGT0v4KCl\nT+hd3mHpZD5eRJ90hav7Xr+NaCZx7rIgsNrhznaSDbMMN8JVemVx3wdClJ2W\nGOcsc0bo5EgPom1ti7lwsvjUqWPISHh0VAg3u950K4WTR6z3APzuUEAUC/u1\nq2A+NtyMHG6IE8hxIYrMyewAkp6aRgY/xcPrRm0lDgn2H4gGVIMpbTpKQpOf\nXtj/IcZe5mTHdMgrkqPlktLdBdTJ97c94BtvXM8nLB5y6sWE+x6YpRWlM9WF\nV7vAsIpTiRjrVwjQFymdchmBUvbfuEXUeuczvUrbMyz499U/Cu9DaaHnMLMR\nfIMJOA5UfjCHZmHYG1bDb+vEh57Kwk/LUtyA6p6CDc36VqdO/QGN7Ydqyy5k\n9WNX3wRWzgfHtuq+bHSx8BsqGEkygWz/PCRPbtLTKxZLDwsylnxmNKZS+Kwt\nXEXHMOAAQWnQEKNXr3OdFVnK0GkZjO1ycImD3gAVHhA7wnPWc5egiVK1ZeiK\nPqhQFqOnCLzWlZu9yoYjdfRmlBzNZbbK7Xk6R+bMpX4wO7Yp5Ya9vabzzxb9\nQIvj\r\n=Hrz7\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["integration/","/examples/react-native/","storybook/","/node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=5.4","node":">=7.6.0"},"gitHead":"e8b89e52a22b41457f0a087c4fa92f4ec55bf577","scripts":{"dev":"cross-env NODE_ENV=development babel-watch --presets es2015 examples/react/server.js","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","clean":"node ./scripts/clean.js","start":"npm run dev","docsify":"docsify serve docs","prepare":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","pretest":"npm run lint","examples":"npm run dev","lint:fix":"eslint --fix .","prettier":"prettier --write \"{examples,src,storybook}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.sh","storybook":"start-storybook -p 3000 -c storybook","test:watch":"cross-env NODE_ENV=test jest --watch","postpublish":"node ./scripts/postpublish.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --forceExit","docsify:update":"node ./scripts/docsify-update.js","prepublishOnly":"generate-export-aliases","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","storybook:build":"build-storybook -c storybook -o docs/storybook","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.2.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^21.2.1","husky":"^0.15.0-rc.8","react":"^16.3.2","three":"^0.96.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^0.50.0","mongodb":"^3.0.3","shelljs":"^0.7.8","webpack":"^3.5.5","chess.js":"^0.10.2","firebase":"^5.0.4","prettier":"^1.10.2","babel-cli":"^6.26.0","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.3.2","supertest":"^3.1.0","uglify-es":"^3.1.3","babel-core":"^6.26.3","babel-jest":"^21.0.2","css-loader":"^0.28.7","koa-helmet":"^3.2.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","babel-watch":"^2.0.7","docsify-cli":"^4.2.1","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","koa-webpack":"^1.0.0","lint-staged":"^6.0.1","babel-eslint":"^8.0.0","babel-loader":"^7.1.2","style-loader":"^0.18.2","firebase-mock":"^2.2.4","@storybook/react":"^3.4.11","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@storybook/addons":"^3.4.11","babel-preset-react":"^6.24.1","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","babel-preset-es2015":"^6.24.1","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^2.30.1","react-test-renderer":"^16.0.0","regenerator-runtime":"^0.11.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-uglify":"^2.0.1","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^0.5.5","rollup-plugin-replace":"^2.0.0","@storybook/addon-knobs":"^3.3.10","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^8.2.1","rollup-plugin-filesize":"^1.4.2","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","@storybook/addon-actions":"^3.2.16","@storybook/addon-options":"^3.2.16","rollup-plugin-node-resolve":"^3.0.0","open-browser-webpack-plugin":"0.0.5","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"peerDependencies":{"react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.30.0_1547225478094_0.9272313816553062","host":"s3://npm-registry-packages"}},"0.31.0":{"name":"boardgame.io","version":"0.31.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.31.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"c9ece51e8c40e0f7173a10c1748f9a1b3cc23189","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.31.0.tgz","fileCount":27,"integrity":"sha512-XlEzYWUgMUlXLrthuLqr4tmAVeM5DSEwiZBVewiIwGvipEFO7AevO7OyrwDMd6SYt8zZ63sxi+Vm1VG4x9tQWw==","signatures":[{"sig":"MEQCIHfHoD6J1oaIzcrcWOKK2PV0sG7tunJx22jBqqhZJXQ3AiAaymTwr0hbsz8A61HM+fbsXNMkEfcOIfuvXQ3kpez9LQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1828129,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRzTNCRA9TVsSAnZWagAAiYkQAIYi9uc43qD3sPsc6YZe\n9hQQl9eFvjOj6Fqy+VF1GE1/Bw+2nHaHFbrQo2yfuhODP1Bl4G2P9Y4y3/nL\nt7L9VrqR75MQBHC4PcvReKCcxM/3r4hY7oZw89xV0zHGWZGxW+XKDAPsAUeQ\nO6j2alJBrtGmXeHyQY9YLg27pRvKE5CQGSE4tSsOC2Mh5UeoHwPSA94AH13U\ne6e1KySWvFb9gG4MlNOCef1T5a7I1rWB0TJRQu5lf+/ybDyPHmQ81N99kQcD\nUEmJKxY9qqFqwFWUMOBcGV0OKXDq+tVEo+MY54+1E2eYKYIc8m8K03NJM0qu\nN9rd1RuDltjHBK2M6m/c92G4/xLsLdFYDG/BkRINycCa6BsjYB1g13c0r2Sv\n3GENO/gAFOZDdmXiBzdP1d2OcnKv5g68VAyiiRS3YUIZzpyxeihbvWboXe82\ngCfMpVk78SNeKMkRlH8tGIS7ZNKbo+tGgpJ4WxlqF4IPW1EoSgTTycQqcEQX\nKj9X+8lgEDrUtl+diJLsn4R55LKz+ZKYhKff5enwYHDK/6RbMzXM0m5YStJ9\nKKX250sEtCgbUmnbD6LXLIGDoz6GUx9DJN6Npu6mmZ6YobGbrVjk2M5Tx1Yc\nJOcmscqMZZMFIvvBB9rdB/Fk1aXeZsLVwsaeSlC6nAX6yVWm0muel4jKOZwu\nuGA6\r\n=Kpd7\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"62be21fadc8709cc8065dd300c567ee9d93b682e","scripts":{"lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","clean":"node ./scripts/clean.js","start":"bash ./scripts/dev.sh","docsify":"docsify serve docs","prepack":"npm run build && generate-export-aliases","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.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","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","docsify:update":"node ./scripts/docsify-update.js","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^21.2.1","husky":"^1.3.1","react":"^16.7.0","three":"^0.100.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^1.0.2","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","firebase":"^5.7.3","prettier":"^1.10.2","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^0.28.7","mongo-mock":"^3.3.2","superagent":"^3.8.3","@babel/core":"^7.2.2","@babel/node":"^7.2.2","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","style-loader":"^0.18.2","firebase-mock":"^2.2.10","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@babel/preset-env":"^7.2.3","@tweenjs/tween.js":"^17.2.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^1.6.3","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.2.3","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.31.0_1548170445112_0.7109567789405236","host":"s3://npm-registry-packages"}},"0.31.1":{"name":"boardgame.io","version":"0.31.1","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.31.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"cc2c44a33eefe67f09fdaf80cd9f6d8a760ea458","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.31.1.tgz","fileCount":27,"integrity":"sha512-gNDcfsg3TxspW0Ph56Tu2knt2vn1UeuNFOldlzxE8Ddxmdh5ev8Fkx4El4/AXpPC2ubggwMEz7X/CbQDSLs9aw==","signatures":[{"sig":"MEQCIBRgK4bRZL0bJYxzDWF76/UIDUaFgAgLCEhoylG7O36dAiBysjiZEwJu0+8pMgUtAXPFgXh6dVjRLx3aNU0tSu/F+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1287501,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRzhrCRA9TVsSAnZWagAASwUP/jLMufC6Np+M4Ct0ID2K\nw4G0t6UJBExPm3GkM4J8DEuWobRMjAAYdQNPHa5W9U0Fp5bkyqpur9HZUmEZ\nXQdL2si3NUKfadEcVz48qepPXvbjCMck1PeQHTpexta4pX6bduu36ZPfU5ab\n9ehokSg1QJuyYJLB4/TWHjdeRCZVDCSN8YqO7yC6+Jbvp9iOzrHtbfx7fO3N\ni6/HwMOvyJc8KZeQRZJkLXFuS6I9wK1m/jHx5TVrap/0fQCSPql4BQMqGBIU\nBWKlMjFe4Fqn+xsOC45YpaSG6YDhNziSYqoqIlAQRsYZuuQNJ5zHmI0eedQj\nyhWcYkVE1RDWdDzbbHdN63AaTKY+F03+9/2GnMAUJFa1kKj5kM/3HfhxJXR9\ntaxdxuUhsuJeniWxRILczydHK0PH9IaUrxDmBEHuAYpT2t9YSe4lCKhA2M0o\n+PYenTcWGnL9ilnuUbI9WOByh6AXYOkJU+Thy+zjNyKDIPuvd9PHEIt/17OR\nN7TSc6lmq2iHLSGUH16sZNzhBKn9Ok5AwUZsqOdelwJssOHyKJv0Jzah8Zvh\nhWRGePtPgUcHA+18hM16Ln7kCOLFazaPfTb02A7cDj80y7ldc/2C5OUQ//wp\nF4EzZWBFU6Uh0GSzaGl9bY8feHYT+eN3IYHP2kmVyy4wC3s6K3V/2HIJmVSv\nIS0S\r\n=Z56l\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"61888cba5d29a612d3a33204d47aa2529ec3660d","scripts":{"lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","clean":"node ./scripts/clean.js","start":"bash ./scripts/dev.sh","docsify":"docsify serve docs","prepack":"npm run build && generate-export-aliases","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.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","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","docsify:update":"npm run build && node ./scripts/docsify-update.js","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^21.2.1","husky":"^1.3.1","react":"^16.7.0","three":"^0.100.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^1.0.2","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","firebase":"^5.7.3","prettier":"^1.10.2","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^0.28.7","mongo-mock":"^3.3.2","superagent":"^3.8.3","@babel/core":"^7.2.2","@babel/node":"^7.2.2","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","style-loader":"^0.18.2","firebase-mock":"^2.2.10","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@babel/preset-env":"^7.2.3","@tweenjs/tween.js":"^17.2.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^1.6.3","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.2.3","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.31.1_1548171370965_0.6233557917305259","host":"s3://npm-registry-packages"}},"0.31.2":{"name":"boardgame.io","version":"0.31.2","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.31.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"39c96d556aea9109ac7e797f4ff89b31231b6fc0","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.31.2.tgz","fileCount":27,"integrity":"sha512-bvrQ3ea/BvHPrkrAC+FqHl4ogud2gXdqIvST4I3Wz3Sc9honPknWtlB3muO0ogE1Mg2YqVO64OujudFDRS/K1Q==","signatures":[{"sig":"MEYCIQC+xRiOYuD5TseqrcwQxFqMwXanVouOrKYv1OFIlHEU/gIhAM7jMSnPRHMPXqAlpOyFvHuYuaqln+xSLCXsjicftc71","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1324798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZtBnCRA9TVsSAnZWagAABLMP/iMakuwkx5DX1CLSEg3U\n71gOnmXiMk9vJtt9XnEdMjZoNU/TNl030hfHqx913fsnE1daSX1AmEsNpwm7\nsjIyyDpxvHF8SbjzO053cMdBzHdrYLrAIwHFStE4SPiQ9DydWST8EyQSP36E\n6FPr2t90eqVjZ/AHz1z+ej8yOTXmL48hYjY8sVvGySW3gnABuWj6gRvJlC1I\nZum2kgGJXb/htu0E0k9f5AswSVyci+BYRKqQ6hDTCBj4F77j914UiLFgeXxB\n55NgA5W2KOIav+yh9B5pC/2zGu1wXszTPQ7gy/6Rq4Uzjz8FsxmZQbbz3jjv\n6BsVUgVtf1kli075Fa3JwVYTFAn9VcjR0692vLLpWtwUIVj4YtLkEfZ3iGDa\ndK8VIicbhuBQ9SYPpRwlHEN3Gue2axyXmKhYjM/MDZf81Knp8yWjjBPLCFtu\ncvVkl5GpDuC0s2lvNwQWei87GgXWKBylPsJE4Sr9Kv8HH9jmj1PMqqBjdDSC\nhvsiigR9rUVa+vXlV1cObkh7KwvPzGJVGhRbOwvW7ds2Yry7rQ9iMFqPCXTO\nbkmdSIupqVwHTLgfBFKWqdiBDh4vBwDCAm9oTV4c21ET1wQPDbJW6sVG5CFl\ncVcHKUVICoChPilneWLE914u+oA7ae5pnW6nO+TDjGJgNa/U0NXAdHrtG83G\naa37\r\n=pHHM\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"97b3ea7b465cc5d6236be998472aae1486697fd9","scripts":{"lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","clean":"node ./scripts/clean.js","start":"bash ./scripts/dev.sh","docsify":"docsify serve docs","prepack":"npm run build && generate-export-aliases","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.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","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","docsify:update":"npm run build && node ./scripts/docsify-update.js","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^21.2.1","husky":"^1.3.1","react":"^16.7.0","three":"^0.100.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^1.0.2","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","firebase":"^5.7.3","prettier":"^1.10.2","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^0.28.7","mongo-mock":"^3.3.2","superagent":"^3.8.3","@babel/core":"^7.2.2","@babel/node":"^7.2.2","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","style-loader":"^0.18.2","firebase-mock":"^2.2.10","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@babel/preset-env":"^7.2.3","@tweenjs/tween.js":"^17.2.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^1.6.3","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.2.3","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.31.2_1550241894908_0.37314538776043604","host":"s3://npm-registry-packages"}},"0.31.3":{"name":"boardgame.io","version":"0.31.3","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.31.3","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"f4578b0f32e8070f7c95ddf7c256343c8929293b","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.31.3.tgz","fileCount":27,"integrity":"sha512-IsgO5ml44mHXQiaeVCQ1npavpw8LvYKvBwPK9PNSLvmGUE1w3uav85tN+K7k+gHlVl4sm7+x30iVHr4eeuY+gQ==","signatures":[{"sig":"MEUCIQDQbeVSGcJwapmV+r8M2peeS8xuSpcILfaXHoxudTDkWQIgFsbcHSnPY7g8gj44tMrALsL7fnsgBJJ7aES21u7lT1Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1329173,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJce9FqCRA9TVsSAnZWagAAkU4QAJQ41PbKzgFa1dEMC3FC\nU01lDWFFL902JyncvIgI1m3YYZsPxuJ0LHmkDBF00t+kiz1BD80RIPCRR2dy\nKJ9dtHB/PSefv8PknTIVxHfob0NrBwcEukCSorkCQq0DiZWDz4Qlj763XHIc\nmjsI6kbqUGzEu/PxdJutZXlXw2v+UcYIxx5rtgS+in1kh3RoBworhSxlQCXN\nDFgPWUFyqN/GlIiRfd8HXwMjIpGs1za8qEAwk4vsyYEPWwxLzYqGHjHxWKnb\n/msxIQyazPygIdgWvAz7XAt5Zygr+tWepGzpMu0au1h78W2DDRbg6OugbQFd\n5pqBJSEliGbfgjjmkCCtB7DmHJyie9dY9U0XJHJx5SnjgsYD2fVuez2UfWag\nch+/psL+uNsx/3aSZQ6EOou6mZD0ByAI9X2Nmq4z+r0u/e8n80OXsKAFXkXW\n/YHuvx7++YfOkD8FMlHVAd5bYUPb3fk6hwnRPSAqqkN19BF0bdnUbzXnliXK\nLJfBA6joUGyo0T4Uw/Y/lKfBmREQg2kGo4J9u2UxBxqoVCVsgk8+W1F72KDP\nyv9wCQjJjFi59NUxS/o5g0G4eVn0Eq5awV6iC4AZJbOCd3St/p2yvQuGW0xK\npWTSWVukxhO6DS/0HMvEcpHmcgYMHbEhbftcgIBvpBjISGWre+XA/DSzeKNS\nShJn\r\n=pSai\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"8bafa649ad3695250c089f656aa6563928eaebac","scripts":{"lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","clean":"node ./scripts/clean.js","start":"bash ./scripts/dev.sh","docsify":"docsify serve docs","prepack":"npm run build && generate-export-aliases","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.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","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","docsify:update":"npm run build && node ./scripts/docsify-update.js","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^21.2.1","husky":"^1.3.1","react":"^16.7.0","three":"^0.100.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^1.0.2","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","firebase":"^5.7.3","prettier":"^1.10.2","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^0.28.7","mongo-mock":"^3.3.2","superagent":"^3.8.3","@babel/core":"^7.2.2","@babel/node":"^7.2.2","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","firebase-mock":"^2.2.10","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@babel/preset-env":"^7.2.3","@tweenjs/tween.js":"^17.2.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^1.6.3","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.2.3","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.31.3_1551618409592_0.9681339842536754","host":"s3://npm-registry-packages"}},"0.31.4":{"name":"boardgame.io","version":"0.31.4","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.31.4","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"6fc4e5a3ac59943392afcf8f9349893589cc5870","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.31.4.tgz","fileCount":27,"integrity":"sha512-kSDzoNGGyMHmyC2pghf8QwhXx4vDBlu8EKZVDD35f+aICQXNgDtalv53imW+YSsrANfRyxe0XZJZZJR2Htnk3Q==","signatures":[{"sig":"MEQCIFJ8m1aFJqKJNSdKe3VqBMgGiWC+uuE9fJmOI0G4jJPWAiAarLM/CMg3Som69sec3F8YlgcnIWaGc+V82USq+wztgQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1329091,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckjlgCRA9TVsSAnZWagAATUoP/2dPlJJDvjgHmaEdOzyk\nTvjqwB0wZwjKu1RHmbq48VtTHfbn75mAoP4ZP66naOCPhPAuCOq2vWtlkPv4\ntOGJt1uCc9CsBPCCaJdo8s+4Abzi8j2FV0lUzqEUDEKGjrkQQLksX2LdCG6u\nHkHUqN6397mqaRqsZPpexNMF120rbGEWtAInvHNI24bHAGyPc4WJddH8t5fC\nVit9UbQQ4VKd1xA/W+qpThV7iTEn6vEc8lfo6hJTuTWcVIsUEcvLrqJNaquW\nXQZlC+m7DhwSrw4rEsYnD+WlTU/30Aw/bCi9v7wnzMqpkjGo8N8tmrEc9LSu\nheGyRQlbC4mnP9DswZjmuxhCdCczae7fpJvVFOdI1l4KyTAo35vZNWbUcmlv\njpMUI8XvB6RnhodDo2SbrpTrufK4BLt9iushSQTE+pTNpJoy0MRPnQRxRQhI\nyX+fy461hQQwrZtoPDOVdb6itzPBuXtP2m1LBtDLkliBZi/bINRwoH8voe3w\nAcvg7I1X/u8aQSZ38CQ0v0AXHFpar3TyfI18wbk/p9BSdK3TKbYRhxQuFPTK\n4qAHlUx2XxIa7+nHkZ5h9+6Mz3E3zxIaIBZwF8PRIqrKx2QmbkpCYEAl9Hfd\nD1uIEdvRwqiSr+rSHsDFkcRz1nOlI+wZxG38f0zoxXosVGVl99aMLOUXOKL2\n6k1e\r\n=YNHh\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"d23da42d802d61051b27e30b962871781d3d70b4","scripts":{"lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","clean":"node ./scripts/clean.js","start":"bash ./scripts/dev.sh","docsify":"docsify serve docs","prepack":"npm run build && generate-export-aliases","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.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","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","docsify:update":"npm run build && node ./scripts/docsify-update.js","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^21.2.1","husky":"^1.3.1","react":"^16.7.0","three":"^0.100.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^1.0.2","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","firebase":"^5.7.3","prettier":"^1.10.2","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^0.28.7","mongo-mock":"^3.3.2","superagent":"^3.8.3","@babel/core":"^7.2.2","@babel/node":"^7.2.2","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","firebase-mock":"^2.2.10","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@babel/preset-env":"^7.2.3","@tweenjs/tween.js":"^17.2.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^1.6.3","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.2.3","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.31.4_1553086815878_0.22028081702352842","host":"s3://npm-registry-packages"}},"0.31.5":{"name":"boardgame.io","version":"0.31.5","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.31.5","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"2cf53678a5979096eaba5e8b1560d50a4210bb83","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.31.5.tgz","fileCount":27,"integrity":"sha512-ann3+2vJObLLXAGxa8TiwFOlgZhCjzJZKVQQZyQWT9a104bNVcTtmiqY8z5D7J7IcLhSsSc9k4iQONE3nHOVXw==","signatures":[{"sig":"MEUCIBBg/6CTMLtjEXyjfOAbW9RKJEBHRUPiacJqpWCcmL8QAiEAiseqDILYV46d+CWRr8kOsWn6Kxrum1KLzRHY6+Chp1A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1344041,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJczZQXCRA9TVsSAnZWagAAS0YP/2kmdDVnCI5d0tmecEfq\nVRQlDprGQiMoPWd/7WCKYwNkcZCHXRJxlodtlJ8JElbGxuMgDXLiAeY/lF8C\nLamygUr3B181G32VEu5HhpTpXjNys2pA7xO/Qb9M89UR+W9qqHDOft89n4OW\n7rdhEJOP4l40T8egVgVZykNDWHdWw8/KI8L8YHVTFV7OQM3dDCk2NtZaTBW5\nAWkkxhcfH8JfH7X64cZZ1GO5QeZZUknKKV4CZYdr1BHbPey6FMjtctcND/P0\notyETPBJEgSrXmA8cphQ265TRJqpcwqwrY3bTmE8U1G+OM0npG41QAxozKJD\nLcE9S0nz1K+r2G/uQnj4EqU1R+P9PMhVeJLCyb8psxnyNgzCl5SLsoBoh2jd\nsEDpbp36Tqe8nBOlHavopH/dPCrdyhRLZn5XQakvYQbd30+jfNHVw0dcr2Na\nK72t0BIG7hNNGUBeYfCNqa8I1pQnsONbpbIFGaEer4T5W1MXpjGPCx4dfUgz\nQ2nz2O0Uy1RK8VO1mfBWw+GbC/xMdx1bRyDFyZtUtXToORKSjIPJcCTTC2xp\nlXJeIrrwLrZY0ptiIB85IwCo5LwGCvaXisa6E4BSWSsQ6SGxlSjwhLyuwh3V\npsLaD6aQywOtMDqKBOReDapNMHh3gABhq1xZG88Xgh8I7gGhqMjUNOjarVDC\nXKjU\r\n=uBEb\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"d5acbda875990f4bb195d22b6c959612e327553c","scripts":{"lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","clean":"node ./scripts/clean.js","start":"bash ./scripts/dev.sh","docsify":"docsify serve docs","prepack":"npm run build && generate-export-aliases","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.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","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","docsify:update":"npm run build && node ./scripts/docsify-update.js","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^21.2.1","husky":"^1.3.1","react":"^16.7.0","three":"^0.100.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^1.0.2","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","firebase":"^5.7.3","prettier":"^1.10.2","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^0.28.7","mongo-mock":"^3.3.2","superagent":"^3.8.3","@babel/core":"^7.2.2","@babel/node":"^7.2.2","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","firebase-mock":"^2.2.10","firebase-admin":"^7.2.0","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@babel/preset-env":"^7.2.3","@tweenjs/tween.js":"^17.2.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^1.6.3","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.2.3","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.31.5_1556976662663_0.6054158254593611","host":"s3://npm-registry-packages"}},"0.31.6":{"name":"boardgame.io","version":"0.31.6","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.31.6","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"c2680535c82ea319b688fb86f1e82918693340cc","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.31.6.tgz","fileCount":27,"integrity":"sha512-3kmOlw112q6NTA1SOcG/55FRwRAR9OuaqVaDF/ZrY2fm8uHsEChoNlya32w65+rtB1HZgDTJ4eX2t9zBtCjtfg==","signatures":[{"sig":"MEQCIFe+1G10eik8p350gqzUBuFAsi+eTYX5hp/yZxcohPPNAiAfy/g9wqd3VLP1OJ3ICRwurMuwXXUOE2195VFDsKCNKQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1349708,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc6MVwCRA9TVsSAnZWagAABVQQAIPCbnGyXofkO5PDpCoc\nCFHaSXphf+rAZurltHeBUz1RQfF9MxnuAqE4r5Xocx9/6OFnrxq7ckhwfXcA\nDwL4ASxGO5hRGJ+xJkAf3ykqyzCoTxI3AM1DX6BYoZT3KnN0MY5UQw1c5UUw\nwCrLLohPz0RcXhIpDaKEAVW1AG+YO3pFauhCRWJsNNxMMxpuEb6gbMacqmNx\nRVv7Mf+E+rsYglJjGNugMke6FF12TN7XyiIpjFGDf626/kh+/HRGdTW0bGGb\nfkm3mRcKfQP+qIw47rtdp0/cOF32S7C5aI4twmLd/HDcxfsNUMCU5RA+sWY2\nuw4rX9QEAZrYISknD36Ej2CFWSDkPjZnnzbWcHhFyIB/6s6QaugkB9NmmMkT\nMrthIK+ikiiBdFnKA+Un9BSXm5TEb2cDk0fN9BIpaRofB0KzQD0EaSk//RBE\nDBdTQ/XOHVGlasE3xLvsGXOpOQ0OoG2PxrvNqN3Jb9B6lQjH/HwvZd+rd6Zz\noYieRKa4ml7+cRC28xWFcTfpNFiG5zT1u5txDQ5rv3rKGTxgfmvqT1LRC3bf\nsoK0K+pUCR0fTV6oi5K3J01lcbFq4m5Q2nTDHCgachoI8/q641YvACCOupoM\nSSkmNflSu0MbStMvnEgc9UgbRnZ7oQB9BOnKNSOfujt1JdRCLjU4Itn/Rm70\nljv2\r\n=L01m\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"5ffd256da9f01b2859fb8c7405308ee1263448d1","scripts":{"lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","clean":"node ./scripts/clean.js","start":"bash ./scripts/dev.sh","docsify":"docsify serve docs","prepack":"npm run build && generate-export-aliases","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.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","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","docsify:update":"npm run build && node ./scripts/docsify-update.js","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.5.2","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^2.5.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^21.2.1","husky":"^1.3.1","react":"^16.7.0","three":"^0.100.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^1.0.2","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","firebase":"^5.7.3","prettier":"^1.10.2","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^0.28.7","mongo-mock":"^3.3.2","superagent":"^3.8.3","@babel/core":"^7.2.2","@babel/node":"^7.2.2","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","firebase-mock":"^2.2.10","firebase-admin":"^7.2.0","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@babel/preset-env":"^7.2.3","@tweenjs/tween.js":"^17.2.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^1.6.3","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.2.3","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.31.6_1558758767700_0.00903451423974988","host":"s3://npm-registry-packages"}},"0.31.7":{"name":"boardgame.io","version":"0.31.7","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.31.7","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"a4a39c5170ad62ef5eabea9019c68c1487c2b207","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.31.7.tgz","fileCount":27,"integrity":"sha512-XYgrj74CA2HYG2uGpP/Jc/gQCosZAioYfliZBpyhxOGG/eUQtEXtlWPNjnRxqrSZHJuQ7cfEKDLm6Hq8azD/PA==","signatures":[{"sig":"MEQCIGLjev3gsDRdogfsFHy623cEFTB9G8mMH0I/fCEMyasHAiAy5B3sj2DzouByB0CstCG/3pfQqYpTNHs3YzPIT0A6AQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1349827,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc87tUCRA9TVsSAnZWagAA3dIP/1yQ7NRjn+kUBL3aisQo\nCVL9amHo+PimiVngYXT6j4IUeQeabfiTxSV20ml7+repSuPjPBZ4nE+O1o++\n32jv6H6a0D6Cg0ZNduuFwTivsUfH9MklcmNNC1innhq9w/Cp3TA9Klup4MIE\nRvbnEFcVDqI7sv+xgCiAOQgYA8xcmN1+UDfaaPL0Tf/9X9x4zUvKHLMuMls5\n1kMj5vuJfJ88PJJLQbWz/C7ujKAt8mo8cdb8O/z64Gbrtr+6L3fG1VyVZfFi\nCEMMG4urs1Uix5uXTGyvREuP/WyS00s3tJsm55p4K4jyJUsjSafdFagX+juD\nNrRwUhlTGXN+jIrvcRaterb9DCFYAQJb2S7j+JZsRmSE7YnzIu4DZEvhBSgx\n9nZBeJL9P9PSqzq/IdwvBxVX2+jrK/FyLFd+lx+yYvy8DbuzOdh4PY7i1BZl\nZim5NiudWR9cTw8l8gpYrGUe8Lnhn+rIudXg1Z/JFYWpmJsERXb/k2M78957\nGwqrgVJ7WAz83NGC9bMGUrM6wCpwQGkZDoqq8iki8W8GQQGAq9FGJiao2GZq\nfypNWU5mCOKWSK72IA6rFHaMqF9fbmf+mT5TqclD0z1lkhaERqi1BvMNBShw\nf31lSm1xjqKNvnJNqeJg62WWzdQnHLg/AH+P+uc9nA21rrsABbN2Nf7tNKS+\nX3jp\r\n=HKbM\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"3c770b28a2acc95ffc995c319c594ce72663ba9d","scripts":{"lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","clean":"node ./scripts/clean.js","start":"bash ./scripts/dev.sh","docsify":"docsify serve docs","prepack":"npm run build && generate-export-aliases","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.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","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","docsify:update":"npm run build && node ./scripts/docsify-update.js","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^21.2.1","husky":"^1.3.1","react":"^16.7.0","three":"^0.100.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^1.0.2","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","firebase":"^5.7.3","prettier":"^1.10.2","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^0.28.7","mongo-mock":"^3.3.2","superagent":"^3.8.3","@babel/core":"^7.2.2","@babel/node":"^7.2.2","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","firebase-mock":"^2.2.10","firebase-admin":"^7.2.0","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@babel/preset-env":"^7.2.3","@tweenjs/tween.js":"^17.2.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^1.6.3","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.2.3","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.31.7_1559477075813_0.2892940200109537","host":"s3://npm-registry-packages"}},"0.32.0":{"name":"boardgame.io","version":"0.32.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.32.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"a7532bbe5bc93e2634ef61b4cfa93bd79888fb9c","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.32.0.tgz","fileCount":27,"integrity":"sha512-PWSHpS2ok7I/o84nHpwNmfJgZ7U1hdL015izqmWHSPmsXNqFl94mUSxFHOpZNtLux/CxQFuqJMeCyzQIYeWEdA==","signatures":[{"sig":"MEUCIBa4N6nxjSLQrqHGS2G7bAp/Kp9DgHtxsH397NLJMBz+AiEAqCj3gJLB4U+nivZu1YWclbB4SaoZrwpadPEM7+DNtY0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1355079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc/6a1CRA9TVsSAnZWagAAW30QAJCY3hfFJPVvkYUFX7eu\nxtzr8JUiVQO67/tt2s7EzhF380T8WW3ZP8iBxIrnspkk1nxGEViZFCt+nJ0D\nDa4lvtPpKdZXH9NXXBNyUZleyK6/UTW4bVwgBUwHnw3HgiN33vNLZ4VuqnbA\nW56RNO9rPqivE+eAUGMyYq61Agoe/nrOi4n5lrIa69VGWFdS2iYOx1ZWNhND\ncTbFPV4s3HFR6qphRM1akMaXCQgg8ZLMeBxnCl3ObxNTf969fHXvygnSTBoX\nKQmraI3jyWx415NTy+4uvfwGtOlYtpGlmWBIiKSsYEqxzEybkJbHZ3C+BGPp\nQ7bzryP9udouPylptNvQTuN61HQxrAUF9qGb7hCP4cP4bHxSwuCuSQN5YTmK\nsaNbGjhSzKfHi4mfbODaeve6mNts4aWVHPn+BIAX/jLnuaXpWmzaTn/fKFdk\n1c0MbpCScKBjBBw7pQcRNzMRoNQCU3fnzIOK3OIA39mj8VRTSts8rU2wn1rv\ntDvSi1NJr2AziOHBMjXQHQhcaBYxlr0xOxGilYDWpu3MV0Hyn/yc+O+1iRNL\nCRj2uYcSe73z6Gl7Wh92QZz7a6WS4YJLD0aV8dFdBnZBusaJZ72mlIQuoq1G\n03u95wyikAWaSFcholJTrbIgmvP/fmwmT34Z+AR/rZwTe8oxqQ0hEc1r2aCd\nKfW9\r\n=HBDr\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"f8aac68edb8da8ee2a8515cc7c626bb4c1b04645","scripts":{"lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","clean":"node ./scripts/clean.js","start":"bash ./scripts/dev.sh","docsify":"docsify serve docs","prepack":"npm run build && generate-export-aliases","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.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","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","docsify:update":"npm run build && node ./scripts/docsify-update.js","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.6.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^21.2.1","husky":"^1.3.1","react":"^16.7.0","three":"^0.100.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^1.0.2","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","firebase":"^5.7.3","prettier":"^1.10.2","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^0.28.7","mongo-mock":"^3.3.2","superagent":"^3.8.3","@babel/core":"^7.2.2","@babel/node":"^7.2.2","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","firebase-mock":"^2.2.10","firebase-admin":"^7.2.0","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@babel/preset-env":"^7.2.3","@tweenjs/tween.js":"^17.2.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^1.6.3","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.2.3","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.32.0_1560258228381_0.19619591758945676","host":"s3://npm-registry-packages"}},"0.32.1":{"name":"boardgame.io","version":"0.32.1","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.32.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"cadccbe75b447fb0b49a355186e82091380c9c07","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.32.1.tgz","fileCount":27,"integrity":"sha512-RgUqIbXsPdkgWDr5A6RxoUpKsV/pz87senMoGDXUCPuMz8JHS0ThOowrc0/X33gXm3uhsgCbQLdOUMBavgzoLA==","signatures":[{"sig":"MEUCIQCW/ScAIsFWdJ8gArdqXzZA7KsqgsJ7XgfF3mq0tpFWagIgFZacENO5+qZE5I23k24YyygabQt65oq5q5Y2m9+B1QE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1356783,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdHg0pCRA9TVsSAnZWagAA5lcP/3pYIiFhL5qqWNfIiUxE\njlgeU/s7V9iTiofcPLRiNh57be3HBKCEctHMhW8wD/xeyUYXyAzNeSuO192K\neVSYeRyaWgQjTOodQFrlU9vOdsQFEzKfk1jP9BWkVCyrm4d4sO02M7HbIphy\nx0k7f0HM+Up5niMaePL9/b4J5zB8w3/yQSCfFN1grN2fo9aaoieW7JE+jWP3\nz6Z6TgItZ55yGhKWeqqwj1JiYo8kYrb0l3yzhFsZ6flS5oAeI4YkXB0r3B+d\nEkwiCT1H6yDQkVyWGTw/stwu+/lzSbD8eJk8xZJnXBNyt73vtt3q04gVOmpd\nis19krp0gbf7aEmqFu57vP7iPsVdFRzS6szSW3+taiDYl1bmAEvrN9RBHED6\nAKZCZ90wqx1AJHPdQRC78ybX2/2zhXP6YnNLwH+inR7hf3URdk3d2qVWM31u\naucJqzPkBaQnWrZa8vnQSRO1rgP4m//XuryMt0cJ77tWHwWhBYW2zHeFphoY\nwqAS4h52QowHdejMHr2Rsp1YJEosB80YWkVFHX+wZS0L/TzETLiQxC7UwlfA\nyFHKsRE07Qg1RdHXc17qCMTXwPbKUbChsZC5A6EyQaD2xoCnmbZveykTnnHX\n2lKICLu5IiTevgBPANNYMwmb/R+JxCDJwiT0Ur8zuHlG9+S1w9THbyPFCxz3\nFMwX\r\n=V86f\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","ui":"./dist/ui.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"3885db1a83fc26facdff02a1edac823946753ab8","scripts":{"lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","clean":"node ./scripts/clean.js","start":"bash ./scripts/dev.sh","docsify":"docsify serve docs","prepack":"npm run build && generate-export-aliases","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src}/**/*.{js,css,md}\"","changelog":"bash ./scripts/changelog.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","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","docsify:update":"npm run build && node ./scripts/docsify-update.js","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.9.0","description":"library for turn-based games","directories":{},"_nodeVersion":"10.8.0","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","react-dragtastic":"^2.4.3"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^21.2.1","husky":"^1.3.1","react":"^16.7.0","three":"^0.100.0","enzyme":"^3.6.0","eslint":"^5.6.0","rollup":"^1.0.2","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","firebase":"^5.7.3","prettier":"^1.10.2","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^0.28.7","mongo-mock":"^3.3.2","superagent":"^3.8.3","@babel/core":"^7.2.2","@babel/node":"^7.2.2","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","firebase-mock":"^2.2.10","firebase-admin":"^7.2.0","react-router-dom":"^4.2.2","react-svg-loader":"^2.1.0","@babel/preset-env":"^7.2.3","@tweenjs/tween.js":"^17.2.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^1.6.3","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","enzyme-adapter-react-16":"^1.4.0","generate-export-aliases":"^1.0.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.2.3","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.32.1_1562250536607_0.6497205925022402","host":"s3://npm-registry-packages"}},"0.33.0":{"name":"boardgame.io","version":"0.33.0","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.33.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"de07bd0e277f859e8b2ce1d68806c982f3ec00e5","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.33.0.tgz","fileCount":25,"integrity":"sha512-1FbUx5MTW5tW4Y5r1EOZ3r1uhp/d9oafttrN1AkMSfxIZevL3ufo3KS4OIUdzvAdvrVQxonnXQpNnIH9VvmlIA==","signatures":[{"sig":"MEQCIBSEOMu8maARpO433oe6Fz/9s9Dkq0iZrNO0BfHZub4XAiB0Y6tJ7FKnmOTflTqoHM4z9DAHABKKMmwiDyul+0Nf7Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1385927,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdkh3CCRA9TVsSAnZWagAAaXwQAJS5lg2kg5G1MWuhNpDl\nfW7+CVkYP5k4iDh3qXPhQuQ2+X6K1gQIp+7lPjb1Ob6sXhepk9U700D07r78\nq1XkNK0dFF2UhNXRzVxQnBNbosbUBxoTsHbLD0dwWWOnK/7i1fvwsXF4eoTW\nkfNG/vG8lCM5tQmolRCaapdDEGmUp7iDpVqQlWZ8GMXVoqI++kn5aqyawqna\nFlUZ7b11lSf5YcVEIXb+5gCeO4F7RS3iGvo3smAht1BDl9D6Mjzhijxudve4\nNa1Yl1jb/zqHpaTYMjMdfF9/gLsQUX5AUqLYm7IYxKt0/bcC9wstd/8hyO/Y\n4V4V0fZ+PSAjxQVaRbQeIhCJrTgGzmMpRq0LyuSYbH695JpnfUIA/iaYTWaq\nvbFQ2yK9VMb7068af1ZIUqh0w5OMQ1NIMOWe9+6zWLGkzHIzRchmd4ELxQ/I\nC0Ic1i+QJ+W/YjNyUCf+tSDK9ELJWNzt7Gw0kyj5PDG+tYI7+X/qSj8CcsOl\nd0fT6p48tO5TXmVAHxbln6vFFjHS8zMvte4qt/xFWpr21MyMtopclQFdqFba\nBBna9KBh6yNG4TH2saLU+MrWkjlP1bKhTbCALCOOO6E0VGGxNrPFW+xk/Lt7\nvJ7k8H2vz0c+2d5VUPtrmf86fDhMU3RVRDS+GQZj+r5nZlftP2kN38mUMhj9\nMDrr\r\n=8VrH\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"882473b46a7c85a9e286d6860a86fc21fe22301f","scripts":{"docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","clean":"node ./scripts/clean.js","start":"bash ./scripts/dev.sh","prepack":"npm run build && generate-export-aliases","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{js,css,md}\"","benchmark":"babel-node --presets @babel/preset-env benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"(cd examples/react-web; npm start)","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","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"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.7.0","description":"library for turn-based games","directories":{},"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.3","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","firebase":"^6.6.1","prettier":"^1.10.2","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","typescript":"^3.5.3","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","@firebase/app":"^0.4.16","firebase-mock":"^2.2.10","firebase-admin":"^8.5.0","react-router-dom":"^4.2.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.5.4","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^2.0.3","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","enzyme-adapter-react-16":"^1.14.0","generate-export-aliases":"^1.0.0","@babel/preset-typescript":"^7.3.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.33.0_1569856961698_0.31816470936375385","host":"s3://npm-registry-packages"}},"0.33.1":{"name":"boardgame.io","version":"0.33.1","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.33.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"76ccf994fa4b2fb28dedc1f467628d4736b72d8d","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.33.1.tgz","fileCount":25,"integrity":"sha512-hLVXYD/ICKx28SetcKo2Miph0TjBL95LXdmElDPyc9zLJy2EPr287pCnYrAoW/lBLLcO57kbgNalFFRYw+E2QQ==","signatures":[{"sig":"MEUCIG3ZkpImis2IoeDPdaezmu7Zp98MSDwZt+CBA0gwv489AiEAmC8QRM5n10bdQltNFArsF4cZ2TW+NAS4ogYiOCIraOg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1388095,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdk2s8CRA9TVsSAnZWagAAhh8P/0meIipvjxLmbjosBXlJ\n9W/sJbLVEFjJj8+afUsKyxKipn0lpqjCyfDhzRztNmfxb7WXZRb33hOriwoU\nnqnKC1qaPTETmMpspjkMqw0LkTDKfIPxtbNpwde273PN2qfVrcz9Xr6roHp5\n5kxUVc8ZjPASAtQxedzjHlu5l2CwbUz1S7Tppp3sXQmezKbLRktwjj6WVQlH\nZZuOdIw8ucY4Xfaoir0k2ZJpmX9ex/QS2x6dX0stQQQU2IRdG66dyRwxJMwq\ntNMQVofkeLp/xBB50briTakV3AAlA/kNicoEEJCBPj1QP2QTgTbQhsVh2IMz\nTaE59n+ydpZlPi5ZQp3Zy1dZjUG0Vp6zfHW6Wjhib9gtPbUXo9IfqgY25R2G\nfxlQ24qRmyuNPB2uQQyCKu8FUYcIHIiKbd0RW6dtbced/PbacqHr3YF+MuYX\n4maDJCyTWOcTG3GzgCt143bAFp1ocQoCN0rP2R/hwgGhyso4NoQfJzX9ndtk\nQwitUCLwlPHnRPfoiT9T3AypR/XhBeLj9ZG/qqyrKC8RQBjiCvJyYKhI8J43\nLGw9IN988GgPEndDUAMGNrdwj61EoT5z8LRzvnehKNxWr1HLlCQizVlJxbsp\nBzMwaoQJt07AW9qk31Jr96l/jwkCd9Rt2Ey6G11sbQ9a8+hz+m+csuguutoe\nAypY\r\n=yUeH\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"36e637b68f9b671a700cccac3a9c36807261062d","scripts":{"docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","clean":"node ./scripts/clean.js","start":"bash ./scripts/dev.sh","prepack":"npm run build && generate-export-aliases","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{js,css,md}\"","benchmark":"babel-node --presets @babel/preset-env benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"(cd examples/react-web; npm start)","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","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"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.7.0","description":"library for turn-based games","directories":{},"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.3","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","firebase":"^6.6.1","prettier":"^1.10.2","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","typescript":"^3.5.3","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","@firebase/app":"^0.4.16","firebase-mock":"^2.2.10","firebase-admin":"^8.5.0","react-router-dom":"^4.2.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.5.4","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^2.0.3","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","enzyme-adapter-react-16":"^1.14.0","generate-export-aliases":"^1.0.0","@babel/preset-typescript":"^7.3.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.33.1_1569942331615_0.5106821113901043","host":"s3://npm-registry-packages"}},"0.33.2":{"name":"boardgame.io","version":"0.33.2","keywords":["react","redux","boardgames"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.33.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"1f3ced19b79870af7ab5c403ab102dcaa1ba52ff","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.33.2.tgz","fileCount":25,"integrity":"sha512-5e5bdohO7uc/LxaR0MW3tkO4hZ5eRqkm4DsGyoJzNMDrlVldKl0UgCATj3G7xrmsmeksXNSH+pMEfnJViBditw==","signatures":[{"sig":"MEUCIFoiZasXdI/ZUaha2ZKTN70ykgltrorFAnFxO9M06kiKAiEAgR/yPj+wJKKjQHVy/qrUOX0RUbdKU6gOF49WYnBytGM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1451981,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnJKqCRA9TVsSAnZWagAAoCQP/3TFZLbPWmKrLs168Eyd\nBtEuch95mGzQXlesGH6zYm7PKeNvZk49jTNSmy108WcdFsFgSpoZge8E/X9R\np3BRJ1C54Me4jS9A5uHMBcD1opioj+w7ftLoAkPgUOuEvCanlz9k4dxLJIXC\nFiDThSW9ZiPpFena72Yr+jc+jKOYQwiSIcpUyn8K1psYImtxiIE14R6Hspfu\nb4OOZmt24tuIkg7rKrs/0yTGLf20fnDfdH1k5vSR2/S0WOTaT+xFIH/OTbJS\n4pOdHH/7fOtGSsRn2XwcVNKwnBtXFoU82g8o5bE5Nz/lgbzde74D9rACsV+d\nRFOn4e3ylS3IjP7x8JLRDDFw6q+C+VUTRb6E2Q6g89UqCwXEECD9QDwpRG2p\n4zdI7Nu0kx7V+jUWaPuAHKcvtYWY06clhReYsYcnXpWGILLJLJMBDoBmkf3s\nBmU+J/0elbWh2zYCqtkIQtljd+yVnX9w6ZD1vB33vitouCszewaOXjc1Xs3Y\n1Lq9i1J1YKtcyNLBV6xTfOvNxVXiGgL9XVckvYxAXXW9ftwh1K33ykvu0lCV\nT4VNy6vQky6Sf4YFSV7jrSj9K6d7OiCZ587qY4AQMcAGVe/NPWKHM1aX4sUp\nVSPwKUDRqAaRqQUzRsNSrr58KRJIOjmcWnrpbTrI52jECmazuJvO0/rOO3AS\ntl8A\r\n=6LZE\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","config":{"exportAliases":{"ai":"./dist/ai.js","core":"./dist/core.js","react":"./dist/react.js","client":"./dist/client.js","master":"./dist/master.js","server":"./dist/server.js","plugins":"./dist/plugins.js","ai-visualize":"./dist/ai-visualize.js","react-native":"./dist/react-native.js"}},"module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"5b18c019473f5dfc6aedb27462e66e64dc820481","scripts":{"docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.npm.js","clean":"node ./scripts/clean.js","start":"bash ./scripts/dev.sh","prepack":"npm run build && generate-export-aliases","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{js,css,md}\"","benchmark":"babel-node --presets @babel/preset-env benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"(cd examples/react-web; npm start)","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","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"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.7.0","description":"library for turn-based games","directories":{},"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","mousetrap":"^1.6.3","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","firebase":"^6.6.1","prettier":"^1.10.2","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","typescript":"^3.5.3","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","@firebase/app":"^0.4.16","firebase-mock":"^2.2.10","firebase-admin":"^8.5.0","react-router-dom":"^4.2.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.5.4","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","rollup-plugin-postcss":"^2.0.3","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","enzyme-adapter-react-16":"^1.14.0","generate-export-aliases":"^1.0.0","@babel/preset-typescript":"^7.3.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.33.2_1570542249660_0.7413691365425965","host":"s3://npm-registry-packages"}},"0.34.0":{"name":"boardgame.io","version":"0.34.0","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.34.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"c73aa93126a633737eb18f41b29d3c01ad643927","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.34.0.tgz","fileCount":67,"integrity":"sha512-sXnR/ahckv6EzoRLBuncvBPX2WFh7YLIVUnpJNkPnl4nnx0paGY4TY29TpryIidNdgu72s8hcOWglJ+S+eODEg==","signatures":[{"sig":"MEUCIFEV2tZ5cTGLVZV+lgN6ci1WUyWv55GK6p3VRt47xvpAAiEA0d7ld2e84wRNwUen+FCsBsg9m1XQAGmFuvCwRWZbS+k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4519863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdtELcCRA9TVsSAnZWagAAHJEQAKJAnqRf1LfsU7Tl2eDb\n2Qhw2B0ZycycbdXQ654RIpcClVYNwTUlhWFS+o3lCqA+GYcYPxoZ75iBjDeW\nkFX8ax2ecZDIIywh+JxgUStWeB0zMbsEEdjhqDS5LrVBwIfPhK2XfR8hXEBr\nxIRO3atqjP68wtZTxM/bP9eVWT2m3/gmdqRSs81NkWAnIqf6CxDga2FlNb9j\n4r2mjUQVxpAUMBJtmY+wklENCLPCx/6EA9nUB1VF+tT1jhkgK84ZZMfGPNZw\naPkUQ0tCmpJ7VtgCE2sgItvB1P55pJ6Kc+DjoJI64qxNQqA+H1eWRGqZgGq7\nZH25b1opFdWB3wtZLvMVcEzQdu70Ql/yiM3nHYcX0V6CZu1+xmYGTyyWiZbF\nq1KFf+mUINd67JuThDpJmLCTgqgGTVOQFurVkTLjr3SL16pAPOvsvMoS5Dbf\nGcNAJN+LtUGTMYL/4hOB7orvwD8vcXkTumXTouYl2HqQEHekXRQCwBzG/zBu\nQA5fARIEfQn6o/FZISxxu7y2lhfL/gVb1CPZfMHPSpWl0vmhnqUCS/Ip7cz8\nDD4sTWMeS0lonFIdgt6R97F0V+XuIJ2dgRd8antKSw9eJyxaEBmVrdbsRgw9\n5ZsXALDOODFEDOnKZp2AOaj/W81jHUcjSdj3k8h0r64D5uQeGfvVFt0SUmkf\nkeaw\r\n=Sv1o\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"d093f9cfcd65a46245317ba3ffca1a00a98b3171","scripts":{"dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{js,css,md}\"","benchmark":"babel-node --presets @babel/preset-env benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --collectCoverageFrom=!src/client/debug/** --forceExit","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.7.0","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","firebase":"^6.6.1","prettier":"^1.10.2","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","typescript":"^3.5.3","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","@firebase/app":"^0.4.16","firebase-mock":"^2.2.10","firebase-admin":"^8.5.0","react-router-dom":"^4.2.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.5.4","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.34.0_1572094683675_0.7446160689530692","host":"s3://npm-registry-packages"}},"0.34.1":{"name":"boardgame.io","version":"0.34.1","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.34.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"4e2a6f50a2ecaf327fbf76a065935a5c6f62d20c","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.34.1.tgz","fileCount":41,"integrity":"sha512-r7TLDx+mbCKveiPWL0I1zPwYLVyMpwEOc/ZgEgqWNOt325cY+OAv6HxynlZyCZQbwd1Znx8VxcaLSk/JevzSeA==","signatures":[{"sig":"MEQCIB0JkTk+M66YLdOUXnQiWQWXrxPwO7zGOLv557h/NnrdAiAaVNqGYg+syP6+x6hBhapjX1iBreKaAp/5bM2kRYndQQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1427493,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdtEO+CRA9TVsSAnZWagAADEcP/3ybmqGGPpvb9scN8E70\n6MH19sPA/hvZ7O3Ff+3KZkBvkeOAhyqjzG75WIHN/0AQkbnPbH4Ukvy4H2PP\n+N22GDMzB0i4PB3Sq/IhP1BMwgxZx1TGgNytVH/SnYjZHsZcpDkMF/pxNNKA\nT7H4sALawNJK9bdG0fFl0DANJ0H9haB3FUZb1jXjjBbtfmQYQFvXhKuXNom+\npVgr3OcW+jg2RhnDQDJAfchNOYYdMVqMv81cVIM7TNRrWtUVzNaD+s+eEY1I\n7QxmwzmSQOHepdgm4LObHUvP9gpcnRmXM4aR9brv5I4OUSLI5KzM/VOzymTr\n1dGIuN+cuPeQSVL7ygJU+xX1yA6Qj3MRdRq9R3U8Zm3WNp4D+RGxZWh3HEwA\nLlhHDvxW0jvoZ/ZUqkpjaOFzHF8qP+H4iTxJtNjzh9XWnotXf9IZ5jQfjZ6s\n8/DxOLgGvkE1IdlarlOne7eeY+gW/pwmcsgbpbxBJwQvniquOtbhrJ5RDsyt\n0VwRCxmurcxkRj+p07m39KDFMBbTjKpehphzoGceSGP2MzjknfzvBEyDfYZw\nZCt14mTatvtjzeFnvge/iguGv7VgI+xhXA7700Tx8UJ78k3u1eoZJmmbR7kL\nvK0G9umyRTBJkblIlbS/pMA1l4Q007ALX3B1debKlvpklkyQStpNDwTHVkAr\nkGhp\r\n=oPN7\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"d130f9622c3f10460a66af8280e4f8348b5f6bd0","scripts":{"dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{js,css,md}\"","benchmark":"babel-node --presets @babel/preset-env benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --collectCoverageFrom=!src/client/debug/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.7.0","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","firebase":"^6.6.1","prettier":"^1.10.2","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","typescript":"^3.5.3","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","@firebase/app":"^0.4.16","firebase-mock":"^2.2.10","firebase-admin":"^8.5.0","react-router-dom":"^4.2.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.5.4","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.34.1_1572094910387_0.9518582065359036","host":"s3://npm-registry-packages"}},"0.35.0":{"name":"boardgame.io","version":"0.35.0","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.35.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"e599321238a5ae1b9e9092093d98fb9073a76a4e","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.35.0.tgz","fileCount":54,"integrity":"sha512-mRYdYRCKGhcCT92n69feoVelp4pxr6kAIAajuOsUPYvdALA4gBsP2eV53WsSLZg0P03mq1S1X6cC1e+BSF/upw==","signatures":[{"sig":"MEUCIQChpZ2B0gUbGLzZkYOZhhvvTzBrvXg2+WqtX9aofcxyCwIgJeoKX1F9Cytz0xhwekBzDnj5pGArEZ6g6vLRQLq/j8Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1555162,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3obACRA9TVsSAnZWagAASF4P+wVOZsd5458vu2qVsBRf\nxXX26vJGzkR3Sh7d+E24qlwDy9J73WNWLAmPjKLTfDj47G5aWlIQBMHPM/qz\nAuekI5zoaLBHDRLOgob8GXnKXVy+bMv7+lUIbcRo9CO1eAs/ZoWPSYDu8d2O\n38qW3d3NobY3HereFnjIVMB8LyLbqNrT3LVz0yS7OckGrNyCcbZVvEGuRkEc\nMkqYA3KnkF6zp4YAqo7wSDnBV5HjKmzQ+iMWBErU83RxJYyI1VBz16Bk38j/\n8Wo/oi8+r/LjhYnI+SHmG9FLjGqj1lTUNxKZHU8bPpqlecFd49/63udrCtUh\nWDGeCzg+qbs8Gl9370pcLlhARPVheUMYtF4pdqxMOAEpEFTu+IzQmUPEKWT5\nbZMh+73jfex5bFTsfK4UfpOevDNLgem805MFhRY6BHFdPPVWggb82GcKEz2e\n5iUtr3Y4vChoCklgPHt8yCdMFFGlbfQKiwDqsPsx4mt8JHr3aiBmqBfjQyC1\nG6CmYckzcXwiTJKRC5QW5He3tks+lB+EgjY9WNQABHENjmqxWO5YisLKkwgy\nuDsWjyBlZeiNLGDPdNrIRrSYZzaSOUd2ye2Rtcj7gLMfzdJplbZvVti6WcCs\ndm5hPt6UJrz5C8uYosB3iOiiL+HElCZ4W4IuYj9UnxkTDjKhh04hgcdxbFnH\n0zLR\r\n=icdj\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"8aab8300a63dd6922ed53e79f2b41f3ef77ce1aa","scripts":{"dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{js,css,md}\"","benchmark":"babel-node --presets @babel/preset-env benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --collectCoverageFrom=!src/client/debug/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.7.0","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","firebase":"^6.6.1","prettier":"^1.10.2","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","typescript":"^3.5.3","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","@firebase/app":"^0.4.16","firebase-mock":"^2.2.10","firebase-admin":"^8.5.0","react-router-dom":"^4.2.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.5.4","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.35.0_1574864575687_0.6835505117406506","host":"s3://npm-registry-packages"}},"0.35.1":{"name":"boardgame.io","version":"0.35.1","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.35.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"b9258fffb62420af05da0a428a7189f08b59aa5e","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.35.1.tgz","fileCount":54,"integrity":"sha512-remi7wf835UwjqoNOL9NJhKdYx5ZskOYV71x20SkKYI+cQatG8F/DsGzZIKjU7Mz/cplSxs62rnvLhAxOzjH3Q==","signatures":[{"sig":"MEYCIQDaxL2k5eOZWjoSQqypFleBq83ZjzBd0q9fDJFwatwx1gIhAN/59YLux3o28Kv7hpcP8ycv1ZhPXhYkX1oOHXP2dCJh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1555372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3pirCRA9TVsSAnZWagAAo24P/j5RsHN18a0feLcLyt3C\nRsA139wfIoxEqv7gytMJIS017xBrx6e5g6F9solXDNFuY6yQ5aYoOlvxwH9Y\n0vE0I+ysUJh9gvCcpXGV7orjZyN1PV1A6XFKOLuZ04ZHIvTmuUL/qHMJjXdQ\n7A/3pkMCfUSI/cV9hkiLwuSAnVgT4UabITofSV7HkhbujwoK/522EyWwOUjW\nLi7kG90F/8SKVIkdcll1JSuS0zEbygfYyHPWg1NerhI9rKqT7JfMwf0PQB4+\nI92ggoUPI0HTUOAbFBbYtx1Qz2rMObnniaOBVXPBLph8qVjp0yrSjPVHrxVM\nMbm8zh/ZnWagm5IkYSzSC+bt0oL4OCFNuynZcED2Mm8QONLoTKvOcq/KwywY\nJZcdx3DP+5H7AEAyhm69MXK/rZN2jdEEDZg5DuUlCsFrIbSgWGgN7i2Gt6qk\n9DwFWGvd+gk9NSQ53xRpOnAd3jcv3O+foyl7wUd7UAo8YhHFUh09DMiGyjaq\nLrP26OXuWUE3GP+yOrPHFc32l6yuYEJCR0yykvt5lD8eerU82jGB4E6thjAI\nHorxIrQIlfs2BzLpxtOa+zg2Q1Mg11UTKYMk0RToaz+OhlefpWYcvrnvPJIt\n6nwXOOUEOJDIX82Awo2/JmgXQcy2WJW43PBcZCivwsscpjrdXe0KSGNql72t\nHFzl\r\n=XbCk\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"052bc25392386071e5bf8d9734c87ee3ff1c1fb9","scripts":{"dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{js,css,md}\"","benchmark":"babel-node --presets @babel/preset-env benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --collectCoverageFrom=!src/client/debug/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.7.0","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","firebase":"^6.6.1","prettier":"^1.10.2","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","typescript":"^3.5.3","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","@firebase/app":"^0.4.16","firebase-mock":"^2.2.10","firebase-admin":"^8.5.0","react-router-dom":"^4.2.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.5.4","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.35.1_1574869162734_0.4058930221390509","host":"s3://npm-registry-packages"}},"0.36.0":{"name":"boardgame.io","version":"0.36.0","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.36.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"b3cc68bf2143f2e01c80e07dbdca13a60af8d4ad","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.36.0.tgz","fileCount":54,"integrity":"sha512-ewahJGAwR6AmGNNF3MRCrseMvrav+K70ylwXtEzs70wZ8zU6vK2Gb6OWYf+KsnTs2x0YlgBc6I+dkhjp0OV+pw==","signatures":[{"sig":"MEUCIESdIYcsbhY+zffcNfBVLFLaa5xXmUzy1FhG3l5YLGbPAiEAl3aWQYZ2EzUzASzE+BRit8oUiEQQuCEpBaCn33Zq6DM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1574841,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePBehCRA9TVsSAnZWagAAAx8P/AlPMhgXpofSRpS9FM1F\nuXE/sCjaVGj7QFcPW+k2ZhRXfiVYUf2xVxV7MYcKgpFlIKEHEjVHygI22gJY\nwdg6EGihYapn1/bkTPt3ixarS6m00o5AeMAZT4/aRiJCBfcY6wyMOBWkQ3aP\ntCBwwK+XxOHgG4GtmtoQlS+R933H416bCAyYypeYYCzAzb/gOxLxV2l0AZsQ\nSooSnznp7SoO8tgk4YUF72Iqzuez/aot303taj4nGEWCbc9+xgMud5ez9KLS\nnYw1FkvcZwI9YLHqazBMAlugkgB/Sqd+miEtVhNGUsYBrrct7THmO8SPzSAQ\nvPtfebLuhwAYuPPUGMIo3AwJ5EhZsj4dnNn5+YnoUVc5XeuUfUbwqUCHKJJR\nYXy8gz172JqNTLXVa2/fohLCJwcumMN2i7LEyxFBgjAiB5dk82JIPtlBHMpt\n2+ZHbE2spgJDgg7XPBRbYK3i7I8CPSexIPR96YoKX5yxRJAc5ZvdCvJ7EnlX\n1WXlSIfLms6vrBTbARAT6D1OA5e5RChuSPcNYss+0ZBLh4ayrt+iJbHI7euj\nc3CH+RHLWhVQlvD2xNIJ/5BVpm0m46bWNm4bxKBlkk+Xg9c7J/DzBqn2opJx\n1DitZhpA5NBiNkTDGNfls9Bqs8vl6wK14vGf0t+9/5qHBb/mn/jL6+Pvajuz\n/8I0\r\n=FSpN\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"45046b678773c0be66ac3091eea05ad26cd53170","scripts":{"dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{js,css,md}\"","benchmark":"babel-node --presets @babel/preset-env benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --collectCoverageFrom=!src/client/debug/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","firebase":"^7.5.2","prettier":"^1.10.2","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","typescript":"^3.5.3","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@firebase/app":"^0.4.26","firebase-mock":"^2.2.10","firebase-admin":"^8.5.0","react-router-dom":"^4.2.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.5.4","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.36.0_1580996512999_0.6605683728519991","host":"s3://npm-registry-packages"}},"0.37.0":{"name":"boardgame.io","version":"0.37.0","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.37.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"7b39983a8a39e04a7f4dce3228b6cb4f7969bf79","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.37.0.tgz","fileCount":54,"integrity":"sha512-o1mN8kRacVKxQn6PgNM1pJweT+NZKNTHZ5oe0n3Bf9i5aoEdn3TMHZ7at4fxdMs1Z/7jytg4ufRJYi6N5OCzhw==","signatures":[{"sig":"MEQCICVYESWwNaRz2BSBDKDcLP6U55gWmxdw+5d8Jge1c5r9AiAzhYQopplVnsoXrUNJLgjRMBzb9Y5yiy/zPRrzKgKEuw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1581886,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQrWjCRA9TVsSAnZWagAAjYYQAJKoxEapTTCiaTkJXntF\npPaR27DMCXLLoUBd9caqXSrbgkkauG5H4YSdFUzvmGMfSciLujn4ECobPgtR\n8umj5rnKZRk8QiqspGVz5qvvSwmgy8hrEVbIyRIrWU+yNwNukTTKDhNdzRk2\n3M5KAnk863E8TknITiGsaSXj+FuPYoWVuMGoOGm49q49fw53TcmMbNislJSn\n4ORhMkXZJ2cYrcq0BGATG7Ym7JJtbRk/Gn1WAZx4nlvBpT/bmTmP24+q9AyO\n21RAhW7xaQGJEuSgYjezViic39ldtMKM1FUq6qPhNt29Tb4TbfCwd4mpLPFN\nWyeG/kvGFdZXHvyZDBxmTsBnHSj/qr3AddKHsdESrGLv2LdZXHWVX+NO24G/\nLLZdAbfsw3iucSs8pPC9LijWNabN6WZOtsL1JTNXp1uNoxkXWoYSiunQLMgr\niad65YAvEi54SOwReDCreL9AFNlXDSVmpAWPSBQkhmGjWxme7OvnC/2tAieA\nIulVRxjNjyOjPiIyOkxbVpPgJ4FeZVyCeT4LdAi3/3ltJCmT9xi1T6hdycfH\nz3sedZM4Qv645+vHjdXgrXC1Uujq53st6JJKemOqnSmwDM2iXZkNsLGOV1n2\npA7qipJ9auSDkYkZLs4NWwB9x4o2ioAlT1GiSksKzZgGPFo//aSeBNR9thZa\nwYoV\r\n=oeyG\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"6a10e598d7dcbf5079894d0b179e4dd6e9ea85d5","scripts":{"dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{js,css,md}\"","benchmark":"babel-node --presets @babel/preset-env benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --collectCoverageFrom=!src/client/debug/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","firebase":"^7.5.2","prettier":"^1.10.2","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","typescript":"^3.5.3","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@firebase/app":"^0.4.26","firebase-mock":"^2.2.10","firebase-admin":"^8.5.0","react-router-dom":"^4.2.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.5.4","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.37.0_1581430179268_0.8631725803804431","host":"s3://npm-registry-packages"}},"0.37.1":{"name":"boardgame.io","version":"0.37.1","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.37.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"bc487aff418d2daaba16e4983339845ed01108dd","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.37.1.tgz","fileCount":54,"integrity":"sha512-+5UfM+QtD3BLjvL2dwdkKAx/ZQTBV7fSojfWD7Ek5Dpq847TALIsNVu34I8pP2tqK1AKKPeJU115fKCKGYcDwA==","signatures":[{"sig":"MEQCIEcmD/AUeygOf1cMIxHlLgI+BfHFy8Cwc9tt1Lj7Q/UrAiBNun9bI9PXYwz7IxT4NEYEFydu0TA2Ilk1fCnS7tH3BA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1582039,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRI7ICRA9TVsSAnZWagAA9MIP/RBCV+IDOgEc7auClN0b\nOOnyYNaB53ZqN+cDBiahqFO62v0IZgUwdslHOdbom8d/v9pCFZVnlL/qGtpS\nD9Rn9O6MKLV1etTb5UKwYx5+suFHUh8TOwK1c986yRA3k7s8sJaAmU1Bni6V\nK4mgj6YT//hvUuzLlT8Ta9Mitr3ctCzgSBe3jOwCnC2It0/jSdl+zQ177dXI\n1MPc+5yaReiM5vMXexHo+xWIbqBGtDdskSb6cQin8QuFwomT7JP750dnB3nr\n4nfHf1eM4UJCrk/Y0+i7DCiaQIjd9mXrA+01Dqk6EfgKbYcmVuzXSwNGU1rI\n+p+l5UIDfLoiuo13cDIwNiJ0FKMMylWKNfM5GeXMh19d9TCxD5d7iQ+cNBJC\npBsbTDgmZ+vAWIG/Hc9iw2lDO3VQgKexs7Y1+vflBiyt+iYx0SSn+g4hC4cs\nFSsXJaNKS26RvOGeNYFhawc3AlYIIa5iBO8O/xdQSZSbCdGADAClopA9xOhO\n1Vr51kcbjPCHwk8o+BN+EZ0crbj/j5yDQFtpvxwxyM+PrysmgHUv3CNrEQjq\nNeV6juhLBU7aiPvjOUj4hw6spgkQl+SUOoaBQ6ojoQKUwe098Gt9Q47rVXa/\nQ3utRHpbbeeFhdARz7RQoIsIhzQt7hmXz5AXyrHspNsjmJA3SB180EM/e4+s\nkJBn\r\n=F3Dv\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"5d2f6b79efc4fa2ec051390aec6b3724785bd176","scripts":{"dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{js,css,md}\"","benchmark":"babel-node --presets @babel/preset-env benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --collectCoverageFrom=!src/client/debug/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","firebase":"^7.5.2","prettier":"^1.10.2","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","typescript":"^3.5.3","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@firebase/app":"^0.4.26","firebase-mock":"^2.2.10","firebase-admin":"^8.5.0","react-router-dom":"^4.2.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.5.4","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.37.1_1581551304020_0.4021970901274037","host":"s3://npm-registry-packages"}},"0.37.2":{"name":"boardgame.io","version":"0.37.2","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.37.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"f7592b66d0360851e997b4741c4824c835d5f623","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.37.2.tgz","fileCount":54,"integrity":"sha512-dF+e0z/N3jNtiH1B1YIvqqybsH67xpgfAquSNtgmaHe0m5GcXbDGVxLPUutqUwI6WEFwgL+2Hs/limWAtvDomQ==","signatures":[{"sig":"MEQCIChoJ7wkmP3leN1xE5xEwwQgCCXXJz6+h/cK+iez1B8EAiBuXRu4amJzPH9dTelWUL4RQqYxt1SIE/ndKfbuDzBZYQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1577226,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRsIVCRA9TVsSAnZWagAAex8P/2FeRzl1QdYgdc5oOftW\nfp8Q+5LS6sUPBJXKAmNdtUXtGUBZxQ2WdY3sVauRjNvOt57JY1HgDcKVZbqu\nbrh1m6jhxTu2dFhtHERL/60UAG9cNbpBtaw2k3esHJRrm923seaEiKiRLEpb\nQ4RyZH2MIhZsxR+da2TJQNQCG6QYoi97vJZvTqI79d4LALfPSmhNr1dmLA3K\n6qkNwi0hXWdmy4bsT6d3T7PwGe6EGkTKH4iakGBop7WgQ/tlgvWUz2KQtsLq\nv2HU68PWMXpq7SXqP2FgRYE4YWVUJMXrFwWqHd3A8aVjdmOLj/NNXaesidl6\nWYs9qll40X8w6BZjGVr3O7+LQkQZcdgkUqg1yifREZ7WpbK/HzQi66E6tk89\n5q1sESrs2A2lw6zmqLEJ/ifpJxZdM8nb0KO0Rt15KUlBFQT/JmYYqtCBH773\nSEEJiBjfm1/EGCQr1F8tfVNO32BkkAgAs7E+0Fc+U+gUkxLMhs1Bzf3n1T7N\newNFrmuVh2oz15psLWFMWmWQ3hhJ1AiAb+qlf4wGO3xx9JcSLonCsFpTKgH8\nkS4Ib2HXpVFjxzeXN1xOdDXZzKel+E8DznBLsS2jbjoSWflf7p9vSfvAZQ8C\nvAUky5CNIWNN0K3abBFY35S3pcanhi2yWox+gLTJjEd+fbVLZfkPuYSiLg4w\nFdZd\r\n=SJGr\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"4a4426ffbfe07b053d3e86f2efc58ad26b2f8aae","scripts":{"dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{js,css,md}\"","benchmark":"babel-node --presets @babel/preset-env benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --collectCoverageFrom=!src/client/debug/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","firebase":"^7.5.2","prettier":"^1.10.2","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","typescript":"^3.5.3","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.3.0","graceful-fs":"git+https://github.com/mekwall/node-graceful-fs.git#patch-1","lint-staged":"^8.1.0","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@firebase/app":"^0.4.26","firebase-mock":"^2.2.10","firebase-admin":"^8.5.0","react-router-dom":"^4.2.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.5.4","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.37.2_1581695509191_0.09304326900174109","host":"s3://npm-registry-packages"}},"0.38.0":{"name":"boardgame.io","version":"0.38.0","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.38.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"f6cb20a5140c5b367a493163baf03f3932b573f4","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.38.0.tgz","fileCount":52,"integrity":"sha512-wnKL8S5ujK/OxidVE4IX1Be1mFzE3GRHxaQTE8GOphMbe+ePsz5mgyf6SReN3KnI/e6fYbo5ymol26mnan17YA==","signatures":[{"sig":"MEUCIQCIjZ8lpte3RMdWpTihOsnr0RGfplPUqEO1AEZjwJ0c3AIgEd0NZPb5nTvujYY85gBhyK91Msml316O+FJyIHGNXx4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1572368,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJebuiSCRA9TVsSAnZWagAAJFIP/3htLHQTnrBN4URV9zgv\nlmlcRp9oO59MSmXjpvTWUuT6u1xgMFh5WmnpXz0sA/7rV6ZCu75gxAqrDUBe\nXPjLppAJpUFmP+hbK3tfKBQr2K+jhUDmZ1A9aHjlvoRTzmI8yxdx/KuOapgS\nNZM20JXm2ZjeNgbYZuX2UgzJ4G4Y1dr+tcVCt+sjCLPmBole//Fl/jFSdvLI\nn6GLuZhusCVyAeizm9pzsUcjCTHQDNzre/tmHsSSB6IBucw6geH1W0oDSLTu\neuK7hnV6M04QDqDxXDtS0kU+QPhzqHsjSjozrxJ7dL3rSRljN2zxN4Q6b6v0\nX/lpnAFALxaqbJch37xSWHhK5HO5TZq5pUXxRXbDBBK6jfcjUGw2nJHQEn5L\nagf/pRHIBhvnDT+TGM+ZHNWWX0ypNUDvPGq8l32GT8ZwKTPw1TjeIrvYcAmT\ndBK84zG9GjhNgKTpVNxXSjxbCcCHBbKGcHnzvYB5KlMKIhupoMDZBhZ+5ZKC\nPYHp3f2wy4Y/gC+LYxKtaAM6Uc7/Hq902+IcNov+ExuKLO3qBduvgQLp1Vii\nOAMDJ3tVnF2kU/bgEa5cUvbBjaviSrxSiP1QtUpR1JKWR6p8h3hQUCvJQDYe\n4NBzjDHY47r6UlicsmOxFIXm8dESfHWYjr5RkhfT8Yl4ti4y/haRg9ewIA6o\nldbD\r\n=ABEl\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"614a892d2196b43139c3c0c078e10475855a20e4","scripts":{"ts":"tsc --noEmit","dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{js,css,md}\"","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --collectCoverageFrom=!src/client/debug/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","firebase":"^7.5.2","prettier":"^1.10.2","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.3.0","lint-staged":"^8.1.0","ts-toolbelt":"^6.3.5","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@firebase/app":"^0.4.26","firebase-mock":"^2.2.10","firebase-admin":"^8.5.0","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.5.4","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^4.0.2","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.38.0_1584326802116_0.3982310122641899","host":"s3://npm-registry-packages"}},"0.38.1":{"name":"boardgame.io","version":"0.38.1","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.38.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"eb369ad4892d37fdd258b2a58b291e83a4587303","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.38.1.tgz","fileCount":52,"integrity":"sha512-TCEHPD9zVekUwcRxtV9vUCtxZSQGsigBq/S2f+6eCOagaqdgKODMkK2wusXLwCSvxCfkkJg2xV/V04+u4NiOIA==","signatures":[{"sig":"MEUCIA7zQItsohQPbZAgO8s23CHcdteRBQYY1Ih/deiWmCEnAiEA9zxCI9syW78F5VEi8TikYvmhsyUCuqGJFM5oUcbh1Mc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1548594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecN9LCRA9TVsSAnZWagAAw14P/0cqlwQ8osAgLOOuXQvu\nYOkBSAkjfbLA27aYjSAS2I1RTAcf3eKemEEBbtu49gQpUwqpVTtxMOwYC2Ma\nYsGDRndskicYF0YrjnfoBkpqQELDyJpegN51MBuoJlgsTRBxrQrDywUjcas7\nfpXM4N3wEpB5Bf5cF4T3u1HJ3mGE2wbJ3av8BaDXHuA6SHSwGp1E0Lr3TkwG\niWDdCTs5x5wRcithydEBm6rR9iu95SMfI2aLj1EfNkq9B/w8YMo7xF9qHXcZ\n84QK77/Sb+xrG1pJc5S/+Z9rvWrxEycVHQUjF0xIEt+JlBKATN52cYWOgsTw\nsowjzdL0Mhw7iVwowmHJrxuvLtiM8KTKN1ZFmk6TnQpCyrrEqrl18Vmsxjrz\ng2+ulhLkJlENOWse+zUTYI0mC9qNGTuckfh4cRKJuzKD6IbK5tFkvIu5GoCm\nDzfUkAXJGBH/aLjJMLL9/FnnrpvPaSDSIP4J1ZR+3+mawNPB9/B2V0lLbtHF\nVzXwtXtmGdgqdRBdz7lU8KYZtQhLr5x0zw/YODSeQHCQtO1cNWiFeJcbr6op\nx2rMHDfa2x2o3J7Ah0RKkb7cmzcVt4rVhz+kgczGUerjf3l/s/Bt8tCr4n7j\nUh3zkSEdtmzopDiqXxayTKG2EVXC7hiO7qsDV8Cx4aTci8x3/TuFrRrsqqLT\nfQJx\r\n=lmTl\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"9e3aed888ca17e028d823dc1aa1fa32d3fbe3dd6","scripts":{"ts":"tsc --noEmit","dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,js,css,md}\"","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --collectCoverageFrom=!src/client/debug/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","mongodb":"^3.0.3","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","firebase":"^7.5.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","mongo-mock":"^3.3.2","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","ts-toolbelt":"^6.3.5","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@firebase/app":"^0.4.26","firebase-mock":"^2.2.10","firebase-admin":"^8.5.0","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.8.7","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.38.1_1584455498476_0.15620091252101775","host":"s3://npm-registry-packages"}},"0.39.0":{"name":"boardgame.io","version":"0.39.0","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.39.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"e6d927e2dabe4ac7ba985bc4554050e577ae9ea2","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.39.0.tgz","fileCount":76,"integrity":"sha512-+QwzVwtFfECHCtKSNSfxF//3MTKQhK1CLFlcl1uhQu96KCaCW69lVHXRS4OCNHn+Y8WrKdwG1VFURp6lHr/A4Q==","signatures":[{"sig":"MEYCIQCSFfjw7fyUo31HBOpOLse7Od8PT4r1w78L85etJUxI4QIhANc+s0st0hPneTcKUfV3xt3FatwpEXviqknQEH++j184","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1561539,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeegn/CRA9TVsSAnZWagAAnA4P/06fmpS3Ve6Yy5yFa5Hy\nj5WKItlxLawWUfcrxwwsClNjTmzGH0blWznrlfKQKvp9+Gw6623qXFqe6m6v\nBJNRVAGK//Sjb/qZjXzmXjjKv0dAbW91h/gP+TMD4sES+HPuJopDqA3rF3dP\nSTF3IcMqjIaS3rmnIPfNWRzdBJRPwJxOyn2WymtqXvuwrZSIZx+eJMzX8/c9\nzKwj7+QLhZENFlwLjZBrLRghwK1oZtVrZbnvnNa+Ue2Rv2qVedOAvlBMLI+P\ns4gM+Kwp4g6tq2EKhoXDSwEIyzwQWVf0Eiar4VnHMihTx8///n5noInYkDeV\nJJVU37+KZF1+cOLTBSmHPpskRPhsH5fXw6/3w8wPivsHBPDV+Zc3DZnSBkda\nyEMiFel00q3up1/iA1edLH5TTsvq2FW+vg1VcqpuIRTG8EDjimiFQCUZD2y4\nICCjuFBMX57QVkzKrrL6swIl8447EeIFsa82dLRms2dpMgOnBzD6N3CLJw9Y\nzkf7rAg6ClttvDin9FX08Ts5vCDfYUaeQchTMAmd0sV4NuZXsc/DNmMy7CxC\nG+cwMnli3OIxYjw8M9Svpw6LqRdEhbuYV4SnDpCVuQ5bA1kM8NiA3mKinU0z\nxslrz35+YI5Ah5wsU4UDB0v5o3v/dUKiwkNK1Hyuy3ZR44xx/j1kvph9Je8R\nxQCv\r\n=TfgW\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"30d01d2d9e908dbf133e2eef9f6f187b39036864","scripts":{"ts":"tsc --noEmit","dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,js,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --collectCoverageFrom=!src/client/debug/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","ts-toolbelt":"^6.3.5","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.8.7","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.39.0_1585056254811_0.7525463711690445","host":"s3://npm-registry-packages"}},"0.39.1":{"name":"boardgame.io","version":"0.39.1","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.39.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"aa994ef839590c0666427b822cf606f0f0dfcd5e","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.39.1.tgz","fileCount":76,"integrity":"sha512-9AKJspKl7N1849+g5fQlJgoeKmLO1/V0c2vbIorbgpHR+7gtnHjUgOg9Ngl3gTGmf6y/njBsf0WaOef9qOJVVw==","signatures":[{"sig":"MEQCIEZ2kmgMsaYKc6p69Z55zEAAKsS4n5PyQvhByO7mYAhCAiB7mdDFQkTYbMrxFZXbIaR9b9e+m9fc1Ca8TDOCngD9Mw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1561651,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeg5KCRA9TVsSAnZWagAAK44P/iUVgg19voTt2c9Cjg9N\nWieDVzopGE6seG6QUeDk1hfxdHEhc1lrhArU+2we8cjhbjcO2/z4mkCIi0Lr\nfqhgQGU0juoQg42XVUQz8MYtFfaXXfxLr1RcsB/6qstvzoNKYzDEba06Ey2R\nsqvBW+6cli0ONKnumhpkb5dX5T5xs+mhERRtEtIBrHmpEOlUBq6iskEi37R4\nbTzwtM/k9s5UPG21R5BtOaLBEwpn9E3ua3hBCi0KJJXhFUDFRvnC7JwiicBK\nGH0j/NsgLMvbVSnKhGI+yoqe50WD0ojRo6P9Q+fOmrkS6U7oQy/EinqxHdxp\nSFEayBwv9SvqxjVVMuGMdEL8PMWkBh4KeBT89zN+IGbitE+/Cl8N5bU5ljHV\nrFoISU8HIiCmmbWtQVfvEYajUfToYYGlvgN2974JKP1/3zDhMqkJlenraz+4\nSqKUy+CCnhRuCTEKp1R/v63bogG724hjNPIBpecyktLVBUmuFuppsB8RbnrV\nQi/mLIgq9sic/X4vVYUWqffvI8h2VUvAXZMl/btSTjFbsENGm9b7NMw20xz3\naeUSxEZEdMOqkI3bSeA69bk/2LwXA4UBrOhC7q61KyFIxH0MC8blA9MdJYlz\nR39tHDW+6VrVCsOyiaoNgNyyx5rgPci/mT73r9H80R0RRRMPc1W3uYBa4AC2\nYPPP\r\n=TPHG\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"ea3473fecf88d06c8bcb06591bf4a2fc0b25a332","scripts":{"ts":"tsc --noEmit","dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,js,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --collectCoverageFrom=!src/client/debug/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","ts-toolbelt":"^6.3.5","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.8.7","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.39.1_1585057354448_0.5638921209877417","host":"s3://npm-registry-packages"}},"0.39.2":{"name":"boardgame.io","version":"0.39.2","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.39.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"f9d4cad6b7c0502eaae67e5a57bff5b4462fea9b","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.39.2.tgz","fileCount":87,"integrity":"sha512-40zsbbaEu2nUW2ur1F78etqs+hXkk3E7OsrRclhxVWGPCUmg7afhRzkGavikPZrRNHIqL9vzriIM01X3zo3QWQ==","signatures":[{"sig":"MEQCID1di+Dqw1O4iAwk7c9n1cR6gmrJqvjfsnUAieIc3mWcAiAdJZDDXCsha0sOhTpAvcC3oGok4QcH2Vhz0Q0D0ut+qg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1564294,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeei/wCRA9TVsSAnZWagAAhsoP/iKNCKrv1GSC1QpJp8+W\noEcpEmeEduqCeybr4e+04JRGRSct70SH8UG584Qeiwwgl3KepddYlZN3Yqcy\nSahRdg99AzfUsq4acJBD9Ong7+/mzesWkasb6msrRaCUnnGEjb4oOY07Ifaf\nNyaXtSMZXzQBeOMgWeU75kNRsZ1Ntk0fIOvPQZ3aRZJs27+BvwEDJcdb3m7L\nw4h1Gh/T+4Brh+hMhZXDlt77fHU2qMCoRj6NacI8PfLjrW1s8+wbfUuGP/V8\nvkrBQ/sicR9UmAHD2yChwtUs7QmIrC2QByShO98eyIwe1RK6Efd29qVt/S+f\nRidH3toEWZaLd7SDC4Lj8ZVjlyLObqrtrWSupGY/rbFsYCoLPUdQNd+JNoZu\nUwm11/uYWCnb2S9mt++BPU35YRnDYO1hOCo3fWiiiST58ZwDZInUQ8tgvyB+\nCeeFIT9Jx9k2gtnlcpAeVq3MMJY42bnz6c4LpuVSO+Qsde6S+MjmavFgEjjb\neVvZcaFWYPQF34XlbOytLo0XQHOVSfWY1Lv0e4X9fegzp0QAT4C1MvKMSMuC\nqn3aRS2qocdg4bgNbZc5CGFIYn+C+xNhg6laIGHLX0ibBkQjhsGHJzv9XnAY\n0apWsUV0cno+GU2WPY4wPKCplstcpG3ZIZMzhaKPgA4P2N4fW4omkBuObRbG\noTxh\r\n=Hmfd\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"214e6d188fc7fd366f334cc0f41c3e816987f5ee","scripts":{"ts":"tsc --noEmit","dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,js,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --collectCoverageFrom=!src/client/debug/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","ts-toolbelt":"^6.3.5","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.8.7","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.39.2_1585065968235_0.6931472120168429","host":"s3://npm-registry-packages"}},"0.39.3":{"name":"boardgame.io","version":"0.39.3","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.39.3","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"af688f5a3e6f24363551b6044b48feaf4a6c47cd","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.39.3.tgz","fileCount":87,"integrity":"sha512-VDrj95U2B1Uo47JrmlTSIuD12ntknL79RW/d84m8jbZBqeF54uIArxsYWuP7E3waYRSutJzqkP+GJicMj7hw5A==","signatures":[{"sig":"MEYCIQD4cj6+/qI7fuzpd1XeG6i+RSaGn3V8J7ymf0uKI5UiswIhALOT6lpQNJxz0ejNBBkT2RE24LOLh2vGKx953IodfCul","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1564395,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeesjLCRA9TVsSAnZWagAAi9oQAIQURGHBToNDbpxRNTX7\nl7vUqWY6G+3RNCsg5W6kFEsRvREppzm+lFmBIALix62RDjNWsneESnl48/ya\nloI2t7DAQXkGqIp3qtMGYj91ASrWbtleQQDab87rvbzIg37YRk7vACgJcwma\niikTBOaDfXW8TV+tPRI7JEQQyIyvObe7LQ++O7BY/3GpLKZj3/WerDoZlOmQ\n3m2naRSPjI33xPgsDfAuq4tV1+x+0+j3MxosQ7759topI+XNP90IfsgS6sti\nLYSucPhP/i72vpYCmW3Q324iOx8PoSKVbFkxOoH6ByGyozjLpI5F1MsO/EKM\ncPTw0pcN/m9tMer+ZgKrDGYqSZ/Cz5zFsPBAH6L+fpAEcc8aDPzaQ6NVo7JA\ndwQ9pPIbe5H/16YvrIvoOKIZJkUY2bZycfk6vimF+fqhN28VlaGLZcyImMMd\nPvmQwEF9aOkd400agIdgTZM9Dj78wrhHJt9pLWFLHWhTREIaOryFPSVvWLid\n5EiDxm4xWL/UeLbAv2kMMeU++B7iFPhTw/roUCjaj9jwH6OHO0UGnwscqv06\nQ6CYu2GBKCjWBOBcSUFoDeno3+90GjtdWEWMRcIT8wwgMRHl/tJ47HQnp0cF\nRnSh1r5VfatudhTB8HLm43b34k93t4dqtMbjW5ALoRORQ5bztBVdOV1DpPE7\ndP6C\r\n=IXRQ\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"64b4cb63a59ac4d2ed4cc25489fc1e46573b7528","scripts":{"ts":"tsc --noEmit","dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,js,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --collectCoverageFrom=!src/**/random.alea.js --collectCoverageFrom=!src/client/debug/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.8.7","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.39.3_1585105098888_0.43764132110317","host":"s3://npm-registry-packages"}},"0.39.4":{"name":"boardgame.io","version":"0.39.4","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.39.4","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"564f37ca93f87c04fe80b80504e672e05b8afdae","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.39.4.tgz","fileCount":88,"integrity":"sha512-c/L5WAhs8+sgJzKq+ZD5lizQ57QH54eRkFAAhpUeZeqH7wojjTB4HjRuGDxid7SSoQtRlQpnlZLtjlJ+jjJOZg==","signatures":[{"sig":"MEQCIBg4MQp8X7OUj1nQxNJAslULoBVAvOUHRKPHidUWwPXiAiBOB676Sa8uudV2eGh6NLKnwVRbIBFK/V6Cp9MO8Z0vRA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1572081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJef1FaCRA9TVsSAnZWagAA0kYQAJqEG3lqmfMhUoTYJceR\nyf6ZIlobmzJ0RjLfwU6Rshfxy47IM/UBoX6N+eEiDvjFxuWmioWRKgG+o3At\njBY0AEgeNuy0fC0rL8/1b90lfpSfSxSNUVRJcVe6FjtlhQsaJfUk0HBsFYH/\n+B6FYtjBmouYe/DmzeGTXluqZ9QItmbiM/TdXR2V5KH37Cvtou3toN6HE2fs\nqpyj6Mu6J0CudNL5/DvluNk577hwFuxMaEHMnd8IWeJPIsrlEIaF8oYXmE5V\nHHD+RtPsULfqeJnnn+z/XbGdBG04ZdJdSkPt/y6hW4Zo1blSj6t2A32IowGw\nPyomCZ9l6ubq2hGE7JDdRC0vkmEY3XNEIsew9+YwZOLq8cup7HSa3jLb5ewp\nV/ftPtqRNX78hCL8UczOcwW4ESXvtWdsp3FbkLZ8WlOZm5wVZ/Hnxt9lO3E1\npLeBvyDiYuRbFE5hEXNyd1hC/Kaka/doKl9SlQnA8R/6pkQHETEFT3N3W7kD\nuLieupWbcfM6A/uGQuQ/k45L9ma6gZCQex7w+46Kki/KBlWKGNP5U9x9ZCDp\nkT3ijyAfjSmC8U6vS1ssrwHUlNna/p1cqJ6P/AxwdVrFCjp0Db5XoViqumYU\nM5MN92+sfj6S3VLtc64xVTvL6xSxXWvhkBrrTSxNMeLnMyOPRjgm0q+6NPta\ngB01\r\n=Vb5J\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"b4a0684cb34c4149fd09291e8874ac2b18929344","scripts":{"ts":"tsc --noEmit","dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,js,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.8.7","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.39.4_1585402201692_0.9692979773419983","host":"s3://npm-registry-packages"}},"0.39.5":{"name":"boardgame.io","version":"0.39.5","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.39.5","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"d4cfe760686a921fcc3f937fc32f2a8a7343f323","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.39.5.tgz","fileCount":93,"integrity":"sha512-ZMhUfdjoeKCPgAcYge9KNegiO9gV3cFyi3PaKmcEJT13C8rGDCDbPG2H/la0lCrAKub1w4rOhncwcC0QKBRS6A==","signatures":[{"sig":"MEYCIQCZUSO3MiYmFlh5BY+f/j0qgi507CIV2Uj4etSvoFm1BgIhAIzUF3mB27OoWpXQbIzsiE+niPz7oicQrA2YxiQ8B6tG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1539846,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJei1vICRA9TVsSAnZWagAAvIsQAIvWuBBaoaW6lx6uqPUc\nPNUzBEwfKd8HCDUn9DH3E55xQX50L2vIJhWPVyJ8jciMvwhZX84hzxLT3uXe\nkRkV1zxihzQFnqarlwWEwS66xjr4CabFNETecIV1jcHBeI0rXIjYIWftqkuQ\nkwQ42WJQBru8rbT9nOpZ6ylDzx/Wgv++XF07NSxQry78B5Jt7vRBm61ykp/0\n9m97T+6qTtE2nVGhkIvmxS5oT96etBrTv59cEMftUVoz71YNuXojgJKyZeoF\nuwbmpuLjvhaHLT4Rwa8ClSL+wxNdu3FayomBrHoeoQTVHSIwA/Sao+np9AK3\nhHnKcxFprybRD1zlzzjGTy8wfd+SAa2B+eCySHgVd9QzTvjCIHrYBCPMxLzo\nHBPWlQz4Z9EhKOZJJiN4/FRVonZYBDtnG9FIOF6Si85+qjDAOZcJpe/o2I6h\nnFY+nhXnU9tNKXE7punQLU/5rd6yBtxqvaEzOoOY5qd/iIbBFkmjmU32GVYL\nb/Q8Ft1SQU+aqvgsf3THGESp9H+B9GcIL5k3L/coqv549D0LmOHoeU/jib8X\ns33Nqxox5NceKCu8p3JgHdoiUHnnq4nIHBnWWl69nT9/Zm+jS9zCZlZRR5E3\n+YawNBDEEw6X2k6rm/bfOLZ3SJ5V/DkL2aby8T2bljb5WpqMAf3ightQM6re\noNRx\r\n=tHdZ\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"f74a8ad40a2ba625fda779f245245d3270f75d88","scripts":{"ts":"tsc --noEmit","dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,js,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","@types/koa":"^2.11.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@types/shortid":"0.0.29","@types/koa__cors":"^3.0.1","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.8.7","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.39.5_1586191304245_0.6597765901221384","host":"s3://npm-registry-packages"}},"0.39.6":{"name":"boardgame.io","version":"0.39.6","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.39.6","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"ed5126fbfcd8d9632eac207f67bd442bc79ebca1","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.39.6.tgz","fileCount":93,"integrity":"sha512-TFAtU7sWraDQIoWiK8t01QHdHCwf2I7AF8ulfNDwTi4xApcrX/uqFvxwIi8Jh/oDvyhKWjn8VgJ72k/DLHZJ7w==","signatures":[{"sig":"MEYCIQCWjlPu8i5X3iHYV7QnQeGoGAGmY9OivPw+j3Kg20y7GgIhAMWoOJ0TTsXkWBkwQalLN7sW96QShrZg7oruVlH4Jjma","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1543758,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJek6kJCRA9TVsSAnZWagAAtPEQAIRukYw9o9pmHuBrTSGN\ntyDMa+37tkdpkFdQlXVqCSzm9ZZU+ygFM4JPohuvpXq+HJF1gb5IgYiwmFWP\npj6gIOw5ZlrKL5vpZoESSKUk8lXw3VyoOrkq5poC91MjRm0t1yGuvniHMjV7\nqsFHsWOWLWW7Wr+cpfI9IcQUtQtRTBTJqdJ+5BvJgQ9kvzqzibqWTfaB8C53\n+kFjd/phfk6FTHTd+U6aenRR6ni5W3LC0HoZxjEhsmwsDlzphiu2yibjjn4w\nlg/vg0QemKtFU3DsdxLakf2uMXscg6RLlHxRAee9e8fU+RZKpmHj6u2c2e4o\nWCpPKESCAPyU5hGGhT91H06qExfRytMkIvpc20fj2OByX36HcRYZyu9zZz4X\nq8yx/AwFpIk1lPzQ9nI/sJZH2qNq37UW2GAT+XPh0wAbuKZeOvDLjCCKpYhZ\nyDwlj80fmIvLxGxgwYshD3vIIDupR8UC1bDAvzQ729bzWS4fnpfpiI5292c9\n1nBZ7SaeNlg+c8fpU3UkjEeZJbjN9XrG9iQIGNAUHAMPkPpM2C+7+5RozCB9\nQjpgxHnYlEvRfJLPOKNQLxdejEm3S8JreIeV2dFAsULJVlwHWFy9GkblgbbB\nl4rxOGYybkM8dy5iWfeAkme3X0AgpdzkfO9FNvLWcX2ShjykJEI37nlRELE7\n3Q6/\r\n=AQLF\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"b86b31f58e823545e38b50a02e67d82f5696ac30","scripts":{"ts":"tsc --noEmit","dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,js,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","@types/koa":"^2.11.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@types/shortid":"0.0.29","@types/koa__cors":"^3.0.1","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.8.7","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.39.6_1586735369287_0.9544154652837584","host":"s3://npm-registry-packages"}},"0.39.7":{"name":"boardgame.io","version":"0.39.7","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.39.7","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"10e93e1d860eed20d550f421c718135e202918a7","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.39.7.tgz","fileCount":93,"integrity":"sha512-ZKdbUISpduJRtHTswjnS6qZcxVgZgrsdWEcxNTO1ukH3+IgJJr3KoLx664imj/s1Nht67u12rMUVmY85fZReWQ==","signatures":[{"sig":"MEQCIDK//3dgqlmFgNCEK+1I+8QrgwAdloY/Tr9XvZ+02HRsAiAJSFfom02WZ2VZ4HASIKsJoHa1DCjrBH4V3PY5H6j98Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1543943,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelUJVCRA9TVsSAnZWagAAEokP/2mxJQCFKQl/k6D2kTp6\nTyh4FKyCC66VKw7yCehNr7djZLzdHFdGMceOW4rbVsTWluOOwLnkWHEtvCE0\nqckkDLNxFpt5ayi+cx5FD4Q/LuJIgAC6PqKRMHcSF+xvScA1qFxYsKj91iWv\nXW3DJJqFr0yR1uAhwOZG8zVy/1KiPFqfkAe3v/wKUp8ze4GBqIhMdCq9wTfh\neu40xEIgucgB60sfQ2NNDw3Y5Zp2InS7oj4T4ytMnJNpB1HKsbFCi5nt1qai\nswPzqDbBN9jZtKlyWIFct+1d5F8ao9UGgFCp4DLqnbbctZGLqNi1v74ug2wX\nQsNCjf0avlTjw/PGKyzPdosLH9cAiacYBVDA3N7/r1G6ATaV4Y+JeSK/cQ6Z\n48gBX0L6KJ0iu2ia9Kbfp0V2qjXWEmR+EGD64nIxbpiR1yIvDfOlQvoV3otp\nHQhKdwkOZWxuYBR4Q77KmZaJWVbW5Cq3OftOMo4G019xhqEsxAfXWLIyysnB\nkbJQIiDYzmU4AiS+ruVX7Ztj+ghMDmoeVoVYN8JRiAEC7ebKET27Z/MH6YHt\nI77WfIRbje3Nt6xZIS59aJhcolG+1uZe+gwSB4OiUDL+Jtoi2Ts2y+7rET+H\njuI9Blb/GWKIhM7W69K/WyfpvZGkUISChFKNA4UpsIAoFdMrlgJNoxorl3dk\npGiE\r\n=aste\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"de9a5b758b0587a0ac2e31ad1dabecd8c436676d","scripts":{"ts":"tsc --noEmit","dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,js,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","@types/koa":"^2.11.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@types/shortid":"0.0.29","@types/koa__cors":"^3.0.1","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.8.7","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.39.7_1586840148940_0.08397651081826996","host":"s3://npm-registry-packages"}},"0.39.8":{"name":"boardgame.io","version":"0.39.8","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.39.8","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"32d9c5f9aef9cfb06126ee19a6d59608b954e61a","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.39.8.tgz","fileCount":92,"integrity":"sha512-O+lPRxpPeuoPprv2JeAmk9fs7NGmF3xDHqSooLjjpMMBpEtV7JkKUsXKPq6AQILLw+OsDj8cV8Kgmz5CitFFKg==","signatures":[{"sig":"MEUCIBUzhwzYa/WF/9HB+GaOev0qCYTuVVbxJKOW1ZOIUHF6AiEAx50no6FmhS/5ij2FkFObPJioOpJky+Sq4wb8WXh2bAc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1467599,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen5VVCRA9TVsSAnZWagAA0t0QAJv6AxrJskcv57z2Srek\nKVTeI80j49H9hRf8bZXgBpBafIsYxvS2zfsGaQ06+HXvfd7r2J5OSZRgDZK7\npG7E3xf8Ayxye7FVKmke7X5my8oX1Dy5j+IVY17Sn3mTCkMsJnwT7XAkI94y\nLTmXselmLvBRYKsut2OOONANf8A4Ym5vnOVBbYuMfU8sYzJ+P0zAqZYliXrB\nqo9go0RYsyBbacW5tF1uuwX/VmKoqNfVlLLNgC17mmuCiaXZDF+BJHWdwRKz\nvEEk6NAtTIzB9TmDSGaigg0AINfX6bmQp3jE0Fz9EDfyDZibUqgqatTI7bfU\nNBurZ0yPer4Hp/IKOalRIWRBGeMBkU33A8k1UwCWuST2jgBd3vLDSBbpp15b\n9mMr9qtgobFWR+mpFO87ixDJVYsafkgXJ/Cvsystls3uNMRTEw4HCuF13ie2\nZgs9Hv82HbtJ1ZtXan6l8oV6Ld2YCcRE4cf2OJOWLk5+7z1atP1eJ/dU20qH\nCImozfd3o6dT5F/DFS21Iyk8Iv/8uTkiP5KfP4rdLE5+JCNFB5i9CTYH9uwm\nV7E5aIiVsrS4cQiBb4xt0k7xg2jSrtKaZJL2CnCmQVcK+SMJEyC30riBM9jo\n6eZti9V3w932NKhWH/yDPxWaScJ0Y+c4S8wEwrzTlrcEqtDwMbz8QdRKztXX\nymT4\r\n=O1Tb\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"1e43f6c661c8be7e92ce25a4871b7d966a7c5b90","scripts":{"ts":"tsc --noEmit","dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,js,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","@types/koa":"^2.11.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@types/shortid":"0.0.29","@types/koa__cors":"^3.0.1","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.8.7","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.39.8_1587516757125_0.8947863549296973","host":"s3://npm-registry-packages"}},"0.39.9":{"name":"boardgame.io","version":"0.39.9","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.39.9","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"9a3037353c9b901f380d19dfd2cbaf38b8347239","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.39.9.tgz","fileCount":185,"integrity":"sha512-Yx+XN07rhy/gCtFl7fSGuQKb201XtsNDEE3BoxSNpdO2Wt8DBjob4x3lcnUdR85QtARpkNlw3Xx8Rq+I3tTGmQ==","signatures":[{"sig":"MEYCIQCm8jAYys4rvAlhdt2rJsnNE0YYn63pGXiRT18+KcnNhwIhAOz82194lbDN02x4SA8IkKDBxKOpA/mXnTRs2MGe/eGm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1897813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoBnVCRA9TVsSAnZWagAAuTcP/ReX+sEjDzDAw+3uLOso\n8aI5Y16Ktuad7pm3cngIo0nrYdVdqj+EbK2DfyFDnC+S3Ktgfeo904Pwhlxj\nffvTQrfPRqO7K9RDjtjk3JXKtUHZkgU6rclUWsnWxi8CPs9nUJo0RMk+HWbV\ni+QDCTDKVMBwMPCXuyseYKxl5vhE28t8Sx/MwdgVOed6+vyfoiT9kqIF2bJc\n8wN0zBbdjeS+SxSc8LW1dSygGQXn7s8YqPNEB5yFoYOOXmXIHjw9KiPH42Lu\ng9bJBT92lRkyQ0u3SnHawdDxtz71B1/+geUpxJFdaN3OIEeEg+Pp4VrqYuVL\nWEocRNSTWtOgsiPg3azkj+ops2qt4gVfnpU1p/0li6DpgPGJcKdPqc4Azyva\n4u6J8uqgXsi9gPa/cD2um/U6+xlKqI3etkjVLUKJQKtGdw25sfoND3vYmtwF\ny7Xa6nvi/LCihm4plY2UPXn0emzzf+QtQJ+MJ2EU9lRKRreQz2hJoz/b+CUa\nGkCL00oeSDjw1KhDRPi9IBO008j9T7JOP3XC47PIb5/YBmQOVQKQqxttD9+P\nlordlloFFAlkRc26o/BWhHRyP3uwgueJ9jzIlh9UIz71IGdwOs1uUv21lB6s\n0lkMCp2/BLhNAxO/I8+bbLTJpQJm0RrZOehU7DCju0kmJcRqqzU0qLqAee6S\nMPVk\r\n=N/QL\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"17809117a12c6a10aa9bac6431716763d1c1dac7","scripts":{"ts":"tsc --noEmit","dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,js,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","@types/koa":"^2.11.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@types/shortid":"0.0.29","@types/koa__cors":"^3.0.1","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.8.7","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.39.9_1587550676626_0.16898981061464347","host":"s3://npm-registry-packages"}},"0.39.10":{"name":"boardgame.io","version":"0.39.10","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.39.10","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"c9f392b918d491c293f450642b218e96eed12798","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.39.10.tgz","fileCount":185,"integrity":"sha512-ZVZHz5QeSbwNmYmuvWth1IZ+8mBrLjlf5Qx2J+93+9wLElJVJ3R2JnZ3aiIfyANjXchYcy37/Y271J9Z+H8oHQ==","signatures":[{"sig":"MEQCIF/+GofqSAKqq7SduzdKM8HvBEjaCx6Ryq8ybOcK6nWrAiA7/JNma7q242ul+wuu9nvtZ2GkJnZ3krfsneO7BA55zA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1921035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJerTLVCRA9TVsSAnZWagAANMIP/R+COcUwBEcvZkAGtypR\nh6ZT6851e3XWWcI3Fofzsrh3LtGiGovE2SAOMKrXfxHgbYIeEEfaXUTX67WN\nFDmGmfghp8608YLr3wat7CoJYOW/AZbcRIZz1ofX/cx3hb5XQXgpCBgzWRdi\n9hu6PAKkp5/OV8e+/9MlFMpW1GV2OZ9l2NOZeYaJot9B2St72UxCJTMxaZvv\ncZDelKvI457UboqM2f1fuiQr5T3wuslHI5uFF/ukRFLmuoc89AGxL9aS0k2t\ndEfRZHwXSyc++5R7/h8qDHKxzg220j93rdUdD5jV51yEfEkAdOiRW4aj2mQJ\nGfYWUH+x3z9ut1UTovmZQPbVKk4MEdJJhOmM+p8m9wTmZ5y+sXQIUO/eR46W\nNP6pbJExjEDpMs1RISTxYWMZmRAMHSyJYKwuAxsT22Wss82gME2Q8GH0KZ3l\nhv3YMjyZHUz17A2rbLzsGJi1LPebyQYHBiilB5IPKot5LCDFSuUe5asNSV2v\nRSUQM01dELkw6KYT/WYwa0eIpEfqGM8tr2Ffx/Tryk2DQWc1uGDSzAvaCNoE\nqIpLzrv36unJjq8WISbE5Izg+KzXvBnLeM0e62qK0UQh26WrBSPS1oAbnxB1\nOI5RVy7hgMqXBHvX51VusuX+5kYbwvY/YPjz2qPZ7Q8jBZpWKaJaQjao+JJr\n7cW8\r\n=JIRp\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run lint && npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"4b50c861727de41c1e7b9bb228dd0d2ebb34d5d8","scripts":{"ts":"tsc --noEmit","dev":"node scripts/install-web.js && npx concurrently npm:build:watch npm:dev:server npm:dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"node scripts/install-web.js && npx concurrently npm:dev:server npm:dev:client","prepack":"npm run build && node scripts/proxy-dirs.js","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,js,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"bash ./scripts/changelog.sh","dev:client":"cd examples && cd react-web && npm start","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"cross-env NODE_ENV=test jest --no-cache --coverage --collectCoverageFrom=src/** --forceExit","prepublishOnly":"npm run clean","test:coveralls":"cat coverage/lcov.info | node node_modules/.bin/coveralls","test:integration":"bash ./scripts/integration.sh"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","@types/koa":"^2.11.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","concurrently":"^4.1.0","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@types/shortid":"0.0.29","@types/koa__cors":"^3.0.1","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.8.7","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.39.10_1588409044917_0.5366088041857666","host":"s3://npm-registry-packages"}},"0.39.11":{"name":"boardgame.io","version":"0.39.11","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.39.11","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"8929690724fe30545a6b3ea10fc5bda326edd6a9","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.39.11.tgz","fileCount":187,"integrity":"sha512-iIpTlY7m3AAAz21C3dK3hUq0/0eodi/cxgNmoVmGpFulYrBYrBECToePNM5p8NqppzmJ/3nwcZcwQyZwrB/nSA==","signatures":[{"sig":"MEUCIQCc1ne4NrozbQfQRwmbyW65I5ZXne6Q/WiMhGyuSHjmMgIgO0t6f8m1z9q8KYCOXE/7fL8Fa+avVFchBJZigPXTI3A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1930916,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJev4F6CRA9TVsSAnZWagAAi/AP/1ve8eQcofRyK+sdUKCp\n5G1iLJmr1SzGtvO05HtbosUJLoJ+iGtzgn7KTgTStJ5QA4Gasbp3oyRkvqKS\n80QiZ+8mIGyauzcnDYHqUF4FvSTICP+MTyw21E4r1sdBNvYJ7bAkMDv40YeV\nYHFXTex4GXG7emZdI+YQCp9GXiwbSAgQdvPPvg5NUEGCb3MMSPIxRpNPwXGE\nvDJjlNyOJOvq2ZVPqB9gJqQQKqUM6dMSmxC0ZspBfg61tosoHEg8sRjPSrtO\nQQiOsxGXPkI0XVFBx2lWDz0UQf44gA1TbUQFjbbbUFSAaD4+N6GH331j4cjO\nklB7+zgyrxk4RGHN5CrY0OSb5wRkDbCQfXNa9SgD8HSCZR8VTXLDCLYbRREh\nG28cAyvYiM/8AvYoePj8JQP0Um1euxVt6WkDUsKrOuG0j2XlTXWJlo+KMBxo\nRLuwDyzLVJ9G1Sd0XLvh3a4clghwtB4hqykGHl9anDjB9LUYcJtjv5sGfOGq\n699In5erfLVlsImy3a7HF14jRaTjqvr8v8AYnjcRFvzoJJoGAPcFpX09ykbt\nWJS9T4jyoQQzFLuZBCgjjgBZVnHezHcrkP2C3tTtseeihP9x+a99dHdClVHR\nSZshnHLxR+va1s0uRfmixwuATiSn5CE2kGP3a5EPLvCOnXKV27wrgFnW1imF\nl3Yb\r\n=d2xy\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"3476dd288cb27f8812b8a5a17988766cb1660769","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,js,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","@types/koa":"^2.11.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@types/shortid":"0.0.29","@types/koa__cors":"^3.0.1","@types/socket.io":"^2.1.4","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.8.7","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.39.11_1589608825608_0.35303898035326786","host":"s3://npm-registry-packages"}},"0.39.12":{"name":"boardgame.io","version":"0.39.12","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.39.12","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"ba2122f8f3c0da43c3674e4488697f8d11831761","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.39.12.tgz","fileCount":195,"integrity":"sha512-+vGvVB317gm1R+mbDaDTfAwiRuicnry3oP82jKnus2q4vZ0hc+w9ufDHPc0QOEumcMV+f6Z+x3hNaBdPw5zjHg==","signatures":[{"sig":"MEYCIQDxVPX8goTcW0dwaThJKwMWrz/YZ8M81E4NDjLGX3gVPQIhAJXH3d97GAQdfp78ehS3IfG042pSLy6nmx9zZK7hsFrP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1951362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2E6WCRA9TVsSAnZWagAACqkP+QFgsrTve+OPyJoYKvj3\nm2D8Wvpc2krb0jZtPK+kao3S/T5dt2RRioKdiLKQzUYFgSaTa6T3En0a2LCB\nklSq896bqpC48HTk7WRN37fVhF3eD3pSVe/YqZugGlBjmFcM/dp/j89E76MJ\np3TZmczx3YgqPfGisb3Hnp+Q7ywRjhXrQDoOVoTa8FHp4MG9lKmd/kAycsHJ\nEsB/LJMTV6e27J9uAbGqUaxMLS/n10dAapWQx/DuTNaatUl1KJty8EX9cgcW\noQHxgAopPNC+t/gGy6fYAK+y3flPl8i5njdES71huLHg83EmpwSF/Zc2F8d1\nk5NT1j5Y8QRSmC7nLYuL2xNvDf7s+myHiLgmSui7xolKQF7WNdF9/Fg2l/DF\nJwqtTiACXnq0C1n8+/lKtJ3SczqZWtzTSfIXTedqe50pjh+drWvHhCngx0xW\njXqw+IY2YXaoETtktQfVQv8LD5uke3Q270P6saGZycRlJ3+HIVWzFhQa/4SP\nSKsHoQd08MXkkDEIvoo3zUxhpzAqLlXOpvvjj584f14Tty8XGP0fA2EkwMAe\nuArj/IfQs/d0wXEZ58aeFYXCr7mLh/NCXvaP4W3hkoIIvAq6mgWs4tKRqz3q\nJUefesRO8E4N93NVvkZrIPGj4XF+/gJKi7l35EjvJfpCjenJaplDpklIoyaT\nMWCh\r\n=hEG1\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"ab287aed75cedf3afa3789fceb93f41b87d9f2c7","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,js,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","@types/koa":"^2.11.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@types/shortid":"0.0.29","@types/koa__cors":"^3.0.1","@types/socket.io":"^2.1.4","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.8.7","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.39.12_1591234198414_0.8049365915709814","host":"s3://npm-registry-packages"}},"0.40.0-alpha":{"name":"boardgame.io","version":"0.40.0-alpha","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.40.0-alpha","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"6f0046a975e2ee602a3c65a9763c843b6e67dd06","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.40.0-alpha.tgz","fileCount":200,"integrity":"sha512-UdFxF5kGPpepQwTMzD7cdpYAEgokdimYt/DfelMLpkEbnz6kukDWu7uqHSB6a5VYGBiXU41T2kCywTQPnJLSew==","signatures":[{"sig":"MEYCIQCFAHlaS6QpXroBUa+dzEJwSJCQYSUWd8XScYRlJI8Y4QIhAMkOAB85Z6Jm2tWfsU7hVqLTEUbbmuk7BC+ImuAZy51N","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1955328,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5CcYCRA9TVsSAnZWagAAIW0QAIb6NANDh3eiuCh8gQrr\nhI7id/rJjBu5h9K/qsTRDoGsd4FDpiugizyKwfXqJ2/+uW0b1ShtCrH9hnrc\n36vd2EUQU0CZZwqfGiq6XBvkVbrcr0cT1lX5RTYKntP0rKa3EdOD8fBcfLRc\nSzCaoo9BuihL1Jw4tjymzmv0pcaXhIVVGRBDuQNnGFCmRDEawHes+/g6NEhk\n/bQZDLCj0f2B0MBfRtxnF190s8egL0AWvXPQ5Jghk1G/CLk3BgclxcYB8aXo\nw4IOHWwYHy+p6M9JBrnvCeSRTs/Dw74yp+V2QwfHJCUzPYcIsLR2peLfuEoR\nH6Rrki15SxsRdbCLUrnSQljv4CdurF5lDEnfkQRP6P7YGf5cgHrgF0R9Eq3t\n8cVwi9nt8ZzHhdn39a0MmqM2bqJb3g4yXvaJncwN+nYlhCjG9nIKnvVENXeT\nkbnQ6BNCtWbGUFn4TtsDwG4W3Ab0f0w4a0Pczl1cXVCO4RJ3txyLmX8gNuaK\nxQ31rYxhqew7vs28m1cwfTjPD0JfP8g7TwzXEGixXadMrO5z+L1PQeka1lqi\nGQ2rmcdIA9PIkZKYY5P1sd5f0xktXG8tC7cI2Y73kIFfP1C1pvW/1H94bEV7\npxjWn/ezLRfMCugxBcyZEmVQATrsJ2pNR2zDNrAxjzlaPLIi9zfcdVHzO0Ff\nxbAk\r\n=TjAi\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","readme":"<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/nicolodavis/boardgame.io/master/docs/logo-optimized.svg?sanitize=true\" alt=\"boardgame.io\" />\n</p>\n\n<p align=\"center\">\n<a href=\"https://www.npmjs.com/package/boardgame.io\"><img src=\"https://badge.fury.io/js/boardgame.io.svg\" alt=\"npm version\" /></a>\n<a href='https://semaphoreci.com/nicolodavis/boardgame-io'> <img src='https://semaphoreci.com/api/v1/nicolodavis/boardgame-io/branches/master/shields_badge.svg' alt='Build Status'></a>\n<a href=\"https://coveralls.io/github/nicolodavis/boardgame.io?branch=master\"><img src=\"https://img.shields.io/coveralls/nicolodavis/boardgame.io.svg\" alt=\"Coveralls\" /></a>\n<a href=\"https://gitter.im/boardgame-io\"><img src=\"https://badges.gitter.im/boardgame-io.svg\" alt=\"Gitter\" /></a>\n</p>\n\n<p align=\"center\">\n  <strong><a href=\"https://boardgame.io/documentation/#/\">Read the Documentation</a></strong>\n  \n</p>\n\n<p align=\"center\">\n  <strong>boardgame.io</strong> is an engine for creating turn-based games using JavaScript.\n</p>\n\nWrite simple functions that describe how the game state changes\nwhen a particular move is made. This is automatically converted\ninto a playable game complete with online multiplayer\nfeatures, all without requiring you to write a single line of\nnetworking or storage code.\n\n### Features\n\n- **State Management**: Game state is managed seamlessly across clients, server and storage automatically.\n- **Multiplayer**: Game state is kept in sync in realtime and across platforms.\n- **AI**: Automatically generated bots that can play your game.\n- **Game Phases**: with different game rules and turn orders per phase.\n- **Lobby**: Player matchmaking and game creation.\n- **Prototyping**: Interface to simulate moves even before you render the game.\n- **Extendable**: Plugin system that allows creating new abstractions.\n- **View-layer Agnostic**: Use the vanilla JS client or the bindings for React / React Native.\n- **Logs**: Game logs with the ability to time travel (viewing the board at an earlier state).\n\n## Usage\n\n### Installation\n\n```sh\nnpm install --save boardgame.io\n```\n\n### Documentation\n\nRead our [Full Documentation](https://boardgame.io/documentation/) to learn how to\nuse boardgame.io, and join the [community on gitter](https://gitter.im/boardgame-io/General)\nto ask your questions!\n\n### Running examples in this repository\n\n```sh\nnpm install\nnpm start\n```\n\nThe examples can be found in the [examples](examples/) folder.\n\n## Changelog\n\nSee [changelog](docs/documentation/CHANGELOG.md).\n\n## Contributing\n\nSee the contributing [guidelines](CONTRIBUTING.md). Also take a look at the [roadmap](roadmap.md)\nto find things that you could contribute to.\n\n## License\n\n[MIT](LICENSE)\n","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"2e2b6cb7e7ea681c165271c629037a66d45d47e3","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,js,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","@types/koa":"^2.11.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@types/shortid":"0.0.29","@types/koa__cors":"^3.0.1","@types/socket.io":"^2.1.4","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.8.7","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.40.0-alpha_1592010520314_0.3491733847201537","host":"s3://npm-registry-packages"}},"0.39.13":{"name":"boardgame.io","version":"0.39.13","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.39.13","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"fbfa10f888e694ba81b8fe26c4bb08e808d054ef","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.39.13.tgz","fileCount":200,"integrity":"sha512-f6DjXaxOboTenAU9uvtSBLJ6FUlQsxap1T4EkVPJ8VE0mMNWjZJpfb+iEJtbE3M0NxZzhVxUspUxQjaPOq6fFQ==","signatures":[{"sig":"MEYCIQCJDZTGU8IdHsBE6GURbLiMIGJTCboRNfAuaPQEbmquPgIhAPhORADF/z+zS44gSwXKOOkqGIzAnae3i42LJN/01KML","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1948709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5C0dCRA9TVsSAnZWagAA9dIQAJwFxVtWaaIAP1S8hC3V\nurYf7c23wrKBAq3UXkaUfRSoKHObSMUm3IK5HS/X+Q4PiZ9fpKDneOnHIWYz\nVQ2yuFBENct+o3xyO1Emr+2YFzaQIbrQPV3YyN+sdv5nocYvvKBoDa+kxBKF\nrrsXGGcJNlKH6ALbaErFGGsTH+Svg5SV/6QwcXS6OUMOPDTpNLIu+IhMcA80\nQe0cBZS+P/3S64wIwedw3Gm2HJ3BWYdFTgO/K3dnmtciScAT2DJExyVnXCTB\nkWmQMsUIz+ORgNVg9E/EooY6dz0TS31o5ftgI/6Fjinx/D6MpDp9ed52pn23\nwDQEdGPfiZUKGA8dCuksJHWQghhnkOi4gdkca9GuhtKlSM7pnJJ9XvWaO7m9\nmUDMot+IA0cyscicOL5RAeEJVvZ9Kyl7PvoXef74ihR38oN9OxfYcWP2PevN\nn66XSqM8ghCbLZQmNOioGO+yIjBrMsbKnmLztGd6yglcfxSRHb7GCdIAeSjm\nkbo7NYzpNNnQ3iovmDmjeT7zsCl9OzrXhFRRdonNsWpsWJavnMrZbci9glK4\n5cOxtHrco/KnEQ+KK+RoTlc8R9VFB6MPrm9RaTOal61UBOcpGqzfqpP4hKPq\nsfEKY/y0cdIy2ERqgix/+PHse0uyighztvKq6zsz+v9lF6iQuLDGVBVtVg2z\nM3G4\r\n=l1OH\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"3078266c3b670ff67dc4ca20a6f06513cd741579","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,js,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","@types/koa":"^2.11.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@types/shortid":"0.0.29","@types/koa__cors":"^3.0.1","@types/socket.io":"^2.1.4","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.8.7","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.39.13_1592012060498_0.2074213450025495","host":"s3://npm-registry-packages"}},"0.39.14":{"name":"boardgame.io","version":"0.39.14","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.39.14","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/nicolodavis/boardgame.io#readme","bugs":{"url":"https://github.com/nicolodavis/boardgame.io/issues"},"dist":{"shasum":"8d6de923e480d0b76b65efe661be9efcc8bf21a5","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.39.14.tgz","fileCount":206,"integrity":"sha512-/n38lv0AKvStXtkYe+soB85LdgriEWltPYaOYaKzwS364X2+7TEzf8vPY4j6xu++6Q7WdJQDiI/SIqXgljtH7g==","signatures":[{"sig":"MEYCIQCW3/o5P9ZQXFYAujRcaYYwlMvyLHfBET0wjW0xH+Ca5gIhAKs3W15TDzq5xtiaprPKwQPBy73c3n0pcVQdvBDVzmFc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1968229,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7cxKCRA9TVsSAnZWagAAgZIP/2KL0RAuCZv6Cmuta9tZ\nrM/qPRVCEwIJ4tHPoHLInjBFIAMq1NhVEK7CU4A3o82+RG8qY8iy+5cJR8D8\nKMd1SePjDm16YW8bJzthnfl0mRlah+KJVzInSxcqsR2KplrRCZIAwh44Z7XH\ndTyhFlViuuQXvSMMun1DwoKPlopJ4wqETOylXvAPaow9UM5wg429fxvrkN92\nVRGP00qpvrsH+PSsmcCEAt/tgR3Y9dTc0g8zm4aLJYVYvplm57kjFh+NjIKn\nkt0P8jNiqZHRxvHVqrGyALlNTdJo6W2+VtA+A1gI1Txkl1wEiRMEzJ8dK0AF\ngwee1rPkLPii3mj1UyjZhZb7M49ri2/Fp+pW+b7gJ2bvVOxeojZ+7aNWbaCG\nIqOrNy8ihMOBvCxjT8Sf829QJEuwGTlJ8exYO/rMz9MvjTO4+V58UHpr+3cf\n5rm+0PoqAXV8dDmxxpwgMYCGu55FioIBqMXscTMpDp/QvEY9KNW9DmhW5x9g\nq1gQxPM7JyMvKVT/R3dqu+pTvrxbdnZGnY7DEa2b5vUS1Hk3UhV25+cmSYhS\nJSCS0xKHMG38U6Kkt98fe2LvaH0oV9JKdr1/b8VVth2OgUqeVHEOEsoWQSIk\nOg3EXqVmaNLvqnP4dTF2CeANLrXmEzzL3W5CmFr+NDIvzZ0eWY/J3g3TR/tb\nO15p\r\n=3mhL\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"b9253271c2261477d2446724ec2444c4d4064578","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/nicolodavis/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","svelte":"^3.12.1","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.2.3","@types/koa":"^2.11.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.5.4","@babel/node":"^7.2.2","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","@types/shortid":"0.0.29","@types/koa__cors":"^3.0.1","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.4","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.8.7","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.0.0","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.3.3","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.39.14_1592642634078_0.012137522940806722","host":"s3://npm-registry-packages"}},"0.39.15":{"name":"boardgame.io","version":"0.39.15","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.39.15","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"90fbd197828b980555b3f0502f34d8a01f8c624d","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.39.15.tgz","fileCount":206,"integrity":"sha512-NhDn1fFWYNl4UhsSSBSxYl5ixNSnQg9+EIfEr5HSJ4cZHRVvmqeW7qnFFoC+wCuUkQquQbKG541cmxWZDIS8Vw==","signatures":[{"sig":"MEUCIQCqDycihg75fwCav86cozkgBk/9z6tPQCA9V27CrpTzGAIgZY7qfl3XbkrUctgZdvCquqvzN11s5NwVfsl9ONfoN3s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1964416,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEpGICRA9TVsSAnZWagAA76oP/3lvwqBGG7uK2nBnO/OA\nuOCzjo0GJbNuwJK0t+AdX7t3eZK9hRSeAOursELIX2b67UEEy5LMFmnZQNrr\nJeBYsXZ/LjmivG59hksjmZEPeP0YdmCZhSQX2xnLbAMcpRZBxEWLey61YZon\n8aJT4XvPVGZXDYeDkwJyCMbFogtYwGDizsMk7wFVFlzpjfWeOkdMzg9fhN9y\nGUkxLZUd/HS/mHv5a1E6C6W1NY32qD+RDilAmnFgasaoC3PE0k3Z4BmKAxHH\nl9ecBvQJiZfSPvBUetHUsNPqy2Ii7Z/RjviIgK5C6apQxj1F2N80oNFAzNU/\nh5xcIjX4JlEJ523EnunzdD4dMmgMmJ4B9GYvT/p3blcISVhf6iaYK9WUs0Vf\nbDZOlXD0GI/edkQDq1ye3CufFsDAY0tiDLxJJknlIMm/zy19E/2/FjJ+pQEV\nriPJSs7vU0Gx4l3ejl6q7C8H00M81BsqfVqeR2l9890wSWD8B0e88OeBESKR\nH//BJ+qSne6CyaDCga/D33UF9dtO13uFSEZiOJRakGqC+LNOO1jElG32zvko\nKioGsKT262T7MBsouZyCLbB+R+MbANmxjNZcDG1kOx/49CqAtD5vceHOdUpB\nJy0DMAZJLqLKW4siTnQDKkVNE+PoXVedp8cPY60dNNAwdTROTr8YjwE4wzbz\nj9pZ\r\n=c8Xb\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"7dc8c29a1243f7fe89177304f0676c02702b71d5","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","svelte":"^3.24.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.10.3","@types/koa":"^2.11.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","@types/shortid":"0.0.29","@types/koa__cors":"^3.0.1","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.4","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.39.15_1595052423779_0.2535033264953639","host":"s3://npm-registry-packages"}},"0.39.16":{"name":"boardgame.io","version":"0.39.16","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.39.16","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"dd17201027255c0a73ba3c1b64ef6f859543e12c","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.39.16.tgz","fileCount":206,"integrity":"sha512-eGA+FWb+d0M1QX55bktBBKQtn8/CyoCRipcirYKAtI8jxXy0DPiiOZbFwvMIU7Lq3FKaNvXIAK+zGepXMYID2Q==","signatures":[{"sig":"MEQCICIKnx2bogW2goCBOMY1KeJ8WUPTwGIOHAlvE7xlIQFiAiAw1kVi3kJuz7PwvHxkNC0ad5WflV1gLvgG42aAcVy4nw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1967182,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGFR3CRA9TVsSAnZWagAA6X8P/idViDpPoxCvMK3LmAQG\nFuz7eCAtKDUF7SErZRXpK9I8Pj1yXN8duDTH7tDxSgb9RFJQSXYRo3hWMYDZ\nxvYeS+9H/6nyWINmMQds7n4DOkBAYBtASWJ9qCcJlNVKWUjhz/9EXgGYjtbE\nxtL5NtDVbueQsYCzXM7eIgPdGGAUcBW3vkU7nJTfdVibjCc798uBtratxBPs\nSrrLDjAfVPuNvcHhYC3uv0tX1NkQzuyl6Jv1vrHlWjaL8Q3Pnngpa114lU8H\nahltghUQHYD51ZwgYgnicmbOUXAnG2jnHw83TPvM9PJMtZC3wd85+CMDnqbo\nISP8vjXrwNXfUZj428+tpZKc44iMk7fpoVjXCgy+HGdnzPmpSU+QwOPzdMLN\nT5LI5NsyoINZq1vJE2MhclRRyv0kASBIvBM/Auxll+qL//vel1uJbU2zEShY\nQknc408XmTWnhKh+yau7YuwRjA2MyLVzVBpnl+uA8zqgpq0QOeWqUiB79iSt\nkfpV5TKImQ1mt0/m+wMAsk+XCpeGAEk7G/g1Pms1GVNF3NWThicZaTj24RW9\nFINFBwg/1pZUZqJZyR4cr6F33ZOx/790ELsti1mCYQtrd2djzLICe6vppxxz\nSjm0T+SzheYArZ8g8fDuQyZt4MqqaVeTsBpyWUbFcncqlIYD6hZcs/YRHO0G\nqFHf\r\n=qYJT\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"83a1993a24f01e7820b24feec0df14e2403cdd1f","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.13.6","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.10.1","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","svelte":"^3.24.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.10.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","@types/shortid":"0.0.29","@types/koa__cors":"^3.0.1","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.4","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.39.16_1595430007006_0.7187695894886592","host":"s3://npm-registry-packages"}},"0.40.0":{"name":"boardgame.io","version":"0.40.0","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.40.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"bf3a8d97cab4b080010d9733f4cfebe8e008c192","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.40.0.tgz","fileCount":215,"integrity":"sha512-JHKIslJDrd1soz+Cc3vcj7dXog1GV4qmBM80j/dVq3tAO6kqh6q3IZ1RfnMjXSAsCE3FoQB3nesL6y2yLSAXEg==","signatures":[{"sig":"MEYCIQCyxU24ogFzXlpFS3NJxeDJ6INLI1Hln5KG93PJapkJ3wIhAPkEL4XLxHyycNIp3EPu92WUmoSYuYaQTjpN6bHGLWOA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2320374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfTgfLCRA9TVsSAnZWagAAiaAP+wW0szjwV3XPnqO9czF0\n0jbZUk1WzdPJPSVDWwuCWcwzRRYh8lj9mhIqlsC5Md5eXbuvLeaF939Lv5E6\njwzrZdhU1B0aEibBgldXzCsRikjwo7o99m8BIw+E1ErGYJvqktBQAg9nmEC8\nhSmw7STkZME12z+100SN4wG1W2nf2nJWZbpZ7ItQSlRUTD8um1u9XYc2zLmO\nnBxoAyGyaIQaQ0HWaBj6E5qhDxv9ekcSNoDlEIexuUT9S2Jv9Pt2L2sq01Zw\nGgIBFDCLbmNdXFdEeRzReRtkWRWDFIc/9TURT2LUFULxg8SdUNeguuq06zAf\n9YkfJaPFnHezQEyj2kje1QL9uxLW7GLpYvyFPbyok1pBPUUP1aTVfxTmvmXc\nxgOULLJGLLd4LarZLr+Uua1s+uOzq2Ib/N2QoCe92QXJ96+u/EvnORfIzGm1\nMZ7NRYwrOxlrRJDiyQQ54S7vReQAKsY4apDp+fk4C3FbrE5dU09D0/1JBaSa\nWLTyr9gTnimgDzGocW417jTf1p9Kwbqh+3nef4T60WykAtSwkreSR8lFj4Uu\nND8Loqv8arAUzy4iWjA6twYvu7Dym5PkZsX9fV4mM7IgWW46WJUcyLUazeWc\nW9F52wXX0Po5VxH+AbJRsyErbejd/E3PoJDUlz+Yn6NxfIZcIGSYFSXg9Pwe\n6AJY\r\n=kw89\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"b800490c085b131e2688c7415c2b3a1a37124187","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.7.0","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.15.0","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^1.8.0","redux":"^4.0.0","svelte":"^3.24.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","socket.io-client":"^2.3.0","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.10.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","@types/node":"^14.0.24","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","@types/shortid":"0.0.29","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.1","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.4","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.0.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^1.9.0","@types/socket.io-client":"^1.4.33","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^4.1.2","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.40.0_1598949322979_0.3188473043219857","host":"s3://npm-registry-packages"}},"0.41.0":{"name":"boardgame.io","version":"0.41.0","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.41.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"a38947f67d1c4fe35d5651603ea1923d06b96efc","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.41.0.tgz","fileCount":102,"integrity":"sha512-K7MU1HW4rvKvP/O9oocw3urQ3tP9qxHhAamOC/YyrK5dWEfEJm9tQOgDBMQQLIh27HQcuHXuzKMfNBqanoyeEQ==","signatures":[{"sig":"MEUCIAjbX/dpUMYRk1vK3jnBZZOIAGlu8kRXOGd/9i/4ToSoAiEA8peCa8HCuwAatOQCmIlzVCOFGFy3huv4bKw1WgN/Thk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":550517,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfibmHCRA9TVsSAnZWagAAWIMQAJJGFZLx/s2LbQMA9kbf\nl+6npGKlnFRi5rIXqzBD1f+0b/DzPAMy+Tgv5Ol/jAOnuTvl3Z/2eSHprUpT\nNM8tp9gwcbSEZPXZ/7VGfeSYI3X2XMBHsdrnDappNLAfjObEpXJBACbJDN51\nNqAjXayVGeE/wKSFHCLwFA+IdgFM0A2u5/OQhJzYDdFuJqlpkjJAMfc9PIjp\n9DUrmIpr5ei8yZwA3mu8y1yA/ym14Ch8JE7NadxizzB+3wtPApcEn14/weAl\nNF2sfltN1C03Vgzt+6gos0z2EUUYaKKQmpZxdrb0tyGmlIJDEtOgDiUZm1u5\n3Tb9rde0eEHxLplRljFwBw7Jh96tU4yBJn3II8gKM3VCwqS1Hs5CaB70KB08\nPuvsVVSTSnIjxSSK0ynal4+Lki/cDgToE/6yW9SgjP4GyJ2K3XUomJV+8UlX\nhVaRP8/wKOtAvgNt6ETcOOrOQCIxoz+gUN4E8Ar5rGvsEhx96V7s6qw62kU/\nChNgY4t6DYj43qGNycxZ6f4o5xmj5ZqKUPeJ94yVqMrxRkzITsF3iFErKwbf\nCO4dwCfPlrl1mcGFsATv26a5c351VMHdcooiGW6pJYui53TsaBUxCwGuoqOb\nN3BEzH3RfUAj7vAGJ/AFUD2X/zGd1biKVtwfAxnTENtbQynt+1szNM1i5nZK\nvLFt\r\n=UpZJ\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"57c8d8e7971d66967711d18c779514e10fd8fbeb","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.7.0","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.15.0","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^7.0.8","redux":"^4.0.0","svelte":"^3.24.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","socket.io-client":"^2.3.0","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.10.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","@types/node":"^14.0.24","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","@types/shortid":"0.0.29","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.1","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.4","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.13.1","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.0","@types/socket.io-client":"^1.4.33","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^5.11.4","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","jest-environment-jsdom-fifteen":"^1.0.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.41.0_1602861447149_0.6864315849665972","host":"s3://npm-registry-packages"}},"0.41.1":{"name":"boardgame.io","version":"0.41.1","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.41.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"7b99325be5000e49a712423ca1fb35c6a2e4e37c","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.41.1.tgz","fileCount":227,"integrity":"sha512-K6KYbAyBtwVF7nQZS93+CdZ08Fo4TnQ2ylS91TyNa/eKQKHBmA1AHe7UhyoCBpDGmyF34NF3NNMaKWMBeRhyBA==","signatures":[{"sig":"MEYCIQC/jaIESc69rQZOYQidsdYIoPN6LW/8qVMRHGBsoenyQwIhALan0MIW3Id58lwUqLdMXLHtKts4TDrPK1q441rV44ak","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2448284,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfibqjCRA9TVsSAnZWagAAk3QP/121hZtBRJ/PGovM7c7b\nwHjBGsWOpGqXmbpjdF+3TJQFj8FWvsa+DJzWSCIA2H5OQ5p8j9a1teFPFVfR\n2554y8NQHQVsCPFfHBs6PU3PFKhvhQOzNk7V4XHVpbA7k9fhswYs3RKk6X0c\nYBkUm03XQLFYQ+hqmEN7eDwuR4TEXWJWEGq+fP0ljTt1F9R0RQZ8OsGwts6U\nvbPtlFAMwdeRlnOQoCpBZjOkMTF/fmngwS3jXL7nxiLqlHttwgzTfBOa3Kus\nEbQtT5qUCvsueuunZkjP4BBFpF9liyoNekxZxtNC1/2u/CF2iUabMOd6TLwj\noU1dtUNskqqn0Ukn+y0rj5auO2+KVoX6ZAXJ6QhQgB8RWvjYFqjIlA0sU2Sb\n9P8+HLKqYUKN+4cE63peBp178bEFAGGL9fzoI61/R3ZsloABQ+ZPLBM4huEd\nm+yQLOshSZutdsJYa4Vg/7acRSMlci2RDKCEZPQnvk0sZ26HBiVQHb1g36mJ\ndArWVvFbdTki9I7E2iXCKdcp02943YtR/Lvllwq6ZL+lfLLmOUKeoKt07lx9\n3tjcc8023xQlLdvv7KBE/UOu9Ojz4NiLodaQz7eHmWmb5mxGUVmqRmuGWAtX\nn2EtY0UekNLX4ajSxr8zLImibD7WXG6/URV4PxQHcKxNlYkx8jHmxeLbHOA1\nCTXZ\r\n=2Iek\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"051c43fc9abc12bedb26c16716a4a013506853d1","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.7.0","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"11.15.0","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^7.0.8","redux":"^4.0.0","svelte":"^3.24.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","socket.io-client":"^2.3.0","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.10.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","@types/node":"^14.0.24","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","@types/shortid":"0.0.29","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.1","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.4","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.13.1","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.0","@types/socket.io-client":"^1.4.33","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^5.11.4","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","jest-environment-jsdom-fifteen":"^1.0.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.41.1_1602861730740_0.874236988961858","host":"s3://npm-registry-packages"}},"0.42.0":{"name":"boardgame.io","version":"0.42.0","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.42.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"64d9e45689f11f6c99164e2acabbe9add6347a54","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.42.0.tgz","fileCount":243,"integrity":"sha512-TXN8Pi8M/XcRo04QXJ1gzrlge3YMngDgofwoFxSxNJM+ihngRjE07jQK4algj9aAtWQQ7ehy9k2EBo7TLU5Tug==","signatures":[{"sig":"MEQCIEGOaIeAsZI5BnK6EYLOhopjtbzIMbTL5aGcyp9Qbt9TAiAeDKO68PprZgh36nQlrXw4d+o6z5IpaMyBEWIKXXX0wA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2466738,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfputrCRA9TVsSAnZWagAAZUcP/3Gh0GWI+9aROmrrC/Hy\nBdMkqwIGx43TWmhZeDc2n/HnKyByk1xvZ88FhlSRH4T+FxiqVWFXGFpJzHbT\nOZjWBOSBI2Ih9hEgNfPuC4Ivm8Yzq99kG0bkJXjL3H0GWe1HjysiZv82k5nT\nhwiQLxRg/U8CAwPIwbrOEjCYp8wZNxg4O98PHgPORPgmqiAoSeLHuV59ci1x\nm2tyIqv+0Q7YcdRvfEXfsrH93aO+CHEe+cbEQwVftWb18Li+hdVWLyBVNqSN\nsYJNu+y8ROWL+uaOd4/BCORZ6j+9Zm+OS6r1o+B3JBz4+QfGSQk8nrBlUMvP\n4cq/r1byo7yl2jtF2pKC5YrtSqKK40SyJZrTl+dkOPbY2dQJ2rF433OMED84\nyHLejiUNoqmyRuPD0PheOt3s04ejApxAAxSxx4hdNRs0eweYGRdbpjyXoHbF\n+x86mid5jKm2LDFlYWwU57p3mfX73WDlLJxQcaZR0nEbQTYUk43WEMmJT4Vw\n1h/zhKnyhXnS71wps8GVzNJDuAzgcQqYsSukTzuiHRWXx3XWSWAjnBelSGns\nD7PwkjHUKu/OwTMmT2M2uLAA3CeT2JuZWcOA397lUdwcyI0atGxyi1heEFbs\ndkCj7TFyf45lkWa90BkXIsxOSESk/fLg9Zv87MWVF4fVVtT7TrLDosOdfcWV\nLBOX\r\n=R9c+\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"aca811b67b347e900e57845ce311000cc4407b6e","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.8","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.19.0","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^7.0.8","redux":"^4.0.0","svelte":"^3.24.0","flatted":"^0.2.3","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","socket.io-client":"^2.3.0","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.10.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","@types/node":"^14.0.24","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","@types/shortid":"0.0.29","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.1","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.4","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.13.1","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.0","@types/socket.io-client":"^1.4.33","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^5.11.4","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","jest-environment-jsdom-fifteen":"^1.0.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.42.0_1604774763331_0.6315476274568472","host":"s3://npm-registry-packages"}},"0.42.1":{"name":"boardgame.io","version":"0.42.1","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.42.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"b5a3e556537e4bd4f887d3b69bfe604ad73de503","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.42.1.tgz","fileCount":245,"integrity":"sha512-s8cEPbG154xQfcB/pNmur5qW+B233Q3inJtqrWOfXnqJ8nrqF5u3OQ/c9+dOdDnZ5faQ5kyH81+Dho3IE2MDbw==","signatures":[{"sig":"MEUCIQC0LPI4Ewl0OpKJA7UNDUVTaybqcbiQoR8Z5NBb/KI52AIgOWhRrQ2HPwKdTckblDHUgHGQ+7wJ/Lku+XTyk61o7H0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2489511,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfw9z2CRA9TVsSAnZWagAAkAkQAJODXgeJIgu/u6wv5nk3\nUHLDQTd+uI8+GWY8WYF0CZAFkppInpABYI+btXni6rx9M9AeD/LdGXJZty1U\nb3TeClE4zDivKMbje0xfG/aX/4Kwn+LsEGMRo++/XRSEDFGaItv2kycP2YHV\nmH6cbhtDfbfNLGRpYXa/wOdnUxWmFz4YueUIMk5GN41jlmdZODVzQ0hFb+9t\n4DRKVRjTwwgFUiNtBfuEn7UtsvG2q2MWWsoEBi/T2Ej20sFc6N9Dl3+rGJfq\nU6pKj0fvTq3Neax32bHeAXSt2DWuBjBkOvm5T1XVfsJOSwERm3ATHMhieUTD\n/4nxhxRQsjhZg6k7RC9HcmJdDm9fFImYLC267gISSxWIyIpHltKhoLvZUfT0\nFD9zpZDo4KMiiyeid8KSTijuq8wa0yOCTYHvM4WmQNXyssfp3GvACIMwH9sk\nnjEJqWJC3w/3iOLZZTHd+TQ+v8JQ4DMhOWL7LNLfFJfakKO+DahSPpoIMUVS\nINQeP9e+GqseJrlP/rjEcqcvMQxu991Ds6rhjhHRiNpvjdIF0Xz8u7HN9PvS\nsiuyFMuzIFbEZICOSlfjTQtiEpwHggUxXUM/eSUqD3jReacaqDNrsYmdhdBU\n63flqgrqECmTsBmqkVx0EtZ2LLhdFc+Zq6iTfM3ybfL/egKgC+32fA31xJTD\nMj2L\r\n=7EOF\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"79ba3eb82712716b6945dfba66c444f3b745706f","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.8","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.19.0","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^7.0.8","redux":"^4.0.0","svelte":"^3.24.0","flatted":"^0.2.3","p-queue":"^6.6.2","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","socket.io-client":"^2.3.0","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.10.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","@types/node":"^14.0.24","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","@types/shortid":"0.0.29","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.1","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.4","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.13.1","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.0","@types/socket.io-client":"^1.4.33","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^5.11.4","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","jest-environment-jsdom-fifteen":"^1.0.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.42.1_1606671605876_0.03231478762143203","host":"s3://npm-registry-packages"}},"0.42.2":{"name":"boardgame.io","version":"0.42.2","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.42.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"3e395fb73810fa4e14692504ec1c4afdbb44fc2b","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.42.2.tgz","fileCount":245,"integrity":"sha512-VIsLpPyTwFjrKEhG6h6Xj6qib1bw2i7tegSEfha4jSD3YLJzGuLSW595mys8wAL6CMt5nv/KhW0enCBkmN8mog==","signatures":[{"sig":"MEUCIFDChvfN18JltSuUkgyLa36/I5tp7etxyc9KToZVMtswAiEA/Qs7XggoM3n45Y31GXDIOFlXoR078tDHQAD3ifD8X0E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2497881,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzB4fCRA9TVsSAnZWagAAxmcQAKTzWSxl2R/2O0aFR8bF\nnaDYxZpIjh0o8r+RX/phQga3DM5ulGvs0zkWO0FbqetvW0yePlbgM71J66rb\nOOcvPHbFHv6xq+lgXY2A3nMJgkuWiWK6PTqxi+TUbi2o3yIzuAhw4sRAP9P7\n0fV7njsZK6Ti10DtcDkqxhS5C4qJU1kSUzj02kfKhgzG8XwB6wsMAJRSwACC\nBCPn7NhFrBIpS+1pMxHVESXXdVkPIXn8uGvEe8R4sI5fg1QxlClirivyjKS3\nc/N6lgbbD4sES/l6s6GOWvGYRlR0zQW3+k38kLEVt9Pg+zaDM3HcdTJOFMCw\nE8SFAnl4qq2zHMi5wzOR7rnAGUtfGCgQGr6u+FE/Vvy/ieAwGqH5WVQbQKCB\nuAQkdtClcMIO7PnuBmGVayiguY5UunFYVld3M9fu3Ra/sfQ4ARvY+9qnZHY7\nK12WMYMmVRPaNgx5BE3HvxndK94IgZWs/YOfgTLkPEABQuXBBl2jzK/VQdrX\nK2A46XDqhSQRSkJY0WaSBEaiMRPD90g9xTYe7ZjAOSzlsZ8eIE1PNg2uJWTS\n2jXcC3Qe77c/yvU8oEcDScEvig7CKjhHXB2srRTQGNJAZSQjfZlONTWeINhO\npXVeSpO0aULsyKSxb8ay8W7nroZt71Vi5Hmr8dmRuuk9S0TFx8eC6coR5qHt\n0uP0\r\n=LyaX\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"9a1f2c77a8b46bb28c1de849c227005448c018e5","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.8","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.20.0","dependencies":{"koa":"^2.7.0","uuid":"3.2.1","immer":"^7.0.8","redux":"^4.0.0","svelte":"^3.24.0","flatted":"^0.2.3","p-queue":"^6.6.2","shortid":"^2.2.14","koa-body":"^4.1.0","@koa/cors":"^2.2.1","lru-cache":"^4.1.1","socket.io":"^2.1.1","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","socket.io-client":"^2.3.0","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.6.2","raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^5.6.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^1.19.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.10.3","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","@types/node":"^14.0.24","bundlewatch":"^0.2.5","docsify-cli":"^4.4.0","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","babel-eslint":"^8.0.0","babel-loader":"^8.0.5","node-persist":"^3.0.4","style-loader":"^0.18.2","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","@types/shortid":"0.0.29","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.1","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.4","react-router-dom":"^5.1.2","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^21.22.1","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.11.1","react-test-renderer":"^16.13.1","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^6.0.1","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-prettier":"^2.6.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.0","@types/socket.io-client":"^1.4.33","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^5.11.4","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","jest-environment-jsdom-fifteen":"^1.0.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.42.2_1607212574762_0.48524358267596823","host":"s3://npm-registry-packages"}},"0.43.0":{"name":"boardgame.io","version":"0.43.0","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.43.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"ad3592e8a87535d2352d3a4be4d264598ac27466","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.43.0.tgz","fileCount":254,"integrity":"sha512-b6rPGz3b/ZKbIMc32+H59SSybwTQjulUh7ZTcVYa9t6VHbqcHTPcnTU2npz7hoFRgyJc22UdWGz0bgYTBJpWnA==","signatures":[{"sig":"MEQCICS19iY8qZT8aJvj9TSFIennML7R0grum9w6V0Pk6AwXAiBBXik7G63JI4UbfPNAjpShOQqSEMl8C3FKfZwZn5Kd/g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2554334,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAhZ/CRA9TVsSAnZWagAA1DAP+QAoMIkj1x2WHhR2dFPN\ndFAftmcSQGdH8IHCFbFhWJmQimYLLpD4j3Q09Qn6GLqqliQqFDpRjH6R088S\nnPxpB8CY96uiwt7dzIkhwkPDm3s4kRcag+kIc4vW8QblV8YeN298bXIgbKv6\n0ODtW/6Q/Ixy4pUwVAUSoszaF7d9bcaWm7H+mrgNqjNBI3e+OtDetfuwtqdb\n4dkeTy6lveEMXfCChWdkc9ncOiYOMt3v79FxJlYljEdX4lmCa004L5IBto1B\n/QOMCy0eiGPjRkDMDV7C4qr0rxRK4FPH4jSf9aqofoX8qRzXXT6EbB0Io1HM\nwir+PENlTpdIIyKOuXSfnsx2QvQ0IWWbgcQNriGCXDgR/ZRlUDwgqeGwSeEf\nCHfYUMGS/4dO+AjsrN7U1NdcaCQMBuQvVdajZHAyAG4bTfIL6yupSQRyRT2h\nZE6xD9PgQBzSF6fE2NaAJR0brqHzRo4n04DSRkSmae+5OW6GQMstFNlkdBs9\n5SRDv7mfa5+cjKjXRm/aKkyg5K8zmjL1jjbbQIl1b3Zhz/2Bqnudu4VuuuB3\nVZtCKZfv6YG3ti4v0Xn4rLplyvpehOTnM7tX8enaVtmeASOB3K6FcjFkAkwq\nG1+nzWNqr42b6BJgZqlQemDpj2xkwWPv3U8XkS4wWNHBwQP3dCfQdpZ5Q4sM\nFi7N\r\n=1M8Q\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/.*/random.alea.js","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"521c5049447b661ddfb7fea8c5f130ee179bd905","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.10","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.20.1","dependencies":{"koa":"^2.7.0","immer":"^7.0.8","redux":"^4.0.0","nanoid":"^3.1.20","svelte":"^3.24.0","flatted":"^0.2.3","p-queue":"^6.6.2","koa-body":"^4.1.0","@koa/cors":"^2.2.1","socket.io":"^2.1.1","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","socket.io-client":"^2.3.0","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^7.16.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^2.2.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.12.10","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","@types/node":"^14.0.24","bundlewatch":"^0.2.5","docsify-cli":"^4.4.2","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","babel-loader":"^8.0.5","node-persist":"^3.0.4","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.1","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.4","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^24.1.3","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.21.5","react-test-renderer":"^16.13.1","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^24.0.0","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^7.1.0","eslint-plugin-prettier":"^3.3.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.0","@types/socket.io-client":"^1.4.33","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^5.11.4","@typescript-eslint/parser":"^4.11.0","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.11.0","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.43.0_1610749566250_0.4436991037542424","host":"s3://npm-registry-packages"}},"0.43.1":{"name":"boardgame.io","version":"0.43.1","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.43.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"6b23a48b760efa18de0b26568652e649192cb8c9","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.43.1.tgz","fileCount":258,"integrity":"sha512-RS9E7CrFiH2DXud/XaH78eVpBwrlm5Wk25pPin2C7/JlsA5lFkAuHYqrZD+IChMe2HqBJu6OXgiT/4fVIqTgUA==","signatures":[{"sig":"MEUCIHtta/ds6E+41ChhD5tZMDRYU0B+eDyyUJw3czMc70tZAiEA0ySAroe0Sn8WatZQ+L4rONHIDFNTeRb3CBNBcDhi71Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2555936,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAiqACRA9TVsSAnZWagAAikIP/Rt2pW9BPD5s7JALO+Cc\nzGRTpLTGbTQnEkWtifyuV7/xnQSVr4JKZW5739cjdP3j5h1yWPoa1rd8dtk7\nGq9bQ/zPY3vbSLtCA2JMjLIwmuTFFpAnGdCgYZDOXMk7cvxgjie8wvTQg6H6\nVPXrEZ643s4Y9JErLcmSg/+/toCbkvA2jxB2FdWbEIVTnTlYJpUAuusthjV3\nwFDeh8neb4f8iN//EnkqD6wseEmO4wb70A+RsWenNtiYiT08G6WPfklpbOqc\nQ3M5jVnxTVTDRo+27q4BFysYVA/uZgrlU0iTxfhJ4ZOQwRWhrgnfjcoEo5DG\nodjtAS2bb1YXtFR9OCzv0wvQUDATV9E9C1yLuzQ2PncQFLLqxHr8ywqJxzwy\n29W/zcRKbV5AWXR6/9LwmkvD+SoYDzPcC8oNBXI3ME35VXm+RhptRQ+trC+s\n68LkbXZqEhnqzsFlujiSW2KVjXzoyHWhwyfNp4KqD7wyQmnobv5NoInDyUFg\nBgYLi4CG9AjgtfQkWnAsgkkNIB/MngFNsxhYmBuC5x7pH5sCUpdIGxxyKk0e\nxbEZyJjBYyHStuQ2HogPhClxghsOornTZGoUc/R3f+stVoXfD4B72zY3jmz5\nGIi6Hy5ZMoDs46Lmvgm3HH6LWryNtfwUsgfIL8oENGe+PtDou8EeDYL8xgMP\nG65b\r\n=EzA7\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"e26e61b093f1e619dccb2961a8fb5ac756031630","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.10","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.20.1","dependencies":{"koa":"^2.7.0","immer":"^7.0.8","redux":"^4.0.0","nanoid":"^3.1.20","svelte":"^3.24.0","flatted":"^0.2.3","p-queue":"^6.6.2","koa-body":"^4.1.0","@koa/cors":"^2.2.1","socket.io":"^2.1.1","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","socket.io-client":"^2.3.0","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^7.16.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^2.2.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.12.10","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","@types/node":"^14.0.24","bundlewatch":"^0.2.5","docsify-cli":"^4.4.2","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","babel-loader":"^8.0.5","node-persist":"^3.0.4","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.1","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.4","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^24.1.3","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.21.5","react-test-renderer":"^16.13.1","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^24.0.0","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^7.1.0","eslint-plugin-prettier":"^3.3.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.0","@types/socket.io-client":"^1.4.33","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^5.11.4","@typescript-eslint/parser":"^4.11.0","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.11.0","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.43.1_1610754687585_0.5583080443115456","host":"s3://npm-registry-packages"}},"0.43.2":{"name":"boardgame.io","version":"0.43.2","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.43.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"941a92611406bfd3ff041b73a145f42f94751a5e","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.43.2.tgz","fileCount":258,"integrity":"sha512-jNZK/80KzdO3BlEICaIaS6k0MteaMLmRrQa7LRufxAWWTdMDOczzBnwjfkf16pYOCPxsUCkAcGPnYoy7WhUg2Q==","signatures":[{"sig":"MEUCIQCT+ZFJDFc/2BxGI/PdWLffTD/YrNSvF2lEqoFbU5ME1QIgDkjDeuD7phgh8SbUksnmyogdk4gAYZRd/cNhcXucXJg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2566784,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCNy4CRA9TVsSAnZWagAA4gcP/0ebXzMKnL/DZInSveRf\nc9kqpwawfKIPurv4FqQqDpHufMmeycNWy7VSP4oylW2+/Czwy6uPcbgA39I8\nc+fgHL7FSCaYahubK/gWGEVdZGptboN6QrgdSCL601t63KxX5thqZyWLtkNQ\nymNXtCY0Byqv6w//eyElqhaRusg2fczs5OvrUmvHPMRIOa6ttGdyioYeP7GL\n6JhPBQTvodmEj4d6CiOysaDyhwDx/mmF3pz/vtBJ0E9LQFEGh/KA+jGN8ioh\nN8RxquD1LWlpuJqblY0G71HFFEfHQkpxLp4ymvLWYFYCKu7ab/x/Ckouf6Le\n3J+EcgVog/EHDQR56dyWK6g5rjCcDEEJDjfLAg59owiIwK0f2pLPxWrRe5KU\nL6MfDpjMLIyM2A8pZIqf1LOD8mpc4njQeRgyPD6HXai5os2XcU6fzMrtjPin\nAMw0W/LWowGeydk02e2U8PeSJXHQC/3bIY3H1cePgb0JJ7xL8JwBf+1hhf5W\n4wf7xT5QSA7bK08UXa80zoeWj463b/RATdnCmdbusUKSqwPuH/1p+ZVzdo/k\nl2An73SHEpxnwIKbt99ZThsitKxKyo5HjO/mGxazor1cQETgWoOhx/5eyK7D\nGKzu8CZsMQn1Xy7Lafw/Pg25qc0j8ANND3c0KzDknBI/oHtfKrgjo17nwu3z\naKVD\r\n=MpkX\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"5f523a2927911b30d702c88c27f38c7da86d75a9","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.8","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.20.0","dependencies":{"koa":"^2.7.0","immer":"^7.0.8","redux":"^4.0.0","nanoid":"^3.1.20","svelte":"^3.24.0","flatted":"^0.2.3","p-queue":"^6.6.2","koa-body":"^4.1.0","@koa/cors":"^2.2.1","socket.io":"^2.1.1","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","socket.io-client":"^2.3.0","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^7.16.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^2.2.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.12.10","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","@types/node":"^14.0.24","bundlewatch":"^0.2.5","docsify-cli":"^4.4.2","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","babel-loader":"^8.0.5","node-persist":"^3.0.4","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.1","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.4","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^24.1.3","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.21.5","react-test-renderer":"^16.13.1","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^24.0.0","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^7.1.0","eslint-plugin-prettier":"^3.3.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.0","@types/socket.io-client":"^1.4.33","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^5.11.4","@typescript-eslint/parser":"^4.11.0","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.11.0","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.43.2_1611193527515_0.9616163462610798","host":"s3://npm-registry-packages"}},"0.43.3":{"name":"boardgame.io","version":"0.43.3","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.43.3","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"3b6220488b8815f3930f368f0e998e7d5ed16699","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.43.3.tgz","fileCount":262,"integrity":"sha512-rl94D5r1bz8zpMT+YIrNZ35IW/7OcJmv+rjUobKj8i27FjCPITc/utdthFyLm0UD9lZdemHKRFaOS4DKNdhUlQ==","signatures":[{"sig":"MEUCIQCfQlrvTkpTmnwQLXVMq5T2xx5bOtNxLA6KzQrQ3ibhOgIgRO/IuBfFXZKl2nuajBM3aiyOzZqW3u0VoW5C5S8vQ14=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2582219,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNlyFCRA9TVsSAnZWagAAqIIP/A6a/6uZpKAGQzXZtRGn\nODVjuxLnRObWLG9nmHyUsDkjfNCzTKyKDI+kHkRdDDasGfawNmeSpMHRei7j\ns5Y9aAu/5RsOrVQv2Zk7BgKm3QMAvidrLY5u8Qsclnc6vyVGMMnXC55IknRG\nqsRrAoFfoBQNXnUbMcha58nqRHtjqz6vy7tKLdvOjxergCt05rYw1otpHm0L\nNQv8OIVhxlqgUKG1mgQKKqhulE0h3hhH/99Hsrys1sBDkIfDmMjFsSKTU3ij\nNz0OZqlsouGxKaLnX1Gx+ND0UjlpU1QcWUjtbyZ70T9yvpx1c4yiQvenW3bf\n0mSZ89vCVY+OuECq+Dg4QsDspPu8Kjh/mIx9umasSld2T3mkeL3oMrfwYGRP\ns3TUy+sGENtsLCGJQKYyaO9VBOW4F+gYncaijefYwdwSqRt6Hzc5qdv8C/VA\ndmOxQOBC8ojsf8zp85Y7HcxjM2Zi5oRAr3F/D1bDuhrfv0sjsA2EDx0vMswu\nml7V6li/RwE7oxgtkQIw6PXU0W1UMBfVO4vkSmFOrrHZPSpnFs4O66NBxm9F\no2RFovpIRa5/9k2TUZnUx1uKD8PEB+ZbujoIGhbFO+TwIjF5AyOrx1snEkGj\npA8d8Cd9xbUPE9sqjUQRaCsNGcGNtJ0NJAK9gjKdj42fAnGqfrRGSSYleTbN\nY7kT\r\n=hq1L\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"ef4b1766282b1ec1324ce5cf74a1ea9cd96a0172","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.11","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.20.2","dependencies":{"koa":"^2.7.0","immer":"^8.0.1","redux":"^4.0.0","nanoid":"^3.1.20","svelte":"^3.24.0","flatted":"^0.2.3","p-queue":"^6.6.2","koa-body":"^4.1.0","@koa/cors":"^2.2.1","socket.io":"^2.4.1","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","socket.io-client":"^2.3.0","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^7.16.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^2.2.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.12.10","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.2","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","babel-loader":"^8.0.5","node-persist":"^3.0.4","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.1","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.4","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^24.1.3","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.21.5","react-test-renderer":"^16.13.1","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^24.0.0","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^7.1.0","eslint-plugin-prettier":"^3.3.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.0","@types/socket.io-client":"^1.4.33","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^5.11.4","@typescript-eslint/parser":"^4.11.0","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.11.0","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.43.3_1614175364887_0.06300805565745704","host":"s3://npm-registry-packages"}},"0.44.0":{"name":"boardgame.io","version":"0.44.0","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.44.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"d070241c9e67b8b075e5bc92b1f4eefff50102a0","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.44.0.tgz","fileCount":262,"integrity":"sha512-LSISULsMKv7Upl/TM7JMBUq/ELIQaSwC6DmHI5YTXb6u9HpuHkxPRfi/NH5VbSbgGhqba36iBv2tMZhPXVK2Vw==","signatures":[{"sig":"MEUCICWKNwuM204HCnpNRaEwnjSdZL+lITHjmsfUaSmaPWZUAiEA1R8p9/j/J6Z+z3EX4FGOkEGuqm/4Ua4u3Mxs2mD0uO8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2618591,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbbWwCRA9TVsSAnZWagAAHnsP/31PXTZwhlLepUGwLSym\nV7F0O2gd3PdUYMi9D+TUY6rrjDKIM8GOf7zYkaCeQzMH/0I0Eh5IgP+FHUD3\ngfJIVyDCqGevoM+WPv47qYztiK7qL5Lbf+QjdpAwUJEo4uZhpgjQ5gumcQuW\nFdIt+x+iA9gyMA84Ks1JoonPra0rt+I1pYycT95OYlaNDF2ping+bcSSIf4O\nkZGpqw9YPt9MPZ926p5c6wbKwhUzEQ+g853vO96eUFdeEEOzdIPZ47lusEVW\nDIwyqGzP7U3GQwUbYcwtDjhPZEnL0pufqybhsEtMn6aO+c7kkLOsRBsGkRAv\n7HMjCU0Iz21kNOHSfSkhCHYYJ1e13Z9r2C5cTavBipAVyuidEm2eiHSU7zyI\naPmA1odnLH72iJHkTyGp4siVKhFZPNDAor5FdIVtIDWuysXtKHFRykESIN8P\n/Vsg12S+dA2besQ9xomxNqvDsN8iiwpMCUOTFY0H1tOtIVIdV4fpeXV3x6i+\nyQ32LYiYBQOoaks8ym+OWQmj3JKLFPb+wSekX1edNBOTxfpygXiLhgAKZCHS\n5gIwi3ZNG0oBGAM4BVGGIhtDaXhUgsz8KkZYBYFmnTG6kj1jXTXvzmcocBC2\niosi5xvDlFJqf4TYur5oHTrFyllvrWG6ns/hHGbeMY2CXtg/g5N1fr+IK5Ml\nXMWa\r\n=mLc/\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"56d568bcbc1e65eed1c828c325a2cdb740c830b1","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.11","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.0","dependencies":{"koa":"^2.7.0","immer":"^8.0.1","redux":"^4.0.0","nanoid":"^3.1.20","svelte":"^3.24.0","flatted":"^0.2.3","p-queue":"^6.6.2","rfc6902":"^4.0.1","koa-body":"^4.1.0","@koa/cors":"^2.2.1","socket.io":"^2.4.1","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","socket.io-client":"^2.3.0","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^7.16.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^2.2.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.12.10","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.2","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","babel-loader":"^8.0.5","node-persist":"^3.0.4","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.1","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.4","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^24.1.3","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.21.5","react-test-renderer":"^16.13.1","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^24.0.0","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^7.1.0","eslint-plugin-prettier":"^3.3.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.0","@types/socket.io-client":"^1.4.33","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^5.11.4","@typescript-eslint/parser":"^4.11.0","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.11.0","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.44.0_1617802671999_0.626720672272463","host":"s3://npm-registry-packages"}},"0.44.1":{"name":"boardgame.io","version":"0.44.1","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.44.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"f6a41547a931a91727bfe185c5696219a0030167","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.44.1.tgz","fileCount":262,"integrity":"sha512-ye1ro8b68RJr9EwqU5gBJn15VUTG1h6JUF/EjkgVsg2Ywfo5G+vOnnhzKzCORKVIBReSfF1yZtFceibsx7iV6w==","signatures":[{"sig":"MEUCIHVYlNM8FJT6x+ACBr/dceBSsLWZbJCD3yKttzbrFdYWAiEA1CEwVCe5NnAKfdzb35ysUaBoL/1HGj0qWgJeR+/rBsc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2619407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeJpUCRA9TVsSAnZWagAAilYP/jjtKGaTI0aBwAe3bbEu\nmwf8yUFlRfXfb39wgCBXKhRyKqj10SIoaS1mMogdpk8dyNdcpqyL/YCc4xEM\nAWYTU5XKw9BOBnxKl6LcvY1vMyC+iJwhg2H9G1SeAemr3IISQdkaIQ9KMTNT\nK3pPhiUqVkAvRO0IJajMDHVpsWxVq/tJddmEAR00MQf0mr0RRItrYhJyJJZ2\nvV5lkb2ykijQjUXhel4/l1yTtrjTX5QrnffDRatA2PL3LM5SoHg/D3UjMhkI\ntUAJL0/c/DKpVquI6b5jh/mxJTjYQ0t9VebEduOsFulDTROAcKRILmq6ceys\nkQTX6mId4TdxWymgYyz0jOauwnm7mLu+NYuHkWKzRqLdYlEWXPnr5OQQWRqA\nj1vpfaQF8i7/HDqfIPYp954HX6+Ht2moonHATN9ZY4VNwol7BaXWn88j5iEN\nAa5cDpRVcXPzVbTjy/MRqJJF+2vhwsB9Oa5qFF9ZhiUgVnSgXXaP9CyRYC6e\n4UjExWxjobnZins0gnDrNkPe1CNzwlCvv1lnVWDROaGVKRjrLRaJ/w1u3jLX\nN+xlPweDxOSgS9ehl0KJGB8r9S1PQLT3tdSPtUUJq+CRbjlYdQcG/luOvCyY\n+ZCgbDGjEtbjJjlMIixB3mUL7j2LCqnN8fkf2uKqP6i8MNgKTjdD0zXckveE\n/Uul\r\n=rNJl\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"d2675df970ada6525bfaef42837ea7d4b6f415aa","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.12","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"koa":"^2.7.0","immer":"^8.0.1","redux":"^4.0.0","nanoid":"^3.1.20","svelte":"^3.24.0","flatted":"^0.2.3","p-queue":"^6.6.2","rfc6902":"^4.0.1","koa-body":"^4.1.0","@koa/cors":"^2.2.1","socket.io":"^2.4.1","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","socket.io-client":"^2.3.0","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^7.16.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^2.2.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.12.10","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.2","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","babel-loader":"^8.0.5","node-persist":"^3.0.4","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.1","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.4","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^24.1.3","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.21.5","react-test-renderer":"^16.13.1","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^24.0.0","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^7.1.0","eslint-plugin-prettier":"^3.3.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.0","@types/socket.io-client":"^1.4.33","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^5.11.4","@typescript-eslint/parser":"^4.11.0","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.11.0","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.44.1_1618516564087_0.04515294157058558","host":"s3://npm-registry-packages"}},"0.44.2":{"name":"boardgame.io","version":"0.44.2","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.44.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"0fa6824e4fe6851640202e631e31229f435614a7","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.44.2.tgz","fileCount":262,"integrity":"sha512-V2Zbl7KhH1Xje+T+U6BIIyqhyMIYR9A+gthuU1dT8vZorvYnb4rAGeJFQWW4lgG6oSbx9IU9pXf1/vIa9aCvHA==","signatures":[{"sig":"MEQCIDxpKyTJy2+kyXxiWYccY5F18ggE1s86wVgH5cRsFZb/AiBijd/4cZCY3S3Rm+97UgIUiCCxQzHdsQJMCGTQGe5pFg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2621115,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgic7nCRA9TVsSAnZWagAAoMIP/1TymgTDIUeKUvMHM2ri\n4z0aN/NvnO9802aEwYpivslxrSXvmAoOarAoorhkKrFNd5swYz2LOjFNhdrC\nxjH4nFoD+LoRmLY5Jxlb7OAZ8CkSTbkxrC99jOOIphrpNXjJlQOgSbybziG7\nil6ZPPQoAw8w4AZWCEW2jPsWvAnEZ+KmoUY3x62uw4ukS6XEJz+dYNcAF7Dh\nQ1M2Hv5j+LpaQ95CM6N3Ml7wTGZrJClIsiRqJ5NckWUNeA3uRr35QmUQBXh0\nzFj8qO7Y/w7gan3GnaMqP6BH2hKQimLjukQ8SANBV7vdiTvDC2X3zyJiy5Sb\n+xUlLhkOG+HQtmPEaVS5xFZJ+gbylI3JWh/Ktlta5eTDflyNxXZJbE2+XFQY\nfWieHHOo9brP8oS1Sz9nfJB/d80huCgnuMPSHLOW0FPsIKlFvWSyUIfbmQEW\nMJJ8csAIEM19+PGcOBNtGK86XbhZ+Jlp8SMvAXHJA2FmnAHs9ZiAHW3mY0Oo\nbcUqjm9xNH1LEeHdrwmd4XmY0bNfvZJtZ5TJyl5bSeBHhb/4Vwa/Ax8R8g0X\nF7go5SmOjp8FsRdCdQ16L5ah3Nuli1Fy9WrY8F/nGO/zXyta81BY1fckCnxZ\nOj8BOKytJc2Tm7KtAqTKe9FSXGwphG25jIf2kFlQpaHU+dYLMGlESFu0VAmZ\nrRfq\r\n=eIJJ\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"2be3a6a57aaac82b98fe26eb055cc82149546763","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.12","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"koa":"^2.7.0","immer":"^8.0.1","redux":"^4.0.0","nanoid":"^3.1.20","svelte":"^3.24.0","flatted":"^0.2.3","p-queue":"^6.6.2","rfc6902":"^4.0.1","koa-body":"^4.1.0","@koa/cors":"^2.2.1","socket.io":"^2.4.1","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","socket.io-client":"^2.3.0","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^7.16.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^2.2.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.12.10","babel-core":"^7.0.0-bridge.0","css-loader":"^3.1.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.2","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","babel-loader":"^8.0.5","node-persist":"^3.0.4","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.1","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.4","react-svg-loader":"^3.0.3","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^24.1.3","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.21.5","react-test-renderer":"^16.13.1","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^24.0.0","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^7.1.0","eslint-plugin-prettier":"^3.3.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.0","@types/socket.io-client":"^1.4.33","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^5.11.4","@typescript-eslint/parser":"^4.11.0","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.11.0","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.44.2_1619644134701_0.8963773395864199","host":"s3://npm-registry-packages"}},"0.44.3":{"name":"boardgame.io","version":"0.44.3","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.44.3","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"ce26d1e826b5e2bec7205c3f280c832c8537c247","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.44.3.tgz","fileCount":262,"integrity":"sha512-YI2Mq0HoOqqSt85/Krlq0TNH2kGB/sEF0WJOQ7URJbzhTNclLyBGNW6HplU/32tQ+Fj1AORHjTpP9fmTjxgPZA==","signatures":[{"sig":"MEYCIQCXi5dl2J04bTBPV7mkRmrjwCpXsdlTB3MBZy1drocHTgIhAOUjgFvjqdhV2KpjOop1Le939SiXW73kuhWFabjjLOIO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2621023,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgm7HZCRA9TVsSAnZWagAAhy0P/jOxJCczGNAnDIc1ABM6\nZZfz2HHs85aXsCI1pP8tgfXtO7g7yV7Jmgy8S3oej+dre0A9QGtWQ7LrOmnE\nj5ku0gnIPlBsqefoZliQmOrYDaN+gC0M5Iy6ZRndqlsxUS/aZeyANtuEB340\nmhePyK+Xy25CoAZ+ywNrzmNJBqYWAuOqdL6cvYy759mwbkjQbX/GhjByhvv9\nUXnTr+S+eeX0Bs70h/POsl4oDfREuRW4LngzU5y9Kzmex6y9fofNJP9GIeLk\nWIWWbk41czdH1Y+aqAHtZMYB6z/138yySUChuKeBgEqrcx1R4fU3erB5+8OG\nMKXWQ9A7p3AVpsuX7RMaiIZQNSyY6pNNDXqXjtxVKZC5qERB0Y5zOxSZOY5S\nDonfA6oBKEBTptZTTMItaY8P5n0IlBWyxNT8lPMWRChPDrmi4ZP+q5icDc0y\nNjeRCVyZl42yOxJ0O8w2Hq7876AB3DwgMYefY+PL9PYy9GenW88lOPflgxqj\nNHshCtGym35Y8PNkhl+7lE/8iBPCBMeDMwjoqW2Bu4Xzy5ltvioiMaX6kQz1\nVydowRcobD59/FxIJ8ut+uJZ16tS+jDrYz4SHr22nI+tl2Yu9Dj+Hdv4URit\nqaPEt+0TrsOh4cIoB6wOFol3kmaA3HnX7ue0vLFlHepzksZDomuJnRH+oyki\nBciF\r\n=qz5G\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"gitHead":"54038c57d36cd39ffcb9acf6863b842fc08a19e2","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.12","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"koa":"^2.7.0","immer":"^8.0.1","redux":"^4.0.0","nanoid":"^3.1.20","svelte":"^3.24.0","flatted":"^0.2.3","p-queue":"^6.6.2","rfc6902":"^4.0.1","koa-body":"^4.1.0","@koa/cors":"^2.2.1","socket.io":"^2.4.1","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","socket.io-client":"^2.4.0","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^7.16.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^2.2.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.12.10","babel-core":"^7.0.0-bridge.0","superagent":"^3.8.3","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.2","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","node-persist":"^3.0.4","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.1","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.4","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^24.1.3","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.21.5","react-test-renderer":"^16.13.1","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^24.0.0","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^7.1.0","eslint-plugin-prettier":"^3.3.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.0","@types/socket.io-client":"^1.4.33","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^5.11.4","@typescript-eslint/parser":"^4.11.0","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.11.0","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.44.3_1620816344881_0.017846317692385538","host":"s3://npm-registry-packages"}},"0.44.4":{"name":"boardgame.io","version":"0.44.4","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.44.4","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"d714aca59fe80693c832c0396981b1796b4b6c90","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.44.4.tgz","fileCount":264,"integrity":"sha512-4335qTdZFXPKSMCLrA+pycwo7xOZ7OIijgsm/HTloLd4i8er1o1/adoZVoBdlIt4QmbA6VbXss2cBj8Oqi9X5g==","signatures":[{"sig":"MEQCIANKrmTQmR3AVPukRAq3uonUl+GMj+5K44IIf5WOOfamAiB6k5oE9WPrgfbWT4Ai2J84e4U/rKZuQcUMgGxLpCp7AQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2668687,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrR+iCRA9TVsSAnZWagAATz0P/2bGaem4SKz/dE7wPakS\nGY1YkFRlBu/7lImZArYK38fBvdKXtRAB8/Tuc//Z9ltgqbw8s4MYUh3DHkr1\niNe+YXeZzVwC1+j1JE8QLQCpl3VZyQtgwSjzWbF8W0YsBZKG1NKDiYTT5n5o\nZV+n7K/NQwVP8onlecHGMn2IunpcUEZXdX8cW0uscatz19IojoZS7ouBcttd\ninMIf8D6khswOVkQUwGZRDg2tyKn4AEEzOtpt1qUkcATwa2poXPnIKR13VBR\n8pNZpz83zobvTm2jxCHpCkdeK1f4ohjDum5rkGj3dTowr5PMkSyYHhD7Rmj4\nxgNuieGarsUFJFRAeuRYXoOEYEFvPc8LbviTT2h5Dt5NggurAFa1B95t7wfI\nEyCCMiu5rDm7DmjPJM4trY4AoPM73pKle+q6JG7/zMWRitsk5bRQLUkzOqO1\nVMv7FuoJgsPNwpXpVkJ/D80jaqp82apWRS2hC/Xk4XLAhWX2YMpu5WhWTdnZ\nT4K4v300fpBXBrA6YnSYbJRhwCAv1XHBtl2t6xI3DMWSDhColybBj9dhHt8t\ne4obto2IOkxRcepd8U3agT5jw+9KrAgjtcKkaYAZVy6YBGb7A2Q1euMkIgnz\nyJ/lyM7r/vLjSsDBxfoEdgpIU+zJ2SAwyGy069NG/W5JyhRSghEMvkyHjzT6\nVzuE\r\n=LSgn\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"0bcfc2e6058345588cb1f9077b8fdf16d2f8b9f5","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.12","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"koa":"^2.7.0","immer":"^8.0.1","redux":"^4.0.0","nanoid":"^3.1.20","svelte":"^3.24.0","flatted":"^0.2.3","p-queue":"^6.6.2","rfc6902":"^4.0.1","koa-body":"^4.1.0","@koa/cors":"^2.2.1","socket.io":"^2.4.1","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^1.0.17","react-cookies":"^0.1.0","socket.io-client":"^2.4.0","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^7.16.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^2.2.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.12.10","babel-core":"^7.0.0-bridge.0","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","node-persist":"^3.0.4","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.1","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.4","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^24.1.3","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.21.5","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^24.0.0","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^7.1.0","eslint-plugin-prettier":"^3.3.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.0","@types/socket.io-client":"^1.4.33","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^5.11.4","@typescript-eslint/parser":"^4.11.0","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.11.0","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.44.4_1621958562094_0.4854299752422224","host":"s3://npm-registry-packages"}},"0.45.0":{"name":"boardgame.io","version":"0.45.0","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.45.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"aa7af6c2b9a789e5638fa1245fc539b0f04637e3","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.45.0.tgz","fileCount":268,"integrity":"sha512-nUbbWumHYZw82v2LtwbK2fBXCNMVVY+HB9YmJJzW0cfcn2RvUdrepe1MHAAaLUiKbFNNehDfcqOvlp9uNSaCjg==","signatures":[{"sig":"MEUCIGx65mikR2bWuERMrSlSRIii3SMINZ3AH9bVFPVrDQ9kAiEAkaxtiRyWwltgcxvophvk9tPtX38Qk3Zr4zZcKn24hTI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2674880,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg50G4CRA9TVsSAnZWagAA3DgP/jvSF9bWEa5pBnhjo/I/\nDpZw0yO9AT4rU0Gh1GZ4kcDp37ACORpm7Cawy8s34sEekVICizGC2IfWAeVG\nhukcYaHRpCra/Lv2LJEFXMWqPOUjeLypoVG/STg44q68MfRb8sxLGiaBG7Bc\n7+9VFbQoSctDp9hRYD816Q3YmQfOsaf9hW+KD+tPdz7P3AWhXJ0BA9dLdW7/\negP4TjWTE6JyndL8Ifp4BPuNDefJyCpK3VPFsDRNUYgFBLfHO5m+9NKQ+qUd\ndAZ29jZRTej2b6Pmf+oZUhMihTMmpnBvLRJbk2GKOZu1jg+BVp/ilJtgH6tY\n1d4jNbtiDfhwfuIwi0E05GgiHexHsbbTlSS6OWajmIsOCBiVJr7XMGXzJulo\nOB6jB1vYwjF5Y1/Av7QfJ1PFPhSQyy06tXp0H/yV/rPw7iROywgGu2+k7AmG\nTHyr6Gw5DA/a1ccqYBwyVFkwe+lOkMkb3FRnoo6IVrZvfIPEcUFHAUj1SO87\n3dPda68z0KHcOyEvYPFhpoIOwso7txX14clqzpIzj2046U2YXvAxrmoAUPdO\nwxecSaTRdnNMR9kNmZxCGE3hS9Vuegno9gQgqzKkg6UIpx9qX9/idA52EPPb\nP+Cl9wreV7iEt7ZsW+0tlewDRXgTaKTFevJK6wz0IU6qSrRyi9bw7QlEZvX7\njOUE\r\n=YqAq\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"19afda9745e6cfa9bf41895bd25b6b69e3a2063d","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.12","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"koa":"^2.7.0","immer":"^8.0.1","redux":"^4.0.0","nanoid":"^3.1.20","svelte":"^3.24.0","flatted":"^0.2.3","p-queue":"^6.6.2","rfc6902":"^4.0.1","koa-body":"^4.1.0","@koa/cors":"^2.2.1","socket.io":"^4.1.2","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","react-cookies":"^0.1.0","socket.io-client":"^4.1.2","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^7.16.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^2.2.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.12.10","babel-core":"^7.0.0-bridge.0","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","node-persist":"^3.0.4","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.1","@types/react-dom":"^16.9.8","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^24.1.3","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.21.5","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^24.0.0","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^7.1.0","eslint-plugin-prettier":"^3.3.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^5.11.4","@typescript-eslint/parser":"^4.11.0","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.11.0","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.45.0_1625768375468_0.9751324645983563","host":"s3://npm-registry-packages"}},"0.45.1":{"name":"boardgame.io","version":"0.45.1","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.45.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"2fd387702d2cedfc275656e035d3cc39f4ffaf9f","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.45.1.tgz","fileCount":268,"integrity":"sha512-Ibkx4YWmnQIm2htiXJWv8l0kEw4voRzzGIcuqL7NJI6gEgFBesrJTz9UWKODIFuQcqdc+ks0EPF7oJeFsaYcQQ==","signatures":[{"sig":"MEQCICqSG/aNiJtsJ+OkhShkcSdwnl6a0FipBg4gNHl0LvHSAiAJaxKBayx3sOa+HAyo+PFEj2bPesAagRFSo76b1YKwqg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2680152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7dnICRA9TVsSAnZWagAARN8P/Al4qZsWrkCIuEWY/iQt\nMJ4gJFuxbrZu3hpssR3Q7HS4pYfKki7uapTrEAAGLuAAYWoEExvYx25bgDIQ\nd+XDW0FGiKir7hEfflxHQBbTAsYjZhpYughGYACl0kcF5dXplHFNMP8cpTQh\nlzxE541qAU/rXOhAPN51ZY2DhRm783BC3TWhGB8Fhwc9f6rll0e1eVO47w9M\n8GJ4sSIqGXGXB7lzHjh6bt8Gd4SziczyaQpPv+vikExHqqUQ3uWdcgc2KXoQ\nOM/VQNQjVkLlYzrhAHstQ+dJ9kyn8h5PHWYq8lu4BoFOhv1ZC7uWHwMhXLNu\nC1CzcTb9Ko6rpB8Ht5abE+oWIiTDRmXNCdWcRKQ/LIhC1ulOKvdxylwKFOtC\n4zjYhzFCPyaUEcJoOuW3fO8tdcQsft9s9WsN7gqulzwdNNIkhmWzygs4Uezn\nOzxC1HDRLyR3NNmnFwNWowHbOudEJyG6E0FaJkzWWZmYlplj0ODQeDFBOiiR\n0qwUMgvb8VEJFO7oIBQiMUGXe7B3EIuZGKBuJ1oteGseTDK1eFldohwUa1kW\nQL4BwpeZmuRWqjplZmyqjdigesqZG4fb+SPnmefCwSAefON5c4+7IlmUNc2W\nkdggG4TXfEQVY+7/dlG07bY+ut+0R7DM87600mUni9/ZCOMeZ4rQhNTiULqu\npBj/\r\n=MBzG\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"aa59ae40f646e2b1cb62a9fdd6d494d8a2fc7f76","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.12","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"koa":"^2.7.0","immer":"^8.0.1","redux":"^4.0.0","nanoid":"^3.1.20","svelte":"^3.24.0","flatted":"^0.2.3","p-queue":"^6.6.2","rfc6902":"^4.0.1","koa-body":"^4.1.0","@koa/cors":"^3.1.0","socket.io":"^4.1.2","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","react-cookies":"^0.1.0","socket.io-client":"^4.1.2","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^7.16.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^2.2.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.12.10","babel-core":"^7.0.0-bridge.0","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","node-persist":"^3.0.4","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.8","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^24.1.3","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.21.5","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^24.0.0","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^7.1.0","eslint-plugin-prettier":"^3.3.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^5.11.4","@typescript-eslint/parser":"^4.11.0","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.11.0","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.45.1_1626200519652_0.2759141189464316","host":"s3://npm-registry-packages"}},"0.45.2":{"name":"boardgame.io","version":"0.45.2","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.45.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"aede1e5574680ca40c5f1ed5c523d81566b03253","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.45.2.tgz","fileCount":268,"integrity":"sha512-jyCRR5OXYSlGjUezycIQe1b5qSChTeVVg4nlITW/jsdtx5weHcpK9dDLZu4dPEzSeWthxj1jf7+389fk/xDJ6Q==","signatures":[{"sig":"MEUCIQCT/kXEGTPaNy6+d3C3eiyq1d8bMGYSClVUX8VRBKfl8QIgb4FqyhsTpBNHgpbZqbgZgrhwOYhrKm1LOVTfA1cgACg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2682306,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9UzPCRA9TVsSAnZWagAASQ8P/0QtsPGs3YVMe+iqW5jn\n7Ag+BUxaq9jP+hR0mDhIWJKixNYKWwUaYEEBmx+6Uh3bvOfUYEetGfFTTwO0\n5IH3PSmGKWxd2zf1lY3/WkJz4lPP9qZMHVD5wmjBbVpKJdsrckEkAzTss6Zb\nNM3o3j9Up5zROZOK9qTVbBstOB1J74SQoAgeRU4JKU7MxMeU+Z7ZnoiPbN3B\n6OYeIUkF1XMTYOXzDrMcu3xCdRDMbuCGIYzFXc7c2sGTw2dMkKLZ2BI6jKXi\ny0CMdRtD6bF6m+yILxwjdi1ZDm9hdkzQrW53nfjiqWgJ6rdraqGq15kqGFfb\nZ7oDwygIIOZEkIgLyc0/Ql5002RJfKqrRriOgHz/ZRaHxtw8hIT//xLcOFUG\nSP5WAqYH0W2IJ9DbQrKucNnHq4Fqh0q6MzKJZpINp/opBE0IZx/Ke9zOL78I\nFXXhU7hDmPxStH7S+UjDKIp/qNBaEUnwudwaHv8YCbp4D7btQOeGjQx957EO\nauFXZkQTeZhIorLd7iilbJ7ZHrhjP5fUlQVtCEhVvi0JL58nRdqJ6qxTUmz3\n7qcbu9kb/fnsDOQ5XO6B7oNgi/p9/Uo4XX/ZbAeL1i3bUpBBq0xghLnqr2u8\nXiJPo4BHCOcEiPw5dTdmiW3TtM1hDM+WYj2+Bbp32Xb2y54Cmq+bgT3+pnmO\n0XIb\r\n=sbht\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"b9cd7287778f564e09161a7df3c449066f126e81","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.13","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.3","dependencies":{"koa":"^2.7.0","immer":"^8.0.1","redux":"^4.0.0","nanoid":"^3.1.20","svelte":"^3.24.0","flatted":"^0.2.3","p-queue":"^6.6.2","rfc6902":"^4.0.1","koa-body":"^4.1.0","@koa/cors":"^3.1.0","socket.io":"^4.1.2","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","react-cookies":"^0.1.0","socket.io-client":"^4.1.2","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.0","jest":"^24.0.0","husky":"^1.3.1","react":"^16.7.0","tempy":"^0.5.0","enzyme":"^3.10.0","eslint":"^7.16.0","rollup":"^1.0.2","nodemon":"^1.18.9","shelljs":"^0.7.8","ts-jest":"^24.0.2","prettier":"^2.2.1","benchmark":"^2.1.4","coveralls":"^3.0.0","cross-env":"^5.1.1","react-dom":"^16.7.0","supertest":"^3.1.0","@babel/cli":"^7.12.10","babel-core":"^7.0.0-bridge.0","typescript":"^3.8.2","@babel/core":"^7.10.3","@babel/node":"^7.10.3","@types/jest":"^24.0.0","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^8.1.0","npm-run-all":"^4.1.5","ttypescript":"^1.5.7","@types/react":"^16.9.36","node-persist":"^3.0.4","svelte-icons":"^1.1.0","@types/enzyme":"^3.10.5","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.8","@babel/preset-env":"^7.10.3","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^24.1.3","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.10.1","eslint-plugin-react":"^7.21.5","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^5.1.0","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^24.0.0","jest-transform-svelte":"^2.1.0","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^7.1.0","eslint-plugin-prettier":"^3.3.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.0","enzyme-adapter-react-16":"^1.14.0","@babel/preset-typescript":"^7.10.1","@testing-library/jest-dom":"^5.11.4","@typescript-eslint/parser":"^4.11.0","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^3.0.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.11.0","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-transform-modules-commonjs":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.45.2_1626688719342_0.25950446038897534","host":"s3://npm-registry-packages"}},"0.46.0":{"name":"boardgame.io","version":"0.46.0","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.46.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"2714165073611451954d4d778150e8a15843d31e","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.46.0.tgz","fileCount":272,"integrity":"sha512-2HkrRNafHzruoeq5YvqW+U0QIf8QAwdLocGl82j05WMEhdUXb4AtC6EByPzNJ3AxSC7mWTZK8ZWVnU7Mf0cu6g==","signatures":[{"sig":"MEQCIHFVbN5bHGqN0Qh3ZGSYtCSsPdPnzXWD7IL+2Fy5kuQAAiArBYxMUgjDIA6i/Hsi2ToLRMNaPqXo6BLgsZgROiZTsQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2725246,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCDEaCRA9TVsSAnZWagAA3hAQAJeweOaqnLtOTqC3+wJo\nne4c3+VuHplabZtrNSuMtkj+/1QhPI+T8FWpCefJdmm6BR1h7vAmiVjPCNqS\nMVOJwIYUmTasKvkp8zARB3NGopyjYPM0ZoDACLDvyas2h2EKGZ+qzFgh1Zzh\nmHQShLX2nAEsFiMm7skvdqO4qBt3Skyc3/1bF9fT3lFKpZq4zhQIhC63j8Ih\nNud9dmp9X2UBiluLF9fFwKrdsFEgUjkJa77iLQWEc21x/7ivxB1KO4YhsyTL\nd27AUEGJq41uPAlmvkrc+5Yfn3DJq86WbdbzvSZ+AYihnnRQNLeZ7j/VKWGC\naA9BlysXndk5QjTZR1NgTd87oAYWUYujKHC6nNkKdm6aricnkLXjIQhqXHo/\nhPThlCIH50Y81xYMR8Q2gyp1SuwaOCP+UKRb1ovPzVNKobZjdqIGZZu3x8N+\nsXLaSK1J7iPErh9Q4AzCO8RGyQaEA78Vt9Bnp1Y+7eGhsW06iUzNoLfDACi5\n8QQpVATpppDG6Sqp0rNQCX3GY/pIuV+cqWIkR2vlj4hwkT06IP0Rc1dhlx+o\ns+v0vkQrc0Dmx4jsty2Ll9vmAcsuGQ3iU0ZVrj4w0K1wcHasLQp6f8fEX7Ht\nZwt4vNgroWV+ryDLDW9kPS1CueMgoCx9JurySAxZMaZlldKgOwr2LbzSNrpR\nWUIc\r\n=HUeB\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"0c2f605be2bbe6c07da958dfa7ce89e951bffb1a","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.13","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.3","dependencies":{"koa":"^2.7.0","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.23","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.1.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^24.0.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^24.3.0","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^24.9.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@babel/preset-env":"^7.14.8","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.28.5","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.28.5","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.46.0_1627926810528_0.13073928600015705","host":"s3://npm-registry-packages"}},"0.46.1":{"name":"boardgame.io","version":"0.46.1","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.46.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"5a7b8d8d3ced18bc218c7fbda9a92b680597bbf4","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.46.1.tgz","fileCount":272,"integrity":"sha512-xoKI1wOrtBWif36bNerfNh8QTShdsCnWC/u/1x18MqKDisyTSRxu1HLlFSlLzi/9SPUWVL+uZRMfsJrKwapQzg==","signatures":[{"sig":"MEUCIQC5ruksdPU3GZ7Yel29Oln8TZJ0k6w4IT92+ZKrEVK+ZQIgVzL6lomkIvKgfqURtzJjxQpbKV3sGjAwqMdS/Yv4UTs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2727058,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCHcSCRA9TVsSAnZWagAAlmYP/i22kR0DGGJiv+wJTtDu\ngFvJzCkPIqpH77kdAIZ0HmVe8tcHA6gxZvX6ue54JJGpvmVnOILCByfVQms9\nSzdvPRl1VizeY5UdQZGF1UKn7Ezg1agtWq38yTPhM9nN4FM8ZxFYYdyfirHE\nNOShPvOtGmiYWVEy8+K/ySUjsDjvh/+6BCwyPGvqw/QFCZY4FM8uJf5UC8n5\nak5zHQaEiKgMQ+GyoqTmAnOGGSDtkog+KrNVAagp1Lw5JbmBgdBNFcGCxDKh\n8aAMg36Ees526wvHDNWcWDuO2qYIEWO/kGRUlV93EWyGO/5Rpojg6BD2rZgw\nQl/wrskpiZCOxGdkXXOK4VkW9pF6mo3H8s02/VID1A4U84COd/zec2OEsRVb\nnecmO3+uLwnKI9iGGsEIO0q5a/EOK1YABtDLWddNw6AZpXBJE1tTFxcjTxK4\nljwqm1rVKP3KhGHGF+54dOVaC/zpWNviHT8wc8aKCEEk7BgLXqUtvMdb9J6L\nAl7LpUzx6APeubMI/9cSMa1FfaqsYKZTUiLMGpxmQI6Yp9h2UJScfR6EM0sS\n4GMUGXq09/lz73GPBvGrnFCq2CWAZDKL0aBz6rockRy1bzNTKBotj++I18ZG\nUAAeTXXtB4TxBraMVQ9wj8uZvlEyR1Yf7ypwnN5/zO8YBILAl5Wctx3skxmR\nsvm8\r\n=wySx\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"fbf131939126603563c3c98ed1c0a7258be4ebdc","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.13","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.3","dependencies":{"koa":"^2.7.0","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.23","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.1.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^24.0.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^24.3.0","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^24.9.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@babel/preset-env":"^7.14.8","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.28.5","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.28.5","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.46.1_1627944722205_0.46863249996132317","host":"s3://npm-registry-packages"}},"0.46.2":{"name":"boardgame.io","version":"0.46.2","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.46.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"d94d6a19272222895da4c8080d4e93ad1e18ebe7","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.46.2.tgz","fileCount":272,"integrity":"sha512-hJD/ESAKZv3p9i4+7y70NtjAlGZAi7llbKXDogqm8hwjJqbLUsTGLjNnKiwCjCTGIZyBXAA17k9R0M7GZ51ZLA==","signatures":[{"sig":"MEYCIQDtcGPrdSKiDulRwOF0Ua65f/E+9WPc7noZRm4WiHrJOwIhALdGkP3LcetOlaLYVW+n+r6dKH4D4q9RDNhNHEwdkXl2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2731931,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDjs3CRA9TVsSAnZWagAApiYP/3yo6w/HZc+LGofppj9T\nvbkUDBbSv8YUGSpPs8ewLEyftN5BzhFRJRNIMyfSjr9jlQ2WDCWYdrN5zxwo\ngg9Xs47w41aMt4Azhb0vX7pQTTM/bAUD08XFUPykxLnnAqaTIhELGfVl3w+G\nKDcGjt6R9mvR37xEmKLb7pMdhGQ00NrFQSGJadQuy7vFOAkl4MEftUZCyJPH\nsh8vaeEr4b7WTaUMIhwNEpaI3qmVER+j/jDnRlZ/99L3REvbIHcgQWUxUoX0\nqCbxbLvpxlMA8tnOgA/1Azo0UJSXqVkXVT5py+gjf997e8NsyuJoRI9P2cOh\n1X3tamF915w80HZ/bsxbJfvj5epWNjX0zYXH6TrVnoYCETw9Y595QHAEV0K0\ntqT1Lhbq59CmrPVpfHAkgwh8XwEeYidNMf/f8o3xKfi/ek0kSkQm+K2vcfKE\nbRr+PtY64BTX5xTbZJZRhBhPAUl2ATSPqcmR/V4TfgHmn5CS5TKk2SOU8slo\nYyXKPZRB7LBFBwS2HbzOgA6XC+haiDo3vrE4rQeR5ETFISjwWbbCyibeQJp0\nu2G6HCNiFOaiRiyIBGhnac68itnyB77g4TpJB98K3QZ7rqvNvHyk+2sil9VZ\n7CwHMDdqRZGlNYElQg+Gt4u8+0QSWBVVjcymjj6P0CLQrHJFPOy7g89gyJnm\nclk+\r\n=CLNG\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"de1ad5bab917609d98b726d73c3468094baa4203","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.14","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.4","dependencies":{"koa":"^2.7.0","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.23","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.1.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^24.0.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^24.3.0","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^24.9.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@babel/preset-env":"^7.14.8","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.28.5","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.28.5","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.46.2_1628322615354_0.9296326032068474","host":"s3://npm-registry-packages"}},"0.47.0":{"name":"boardgame.io","version":"0.47.0","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.47.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"919af70b10de365017905284c32970706e174071","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.47.0.tgz","fileCount":278,"integrity":"sha512-k946o4i42YMY9uVjuU2YRVVCg7GpSnlRzOz3uA3GI6OrJtg5F4XhCqTEXFN/aWScc+YmaSBFsb+fUugj9rsoUA==","signatures":[{"sig":"MEQCIEuJhXV3/H5gkc6QuK/VFpsQBGum8P4M/E2ZG5tfc4DdAiBwtGMZ6/Br8s3+VUZK+2AIC73YBDx2f+gTKjQHWjKBzw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2737053,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhE4BqCRA9TVsSAnZWagAAweAP/RPGbM28tvjcDrFmYi7i\nODDB4Lla0u67mBaR/sg95u05x3zky87AJVCZET0n2vviKoOKULkniSJQPMfr\nMvBiL/GJXBZDdF7OCxsjAmeQ+K5GZb/t3Bggrl8Gbo70oStg5bbqrXzpH25d\nf0NRacjhg6kdYG8hr86vrjHvkanaD7Mf/JkXv0Q/jZiQ1ea+sLBRsj9YKtF6\nNhaIA/ni3/UkRrHK4rtmP+yIj9To2Vvrm8s5ANH56yJGjErWvPX2vlqinG07\nB+tvmmzJvSc0rATCQ5K3ThTUJErFMP1SoLwPiJpwRyyUgfeds8aFqXhxjbKz\nuy1419de/h0XZcHoOm+Uq95xaAHbI7runabx4FCGEtX7JBiaoOuIjPPHNce4\nvIv8L8nt/lZnFJMmTo1c23BoCc6qdXRKEqK6fGfYT+/OB5pwi/JPYHs9A1jc\n4lmTWbF+Esv5uLG7bktwbOXwK40YlAa3LUtN39l/POoILkjCKL+40Qd/RNq8\nOg9fkZHQmXrt8u6OZlgV1336PTndGW3rhGQ23shJ+AWru9GwUKtx0XumhoaU\n1xRDowr7bCkC558u/OMo+kr8dzPCueCqn+GE86r2k9bkr1yD8+MoK/T7C/6l\ntwTaF+r4jxALWEKZG6CRaA2rA9NZ3AQdvhgVO3xuiO23g4r1Ypgz/gWjXprx\nNSzp\r\n=in4c\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"3bc9a243b8c4add6eefe0231b7ee7fe966850d8c","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.14","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.4","dependencies":{"koa":"^2.7.0","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.23","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.1.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^24.0.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^24.3.0","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^24.9.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@babel/preset-env":"^7.14.8","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.28.5","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.28.5","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.47.0_1628668010555_0.5264218108463088","host":"s3://npm-registry-packages"}},"0.47.1":{"name":"boardgame.io","version":"0.47.1","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.47.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"ec32a1109994e40f70a7a5b771bbedfb36148b81","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.47.1.tgz","fileCount":280,"integrity":"sha512-tRYdal2i30D5iMGBm4jIoAUTuAD/kPY/8NWfQb7R7aTbtSTflzXuELSljpQgygquAM+0hTV900FMVK4FMiFP/w==","signatures":[{"sig":"MEYCIQDcIUDszzV5P/S9Z5flzr3LsJa09DrI1BuafxBZbREGGAIhAMmt0HU/w6TJ0CG4shHG5lHHxb2q/8bPh/zUmwtX/l3i","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2769888,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhF6n5CRA9TVsSAnZWagAAej8P/0yqtbWm1ilb926FssYL\nLXjCnPCVOVgSteIPyY62k0hOKioyi/AJ/0Ko6xv5cKIyoBOkH2O8fIshsahc\njPtBiqItgBiFK+VAzV+2xz7SsyU+MkKwdhaZcibNHlndfHP/cud5zQETxhVk\nWdqfLtAYedTOY49S3pgoNB8rX3+tc5LT9WF164hK+7fAPP1tvZ8YBCk2RIVx\nkWAPz1vbf8WPV7P1uTla9HRqfG+1nOYiOuyxtU1pdy4Fx7GBPbPKoGhN3NUI\nH5/Fd/25jT2H5vqtFuWwpNW+Z2tjzWwNRGE7flUgYZBBq96QWh6NJGeIJWqr\nRerggp5VDy/5xL67AZUZ+vlcUSC/h3YGnmFaFkTFx7ds1S4N8KQnQdd4LAyh\n+aR5niksP1cpzon5Vg961xiIPqOCb/snpsN6WKVuOnzisj0BXvtWOxcY28h2\nQUOBcwwOcFgZTP3bwd1zS58KQYkAoJTnymfaMLu+ca1f33sNpL/mLvTrskXo\nnzj9HOvhXIYItUdqN91NXdb9pMwLN5jmugj4x67kQinLmi8zGfWIYsZxSAH/\nGHuCsGQnPEwRhBHF4MVAyvVjxF60/2gzsEHoVOOXsaxiAGniX7A5fOjx7kXB\nLZ9cR19TG55TCWUmIzg/fEid6rL0fwFv+hsCOLY8DR7dfk9ERa6hvcCRFMsd\nSy5y\r\n=f51X\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"e65890cf48a67e3ca5ae2d1acb6a1b619df79119","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.14","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.4","dependencies":{"koa":"^2.7.0","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.23","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.1.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^24.0.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^24.3.0","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^24.9.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@babel/preset-env":"^7.14.8","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.28.5","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.28.5","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.47.1_1628940792986_0.684643147065046","host":"s3://npm-registry-packages"}},"0.47.2":{"name":"boardgame.io","version":"0.47.2","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.47.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"2345e43edfc11d7d508a652eab337adc3d99291f","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.47.2.tgz","fileCount":280,"integrity":"sha512-I6qWoRgZipqwM6njioZz6Fv9WvFrkp65u8wQ6OYCBKbjNrcydaEPU9Seuy5NP8Apdou9X75BkykgjC6JhiwmYQ==","signatures":[{"sig":"MEUCIQCEgIQFf7e16mHAM2EaBlKjHdkMjPfVV5n6k5srDndKyQIgOq7ZxpIXo5tMu0RyA5Idgvma5rETSgH8Az8yuQE0LTU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2771840,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGOWeCRA9TVsSAnZWagAAMBoQAIPLEWXmfyDZTBRqmPk0\nM28QQj+HMZvlXT8Lj7697CjVcR03Y6BHFDtJGATnNd/1JB40lP5315y2qjYa\n6FKZZw1Tud0vlEGXav0+F/JuYUtZt5M7OLrfV+65JZTNCEPKUTBRU5JUYP4k\n7kVMXvaVbCVc5wBcGsSv9m02/BgjCdtbCx7PfsLsJdsENJ2Ww/ZQc3kJ5I4c\nzbK8eH6Ez1d2KIKGh4WJDIvA5hTaJZTrCo/FwxOeZ77hJqai8HYf+JUlxSRA\nscTYcz5yGEM/OaNwbE91VpD/rI3tV+yDKszhpXy7UEHScyzRYgfw10aIEMuV\nwH1YqEB3CneudTJh/wiSAIFQXiKTwBQt5E1kLcNCfkj++UkCYM4f5HunFEI9\nRyyEGEBFI6DeOuDvn4raSBhjFJSHh4VMfNFPugE/dTuZQJbi2gSOuWJeGf1t\nrpJNJV3XWShOyefawtDm8NX9WwC7Y1/x99BpgzV/K9qdOxHA7Pmdl+dvrjpB\nsHZRttfUfip9iNIL2Fg4NqVoYWiW9ILl4cB7TEz76RWN460d2KmrAiQLfDWB\nL0gKQ9VX4q7j5KoHnUbqPTLEEuSmeXpssl9qBsESBlZ9zkkHnMbomPlTEBok\nTFXwFOh9nKTq6mec/VuzjmQdZCkoTF7rGCUY+2KGcsMxi0IROHR1xwdkbBxK\nCRyT\r\n=Pwz0\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"6ac7c5ee3922b1d036c3af6a9b82daed2bb02ac1","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.14","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.4","dependencies":{"koa":"^2.7.0","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.23","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.1.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^24.0.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^24.3.0","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^24.9.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@babel/preset-env":"^7.14.8","@types/koa-router":"^7.4.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.28.5","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.28.5","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.47.2_1629021598762_0.4944514756484635","host":"s3://npm-registry-packages"}},"0.47.3":{"name":"boardgame.io","version":"0.47.3","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.47.3","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"c3ff4fe11895fb3110af37ef0ebc891db832f54c","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.47.3.tgz","fileCount":280,"integrity":"sha512-Y69xzXFdoU/d9T4KtXaEgURG8MDxH3lKwsbru4i6BzOZNKAaEWalJsCS8EkyxYEP6VK5c4hTKCkzeLPRnQ0soQ==","signatures":[{"sig":"MEUCIQDAsdVa/AJed4/4sGz9QsAj2gzxVYpiwWuQ89cqc3NZHwIgDR3MEA3nv58yBY6btThTgdiNCIF7ha3YEboRJZNdsY4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2771840,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGV+yCRA9TVsSAnZWagAAnjAP/2h/z9ke4INSfIkm4SVi\ndrJ4GcHs566TsMRmiU2UBcNy+xymyr1WQHzOoBNHlSeovPH+cFNdcAG5lyXN\ne9Duk/c4hbI4hoztXu3r8n5Gef9ReGWg6TQO+KZLM4BvASEAiW3dzseELrwr\nKEPp1h2ELg93va09jU63ZyIrN/P0uERKEktYEisQYLA4Rx7MLn1cLEZviIGF\nDmQgBNHKMX5aeNCP7U5NtpvLv91iw0acuw5iX3/sj8Y3P7C1Ugxu0VKvNZ2A\nxKG7mjvOuix0c2/b81Cv+SmKBkiK27sqmEKIyaPEY3wGzjV/ZfaM3lZvYa3/\nvBwijqE4zAqARs1QSrKlgEMn4dTTNvcZ3C6XcVLypMCirdflUPJitKYA4HRS\neoGId6A0N/90/sXhe/PjFA04CsUbE+xVWOtSJYiv7EwGSXMyovXSInmah0if\nCdqkvUU0fe4IGzQYNte4dgTCYWXSqijlSNAJXBeL7TbkZ6i36+7LxJWGaDi4\nU5j/LP1rpzvCeuCKQRnUd9gUtUWbth7WBGs2JKkqwQ5ZZ8mYoVyPVxhgdTfa\nATmoEhLe5Pj05ffLSAWV+H15xCV8O1nKZtSagjqs3L8wteLGCVJM/N7894Wf\nnmWhUxDf4bKSHkIsSAqpg4G+YBaEKUh6wA6kKVpqNaZSSGYp287uD5/AsJTk\ngNWe\r\n=aaKa\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"c7c3fab9022c344ac353e72ad0d3222b9b9bbb8c","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.14","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.4","dependencies":{"koa":"^2.7.0","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.23","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.1.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa-router":"^7.4.0","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^24.0.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^24.3.0","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^24.9.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@babel/preset-env":"^7.14.8","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.28.5","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.28.5","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.47.3_1629052850238_0.3580389658135965","host":"s3://npm-registry-packages"}},"0.47.4":{"name":"boardgame.io","version":"0.47.4","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.47.4","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"3816b33eb2da9a0fb8e1d7567dcc12741b82d9c9","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.47.4.tgz","fileCount":280,"integrity":"sha512-oBn1gOo65310O16i+tI/93ph3yBsi6MNA+srS0gOewZir3bGgjqolWn87GpKcRCgpb9q6HVGiy/GJNghieBOvA==","signatures":[{"sig":"MEQCIEkM0dwbnoypsDwOwe5k6tFYTU6XhKlEKeOOBESjalW3AiAm2KZs5M4ZLzyNO61huJDkl1I7YbSY7AyQDHlvSQJy4Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2773791,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhIkJrCRA9TVsSAnZWagAAq+IP/0UG9AMKgILNurKKEj9Z\ngyd1QVQFHadRAZ3wrxSu4riVaqxv+xUtQMVTGsBXqkK2XkCU6agqv/y0Kf/2\nqos7RuwlG0MkhRlC4/aQGyt1SeSZtAXD3TD3aIZoulHoYhSiYj2gL9OUcABt\nPIGkA/ALZt120J/Py3kWuwVFWbBKZWFp6EpIbUTTWgXSI3na0OhX859jfvBV\n7fn2xn2ARrlIV0rV0tGZZrTnx5ffkC2ZidsIC7giE6rDCK9y354SVHPoqvgT\nQHHAQJ/2uR1eby6vlmKLJxHurkB4OrDS3TjdrbYxU646R4cnYZiX0ePnm+Fv\nF3Xc79Fv12/u4e3HUeClqjh4IS7Wg/NiT/30038S9G+CWFuxFSLQyJOkKEjf\ne5MMBttYyP8fAoXOQLCWtpawRZbhCugTgJu9vqVlbNLI3FoDTEm3+g1x3E0x\nTwNjkPvcauAV7bsVHty3FEmemqnX4JSMx20g9fvwpNkhAgMnHea+xP34J/Nn\nM26GA2TEz/uf+NGZy7K7/AvZ3/JHKJ96IJo82CXWUcRr4iKCaT9QMm7nJhq9\nWvhQ2Q6UC/ThW7EySaIadoFZxJcADbx3N3OhNfZApd9JwTqdsNDle7UH5WQJ\nwesa+MSbRfv58KzODMgQgSZDH7gZTUnLr4I7mDxAb6fNr7gSQg5/7I7fikd/\nu4os\r\n=qtTK\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"44a04a9714e757e7b4d7d1b1e211de759b2a621b","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.14","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.5","dependencies":{"koa":"^2.7.0","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.23","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.1.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa-router":"^7.4.0","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^24.0.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^24.3.0","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^24.9.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@babel/preset-env":"^7.14.8","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.28.5","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.28.5","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.47.4_1629635179206_0.36892087948437524","host":"s3://npm-registry-packages"}},"0.47.5":{"name":"boardgame.io","version":"0.47.5","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.47.5","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"f63574c6abbe8060b96a9c42fcba87c937d01d80","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.47.5.tgz","fileCount":280,"integrity":"sha512-c7lVAJONv1ZpTeiQEnyZSDKO2Cd/MT3R1U0g5Jv3F8pZrR9NBxSKc9crO2ry/0svHXMKzdpIis2NyWVyKQxpsg==","signatures":[{"sig":"MEYCIQCBqPYuKsqlGGYTTZ2IijmytX4q+FYsXzu8BNulvU2BbgIhAPDAReXfygIGx9HUTJ+ejN1mBK5OzDzERZnrXup97lKn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2773936,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJWfGCRA9TVsSAnZWagAA7YIP/2ST3YogxglpqGYj0oSc\nAoE91wpmUota5TROFDDM9mc3eDkE8CJdO0g2VmgdBVBCEyG7Axe7UQiopTud\nWML5AqNb8LnRv5tmwTJZDOuWQKeiUVl19+mX9kD0SbrCHLLVJw/Wh6wb2vz9\nCUmPZ+GR6HMLTmklIMJ3UmCDGe18K1bE3IdgUrAnaTJL+m4sRefVFo3DgLpW\nTeqmzlm3JopK8y8dTv9kia4y+AtwRGOCdCXMKpfDfvx96w8zqwjCgyP9go46\nTNqqcyiqLVJkLTeDY0MaH0NoAmz2qGYjehmjhzIJ3lyiEXzaPeuONfSdlYMV\nHyg1htOoO6UleQYrcTyUgx9uQry+lDibFn5kvycTQDSbMVheSKd2xWQjRYOd\n8vc8FTHwS7N/4ykiW8JVkbewLeJSlS2cdws6MC9uM13bmFkrlSs8ey1lhQyQ\n6w5/jChD2itdnziLE1TJvv1vgUiG0YbC5wnp9+S3D3pxY04azdtmYTG6sJle\n+gSMQJgvxw26bvTqWeekYcIAAPOxozxfUxrenp0/JojpcnTrhD1xiWLS0Cph\nDdW+9MicWYVpVKEecumA01mYDe8AKeL8Nr9bovVABcd+0VZIaNXWAqPDUXDS\nt4V2FP7xVl3zQmEgcVbHgL3wF5vgyznd+eXFDuDBc0WRROFJ8XQ0R+nlDtM+\nBMfn\r\n=TPUu\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"b45e2e05172f6533efb5c004398449cfd56743da","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.14","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.5","dependencies":{"koa":"^2.7.0","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.23","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.1.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa-router":"^7.4.0","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^24.0.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^24.3.0","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^24.9.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@babel/preset-env":"^7.14.8","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.28.5","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.28.5","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.47.5_1629841349906_0.7131580476775159","host":"s3://npm-registry-packages"}},"0.47.6":{"name":"boardgame.io","version":"0.47.6","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.47.6","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"6b403c0624fe00bd378fe4b4de592a2e7008a0db","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.47.6.tgz","fileCount":280,"integrity":"sha512-P8ShFmtTv1gycVvP1gd6c1CBoZ4DotuT3kAEuBe/XLVUSGN2GV8RKgPDYDjFq1Xf+c/y3adO7ZEDxNqHEkeWaw==","signatures":[{"sig":"MEUCIDPK03SBVKmvKlSnZIC9v1G8vIBrauXV2bS29ojQvfkvAiEA0hr7Tlr923cxb0SwOp8KOfH6MXsF15EYdnYUjyg8IsM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2775858,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJXmNCRA9TVsSAnZWagAAJhQP/14QVaQFM4bfISqSnSr3\ndvn1sHNx9dZOV5IDlpsj5svJgx2Q4La9TjmTClIW253iA0AU3rZIvG3dWZBc\nniX6sBrcuhX7Bvw/1c7uLNJtU+jB4AMqky+cM+gub5v09hBF52sdGCZEtHMh\nhee6iAUVif0P0wa2eicgP7lZiJ11s9JF4XTREo3E7fAh/zt39Xzd7U+jyoUK\nJLqTCYd0Rc7TX+ur6vmQKnKae0c230ZN0IRN80db+Smn6U++9nZbj23Np/cI\nmMbIgT92QaLnXkHVOXpzSVh1HJKnnbrnS14zuRqtVCBtjT2/HZRZ9nv+i4H7\nYN2xD/gn7uRmrPi3mG9w2uc0Onf+KaKnB79tsVl/gpP+6+uBVDIXrlnw9COJ\nmG2GUf+W3TCzn9rNgfQJEcaC2SiUo1fSSgS4EjcbyDsHFwqb0P7ll7pBhv4D\nr3C0OjyfxHIayzOcDLQv/Q57dpTd6UvbRG5O8/DaKxl+TulYyqF5Yir3/Sja\nPPPT//TNwRScPFzRM2F1ixLA7I7q6HbAWQJq47PlwT7yVu+gG0NCRE5XXUwV\nmamovgv2FKXYp4pihe2jFBLGN39yf5lE1LZsChO1hr4fMchuiWLD+W+WE5ao\nFZcOu4/VBu1co00Fo4bDxw8UyNXHZykC7s7okMCt0T89B+LEguWq2tJ2/kpr\naLFx\r\n=6OIY\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"c48f78ba640cbf446d5e17b40e79881e5cdf616c","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.14","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.5","dependencies":{"koa":"^2.7.0","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.23","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.1.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa-router":"^7.4.0","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^24.0.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^24.3.0","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^24.9.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@babel/preset-env":"^7.14.8","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.28.5","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.28.5","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.47.6_1629845901437_0.7192461886829125","host":"s3://npm-registry-packages"}},"0.47.7":{"name":"boardgame.io","version":"0.47.7","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.47.7","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"ac13c8597b35d5d1106cb016b40c049e271ed3d7","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.47.7.tgz","fileCount":280,"integrity":"sha512-GRwQE5nRzLnzh3EtFoQ5dWlFHc7ja8FTlUSOGXoclbnGzKVqurnMczxv6soNudUFOBMK5fhGbBlvQx9n+WX+kw==","signatures":[{"sig":"MEUCIQCqMlWo5A/k4l/gZd3ISZ9RkP5dUbMKeoYkSXjb5AbYmAIgXZKxwF1mhaywgEdD1MhTmT9IMHKgQpq//SUGOBveDcM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2842006,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ41tCRA9TVsSAnZWagAAV1UP/2RtSfgbnZsR41Gbgs6A\nGFDNYU8KZ39h1tn5Kc+adNpRZFVNngbyXlVIOmjpDtQGdmnueIb5YplhIqXt\nElYo+N79AkRNPiBCs/6JblGthmBRwDIK2Mk9DC4NmJOZC6Ylf3K+Wv8ZNrxo\nWNBtOUsdIe6fJ+mY19aiSJYypyPwIYBK4/6Q4ei08gcROvl/gE+W10bWEsjz\nr1NLfw3iC9v1bSx5BnrdM4os1c1GkvWpHlwpHjfjMZps9tgnoUhuY6+v4egM\nQ4+heQ9ZIf6qXp9XuN0m50/AUbPSlFE4nFvWabXsUV9AKYu1sYjeIoSuM4Ff\ntOGFBb1HHTTys0MRilKSrDd1gaqNYFooNPy4pv5N51zebtyznePCICSniCl7\n0ptNi6FA1iry6Bl5pmzEGRzgVDS0Vc5ZJj2QlIpxZufzAJN2WZfAyvjnIQIJ\nJ/ntPw9ZUHQrpQrYMuRCAKf1dEjZB4Z5I0fyq2d9JGMRVlRMX/tfkiO4QJSG\n8NTDlCfCytcEKPYA1515ADtqXgD0eGu99oAUlASIm0KGwMIKAC7QAoBErE7f\nm2bg2pWs6NVhhfDMHGi6dMgtjAosNQR0VRBuM+qBWL63vnzA/ydto6PgND1y\nmVGFBd+PyfIRLLbxdDVx+JyB4Nj8M7CGiTG/hdsErzi2tmn1qm2nadX1hFnU\n5YR3\r\n=a3kN\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"bf4e1390f7db67957a4b69a8881127a218e4ab48","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.14","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.5","dependencies":{"koa":"^2.7.0","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.23","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.1.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa-router":"^7.4.0","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^24.0.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^24.3.0","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^24.9.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@babel/preset-env":"^7.14.8","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.28.5","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.28.5","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.47.7_1629982061255_0.7765581274895972","host":"s3://npm-registry-packages"}},"0.47.8":{"name":"boardgame.io","version":"0.47.8","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.47.8","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"b44491165d1f8368c6efd1bb9c30b6cda7bff532","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.47.8.tgz","fileCount":280,"integrity":"sha512-BORxnpGfgwe9fJhg5SRVdidit0uC62Tx6QrPGM24XOkLWWboiQRw739atDrqZYzx/rN32q2dIbSc5mTrUeqJ4g==","signatures":[{"sig":"MEUCIErZSHMTfE8t82LGfpLttvX6RRhqnrZ/14LT/4IM5v3QAiEA/mBR6U+l9FOk1Zqe2bNUVAiciuDlTALJP9hG4d+eEuA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2847347,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhKAJSCRA9TVsSAnZWagAA9gYQAJp16r1hzGt5C2VyI1RO\nE3zfR6QK4isShWudY2zldffTQgjilK2+ojbqv/VxJ/ERyWF4uPt5Tr8cdf59\nBLI/QzWqucGkaryluZiBuedUrpubrxK7jGQXXXaV9zuQP+I3WV63+E0eB3XY\n/zrglJ4SbeoG1g6lpAOd5NvWELeGl+PtnOCIJn0VgOOLdqtYPboc/DrWnzra\nNnub7+YAXL8MUBH9Ab0xd144y3/CoVccNOMBGE/xQmFO1lmKh7mDny119eeX\nbeowdVEz2oVvmjfNuM2RkAACClZaxUNqyTiDb4Jzm5NeUvg1G+eBYpJ0Vpd2\njJXHk9qXbfNDwhvSeTikDW8JLZh9pRnyzMHqwz9NhiQbTWAIwj4hCSWeL23c\nWXOTAPpV5zjjqWhb+Cx0tQP0kjDUKBlYPZi/O34FJtFhbzr4NUDlLsau4EJl\ncQpdzxcTGM394SBKsJLMOALUHpsB9X+AYI3cTi9quV0X4NjvKeE19U3dBjvD\nQMl4Dd23HrgiCAk709xD+xSqxGrJL2/gtPzc49Ncwv079IGv0n7pSkdWTNEV\nryX805c+qeJrmVrXP+xJS/31vPB+Rak3CFXJjaBqniVyEQzpNHeS5Vzhh1su\nGZkZhqyG6499gMO4uKvdHGjpkZPxEWVCWqcahqPY4emyV7Doy5LgHOah6KB8\ndwM6\r\n=+weh\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"592e4877f5eec74e46f593f9ce6c44cdb668abd9","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.14","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.5","dependencies":{"koa":"^2.7.0","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.23","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.1.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa-router":"^7.4.0","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^24.0.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^24.3.0","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^24.9.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@babel/preset-env":"^7.14.8","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.28.5","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.28.5","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.47.8_1630011986348_0.5483300588069315","host":"s3://npm-registry-packages"}},"0.47.9":{"name":"boardgame.io","version":"0.47.9","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.47.9","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"01ae36325e7711add82c7c90b29e31839a724796","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.47.9.tgz","fileCount":280,"integrity":"sha512-YRpSIkurD3tjGewshmYXWz7HW4rSrglo1wSlonRF9rvzMcs7FfiwISxJzJBSF4iuGmhIuJv8WYTsDJybQNO6Iw==","signatures":[{"sig":"MEYCIQCixgvYc8pTqZows2TtizwevFlV2vmtuMGKN8wdWSaLGwIhAJwbdGlYXL/pM3fmFNQYtWf1nabqyp3bMl2+UiHr7YbR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2847874,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhKpH6CRA9TVsSAnZWagAA8joQAJagF2lZ/Vs0zIe67DHS\nG1IJpuxPE9OFrMdcWX+Bc7BM+wI3dnqDQND0QWanvlMapm2G6uRp9q8cknqx\n59YMK9/Ia5PeoEpUdPXgqlmJFYVmTTRHdGWk/BBJTiIXxVTkfEwJcy9GrWRu\nGvT3YR1upvKJpxP+CErl5EarcRNmT1/AJWiqP/nRrdeudSd2hrfrE55+edZI\nANmr9n6BU2oxIcuKeucrhvcDQS9NEm9mqdKUGXhwZ0yW2fS4Gm/iZtL/B6pO\nEGHc8uaWckQRIARurjDkRWnin4oLLmjHfrbHXbIkdf0P1kvcRvYq3tafFblR\nhzYl3tKrGRQnAC2fFoTZNu9xIMeCx7b51Z1JIkH2NMt6dOs2JwlUCfP4uGix\nho3qlYRdn5X0qXRpEtcMVh9t42uq/X4RVr9U/7IGejXy8n6DDxijl2ll2Cxc\ngoi7tVPqT5qfX1i7I+8QGkmjOF0Pf+ZVEbafr+NSt3h5kVtNqXvhLWXORQOM\ncAep2eHndAjNz/U3ZUOdvckzXuZW+47T0S9YeERDiqhPg2JvCIJVG8UK1by9\nOefD0ZWqK4zGaXFrPP8NNI2j0kI8953uvXGcvv0peIJZhypuarFnhjdKTzFY\nxrVkcn7sfenp7QqS7haVYvy/94Iwz8UlUiqfosa474WwDNDZ64pbFBF7O/+5\nyxut\r\n=dbsn\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jest-environment-jsdom-fifteen","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"1368d55e181cc628e9e92d9abcfee2f0660382d2","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest --no-cache --forceExit","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"cross-env NODE_ENV=test jest --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\" --forceExit","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.14","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.5","dependencies":{"koa":"^2.7.0","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.23","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.1.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa-router":"^7.4.0","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^24.0.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^24.3.0","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^24.9.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.14.8","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.28.5","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","jest-environment-jsdom-fifteen":"^1.0.2","@typescript-eslint/eslint-plugin":"^4.28.5","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.47.9_1630179834126_0.6522280019331508","host":"s3://npm-registry-packages"}},"0.47.10":{"name":"boardgame.io","version":"0.47.10","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.47.10","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"8eea4ed043a312e0323dcf99286e05857175aa82","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.47.10.tgz","fileCount":280,"integrity":"sha512-YSZsRl5AvHqGegoCHYAbTQ6OKKZBVwrGn7pKlWiUv9mFOKb4qNxBN/9DQdwmoMBN97wmtJqQL6gm95H4LnSscg==","signatures":[{"sig":"MEUCIDXMS1YNAulh2j6obOv12N5JJY6fTJdzbC0cSh1CGwtBAiEAsoaY7kcAG0e7G+esWtgsg/EzUsrlIqhTmaiQgC7cc2Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2850781,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhM4l3CRA9TVsSAnZWagAAHoYP/3Spp7Tw94PKAtCBKAxP\njzPR7vb65GqfRHt0Anb0ASVjwP8lf4rAqo2Q50WrjjOSkd0936biVper1WbX\nesyYK4knJzcIBdvr4Yy6vZNflZ0viqkJYtxJ9xbA3nzltEoWBud6pd4FepX0\n8QjYfNqm2qU3icvIcskBMUgkGx2uWDbDTFDQ06TwriPndSNgyMxRgLGQ5XGR\nDRXglpMIriORwPSlOSaYxHpCHCKrsXmCGHxS8GerEdsi1xRUgDssWFCuILgT\nSXTDSlF2UywChUCq5yqSV9KtvE0yMfxdrKPy1Etk6CnZFsdJfVKGPscQgaIo\nlNHKkHZI1ltXXOnLj0+BDRS5w+Ye8i5DNkvZKRsDbxbHxynJctGZ4mHagx7w\nItGtWjynsyXugDvQa75FLOTRfcPHPYmDWDGnLfEVxq7o3RGOb/MbpZRV0O97\nxhpQqzYFd5X0GRitS8g5UMSn92zndcJnD3UMQTRooDeKTiVFRB8HxJye/KWt\nnYi/gulLqVzR109NIVA0gpIC2ml+MsPnkd9Ai7bR8OGKvy6wiFqxB2ro/7/S\nFnt11Ies6H5Cbpc9mYRfo3Si+byD7FtKjdI5rNcanYi0Xoqu118C2g8oou3I\nRc+xh08E0CqYNX/S2lLgTv14SVn9t6a5dXKaXxBycvRGO25OnNAeeOtqbrkB\nkCm4\r\n=HX0H\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"ab82c7437bc13cbaae8b81b8058c6a8c02922604","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.15","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.6","dependencies":{"koa":"^2.7.0","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.23","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.1.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa-router":"^7.4.0","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^27.0.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.14.8","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.47.10_1630767479052_0.7721649535366033","host":"s3://npm-registry-packages"}},"0.48.0":{"name":"boardgame.io","version":"0.48.0","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.48.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"613864a79bc95c6f4f05fc3f62348995180d9dcb","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.48.0.tgz","fileCount":282,"integrity":"sha512-8dHO7DX/ZO7Y12OfMuBNc87e7JBzjH946JvH99m6+k3DyvCowu3WCbIdHLE28O8gB3ZVNYS14NMV6tbOrtJCYg==","signatures":[{"sig":"MEUCIQC0qFPvVLNotRGjX0rvKm2QDtaRXTIure6wq9TVuegSvgIgM4082xiPbt1AZgWcJN2YHQTWfPu1cug01JsnG02e0lE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2883112,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhM8BGCRA9TVsSAnZWagAA3DQP/1jXhPeBIcEvw5t0++32\nuX5354mJc55nLUTUQp1u3IPlXvCl8kWmT1dWnTxOT6wSEZJAvDnxBQuPqvkp\nnN8egX6/htJEGz2gYj/wDG0fQ53rH3PkEYBDfY4qYQUVYc2Q4mBVYOy1mS5M\nK6AvzYJZcPG5y7EGu3ET6ZC6/ICA5YXLJBbx+GDIhlMS9ZrF+MgsgKnfIgDw\nf5DzReFaPNAhoY+FTkaZyImf5yv/nLUbkw/FafUgRntvmDJsg1EYBs90GQG1\n1U7WMzwPrbRvWOURrGe6khsj2oLy+pRHnnkHSY+YWAYsp6BlCbF3ox2ISKUv\no0H6V6+2nhYYOtymrwc/I10Xc9h551FBKSQpnetvavX8FBTLG9iaPgQaysYD\nCU4VxVtPD24+BT6Xyvj7vI7cOKmSygBYheQL9seWDxE9boaNkdj0uVAq3KmO\n6NVe3vpxJKq40Jfv6K9qscTuP405QwmJC5iiHeAM4hw+nVYB9ZKX99XF9L2q\nfzBlzAftHczRPlglz3zd6qKKKwLZKUJ/8uxK9OlGfe+9DfSk8EBEaL7VWp5w\nc0GQ60H0VgBbHwyNIGYPM9WukvBCLDGjJYPWgMfepjnDyt3XmQQL1mmfmBXH\nxovppxjA4/ESAQdXtHtUBcQJ6vYVwwTMKtHmTBp5IculhO6O7YvM+NRJN5m8\nSoQk\r\n=wFnd\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"6c2331b534a47c8ea615ce876aeb82fa71bffad2","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.15","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.6","dependencies":{"koa":"^2.7.0","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.23","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.1.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa-router":"^7.4.0","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^27.0.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.14.8","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.48.0_1630781510710_0.7074203005893009","host":"s3://npm-registry-packages"}},"0.49.0":{"name":"boardgame.io","version":"0.49.0","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.49.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"7e0062d9d1aa0c92581195e2da5bf34a82e9ba7d","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.49.0.tgz","fileCount":284,"integrity":"sha512-bsxi5uS3Nngx0FlIKafIdI+g4tPyPKcQlwD87+JU+senNB9vF7S4a2fy4WfHcBhXzXpZWWY2ARYhhnz9BOgX0Q==","signatures":[{"sig":"MEUCIQDaY2KdKF4pRhGIXR3zWXTNomzIRCWJrJF++6UZug2p7QIgLgGQRsUWynWdp6DqIm3/7YPDnDFyeHng6r/lHGNJcpo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2882952},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"2d72dce17efafccb6d50b7853bb065aebdad3908","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.15","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.6","dependencies":{"koa":"^2.7.0","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.23","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.1.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa-router":"^7.4.0","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^27.0.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.14.8","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.49.0_1633284239870_0.8506353510885023","host":"s3://npm-registry-packages"}},"0.49.1":{"name":"boardgame.io","version":"0.49.1","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.49.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"f57ccfb9d83fa1ee894d1f523d5c608e441e3f18","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.49.1.tgz","fileCount":286,"integrity":"sha512-mcSGBA+Q2I6VNyBcJveTTD2RkbCVApsQvRZGhtB4Jk4qFwwttkBMfuVMhuluzsAzCZTeEXkYHXlr/W7DtXzx4g==","signatures":[{"sig":"MEUCIQCuilJNwzJQrtNO+MGNuzoe9i3+/7AU/088Am2xPKs9IwIgBWejGc2iuOerBJndhFgPlQZ769hV2YOhNeWXaKvIfZM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2884562},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"d4cb2c19b7176117ee871edee9717a9afcc600cb","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.15","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.6","dependencies":{"koa":"^2.7.0","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.23","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.1.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.11.3","koa-router":"^7.2.1","prop-types":"^15.5.10","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa-router":"^7.4.0","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^27.0.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.14.8","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.49.1_1633561715992_0.512412107628665","host":"s3://npm-registry-packages"}},"0.49.2":{"name":"boardgame.io","version":"0.49.2","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.49.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"eefbdf2f19944ab491fae3a22a5552f65bdf59aa","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.49.2.tgz","fileCount":286,"integrity":"sha512-WUPlljBMx+ifvHQWDDSWgiZ4kPSRoNSDHxrwvNAW3l5V+z8qEPemt5ZB/iMlrQ31XgNy7C5k87bEHzY4SmAM3w==","signatures":[{"sig":"MEYCIQC4SY2IFWR2tgQz3Zr2FZYNjwTaE1J4AxJyU+HVOjpgiAIhAIHKw8F0QN4qWBeAE1TffDL7LXzsZaiaZbzFJ5Qpf0U/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2887337},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"2adbf16afa9e36469d1a5249a367faa51ecdf122","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.15","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.6","dependencies":{"koa":"^2.13.3","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.30","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.2.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.13.4","prop-types":"^15.5.10","@koa/router":"^10.1.1","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa__router":"^8.0.8","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^27.0.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.14.8","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.49.2_1634423584553_0.43776090005458657","host":"s3://npm-registry-packages"}},"0.49.3":{"name":"boardgame.io","version":"0.49.3","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.49.3","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"1e39f4f6c0c674773a7beaaa6502320220dd9ced","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.49.3.tgz","fileCount":286,"integrity":"sha512-R4K0k+18fQYUslFJR1Pmq3tauuSPvobXVFan0DL930S1GJaUg7/r/NHzB9ZLUwzWuK7tb15btFm4w6VCqLD4zw==","signatures":[{"sig":"MEYCIQCP/URWybLDLaRaM5a3u1zN2GDn2NhXyYeQ9nkKZ6sWnwIhAIRDWvAD+uzSKx5JmBkPhoEiRELNKFEWAWcQqu2l3F+c","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2887579},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"525c8f633aa0f424f97fc1ef6457e7f3b3ee6c68","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.15","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.7","dependencies":{"koa":"^2.13.3","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.30","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.2.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.13.4","prop-types":"^15.5.10","@koa/router":"^10.1.1","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa__router":"^8.0.8","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^27.0.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.14.8","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.49.3_1634896780062_0.6864265589686533","host":"s3://npm-registry-packages"}},"0.49.4":{"name":"boardgame.io","version":"0.49.4","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.49.4","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"},{"name":"Luca Vallisa"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"615685ba90114ff6269f4d455fecfd5e660dd66d","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.49.4.tgz","fileCount":286,"integrity":"sha512-NAFiWyvYOBuCy3aqncHh3WMibawVnt9W/pbQ8VwwjZwVPwqYYsco8OkDQBnMJ8cXNlxOCQsIYb1P5KZkPakN4w==","signatures":[{"sig":"MEUCIDeTqf6a9Tpm5cFrbGpl+J7wsV/ThDaoJG3URlBG3HoMAiEArrKPx2Z+u1ow0kXvEZB1DT2gmJjbQM3EuoulNADrWwQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2891355},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"c6d4a8710a1fb28591921df89e45e9844568b079","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.15","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.7","dependencies":{"koa":"^2.13.3","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.30","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.2.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.13.4","prop-types":"^15.5.10","@koa/router":"^10.1.1","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa__router":"^8.0.8","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^27.0.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.14.8","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.49.4_1635287835013_0.481174664395815","host":"s3://npm-registry-packages"}},"0.49.5":{"name":"boardgame.io","version":"0.49.5","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.49.5","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"},{"name":"Luca Vallisa"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"43c96caa7e3564d0e5463cd09f4d44e978ee37f1","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.49.5.tgz","fileCount":286,"integrity":"sha512-RstN08ryg/cGmAsZaDAF10ZjQc3HQc9Zz5Inu0z3vG5QzL7uwzfKsFZMgfHipv5koTW0/VJslfX0XGzhd7blXQ==","signatures":[{"sig":"MEYCIQCU5F+ujz+NS3Blxd80pR3rg+cQxDxds8+ASkBxgt7UggIhAMXX4c45pKjP5lRED1p/cfwFyQUaW73FkCuDdwmSKLSc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2891398},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"e6544ab34c969db75420d6cd96356b3f14777954","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.15","bundlewatch":{"files":[{"path":"dist/*.js","maxSize":"100kB"},{"path":"dist/esm/*.js","maxSize":"200kB","compression":"none"}]},"description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.7","dependencies":{"koa":"^2.13.3","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.30","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.2.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.13.4","prop-types":"^15.5.10","@koa/router":"^10.1.1","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa__router":"^8.0.8","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.14.8","typescript":"^3.8.2","@babel/core":"^7.14.8","@babel/node":"^7.14.7","@types/jest":"^27.0.1","@types/node":"^14.0.24","bundlewatch":"^0.3.2","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.14.8","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.14.5","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.49.5_1636133832842_0.9927287342426248","host":"s3://npm-registry-packages"}},"0.49.6":{"name":"boardgame.io","version":"0.49.6","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.49.6","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"},{"name":"Luca Vallisa"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"0c45e44f7c6061fabc2da22ee6f8e75ec69ef819","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.49.6.tgz","fileCount":286,"integrity":"sha512-U0k9/2vv/VwKIJjxrq4FKRg12qsBAv1AVkO/cJF4oex7YodYIJeJi9kauPq8S4tAIzvFZdvkWXKjvI/rASmqAw==","signatures":[{"sig":"MEQCIChI5fHm0zQAGLONuGMqwJfOq4ITQLzPGApBpN44PpUkAiBaJ1wxkLRl8D3cxoDFyD14kOHMbe+8cSDzylPgFHbUtw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2891860,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpUmwCRA9TVsSAnZWagAAsQgP/0b+G/oiS5SCLUEXLnz+\nAAl/8VUg5MPSeGwkuBvGK2YU7C6MZJ1ZjiJJTNSKVH6JspyXQxgK8ZU8XfZU\nX2VEa0wvd/04yFxWdasT11OUUorH3sNRuA7uuZtZSWM5bZyJA6Z+6etFagKR\nmvCfaA1EfbTfRUW+FF+emrldEkUmFeu48K8A0qDNPcc74NqoC+oRcKoTs9xa\nWIsK1S7JVi1MRDSRMz0j6BK43sHNTWAgpp78u7hBcdMxsENyglrhnMhFFDyc\nTChE3nlsz05Q4N2oMdMVNQCOCdDtWQE4jwoXPy4wHRkKGat6KkcRERRiL1wW\nYus/G2qvqX6SlVrx63mhWzysU6Tdh4/8lOOVbzKc5B+PT1K8OB3Q6H6WHdBI\nB696izZWLTsFKZqbzifn5vZnHoPMahSSHu8D67pEW1muVkT9YJjghxNCDIvy\njikXRmpa3nuVACL0MDGw7X2cE3PfIlxNFfQQg6aIFIu6r+eBDZpngjrxCuYi\nk8mxBXf0Y7/DRSpV/lpebfr/qM4oEE62yOWdy14WjEUbP39ET9ThHpB7liht\nyIP8VxKZlJP5iuq7dUZXppqel1Xote/lYc/62uCfC2d99A6ODPzf2XdKv7Q1\nDySQiQcXoBI1oG0BNWsU1YXp+komrkN0jTeOahc9+ji2AwjjQU4JDeWOjtG0\nO5Kh\r\n=MFHB\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"c93b316dc0731764d0f1b05026d5ccc631c9df71","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.15","description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.7","dependencies":{"koa":"^2.13.3","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.30","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^4.0.2","koa-body":"^4.2.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.13.4","prop-types":"^15.5.10","@koa/router":"^10.1.1","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa__router":"^8.0.8","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.16.0","typescript":"^3.8.2","@babel/core":"^7.16.0","@babel/node":"^7.16.0","@types/jest":"^27.0.1","@types/node":"^14.0.24","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.16.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.16.0","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.16.0","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-transform-modules-commonjs":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.49.6_1638222255850_0.7422836039795568","host":"s3://npm-registry-packages"}},"0.49.7":{"name":"boardgame.io","version":"0.49.7","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.49.7","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"},{"name":"Luca Vallisa"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"052e63c7361847e9f9adee9a83f4759e16ca0b4a","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.49.7.tgz","fileCount":286,"integrity":"sha512-8jZhDmb3mKg9k5aX1lyDnpzQg6L1JFX87atoqsGKOCBLGpL/EZGD/wPOZ4sD0G8bxSAhXxllHAItv3JtEAvpEg==","signatures":[{"sig":"MEUCIE1PAeV7F1jwJ/UYO5XFXgwlaKlCYbqvHRluI5cRroZcAiEAiBYW3D9x4lLG+yFiNpTEsjMCZy4L8nRmJ3iQf9vEnzQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2891914,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuwRPCRA9TVsSAnZWagAA4tsQAJMP4yS2m/tOCoB9nEo0\npyYkXDXdn9lroCRn2crs8cGGS45dvJT8I2jbiQwQ2A4gmfQFaiSww6P7eGhx\nPpclD12skLaxyme6vNlWPD1pK5aNjaywI1RAvaUzyizjHnrObEedhHLxknOd\n8drbExr4hLD4Y7bMUPd1/o459R7yKmFSsC33B2vf3pb8Zp2iMBHuR5eIb7gk\ntZ8AgJaTvkWSchkYe0dfgceSeycHF+W5DBcEKwk7JR8QBbyAKLon+CCdePJs\ntXtn+PAA+r8Akm7nYbL2zqNTV5biRvGtcoQpgPsAKsF2PO3GPlpZpRzY2yZi\nkHZ1qVRmFWFAdSe00NrgCBKG/J9hotAugGIxYjGq5ErO09Pba/A3aF8x5hIU\n5xVYYzN1ruY15JcW/6S75EwWGZLMMlNJAHhiNOZ8PRiEQTTzVRIvexGbWlsY\nh6j54HXPKmb2FMoN/HZgRiQnAgkkyvdyh6MWjINCKbt8/a/aEGEvYQBC0PdS\nxEvw4eUFddPc7Ev00FEytHArvbYKiO6e/jxqWLLLVsFq+bJqNgB/NKTcdfPh\nptw9LHLoxGJ+jJ95AiRLismZpLObkZIbF4r2bS6+vQqdR9WHPIlWjtZXb6WY\nk5sRLSq/lYBzR5SFfrxoW2LUPnPjN23y9SnbF6GXBjy2Oo+vYEQcUUk6zM75\nfgpl\r\n=Q+Pi\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"059a1cc3848f7944626b287c7d2d0f29385688e5","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.15","description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.7","dependencies":{"koa":"^2.13.3","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.30","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^5.0.0","koa-body":"^4.2.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.13.4","prop-types":"^15.5.10","@koa/router":"^10.1.1","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa__router":"^8.0.8","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.16.0","typescript":"^3.8.2","@babel/core":"^7.16.0","@babel/node":"^7.16.0","@types/jest":"^27.0.1","@types/node":"^14.0.24","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.16.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.16.0","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.16.0","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-transform-modules-commonjs":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.49.7_1639646287137_0.8904357710432502","host":"s3://npm-registry-packages"}},"0.49.8":{"name":"boardgame.io","version":"0.49.8","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.49.8","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"},{"name":"Luca Vallisa"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"e833cbc7ec70034a94e27e4d657e96cacdbcc4fe","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.49.8.tgz","fileCount":286,"integrity":"sha512-+HiFigVAuOCRkBDAxG9D19vXcTImd8qkI0/9qqeU57tZbqn0E6Qe1oY9rJrxXJG1OwzdFqwmdH7Rp4kHj6Ubxw==","signatures":[{"sig":"MEYCIQCnW05KEIoo9HllMA+aSQhUpdWe03gcT39GKK44fuEDZgIhANzqz0tv7qdGkYu0FKAHgRbMV2ixSjEQ810YXm+XIFCG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2899427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhxI8/CRA9TVsSAnZWagAA6OIP/1UY3mifx0FqM/EKCNE6\nnt2cUf91vQtWSuirMGVyWFABajSoCl/i3vP9JPSZfBoWUhkzAiIk2ibRO1vJ\nTBsUvuoXbqzeeA2qSHw+1M2pAGjDJuZQXdgCIJC5VylG9RWVAjZh875KCZVh\nOLthNfDAOSSMqBlAdR/hlft77CefPTL3LfQzhw/GFNd4oPX1h5yGHUO6A4pt\nA5Nm6Awv1fZLEHJamh19wMI5NcadqPvzRtW/jc/acCMYt63wyEE2bBx1Q2B0\nUymxc9/bEeDDyfqu5QFb2hiShxBzEF2JISHZZO5fBTr2dhBeRDOU8XTfntxA\n7MtPNOQ2+Ubl5rdZaFH1OAmsyW8NaMIC1YQGRkmOc/Sxq3YOubtquUveZKwD\nT4enl+m0uRyibLMUQhKP2+WMI2uNuVgqBYoHui+680zEmxRptBQ6sXwIZSIY\n1GcR2wE0FyEwEftRwaKQKwYqMVcXUHVGOQ1jv3sYF8Sbaw7n/xzZAnhnQC1j\nzYd04IiwHlHpea4hk5NHh1uqov5mGp/8dtD8OkaNfZcOzyZyYdQ4UYvoOtx5\n88+iz47+nuNdQyzAk4yl6kKK3ezdx/CL+7dFkS9xSk+VGn9S415W+96IpDK9\nHT2uhqnCVrfZ0lsDfIdkQHSVqIMbsOyLUe5P6W7buJU6S8CvdJKWhbzTeYD/\n91jp\r\n=EE/p\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"58e3be54f82ee47de01122f946c64d0d77dac59d","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.15","description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.8","dependencies":{"koa":"^2.13.3","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.30","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^5.0.0","koa-body":"^4.2.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.13.4","prop-types":"^15.5.10","@koa/router":"^10.1.1","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa__router":"^8.0.8","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.16.0","typescript":"^3.8.2","@babel/core":"^7.16.0","@babel/node":"^7.16.0","@types/jest":"^27.0.1","@types/node":"^14.0.24","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.16.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.16.0","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.16.0","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-transform-modules-commonjs":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.49.8_1640271679601_0.732398291550872","host":"s3://npm-registry-packages"}},"0.49.9":{"name":"boardgame.io","version":"0.49.9","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.49.9","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"},{"name":"Luca Vallisa"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"95f50fc70fd589f66b43d407e78a9cceab5bdf2c","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.49.9.tgz","fileCount":295,"integrity":"sha512-9bE5pFMhxma3WSZLF3zoZq+lrjIfdwK/eVXtJbE2xIEpB5FS3kvLrQ12B/N8fRh7FGgbyBamom54K/7uV0ISsA==","signatures":[{"sig":"MEQCIE+uji6FUFcgaIdJQdd+G6u8LwxgujIwCJ4TQ6F7VbjlAiBSOPRoN8qlPwfPcVvtrr6PCfHsKgUbd/sg5hmAu6yL5w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2907368,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh05NFCRA9TVsSAnZWagAAGLYP/0rioQnERsS9DdsezyDi\nW9AIqjl784xhcYFEl0ixDA3rxLT8Yjhp91FVVKEgeUyXAaO+wcsJbHXDjxtX\nEjSI6iD+wWyNE97a+h5O89AgeKwfhWk0OW8862WYF94KXSoFNvEbf2VM5I6f\nxlZoWhfuhrkLfr6lZ/woHRpYXlYHlKEt+LfJ663/GUBxbE7gIiGcIXkM8NL6\nrY5wSScLYaKj+BbBqMyvyxgg1a0XWkbHFxd8dWzgULVuCLhK4WCQGSbov4Df\nutaRD4+xBbNYBjnXsZwkbpOV28He3oyqDqGexziqHPJw2ZkJOS1sTvuGCpro\nfV5SeihqrsJJgjyDP4f5AL0sbZrHWcISCtk9o2yAZ20N4NcqVbZCw686SwaW\nJq1xXXJoLdJ1ldu1dNK85oIPjeugN8cjlt1y3FgJkR4FePyZ3tJqGTQBo4G5\nRiz0El9ze68PNYOc5fw9MzewKaN69KLsp0lQ5Zf1qrEZLzfS2cSgji50nNwR\nz2XJEDk27q2oZw78BLp4yB+p9MPCBuVj2Yc162EVUOOmq7ZHbKenekeQnCE/\nHeDbMT4wtxwOZETSyzKKK+d2WPE0T8adTmR5aO92Ejf0Nmih43diaMweVXHK\nTUR+U8T6Ro6dBn1Q0OQDWCtVRQ31g9PP+6upgJ4gsvTx8GKv+MrMpuij5Jyt\nm15o\r\n=Li+Q\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"dee698e5138b4c6a52b00d284155464c83dd2098","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.15","description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.8","dependencies":{"koa":"^2.13.3","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.30","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^5.0.0","koa-body":"^4.2.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.13.4","prop-types":"^15.5.10","@koa/router":"^10.1.1","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa__router":"^8.0.8","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.16.0","typescript":"^3.8.2","@babel/core":"^7.16.0","@babel/node":"^7.16.0","@types/jest":"^27.0.1","@types/node":"^14.0.24","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.16.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.16.0","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.16.0","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-transform-modules-commonjs":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.49.9_1641255749558_0.550022029115929","host":"s3://npm-registry-packages"}},"0.49.10":{"name":"boardgame.io","version":"0.49.10","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.49.10","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"},{"name":"Luca Vallisa"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"2956ede9a6de6624a3796bf7071cf54faa97d8e6","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.49.10.tgz","fileCount":296,"integrity":"sha512-mlIR2an2EzP5UzPNp2AfdXWOZlOv9vuv+GSe9UC5tWqr3vHBP/g+UEKKMI2cfNRejU3Q9clBPNeOcFWtUe9IJQ==","signatures":[{"sig":"MEUCIQDbp6CWOdyokT/0zH6IsYsZnw6a38vxjdZXxvmSgsUjUQIgKY9BpMBeE1GpEorx8Yq0x3ECV2Wh7e+DmcbvoeQXXFY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2907564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3f9fCRA9TVsSAnZWagAA4hgP/2GJyJTU/gYVjdtOWdfL\nEUgrt/tAI5Jf/H0fQpa0+z7Hg6/1wsfyN0QNNESbpawWTwSjHJooj+banOt7\nH2fYr6BalnGfNOr5qLdrA6dhmzlZ9vyuRkQOuFC3w18VQsPuE0g3Bc/ZcqNV\nKP8NIIGMTtdZ6DTQcHhFpxWYMNuO/jJbMniHmt/pz/GEnacONA4+4PT4egly\nIcDMoFDcvppQFEKKlIyL4OtFgdnqhpTLerOYFHaORbM//r9Y0Wt24bhPbsZ3\nh7FdKN4CuxSW+IJMZP3i0mRqLaei5xq21gi1UlRyUfXarJ0MEdo1w2gkqCRl\ncu67wNbwCW6qpm4U13ERSu13g5JMu3mBFHzKm/G7KMFfcE5Xxrg8xjAY7U6Z\nnN1GrPLCOGGSCwcogMokNhNkRJP2ReYOdfc7cfsEkzNkeMtdUKEz3q5b9ddM\nIdRU2MQvpxCrmrajpSfleYMnVSrkOwqhlhEJh03ui896soHUKfpWbOPccKCu\nMMyb7Gs0cm19SMJlh1EqyBrNSVwDIMe5NVTqrc2UxpsK8NcLtGe0n7RmfPdq\nX+02Km9fHgoh0Xip0ycx3KqU2oqMUO0im/L61uWvhZ1g6UYpiVTTtbhsBo+U\nsrFNiL4MrkOfnu1jdwgqNJlX+R1X8DPpVoUPcfOnhxHeRWEv8858FMMc0/EB\nEThe\r\n=d7GB\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"6c18d06d7ca07a8d1625a0879fd257fe2a8c94c4","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.15","description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.8","dependencies":{"koa":"^2.13.3","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.30","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^5.0.0","koa-body":"^4.2.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.13.4","prop-types":"^15.5.10","@koa/router":"^10.1.1","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa__router":"^8.0.8","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.16.0","typescript":"^3.8.2","@babel/core":"^7.16.0","@babel/node":"^7.16.0","@types/jest":"^27.0.1","@types/node":"^14.0.24","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.16.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.16.0","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.16.0","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-transform-modules-commonjs":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.49.10_1641938783784_0.35874269256584523","host":"s3://npm-registry-packages"}},"0.50.0-alpha.0":{"name":"boardgame.io","version":"0.50.0-alpha.0","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.50.0-alpha.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"},{"name":"Luca Vallisa"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"79bdba49fd52206d66c5f71e58e61d5ccc8e40e3","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.50.0-alpha.0.tgz","fileCount":298,"integrity":"sha512-cKxR32isvMoMlwO+1vzBTGSsK6sm5ilQVhIqgMtL7zxrPcamDWDv5UELTtS2WnqQu/ksNhb4J9tPaoyfmMoZ0w==","signatures":[{"sig":"MEYCIQCJUxK5b8K96YfaXF4qM1w9qp6jXura8Uyqy35fGs4eVAIhAI7mzYg388+omMJzapq+IdRaZFrFK4JBL0rQ/yIvGoO5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2925871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7X9uCRA9TVsSAnZWagAAFj0QAIMfsyO51wmBrV9cdFrr\nmg64S6f6iS/t2bNDrIMk5Qm5TUrfhZ5s7i6e27m3RoPqln9B+/HLtC6sSK9N\n/bW/y53bb+0BsLgdM5QyYvC8GqD3+KgVzOyWm8/pehcp4vntC3pdXRnwy01v\neV25QoWA5IZzD9Ejujp5O6QgOOsTfBoqofx7tX83uBjITxP1Y+cCu8134FDa\nDIoI4ftXRn6FlHF1Il6uuhpakB9U754GFnbmpSz8nLYD+M9srHiRWLUFc6+w\nyfBBmrBJeoXT1/iUiuVT76OONtzn4/as0g2wO7OvS4WZMU3V5XLuS+gQpCLN\n1u94O2ucipASQ21Xth3JtaqwgcX75ncmgb7kd+tkoCLdyQ37kRLarQqmqDt5\ncNf+BLdPqjWM8dTSfr30jsnjqzEixlkhp3XM44z7Gx1+3E+5vilwT5a/YK4m\n0vRuObJZiuurXYKlEK95JAgvwLap8XszsRYCrDVxJIcWcXfzHOQNkY8owL1L\nWacbLDiYecT3/0oKcadx7bNfzR1TLstqEF0Tmw1rbXwAhffdGgxLXa1SJ7QW\npwRm79Fqk0sOJPxKk+FWvVGDVFZ8YYFcsMEsAVEHnxSd4G+rdRlTFmbBiWjD\nKFwCp+dURShusPnVasWpu725J9zUJTsAmAEZ/iFhHkAxdLRvsMkc7tnpN2cF\nyoXp\r\n=hBq0\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","readme":"<p align=\"center\">\n  <a href=\"https://boardgame.io/\">\n    <img src=\"https://raw.githubusercontent.com/boardgameio/boardgame.io/main/docs/logo-optimized.svg?sanitize=true\" alt=\"boardgame.io\" />\n  </a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://www.npmjs.com/package/boardgame.io\"><img src=\"https://badge.fury.io/js/boardgame.io.svg\" alt=\"npm version\" /></a>\n<a href=\"https://github.com/boardgameio/boardgame.io/actions?query=workflow%3ATests\"> <img src=\"https://github.com/boardgameio/boardgame.io/workflows/Tests/badge.svg\" alt='Build Status'></a>\n<a href='https://coveralls.io/github/boardgameio/boardgame.io?branch=main'><img src='https://coveralls.io/repos/github/boardgameio/boardgame.io/badge.svg?branch=main' alt='Coverage Status' /></a>\n<a href=\"https://gitter.im/boardgame-io\"><img src=\"https://badges.gitter.im/boardgame-io.svg\" alt=\"Gitter\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"#readme\"><img src=\"https://img.shields.io/badge/Support_Us:-fff?style=flat-square\" alt=\"Support us:\" /></a>\n<a href=\"https://opencollective.com/boardgameio#support\"><img src=\"https://img.shields.io/badge/Open_Collective-fff?logo=open-collective\" alt=\"Open Collective\" /></a>\n<a href=\"https://github.com/sponsors/boardgameio\"><img src=\"https://img.shields.io/badge/GitHub_Sponsors-fff?logo=github-sponsors\" alt=\"GitHub Sponsors\" /></a>\n</p>\n\n<p align=\"center\">\n  <strong><a href=\"https://boardgame.io/documentation/#/\">Read the Documentation</a></strong>\n</p>\n\n<p align=\"center\">\n  <strong>boardgame.io</strong> is an engine for creating turn-based games using JavaScript.\n</p>\n\nWrite simple functions that describe how the game state changes\nwhen a particular move is made. This is automatically converted\ninto a playable game complete with online multiplayer\nfeatures, all without requiring you to write a single line of\nnetworking or storage code.\n\n### Features\n\n- **State Management**: Game state is managed seamlessly across clients, server and storage automatically.\n- **Multiplayer**: Game state is kept in sync in realtime and across platforms.\n- **AI**: Automatically generated bots that can play your game.\n- **Game Phases**: with different game rules and turn orders per phase.\n- **Lobby**: Player matchmaking and game creation.\n- **Prototyping**: Interface to simulate moves even before you render the game.\n- **Extendable**: Plugin system that allows creating new abstractions.\n- **View-layer Agnostic**: Use the vanilla JS client or the bindings for React / React Native.\n- **Logs**: Game logs with the ability to time travel (viewing the board at an earlier state).\n\n## Usage\n\n### Installation\n\n```sh\nnpm install boardgame.io\n```\n\n### Documentation\n\nRead our [Full Documentation](https://boardgame.io/documentation/) to learn how to\nuse boardgame.io, and join the [community on gitter](https://gitter.im/boardgame-io/General)\nto ask your questions!\n\n### Running examples in this repository\n\n```sh\nnpm install\nnpm start\n```\n\nThe examples can be found in the [examples](examples/) folder.\n\n#### Using VS Code?\n\nThis repository is ready to run in a dev container in VS Code. See [the contributing guidelines for details](CONTRIBUTING.md).\n\n## Changelog\n\nSee [changelog](docs/documentation/CHANGELOG.md).\n\n## Get involved\n\nWe welcome contributions of all kinds!\nPlease take a moment to review our [Code of Conduct](CODE_OF_CONDUCT.md).\n\n🐛 **Found a bug?**  \nLet us know by [creating an issue][new-issue].\n\n❓ **Have a question?**  \nOur [Gitter channel][gitter] and [GitHub Discussions][discussions]\nare good places to start.\n\n⚙️ **Interested in fixing a [bug][bugs] or adding a [feature][features]?**  \nCheck out the [contributing guidelines](CONTRIBUTING.md)\nand the [project roadmap](roadmap.md).\n\n📖 **Can we improve [our documentation][docs]?**  \nPull requests even for small changes can be helpful. Each page in the\ndocs can be edited by clicking the “Edit on GitHub” link at the top right.\n\n💸 **Want to support the project financially?**  \nWe accept donations via [GitHub Sponsors][sponsors] and on [Open Collective][collective].\n\n[new-issue]: https://github.com/boardgameio/boardgame.io/issues/new/choose\n[gitter]: https://gitter.im/boardgame-io/General\n[discussions]: https://github.com/boardgameio/boardgame.io/discussions\n[bugs]: https://github.com/boardgameio/boardgame.io/issues?q=is%3Aissue+is%3Aopen+label%3Abug\n[features]: https://github.com/boardgameio/boardgame.io/issues?q=is%3Aissue+is%3Aopen+label%3Afeature\n[docs]: https://boardgame.io/documentation/\n[sponsors]: https://github.com/sponsors/boardgameio\n[collective]: https://opencollective.com/boardgameio#support\n\n## License\n\n[MIT](LICENSE)\n","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"3a5a19c9f2a08325dc2d7ec70aec13dcdeee2ee6","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"delucis","email":"swithinbank@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.15","description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.7","dependencies":{"koa":"^2.13.3","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.30","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^5.0.0","koa-body":"^4.2.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.13.4","prop-types":"^15.5.10","@koa/router":"^10.1.1","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa__router":"^8.0.8","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.16.0","typescript":"^3.8.2","@babel/core":"^7.16.0","@babel/node":"^7.16.0","@types/jest":"^27.0.1","@types/node":"^14.0.24","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.16.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.16.0","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.16.0","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-transform-modules-commonjs":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.50.0-alpha.0_1642954606615_0.496834689133294","host":"s3://npm-registry-packages"}},"0.50.0-alpha.1":{"name":"boardgame.io","version":"0.50.0-alpha.1","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.50.0-alpha.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"},{"name":"Luca Vallisa"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"45365f50209e2045dfd1bf468c99c359388c0f13","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.50.0-alpha.1.tgz","fileCount":298,"integrity":"sha512-eMJTjrnADOTC5Wx8rMelvo35mJUm2TplaW86vtfsDfdMadcOfxvLGvWpUmvTzBEYummbmjdVMCLQDB8CvQaqkA==","signatures":[{"sig":"MEUCIGEsT2INRTydmGazQBMYdysvlJ74axNqni9bXI02/lSaAiEAwG1kwpouYcvkJhu90ZkOaRPzkkBHwVFxQ2Tu1TiQLeU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2925631,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7ZDkCRA9TVsSAnZWagAAGuIQAJEC7qhDA2kNzbDOK6KX\nuYdpwoiNuBbt6cA5Bv8I5pypJWVGUJY5UkmFujR1p2JIb6/ww+/v9xJjebaw\nY2nHjD9rrPX/xG26PWB7VHgqE7bNZTdhiVIk5ag4OyIDVos0PrJqFOpG4Es6\nIExX3wRZitTQCizeVvD7OGcEeix616C7l0KyRuiIvbeVHPT+rDyQbhlzS7+U\n2z3i3ldBOWuMtm5QiZc5U8llwHxLmmKo8su74mp8l/2R/edciuCwEuZwDrD1\n83RWmUUp2iaCZW3rmibkP4Xjowk7eJEcHOGEkgVx3FPDf9spTIPNLUy8H954\nD8EnvMNGw5DU0I3DBhlvXGoKI7blIu/MRQ5QwBrBOPiQtulv6hNHjmdtIjgh\nMqe6raz2kqLDi+EcV6strREjtMPiyENyGHO9VDa5PxSldDZUJ9h9ck2h11uz\nJp0SvxfwyuUSqP6X1WwUaQUzccrrDKK4WN888agOYl/QXG9wm7bvSIesqqSN\nK8PhByKyGthxQKuXBZHMax/9ol9HjCnvGfYYQwTs9e7rjVwk3Wo6/Jz79m7w\ntxMYPJbi3CYdkqV5b84PnsItzFRYXTIhhPpHtsqNdpQwI5R0pnHRS36482K5\nIiZnJqnCgEiDYP9Jh0NLng/mpH6IP+4Xr4Gw3jgk8lwEq49DrYUjeRH/P+1p\n5Uvd\r\n=6fr5\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","readme":"<p align=\"center\">\n  <a href=\"https://boardgame.io/\">\n    <img src=\"https://raw.githubusercontent.com/boardgameio/boardgame.io/main/docs/logo-optimized.svg?sanitize=true\" alt=\"boardgame.io\" />\n  </a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://www.npmjs.com/package/boardgame.io\"><img src=\"https://badge.fury.io/js/boardgame.io.svg\" alt=\"npm version\" /></a>\n<a href=\"https://github.com/boardgameio/boardgame.io/actions?query=workflow%3ATests\"> <img src=\"https://github.com/boardgameio/boardgame.io/workflows/Tests/badge.svg\" alt='Build Status'></a>\n<a href='https://coveralls.io/github/boardgameio/boardgame.io?branch=main'><img src='https://coveralls.io/repos/github/boardgameio/boardgame.io/badge.svg?branch=main' alt='Coverage Status' /></a>\n<a href=\"https://gitter.im/boardgame-io\"><img src=\"https://badges.gitter.im/boardgame-io.svg\" alt=\"Gitter\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"#readme\"><img src=\"https://img.shields.io/badge/Support_Us:-fff?style=flat-square\" alt=\"Support us:\" /></a>\n<a href=\"https://opencollective.com/boardgameio#support\"><img src=\"https://img.shields.io/badge/Open_Collective-fff?logo=open-collective\" alt=\"Open Collective\" /></a>\n<a href=\"https://github.com/sponsors/boardgameio\"><img src=\"https://img.shields.io/badge/GitHub_Sponsors-fff?logo=github-sponsors\" alt=\"GitHub Sponsors\" /></a>\n</p>\n\n<p align=\"center\">\n  <strong><a href=\"https://boardgame.io/documentation/#/\">Read the Documentation</a></strong>\n</p>\n\n<p align=\"center\">\n  <strong>boardgame.io</strong> is an engine for creating turn-based games using JavaScript.\n</p>\n\nWrite simple functions that describe how the game state changes\nwhen a particular move is made. This is automatically converted\ninto a playable game complete with online multiplayer\nfeatures, all without requiring you to write a single line of\nnetworking or storage code.\n\n### Features\n\n- **State Management**: Game state is managed seamlessly across clients, server and storage automatically.\n- **Multiplayer**: Game state is kept in sync in realtime and across platforms.\n- **AI**: Automatically generated bots that can play your game.\n- **Game Phases**: with different game rules and turn orders per phase.\n- **Lobby**: Player matchmaking and game creation.\n- **Prototyping**: Interface to simulate moves even before you render the game.\n- **Extendable**: Plugin system that allows creating new abstractions.\n- **View-layer Agnostic**: Use the vanilla JS client or the bindings for React / React Native.\n- **Logs**: Game logs with the ability to time travel (viewing the board at an earlier state).\n\n## Usage\n\n### Installation\n\n```sh\nnpm install boardgame.io\n```\n\n### Documentation\n\nRead our [Full Documentation](https://boardgame.io/documentation/) to learn how to\nuse boardgame.io, and join the [community on gitter](https://gitter.im/boardgame-io/General)\nto ask your questions!\n\n### Running examples in this repository\n\n```sh\nnpm install\nnpm start\n```\n\nThe examples can be found in the [examples](examples/) folder.\n\n#### Using VS Code?\n\nThis repository is ready to run in a dev container in VS Code. See [the contributing guidelines for details](CONTRIBUTING.md).\n\n## Changelog\n\nSee [changelog](docs/documentation/CHANGELOG.md).\n\n## Get involved\n\nWe welcome contributions of all kinds!\nPlease take a moment to review our [Code of Conduct](CODE_OF_CONDUCT.md).\n\n🐛 **Found a bug?**  \nLet us know by [creating an issue][new-issue].\n\n❓ **Have a question?**  \nOur [Gitter channel][gitter] and [GitHub Discussions][discussions]\nare good places to start.\n\n⚙️ **Interested in fixing a [bug][bugs] or adding a [feature][features]?**  \nCheck out the [contributing guidelines](CONTRIBUTING.md)\nand the [project roadmap](roadmap.md).\n\n📖 **Can we improve [our documentation][docs]?**  \nPull requests even for small changes can be helpful. Each page in the\ndocs can be edited by clicking the “Edit on GitHub” link at the top right.\n\n💸 **Want to support the project financially?**  \nWe accept donations via [GitHub Sponsors][sponsors] and on [Open Collective][collective].\n\n[new-issue]: https://github.com/boardgameio/boardgame.io/issues/new/choose\n[gitter]: https://gitter.im/boardgame-io/General\n[discussions]: https://github.com/boardgameio/boardgame.io/discussions\n[bugs]: https://github.com/boardgameio/boardgame.io/issues?q=is%3Aissue+is%3Aopen+label%3Abug\n[features]: https://github.com/boardgameio/boardgame.io/issues?q=is%3Aissue+is%3Aopen+label%3Afeature\n[docs]: https://boardgame.io/documentation/\n[sponsors]: https://github.com/sponsors/boardgameio\n[collective]: https://opencollective.com/boardgameio#support\n\n## License\n\n[MIT](LICENSE)\n","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"9e89b31fccf6fc5b38d6614149f6c2d18fe5b877","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"delucis","email":"swithinbank@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.15","description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.7","dependencies":{"koa":"^2.13.3","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.30","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^5.0.0","koa-body":"^4.2.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.13.4","prop-types":"^15.5.10","@koa/router":"^10.1.1","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa__router":"^8.0.8","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.16.0","typescript":"^3.8.2","@babel/core":"^7.16.0","@babel/node":"^7.16.0","@types/jest":"^27.0.1","@types/node":"^14.0.24","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.16.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.16.0","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.16.0","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-transform-modules-commonjs":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.50.0-alpha.1_1642959075843_0.14010881147573362","host":"s3://npm-registry-packages"}},"0.49.11":{"name":"boardgame.io","version":"0.49.11","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.49.11","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"},{"name":"Luca Vallisa"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"4fd350cd03fbce0f9d81e186199a0a195366a021","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.49.11.tgz","fileCount":296,"integrity":"sha512-jTkYFham5fbe18jbr0fVHB7L0hKjpGqHTuvIYNsxuDjwqih7157Xs3WDh9EARl7OViUNHTGNSlmTMDwaOEL8dg==","signatures":[{"sig":"MEQCIBtaeJT3NBBSIX3mFX783BPXCODKmpffnu6MAJPsqnawAiA6sqOIYBmKKfN/HmXvG0qShRYQDraEOTrmKjCK76virQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2907684,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFQm4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoEVw//Yr91ZD9yuVcH6tFtgnMCOqpCmJCCswji6d8Bvk2Sf0d1AIYF\r\nncJ1PJwYfd92QtYzR8jntmQM69XH4vG/o0gId8xGBNcTbcFjsVeXwMAA4jMo\r\noSfVnKwBGSYSNXRhHpdqhBP92BjeKOLGdD4ddzwZD0KY6nMLPUg9dRYaPkn7\r\nm2BdVrpcXgkh8ERauzSxMewJwya8OCK0Vz0UnW/BWZJd19/cxwPttKdMnPk6\r\nQEcdjb7owxGwyYaQRU8HNM2y12uOO8w7fE7LdozBML9C5Fbcr8lXylslliwr\r\ncM4+wWEH6/o7bKQ1AaAyguftDlf+TjLxiPYiN4SeuHXqcxz9366Xbu3BZTND\r\n+wT7H9Ra47IEhldY4Ii6w5uRMTrWmUpQhu7RER0fz0hrcVFjE/pGeCwfH6pt\r\neqb69zQMRHz1N70f4U/uzmaYBZdXaXjEWthg4omcQo7sdu6oH8v82pOpmshE\r\n/sl6m+HH/KCe/XTG/fwlBhF5WXzzSqODRDzuIgfO32XQnRf4shyxZAZUjLgM\r\nQ/LfpkUAwdwpVVeMU+yG1idlz6Ws+OB2kWKHmpaF6o+PXPm6ihyLGUx4VPip\r\nOXg596xtoZT3zdvFlrGbW/y34vXLeBInb93RDbzCf1SwCOSxI7EP9MjmbpKU\r\nKws6EA8AWo++o+BySu4NEBX76oebjwQ5HPM=\r\n=C1WS\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"e02afa7cb9466c9d88132adb1fc4cacfc36a7427","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.16","description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.10","dependencies":{"koa":"^2.13.3","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.30","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^5.0.0","koa-body":"^4.2.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.13.4","prop-types":"^15.5.10","@koa/router":"^10.1.1","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa__router":"^8.0.8","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.16.0","typescript":"^3.8.2","@babel/core":"^7.16.0","@babel/node":"^7.16.0","@types/jest":"^27.0.1","@types/node":"^14.0.24","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.16.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.16.0","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.16.0","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-transform-modules-commonjs":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.49.11_1645545912747_0.059254959652767614","host":"s3://npm-registry-packages"}},"0.50.0-alpha.2":{"name":"boardgame.io","version":"0.50.0-alpha.2","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.50.0-alpha.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"},{"name":"Luca Vallisa"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"d028a4f073dec398acc598fe6c322c70e095276f","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.50.0-alpha.2.tgz","fileCount":298,"integrity":"sha512-1nW9RjrYERIVhAyM1MJ0qOFxeC0bFP2AR/TBsAUQw+ROpnelJn2T0iW+5dv2w6LDnf3mb+qLUmP2RL9keaHrbg==","signatures":[{"sig":"MEUCIBMx+Xww0vCstj7BdBNtY+m5Xu7nr+kT2jf0lasH1LBNAiEA7SrUuwuR0X35P7pvJ/Zv4T5PRE+fBlCtptoauefQCNU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2929756,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFUv2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrH2xAAo18DzBvkQMnFik0FHQy9sExzjwK/R5hYwlh59Zvnzwqiuuxq\r\nfGioiDpPx40okBkAMrlau+oB5Pzowz3khadYNl4tRXjtH0VrGbcY5k7aO7oF\r\nxxH2cMnUv2i0y46+AnrSD5YHvGAcLsmjTe9fj23lq16AZA9teyvSek1Ssw3p\r\nn46l84nzHdcNVAysh+irR0qEKqMVDRAh9JyiQ/Ph0XgSyCgXjot6jY0khxq2\r\nSSS3sRJOjPppwKMadx9gYRAcCO9aTWXSATMqY6Rcv1ZWK4LhlhqW3cni96kI\r\npXoxxfqTxRJij9wjHQxCtFyD8FMPWi8AOX5OdJP9D2Kwjh6BVpQEEopa42wd\r\nls1VhDcD6VogEa+skaFshApgvHzCdYlREo/TWgEk3q2uBd9FeOfsQyyV0hjO\r\nA9/cyjWkqpGg/dHHox261f862H6hT+UmNvyKIQFLLlx6m6l2trAXhzBAKmK9\r\n56McsGfDzgAWIgxTkCiSuzyrBctWUteTuXcOH/KFUyx0Eukn+JFetC//eKMt\r\ny8kA98H53GnI4YzFQPrIQi9Hpr5VjL/cHCnbH759mUebHyPa+iUrTULbd6Dq\r\nL2NMrmwTpQoBZJ4NLtltDqabZf/IA9Yw+eWsTvG8TLwDvF0mwEWLw/Aa714r\r\nuqZNe8xS22iByOkrAjD/CgDDWdTuv2OiEP0=\r\n=l4TU\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","readme":"<p align=\"center\">\n  <a href=\"https://boardgame.io/\">\n    <img src=\"https://raw.githubusercontent.com/boardgameio/boardgame.io/main/docs/logo-optimized.svg?sanitize=true\" alt=\"boardgame.io\" />\n  </a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://www.npmjs.com/package/boardgame.io\"><img src=\"https://badge.fury.io/js/boardgame.io.svg\" alt=\"npm version\" /></a>\n<a href=\"https://github.com/boardgameio/boardgame.io/actions?query=workflow%3ATests\"> <img src=\"https://github.com/boardgameio/boardgame.io/workflows/Tests/badge.svg\" alt='Build Status'></a>\n<a href='https://coveralls.io/github/boardgameio/boardgame.io?branch=main'><img src='https://coveralls.io/repos/github/boardgameio/boardgame.io/badge.svg?branch=main' alt='Coverage Status' /></a>\n<a href=\"https://gitter.im/boardgame-io\"><img src=\"https://badges.gitter.im/boardgame-io.svg\" alt=\"Gitter\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"#readme\"><img src=\"https://img.shields.io/badge/Support_Us:-fff?style=flat-square\" alt=\"Support us:\" /></a>\n<a href=\"https://opencollective.com/boardgameio#support\"><img src=\"https://img.shields.io/badge/Open_Collective-fff?logo=open-collective\" alt=\"Open Collective\" /></a>\n<a href=\"https://github.com/sponsors/boardgameio\"><img src=\"https://img.shields.io/badge/GitHub_Sponsors-fff?logo=github-sponsors\" alt=\"GitHub Sponsors\" /></a>\n</p>\n\n<p align=\"center\">\n  <strong><a href=\"https://boardgame.io/documentation/#/\">Read the Documentation</a></strong>\n</p>\n\n<p align=\"center\">\n  <strong>boardgame.io</strong> is an engine for creating turn-based games using JavaScript.\n</p>\n\nWrite simple functions that describe how the game state changes\nwhen a particular move is made. This is automatically converted\ninto a playable game complete with online multiplayer\nfeatures, all without requiring you to write a single line of\nnetworking or storage code.\n\n### Features\n\n- **State Management**: Game state is managed seamlessly across clients, server and storage automatically.\n- **Multiplayer**: Game state is kept in sync in realtime and across platforms.\n- **AI**: Automatically generated bots that can play your game.\n- **Game Phases**: with different game rules and turn orders per phase.\n- **Lobby**: Player matchmaking and game creation.\n- **Prototyping**: Interface to simulate moves even before you render the game.\n- **Extendable**: Plugin system that allows creating new abstractions.\n- **View-layer Agnostic**: Use the vanilla JS client or the bindings for React / React Native.\n- **Logs**: Game logs with the ability to time travel (viewing the board at an earlier state).\n\n## Usage\n\n### Installation\n\n```sh\nnpm install boardgame.io\n```\n\n### Documentation\n\nRead our [Full Documentation](https://boardgame.io/documentation/) to learn how to\nuse boardgame.io, and join the [community on gitter](https://gitter.im/boardgame-io/General)\nto ask your questions!\n\n### Running examples in this repository\n\n```sh\nnpm install\nnpm start\n```\n\nThe examples can be found in the [examples](examples/) folder.\n\n#### Using VS Code?\n\nThis repository is ready to run in a dev container in VS Code. See [the contributing guidelines for details](CONTRIBUTING.md).\n\n## Changelog\n\nSee [changelog](docs/documentation/CHANGELOG.md).\n\n## Get involved\n\nWe welcome contributions of all kinds!\nPlease take a moment to review our [Code of Conduct](CODE_OF_CONDUCT.md).\n\n🐛 **Found a bug?**  \nLet us know by [creating an issue][new-issue].\n\n❓ **Have a question?**  \nOur [Gitter channel][gitter] and [GitHub Discussions][discussions]\nare good places to start.\n\n⚙️ **Interested in fixing a [bug][bugs] or adding a [feature][features]?**  \nCheck out the [contributing guidelines](CONTRIBUTING.md)\nand the [project roadmap](roadmap.md).\n\n📖 **Can we improve [our documentation][docs]?**  \nPull requests even for small changes can be helpful. Each page in the\ndocs can be edited by clicking the “Edit on GitHub” link at the top right.\n\n💸 **Want to support the project financially?**  \nWe accept donations via [GitHub Sponsors][sponsors] and on [Open Collective][collective].\n\n[new-issue]: https://github.com/boardgameio/boardgame.io/issues/new/choose\n[gitter]: https://gitter.im/boardgame-io/General\n[discussions]: https://github.com/boardgameio/boardgame.io/discussions\n[bugs]: https://github.com/boardgameio/boardgame.io/issues?q=is%3Aissue+is%3Aopen+label%3Abug\n[features]: https://github.com/boardgameio/boardgame.io/issues?q=is%3Aissue+is%3Aopen+label%3Afeature\n[docs]: https://boardgame.io/documentation/\n[sponsors]: https://github.com/sponsors/boardgameio\n[collective]: https://opencollective.com/boardgameio#support\n\n## License\n\n[MIT](LICENSE)\n","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"ba69844d4aa7b30f5841fad89e6c806bc1c0555d","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"delucis","email":"swithinbank@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.15","description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"koa":"^2.13.3","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.30","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^5.0.0","koa-body":"^4.2.0","@koa/cors":"^3.1.0","socket.io":"^4.1.3","@types/koa":"^2.13.4","prop-types":"^15.5.10","@koa/router":"^10.1.1","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa__router":"^8.0.8","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.16.0","typescript":"^3.8.2","@babel/core":"^7.16.0","@babel/node":"^7.16.0","@types/jest":"^27.0.1","@types/node":"^14.0.24","docsify-cli":"^4.4.3","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.16.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.16.0","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.16.0","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-transform-modules-commonjs":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.50.0-alpha.2_1645562870272_0.9020289061652769","host":"s3://npm-registry-packages"}},"0.49.12":{"name":"boardgame.io","version":"0.49.12","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.49.12","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"},{"name":"Luca Vallisa"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"72fdee2b877350955ec1a5a9d9a63a746a78d898","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.49.12.tgz","fileCount":296,"integrity":"sha512-fFRdUM3oEzLdC4AgK6P9AsveqPfmCoK/OynCzR4mT8S0YkKhRTuoYSJNRSHfvSev4oOShsak4/FkXOIOCRyNfw==","signatures":[{"sig":"MEUCIBl4DjwkyAtARyjtTlDnkiE3HN1C2ZCjmoqA9iCIurX5AiEAyxoqIon6m7WRZLFDKOG5KO0GjOndoXol0UWHe9UqBw8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2909230,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiduDzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqQfg//UC+2AKC5rbdTAQWvMpKBpY6xc+F8/L7xp8LWKWP5ebyZmq1g\r\noOSEPY7sPpUXIAR+kxlIpK/yj4KCgfLv85nfQwgkN52Z5J6qJDAov/z7DK+m\r\nju2K7COGkvfKZiBRf2FKj8yWdsXeKcxJgOAM1pGYeI/3QWIt4An9a9xNtQpe\r\n3FsPJmixyyadn9RiflVPvdmdrh+n596wsbCpe0Ls4NwLwaFaNL2FKsETKGaA\r\nAb+R897ma4e6gQwk97KHuvXUZYiPrUiDZkueUfNMlDyyWXQX4eEQTR90gNrR\r\nDLOs0LHJClMkZsQ+sA6JVIl56yo9Z08bOTzjWUH3CDUrFHyydnhQ8g+bvwBm\r\nQKSgwkqpPQDjtDeJjw9dA7pK361feARHgqrkaNhsh0VD+wdR+twFZ9tvAl8+\r\ngY5f0hwM/EJXDtoK8XajOC3qtw3oQSAPTjtgrlPNMpbY0FJlXx8R4dTXzVcS\r\noW9SW3n5wfWiGyQMUR30FrNKIdt3AVHpIiN8qpFn4Ybf5guV77Z/R2LDNb8s\r\nGVJrqgie16I8fytBg/7KFSp2Dng+/OzbalqA4Ur4YbbNiPE0XspYkVMWI1uF\r\nv6V4rUKfIoVLxSbRVP27ZdQgg6NB1NW5Eslm8NxHTJOvCEaMfYPZeavlL8vQ\r\ntp2u+VV9+JUle0XD0d97tJFNDPEUV81C+qE=\r\n=ptDF\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"3cef3bb2be9b82a2baa53efceeb8ef80f45da070","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.16","description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.12","dependencies":{"koa":"^2.13.3","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.30","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^5.0.0","koa-body":"^5.0.0","@koa/cors":"^3.1.0","socket.io":"^4.5.0","@types/koa":"^2.13.4","prop-types":"^15.5.10","@koa/router":"^10.1.1","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa__router":"^8.0.8","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.16.0","typescript":"^3.8.2","@babel/core":"^7.16.0","@babel/node":"^7.16.0","@types/jest":"^27.0.1","@types/node":"^14.0.24","docsify-cli":"^4.4.4","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.16.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.16.0","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.16.0","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-transform-modules-commonjs":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.49.12_1651958002729_0.3954476707330865","host":"s3://npm-registry-packages"}},"0.49.13":{"name":"boardgame.io","version":"0.49.13","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.49.13","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"},{"name":"Luca Vallisa"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"c8b96515ef476f028f12d70e96ef79f0f3b99d5f","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.49.13.tgz","fileCount":296,"integrity":"sha512-SEqjNNq/UtzkV7w7OV2t6CMz3CeUc/tACKUX68rHR1MJxyiVcdisds56AvW+wxopjxUAWFY+AkCM57WybStNUQ==","signatures":[{"sig":"MEYCIQCx2ObRwTwOL1mSeb/lKv8qfSrBJVcgTuMm3+ZD7khFKQIhAIQNAhxcZeg4buUoeS54Vz2EmuSlnVhG4QQVVaMEv/6b","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2920634,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjROvXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpvGA//ZfSKkpbFXjFkqIpmqtDlUmYKwLLq6ADO0SxM4mNDGIv6xiAk\r\nBdCmnKkj2Pxi0bRkZQpSQb2by51e9nsFm5LJsC12tVbbJNT4N0o37AbVzsZA\r\nIgZX/GTpybXwamjuw9ZPPrFDiCA2DtmeZzqE0u/EJTQ2GT/Fyh+94XfqLfhl\r\nCqdOUv1LbPBz0Xw048q5DUyIH85KG3kOXzx0+pYNehizR1zAw+w9rq0m6HOs\r\nAILoj14eVyHQY2jEAyQ5Lmuk0qanhnoWR1dl+EeJGoHu1JQGgSdGCK/IFaZM\r\n0xDmKpVmGNwEZCEZban8MCryP4b5Z/cz8B4nTPGrKQgcdNRiKACa/D+VvO5b\r\nlhM1LHFnQzEbIL+a7Rqhu1N2u5VALVh0dUCK5rEKEZg4hI8SHpjyo3caoeJ7\r\nv4vJf4gqTvDgn66ZXCbHSGLkEujU82YGcj5STZIlOtxjYVgIjQGgj+ZHFF4w\r\nscp3aEWxQZJ9DBqlzwB4rc2rE4A3p3SIkjKw/d+OcoIFXsx3wSFZQiJ3P8kY\r\nMl8n1dU+2K8DIdMrMjPz5pzEeyWBG5GYOa/sa4WOsoLZ+Vl3ygeXmuQ3g3yP\r\nPzWnqEcx8aTtdsXRfTaWONJWPFTlSksU+xObJ2kjYlBIRsNgf8HUNbtPjmS7\r\nR8vKmIIbxK62CSk55gXsNSiGx7PCXZVpOyw=\r\n=wR/k\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"aa99a9cce28012cb747fa6db8b3f8ad73c28be0a","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"flamecoals","email":"felizardow@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"8.11.0","description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"koa":"^2.13.3","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.30","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^5.0.0","koa-body":"^5.0.0","@koa/cors":"^3.1.0","socket.io":"^4.5.0","@types/koa":"^2.13.4","prop-types":"^15.5.10","@koa/router":"^10.1.1","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa__router":"^8.0.8","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.16.0","typescript":"^3.8.2","@babel/core":"^7.16.0","@babel/node":"^7.16.0","@types/jest":"^27.0.1","@types/node":"^14.0.24","docsify-cli":"^4.4.4","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.16.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.16.0","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.16.0","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-transform-modules-commonjs":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.49.13_1665461207245_0.6550404353644734","host":"s3://npm-registry-packages"}},"0.50.0":{"name":"boardgame.io","version":"0.50.0","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.50.0","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"},{"name":"Luca Vallisa"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"c4db8b5c3e100a0a07feea925e66d84a92955c6a","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.50.0.tgz","fileCount":296,"integrity":"sha512-zcaH7PqY9JxvgwMSMQc0dyxEAFFvSN4NVOBRJwiHzak3SOQGiknmkTh3FD+ti0HO/Jmj9KN/Z0AfTY0NnRi07A==","signatures":[{"sig":"MEYCIQCuZlENBhvhtn10SX3Tu12Q4dBCW4DeJjtsqj24UlCqrQIhAKHlRknjoXgkuBbEsrt8r7PvWLqt+gj585RjSdcJk1ZO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2930540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRQLeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoXog/8DIzy0HvjX6ILU59GL3FaLXzbvqwbQZJggYFUApPOfeg9wa2P\r\ntkazE0mPzJWsnVOIcDS0UId2SE5zpcSZiq2lFJQ/1HK+3l3oOiy1p7zUW3m/\r\nw4Spd0LcFRx8+1c/5+p6BYK2ePmXucJ5lvsG51C89IaGOQBs7r4A2kEKH4uh\r\nhfO/MdviWjb9Jqi1GcJE9yPsN5G9qkf3V8ly2y/0Bm6cosOFpWjasK2lhWCE\r\ng3A1HMZfg6cE68PxHUp1D3FyJjXxlqJGj7hLWNfYW5vt0i8hHIPSnZamNb6a\r\nivZ8I7kAAqnaiU3j1DQeheuhVSLBsBkDiLuFMqH2lSVa3f6WjdkcdZSndUSE\r\nrM57V4BRQiXSrsrIqrbvutR/HoPOmZ2tVhxHdwBK33s6gzWogB1/iISM7Bvz\r\n+Iijxf3A+KfMB+cIHz9MQUM4eeCqHAKprqhRVT0IQrkFpsAUZ0Ogmnvjszz7\r\nZeOlYFMvpgiwNB42CNn/ay1Yk8vR1Jdr9vivXRcn64eMmfcfhkYUGbrZjtTT\r\nWAkfoQoj3WEIG/SPnedBCLY5S5Qa4Lr/drJsPv6FLTN1e5D+klORODSnCITO\r\nkaddRcHChnvK/ohxwLPFpTxKpTiTStS+PbTXhbpRZ6CWtd6/7T37xDi+1Jw4\r\nqWJZHydMBjfevgLMA7hWB73WK6nYbSU1ab0=\r\n=xf39\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"249e84a92e875c4ab05261b7087acfac866ef31e","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.16","description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.12","dependencies":{"koa":"^2.13.3","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.30","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^5.0.0","koa-body":"^5.0.0","@koa/cors":"^3.1.0","socket.io":"^4.5.0","@types/koa":"^2.13.4","prop-types":"^15.5.10","@koa/router":"^10.1.1","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa__router":"^8.0.8","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.16.0","typescript":"^3.8.2","@babel/core":"^7.16.0","@babel/node":"^7.16.0","@types/jest":"^27.0.1","@types/node":"^14.0.24","docsify-cli":"^4.4.4","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.16.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.16.0","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.16.0","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-transform-modules-commonjs":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.50.0_1665467102017_0.7866496488648065","host":"s3://npm-registry-packages"}},"0.50.1":{"name":"boardgame.io","version":"0.50.1","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.50.1","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"},{"name":"Luca Vallisa"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"1fead654213f68f6e94cd6934aae7be0c628981e","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.50.1.tgz","fileCount":296,"integrity":"sha512-FyOwA2IzZ3B/2sRjkWiaZzTAmm37DtXT5Rzr7uThiHKxbBl9uUMQjd+YnRFKUUkbhJdjY2cu7++7L6iiTzVcSg==","signatures":[{"sig":"MEUCIEJY/csZ3UP9coP+DS2iDJoCJqvbyL9ehp7QtjcurquUAiEA9xctn8ONJiUtnmE024W23Oi5JyQiDzJeuCj4uObe0sA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2930772,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWar8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrl4A//XXE6ao+ltpYZ8uVR/Ws2+zwQspRK7qd33QvrIyLC7Rq1Zupd\r\nUeR5eaQCjHs7Lgvh0njLxk1e1FbxN4FKz844NJ/kjVLbZq/hK0SicYPDyxaB\r\nfiJf242ZXSQzrixfEylvFoTyMmJvWi6zQME0nafO8vMCZna5T42WWlY6Eh/9\r\nFSnvou+rHStlSrYsM6y2QeDTZotmNTHDMyoY5KgyTO65R1Z3H1HK/jWF95Q7\r\n4MvWj0ZvYmBvY0MgIbQatc6uo+wdeO52LGDL4hDuoqP0zj40IMgs8XxrqD12\r\nNNFvhgRkQYgLbA3Io+8usIWJJlJvhObIjiSsBDcYCX4N7JGlEyoF1AROxfUe\r\nBMo64/nCpRr9aHTX0x9Qa1PS5LrD/KGW+x00xPn5CGx2whflo346+QMb1QDn\r\nAozcC69ohB6LRyfOegMTDIZrzR9fjFONV7n/mfZ5tjrKY6gFowGZYPR1X7dd\r\nAS5sOrLJ1peXhaFfI+rrOQvM8vMyPoUXDqy8Q50LqNLzNs5W0ufA3a4Lncv6\r\niS8vIUh/c0Srczj1LnCf52QC07+AvNWCHdOtosxxdGEkPrEMSzANrxMgX0eh\r\nv68gBkGgsGGvtXaPQSg8Vq2CUFhDIeojfbLiCxX1EdO01MMaUzN69nhkSrDj\r\n2w+UgeGn0CfamXRL5cwFoIKptDVFr/FTcSA=\r\n=47lp\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"afc16c6ec20d35665e947894af921893584d1c0f","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.16","description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.12","dependencies":{"koa":"^2.13.3","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.30","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^5.0.0","koa-body":"^5.0.0","@koa/cors":"^3.1.0","socket.io":"^4.5.0","@types/koa":"^2.13.4","prop-types":"^15.5.10","@koa/router":"^10.1.1","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa__router":"^8.0.8","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.16.0","typescript":"^3.8.2","@babel/core":"^7.16.0","@babel/node":"^7.16.0","@types/jest":"^27.0.1","@types/node":"^14.0.24","docsify-cli":"^4.4.4","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.16.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.16.0","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.16.0","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-transform-modules-commonjs":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.50.1_1666820859789_0.0795489633405797","host":"s3://npm-registry-packages"}},"0.50.2":{"name":"boardgame.io","version":"0.50.2","keywords":["board games","card games","tabletop games","game engine"],"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","_id":"boardgame.io@0.50.2","maintainers":[{"name":"nicolodavis","email":"nicolodavis@gmail.com"},{"name":"jasonharrison","email":"me@jasonharrison.us"},{"name":"flamecoals","email":"felizardow@gmail.com"},{"name":"delucis","email":"swithinbank@gmail.com"}],"contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"},{"name":"Luca Vallisa"}],"homepage":"https://github.com/boardgameio/boardgame.io#readme","bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"dist":{"shasum":"766d821004c0d93e41d75abe2686696ebc6fb2d5","tarball":"https://registry.npmjs.org/boardgame.io/-/boardgame.io-0.50.2.tgz","fileCount":296,"integrity":"sha512-oEcgtiDidTk2Mvweg3issGxOxMwOTTPlkHMoLexQ0LTQJXl60P3vA026SLYy313nrHM6s/vK7qE7TavMFxyC0g==","signatures":[{"sig":"MEUCIQC/MMA1iFWiWkj0YvO1RTTv2FiNJYpTkRYnQlVuENqVhgIgQoQUfHw3XF/LEeEZiXXqMVWHyaiFVaK3wXGe1kWBz7w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2930772,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbECiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrGQxAAnn1J2IWzSpZ1DwY0Eo+0W2OiWapOGE99BzL5k5yWszP/19qk\r\nFjvsKl3fPKNHorVp9IldTBcepD3tW4mA7d1es8qDLRDaRhxgnQhpYF5koWoo\r\ndEf0lMOxHaNCnrwh/upNTdQeiBldjLOVjyJ0YcvyXTktODd0rX0QvE+94kS7\r\ngc1eGumWvje91IPaw/d+9jf46/l2KrLk+Xijx8oJ2fSxRQ8OqGlj9vuGFGEf\r\nr7JsYv4nAM+Vf3yNk/m1YFCt2py5juUxHSvgJ7wz2HC9Dp6lULCq31vsVWEg\r\n0ZF+9ncfYsHfw48AvHqbFeJrtJ2rqR7v5U2oIPBT9ze0ohaR+XS1SNdFr+k+\r\nmgmydp2lbQ0oWCKvL/ovbVn48KYWbjWdayETT2Neam6/m8ooyQEdgnhqczG9\r\nfjIopdhUkvOas10NJpnC3vzEP+ICzNEUH95fKKVuqOfgAhN2SEnh8gGGOvfY\r\nM/7XxRZ++RQ00oNztllN8kQkQZopnNY/SZF0ix0RN+oFfljM908nweL3T7gq\r\nJdXV1yP0QI1yHH+a0oC0AhIW3p9DC2aXGSUSkGnysB//fQIOprKoQbDtSiTY\r\n7J7/Y81s64xDaNKrWaCz57kSe7amvNZKY7PEau1mMunFXLbLQn6/0OFZ3v/q\r\n4gwTxKaJVnAkZmtpVm8EEOrYkhvuDhgSOys=\r\n=DCXz\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest/presets/js-with-babel","transform":{"^.+\\.svelte$":"jest-transform-svelte"},"setupFiles":["raf/polyfill","jest-date-mock"],"testEnvironment":"jsdom","moduleNameMapper":{"\\.(css)$":"identity-obj-proxy","\\.(svg)$":"<rootDir>/.empty_module.js","svelte-json-tree-auto":"<rootDir>/src/client/debug/tests/JSONTree.mock.svelte"},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"],"testPathIgnorePatterns":["examples/","integration/","node_modules/",".npm/"],"transformIgnorePatterns":["node_modules/(?!(boardgame.io|flatted|svelte-icons)/)"],"coveragePathIgnorePatterns":["/node_modules/","src/client/transport/dummy","src/client/debug/.*","src/types.ts"]},"main":"dist/boardgameio.js","husky":{"hooks":{"pre-push":"npm run test:coverage","pre-commit":"lint-staged"}},"types":"dist/types/src/types.d.ts","unpkg":"dist/boardgameio.min.js","module":"dist/boardgameio.es.js","engines":{"npm":">=6.0","node":">=10.0"},"funding":["https://github.com/boardgameio/boardgame.io?sponsor=1",{"url":"https://opencollective.com/boardgameio","type":"opencollective"}],"gitHead":"2945c30e536517cf819e000f33d9d08bacaac297","scripts":{"ts":"tsc --noEmit","dev":"run-p build:watch dev:server dev:client","docs":"docsify serve docs","lint":"eslint .","test":"cross-env NODE_ENV=test jest","build":"cross-env BABEL_ENV=rollup rollup --config rollup.config.js  --silent","clean":"node ./scripts/clean.js","start":"run-p dev:server dev:client","predev":"npm run examples:install","prepack":"run-s build proxydirs","pretest":"npm run lint","examples":"npm run start","lint:fix":"eslint --fix .","postpack":"npm run clean","prestart":"run-p examples:install build","prettier":"prettier --write \"{examples,src,benchmark}/**/*.{ts,tsx,js,jsx,css,md}\"","ts:watch":"tsc --noEmit --watch","benchmark":"babel-node --extensions .ts,.js --presets @babel/preset-env,@babel/preset-typescript benchmark/index.js","changelog":"node ./scripts/changelog.js","proxydirs":"node scripts/proxy-dirs.js","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","test:watch":"npm test -- --watch","build:watch":"cross-env BABEL_ENV=rollup rollup -w --config rollup.config.js","test:coverage":"npm test -- --coverage --collectCoverageFrom=\"src/**\"","prepublishOnly":"npm run clean","test:coveralls":"coveralls < coverage/lcov.info","examples:install":"node scripts/install-examples.js","test:integration":"node ./scripts/integration.js"},"_npmUser":{"name":"nicolodavis","email":"nicolodavis@gmail.com"},"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"_npmVersion":"6.14.16","description":"library for turn-based games","directories":{},"sideEffects":false,"_nodeVersion":"12.22.12","dependencies":{"koa":"^2.13.3","immer":"^9.0.5","redux":"^4.1.0","nanoid":"^3.1.30","svelte":"^3.41.0","flatted":"^3.2.1","p-queue":"^6.6.2","rfc6902":"^5.0.0","koa-body":"^5.0.0","@koa/cors":"^3.1.0","socket.io":"^4.5.0","@types/koa":"^2.13.4","prop-types":"^15.5.10","@koa/router":"^10.1.1","ts-toolbelt":"^6.3.6","koa-socket-2":"^2.0.0","setimmediate":"^1.0.5","react-cookies":"^0.1.0","socket.io-client":"^4.1.3","@types/koa__router":"^8.0.8","lodash.isplainobject":"^4.0.6","svelte-json-tree-auto":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"raf":"^3.4.1","jest":"^27.1.0","husky":"^4.3.8","react":"^16.14.0","tempy":"^1.0.1","enzyme":"^3.11.0","eslint":"^7.31.0","rollup":"^1.0.2","nodemon":"^2.0.12","shelljs":"^0.8.4","ts-jest":"^27.0.5","prettier":"^2.3.2","benchmark":"^2.1.4","cross-env":"^7.0.3","react-dom":"^16.14.0","supertest":"^3.1.0","@babel/cli":"^7.16.0","typescript":"^3.8.2","@babel/core":"^7.16.0","@babel/node":"^7.16.0","@types/jest":"^27.0.1","@types/node":"^14.0.24","docsify-cli":"^4.4.4","lint-staged":"^10.5.4","npm-run-all":"^4.1.5","ttypescript":"^1.5.12","@types/react":"^16.14.11","node-persist":"^3.1.0","svelte-icons":"^2.1.0","@types/enzyme":"^3.10.9","jest-date-mock":"^1.0.8","@types/koa__cors":"^3.0.3","@types/react-dom":"^16.9.14","@types/supertest":"^2.0.11","@babel/preset-env":"^7.16.0","eslint-plugin-jest":"^24.4.0","identity-obj-proxy":"^3.0.0","@babel/preset-react":"^7.16.0","eslint-plugin-react":"^7.24.0","rollup-plugin-babel":"^4.2.0","rollup-plugin-svelte":"^6.1.1","rollup-plugin-terser":"^5.3.0","eslint-plugin-unicorn":"^30.0.0","jest-transform-svelte":"^2.1.1","rollup-plugin-replace":"^2.1.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-filesize":"^6.0.0","ts-transformer-imports":"^0.4.3","@testing-library/svelte":"^3.0.3","enzyme-adapter-react-16":"^1.15.6","@babel/preset-typescript":"^7.16.0","@testing-library/jest-dom":"^5.14.1","@typescript-eslint/parser":"^4.29.3","rollup-plugin-typescript2":"^0.22.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","babel-plugin-module-resolver":"^4.1.0","@typescript-eslint/eslint-plugin":"^4.29.3","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-transform-modules-commonjs":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0"},"_npmOperationalInternal":{"tmp":"tmp/boardgame.io_0.50.2_1668038818203_0.7275107113600416","host":"s3://npm-registry-packages"}}},"time":{"created":"2017-10-01T21:57:15.985Z","modified":"2026-07-02T17:08:08.229Z","0.1.0":"2017-10-01T21:57:15.985Z","0.1.1":"2017-10-01T22:24:25.096Z","0.1.2":"2017-10-01T22:40:56.949Z","0.1.3":"2017-10-01T22:41:42.095Z","0.1.4":"2017-10-01T23:05:01.943Z","0.1.5":"2017-10-01T23:24:53.787Z","0.1.6":"2017-10-02T00:13:12.130Z","0.1.7":"2017-10-02T00:15:04.147Z","0.1.8":"2017-10-02T00:40:12.214Z","0.1.9":"2017-10-02T01:11:55.362Z","0.1.10":"2017-10-03T01:47:12.749Z","0.1.11":"2017-10-03T22:28:35.276Z","0.2.0":"2017-10-04T02:06:08.414Z","0.2.1":"2017-10-04T07:07:29.801Z","0.2.2":"2017-10-04T07:13:38.147Z","0.2.3":"2017-10-04T07:25:11.608Z","0.3.0":"2017-10-06T07:17:26.595Z","0.3.1":"2017-10-07T01:30:24.138Z","0.3.2":"2017-10-07T02:26:49.687Z","0.3.3":"2017-10-07T02:32:13.402Z","0.4.0":"2017-10-08T04:55:44.174Z","0.5.0":"2017-10-09T07:22:56.373Z","0.5.1":"2017-10-10T03:26:46.563Z","0.5.2":"2017-10-11T23:43:10.802Z","0.5.3":"2017-10-11T23:44:59.719Z","0.5.4":"2017-10-11T23:48:11.354Z","0.6.0":"2017-10-13T06:23:50.532Z","0.6.1":"2017-10-13T06:45:59.088Z","0.6.2":"2017-10-13T06:53:29.730Z","0.6.3":"2017-10-13T07:03:35.287Z","0.7.0":"2017-10-14T03:42:02.869Z","0.7.1":"2017-10-14T05:16:40.180Z","0.8.0":"2017-10-14T19:01:32.868Z","0.8.1":"2017-10-14T23:46:10.679Z","0.8.2":"2017-10-15T02:01:01.169Z","0.9.0":"2017-10-18T02:04:13.907Z","0.9.1":"2017-10-18T06:51:33.631Z","0.9.2":"2017-10-18T07:00:28.863Z","0.0.1-security":"2017-10-23T17:49:51.689Z","0.10.0":"2017-11-22T00:56:58.247Z","0.10.1":"2017-11-22T01:26:41.121Z","0.10.2":"2017-11-22T23:28:09.592Z","0.11.0":"2017-11-29T05:06:29.076Z","0.11.1":"2017-12-16T18:34:22.684Z","0.11.2":"2017-12-16T18:38:31.666Z","0.11.3":"2017-12-16T18:41:33.900Z","0.11.4":"2017-12-17T21:59:31.259Z","0.12.0":"2017-12-22T08:02:40.945Z","0.13.0":"2017-12-22T23:55:05.530Z","0.13.1":"2017-12-24T07:35:38.523Z","0.14.0":"2017-12-25T04:04:17.921Z","0.15.0":"2017-12-29T08:08:41.043Z","0.16.0":"2018-01-07T22:54:02.122Z","0.16.1":"2018-01-11T00:24:25.757Z","0.16.2":"2018-01-11T02:01:29.017Z","0.16.3":"2018-01-12T07:35:24.979Z","0.16.4":"2018-01-13T02:26:46.412Z","0.16.5":"2018-01-13T22:30:26.874Z","0.16.6":"2018-01-16T05:57:00.853Z","0.16.7":"2018-01-16T06:38:58.153Z","0.16.8":"2018-01-27T06:44:07.552Z","0.17.0":"2018-02-04T02:59:14.976Z","0.17.1":"2018-02-07T05:15:16.487Z","0.17.2":"2018-02-12T01:07:23.042Z","0.18.0":"2018-02-27T10:09:33.781Z","0.18.1":"2018-02-27T12:00:23.207Z","0.19.0":"2018-03-01T10:10:50.238Z","0.20.0":"2018-03-01T13:18:08.850Z","0.20.1":"2018-03-12T11:49:45.262Z","0.20.2":"2018-03-15T06:06:18.231Z","0.21.0":"2018-03-20T11:58:08.284Z","0.21.1":"2018-03-21T04:57:09.067Z","0.21.2":"2018-03-21T05:38:57.114Z","0.21.3":"2018-03-24T11:04:56.717Z","0.21.4":"2018-03-27T15:18:41.611Z","0.21.5":"2018-03-27T15:25:46.640Z","0.22.0":"2018-04-08T04:47:19.771Z","0.22.1":"2018-05-16T14:41:22.179Z","0.23.0":"2018-06-04T14:04:26.387Z","0.23.1":"2018-06-04T15:03:56.046Z","0.23.2":"2018-06-15T03:32:04.985Z","0.23.3-canary":"2018-06-19T13:13:56.690Z","0.23.3-canary-1":"2018-06-19T13:22:21.340Z","0.23.3-canary2":"2018-06-19T14:27:23.127Z","0.23.3":"2018-06-19T14:30:19.099Z","0.23.4-canary":"2018-07-02T11:49:00.331Z","0.24.0":"2018-07-02T11:54:30.728Z","0.25.0":"2018-08-04T06:53:50.848Z","0.25.1":"2018-08-06T14:04:22.199Z","0.25.2":"2018-08-06T14:27:08.799Z","0.25.3":"2018-08-06T14:43:28.039Z","0.25.4":"2018-08-07T02:32:06.620Z","0.25.5-canary":"2018-08-25T05:59:46.709Z","0.25.5":"2018-08-25T06:02:58.139Z","0.25.5-test":"2018-10-10T12:47:54.620Z","0.25.5-canary-a":"2018-10-10T12:53:16.740Z","0.26.0":"2018-10-15T08:00:10.847Z","0.26.1":"2018-10-15T08:06:06.858Z","0.26.2":"2018-10-16T08:07:35.154Z","0.26.3":"2018-10-19T08:26:23.292Z","0.27.0":"2018-11-15T15:18:08.156Z","0.27.1":"2018-11-18T14:28:19.505Z","0.28.0":"2018-11-21T12:28:32.954Z","0.28.1":"2018-12-30T02:52:03.908Z","0.29.0":"2018-12-30T14:31:16.853Z","0.29.1":"2019-01-04T15:44:51.462Z","0.29.2":"2019-01-05T01:21:43.885Z","0.29.3":"2019-01-08T15:10:51.133Z","0.29.4":"2019-01-09T02:11:31.164Z","0.29.5":"2019-01-09T13:14:24.445Z","0.30.0":"2019-01-11T16:51:18.284Z","0.31.0":"2019-01-22T15:20:45.257Z","0.31.1":"2019-01-22T15:36:11.313Z","0.31.2":"2019-02-15T14:44:55.126Z","0.31.3":"2019-03-03T13:06:49.710Z","0.31.4":"2019-03-20T13:00:15.990Z","0.31.5":"2019-05-04T13:31:02.860Z","0.31.6":"2019-05-25T04:32:47.932Z","0.31.7":"2019-06-02T12:04:35.940Z","0.32.0":"2019-06-11T13:03:48.608Z","0.32.1":"2019-07-04T14:28:56.771Z","0.33.0":"2019-09-30T15:22:41.975Z","0.33.1":"2019-10-01T15:05:31.819Z","0.33.2":"2019-10-08T13:44:09.807Z","0.34.0":"2019-10-26T12:58:04.046Z","0.34.1":"2019-10-26T13:01:50.533Z","0.35.0":"2019-11-27T14:22:55.884Z","0.35.1":"2019-11-27T15:39:22.962Z","0.36.0":"2020-02-06T13:41:53.190Z","0.37.0":"2020-02-11T14:09:39.396Z","0.37.1":"2020-02-12T23:48:24.243Z","0.37.2":"2020-02-14T15:51:49.484Z","0.38.0":"2020-03-16T02:46:42.320Z","0.38.1":"2020-03-17T14:31:38.663Z","0.39.0":"2020-03-24T13:24:14.963Z","0.39.1":"2020-03-24T13:42:34.616Z","0.39.2":"2020-03-24T16:06:08.364Z","0.39.3":"2020-03-25T02:58:19.013Z","0.39.4":"2020-03-28T13:30:01.944Z","0.39.5":"2020-04-06T16:41:44.409Z","0.39.6":"2020-04-12T23:49:29.571Z","0.39.7":"2020-04-14T04:55:49.099Z","0.39.8":"2020-04-22T00:52:37.396Z","0.39.9":"2020-04-22T10:17:56.798Z","0.39.10":"2020-05-02T08:44:05.101Z","0.39.11":"2020-05-16T06:00:25.789Z","0.39.12":"2020-06-04T01:29:58.607Z","0.40.0-alpha":"2020-06-13T01:08:40.429Z","0.39.13":"2020-06-13T01:34:20.807Z","0.39.14":"2020-06-20T08:43:54.406Z","0.39.15":"2020-07-18T06:07:03.930Z","0.39.16":"2020-07-22T15:00:07.153Z","0.40.0":"2020-09-01T08:35:23.229Z","0.41.0":"2020-10-16T15:17:27.355Z","0.41.1":"2020-10-16T15:22:10.991Z","0.42.0":"2020-11-07T18:46:03.529Z","0.42.1":"2020-11-29T17:40:06.045Z","0.42.2":"2020-12-05T23:56:14.939Z","0.43.0":"2021-01-15T22:26:06.692Z","0.43.1":"2021-01-15T23:51:27.820Z","0.43.2":"2021-01-21T01:45:27.732Z","0.43.3":"2021-02-24T14:02:45.062Z","0.44.0":"2021-04-07T13:37:52.237Z","0.44.1":"2021-04-15T19:56:04.499Z","0.44.2":"2021-04-28T21:08:54.914Z","0.44.3":"2021-05-12T10:45:45.058Z","0.44.4":"2021-05-25T16:02:42.333Z","0.45.0":"2021-07-08T18:19:35.781Z","0.45.1":"2021-07-13T18:21:59.791Z","0.45.2":"2021-07-19T09:58:39.705Z","0.46.0":"2021-08-02T17:53:30.736Z","0.46.1":"2021-08-02T22:52:02.426Z","0.46.2":"2021-08-07T07:50:15.542Z","0.47.0":"2021-08-11T07:46:50.765Z","0.47.1":"2021-08-14T11:33:13.227Z","0.47.2":"2021-08-15T09:59:58.950Z","0.47.3":"2021-08-15T18:40:50.434Z","0.47.4":"2021-08-22T12:26:19.378Z","0.47.5":"2021-08-24T21:42:30.215Z","0.47.6":"2021-08-24T22:58:21.741Z","0.47.7":"2021-08-26T12:47:41.587Z","0.47.8":"2021-08-26T21:06:26.626Z","0.47.9":"2021-08-28T19:43:54.344Z","0.47.10":"2021-09-04T14:57:59.266Z","0.48.0":"2021-09-04T18:51:50.917Z","0.49.0":"2021-10-03T18:04:00.098Z","0.49.1":"2021-10-06T23:08:36.204Z","0.49.2":"2021-10-16T22:33:04.961Z","0.49.3":"2021-10-22T09:59:40.255Z","0.49.4":"2021-10-26T22:37:15.229Z","0.49.5":"2021-11-05T17:37:13.176Z","0.49.6":"2021-11-29T21:44:16.217Z","0.49.7":"2021-12-16T09:18:07.448Z","0.49.8":"2021-12-23T15:01:19.899Z","0.49.9":"2022-01-04T00:22:29.895Z","0.49.10":"2022-01-11T22:06:23.985Z","0.50.0-alpha.0":"2022-01-23T16:16:46.865Z","0.50.0-alpha.1":"2022-01-23T17:31:16.076Z","0.49.11":"2022-02-22T16:05:12.969Z","0.50.0-alpha.2":"2022-02-22T20:47:50.568Z","0.49.12":"2022-05-07T21:13:23.006Z","0.49.13":"2022-10-11T04:06:47.391Z","0.50.0":"2022-10-11T05:45:02.324Z","0.50.1":"2022-10-26T21:47:40.042Z","0.50.2":"2022-11-10T00:06:58.455Z"},"bugs":{"url":"https://github.com/boardgameio/boardgame.io/issues"},"author":{"name":"nicolodavis@gmail.com"},"license":"MIT","homepage":"https://github.com/boardgameio/boardgame.io#readme","keywords":["board games","card games","tabletop games","game engine"],"repository":{"url":"git+https://github.com/boardgameio/boardgame.io.git","type":"git"},"description":"library for turn-based games","contributors":[{"name":"Nicolo John Davis"},{"name":"Google Inc."},{"name":"Saeid Alidadi"},{"name":"Lee Allen"},{"name":"Vinicius Felizardo"},{"name":"Joshua Christman"},{"name":"Selim Ajimi"},{"name":"Robert Sandu"},{"name":"Rifat Nabi"},{"name":"Satana Charuwichitratana"},{"name":"Pete Nykänen"},{"name":"Philihp Busby"},{"name":"Jason Harrison"},{"name":"Brendon Roberto"},{"name":"Luca Vallisa"}],"maintainers":[{"email":"nicolodavis@gmail.com","name":"nicolodavis"},{"email":"swithinbank@gmail.com","name":"delucis"}],"readme":"[![SWUbanner](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/Donate.md)\n\n<p align=\"center\">\n  <a href=\"https://boardgame.io/\">\n    <img src=\"https://raw.githubusercontent.com/boardgameio/boardgame.io/main/docs/logo-optimized.svg?sanitize=true\" alt=\"boardgame.io\" />\n  </a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://www.npmjs.com/package/boardgame.io\"><img src=\"https://badge.fury.io/js/boardgame.io.svg\" alt=\"npm version\" /></a>\n<a href=\"https://github.com/boardgameio/boardgame.io/actions?query=workflow%3ATests\"> <img src=\"https://github.com/boardgameio/boardgame.io/workflows/Tests/badge.svg\" alt='Build Status'></a>\n<a href='https://coveralls.io/github/boardgameio/boardgame.io?branch=main'><img src='https://coveralls.io/repos/github/boardgameio/boardgame.io/badge.svg?branch=main' alt='Coverage Status' /></a>\n<a href=\"https://gitter.im/boardgame-io\"><img src=\"https://badges.gitter.im/boardgame-io.svg\" alt=\"Gitter\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"#readme\"><img src=\"https://img.shields.io/badge/Support_Us:-fff?style=flat-square\" alt=\"Support us:\" /></a>\n<a href=\"https://opencollective.com/boardgameio#support\"><img src=\"https://img.shields.io/badge/Open_Collective-fff?logo=open-collective\" alt=\"Open Collective\" /></a>\n<a href=\"https://github.com/sponsors/boardgameio\"><img src=\"https://img.shields.io/badge/GitHub_Sponsors-fff?logo=github-sponsors\" alt=\"GitHub Sponsors\" /></a>\n</p>\n\n<p align=\"center\">\n  <strong><a href=\"https://boardgame.io/documentation/#/\">Read the Documentation</a></strong>\n</p>\n\n<p align=\"center\">\n  <strong>boardgame.io</strong> is an engine for creating turn-based games using JavaScript.\n</p>\n\nWrite simple functions that describe how the game state changes\nwhen a particular move is made. This is automatically converted\ninto a playable game complete with online multiplayer\nfeatures, all without requiring you to write a single line of\nnetworking or storage code.\n\n### Features\n\n- **State Management**: Game state is managed seamlessly across clients, server and storage automatically.\n- **Multiplayer**: Game state is kept in sync in realtime and across platforms.\n- **AI**: Automatically generated bots that can play your game.\n- **Game Phases**: with different game rules and turn orders per phase.\n- **Lobby**: Player matchmaking and game creation.\n- **Prototyping**: Interface to simulate moves even before you render the game.\n- **Extendable**: Plugin system that allows creating new abstractions.\n- **View-layer Agnostic**: Use the vanilla JS client or the bindings for React / React Native.\n- **Logs**: Game logs with the ability to time travel (viewing the board at an earlier state).\n\n## Usage\n\n### Installation\n\n```sh\nnpm install boardgame.io\n```\n\n### Documentation\n\nRead our [Full Documentation](https://boardgame.io/documentation/) to learn how to\nuse boardgame.io, and join the [community on gitter](https://gitter.im/boardgame-io/General)\nto ask your questions!\n\n### Running examples in this repository\n\n```sh\nnpm install\nnpm start\n```\n\nThe examples can be found in the [examples](examples/) folder.\n\n#### Using VS Code?\n\nThis repository is ready to run in a dev container in VS Code. See [the contributing guidelines for details](CONTRIBUTING.md).\n\n## Changelog\n\nSee [changelog](docs/documentation/CHANGELOG.md).\n\n## Get involved\n\nWe welcome contributions of all kinds!\nPlease take a moment to review our [Code of Conduct](CODE_OF_CONDUCT.md).\n\n🐛 **Found a bug?**  \nLet us know by [creating an issue][new-issue].\n\n❓ **Have a question?**  \nOur [Gitter channel][gitter] and [GitHub Discussions][discussions]\nare good places to start.\n\n⚙️ **Interested in fixing a [bug][bugs] or adding a [feature][features]?**  \nCheck out the [contributing guidelines](CONTRIBUTING.md)\nand the [project roadmap](roadmap.md).\n\n📖 **Can we improve [our documentation][docs]?**  \nPull requests even for small changes can be helpful. Each page in the\ndocs can be edited by clicking the “Edit on GitHub” link at the top right.\n\n💸 **Want to support the project financially?**  \nWe accept donations via [GitHub Sponsors][sponsors] and on [Open Collective][collective].\n\n[new-issue]: https://github.com/boardgameio/boardgame.io/issues/new/choose\n[gitter]: https://gitter.im/boardgame-io/General\n[discussions]: https://github.com/boardgameio/boardgame.io/discussions\n[bugs]: https://github.com/boardgameio/boardgame.io/issues?q=is%3Aissue+is%3Aopen+label%3Abug\n[features]: https://github.com/boardgameio/boardgame.io/issues?q=is%3Aissue+is%3Aopen+label%3Afeature\n[docs]: https://boardgame.io/documentation/\n[sponsors]: https://github.com/sponsors/boardgameio\n[collective]: https://opencollective.com/boardgameio#support\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md","users":{"rexpan":true}}