{"_id":"cubing","_rev":"311-ae8c6f676875f5e77ba61f7164cf7466","name":"cubing","dist-tags":{"latest":"0.63.8"},"versions":{"0.0.1":{"name":"cubing","version":"0.0.1","author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.0.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"62a018f9173443a70b4c085e1debfbf852be4dfb","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.0.1.tgz","fileCount":27,"integrity":"sha512-C7xyEv6sDYH1lDMYLeeDLS2YeC53KQu+rtwDCBYjyX/BKa4cKi0OReU1+XCBU5Pjxc2o3qCZmtdEdfvnIvQaxQ==","signatures":[{"sig":"MEUCIQC/ae789dLAdjufLT9JmCYa/+qke6Kk4vwTfeNj3rkt8AIgDmnvte8vIHjoosgEGGZ6DDok3lyXsE1SnhMpo7gBYa0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":214597,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJboeayCRA9TVsSAnZWagAAaCgP/iITi4wVdLMwHD3be8nn\nRWxIAmORK4mtw7OZvAuELVmCMmbIBJFsiW/yuE+qvSoqHT4fNekgpG2a3wgJ\nFpruWlOQziJab5sMYa0KDYQEQ7cxZ3FEGo1DxJeSdpxWNZhzho5/6ltpujhP\nxtv4s+CmtErJEoiflfYlAziaGkuWTY8+4BDlOJd3D1tyS8NjwCKTYrWGfm39\n9aF9ANCVKPkE3ZmeySrGL8jK9bDE15Mikbl2j5Sgt9nqgGEXj0Xct4ImHnpH\nGCbVbQwuPNrk/1zNeNL8fHVC05QjDei9IwoV4BTl5gqeIDEqgA5kdRl23/WO\nFgpuK98g/hJwRiBtatoEnXj/td7Eplmn/HlitoutWia/7qyji6DLiJ4iDkaI\nUhk+pT0XLdmltSCNbFXcxAQCfP9Zd2/IgrcZzVMt/u7XtMvqso65cKF+QutT\nDQMGKm5SDwmxhhniMEyV4k22VojMFKaphkUKj4JldUym6KWY77If2P5sPw4D\n9+3XCdeLX+8pdekJqX4H4aQUegFMQq3Rvp6hdUZNZi7gM+ZTDTvf4FsQDkFt\nESjhc64R+ywFnW/QNpx2WxvY1wrM/OSuyCHq0UzixvxcnGOSOB+CM25v4U7t\ndavQCRIRINI3TwhjMugdZm+QntuPqSzz4cbLHpJtk/v3I4Z4s3VMUlPgvLqD\n/ihE\r\n=VDyw\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","transform":{"^.+\\.tsx?$":"ts-jest"},"moduleFileExtensions":["ts","tsx","js","jsx","json","node"]},"main":"./cubing.js","types":"./index.d.ts","gitHead":"5edf5f19913c25a925c8d34bc0cdf90ad36fc749","scripts":{"test":"jest"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.4.0","description":"Meta-library containing multiple js.cubing.net projects.","directories":{},"_nodeVersion":"10.9.0","dependencies":{"alg":"^0.9.16","cuble":"^0.9.16","twisty":"^0.9.16","kpuzzle":"^0.9.16","puzzle-geometry":"^0.9.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.5.0","ts-jest":"^23.1.3","ts-node":"^7.0.0","webpack":"^4.12.2","ts-loader":"^4.4.2","typescript":"^2.9.2","@types/jest":"^23.3.1","webpack-cli":"^3.0.8","babel-loader":"^7.1.5","expose-loader":"^0.7.5","babel-preset-env":"^1.7.0","webpack-notifier":"^1.6.0"},"externalsForWebpack":[],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.0.1_1537337009897_0.8889855004435234","host":"s3://npm-registry-packages"}},"0.9.17":{"name":"cubing","version":"0.9.17","author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.9.17","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"efb89836b27b7d14671151b355ce4d0f8237797e","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.9.17.tgz","fileCount":29,"integrity":"sha512-QZG+luRQkiAeH9JSrBqRxoBB/A65MeQs6+OiyQxCXt76VJQ9VlwFqKTfJofB5S2u4XaAQ0KbYb1CDyoaBoJJ5A==","signatures":[{"sig":"MEQCIGeNomJ59XOMnBZ6K6/uyKwP5ZbnLwl80rHEKFpwWVLOAiB4buEPW9MzeK1aLlPKHu0tOC2sInOZVDjYxtNzqvBOJA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":386696,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbofkzCRA9TVsSAnZWagAAGx0P/AvSYyFyZUVM96qBctRv\nUc842WSN094wdqTgmCanCKa7cWfgQtXcRZ4MMl5ebpDPW4EcsTrvhIweGieD\nr8Uj00pRf/Qrv2D29EnPxx1irCKZl5i7Ja5SVlcPsIUdLcOBHfa+0wGgsH6H\nyKs0Gq+2R2lOFU8a8P729ANFvMIP0Bj/JMlNRTp2w6B8c/F4fM4AEu1+VtC3\nW80/Oc4P96BkyCN35xKZa2EzYKhJOY84kYohRHgtCoE0AsLI5A/IUwbOlb7s\nXDefWoyLMpxf6dJ9wpFVrkDUWI+KDNhtlebsDdvkC2mPstxPNOmg3rSzW1tK\nnNS5SRmAcSWVkdVvTr9PmHAp8hhEHq2pKTCEw8OVkd7WJf6t90BRVcpZytc9\nMZiITgAD5t5Vm+SXQzBIIBMpBMu6i2R9F4zC4FMD0rWhDfhNvvjysetbfPDS\nnBNKSB+H0UcfH8bCpTzHdPA4G7xgXLIlTDSws4EzZJWRTRMzzKAc7e92UXnE\n++DHB2cziyU/0QOJJy0gr1s7+WEWpwDTmyBtPhAjgerDGNsW6IBd9wPFQYeG\ntqYSBZib7OwgvGsgWlJkgMhM6coSe7RN/fFlAkl+SSj1PLlQkd6sPuPaG/ZX\nQ4xPyG3tfjhpV9m71iclN18tC1noJ/zCfApASqWDOB27wqj4Q3vkw30W7otg\nPc4G\r\n=/dY1\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","transform":{"^.+\\.tsx?$":"ts-jest"},"moduleFileExtensions":["ts","tsx","js","jsx","json","node"]},"main":"./cubing.js","types":"./index.d.ts","gitHead":"0b7c7ac3345fabf23857d90ad2557ebc0c583051","scripts":{"test":"jest"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.4.0","description":"Meta-library containing multiple js.cubing.net projects.","directories":{},"_nodeVersion":"10.9.0","dependencies":{"alg":"^0.9.17","cuble":"^0.9.17","twisty":"^0.9.17","kpuzzle":"^0.9.17","puzzle-geometry":"^0.9.17"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.5.0","ts-jest":"^23.1.3","ts-node":"^7.0.0","webpack":"^4.12.2","ts-loader":"^4.4.2","typescript":"^2.9.2","@types/jest":"^23.3.1","webpack-cli":"^3.0.8","babel-loader":"^7.1.5","expose-loader":"^0.7.5","babel-preset-env":"^1.7.0","webpack-notifier":"^1.6.0"},"externalsForWebpack":[],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.9.17_1537341746581_0.5660211342428716","host":"s3://npm-registry-packages"}},"0.9.18":{"name":"cubing","version":"0.9.18","author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.9.18","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"d0323067e873489bad60e4c08f2ad38dbc07277a","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.9.18.tgz","fileCount":29,"integrity":"sha512-WIcLWNSL+Njw7Jl2T2gHnyxaPhsFU1jLW2YBte7/mnwxi1SHxBhb0Eblr2glBZ2tL928xuSw/+A0/hqMDFCA5w==","signatures":[{"sig":"MEYCIQCrlgGld+yVtBi4Hl+rn0IlDWdWO43Gv63S5U8Qtt/Y+AIhALEWr3Q6J1ZEoH8fH5TlwKwhF6U8dLEyKTE+McDe1TbT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":389004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb5UlCCRA9TVsSAnZWagAAfw8P/2KsZF9yWQnsYB3m5Pze\nuLyDkb2VT2QQ/qD5r8BbXWTvvjFVSheCVDF1Cr5843tnLiTjapFSyFtNohv9\nUo98zLf75tat4DOYwdkHL+LCzXQZQ6PDbdkdX0kaIFjGqJ2L72lbkLmbTKK3\nPWW3UeaanoM3fmb/okOFSQIny81bMXUCcRq4kiu8NZx1cI8WvUKjyin++ANt\n06tNefg21i+X2NTMJRh77Y2T53l8rh4diSPnhh22CD8wm6PwnBwkW8V20I1o\n8oLZQxsSJfhuHi+5i0aAqwMVLTeiFGyXYQxIaYW0q4srWqhs/WnhUi109mwo\ncsHIjPN/wLaNwhTRKTMJiDkgTKHVQoxZYh5BvYz5Wo70DL4uILFfQGGoZuWq\n71JLRRoUHU51mfvZ1RdkD3YSjXZRbGsNmljmwIw7Z8vFHDdE6DnYVX4wRjlV\nGsnhwTlwY5feq5Uzegr/g+grfbDuZ6JoHvxggnsYHHVdwWwWhjbjCVL1ezpv\nl5r65fFBN7TWfRQh8+kYJ19gdxSkPxMfuCvj8fhzKb93sVXwimkZNnV01RXS\nWQiGjuRu3z5/qhwjU0+E7xc6e1xJC3bC5V4j9i8tpO6fyia7vF/SzrkCAHf8\n69RvgYgK9LrFYSsL4kuZfjqCIl/GimBhIRdK5NjD6pySVfX8PqmrPLMC0V+p\nthZC\r\n=DCvJ\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","transform":{"^.+\\.tsx?$":"ts-jest"},"moduleFileExtensions":["ts","tsx","js","jsx","json","node"]},"main":"./cubing.js","types":"./index.d.ts","gitHead":"9f792ec807eda71ef7c3b8f8f29e3bad2db8a101","scripts":{"test":"jest"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.4.1","description":"Meta-library containing multiple js.cubing.net projects.","directories":{},"_nodeVersion":"11.1.0","dependencies":{"alg":"^0.9.18","cuble":"^0.9.18","twisty":"^0.9.18","kpuzzle":"^0.9.18","puzzle-geometry":"^0.9.17"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.5.0","ts-jest":"^23.1.3","ts-node":"^7.0.0","webpack":"^4.12.2","ts-loader":"^4.4.2","typescript":"^2.9.2","@types/jest":"^23.3.1","webpack-cli":"^3.0.8","babel-loader":"^7.1.5","expose-loader":"^0.7.5","babel-preset-env":"^1.7.0","webpack-notifier":"^1.6.0"},"externalsForWebpack":[],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.9.18_1541753153782_0.2977655740615581","host":"s3://npm-registry-packages"}},"0.10.1":{"name":"cubing","version":"0.10.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.10.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"1843ecc47e6a676a425423e4c882fc02cf640ead","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.10.1.tgz","fileCount":827,"integrity":"sha512-ek8fNgTEmU24XhGQacgFZSZaNXFfFOYdQExyWrku+Zt0p7s/vq36ZYIkkCNjBlzEUfRMamYsIyrDmXmXtjuSFw==","signatures":[{"sig":"MEUCIArPozY2W7VEi3arXsdknumdHGE1fEJXklHU2Gx+a8JkAiEA1+o/gZ04bPx6Ukt7dmlmZfPdltxY8B/k/stujl8PNPY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8970925,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecDh+CRA9TVsSAnZWagAAF5cP/iXC5TsZdzLPAhqbG7QQ\nUdiC2K3DWnytw+y8lRPDc0doiWJEPGWr2agnGAPqqSqOIVijhrUN9cDEoCbH\nIClkA/tGa4fGhNcI+B0fAJ/KqCmqSRe9fiqCAZSxsEOrcT/q7byRf0kIKdl8\noUMMDgz3MX4dO5p6tkD8K1sDUvdtnxjyFus8IuHe+B3RlxMZMCOWdxDDxGbB\noy1ISDCk9b41fX/hwZQrHf6F83VSpkW1S702o93Qk/nlnE9XIz14L00YJlIy\neOpoWnSXu43amd7c8kPP5tzsqMORB9jKbk5UhGrF7NkeZBNR+GLS8+U1zmFU\nDsMffjCOljDXSh1jTNR3VIHmt1RlCRhd09dUeICElWyZILoSQf2+oL48RRa+\nADPVDEt2dRjJSc0JEPZgK8GT3JJQdvoeZiFHZwUyir2Cdg3uKsmwFHpjh6Ek\nLok1hYJ8Xzud6ZX/bq2dyNqtmyT1X3M6fSaanisNv/z0hQDKlBmdifbyU+UW\nJH6tBUmPPJfXnwWp8iWY/DXOo8I0RlS/TDKgRxSE9db7xa5bD/SzAh9fRN0x\nVzYDPBA/NoCA/ngt2Bk8YxmvmcTQTQeB4GdOSJO2eoM0pqqF2QeokZM69fAx\n2ldV7/zyQJcW7E8JqfSQNsjuwMlSOMG3Py0yoHZA+41SGgAPspxU87V0KlKn\noXqr\r\n=mzNZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"bcc5c333d784d75f526aa2a8c1f6a1f2f07d5332","scripts":{"dev":"parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"tslint --fix --project . ; tslint --fix rollup.config.js","test":"jest && npm run lint","build":"rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"tslint --fix --project .","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.13.7","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"13.10.1","dependencies":{"three":"^0.111.0","@types/three":"^0.103.2","caniuse-lite":"^1.0.30001034","babel-polyfill":"^6.26.0","@types/web-bluetooth":"0.0.4","three-orbit-controls":"^82.1.0","@types/resize-observer-browser":"^0.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","pegjs":"^0.11.0-master.f69239d","tslib":"^1.11.1","parcel":"^1.12.4","rollup":"^1.32.1","tslint":"^5.20.1","ts-jest":"^24.3.0","ts-node":"^8.6.2","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.8.3","@babel/core":"^7.8.7","@types/jest":"^24.9.1","parcel-bundler":"^1.12.4","@babel/preset-env":"^7.8.7","rollup-plugin-copy":"^3.3.0","@rollup/plugin-json":"^4.0.2","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-notify":"^1.1.0","rollup-plugin-terser":"^5.3.0","rollup-plugin-tslint":"^0.2.2","rollup-plugin-typescript2":"^0.21.2","rollup-plugin-node-resolve":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.10.1_1584412797591_0.1619907570705319","host":"s3://npm-registry-packages"}},"0.10.2":{"name":"cubing","version":"0.10.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.10.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"c0c440eb2ab5bf0094fd7a0e4f503348736681d1","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.10.2.tgz","fileCount":817,"integrity":"sha512-QeMNPIsM0iNvmTGGUp16ULSiF4bDSfBxma5E2Z2kSkXpU359yu1XYK4uV6Tpk9AK0zEQUny7UH4LXEy78n3evw==","signatures":[{"sig":"MEYCIQCt7KmAXZ4M0i/b/ml4CCg8g4OmoIh2Fqu80r/8mSk52QIhAP3apSUtn/6bxfL2x23Q76IdpEV3RGBlYqG8OghwDQt3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8882431,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecJBdCRA9TVsSAnZWagAAtq4QAI2guk3zOzgfi/7nenEQ\nSJ8sTvMSuPqkKy7fOiZzwTWlr8REMKDkqqF0f5pl+Fzgljsc/Jpg6K0ydcOj\nf5B6YT4mfKsCAffIBP52VNqmm5JebMATpM7Rn1t2EoS1ax8UR8FPwNmP3sbr\ngDRnfKkEVDRwGyyZXQBMclpIepAFA45Xd+nwsoc9D8+5cQToJnT1JvZ8obsa\n95ejUUXp4xgyOFPcw3SMF+hHBf4GN1LlZ6wC7YBMuAnSrcSr9Tz3Z94N4Cj3\nQw5UF9Pc4mRTbNRbIP50XdBAbdkdpLDwljUQRRJEb1525QUkcuddmGpXQBcN\nkxFpYyAjysrZJ7RyEKrL3ZjorJiV4NtaX/AcvTP1yu+0Ln7uhL69GaA83stb\nGvGFGWSV0w6D1lVgmR7GgGnBvu2coUMAyFN7om3kAHQSJQm2kSLDPGem4sC2\nZzqbNQKHTvpQPkRHdTxi94JfY+SZ5kpv949sGYLN9I7u151KXgP68ptAU0hC\nGAcv+N7HJQqqeFY73wxzErk1D/mfo294h/Rj6gvZWnnJ5EA7YAH26UvtF+Is\nYjmNF1oyUAiHKdfVVvAv7oBJM6bMu5hgRtmioVQwjQTNcfI5onhfZVDkucoz\nueqTeORcrOJyu+eJje6ZrTPHecT2xBh1GMnFhiK2lg67KgcghEAMlxTBGA8O\nRP2I\r\n=X6Wd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"56b868c045dc0e91898a9d32e71b30b30ccdf899","scripts":{"dev":"parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"tslint --fix --project . ; tslint --fix rollup.config.js","test":"jest && npm run lint","build":"rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"tslint --fix --project .","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.13.7","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"13.10.1","dependencies":{"three":"^0.111.0","@types/three":"^0.103.2","caniuse-lite":"^1.0.30001034","babel-polyfill":"^6.26.0","@types/web-bluetooth":"0.0.4","three-orbit-controls":"^82.1.0","@types/resize-observer-browser":"^0.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","pegjs":"^0.11.0-master.f69239d","tslib":"^1.11.1","parcel":"^1.12.4","rollup":"^1.32.1","tslint":"^5.20.1","ts-jest":"^24.3.0","ts-node":"^8.6.2","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.8.3","@babel/core":"^7.8.7","@types/jest":"^24.9.1","parcel-bundler":"^1.12.4","@babel/preset-env":"^7.8.7","rollup-plugin-copy":"^3.3.0","@rollup/plugin-json":"^4.0.2","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-notify":"^1.1.0","rollup-plugin-terser":"^5.3.0","rollup-plugin-tslint":"^0.2.2","rollup-plugin-typescript2":"^0.21.2","rollup-plugin-node-resolve":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.10.2_1584435292536_0.9201807191321552","host":"s3://npm-registry-packages"}},"0.10.3":{"name":"cubing","version":"0.10.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.10.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"0dd4def40a16fcd5825b2182e9a653613631d59c","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.10.3.tgz","fileCount":819,"integrity":"sha512-SC6kTrkxfcYWpa4PXV1/bez07Ys2e3ZtQKmQQPR1jWJmBxyBvus4lCG1ehjdJ0Ehj+cK3fbloheqDnm4UZxatA==","signatures":[{"sig":"MEUCIQDQqQTVYSbJL/NDoDWKtx6TskPEKNoSgmjcRJmgmRI2eAIgbTD526RV8hIiwi2ZsJdVnfMtWuSIRwfXI79Twn/M0ic=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9201458,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedolfCRA9TVsSAnZWagAA9mAP/iZlRX9kE6Z+u5ZaiWRx\nMmuGLELemWE1e7uYTcT8UqHDFreBxsOTXqsgkgPj77bGFlDOJ43ZW9OH86qB\nuIBmq2roDm6LBpcNiQUmUtZrOTiM4ncMB+xOZUM42CsOaLNWTMemvuDiL/4W\nZIaF+uXMafGg7hhcNR7pTqsHy+rFGtSq6wTCfujqoyuMVi0vx7yN30lnJaLN\nFZEooJ4R2fNuTz3tbS/lWriOg6Y8gH4m7ajuEaoze34f6rJ4+e/EhlHi6ZKG\nyPutEP/R+zPRLfsKZ4WX+YWSmsiaRdE4rwEve5GzxdIXhA97TFNU29TGGFzS\n41FiQOI0ew1lUC14gLFuuXDgWBLZ+49Cd+LVNjAXpEMNEwxHjMhNWxhu8DG+\nDPDngUJl+cO2dixzWLlKvJoSALbrKOeR5+fAdb9QZd3agditGhr37jswpBq7\ns6G1jMGChTfCqHwLeTWBmQ9bqmUhEvZJdwvUdccXLeTMQtPBmarPPMVefr3H\n/CWHtW4Vgx46NhsU9fAYeHpQ2yXFF4uSSBcLyAxw5blKzffizeo3Fj7Li+uX\np339bTLTvjFBW/WkmdL1IoM9tSd2wVtNO8xyCXCYUNQI7fSp5IRoTyOeJVhL\nk2l7AVJeU2TPVHQgGHKZOwV+ALWHcj0ChzpcF4PK+n+pqg6Oj3SwF922Eztd\niWxB\r\n=HfYT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"1f589e4d820549255ace24f48e35a0d7e667e3ad","scripts":{"dev":"parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"tslint --fix --project . ; tslint --fix rollup.config.js","test":"jest && npm run lint","build":"rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"tslint --fix --project .","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.13.7","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"13.11.0","dependencies":{"three":"^0.111.0","babel-polyfill":"^6.26.0","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","pegjs":"^0.11.0-master.f69239d","tslib":"^1.11.1","parcel":"^1.12.4","rollup":"^1.32.1","tslint":"^5.20.1","ts-jest":"^24.3.0","ts-node":"^8.6.2","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.8.3","@babel/core":"^7.8.7","@types/jest":"^24.9.1","parcel-bundler":"^1.12.4","@babel/preset-env":"^7.8.7","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.0.2","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^5.3.0","rollup-plugin-tslint":"^0.2.2","rollup-plugin-typescript2":"^0.21.2","rollup-plugin-node-resolve":"^5.2.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.10.3_1584826718657_0.6810387272943939","host":"s3://npm-registry-packages"}},"0.10.4":{"name":"cubing","version":"0.10.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.10.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"6fc0a110ecaa40ec4c2ca9e7dceffecb925ac0e6","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.10.4.tgz","fileCount":836,"integrity":"sha512-ihkm9N/Me107MNQ3rz8PtBGSOfWW/o2rtB2BAZYgaNQ1TD/TPvsX3nVcf+iXa7PDtc8Vcgp/p9ikmtLovojbjQ==","signatures":[{"sig":"MEUCIQDU/aaZ8A8eH2X5Yio75TSFWj9gJ1aqixTjT/uAsxRjYgIgEh+8Ou3NzN97f8KvkyWRONy4jnUPclQDJxr079bycfw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9220415,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeo7/hCRA9TVsSAnZWagAAnD4P/218c7zkYf9kKFRqquLm\nabqs1pkP5KpsvO4DD08xvwmL00jSOzw8FVtoBNzwn25goYvvQIev6YOd6P5X\nQ3cFk5SkdXsCEyYYVXwGOcd/BOyNNkXbqCi4IpFtqQWlMc1tEItM+wWC9S2d\nvqVNmTaOgWG74l89gf0j5EL8ADpKxuRFvFw12c9wbTAGG5Tcj0M0hkAgWa7a\nsPHh3cnrP/u0W0Akp/GH4hDr1Q5CVYLPNLdekOdBGQULIABS79tiPRWSf8VX\n+ab6XF+OgUMLkkyJtccaZv/IUvYtke9TU6gZ2Jd5/1mWseCP6SIH5UcF1sjt\npAJmTJiSusvl/kyz4/1wIl5WnGYlvblw+zrYotQ92u3cqi6n7VJ1XuP4kser\nVPwES2Xvd1XE0OwHn6bgwg1IOJ25vmH4Zt2qmb7gEDXTbfPAhjnVcSC6RxiS\nKIysMJ63AqAgerQ5+LTdnXeGQObUetLz8pmTUblPasbOL/16A8F5Fql7G6MS\nwY2mY84MN5WLg5uT4R+p1mXb7go2qfT2kj1EcRH0RJQpgHh5fnl/BDDC7dgl\nlldsOcuRwkFP2AmAyIspIoDkdgJctAT8ZuEtMISMEjvCjnrfnK7VGeopdjSu\nGEtEFnHMrQK7cs3rqXg4oKn1Hn5fAeIM4eZhYcMEeYu3EcjgIYnY4lk8MJ53\n2LCA\r\n=5xro\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"aa20c5cd3d802b6cbd5ef15ad1b521eec481e1ea","scripts":{"dev":"parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"tslint --fix --project . ; tslint --fix rollup.config.js","test":"jest && npm run lint","build":"rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"tslint --fix --project .","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.4","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"13.12.0","dependencies":{"three":"^0.111.0","babel-polyfill":"^6.26.0","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","pegjs":"^0.11.0-master.f69239d","tslib":"^1.11.1","parcel":"^1.12.4","rollup":"^1.32.1","tslint":"^5.20.1","ts-jest":"^24.3.0","ts-node":"^8.8.2","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.8.3","@babel/core":"^7.9.0","@types/jest":"^24.9.1","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.9.5","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.0.2","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^5.3.0","rollup-plugin-tslint":"^0.2.2","rollup-plugin-typescript2":"^0.21.2","rollup-plugin-node-resolve":"^5.2.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.10.4_1587789793229_0.4968147757213537","host":"s3://npm-registry-packages"}},"0.10.5":{"name":"cubing","version":"0.10.5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.10.5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"77ed1b54cfa50271d0b0c176837034658ddd72b2","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.10.5.tgz","fileCount":865,"integrity":"sha512-TWAA935VH5eo/SWofqKAClat2xusPyVKUsBD5Au1Ru/PNBaSonnJuZOvukrdAVdQv+kE+dOduSLIVlHeBGFe7g==","signatures":[{"sig":"MEQCICSWoZkIZ3+hPVN0kiWLGd3XY9vDLbIkSlBNt3eg4D6eAiB3VhCLHT5zEoYFSkR/mdotssuymxh6uljJvc2NF7dwug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9369716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0tgoCRA9TVsSAnZWagAAs/8P/15jxkxoW7pD7s+4MW5c\nXVqdF+kfm5SXM+DTX4HWyDHQ8hXvPdXeLZXga2TgPR6nsktsK5USnt6WQwlk\nvL3qJjHYb5+yZnGRkejvvZgWbRcTz6GHJbKOsRipmksKYPQVOjpp6xYpvRyF\n74r3EmabmJGq+GoWLlMdImHtHoPPnxI7zrdI5Ei+MOa9ukoT8tgn8ZF7sb3q\nO6P6vf6mBX6HIduXXmcWejD8Ihnu3AaawqXZLWG+61HTxRhVoEeKx/Q23Zsr\nZ3fT5Au8BQ2Bk1HL4XSE1tb7V90l9OtxOpPecNQ+IpOdEairC+kVO38kqIMk\nJjAqSiOBkZ5y1oUz9ERrAL73OvSL9+GQX0dRnAKgPvNizzaosIyQOtVAKL6W\nOV1NpLWi/RJaVuwCtWT8FTqRU1bPIsf/qaxROFIg9h82lN3obREkozhqGajA\nWhXROpeBVzF3l0yyKEGax3Ypknka0jXA7tUu1AFMF5C/of2Ppdy7+kVqb4wb\neNhnMyAm0Wgt1uBhRbTJY4xyma2HlpPZpLZeLAAtSHAX7eS6+yJap6iiW4I4\nkGvGcvyPHu3HBTDjvU73XUjJo3F+lvabr548/frZIzTw29OU1LcglfbqXlUD\nCZ+dBO6CS0xclJYKykzH+jDll5pFnwYSJTX2jvOcnCPDMnG5NH3627gNfXPV\nSefV\r\n=ouwa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"d91a854d60e43a37072f3fc79c817daee4812f80","scripts":{"dev":"parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"npx eslint .","test":"jest && npm run lint","build":"rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.4","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.3.0","dependencies":{"three":"^0.111.0","babel-polyfill":"^6.26.0","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","pegjs":"^0.11.0-master.f69239d","eslint":"^7.1.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.0.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.8.3","@babel/core":"^7.9.0","@types/jest":"^24.9.1","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.9.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.2","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.0.2","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^5.3.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","@typescript-eslint/parser":"^2.32.0","rollup-plugin-typescript2":"^0.21.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.32.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.10.5_1590876199350_0.10643638264383459","host":"s3://npm-registry-packages"}},"0.10.6":{"name":"cubing","version":"0.10.6","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.10.6","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"67f3e160c25db88ce5df444b481e93abfff94939","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.10.6.tgz","fileCount":936,"integrity":"sha512-IHao56kfJkQqu9xFhApEJWCOYWpM8YwxHXGak9Imo4RpTl4K4aOZGsxDOrvI3d5orBFOrdBSC5QBbU46PAThuA==","signatures":[{"sig":"MEQCHzZXrtrPP8RpmM1Sux4WesniRZcGc8N3iSMrR0/sXMsCIQC7AzV3CGcOd6eYNHMPUr03+eCSkvbBFx7V2zu3IaO0ZQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9742788,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+WyBCRA9TVsSAnZWagAApoQP/3O5rRbNghD+oFxUmW7c\nNp/vBd235MgPOLFXjuJsA2oxaYDdheRwqDsOjxdQslrZaYYjgkStcQDPQV8E\nX+gXtcVZSi7CotWCxHsLwGwdrUWQobfxqP8Mz4FFGdgD6zQrDTOv+KtmpIMx\njfIjfohuDdBjuEWVqjvJLfdZ/tKeB90WMxYJVshbCvlg+6txfqSR9Q8NM5zK\n1r7/deHxu5JV6PvPmesXZw1o3d4uEIQ0djsGtyQl60iJIqcfMfMY3qd1WzTL\nrH34B53IiFYmHKfWaOdGa/bqzCr2PMk8EOwrDmY0Lf/iF9O+tu8wKdCi/nll\neLiXqX3msPY99wNPf1Ui3lQj5Tc5T6UDCgjB4f3xq986M4PUqD06HJ+0rLE4\nSC0Fr31GctTnwgmb3RPMRm7+dDO5S1Zx4UM3d8R980NZRje+x9cjEk9Dzu16\nuyDEulZaJaPxLVt5kf2pdeGeKzS4kPzfrQOkJc9+OxOc8MhPHzirnhxNP1oP\naXZ/VPgZg+kf8VffRZLNjrCKkJWEWvit2ryB55m3PcrplibCEKzxETZhnGEv\nZH6NPevPJNuvkE2YD25eA6R7VznpHh0G8R9rNdJpV3flrwuPU4WBI/bwfwFa\nfLWGwi2PSUEb6c+RPjSkLo/pCh/aDtAwMD+cSH148bcp3xJT66HxN53f8ttC\n+60c\r\n=oX3x\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"980db3d1a6af645d5aa5561dab32bdcb4488de1f","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"npx eslint .","test":"npx jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.5","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.3.0","dependencies":{"three":"^0.111.0","babel-polyfill":"^6.26.0","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","pegjs":"^0.11.0-master.f69239d","eslint":"^7.1.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.0.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.8.3","@babel/core":"^7.9.0","@types/jest":"^24.9.1","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.9.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.2","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.0.2","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^5.3.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","@typescript-eslint/parser":"^2.32.0","rollup-plugin-typescript2":"^0.21.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.32.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.10.6_1593404545173_0.23027109444666816","host":"s3://npm-registry-packages"}},"0.11.0":{"name":"cubing","version":"0.11.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.11.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"21bb8207016f9c0340da7a6d6fb390abeb70c913","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.11.0.tgz","fileCount":948,"integrity":"sha512-gYc+ftYLoJSsSBn/91ehtkmCJS2VvPDI17ustmgaNwCxAEhKRTnAZZBdrodRD9gpTByKZdo2Tfn0v///Qm0deA==","signatures":[{"sig":"MEUCIQCY47plOCqndgQeKhq0CvbXXMOHV/bTk/4zoyqn2KeY+AIgOS0Ri++ufrG+OzczyJy3XMcLptcjq8obXwS/ze4z9OA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10141478,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/t2XCRA9TVsSAnZWagAA3AYP/iB9+4QVuXDmPLcb9KSM\nvd/a0lSxakuL96GCFGC4UIWTOokFjCXyP1Zoowjx8SHS1exjEWXYzMorkhXS\nb6U4Ay83iP0aGfziH0GE/olsTrgT8EfkSNZlifo3lIDg4W516/6rpvJFtEQs\n7nUzzaPxM9MxEkwSbCaxY3R5Be2L2JuJD7ZCOYk3Uf4LSBZNpyHVHnMCL55X\nDenkt6XziyYxd+LmnGst894is0DiFbV3N6OpTm7xfb6Rv9Du/28nfZ9CQ3kY\nMaWDtHvynlOnS3UQP3LLJDrDEL12p5gLXpwqXP7wdNE9Ah7monmtFFDz7v+f\nCbgiPp2/aoH5n2AK/DC8Oh9nA4GEKb+ricnAv4ZP+zvXn101IckumM9Mvm3M\n9ORK6k3+5locZDNiBHeB6pdZN2rz1WfeAqVmyK/huCH/p3UIv4g8h76EvEEn\n+5O4SYet614fvJwtcw9U579+zFe8Sfh+6aY6nJ8/VxOKRL1Yr7rM5TAIDj/s\nlGTNGKIXKGFsfMSrqehIFUzDUhaDlGRR+cnsW6dYYbNUjBeyNvBjY/A3g7Oc\nPoJbVHWhucoHtdsNk64OaxDDeQQPsZuKuzWcZvdijfTtg++cn7P8z68C3aIC\nA1Cc4IogwNSsLjYsgBaZw0M1xgPxPiaMSMlcsFWSn44xPIIx9OqETcN5RboZ\njpJq\r\n=QRbC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"bc741493567ba39cbc2bea788b2b852a8f49a175","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"npx eslint .","test":"npx jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.5","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.3.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.5","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","pegjs":"^0.11.0-master.f69239d","eslint":"^7.1.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.0.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.8.3","@babel/core":"^7.9.0","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.9.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.2","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.0.2","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^5.3.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","@typescript-eslint/parser":"^2.32.0","rollup-plugin-typescript2":"^0.21.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.32.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.11.0_1593761175376_0.7357852311938358","host":"s3://npm-registry-packages"}},"0.11.1":{"name":"cubing","version":"0.11.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.11.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"ca9f9f94146711a6dc838bbc157e43c31baa955b","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.11.1.tgz","fileCount":948,"integrity":"sha512-YAO+R+zpLfYn+p2KfoLKyiaavjyZlvZe3Bv/ZQAJ0VA9m33fpbmyooZzYpBPAepXuO4O9v87SfgFO2oX4xj1aA==","signatures":[{"sig":"MEQCIEISIPG3gh/zlWvegDOOac7jNrVt4qXdb2rmS/h9hFp4AiA2FoPXrlj9ZjcxpJHPE7DsMsAx0ZHjk3X0SjN+B1o+4A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10145296,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/uh5CRA9TVsSAnZWagAAzZwP/RbfZ0yOXrZWIInagFhG\nKkjX8LVz8aAeu0mBa5eWueWbeM5+O2pjlzHMMxdMFNbbUqZ7Lrd3VHvJ4U9a\nyjf6SyL0wGoVL9xmj2fqginnHoLk8owz1mQiQPJdMTrjfdNkO2YuKcApPlVh\nJu5KjzB1w4FORuOm5iXSXCukU+nJ68MDF8ZztmBZblPXXdnLJfYlmTy3nB8y\nT0ScgjGCMZmdEJie2Zl8C5tVFlzssuufugAkOwboF4tmPBlZyIN+ASt54doz\n5JSXItFkzpZEvuL5kj3bmhGPmklTRB/7FHcRIkvNvi2d+/WwJXJtxbJPYfGq\n94a4Q9dT2lNW9Z+iCrp77IejpC9AJJIm5gOFdDeO5kXth02XlMy7ZhD0Js33\nfOl84HXQ+nip75mJypGFuQ2B3Xy8ylHulWNhVIJxsupX06SFJADi6QeNTAqn\nUOQLflO6vRv9ZnSXRiwlsLXIKNhRo1yrOzHJ2Wl9hhYgfPe3qkec7giKYJYW\nYhkyB5e57kgTE/FtKvHGyJoq1HVTOtluBiXhPUqqkAgmiDN/9yGwDmaKOaQd\nsH5bGAzBjaxQ8tByryl0N1s7I72I/q6ScbkgSUWw0xamzprnCIBCJRJHzhSa\n+LYff3q618vLWlQiVyuYGFKY6lPtMelQDjpTFHsyo2zzB+li3XkmL14AvEq+\nv2zj\r\n=99vD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"d912a772de8dadbbb8632478759bd2c187c89b04","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"npx eslint .","test":"npx jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.5","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.3.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.5","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","pegjs":"^0.11.0-master.f69239d","eslint":"^7.1.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.0.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.8.3","@babel/core":"^7.9.0","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.9.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.2","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.0.2","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^5.3.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","@typescript-eslint/parser":"^2.32.0","rollup-plugin-typescript2":"^0.21.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.32.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.11.1_1593763961220_0.9888864926644776","host":"s3://npm-registry-packages"}},"0.11.2":{"name":"cubing","version":"0.11.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.11.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"b8187a804f66d9e39453ff0f1f0642683c1e544d","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.11.2.tgz","fileCount":949,"integrity":"sha512-xYKjNcBSMJeAjv//ia7jqWtegMhNVBRsMjo9pZigjXzyPQ8MVTlW7kGgiKIZJxCa4LLpdqymNd8+Ns1ZgV/2pw==","signatures":[{"sig":"MEUCIQCPdDMgVsOzTG4X3J6VT2aG5+CBPiWgfnpvxfxfkRiopAIgdrsR0cdBr3FM0rfDTwjD4oOyvXo5QpiBdM5vygbJnLA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10155507,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDBwtCRA9TVsSAnZWagAAMzoP/RlmvMdwnRE4n4jiqMfj\nZuquPxl5pvZIxqXQfHJ5bABYTG6WYNHjTmrBNI7wJtXiIG3zSrYdEEugUDEh\nQ93G+jVawjZRXnufc4S8k7S1yepyvk+h8Zi8Q8YS0Bt3pLqKsKizrxvfAS4m\n5m0ZWEMLEJtGMhjjCCmnjuFuD+YaPKeihbEtrPwDlkArsyo/I6e6sc0ADN/u\nPqDU1MULtpH64HtmuKekpwNzraBI2OPkdfaS1cai2BMyrPStpCmsjS26BSaP\nWwccCrkDT6Nl5LLuKpWj395yrCBbn5rwFyy5CG16hdVVpEzh8UpppoCE+Hgd\nqhPXR4Y8V4MliLaeyTOreZsGo+pE/uIJitJIltyaeuJRW2qkGttJ76UsBixL\nhrxqjy9y0WsXjPnVnNI/9NXyCWRCFN470qUwq35LYLIjeprHmzK45TQ4qQS1\nUQ5I8T/kXEOid3GCoGS3Ck5UaZJTb7pHDkevX62PA7juAIHoc10DLNbqNsSm\n+MNzD9kOP/Eafc+qUeUtW78ozrRnK770iLwSQK+tt6xEu9DAy0a2xOPRAlZ9\nlns/HHjU6377sD4vk25l21UwX/P3+z3V2CttFigvJQGk+lTeQPK2vofHA7uN\nZz3L+RjVpzj72TiKmHuwP8cFN6xqGRNdhvx6OzR4z8EaFxhetx4QTWP8HfIc\nHmlR\r\n=+T/p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"196186400aa85144b341d1d38fc6ba19255e31f0","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"npx eslint .","test":"npx jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.5","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.5.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.5","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","pegjs":"^0.11.0-master.f69239d","eslint":"^7.1.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.0.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.8.3","@babel/core":"^7.9.0","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.9.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.2","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.0.2","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^5.3.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","@typescript-eslint/parser":"^2.32.0","rollup-plugin-typescript2":"^0.21.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.32.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.11.2_1594629165095_0.8497591470097761","host":"s3://npm-registry-packages"}},"0.11.3":{"name":"cubing","version":"0.11.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.11.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"5c24ab702bb4f4ebbda4b07aacbe83f77d2a4369","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.11.3.tgz","fileCount":949,"integrity":"sha512-11UcOBMrv95DWPGb6Mg8fHIP0LkWuflFYgeI8BVP3387UrYkK2z9azpSW1yjmM7FTPKpyjXCY3g4OHLT2v4WFQ==","signatures":[{"sig":"MEYCIQCDLijtfWVReEcgTjCkHUQcNqDhQem+k3B1XVrO28OkdAIhAPDzcQjhL7Lktx12p2REqyikli0kBQuwgttex9tn63ut","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10156582,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDXlHCRA9TVsSAnZWagAAZ2YP/2dFWVR4tPQYsaEXx288\n3B3qWcE+hFX1p5CzjOfS5lA/qLUl2pCGIPoNhB0NCQsM+bpBBRDL9GTWJTcO\ncQJfTC6i6lgRwkHEqmwT9rP2FSYoPccdMemoITnqjl2j+wPWPOw4sizeEAat\nsPVdlazavsu4OeUAZy/qM6ybRtD2Uzc+dWGtjitoCJSu+u9qQtepTWC3T6TX\nx3c5iycYRhD9hxriLz11nveQd58KOx0GBW2WjoFdLQgAfS1jFh57ucdQimYC\nDnMoFuyikjzhoJ3wFRhQ84PHNmNYnCkvU6ECQsF7l7tadXtqrl/5DIS7+KDx\n0xEvMUNLd5NvrsiJYu6Yt2eGAdHCedRMdXsU8ZL1lKtpUU8hXNmcKnH7qnRS\nebeQlbX1VsDmyW+DL7JIUPfTpZOaMTlzQaiPL7ux2WDMs78vRdyO4j8+ufdS\nA4QmGX7ugcIRh+61gy7dMKySw3371QmMHu33/EbxeSP20zubnckc1N7aWgYM\nvHM032BAuB5ziIT5oxwVzW/YWRHJbxkKopswr7kGSGZ2Ma4OHcgSqI4KD98Y\n6sChkBIJOG4j6zlJhpkHWoySpMzrFnULCGlCHX+usjB47pOOoHPpD8UqnTHy\np+ifNYgEW11cppsEY8wZe/akTp8ImoYkqSRnZSpB13kUi6vZP5fH6y8uylBT\no1Ku\r\n=Emnv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"7c79814ed38e270e525e5fc19a50d40b8a410156","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"npx eslint .","test":"npx jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.5","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.5.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.5","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","pegjs":"^0.11.0-master.f69239d","eslint":"^7.1.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.0.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.8.3","@babel/core":"^7.9.0","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.9.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.2","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.0.2","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^5.3.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","@typescript-eslint/parser":"^2.32.0","rollup-plugin-typescript2":"^0.21.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.32.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.11.3_1594718534885_0.4702206096433439","host":"s3://npm-registry-packages"}},"0.11.4":{"name":"cubing","version":"0.11.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.11.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"8dd3e0b4b6cc1dc831228da19e2da86e8dbd5de4","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.11.4.tgz","fileCount":949,"integrity":"sha512-l5nFNqyYi1Ij6AETUYQjTFaht/TT6L/oBukxuacgl++CtZMZHp/AYSEHLbv8Ot/m5Qg+NPD/NIS74ZbhUKvlTQ==","signatures":[{"sig":"MEUCIQCogiJ/zEjXaeHXdePQfzOazXXtcB37zAHI3FxKVSrb5QIgEj0/I8oxvKeH/UD2ocehvtxYfYy6pTc1UFjN5Arteh4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10147039,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEBewCRA9TVsSAnZWagAA9gQP/1h2O75N6+ymOsCOFpai\nDwGD4sABtyFBxroPOoeMUEI43lzb0oAHvr3/2Lk/wFc8h/kvq+4hEuuLXH5u\nWMVT5WMvt0+3gkoGlUqDUU3JYEUX1hDOJbF1sCKThuPqpX4lXeWnOAtfv7cj\n8RwYFhNx/tdGvQTQ213hW+qXdTBPBzn0enDVoc4ryNkReKXDLHCI5DRicfDY\nCZMhtm524PECSZNjtw5BdiNhVoqp0yT+iererD5pxgixvf6LqBQ8DtfVkgli\npcIeXp/sxdmuMXaOOutQa8OS/HRUd7TRbxmdrk1uoppsNq2Q/YMAVUDFJCNz\n3+9lVqc2ALeEQkgCoyo07ZfCRRfauVtFE8CxyPlkvBD8Vuu7d+H1Ax0DPfT8\nGCYv/FiWsSVmM3oMvpidZJMjFLWbPrO5bM57YVqwtsbELSzSdg+z8T3tkSdy\n6d8U/WSz7kSWiT57xNKw30W0TsfaOaoIhOqwh59ADkSIeMSAhU/qhYz2oxUt\n0s7gPaVTvk0Ycr5UwFjQJAwmgVQ0juqaGOGp/LFuWtPN1sR+fS/rAUaL9YMY\ntefNj9RTAQqqufWLjfp46JE7neFWcOYPCPj4gu/FrhjDzsMHQVnGDeIX7PKB\nI+NL5+CmvsL8HCw2bzAXXAGDP9COXxBxK4ReyYxFgsnVoE89L80JrbDz2frz\npsQ9\r\n=y9E4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"95e9fa36eacd13a39ce4bfabbb4fbd1c85b97205","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"npx eslint .","test":"npx jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.5","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.5.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.5","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","pegjs":"^0.11.0-master.f69239d","eslint":"^7.1.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.0.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.8.3","@babel/core":"^7.9.0","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.9.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.2","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.0.2","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^5.3.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","@typescript-eslint/parser":"^2.32.0","rollup-plugin-typescript2":"^0.21.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.32.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.11.4_1594890160317_0.5985081233546099","host":"s3://npm-registry-packages"}},"0.11.5":{"name":"cubing","version":"0.11.5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.11.5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"3a6ed88c090ab0c139c899a3871a35374233b5fc","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.11.5.tgz","fileCount":1083,"integrity":"sha512-O8clNyvKMCXJGbCsvvegJdJiK67CzqPtgqVm0GppJbInvJ2zgY9ILoO4HYNzExyKfUMW81sb4wwA1Y9gLiS0HQ==","signatures":[{"sig":"MEUCIQDnN0rFtgbgqwpf9WrwdUrD/jYx2AX3GshQAVc4I+lDfgIgJfIFbYaDQFB1Gus9FMxjKF/W8k5XwIyBcKjCTxf9P4M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10234340,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFA1jCRA9TVsSAnZWagAArEkP/ioougetpVMzO5j7q3/x\n0aBGnxMRLM6nXSqZeMEws636LU2psfPE6sIIJRNsvQjb/6NayF3lax2Bt1P1\nBMGBO5D98U3ALiht54Z911gE/WotRh6fozZ3thPRtFtMDAJnw+AqiTZGUfa3\nIBhSzfX4KCEz6yEOACMdXRLUHh6YzbhHypqayFFYOt57aeqVFgmXw/Nz3I+/\n9Wr3ziCCc79Dn6J7AOpI7IU48SivRcN0SG//MJGNsXqkU1HFbnKOiGevY6+q\nps+a1HrAtr73oZmhho7uhrhFPLwN0zOgj6hXrDSYeZf2QdckUPO27CK4R24J\nnM0d0x/c+ejsv8ddxQA3p9B0PGEdXL8XMtgkf6C2zqaAmzEhE0D9w8TviwWk\nUlxfKNs9mpmfGOdbaT6n8jpNFD5JW4fgkZxaYqzBeGcrnK7UjKyMC7CWElvO\nxNMhFrmEatk5JoKeJjsjDr1qJ7JSNq3F6Tw0vgF7l2gDFpyF9jKkdv4PBz76\nIXu3ElHqHSVtZ9ANYMC9zJaFdvnYuZSbiKDPt2FeoUs7qi2UuZ2MXK1z2ugu\niF7zBIRrdEEVpfyWlKXKauNw2tUSiqOYSTVVKuTqg+sy7ehq2wJlnuAri7va\n7srS+rhUl9UGvteLQNSbLIZe12i+PZuJGFKL+9qviop0yqxwv4P02MwMe8fe\nmG0x\r\n=wRQr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"5458b99dc3c4b11ac962409f3b18b9567a309cdc","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"npx eslint .","test":"npx jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"deprecated":"Invalid build.","repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.5","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.5.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.5","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","pegjs":"^0.11.0-master.f69239d","eslint":"^7.1.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.0.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.8.3","@babel/core":"^7.9.0","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.9.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.2","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.0.2","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^5.3.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","@typescript-eslint/parser":"^2.32.0","rollup-plugin-typescript2":"^0.21.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.32.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.11.5_1595149667463_0.9998748627207359","host":"s3://npm-registry-packages"}},"0.11.6":{"name":"cubing","version":"0.11.6","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.11.6","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"e84f081f24952e465f60f9d3285b42d4af35b4a8","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.11.6.tgz","fileCount":949,"integrity":"sha512-c5RoEznLrPTxWYa8cBpIoz+XzXCzWbJutC9C35mTNIaQ7j+2MxakWCcpkY63BKAP7zoX3wzU5f8itWroEEayug==","signatures":[{"sig":"MEQCIB3N3QUsQXpSRl+woWYQm/F9Yg1obzIbFt2yc2PI5JDjAiA18w8NfvuC0vwJ+Y8uigxBjDydiIHVRc9K7f/uv4t4Yw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10147039,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFA5xCRA9TVsSAnZWagAAg+IP/A8YUUwW8JhKfDiUTGlJ\nCbiwzfrPaz/nP+kC77g7p9dWoKnGuMd2GpCaLf7ZsIuKaSySAo8Z/evGs/y+\nH9rGDZm83HemIEBMKiaVGoJq7bBW7y4+muB+q/iaTmz9n4UvPy7oxrgTRzck\nsMqRO3tG6L1wBbY3dZUHKvktD+ZESACmGaRNsa3Jzu6Rm6zd/RTQe1Ak42vP\nY86IhEkezATe68HdE2TqO4BNAPtbMi/9jbUDMcVwteK8ZOkZAbO7//q4Amly\nDmv8pG5BVzu2d4cuPZIHnvC9YqgvV25stU6UMexfxBv+HdMUficaWxp6b7nt\nGUt/Ps3njratN6ryOUTJ0JKlKJ/tq2BorO5vVrSrcxxH3RJA9szO4v6gWrQN\n9lrRsf/geF54ETCcYyU99oRD6POrcGNSwYPqt/zCUBpHtk8ZX1pt1+65JApG\nrE/jsjVjfe8x7LZ2xD9xM1eXJ4AZc/PZXP6UNLikHKNwxDQBrxJ6C2dy8un7\nsVEVAnkvvMXX2hm1VuIeehdcQfAJ/wYuPOjp34aGt23wlRvSeYAUAb2yr15a\nNYx9BQo2fZMsf6DwiAufEVZpGZydjy9NSMxYBUcS8E2Whu2DlqBwJ13Xp+MK\nSYQ5h4kcOsn/eAiLAcTl8tQD1bY8WyhB4p6mlkDbJ/Jm3Vra1ew9kylbPZ7u\n4SnQ\r\n=/OQ8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"177f0986feb834d63b7355909410af737e54d05c","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"npx eslint .","test":"npx jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.5","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.5.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.5","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","pegjs":"^0.11.0-master.f69239d","eslint":"^7.1.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.0.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.8.3","@babel/core":"^7.9.0","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.9.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.2","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.0.2","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^5.3.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","@typescript-eslint/parser":"^2.32.0","rollup-plugin-typescript2":"^0.21.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.32.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.11.6_1595149936866_0.4699769015449844","host":"s3://npm-registry-packages"}},"0.11.7":{"name":"cubing","version":"0.11.7","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.11.7","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"c5e43f2ca1ca00e96be5ad334d7b0291fd73afaa","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.11.7.tgz","fileCount":966,"integrity":"sha512-+CmKWTczWtLJnU+5usDUDQf3brRE+E96EXOs/3YWOP3HV0aIgHxYjQfA6H+fTq8Tf4DNkfcFCB7K/auW3b8wgA==","signatures":[{"sig":"MEUCIElg/lORR45oNC5K/JonTUPV3TcpAxVCLN2tmxSF2HNuAiEAuUHNHNFQob1y/viBQjEEBVe+UvS/sK11LYoBS/aCMpA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10187461,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGpXqCRA9TVsSAnZWagAACWQQAILAlnPzD4KzDInfHl8I\no7j7r2YNjDMDjS1J9+bItASQGjQaJzEx3jIkkj1E22cE4SF2RaCR9HAtFgLu\nIryL+xJgXmWrCHEWkQH22UtirW7fieK7h/MkZfWGCEP6FbsV7sE+gHWd9vX2\nwk2P6CHw33cxqgOULmuojs+hK5DRifgtpJggZ2TYWsyr47wX1JQhrC1r0AZg\nZgfuwR8+CASZT6ZeZmpEavXtj1J3uLddSvltB175AmqBMbxToX2d/NuyebGQ\nJ+mPMHMMieAaadczqxhD1HZ4auWLPTRzw7VGlXA2aldvYtlhQv6EQXxLfRgw\nFbN09gVI0NKv6Nes+IWDtD/HzDJoPdTEcgWHgwTo46MPZH3eoSL5DJO+kb9X\nZTIbtaxHDl0TkMRZlt1ds7Wp4xFq4VT9JZnIMW5xuXz8+XVxO51An+7ZoZFa\nS5iP9WzBjSJ7w0YOHmUlX5tfAz4E0JDMnumr19x3OblD0+tlQcinAT0DLb1s\nNCX7xGfdipQlMG75dTkn3TNKxfuMr3A+S6FDJrQ0mqgD5xI/dosif0HU/WNJ\ns7uwHeQFonoXKJTjMOZpvkfuJd1sbEQskCCNU4oCB1TY58cZ+sg3+ODeKFeD\nBgiQZZRourIMmFGgEa9GE+Syjyls6A8nk6re5hBAsS+7btbcpmXrA9zWKlRi\nNr6Y\r\n=qa5H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"d8439da58c4a9c300129f27984681188a613ee92","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"npx eslint .","test":"npx jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.5","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.5.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.5","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","pegjs":"^0.11.0-master.f69239d","eslint":"^7.1.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.0.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.8.3","@babel/core":"^7.9.0","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.9.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.2","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.0.2","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^5.3.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","@typescript-eslint/parser":"^2.32.0","rollup-plugin-typescript2":"^0.21.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.32.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.11.7_1595577833714_0.19085226401946942","host":"s3://npm-registry-packages"}},"0.12.0":{"name":"cubing","version":"0.12.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"7a9aab1a84e69674fd862df666cae32fc3b5a0a9","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.0.tgz","fileCount":1077,"integrity":"sha512-3/fA4/e7AoQdEo6jlG068fWyFpHbFbFscHL2ZqvP17fnXzzB4xxn8lqf3WR/Z52KdTFKH1yTIKHKE6svA3YANA==","signatures":[{"sig":"MEUCIQDiqQD7OWTsevd2kKrBQ08CXdSMxtemIsulLcewq4Ir6AIgedmAq4PVqBaQP+3AR9fO1sG9Bh8bb3Sah+Qb/uadVkQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10146747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJqu4CRA9TVsSAnZWagAALdcP/iX+D8R0nx2D+/pLhD9E\n17EFRJ30Gdqr9hQKkp3Ha831Y2m4ytso1+PKhN26htgIRS8kwpU0MId8tgcj\nRACs5IHK6UEfgnK+Bcw3AzaRR0KTT+Uz9cK2UoleemMteofYgQzNbWZ2pZ/N\nyWAHyXIRwKwqFcgHKQmheP3xX451JZR59Ga4918mL8Y5r1VNJ5l6egGsP9Nv\nL7K2hKHg9m2zhcWdNbvHuljalE0u0EzwUGE/uqpuKX/a+IXq+Z57d8G9n/+8\nWe2nwFohpgEHo08AxEr0K/QYV40zFjLJkZSXDV2yR4prXvtg1FKwL5uLxKxr\nGPiPsFIsf/Exdbkc5HJo8MH7ozS009o5luHuVh6rATJlRC36BsKgnAkPkB/V\n2SMpxaer0aR0bu55Vx4xsi6SN7IsC2g22dOvWcXeRGjG8zXUxkunrr2ETLsf\nskWO7zq0mtmuxeZTvA5xr5YUFFso/Ohl1lQz4VMrEhWSwNEp/7H2TY0vZiOf\nW6j7gDbXD3tIy6M5o6D4DOVf6h2mNfKVbf1DXLPfwE9M8HWaybIhbIypba/Y\njcugT1IrLlJ7I0UAGVlqwrj6Xs9GKzXN+hjSo8jc8Tc1983Y9n1Xl6Ig0HnG\n0EM/wy5x51phCJzLKtXCGOb9RrpMom/J0ouWXS0d9BNg2uUvx+Acj00aTsB/\nsrmi\r\n=4w8Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"e4e89a72511e67d72b4b0005a9d83df2289146f4","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"npx eslint .","test":"npx jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.7","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.7.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.5","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","pegjs":"^0.11.0-master.f69239d","eslint":"^7.1.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.0.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.8.3","@babel/core":"^7.9.0","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.9.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.2","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.0.2","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^5.3.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","@typescript-eslint/parser":"^2.32.0","rollup-plugin-typescript2":"^0.21.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.32.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.0_1596369848304_0.648135665461095","host":"s3://npm-registry-packages"}},"0.12.1":{"name":"cubing","version":"0.12.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"94b19f9a93159e6910773f1e2bb500e5001bd5a2","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.1.tgz","fileCount":1122,"integrity":"sha512-7VXdCT7LJWX0AOFZIXX/v+a8kCXQlvrSSkw5jNPnG+EM4vy/CT42iV1KrXwfxNrM7H9qYyg88lvD0eLRj3WF3g==","signatures":[{"sig":"MEQCICSKMjyVK8DT+rJe4PKcgciOTRltmHhBDEks/b4LCctiAiA1l6M+l5YzoMeBKBev3s+Kj3VZg+JJJGGhLYhCFhqioA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10210565,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfK7rTCRA9TVsSAnZWagAAvWoQAIf7RbY4m44M9EszxhEc\noYM9Hm/IOyR/+kgWUm65ohXLYv4rwT5vuXMVblEMKetRpMJNU4wihTiawGRY\np6XZFD1euAPfRswYsJnAoGm3/iD9a0vKEC5IK9aT0D3JXseXL/V6ja3YpwtW\nmKbYEIMipwoCUxmAcAHNfeZ/780uiTlqeJEwjdLsHaPK/qT/vpphPFFF//yq\nSNO1cJD/sqMomNUhQJKK2Vk1W9L0qcgToaf8yN4G9Nr2htQZx0Vj9A/h3mdF\nuBcVrSixpg4lFkfPzvpn+KVGa9myk/ojEUctErBxNevxvYPDkjkCiP1ps/E5\n2rn8ue3QfuUMw97TqYqzIwaiUngw4+MQ9yrNpxrQDHXN/6iuxmQDlGZMEgfw\nLzfaS+ouOW1nBpCXV/IqDKtGggpXnsvIedolscbFiYNE6jikJC+ptoCCfjbq\n6gk3U4Y+XmQwbVoC587xxH0v4WuojaO6EaR++6KuG6tztG9qUDr0icvha45B\n1TRtDQ29C6EGpQl04wOi3aT3PvHTvVcCV7znuQ5M2exN+kX83iCnp+JQ4lLC\n6BNoe7isLuJZjBTx0HTTzmCdTT4/M2s0rH0dncwuF9Ny73FOmq8kz5dv6pn7\n7ChzexWl0X7SOgt/upFCCWVnnXdLcTzw6JAgS1xQKy15//xQWsnmENoezkcH\nj/70\r\n=w2lf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"107ffc9b7a770e7c6163be27b9a5edb2edbf735f","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"npx eslint .","test":"npx jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.7","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.7.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.5","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","pegjs":"^0.11.0-master.f69239d","eslint":"^7.1.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.0.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.8.3","@babel/core":"^7.9.0","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.9.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.2","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.0.2","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^5.3.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","@typescript-eslint/parser":"^2.32.0","rollup-plugin-typescript2":"^0.21.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.32.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.1_1596701394383_0.9834556697242225","host":"s3://npm-registry-packages"}},"0.12.2":{"name":"cubing","version":"0.12.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"a26272c9e02c00535d63958926a641fcfde2cc64","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.2.tgz","fileCount":1140,"integrity":"sha512-qZOwkJlnkeWLeQqDojd/r8lCMoE7z9yzYOvhg1KAxfbanUsYvvdClq+gnJovxwW+NGiynaeZGv2Qr/8ZUEUzuA==","signatures":[{"sig":"MEYCIQDh5Qf5+WefJKnERMjpnXCv9jJrmCHZEkEUzVgaWlBrTAIhANQtFg/6fFmXshlgf87b1m9gGZMk63AXs2KA0TAgFWaY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10280886,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLlB8CRA9TVsSAnZWagAAksEP/iSDdK+QhP18zFLqSD4E\nDwGqMCq/vFoDrKkPB86Trnz8dIbsOBUylz8C/hQcib+qJySrnIRDtlcFD7hS\nvvtqkrYNawG+DUVwUlDdjqKuCSj/LAQ4Y90Dokd5fq2qzN+yFDYeXL+Lmyky\nAKgBLeAaX5OhsqEczNwZLJidb6DhEDGDyIR5qcbuZ/EEfszS9Y3Hl9GxpX4v\nN4M0P9BosuygUUIPrzGy6Ahzvtsos5RZ6SefmINxjCx1FRan6Uo32eCkJUSq\nMmayPI+ZcduPf9fjmoukwY457axBUGY1dh70bFHj3N0vNckiJOQ9siONSHZ8\nIMAOBt+o6H6kdA7tZ5tBlXKgxdw7KsmTlUUf7f+pGq4WAqhdwGyv1EzSCG0x\nRf36IN0TMHCfH1/9CXp5O6Cv/ByTZ3q5Kq3fBT1gZYklr54ZopngD0resCr0\nk2zSfqFhChbLV89kW+fi60FbEc4+O1SWFJAeULCInI60M3rSmfcf74kVlo+g\nfLIJLrcBqasxcpYvuxhdAOB0vijfVMthK7sufZ3iY+J26Fyq3cFNoV5vdoBE\nCSX/agvStxsXKk/Gi/XsVcCsRPmGXBX2dWkeYZmXzfV6djg+JubGP+Wy5p4G\naBSazqBmg2qheT+xpp0Fk1CX3iHlaMxuc8yRlyYe3/6/FnJM4GBv16ZpRBzP\nb/R2\r\n=T4t9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"f5b2a24b08eaa3a1090c43e266d758b6efd8c9ec","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"npx eslint .","test":"npx jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.7","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.7.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.5","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","pegjs":"^0.11.0-master.f69239d","eslint":"^7.1.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.0.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.8.3","@babel/core":"^7.9.0","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.9.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.2","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.0.2","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^5.3.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","@typescript-eslint/parser":"^2.32.0","rollup-plugin-typescript2":"^0.21.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.32.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.2_1596870780098_0.08572872089062011","host":"s3://npm-registry-packages"}},"0.12.3":{"name":"cubing","version":"0.12.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"32eae80eaa87f9aedf763b36cb2e475b91f547ec","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.3.tgz","fileCount":1158,"integrity":"sha512-BbVCm7VTVwpT+FRi11Su7Syv1GDNXE9t/7SP/nwZE3ixaQscSZHuv2k3p1rGGaGClGgaTdr05v8e+RFWbULW9g==","signatures":[{"sig":"MEYCIQCugDBEI62JfB4tPd8DG4G9YoTztFHuBQMapzzbKbfvtwIhAJAVOOmCv1cmF/FPRe8RDrddZYBaXIKylnRfSJr2347b","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10350704,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMQUwCRA9TVsSAnZWagAAQskP/19wVK+Gpkl5gDlsRU/F\nhvn5OU/X9+HXLNlPP7pc5esPFSBw9QJitXz59ykWlCiAOoIM34cywoCCtyHt\nTVW360qE/4r5GAjf7cvulbz70UVceUlflqyd9UOZYy6L/CMpdzYeFQcyfaKh\nmOmb9VIpUoHGzFZXjbSQtA1WkIqCi//2678fMNBc8ZebZ7YKipWNLidsK0iB\nKKx//0apca5Pfc4BFUT3pqJjJ5U1nbLbbG3urC4qQFEl20k9BoZ3JH45CHBc\nkxI8E+LeFrahlPTw/FOuW6Rhbue+u26f9L3jMS1fYKmydvRKcZNMVW02I7gD\n+NqW0aYwN1SkbEcM67n988unHb3nF+ViZqlYvgIeZ1q4AClQdzQV5kAM2Jk6\ngx3MkC1MkFS0FTQdCbMb1zvqfGni04pLRJpjaGbtzEm1rFgkSodYneeK3zaI\nD6dil1BGQ860qPoCxEQP3Ym+jHcjF23CftiwLe+1EVfk9nGGlRnazOcZPh53\nlO7drqWKCb1UFFaOpFrGWBohc9TdfzkRtvXntWM19td8HYTkz1hobH2tBO93\nzQwS1XeUHeX9H2pMo9S9YS3efbTjHQion5kJX4UANntMc2v5tA1DWRn/tgRV\nq+09f/ZjTlLBjxkafsiuV/JDoCVDTO1Iv8hWKJLOkZFaA6d+R0qa2dlf/An2\nsqYt\r\n=uE3C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"09e480d4983a3065733832049764eee4b8e68c0b","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"npx eslint .","test":"npx jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.7","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.7.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.5","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","pegjs":"^0.11.0-master.f69239d","eslint":"^7.1.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.0.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.8.3","@babel/core":"^7.9.0","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.9.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.2","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.0.2","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^5.3.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","@typescript-eslint/parser":"^2.32.0","rollup-plugin-typescript2":"^0.21.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.32.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.3_1597048111658_0.7313909933570384","host":"s3://npm-registry-packages"}},"0.12.4":{"name":"cubing","version":"0.12.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"2ef106677a6379ba77303b0a83fb96304e7aeff0","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.4.tgz","fileCount":1254,"integrity":"sha512-OpXO/Mp1j5TKK/ckOTqwek3afHF3rNXA4dg8Gdrq/28EoPV28YAwYn3ZRsGmAGS6ugXyuPBs+aGqC6qmTMFLRA==","signatures":[{"sig":"MEUCIQC+NVMQWL1mF6pp9vC82G1p6Wm/BeFXBp3LTK41GmtZRwIgVM3Jtz+/i1uDU9OXfkVcCVLCk4S2vNijYDXWhirgWG0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10609960,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOIwhCRA9TVsSAnZWagAAMigP/jzFAoWWVF3cZvPA7mPp\n4z6lBFqHnZGNsQeaWjK4aXeKAqmqxRNLche8e1WgU0Tb4Cd9QOr1Oq7oP5uO\n4QMBP/heiZnMbP7NZa7xrg54KEF42w+Low4ajQp7N489edeB0pCo0pvysjhY\ndW4Bas6sp6wAH/hRKx6SEpd3g452ZzRMkciU/tiV9ZGKVm2kjhnu+QmZBIIS\nfc5MdymD53KgKbmMvZjbtASzc3fWRPEfKjGKb+DmBLtBLveS9jxmLrX56NjT\ngD6PCIJrBeg5T9cHBR2aHiRdCZOL9NWh0hqw0GW4zkvR0BRFV8KLzHxHAOSR\nwGQTmGo7jKevrLYjB25BebgTa2CvwRmRcsLer64wZ7Dis04uzwch9ckaWEeB\nWDAS4X/8VX0NEjMhp7HOqkkBbLAy3REMUqbNZssJYVeW0auyhDXwXZGtiLs4\n6ZSQKbxy1ScvMsHqwQHPlgv7npHLhWSxZ0iemeXhTj9ISngaeJNvhd4Y3zCy\nHap9zm6xG8YN+Un2n2gvSQSv212ujbgySGFRl5OQ8xQkWkXL3Bq768SHZaOQ\nFBqWHAM6HLVD+5rTq+zruRuhhz7eWduR05jnBcu4wRiOfNu6uBNNFyTESWWa\ns3SuayFTBvBbWsUIAjAV6mx0ZAM2Z2Qq0VMltSfaLkwuyRy4V1IP3qL+CzEC\nbSVi\r\n=KeIj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"49e5ac588ca1147f1dac9bb675c0e61c794d3592","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"npx eslint .","test":"npx jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.7","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.7.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.7","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.0","pegjs":"^0.11.0-master.f69239d","eslint":"^7.6.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.2.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.9.7","@babel/core":"^7.11.1","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.11.0","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.3","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.1.0","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^7.0.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^2.34.0","rollup-plugin-typescript2":"^0.27.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.34.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.4_1597541408409_0.8045000322556579","host":"s3://npm-registry-packages"}},"0.12.5":{"name":"cubing","version":"0.12.5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"11a52744fa0ef0e352ef7dc46572d8764338d0d8","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.5.tgz","fileCount":1255,"integrity":"sha512-xJWzllv7zS4LBw+K1sMPvn42FuHvQu705yhNdXOiEd1yToGFhYLCMxmj5XtSJJZqFhUChcnutOm2cxfyxi7uwg==","signatures":[{"sig":"MEYCIQDuw0g+7+T0VEn5GParnWb+7AKRuHfPu3tgi0jtqkhL3wIhAP1egzoGGXkVG9VojMWInZpvCp4uCFY0cZayhfTosfpT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10623773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOOGjCRA9TVsSAnZWagAA1PAP/3PNFXeFLogfNc+fuO+a\nrZQOF5ZYcv9pS0YTVPHFYRdWyxgZbVPckl3jiSwiyFHUZY+C0qbfMUqDV+IK\n3j7lL9FHT5ODTxBb3V2I4WQAuww38je8hpp3gF86sXKndiFD8e5cilVDMkmW\nSRHdMuWQnteccgvxWoYuPWu85nLkV8skOuWfwzs0FbZTd56zF3MTnTpKV3th\nHyTn6PFMoP9+75WNYPTK/dDqPRqOuOHTO9jV40wK+eU+r5aMloxnncBJT1dK\nr2+ahmALhVOjYoRJ30hxiN8OWpgjdUd6fCEOtm+4ufkbyTSAw+ihyk3UYPqw\noU6thnjuah7HhGiVDNCdKjk/3NmolaVLkHwIvKvRSRq0WHhgzbeqAmsxXyIT\nqeNI8n9iULv7/x9towUm1WKHFPpMnCD8sq2ibcysz9/Q6dY72oJg8xytXwHe\ndWadDu0VwkvkeHjES1OnKYnsx3tZHOBw3yLDNk9Ud6JMpaBqVBPuZ+XvmBVW\nUHmuJtkI2Yp2mj9vmy7F07zQOh4bdsishjvYzDmyp5jc3ZCJfVAqTzPvet6B\nouf86jAk/i/iX03WOxsCBLFH5ceRTX23dVs8O/r7a+H9TU2+JisI0602vBqm\nvHaeSztqXSf3zEvjxDgoiFRRYqEvRg3YiC1LfoUpVA3WddyivFCnT0R36Ltb\nwN0i\r\n=ENdC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"6272d0d8cd59f4574cb75dd5f932010d59fd3b9c","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --open --out-dir dist/parcel","lint":"npx eslint .","test":"npx jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.7","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.7.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.7","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.0","pegjs":"^0.11.0-master.f69239d","eslint":"^7.6.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.2.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.9.7","@babel/core":"^7.11.1","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.11.0","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.3","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.1.0","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^7.0.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^2.34.0","rollup-plugin-typescript2":"^0.27.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.34.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.5_1597563298989_0.7274984150934793","host":"s3://npm-registry-packages"}},"0.12.6":{"name":"cubing","version":"0.12.6","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.6","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"7d731d0f2166e6fbfcf6ccde399cd74a3430f99c","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.6.tgz","fileCount":1265,"integrity":"sha512-rnjRY+vqfdvT8Aoi29cemc/RDDWd3SX49u0uJy0K3nKAt0zeDbUtQpNFQMlEbkZpvSByz2jZ8SSjTj00e0kpkw==","signatures":[{"sig":"MEQCIAwS2zeOWWIRBwlF0otTKVzhysZYuQ2z2fUxNOqvdXlOAiA3Msw+ugP4pkjFHGUMN7oNf7CywwhGuofJ/sZaPsjcUQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10639365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfP5/pCRA9TVsSAnZWagAAsVkQAILns+FbmXKJpHNkf+mj\nK97wZ0aiHUMIpkuDUraqnZ4uSL1af43541Ja6mmZgW23PCCNtOr7MoxUK27B\nFvzYXnvm1Kie1KGjHaGgaKKLic3csCM0AqGV54kGhBo+uWbi1cAWF4gki9VW\nypjSejfb0XI9jc4p931hMyYCbkcUeHmFEU3PsaHaMjnau1+pgcGZhYX4ob3L\nyTev095CP9qxmFGbFSzWRvbxPpz3NGiRb6GTWU5IcJ1v7MR8B/5IBw+fDWY1\niNTiNKbyrE5Jkz1v/+m6+CQvU9yBQHspHYchyZhk3elECagIeycKrGHvZuba\n2scnQox1Pu/x2N5nwDnONIaVMMiCj2eH98iEUZjIYLWXhUNPV/3ndcw7OguH\nRlT+aGEbcTiLSl35Yjb/koF5M0LUgzwSkn0LielJ5C+mjhGVkT8gZT/kxMu3\nqYfYjeSE8xItSaoQh3wg6jLXasaWub51Paf4pVNW5+15CgLZV5+7g/yevCDg\nSucQjqOumoOwgmQFbJBqS1uQzb6ril7X0plCRwXUxUW31U2rwtRRzz+C3dXV\nFzUHNwqYaW/uK5usxZW8seLANxyPXtovjDFMpvmgjSp0bdc1KA7u+sruZ5Zd\npqG3GwIydbltotAyC5f8D6qwVuTIyoBgWziGV11+n6GCKRRCZlUcbm09uXJk\n9nig\r\n=k4Am\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"d74d0b1739cf6f9708437fc966f0488b80fccfeb","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --port 333 --open --out-dir dist/parcel","lint":"npx eslint .","test":"npx jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.7","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.7.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.7","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.0","pegjs":"^0.11.0-master.f69239d","eslint":"^7.6.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.2.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.9.7","@babel/core":"^7.11.1","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.11.0","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.3","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.1.0","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^7.0.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^2.34.0","rollup-plugin-typescript2":"^0.27.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.34.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.6_1598005224589_0.33657667887908294","host":"s3://npm-registry-packages"}},"0.12.7":{"name":"cubing","version":"0.12.7","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.7","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"59804e764980f5c78ea6c002fe671b87e791c8fa","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.7.tgz","fileCount":1302,"integrity":"sha512-RITbKzKbQUhKKm7n4WkCwoHkHGA1weNsriAWfrCSq5o7px4LNAICeNRclg3cSYrpsossac863rBRv1r0PZeAUg==","signatures":[{"sig":"MEYCIQCz11li4rZ9Z1mLabfMop9lAXJ67565jQxWppasz8k1xQIhALUhTb4fqfr5RaeGbZHWz9t66V8OhkMEsiqTo/O2SbEJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10893109,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQw/ZCRA9TVsSAnZWagAA8SUP/RqxHlRknjb6UReVoBp0\nacXP9w4eXgRJc/lnV/I3KmN/lr0/uvV/xWc2X77e3v1AyCgbezBBFsKmxuYy\nPIW4TOA0at2qNlj0EwTqBYx+bNnLDuMf1+tDW5OmhGfks7l/c97xZFWxc26P\nYFbPZrRPqE7OwQClezHxsSOkfULmGZlP6I/y5P2n8OkWGK/JfNDOjEHdks7d\nOaQM+j5CAdxWioTu32Gu1wiI0yofGV5i+e9C46to6WLFlBmLPYa7Ae2d3DLH\ng0GRWF25LOtlLmvlA0I6YiKKvig8TAFPN64nH3sTcgBeiicf1BPBAqjMBrLI\nE4cWnbBlyv531nk0m74WqE6SP/vA4iIhVo0Xq9cvprn1UHQ0vSe1wT9CfZBp\nztki4wN+bQPbb6T8sjxTSyEgk7Lu5Vkild0OXBmeaSiHJyqpVPD2v2UNl/+7\ns0MA1YwWhVbTBnjdRFyM/BCC1R0apeYzkkOAzmZwfAdclJMkjmDMw0j3xVK+\nkT04s9F2A0eSaTYOuTQu6zgX25/kDW5l2NHVIHCN3vOx6e0faKZDDqioBfKq\nRTLvA6qqEbsSAkWFt3NHolzVRhOaMufCWXxXOi06fokewi9P5/xNvG2BbTXu\nHOjUxZbyRtSXjtnn1MtkPZGzzPszv8Vyi1cdwxEfOY0I7XokQZ8Rn7T/o/aX\n8gPn\r\n=IQPY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"c2bba529261c51a5f4c5f2f1b4a94137ac00a3b9","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --port 333 --open --out-dir dist/parcel","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build","test-jest":"npx jest","test-node-require":"node -e \"console.log(require(\\\".\\\"))\"","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.7","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.7.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.7","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.0","pegjs":"^0.11.0-master.f69239d","eslint":"^7.6.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.2.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.9.7","@babel/core":"^7.11.1","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.11.0","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.3","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.1.0","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^7.0.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^2.34.0","rollup-plugin-typescript2":"^0.27.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.34.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.7_1598230489305_0.898414306695867","host":"s3://npm-registry-packages"}},"0.12.8":{"name":"cubing","version":"0.12.8","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.8","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"b33736600ee40e4004d5eb51d369bd5977a64012","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.8.tgz","fileCount":1302,"integrity":"sha512-6D4UfBIB4P+YxL6435iPU5SROfoX18Kv6B0GBNj1FhKkdxX0KnHCxd/fH8SmzEgFG/L5Mf9/I+5oohDH6JP2yg==","signatures":[{"sig":"MEQCIDrCOqYZv77TwvFjn6etCXPtG+LxhHO5AKcn7oWVgTk8AiAbfNULWO4QxDmJZb3D5v0guj+v83YcQ6w57ptnSTmY1Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10905657,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRMHYCRA9TVsSAnZWagAAWYgP/0a3jt5aok06j6jPNwfY\ndK03OTN7C+VEfRvnev1fUZuWthN2HJrEThceOg2PHh+APdaAI+RWLi9xL81l\nPKF1hTtBYpMa97F2dqRslGkZghSfICbyhSCHTVItGJairAtH3/Fz7Cw51PlQ\nxkjXw3tCtg4D87hkRBgYJsB2qKIudkFKEq1mz1yMmj33kE6wtKhlNe/hHsAm\nflk+5AZZlT/Xyz0xbMPTQSe8z62lgSuFeX07UXLcgwhVmQDYRMJEoA30890G\nydLzPb4RCwBAQjaEY4NZLCOhQYjQ400owTMJ73goRjVROg8NKEruLWAiemC5\nvcxaorWUT4PvJzl02MBY+yy0GTOXf0mK7wl/Alqdz4uS+qAJKrQ4A+i7HhSE\nmkaIdOAO7T2ScCy4ZE+GrACotWINTpP7DtWVrfFxI25QRR2dwuj5UvLNOVa3\nB72JUY+KkFsK1+NNh1AFB0DbFnX5KB+lU1HwQvrFVDNpERxVJep8IFJV/cvJ\nb18vGYy9KWpeWRsX5OXEALxZJW9jXmUsCm8awWVaH4NQ7Q6dJWNX32gMNe2B\nBQOvLOA0yihioBGqJgpK771UqncjRNuAN981cokqipCPlsTuJXfxo0Hoyz1X\n4nHoGzbJAVxZg4Z3K8fykoIn2qftAH11HITUsJ+RqQpYtokD9rS8vldMoQKa\ngif7\r\n=in4f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"967fb1008aad08a8288488398edeeebe8f796131","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --port 333 --open --out-dir dist/parcel","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require","test-jest":"npx jest","test-node-require":"node -e \"console.log(require(\\\".\\\"))\"","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.7","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.7.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.7","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.0","pegjs":"^0.11.0-master.f69239d","eslint":"^7.6.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.2.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.9.7","@babel/core":"^7.11.1","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.11.0","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.3","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.1.0","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^7.0.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^2.34.0","rollup-plugin-typescript2":"^0.27.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.34.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.8_1598341591508_0.49685030147033604","host":"s3://npm-registry-packages"}},"0.12.9":{"name":"cubing","version":"0.12.9","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.9","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"27b0ea1da1380c020b1d6305913e7d0cfdaecc6e","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.9.tgz","fileCount":1302,"integrity":"sha512-QM38S3qrVu4ep84fISu4lTyz/GpcNBJspB6f9U6ytfyoN5fGk5kmXnd3wGg4IY19TPX+4IZL21Gwy5EpwsBPkQ==","signatures":[{"sig":"MEUCIE7ZUSeJMdewvFn6SQRFwddP/peB8KIwHSa241xMJDi5AiEAz2WVIgl8+Qr9gp2h7E01Mt/Cu0iun3w3WFiGydwUH4M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10905665,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRNpNCRA9TVsSAnZWagAAc3sP/jRkudQyef8+zGl99r0w\n7AdY1qxHBmYgnG2aT9Cg/49TYwg7YAZxRQteCnux3ojgP2gVbSBCKsdfLg4J\nKJD7/uR9ojck/P0Bm7YXXMs5LWM6silDy93gCqNeCP0qwiBlwB0hpnfPWXD9\nZrzQ5K4GVXpZoyI6D5LjC7cDR9l1tE7/bJjXwjPlYxamL6iJlIcb6sNtx2lq\nd6RiJTMLslc87LdCgj/PvMD0LXVJ3jRBrEb3MbCriQJbI+maPksrSr2nvg8F\nR2FEifBu6RGaX6dCreaNgphW9NXHqt0K9Frmn38o1p+HoKjWmhoxPD3BvR5T\nx4W+7ZDHu4IMx5QF10eDq/GmRBvebM4RbHcLLYY/BT9ohcxkZTwCLxcaHYpZ\ndBEYqWsNDh9ZzRL04dch8O9iwSzLnBq0mnCDr5OCTqLMntswgo6U9rFuI2RJ\n9j3mP5Ry0sr+PXAj7djStNY5qvLG3dD74+D7LuO8wHPqQo8dN0at/jTs/STj\nksQtaHn6/XkEsllpd414+skshpDwmwo6ho4FosOswYv2++3Gs04fctRx9e1x\ntmS03Ta71kSR/P0BOoIVGO0hy86RNMW4JyR0KwBxsVn11LLaWZVX3Gr4AXCx\nE7jbiuSGgsIvXlu+YycXxj50GkxlfuefTQlcn/k0ngIV1qyi5FVacaNkNsg1\nVpHE\r\n=tKkx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"e0a41636ee74bf0948764bd4fff9ab15b477b180","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --port 333 --open --out-dir dist/parcel","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require","test-jest":"npx jest","test-node-require":"node -e \"console.log(require(\\\".\\\"))\"","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.7","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.7.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.7","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.0","pegjs":"^0.11.0-master.f69239d","eslint":"^7.6.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.2.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.9.7","@babel/core":"^7.11.1","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.11.0","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.3","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.1.0","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^7.0.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^2.34.0","rollup-plugin-typescript2":"^0.27.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.34.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.9_1598347853215_0.6398151317193954","host":"s3://npm-registry-packages"}},"0.12.10":{"name":"cubing","version":"0.12.10","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.10","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"20fa64c7502aeeb8e9f9c9b4136758376cb5d6f4","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.10.tgz","fileCount":1319,"integrity":"sha512-sM+Z7luEbEbJLYmDwiKJjDNGb4GujIUaOoJZZP9Lb8f9Tfn0ykzSqSmUDmOUxF475zcXCCcx5Z7ulQKl7Hck5w==","signatures":[{"sig":"MEUCICE9IuDgQGyuSrPqmcvzx2kFJ4Tkkid12q/UGNSWDpCOAiEAzO08tCzJVUq3UoypgpED3puA2Ik6E7OE9NGfJkm3nbY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10949885,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfTGnlCRA9TVsSAnZWagAAH8YQAJTfLOG46WZqJX3wSgm3\naaJDO+7dfI7MEP0ujVF4pakdpOoLF+j90ZzhcFAc3RWHPB6y4WKtPfxcE/dB\n0IeiTnXTIdDbn4+gmBUs1ZFE6lLKE3wICi9Qy+fMKwT5hkarLP7FkTPSDvmw\nLeM+lbhuUlt62HfWjBlbs3YoldHQs/g0pKOu9r6CM5GYHHMGRGUpLF+Xwfk5\nbQBA8rWQTS6TRyypTr4l+Tu1VmcxFaJzWRD9rcweOFPe2MXLDlB2fD2TIvze\nk2xq5enj00unPzyYc6F1xMNnhowS6yM+yuCjTpGDrwHsrd1VXL6JrGgl+37m\n+qveS1chi37E0j9JJ/Oxow5eMEJWhPp1756nMZkFkTCYoF4lPv6C5Q864Qcr\nB+jZuYg42n4CCSfA4GCOOakOdf6B2pTwo7aSfohzF8rtsHD98P4V0Huyi4Iq\nuwM9m7lOvOlN/+saaZfIa15WSZdcRQlPYK2THCY3zeyPSNHZMJpNsgS7fFSa\n38NbE3kFmT2ynOOiXZSQ+Cz5UNPxQLuXqkdHS5KPBaQqy1JzDtSiXqAMPEvy\nog913MqS2ftPRJ6KCxUFFC4/8Eq9wK6GZ+9qnNf76hQr0iXE2lzorUi8uF5C\n54WiTNb11HZiV5cSZWDrSbIsw5VvcP8BbxYYPuAqd/Rrfm4xyuMDl+GvOoai\nrfhU\r\n=975A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"8d7292c79f1ae32194024d3c62f4c0f099c48594","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --port 333 --open --out-dir dist/parcel","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require","test-jest":"npx jest","test-node-require":"node -e \"console.log(require(\\\".\\\"))\"","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.7","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.7.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.7","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.0","pegjs":"^0.11.0-master.f69239d","eslint":"^7.6.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.2.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^3.9.7","@babel/core":"^7.11.1","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.11.0","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.3","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.1.0","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^7.0.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^2.34.0","rollup-plugin-typescript2":"^0.27.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.34.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.10_1598843364778_0.6551814683234021","host":"s3://npm-registry-packages"}},"0.12.11":{"name":"cubing","version":"0.12.11","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.11","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"b32fa0ba540424476acb3997f5e6692e7757e26f","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.11.tgz","fileCount":1336,"integrity":"sha512-aBcnEHWxTgCQpVMSepXOpeSFr+Ml8ak3sZ0lp7/G7N9A0jkWvevMIQkK4UDbJFygchPzcTa4tghv5Z5ecFxzqQ==","signatures":[{"sig":"MEQCIBu+2a+xO6iyxnmViG2qvAl/bQMN+Vrw/W821KnV+xu7AiAFJoKyvZ7jKUWdWADHpoPbfOcr1kgi2g5uwyZIzakW+A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11038718,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUFurCRA9TVsSAnZWagAAsvMP/39LWQr1xt3sy6hGM6uZ\nblIhkFycthAo0qPOAJ/jG28GNaj2Ya4IIMTezseIauuUyLqko8xi+nob6Ye8\nKETdeaggHlLRmk6RGO/I3sBTWYahY7E5Bci/CNdZYe8eEdM7Sa3we/gGaAp7\nGREo3ZkbQ7LUo2+7MkBLaHdkWFKOJ638m+l7QYkkWyYZGuLcn0GZhvvConwu\nG63i78tyht7qFDezRvXnW+pnVi8K7rCXt9WyI/EXNq4VFtnRChXlY2wYjtSt\nQ+h+uh6il7yKjWvhATRWDyDnaMuYYhQZ4EAfcXFPW2s9hAJ1/PQQhOAUUu3g\n/nFWqWXU+TJbp36mJMB8/G+5/whCWqdaghSNE0/yzd4OnGv2KN7lRFCGufSi\nDuVwbYPW2YqZaiaHYMxY//4H5AKriWY35d1DFSWAHVO+p78H5a5vfqYYWYT9\nQ0bWtWXWVCIEJdh69n/PB7oms3zaQk0+3D/dcSetjMG5nD2vHXfpaBQM+1n7\nXWsvtdjnNjEXkV0HJ986NEVZQyK29ZjeoBLjs/YNmcRkLCfQ9mAY3NJDS8Dh\ni+vmZ7SABd4dWvd8fY0LWqq13yTBNF7pNTNZBBsMoYa8K9Ek4nMcmbvL1ew2\ng87LshKE2vy6wowGGAedSH01eBDvruVUgvbGD+1miF6OLe5Fimztbw7n83xa\nTVZf\r\n=hytv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"c4ac0ed1c2cf31b2676e1021d8dafe43b5db37e2","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --port 333 --open --out-dir dist/parcel","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require","test-jest":"npx jest","test-node-require":"node -e \"console.log(require(\\\".\\\"))\"","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.7","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.7.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.7","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.0","pegjs":"^0.11.0-master.f69239d","eslint":"^7.6.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.2.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^4.0.2","@babel/core":"^7.11.1","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.11.0","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.3","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.1.0","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^7.0.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^4.0.1","rollup-plugin-typescript2":"^0.27.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.34.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.11_1599101866502_0.45931008881542534","host":"s3://npm-registry-packages"}},"0.12.12":{"name":"cubing","version":"0.12.12","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.12","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"1f35522f259e9a4df9594c30a3de98c4441b65ee","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.12.tgz","fileCount":1337,"integrity":"sha512-baOro3lfphfmbx+DxEDx6Y2VGNBjprZKc6UW1PlUmzti12yDcn45C6DXU6of9cwPjSPXBGR9o8DrnCYo78y62g==","signatures":[{"sig":"MEQCIA5a+NB5gRc2Qok7YbtZkrPH1fEwrDTioanFRaoIA9oNAiBS5mSl5stEv0StQORV9QGgJ/NEW262ryLge7hpl1LLOQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11037558,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUZ0BCRA9TVsSAnZWagAA4FEQAJzc+8CnHJvBiqg13bmP\nKev8zGAgbDXq3sVVkZhQhcZyDmn5Z/tA6DWzboapaCvsacNPSg3QIOQdqhsG\noNiuzeuJ+3QBSMNb21971ircaTfG24CWUnXRsE7PylSF8WMbMdCg6M8hl/OZ\nwC0ufU8fzVj1Xv9A1ME184G80NP47bT8gyG0/o6q5vH5PNisltZU0/hKwpGW\nxwmsEBXZ8ltL0mqUb+Sem9DsNKcexSdWqH1HguDH9o1s9n2wEqAjj4vflNsi\narXI83ITIXWeSJ8ATZSh/xUyXTLKSJR9PvxUQ0dVb7ov8Dj0yvjuE2zkNUub\niHb+GESLjkdaN1gkqAJoWDoyTptLQcJG/fPucJ7nEgjBed/37akwrbKd1mgG\n2XHLyY6ojISVoM8m7247QC4kgY3biZLOXA/x4XcnIF2jCwo9+2gSNTjmG6n9\nxhCF5LXs5CfoZIWMnJQRPQVRGo/mM1Duy4RBcV3nYCcDOtRAvC9qtpeHWnHN\ns8O0o6MGAzPoTKW/CakMYd6bycCtRDWi0tbPsCTaUBVpbos22Eyu+BNUxW6K\nAwXPJ40RBbVwA41iE5NIuFbsquKIJgVfhZDU+vMlUZK0Fmh3kA+ntU8tzK17\ncSPyWfcFBURWzmbobAdJoZDINRDC0IAZM8qo/mOxwWGyyxRBmX/gRYRUXQda\nrNza\r\n=tl3o\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"d18c655b9b5aa162e540091bdc77daebb465c415","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --port 333 --open --out-dir dist/parcel","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require","test-jest":"npx jest","test-node-require":"node -e \"console.log(require(\\\".\\\"))\"","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.7","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.7.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.7","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.0","pegjs":"^0.11.0-master.f69239d","eslint":"^7.6.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.2.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^4.0.2","@babel/core":"^7.11.1","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.11.0","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.3","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.1.0","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^7.0.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^4.0.1","rollup-plugin-typescript2":"^0.27.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.34.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.12_1599184128641_0.46027637882377026","host":"s3://npm-registry-packages"}},"0.12.13":{"name":"cubing","version":"0.12.13","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.13","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"f1d58e994da061c88e1923bdfd002736a6b9f8eb","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.13.tgz","fileCount":1354,"integrity":"sha512-MwlCIBQ99BKxVqeouWrTgDikbzDDbP98ThG4AOynfTMIS2faLqIGZTfRN7Rq0A+Q0ZhnC2neE2QRH5z4+lKtPg==","signatures":[{"sig":"MEYCIQDZGr8HKmhjIdpv/4K5vEZHWZwg+gMd0mbCIugmYT/EZwIhANwcgQaJdPtAjzVVDXG3tU5t6cECt3FGGudivfAaEy+S","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11151796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfV34oCRA9TVsSAnZWagAA4YIP/3R8Ij7pg2QdsX8qUJ+Z\nrillHTFiYRPzFkWesjyM+k7TQzgf/34narKsv6hNc/+Y7VxCx6HEQBl6LiFP\n1N49t0hKB1bnbRK/hblifr48/lPYbRW0PXXclEDAfLx3opkbd6ZHPDbpJByz\nt7ZhmlCzFh+K5KdejXJ4HaHcHHsrJ3O7/BKi/fY3SHZ/ZNUsgK6eHf+SaTWG\nkE3KXqjYK58rrXzOcyiLPn82ejrKRmYoiFEV2/WxSljLU7ughyKALyy6mqbR\ngygsvUmIStTw5+3bX4FTdi7xN+e9TYHAR6nx/v4JItOAKSONnrTjuUJ8leaM\nC9jwWX2W+4K5MTpJnuNnEU07B5va8h8qHCmxYJk+uyaMdi2OGRBPfTzzNpBe\nj1+XHpRSQBpHup8MY8bUI/TbpsTqDTSXYSV2hz7UL3cdr0RhNBTJakQS6P8I\ntQSjUF8O3nqyaPLorihuqHJr35Ee8JMfMqSFLHh5hOMjdbEP6/LZgn9612D8\nvHMTELeTkkNca9hlzQgbsuvXwGiXaExSMhsItYGH8KwSWS1TT/HWaUBvEwwy\nnbpFRBxvb7NA6O3MwAWxI/8b+6yJ/3Qm5QDNUjLAilO/oB2hGJX77C07lZIf\n8hUC5oEmRu1pm51carKgjngm1Qq04tcMFeWGUPAXViuva8Uav8UXRANAfkNx\nSFSW\r\n=dD0B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"af02d5908542b9ffec5a8810f20a73fca1359768","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --port 333 --open --out-dir dist/parcel","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require","test-jest":"npx jest","test-node-require":"node -e \"console.log(require(\\\".\\\"))\"","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.7","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.7.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.7","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.0","pegjs":"^0.11.0-master.f69239d","eslint":"^7.6.0","parcel":"^1.12.4","rollup":"^1.32.1","ts-jest":"^26.2.0","prettier":"^2.0.5","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^4.0.2","@babel/core":"^7.11.1","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.11.0","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.0.3","parcel-plugin-text":"^0.9.6","@rollup/plugin-json":"^4.1.0","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^7.0.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^4.0.1","rollup-plugin-typescript2":"^0.27.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.34.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.13_1599569447616_0.7974190333246924","host":"s3://npm-registry-packages"}},"0.12.14":{"name":"cubing","version":"0.12.14","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.14","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"9a1ea583611c471dd7b0457b794e1f9ad9a40631","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.14.tgz","fileCount":1387,"integrity":"sha512-uHqGnNzODJqTeskUmcT5eFJOdzkdLhzg9o0TpQQkaxmmb5cIIHrM/xP9IyH3/P0x83e6FxY7lrbTJ6GKs0jUAg==","signatures":[{"sig":"MEQCIHRO/I+3ZLc+kCu9LHzZa0qL3sXDZM2x2MMDPM5pNEfPAiASUhY8CaItgGN4e3a4YUSl0sd6wEkqJwFZsokR29qfmw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11201865,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWxvdCRA9TVsSAnZWagAAEOAP/2VCHUUl10xhbPfUBhrP\nOCbgMa3BrsO/mDkoSnmWae1rOmxZlC23yjgYZIP0G/o6+DEOvK69g3HInn9y\nZzXPRn50ZOCunJxBp57qJX+D5Z5v9AU3O8Psqp15mKsQDqi33bXuXB8/Aote\ntI/NmDlYYzqzHFrsdM/vs6c16SVp0b6G4+XwsTYk3kOK80mBQy64e3we2WsK\nT2rhGGJDpph69r0UdYArOdmNdmrXxzJNISZ2ZnsVM9S9rcpTlT0qvsUiAuNk\nU39crT4Vqh+7kxZR7O9gvIEepfxur8XK2ShFrWXDvGkAXMva2urC1fPD/rr5\neQxb4t+qH8dlF2xDjgiNC1Lxc165hx/WPzdo8ZfjFSJUS8RAKM544CQ4PEUJ\nctQqrVGFwHpimjHoruVqXInwT/ttcai7d7/e4mCFaJdhD0wYSuvX+z/DHH9C\ncTe2zcLbK5ac1SBqdcs6Jh6fSUqYQJ9j4R3xP1UppoZXVlKa49xD5sN7yGgl\ns5ZVyBSzEq3wGeju9vQIe/0Cc1HmSE0i8JitX+P53A+R/s+U/p0qxtMEZvkH\ny5tKoVb3/ou6dubwoWSBU6jLEmZCnCs+1l7IWHXkWCRSwFqx7+5UhaXpDyMH\nTNrd0OVvdR7zw02MbXE+pBExQP2wP1c/Y0+zRmp2liHbqKevZh1xsx/uepB7\nJZgz\r\n=cloH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"9bd406b8d654d7993078753ae874a67dcc4ab110","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --port 333 --open --out-dir dist/parcel","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require","test-jest":"npx jest","test-node-require":"node -e \"console.log(require(\\\".\\\"))\"","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.7","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.7.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.7","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^1.12.4","rollup":"^2.26.11","ts-jest":"^26.3.0","prettier":"^2.1.1","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^4.0.2","@babel/core":"^7.11.6","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","parcel-plugin-text":"^0.9.7","@rollup/plugin-json":"^4.1.0","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^4.1.0","rollup-plugin-typescript2":"^0.27.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^4.1.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.14_1599806428370_0.4234299399760686","host":"s3://npm-registry-packages"}},"0.12.15":{"name":"cubing","version":"0.12.15","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.15","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"d6609aff8e0c5df26ff696a7d29a7ea78cf0cc35","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.15.tgz","fileCount":1387,"integrity":"sha512-2WKUTqEK/ErN0/MjozoaIScgunVH7VeS17N+uO3Se6+8c8C3C9NNgsg0R+qdVrOnlrj+zEgVMFoL2Eeizcw78w==","signatures":[{"sig":"MEUCIQCzdCBGUKnOh8ZI9/1p/StIR3OLTP+jikCZFfLLfOd/DAIgUbk/7wyropDwAfr2wxc2P03JdPorupBchJFQ/rINP64=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11202640,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWyTeCRA9TVsSAnZWagAATJkP/1DwhYu0w9Ia3JzQYPFA\n6juIVEOTP3aSC1JbnoT2zyzb/a7F3DCfkBmQbBBx8kfaKTcMn3TtqHwZmjm+\nns9XwC4nmIflhrM2M1awLBJB9N514rSmO5+hSWE/f/5f3c7JMHIKn/Ag+HUc\nskEsi5xtGAWL3BNBaNWAoZNDRkQ2thP42S5jhuxCR3/Cow20R5EFAhjIOGBM\nho+bay/jk1XIkrXPKab/kCTRfuNtXayPSY9HSwMiDNaR815r4t9snF5zPqu5\n7ib9d6xRmQ94wAmlLVFBVCqwHxW+c8QVb9PRkuJRrKmq2nYt9Y2gl5yc7/Yi\nZDRuzulFCuBx0f6/JYu13k6DNMfjMVwNRPTtxxOQcHPVAlq/9IElKwURhg0o\nvBDHCjsAkCcNMfTP+M7qTdJez7fIHN+tdEmTA0wdXu4T0ltQX3epXx5wzLiU\nbIktp0u1ARYKimEus1mIuXJrvLviDpF8gJ+dfI/LuhvdDJB7eP0fNGQDN8SM\n1KPxjj3eTuvIiA4sKFQeahBwHzz8iLJ5/aYGXBuw2tW13XPIJMSjxDhDoICi\n+GQ7nc+gaboWYLP8VZp3R4GF+HKuZzXAH9f8MXd/ux2qUhu6tUJNmjsuMtNN\nmxjpyUPyrE5PikohHgIGqjTTu9VgwYcG8doWfX0QAEaIN0pfPbgzA6Z+oAqA\nvfo9\r\n=q3TF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"535b4861d42bfd675a2ed7b67812f197b46d9463","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --port 333 --open --out-dir dist/parcel","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require","test-jest":"npx jest","test-node-require":"node -e \"console.log(require(\\\".\\\"))\"","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.7","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.7.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.7","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^1.12.4","rollup":"^2.26.11","ts-jest":"^26.3.0","prettier":"^2.1.1","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^4.0.2","@babel/core":"^7.11.6","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","parcel-plugin-text":"^0.9.7","@rollup/plugin-json":"^4.1.0","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^4.1.0","rollup-plugin-typescript2":"^0.27.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^4.1.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.15_1599808733957_0.5496747225153049","host":"s3://npm-registry-packages"}},"0.12.16":{"name":"cubing","version":"0.12.16","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.16","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"da24c28c8250efa3537f858f1c22751a7e134291","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.16.tgz","fileCount":1407,"integrity":"sha512-/vvHOhp2Q4hUCycyvqlcJLmKz7nrgsV8Sn4MEYsIRyRHQw/oYa69hJ8vB7X20AS7pw5u05gCVaTHjpVOe+kwXA==","signatures":[{"sig":"MEUCIQCQbxYMS9tROMB7uLi0ubfBJ2I54QokQG8q1ocSl0HO/QIgOInTNj1dS/egagImBjnbeKbxL3P6cxH0Uo5Xwldqto8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11338804,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfb9w2CRA9TVsSAnZWagAAXI0P/2qbWv2LgAdO+I+C3b5x\nzqtnjFOfghULdqLgaecdDua0zP7PRi9fuA44kBj+en+UUYrQGy+tHGHJPHuQ\nnHhGhmAiDz1PNIXcDmPAYXCFrttMPhViP9aRGN4bqTB7S7yDnxKnbjWpiVo1\n0ExBMyWr5f/Ln6qwbGRnA8oUnGuPIQiEia2aDJ7ZkN/ifKIHfk65zb3Qo3qU\nfxqaWus/JWgJCyM2bBXlUW4x/lxwJ025WlGsiRInHWqNeElKipTVYWE1af8g\nENN1NkiAuVLYz7N7EwBh2UVRE5gWOXy5YaMTQBILLiRdRwo3z+jW5P9pjPMC\nav+KJJKZpyqRklmIx1+LVAylyQMXFQEXT0VDg2SIDP7fCTY0N+0oPSI3HK5T\nXc2+Byk7LuMqt4XOOVX+WbfphSUvwlmrNl+o1lV0+hLlnrWF5X50h3qoyuZF\n32Iz/oB+Vkzle7CEmutQc5OWMB5rP3OydcTGjKyA0JYjiKQ3sPRYr2YNOhDr\nEoj/2aNOyAPWPZSZCRSgN0f/Vgl9g2800tp5Y3AFJtpyQ+Ck835epk4alIGy\nQ//D3N0m103Q3a3nFBjNxa4PVM5RfYT0m5HldljowdIT8A6JgwMVUOVC8dsk\ndVBvZ7dspZ5DQOGauy5oXYbgz2ZvILJJi3QbapoKYKf4chhTshQxLgp/GSnp\nhegm\r\n=kqmV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"edb920f1105f97f9d027aa29f223c60d0b9ad6d7","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --port 333 --open --out-dir dist/parcel","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require","test-jest":"npx jest","test-node-require":"node -e \"console.log(require(\\\".\\\"))\"","parcel-build-for-twizzle-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/twizzle.net/explore app/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.8","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.7.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.7","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^1.12.4","rollup":"^2.26.11","ts-jest":"^26.3.0","prettier":"^2.1.1","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^4.0.2","@babel/core":"^7.11.6","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","parcel-plugin-text":"^0.9.7","@rollup/plugin-json":"^4.1.0","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^4.1.0","rollup-plugin-typescript2":"^0.27.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^4.1.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.16_1601166390256_0.5447266979685172","host":"s3://npm-registry-packages"}},"0.12.17":{"name":"cubing","version":"0.12.17","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.17","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"74767cdd11a04b2a3c191b3787f98adcc6eb48b0","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.17.tgz","fileCount":1407,"integrity":"sha512-6vqeL0PkolMEHPhWSzHTs6kT+4FVenRyxQuZAn9gpT+fHis3O15tPEizxsT/IQl5UBchuHc4hJpsX17hp3VhIg==","signatures":[{"sig":"MEUCIAcxxfjc5EzwBIxTsH+RxT0Nx49FEPoNxok50B9fe+yoAiEAm4ob4+LJtoaopXcWoHfpT5hf/stivS/5gKn7/Anu6bg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11354714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfeWVzCRA9TVsSAnZWagAAhYYP/0c87oSV86frOYZ+4sjs\nyCcVTxxh+jMXyNKfI8QOZf7Qj4Fib/8UCjVl+Xu0GA9+U8xZ7BzWSBJ14pdg\nJp/+n5G2dRAHnZeuZ8isngZ/JYY+rSFZclkL36DM8PsZEH+69+PT1hFdqRiJ\nQQWPNTp/I8UhqXx6wqB+1nDd6d+glfwZe97PI21iUXb7G+qxJdcHjdqSVQY/\nNbw6Td3eiRQgZ4AsbH69NRIlJLZuBxrboqCv+tqFJ7aXW+8KVRbO8c2RdKpZ\nCl9hmvuBDJKV0XRBOF2NPAkz78+3k9aJ1IrFa1KFdbXH2/67he0qiq381XkZ\nsrQeR5fSEM0Yg6n2mdbA2Zk4VFEEGcc7iwbq/1P6XDKzPb18iqDC+tOG9EUA\nPxuFoYOFZoFO/gaLJENsYPrhCU4LDjLsDDpuAO8OSU0R9UAjx4nWFIdBEIdM\n8j2c5hKez5fcXg2zds8cAC/4dE4k6o+jZqQAxjy9WqQ0XCYFzydmh5WXVh7N\noYobrEQ6QdZr4xaIGzF87RtL0BJzpWrK/I/MPav+7nTjTxvp9358XKueKbYw\nqRC6JFGpsGZdWuIoYPuitYrW0iAWpW6DuuqRDZ5o9NISXwrMedoTD/u4eZrK\n7Iwln+XzrPOgAM4yPZw0rXzkEyT9b+R5WE/YtpfHrKZkF3HW8ErL7N/qqteq\nxJZq\r\n=1Lir\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"6c5528aa49e772ace6efa0983a84eb49797d124b","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --port 333 --open --out-dir dist/parcel","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require","test-jest":"npx jest","test-node-require":"node -e \"console.log(require(\\\".\\\"))\"","parcel-build-for-twizzle-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/twizzle.net/explore app/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.8","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.12.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.7","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^1.12.4","rollup":"^2.26.11","ts-jest":"^26.3.0","prettier":"^2.1.1","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^4.0.2","@babel/core":"^7.11.6","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","parcel-plugin-text":"^0.9.7","@rollup/plugin-json":"^4.1.0","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^4.1.0","rollup-plugin-typescript2":"^0.27.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^4.1.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.17_1601791346483_0.3667299676471054","host":"s3://npm-registry-packages"}},"0.12.18":{"name":"cubing","version":"0.12.18","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.18","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"9177054a922a7fefa2d5623d2e90118276891877","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.18.tgz","fileCount":1407,"integrity":"sha512-XCTwhe4qF2HT1tCezDMqHFcGGBgaRG1bmht2pMngHoOxOINJO1tl55a8ijMM8LyDA5BcyZmRzaC6oO+w/iifXg==","signatures":[{"sig":"MEUCIQDMKI/U1ATkPyotD2qU2dBjgPuXxxK5v/h9o833Q2CvBQIgFw2Kw28Dtv2HuOM8ngKz4pvBajOzi46+4fm0uF5DWj4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11359341,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfniQlCRA9TVsSAnZWagAAtlUP/RRVsp2+YCGteC4ZMNE6\ntBXqnjYn07jwTuB39dpFf+Ke4KSCOQ4f2DzYf1ocDlxrdqYL7zcjzs3216SR\n/vH2p65AfbtfHYkWGTtcJO+Cjxp4QXx8LhXg/2u3WjjY72xSjMHEKoilFF1a\n54Fma6m/v/Aef8UrOIxSITCOKDwCQ6CghATuqcLp5X5WIZICWTdBjdgSkrKw\nkrwnM0ETuyoOKgCQ5WEwOke68Qo7uhD1UWpYPhhLLenlQ8Bd666iMMLnJ6oD\ncRSVXveGL+Vhn79yfxYAUii0SIOV3amz1h+dsfALNKF97s5Mgef+LGsCLOa8\nYff2VnHvNrAZVUXeNCOMSopHNUxXSkPoBJ7xBgyZ7gUFNWBcU3TuAD6+ilgW\nurcn3iM2yIsplTc+eP88JHTJXW6eZtq05eREFOA+Aev6i7maZWuZ1m/wJaVO\n31ebSsNt2ks35cbZbzwG3GsvK7r5hEOKfpi88LNbPcpJU7ho1JbQJ+Q8z5kJ\ny9pF6vqMXJVgY/wbHtA7anAAQHMnDtC2+ImG64vpRQsWZbFWCIMUp6ekTv9o\nXl2kcnoXDdx+RkcdpSQ0/hbgRkxh13cMSELvX7HGdTa2Io/35v/2m5OwwCUx\nivCLUF8JgnXGliQW4o7ofcqApBJ717oeMwKZbOCCSDGuqODtUEUSjcShx77D\nCJww\r\n=A9jV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"24ac64b09d6a753e672c48db5ce71860333f2264","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --port 333 --open --out-dir dist/parcel","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require","test-jest":"npx jest","test-node-require":"node -e \"console.log(require(\\\".\\\"))\"","parcel-build-for-twizzle-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/twizzle.net/explore app/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.8","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.12.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.7","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^1.12.4","rollup":"^2.26.11","ts-jest":"^26.3.0","prettier":"^2.1.1","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^4.0.2","@babel/core":"^7.11.6","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","parcel-plugin-text":"^0.9.7","@rollup/plugin-json":"^4.1.0","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^4.1.0","rollup-plugin-typescript2":"^0.27.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^4.1.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.18_1604199460648_0.21537062992485034","host":"s3://npm-registry-packages"}},"0.12.19":{"name":"cubing","version":"0.12.19","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.12.19","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"puzzle-geometry":"dist/bin/puzzle-geometry-bin.js"},"dist":{"shasum":"69902c2e40c1ae93300bc7f098a77e66b3bf31c8","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.12.19.tgz","fileCount":1407,"integrity":"sha512-nQGILOI9+fVAG3bLgQaiHXgnsHp/Xjq0vVrHw6G0aDIqNaoxhVulRK1N8CgezpjvQU5Ss6/+JquooJCvzajC+Q==","signatures":[{"sig":"MEQCIGGYTXPrkKSFW0YB7IINgvgk+3eAs855UDGioLPPrS2LAiAS3voNs8QkuJ7f9usB+LkzLi2XkOaxyWyn5JrQoYN0Hg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11359337,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnikLCRA9TVsSAnZWagAApSUP/RyGgojpOhnM5UG4nhZb\nDUIda4d1qWApxXiDYwnggXsocxP9fHQLIsYkHjEUJIHmgFMQFrq+5EYQ3cB9\nznwheZEDAuQejkYE9n53F2t9S56qWgg5i4yXXMqTGBBYcE4xIW6llIqEAKa8\neOeORZECcMcJSKb2cD2B+dCmGbCLNTNAFxgqJ1a0lPAALGYf5r3VuX+7bbzg\nexhSAaFKBttZTXhECbToLLl3NHplTdn7EsKhvSdlAof6CCu7Bt2QQoROKQSh\nIqjnerFYBnUuG5BGa1bNi8rHgpVGJ8kJwbmW7iXrczjGV48rwdlBTWmBLmtg\nA7zwYjOGFoh7Ql5gNDrumdCpA3F/pr6bAw3lyZMmITy5a7FiaiX7mQv6MRBi\n4LQQ/O9fINS9cIYy9Z4Mj0L++DKAlt1y5jSfXTC69enD1YpCDknVzHxgyht1\net7w9ZbSj/iPcwCwdXy/n9Kp8dJW+4jkbaDqTp9ExNLER/unELvC952xABg3\nZ5xbLwbbiG0NTrsdeUhM0yotRhkJXwFisdfHei8UO9h25+gFM0qFeBvvNKLQ\nl2ZVKgBmrQmi0XNQJ/keVgdXhofGsYREadju5VZTrt9lgMAOME7TC6Bbdv/s\nFW1U9x1mKJIhfqV4uIXJMPLrsUovjoT3nMYTSKJrvbtaS4zgi8uNHMr7CMhY\n8993\r\n=kcpl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/cubing.js","types":"dist/cjs/src/cubing/index.d.ts","module":"dist/esm/cubing.js","gitHead":"26f720ebd8d4ca373f6f7a066498d31a6f990e56","scripts":{"dev":"npx parcel serve --no-autoinstall app/index.html --port 333 --open --out-dir dist/parcel","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npx rollup -c","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src app *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require","test-jest":"npx jest","test-node-require":"node -e \"console.log(require(\\\".\\\"))\"","parcel-build-for-twizzle-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/twizzle.net/explore app/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr app/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js app/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.8","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"14.12.0","dependencies":{"three":"^0.118.3","regenerator-runtime":"^0.13.7","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/node_modules"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^1.12.4","rollup":"^2.26.11","ts-jest":"^26.3.0","prettier":"^2.1.1","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^4.0.2","@babel/core":"^7.11.6","@types/jest":"^24.9.1","babel-polyfill":"^6.26.0","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","parcel-plugin-text":"^0.9.7","@rollup/plugin-json":"^4.1.0","parcel-plugin-pegjs":"0.0.2","rollup-plugin-pegjs":"^2.1.3","rollup-plugin-eslint":"^7.0.0","rollup-plugin-notify":"^1.1.0","rollup-plugin-string":"^3.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^4.1.0","rollup-plugin-typescript2":"^0.27.2","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^4.1.0"},"parcel-plugin-text":{"extensions":["svg"]},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.12.19_1604200714624_0.1365927567115539","host":"s3://npm-registry-packages"}},"0.13.0":{"name":"cubing","version":"0.13.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.13.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"bcae0f72ca39405db10c55c46e2545e2270f6b3b","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.13.0.tgz","fileCount":475,"integrity":"sha512-9sXK4TCusjIFSQfwMsl75Kkt0zBr9UcKN0Nqkj3bclpC2uS5oNOQjGnN07CJBOEqEqght3sH/pycDnWhO/uVYQ==","signatures":[{"sig":"MEQCIBnrdDDlPzJas/ttDigh834CQ0AJpO59LtkfG4tnT4zbAiAz5KcIiiz4yUoCtNollvQVvo4DSwYHxPjtitRt3ijLAA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8726667,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfp9qUCRA9TVsSAnZWagAAzVIP/31ToQKK9vGITxMxiXE6\nBPlsCy4STHAwqmtIyl16ZGCHc7jqQniW1NyKTrkOAq9jhpNh1pVJkio/vcwv\nifyuetPYuGcbeKQdSIqUsfzJ+jEQrsZjf60U8W75AgAkM/83Xy1VhqDPtEsN\npk4SexYKpBKM7R7TNjwkqzPKtsxcaoIwUK5dQAjQA+kX1e2Q6Q6QWKCqZ8zS\n+ARarlmnwVdfB/94rTG+sdvAbslk47coOGR5RXc0VLoGI7qemRzw5OuC2XnQ\n0R/zHUcfsg01qpQimBckwHvmecDbHXpmWy/gElexHofH5ijgivb1LiTT5Etx\nExdn7a8xC1ZbdZsIXFl0H+K+m9+4sikuKtrl7xn4uq3sKNJd5iOHCsT4HXmU\nm7caesem9qUwP/wG/v4ayjuJLs5NGvKNs+KA//aobVB2R80vFMgNTFzOKXc0\nfllSHXRjasZ6HxRtOUEGH8rYHj5H3OQqx6c5P8VRAnNTsbNMYYDSuKjGmk1H\nbaYiNBwCL643T6u8Ux3/e4rIjWUFKUfraegy3pcbIaCgs1Ch137YptmE3svI\nKUMczU88GcgGTFsPV/Jaxx7th46HfijJSZ470K62apBNQ9z3jjRXTequC7xo\nl600Uup7mYuMCliNdJ8qP983c4SZeg3LjkzgLliDKGFhS6K5oCARba7MPsQC\nIFEl\r\n=8GOe\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}]]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"a1f36127cf82084a36c80493f212c450dfc3e347","scripts":{"dev":"npx parcel serve --no-autoinstall src/demo/index.html --port 333 --open --out-dir dist/parcel","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types","clean":"rm -rf dist .cache .rpt2_cache","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require","build-cjs":"time npx esbuild --target=es2015 --bundle --external:three --format=cjs --sourcemap --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"time npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest","build-types":"time npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node dist-test/import.mjs","test-node-require":"node dist-test/require.cjs","build-bundle-global":"time npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-autoinstall --public-url ./ --out-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-autoinstall --public-url /cubing.js/ --out-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.8","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.1.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"npm":"^6.14.8","jest":"^26.4.2","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^1.12.4","esbuild":"^0.8.5","ts-jest":"^26.3.0","prettier":"^2.1.1","babel-jest":"^24.9.0","pegjs-jest":"0.0.2","typescript":"^4.0.2","@babel/core":"^7.11.6","@types/jest":"^24.9.1","parcel-bundler":"^1.12.4","jest-raw-loader":"^1.0.1","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","@rollup/plugin-json":"^4.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^4.1.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.13.0_1604835988386_0.3368590405515093","host":"s3://npm-registry-packages"}},"0.14.0":{"name":"cubing","version":"0.14.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.14.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"f5a6289d9daa20412d54ed4b4b9d0862c4061500","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.14.0.tgz","fileCount":587,"integrity":"sha512-r/4zEccah9clDpz1xOcCaFPfv02FPxMyuQeCNboEB5W53vRv4ktgcZ6i4TmThXxK7H+4buv8JHSdOgc485Pb7A==","signatures":[{"sig":"MEYCIQC3tNgwjOMOfM6Dd/R7U0PSj7uTj5O2rFBM6Ypv1Z8M7wIhANEqpMEKLa8zCQMLyPfxL2ex9G2cqxjEGdYyuKA7KBbs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9313407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf474iCRA9TVsSAnZWagAAGAAP/0D8qDkuPMGU913zqtvE\nzAUtgUPTdxazjDmNcT5TGEra+jwQIpUZ2Z4eXrroLEgQXbv5NoDWHum7P8hF\n9z2q2ZDaZh3mO6s3lXGILinEoucj/YIbbRZ8j1ymI1YeFBZCWYPTK+023KBu\nKIg8zh9S3L31809CDZYegvFsGKhijkiBQsrxh9fEn03ctt7w9hA4NyuiSyJM\nj53aj/q2tuuaSBIullX6pxRrM+lpuKxKPZMKiSHvZWWUiMQmVx+RED316gvY\n7jVt/5UWW/+z+a1ky+imYLxeznEDayaaA0yowC6uqG60gmV9uMbSQQTWJOrX\n0jsgUVsKpXUddia7o0e+vBwnoMVrBKmNnM2eZCrZinp1qgJxEy9WlG0xlYGE\nENW/DwwhXcySHiMdMpTdckt3mezAykiAVd8xuY1ZXFYkmFlNRJsKmEj5Z71T\ninOEUcmU+BpnwRI0a5E0EYEVnatqVh9RufN7J5ZCVzY2pCyGe0b8sL34khBq\n922Mnxe3Xn9rYvLBgNS20Qzvu/OUBdqTfFYzkP/aHn0I5s4jziPRH6i5SYJZ\nR2CxYzsRArMdEfHPV//T1hF0NnXVSgoqU7Nxpapzo/zjYzVDZqLMq7WQwg+K\ntJMGvZFy3jYfgsX7WPrKd3Xtw2fbtfyqe28Ewi8J70YYHC1vxtWIqt3Vatqi\nLUi2\r\n=TzM0\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzle/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"89c5ee29eb3876bbf3ce5dfc5f7e0a0a9e482309","scripts":{"dev":"npx parcel serve --no-autoinstall src/demo/index.html --port 333 --open --dist-dir /tmp/cubing-js-parcel # workaround dir","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --sourcemap --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --sourcemap --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.0.15","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.4.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^2.0.0-nightly.442","esbuild":"^0.8.16","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.1.1","babylonjs":"^4.2.0","babel-jest":"^24.9.0","typescript":"^4.0.2","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.1.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.1.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.14.0_1608760866053_0.1179482303879349","host":"s3://npm-registry-packages"}},"0.14.1":{"name":"cubing","version":"0.14.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.14.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"e1775eab85b11174d71fb5d1444a90c42ac9e53c","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.14.1.tgz","fileCount":589,"integrity":"sha512-trRBsQTFgOXdn57kJcuoONDxFyE4OIAv/lvZHeO6MW4zfSlwS1ukI28xpgb127td18nnxLorgudyr299JmiRMA==","signatures":[{"sig":"MEQCIA8FkEt7dLe8wWJ3bTBkIis0xZYIUZlD7uJnMndwkLwEAiAnAB1ZH2JqsKgtwKGZGav6OQ7FIWV8eJwhWf9UuHJ3LA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9318965,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5AV8CRA9TVsSAnZWagAA78QP/AojVvg1+5kuMjNguMrk\n7IUJ7SigiTp4vi2ItCBzM50ZSr08NXzaHUeDxsPTMORREb+playGKWLU2J9N\nr39gMppPtEmJSnI2z4DDaEuPGm2Hf6xQdxIEPDOo8nWJFJ3o/w0U8yuBl0O1\nmGnhBiRyFL212gmIx91/iOdS+ye6/yH/T918HPInSJn2V/YYFH+iQixMD1Ns\nWkGVmsh45yqhzBOoHxtX2VhDopWPvg6lwnGKpSUr+F3xRysuiDVnDRR7j9+S\nWxWyafAO84kPwmupfnCJZ5QXYr0tIgrFE9KM6Gzg5L/RCD3y6F/VZWUsFRbI\nT9KO0FenpWv0gxiAIPWIRw27PPY/f6hLSW2wozxUrTnm2JHrNRiQaOmbapgD\nzHQhfbCWB+z8AD6yEvvgt+z08dP2vyEwBT3u7vjGZB+Xe3N0ztrfOXwn6TBm\nrzHiDzQVR2w9gm2r1cTiwMJtMv1v5kG4Q85mieSgVCUCVI7jFk/TRNSdqw3D\niXb/cUCl8f+j3luEPA/XDiqFSe8PFLi72f4O8lFWtp28YnincYoTc40Sfou1\nlTAw9GfZWD0WGra8CrvRg66/pF96dmOdmeQG+ZBz7Qux9w+qlnM1waofxOyX\nLbeWvvTRuyo/73Vjaz469jcs6YVRBAnzMabUpS8Ytf5ElG6a7txanGdOsRA6\n9Fvx\r\n=V/5L\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzle/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"60c0a70c2dd7093b3836c0acde330ef0e19d94c4","scripts":{"dev":"npx parcel serve --no-autoinstall src/demo/index.html --port 333 --open --dist-dir /tmp/cubing-js-parcel # workaround dir","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --sourcemap --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --sourcemap --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.0.15","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.4.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^2.0.0-nightly.442","esbuild":"^0.8.16","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.1.1","babylonjs":"^4.2.0","babel-jest":"^24.9.0","typescript":"^4.0.2","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.1.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.1.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.14.1_1608779131524_0.9761673821001158","host":"s3://npm-registry-packages"}},"0.14.2":{"name":"cubing","version":"0.14.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.14.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"6bfe93faa7f3ff2e50b6b00b8d44044595f2b261","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.14.2.tgz","fileCount":610,"integrity":"sha512-jBVPFmepxfNmtHfAAK5OYP0n2Hj24q2kz+F04Di1+6WVhkp05czz13cb3gBnmY6Ld8gzMvdfjAL8VldCzbOnFw==","signatures":[{"sig":"MEQCIDWg4R24nkrEU8qkQzo/d0sb4jW7j+Q5JvEG3uFh3aHaAiAVMcjoNCMk/PE2ZwtW02R9f3v/EiGxf3FLhpHjTdf66A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11107875,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6Fc/CRA9TVsSAnZWagAACc4QAIggwossYHG9Rilkx5pt\noYQ2vRHDUJdnoP7l/Pv2kosWZrGNrMFgCaM4B4QkXzsq8yrRO/hK+9ovpEdS\nOfFNGurgfbGdva5y6jNcj8GVQCvz4EtvfRPh177Fwv0zBUL++W9++l8k3Okb\n12FFE6IUEbeZXNfQLyQdidJY/BsERkzcEC6tOckQLelU/fOpbIdvd8GxDwqo\nqjCDuXcLIdqOeShwaTqXA4mg176cnKm0xYJq35coTOhuOnWZ2sWpRDc5hs9u\nMgbg60hpQ8Ef7bBUxCZ74gPL4CWysINaLkelHU3yLVeodzX5DHBC+wApicrL\nxoiRQrq/h0fYtWIH0VF19nckD/fQ9XZDxreRcTlrzq+cmFcdNcDwprRUPvfz\nyhJhOKXgkRSapeR1gZU7QBVS7vbauEW3+XJlJvOLIWXKs/QfkJFhyZmx+w63\nT3Jta0wautl30uIzcbwdHgexMb8O7FECzh8HN+qH8v3IS/fc+6/VlNzIl0dt\nw4tAM7yWLps5G/Joj9CgGh4z58R+b5hJdu+jfzDzGmWgXboCWnBo21xNogc4\nKyxkfLvKicseJ0ygI6zEu6Or48XzUhQQq3so0tDgQWfISgJRq8hNC94MenZg\n+RgOQNdvcmHJ4spMrkwOcKEDyk7ZdisjC4UK6ZJ+FPH1o/9spT1sfLO4K/Ys\nYgDD\r\n=xe/d\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzle/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"caee78a0eb7977c3b9df1efb0dab295054646c0b","scripts":{"dev":"npx parcel serve --no-autoinstall src/demo/index.html --port 333 --open --dist-dir /tmp/cubing-js-parcel # workaround dir","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --sourcemap --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --sourcemap --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.10","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.4.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^2.0.0-nightly.442","esbuild":"^0.8.16","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.1.1","babylonjs":"^4.2.0","babel-jest":"^24.9.0","typescript":"^4.0.2","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.1.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.1.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.14.2_1609062206542_0.6386138044838745","host":"s3://npm-registry-packages"}},"0.14.3":{"name":"cubing","version":"0.14.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.14.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"c95fbf0780a0b91b9df2fee40636265036d25c59","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.14.3.tgz","fileCount":610,"integrity":"sha512-9xQ2TJdrUST8+KftsxEYsWgRedwlLHMnWem05r6TxN6OLuUiJp8m7eaQVGft9o2cXZEFBk5fwXmQ7D+dniwz3g==","signatures":[{"sig":"MEYCIQDazHRkHVvaLQxCi74NaKf+AhDTgANeLvTTLbWNO6H/ggIhALePFRg/tosZ+a5R6QzlV47X/18mvQ2JOUVhLs/Aiocd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10204387,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6Q3UCRA9TVsSAnZWagAAEL4P/isqLJH30+200xnmb8AO\n7o69OTC678EjFUJ9xUlmecStUjFb01CyY+zKaYZkzF6fBA1QChl+acJl4Mqo\nKLdzKSEz1mr/s1lbR+it6XrblYWE2vwyMEHDYjFIW9/o6rL2PLPW6ucCczzd\ndYA5OhtKMbympX+HDyNnBr32MuV27JdgQmWCdDkI60V9mx3r4BY70v6sO4Z3\nd0X1QLC5MevGAJ9tcKhBhj6vEQYcrLjU2rzTATIqw7j61/LHrChR8y2qVWNF\nb/GZns6LJFLS7bAFpLyy/CXU+gQ72NuLt4FGS6F5z1NSnB1cIE8xNQlfJgQc\nHeNscLRBDsnAjVZAtPcWep9bAjcS2Decfk9nv5Gtg913uUpdhlW1N/+Yx75/\nbHi6Z0ucJN8BKKlgYJH+sJXiRe0jWuCUx/pCXdmiyN7a+DmkWoftkIufWru0\n83dmorqE8bghm51pArOxjw+TBdY8cKonfjgqoBN+z80zdMDMg63P3MRoS0t3\nskYTi5ng5nbB1H5PQUR6BTkB32Dwq+KG0h+cHtVdAvn0A7McGEuk1nPmxYqw\nmxavBQwnFjKyicpIVNAmFyY3DJtfRmttCgcHyqnYc+4ePtsagOT9L+WnHs6Z\nqZBjttCpgrb5VZ0AD2Jy8OkNUt/Z/CUAHazTCgCWh8hqiybmSF1EbPtfzkoX\neRiu\r\n=qte4\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"69f8ce13cff75f400e50440c41d82ffbece44b7a","scripts":{"dev":"npx parcel serve --no-autoinstall src/demo/index.html --port 333 --open --dist-dir /tmp/cubing-js-parcel # workaround dir","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --sourcemap --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --sourcemap --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.10","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.4.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^2.0.0-nightly.442","esbuild":"^0.8.16","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.1.1","babylonjs":"^4.2.0","babel-jest":"^24.9.0","typescript":"^4.0.2","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.1.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.1.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.14.3_1609108946483_0.7853332830142952","host":"s3://npm-registry-packages"}},"0.14.4":{"name":"cubing","version":"0.14.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.14.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"ae9ebc4aa5c211e9cffd00d2401ba427d64a8215","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.14.4.tgz","fileCount":615,"integrity":"sha512-hBucSoQdECNLuGDQsaFwmQm1F3xytaIM+Yib0aQQ9NDQ5wuh5xyDoKFUxtQbA0JKUrziqrrizuBssALVVWeCXA==","signatures":[{"sig":"MEYCIQDwTeDGaA3d9cOOBJxP/Pb6SVT6u20ctZJStz2omK+3AQIhAOm7JldpE4bRmyXqXebAZmF6oCSiFwgLU72Z17DSQNyd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10310875,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf8G/ICRA9TVsSAnZWagAAMpEP/020ZWcz1tu2eNp9Xv+L\na7NIaOAVf6KHlexHr6YF4QXBjyBOokoAdnZ13Lh1xJ8E4KY8Up1IpqH4hcOm\n8nVLfpiztJunhOUo/MMF/J67sLcAiRjHQmUwYjH+ZuLfcGWRwaa+0ICE0S2w\nMnOZ2yv5RhJq9UkESWHsKQQYzucY3eLY0sTQweHVR6D40L9DV/woiY5ks5Ch\nWEsLn4Prs6wpUM0xYIckXIFKrB0OG9TSW6zYfdLH/B9q9B6aBW7k9V0TmTW4\n57NlEvmQxnqqnWfjyNPwTc2/7Cs9b11qmEGpvakieFSw2hsTX7ovc+aHRFs6\nITpq1nBuGuapuhW6xclH2BSKk+j7AGRXdy076uChJxjS+2ZZrMXl6uxaAZcU\nxiB1EER+jXYhwm4EhgQpGm2YehPi6K24Uh19ihyJRgLfOshESHx0Zl3zEoeq\nqWoZNHdXtSG675bvC+T0QtlGo76ARWrs+7ImVqP0L4facEKBUDIAPMl6g13S\njPTKTK5JIHhNLsXQ6bBGtgLdHUYQQjKfbXod0eCZ6ujTWHlKc1wmQEreWMgs\nhLpSMyj7KQzrWSI4eWQdH5TZYEcUbxHy/hGt1ivnvRalq/penkix7nqDD7/E\nzrfYSNpN230MT6Cw8YMzU9xeTx8Om9TphMUwWCknsU/G3pKm9kY0sZhFMMJc\nfIRt\r\n=kPKU\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"f7097741ae9d1500734729b79e175767247e9c9f","scripts":{"dev":"npx parcel serve --no-autoinstall src/demo/index.html --port 333 --open --dist-dir /tmp/cubing-js-parcel # workaround dir","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --sourcemap --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --sourcemap --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.10","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.4.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^2.0.0-nightly.442","esbuild":"^0.8.16","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.1.1","babylonjs":"^4.2.0","babel-jest":"^24.9.0","typescript":"^4.0.2","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.1.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.1.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.14.4_1609592775764_0.36134835349616745","host":"s3://npm-registry-packages"}},"0.14.5":{"name":"cubing","version":"0.14.5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.14.5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"40c90083e69b62dc5581a9aa790dd8c62ecaa561","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.14.5.tgz","fileCount":615,"integrity":"sha512-+sDZ7Q1ptQOfKr4Ed/P+nOp9PMlkLQZUFDEVdQ0S47Uv+byD67a7AvmXgOB/Zj04r13vN2VTS6UaLnZTtqpBoA==","signatures":[{"sig":"MEYCIQCh8Cnk5NiWAJ2gfztNwI6X/Hxqulc+E7+Pt+F1b4igNgIhAMzvhLDBgL26M8dK35p2Yaq14ws/qMQObvuqRS5kjo3a","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10311906,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf8Hf1CRA9TVsSAnZWagAA2hEP/iIUGk+00/y9vzN78r3X\nDbUgdrILeTCQoTNnHZxRXJaqH4hdhMLCphMWgfIHvy2TRskVfdTL3+l8GqC2\nTBfzzNfqlAR++LQzt61EaefK6DCNfdEvuhCkjfkDWOTpMv63x4uPvB8qFn52\nIz06cQvLEIlosQ6EotJU1+2o9M1Ukfoi87+qsh16C8hWYsgmnDvPxaFkCGdu\nA73CtkLBJxoXqfYtlLG5EeSPyXOcj3W6VEZgAalqqGDOdh/FTrUi3O2xc+Rs\nSWmMwXtUdCd93riS7Z7HHKcH4hGQHGiDvxIhjBSTUkTcCteVJJSc8mGk+d64\nY6HCEUqjNVreDx54w5PZiozy7WARe9m8bdKBT3xLeZXWga+GvvlGUrfLU9uI\n7pLphwKK04bByfzYJQ6eQWG+gB42taKzMrisGuHL0UueP9+kwoQm+cpoKWGO\nbyykm5mss9hGkdbFhZGS0EEmX9oUDZdHtglQEm7krWX1OXOV52G+RXk/lmZs\nA4qDnWOsQ/tgofRtZqEZCabl3Mve/Oc1JwQon3Ku9Db3hwDeq8kD5qoKWVXw\nBZQ70FEzrc6mKbr/z2zRNIFmpllWn6oKFmEzRXEwrihBLUmRagpKaLWVvvdB\nAQtlh5Usk1LiKKKNEejZsfb9V776F+O8HCIl167q1FrpYTE9h7uEpMztIbdL\n9XAd\r\n=Cq7d\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"58b089d3ffcf45a34f505dfccaf4b067575580a7","scripts":{"dev":"npx parcel serve --no-autoinstall src/demo/index.html --port 333 --open --dist-dir /tmp/cubing-js-parcel # workaround dir","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --sourcemap --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --sourcemap --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.10","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.4.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^2.0.0-nightly.442","esbuild":"^0.8.16","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.1.1","babylonjs":"^4.2.0","babel-jest":"^24.9.0","typescript":"^4.0.2","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.1.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.1.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.14.5_1609594868718_0.225365306843069","host":"s3://npm-registry-packages"}},"0.14.6":{"name":"cubing","version":"0.14.6","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.14.6","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"2be7daf529691f28fa56c36354337a0bec79e4bf","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.14.6.tgz","fileCount":620,"integrity":"sha512-sQNHuUPxdDp2I/s1xskZIP/PcriQ88xqQaS3OV+2XHw8bact57P19R5s47+8Em3FHjhi28nZptaxYQUemmpVBQ==","signatures":[{"sig":"MEUCIQCL7YkqafWrCP4rf1l1ogrvtmRRg4/zxzzgf8veW6J9tgIgFYkZNem2DSVo5QFRKku8rSliqT3VGJ9RxtCx6iATaA8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10374725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAS2NCRA9TVsSAnZWagAAXwUP/0pP55ka/ZsAN+iTe3Jz\n5y2101N/NGiJYkFuvJ7+JCIkY4E3syMnTPjqCnurHygb6PyurgfH7XCjYOXG\naUb548oJQExrzB7n4aPdJBCD9VipKYp5ZbpBiNt67mXp8F7L27evhVawE+dB\nmvtdMf6VrWBFiBn4X5L1KKqMSmr3/XGPte4bSq0XLEkIinPhNeRp6Gqwft85\nRDlUtxCa5vZnXbavgz9vPhjTND9O+xrTm9TDtnUrvVbyykbqIEbRyzBnXqWH\nd7vlOElPde5fOHq4pA0nIEDqecq2V67she+ZdmvE0Ffv27rF+AzmJgnO8v/k\ncYcF0UQJsZV1IIv7cJLMyF9rRFyPZ4Aiz64mDB56AscMSZTaVyUsY2sIIUv4\nzT8OTkmA5Oixw8kNds4SjlgExAODy77VdaJQNQjeAGRA54zXbu2OLuAT37J8\nCyvyW7YiNEWJDElTYesp/mwuQLrOBj1izkW8OLHOFvPM3tTXmWa9orHy2v1l\nBB3l0JhgMpxyCG7YchEvQC7000FOmKUJiboQzqlUqO4iQvYTybFbhh8yyxS1\n9EH38g1iPKywebKagIyIKJCkx3csxly90emhIiTCznr72NgM8EQ237PoKYC9\nC4ceYKjmIfKbuyZlccZFvF4O5lhIRLIoqiz6zeC3rm5iGffjrz6AaVKOnsdX\nuJmo\r\n=2kZo\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"9ab2fbbeac4cb37e96b7bc97d66340086f937be0","scripts":{"dev":"npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # workaround dir","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --sourcemap --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --sourcemap --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.10","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.4.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^2.0.0-nightly.442","esbuild":"^0.8.16","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.1.1","babylonjs":"^4.2.0","babel-jest":"^24.9.0","typescript":"^4.0.2","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.1.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.1.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.14.6_1610689932388_0.9900970084116287","host":"s3://npm-registry-packages"}},"0.14.7":{"name":"cubing","version":"0.14.7","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.14.7","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"d790ec552c682a964d80ba6a9434de495c962eac","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.14.7.tgz","fileCount":618,"integrity":"sha512-MMlIjAe5pCxeXstC+JgY8f7DrTj+PpgyoAma7tfI5p4I+KNOLaE0Tzy1468qI0P75E01ZKL+kAHtU+MOmD10bQ==","signatures":[{"sig":"MEUCIQCx8Uq0PwnxUUc5PV8aWHctuv9qiEaSlZy6r7JNzSI4FwIgKUWkO/F1JWRKRkOLV7fy+ybB0S5pnbYOWq9m3q/asD8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10300961,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgATHkCRA9TVsSAnZWagAA1b0P/RMa0/4GHh8wC2LYLpNp\nbzI5mJdGPq/m1nj2v8TCCzEdBvK7jiyqpV6LosQjK1dcxIrTHOCzL+KdQ5BD\nr71WQt5hGA0XBVETHF2y9pujwrjBTu1xYOxuP+GpR8zRYzsGF8VYHZDx0cdV\nI4Q45jJIASB+CxY3Ix0quhdZzgTw3xpCB66Ruy2fsMnzrIBnTm0XN6TJgoEk\nm2ydLRCeYn7YzgQkOP4Y/QPiAt5k0p5g/zdOges6mooSdGgaUBLkR/ZbXlP0\nhchwfteWQzmEWf+WXF0eI59Yw/ayZ5cFiBOX0u+xYbiFRGDESq+3O2Tjcbnl\nHHb7uSjh10qevcuiyRfpXdEAinfdnxzuGF/wNJ9xtvS5BVQ8J0Of95gAMQT3\nqpba+987d7P6yYdG4C2UqO0qwARy1EJJg2CvIYV7+LQA+JOtVB7G17gVnIXy\nBXZy13stbofWHBbuuFpobSebeKXgvaXSWHZr7MqZ/evHV//vRMchyMq9VIsK\nD3secLQAflqm78STTPeXkTq/2edaHFv8yI8ydsV/zStHMwbOLm2Kc7Vd0BbN\nzzJZ7/SPD8uDJJOl2pwUQ+5mRJmLc7Tgb8y8xT9Qg14aL22MDom/M/wVDDdd\nROVhlrJwic1DrreJduucAbsnuYsWzxmhaAbgswH52bFr7Hxf8lKK5gtYcW/l\nUOwH\r\n=cedq\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"a1fa3751ffa81f0e7db3b9483c10f7c85f9ed460","scripts":{"dev":"npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # workaround dir","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --sourcemap --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --sourcemap --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.10","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.4.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^2.0.0-nightly.442","esbuild":"^0.8.16","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.1.1","babylonjs":"^4.2.0","babel-jest":"^24.9.0","typescript":"^4.0.2","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.1.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.1.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.14.7_1610691043186_0.7731246989249143","host":"s3://npm-registry-packages"}},"0.14.8":{"name":"cubing","version":"0.14.8","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.14.8","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"0a057ca1f511251d09be78fd754d2ebf56a3299f","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.14.8.tgz","fileCount":624,"integrity":"sha512-9fG8FsOFX5RuPU6SnE2GngHi1KZzCJvFf5nv73A4Tt6DkARZTPRuakA9wr5lGPdLYQU0+Kh7/pNVC6H+c6NPuQ==","signatures":[{"sig":"MEUCIQD6B2P/N9xjBwWaMgtsScDajfEYEMQtETv7TiQ+i2iYUAIgTs5hsk+mT7/dAYXQPyA2V9dRAf4gNWeA6mhYR+wXd4A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10310397,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAjDjCRA9TVsSAnZWagAAyekP/AoVe8Jlw0MeIS5k6ib2\nFzMqjiDtcWFAZLaawlLWTW5Ks8X3aYtoWl43+v0ZZuBHYh4u/WJ2AOb7RaKQ\nn80+goLvMy99+VfXR8FhPlueSRTWMmAtRbiHJHkSGjgeLvu+LgA6sHPKahn1\ns+H718jvaadhYJH/jaUHneP2tYzH6SooKpDaM3kWEToA0HI4TDQZA+tTwyp/\nuYo+GtmHNMmJYF9PVzdFox3FnvntO+2aCLeWcTMCgKPBTQbwaQNx6ZA+JO1t\n6BUBcAMjKEEZ7em/1xCC+fik8qVVOWxTFVXJiZ4CDkmKuanryxsjUyL076fB\nlvVcdG1nGbmTDcSmQQfjMxdRAFca2EVy6tIMy1kOxwakwYa4jpCoybZuWYJQ\nJthfVmV7W7quA96nwdsoXXzxurIS0rZZRtH21GZ73N+a5gaDj2H/tlHDZuTb\nH+IbNwnupdUxDt4ckKKIAzio+D/+8D3X14Y3tfuPnwOF7fS8NPHRb3St2DzQ\nzn3I4uTg8MJ4Tm0SCZpIIFBzhBt/qVAjJaifkHsovbjf38/5rCxtKgb3/AdZ\nYtGP35G/XABKIa/uc+YgnEdmH6D9mH246wPxSyMYvNG9Fl6TTtmYdd+iF4WG\nKtYJ6VXrbCrGB9GhE64nmH3QykvKH8Xtml0N//Q378PdSaxUyOEMiqe7lsz8\nqHuq\r\n=0bjO\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"d729dc0e62226bd7f7db12be42622ff9f631fb41","scripts":{"dev":"npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # workaround dir","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --sourcemap --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --sourcemap --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.11","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.4.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^2.0.0-nightly.442","esbuild":"^0.8.16","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.1.1","babylonjs":"^4.2.0","babel-jest":"^24.9.0","typescript":"^4.0.2","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.1.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.1.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.14.8_1610756322917_0.4677950426215878","host":"s3://npm-registry-packages"}},"0.15.0":{"name":"cubing","version":"0.15.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.15.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"349c336ddd193981ff83c3aefb5b28b84cf70d65","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.15.0.tgz","fileCount":624,"integrity":"sha512-cOl5IoCZo4yzv4WjglRoUrYOQjNhkBy8A3muJVF3OsxVqPVQPPHmusW5TEn4i1YniMlNRfYb3XrRVC976P6Uzw==","signatures":[{"sig":"MEQCIFxPBjVUMSmb+HYXUr9NOgJ3VMf81ynkmiJLJgBnfOp3AiAP5doFQJZf71fjjIWjgIMYQaPh7w2St7lM2RLVQxRNaA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10308395,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBMHbCRA9TVsSAnZWagAAs3UP/2FHpYjHO0hXtPBDEPib\nr4KaV9JtXiniO/7jEODH5K5FO7kEY2Chy1oAK7RHazJ1nJrVmsU0jua5fjNZ\nKh9xW86viYn/MPqiHL9J6cIPw3RdK0ZYBM8gVm0ZdI4Ph2ShxHxwQQGm/5LM\nwGlnyvUyUWu82/gQ/cscUgo7SO7kf6r4tVrtxUiGq2a5mbBbOw7r7dJ7Q5D7\ngIE36TJdPiiQJ4UA4F3wiCU5J1Zwm4AEyYs5GqPmEc3bw+tgpC905K/vMvgL\n6xa0DlHMC4NCl3IobZ4f14oZjnGBMQ5KDcUfUWUVzImTYvhN3LGOsk/iEDWM\ngdCM2UjSOFV9DyzM3qZxWj2lYb5pPbit1Icz8di61XDZDhoZyQMbiZzhSL87\nvRrNKFWItD/RHjtBHFCKMfkJLqfYNJ4GRBgtWwlITHY4jHds3vaQCWX3D6aT\nwRW32kjuyFXcFS1Mq2JiWOtCCCv6SVMBbDfx8Hx79FxHvlUL5pOV7tCC4z8S\nfkfOJnE1HOBam+e/qP3gg5xguqiANZpDM4ZgS97RW/X/HZIC251t1FUaNUhx\n458Q76OISR3ihz8HcfXcOKXmwWMFMhA09ksfpe7s9N7KMf3Yi/685RahBVx9\ns8VsgqsAx35xLbQ0abbgFeSsyRtBV4zQS7tahI9P755kOt38GlyT9GxQqBtI\nR/iy\r\n=c/WG\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"e002ddd2f8ab9152ba4eb1ebededae0aa8a5697b","scripts":{"dev":"npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # workaround dir","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --sourcemap --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --sourcemap --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.11","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.4.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^2.0.0-nightly.442","esbuild":"^0.8.16","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.1.1","babylonjs":"^4.2.0","babel-jest":"^24.9.0","typescript":"^4.0.2","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.1.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.1.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.15.0_1610924506914_0.9029945249875129","host":"s3://npm-registry-packages"}},"0.15.1":{"name":"cubing","version":"0.15.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.15.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"3d8b2600c2efc020178274d9f6fde08fb39781dc","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.15.1.tgz","fileCount":605,"integrity":"sha512-+2wwPdVR/CODFcumbGIXhAJ4AyO6O1DC9x8RWaugaFYhq+p6jfTOCtRTJs5iD/No4gxx1iMespP3Mzl8BK0q/A==","signatures":[{"sig":"MEYCIQDn6hgcr3RMiSUFCzVWiis731KnX0hRjojY75KTEau/3wIhALHo7Sgk9XP0FC74eA+xE0T7m+F4o83t5X2f66+/ceLx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10190641,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgB1XgCRA9TVsSAnZWagAA5DcP/R2/b669Evhu9d7ln5Tc\nhibOK3MoWexUK4CnOQbWkZsOxSX9MDCS5NyugGEJPzJK+wg4BAn66hNXZK/e\nlTqWRDnU97Q6jxndkLO7ZUyn+jaVcAxKv4COgQymnh8g88VUyaQ7uFZHEuaH\ngfYFXdz3pn2y31Ns5aESgabr/QixcmfJHe+Xj+pLTE7jXzngFWIsZAgb9hh+\nv2Zxhg8tgK18U6u48VrFXO1O7synCTdyYRnXt1uYxD8hkOgosfwDWXYY/zmz\ndcguPBJwOkwt+rbqLqi3do6wJ2/t95gCP/RgHs+M4i0cjJie1hj6hqUBDonE\n+vE0SKr0rcCcrt/FDLSqFOLYbNc9EMMBEM65kkgHaWmT5qBXSRIw/o9oiK80\n4uy7ExLxrb2MjQo67V3b5lFn+R1vrdpMf0duVrIHWNGRIbhK/p3jT0w9N00M\nq944JVofPKcnUcQloqYs1Sq1PSPXrILYP06y6dGjA5asj6UEh5k9iWAYaks/\nbfldMcJiLTNl2D1ry+Yll1Rx+IVsuZ+eYcL9VSId6Ulqu/ZjfScA8jy+Go02\nPjxdCbOvTMBqgurQkrIoHRg5FOvchnfH0Tmlrzzaft3q2Rry553nlEhvAdD9\nwGoGlM1WMtEnRnd84FSNVxjyx+DRVeLIivtf2w0B9UNowMoMtp5bu0hOzWtj\npsjT\r\n=H4Yg\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"e2fa8551b613446d400f6d1e2838f41f0b0e97aa","scripts":{"dev":"npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # workaround dir","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --sourcemap --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --sourcemap --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --no-scope-hoist --no-minify --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-scope-hoist --no-minify --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-scope-hoist --no-minify --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.11","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.4.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^2.0.0-nightly.442","esbuild":"^0.8.16","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.1.1","babylonjs":"^4.2.0","babel-jest":"^24.9.0","typescript":"^4.0.2","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.1.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.1.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.15.1_1611093471978_0.32357696515586953","host":"s3://npm-registry-packages"}},"0.15.2":{"name":"cubing","version":"0.15.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.15.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"3ead5bd7053b10fb7f32284ae59b2fa5e59f18ab","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.15.2.tgz","fileCount":433,"integrity":"sha512-HmJuEsqtyxzZtKeRI4cxGUaVe/w45p7cLwhgzae77/+6RK7qWlHWansF+Xo/fEogCr9tllpMJbIkuc/Bo6U8UA==","signatures":[{"sig":"MEUCIQDuPl64dch6xypPWRhlYZXSqEekL0tGpWsRxwrePNItVwIgEnVkgvj7wOg4BWc24ObmMp+LRW4CQWuzSmksRmqBc9w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5168080,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgD/tfCRA9TVsSAnZWagAAsuUP/j9Ss7I8gv511lGjMZx1\n7D6rdKvejGHIf0/9a8t3E65TrCCQK2ZvltbYpTVtTB2RLBIZaQufABbLm8Y0\nF0gSrJDw/es3wAd6abYlPLafn6WFSpXiNM6VJ21z6YjopV9DIBPfdzF63iMu\nyFAflUei9m+fw1Ch23coqU9epUPfDJ/SKod15RhDIzHgbviELb6XUtP6JLJl\nqrtICthnpy+upBdAb1x2e7/SE4DLRXuifgXu6ejSc20195bjCsZwonBgz9QX\nVot9R36Hbgrwo3wTwOfxsf6Znfhxdj52d6hXwzGYZfyEumx669P5nBK7esWm\nYn0VG74g80J5KoH0tJw3jDOjtkGY/Kh6HtCT/Byup/ARwQWJp+L+4cmU4NO6\n8NtFB2O3KZ08FzjLCW75gPaDdLQRsknvzhMZonrO2CXKm8kqh4L0DA5J2JIF\nfGMe8dkdq1mEF1eECAv5J6Jy0dn2g6r+VfnVZs4j+dJ/l6faU2YJynH7QiT4\nnBXeAyGSZwoEvd+cWzx1w0TFf3rJOPJJ6Eda3LKcpZ8ifVCA4T2jxlOUcl+C\nIMjnhT6nnJy/JNYuWV6F5bh2/qcBhXGzNcYIsMMtCOqgEGhp9Us4RJRRFaM/\ny3Y+2Gj/7ilTGoRzg5rlvx6iqWooa1Ql20UhJL6hdJDvjaqtL+ly6iIZsfYJ\nM35L\r\n=PYUJ\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"2d6947313761585cdbfd18f1be5692a77e9606b2","scripts":{"dev":"npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # workaround dir","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --no-scope-hoist --no-minify --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-scope-hoist --no-minify --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-twizzle-diaries":"parcel build --no-scope-hoist --target twizzle-diaries --public-url /twizzle-diaries/ --dist-dir dist/experiments.cubing.net src/demo/twizzle-diaries/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-scope-hoist --no-minify --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"twizzle-diaries":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"6.14.11","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.4.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^2.0.0-nightly.442","esbuild":"^0.8.16","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.1.1","babylonjs":"^4.2.0","babel-jest":"^24.9.0","typescript":"^4.0.2","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.1.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.1.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.15.2_1611660126994_0.1811287240887518","host":"s3://npm-registry-packages"}},"0.15.3":{"name":"cubing","version":"0.15.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.15.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"d36e52c61c57573a3b1cffc9d32214582bcf79cf","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.15.3.tgz","fileCount":432,"integrity":"sha512-KQs2KcyDp4MbsxTu3QTbE7D1jNLu/mikCqCumQbZCzux7xacSg6t1hvp2f2iVFJBRyieO31uCqIqyOTP7cLiEA==","signatures":[{"sig":"MEUCIAbhWu3koDAsbYsfkB9RdVePvHGZd/WSoqN2tywS5I4jAiEA987xMDelZZJCR2/vxncfpdd0/3xOti+Hu+zLn4JJqu4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4410698,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgG625CRA9TVsSAnZWagAA1EcP/RJxR/TZ/FQ0fRewRVLS\nDWs9Ew3zt3Xxx9eN93ACjuKMIOCUBhu6JWvSNOrQv3cNFDLAy9jhe0m5Xo/P\n60ElHRa5dt3qiyESsQIev9eh19WK2OvGiTj+Nb5UXJV5f5xFcq4w5kqwjv6z\ncEUv6J6ivMfqN05mi+Cc5vPeU+B8S067q1smijqhkuz7x5t7J918Rl/YB0vc\ntBaievE3u4r7JmI1dJVW2t4n+R7qPVIGiCPIYaX4ZNVN6hAVLEh87aRrSuYH\ni3JFhm4w9dUcP3psXEf4Jkvgh6tXjTfYwIZRCUYrNHerhTl/60YL70vkpIiA\nmx9+5f9y3yhRDnN1J8sejJbmy8Dx3FwzG3l9E/ga6VIj2UVGs8294pOkYW3z\noqvmHTEx6sRx/FSZKQuoKSRNQkjJ7pDdCIpJK5+Rfcoity0gZ3Ti0SEPUIVW\nGOB45/YwklNbrtRhxaJRj1QQFUENumDs0wwjcsZG65/YpQyJ2m7JgeJguK2O\n8nEA+UaYWwBQa3iRBMY8ltZkMMf8R+lVCQmb1OtGsCJhY+6cLQMBV6Br8mHU\nA5HbrZQrHodK0lfLy+dRQsfW5Y12qKE1XAPkxwUACybAhdiq+6JrqVJGObKe\nXM5PwKsM871OWMhAiskAloJeUSR6VErTmnEx3dA52GlZif0ovqif7PDeYgt+\n5Ec2\r\n=nMl6\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"ec71ca736f29bae8ed6104f887a5cbe5fc962e8c","scripts":{"dev":"npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # workaround dir","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --no-scope-hoist --no-minify --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-scope-hoist --no-minify --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-twizzle-diaries":"parcel build --no-scope-hoist --target twizzle-diaries --public-url /twizzle-diaries/ --dist-dir dist/experiments.cubing.net src/demo/twizzle-diaries/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-scope-hoist --no-minify --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"twizzle-diaries":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.5.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.8.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^2.0.0-nightly.442","esbuild":"^0.8.16","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.1.1","babylonjs":"^4.2.0","babel-jest":"^24.9.0","typescript":"^4.0.2","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.1.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.1.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.15.3_1612426680645_0.45779082464104737","host":"s3://npm-registry-packages"}},"0.15.4":{"name":"cubing","version":"0.15.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.15.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"993289e7238acab60a7701d4984f1edfc5c37d29","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.15.4.tgz","fileCount":438,"integrity":"sha512-o1vn2VlbqKHh8Oxd05ycQFnE3pCDjJnVhsEDGppbRsNLJFfC8CeF0aXjpYK4IjPAcVQr801J7L36a8omVN5jYw==","signatures":[{"sig":"MEYCIQDczCaDdoHZK2xbHWvTaWsXSRfKUdbgRdDRz4OXqs+7JAIhAKLFcD34mALehd0h/JbI2zeR4UNNioKxQSmau9gQd/xV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4445073,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIRElCRA9TVsSAnZWagAAquYP/i/vw8avh037s9CS8HCM\nuaLy3yPJNkfImypYxsi89jhG1KLhb1s4fGhw9v2zCsnNKA0DafwuvUeS8cD+\nr4GBWnvFptHaQ6pfBD1jXaMCcw3D9g3wc4cuiuvFYfi4YR9w9rd+ohjQeqWs\nfRFSWo5AoCuR6OOaDiSWQjjaHvZ61SQY/KHJikIWYWOFq711agKF8d8XN8LH\n+J3zaBVOTVxbMctK1aVCWJbDSOZle4nC0G2CQOfqbGPhj4ZbZ5BY+YYhyLSu\nv2uAsWIVBk8Gzr5b6ZJsfNFrWXECaOL22Uy3TEaJ3dQOoKZ5b7/5L4EN048W\n4aQdUIOJ3TUPX1eNT8w7Y8rqKZYB0Y0OiB7dG6D3S4qClHloWbiFfhT/efZf\nKg+6jQh2JocA9+94IrCVos1q1fLAbQ917XyJY5vZ0VJBjHhfuBEvmaB3hgsn\netIQLiJ5bYhIpBLQ4YwqaWKqUCsKPwlv0Tjf9hLo66Vc6XVAEa4SBU+3DpYt\nDexYOxptk4BRTMMoqzTB1mpUwhC7IGHPeo+TlBAV8gn6yj5LSxUR+jw+rojF\neWQPpb1s6J44PH8bAXvRM/suYOpCdEET3wbQs6TU1XJXD/8ZBbsSEIYtbGjR\n7VSCNLQSQjhng5ZrzRPkM/y0s5KIgV6CTCHMezm89ZlGzsofcyhj0P5PP42+\nB842\r\n=sCHl\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"6df322ad9fbc5906e6ffedf4564fdd8a8e2c2306","scripts":{"dev":"npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # workaround dir","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --no-scope-hoist --no-minify --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-scope-hoist --no-minify --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-twizzle-diaries":"parcel build --no-scope-hoist --target twizzle-diaries --public-url /twizzle-diaries/ --dist-dir dist/experiments.cubing.net src/demo/twizzle-diaries/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-scope-hoist --no-minify --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"twizzle-diaries":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.5.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.8.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^2.0.0-nightly.442","esbuild":"^0.8.16","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.1.1","babylonjs":"^4.2.0","babel-jest":"^24.9.0","typescript":"^4.0.2","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.1.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.1.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.15.4_1612779812780_0.9513230263955625","host":"s3://npm-registry-packages"}},"0.15.5":{"name":"cubing","version":"0.15.5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.15.5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"439897ced55c97bca6926d7e2fa05ea785a14ab2","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.15.5.tgz","fileCount":440,"integrity":"sha512-w0hAh2q+wA61CdxwzSK1/ofjCiAun6/7ASTtW1y58gnVEo6+wutVGBqV0cxd5zjYD4yx2nxwAA6CtP+R7nopFQ==","signatures":[{"sig":"MEUCIE6YS7Ra3fzLVDRmTLWRyVJQ29epnDyetmBY7AhH23slAiEA55NjjZUomX1Ny4SgtvrjupEJWX31GcfDE5NUmiBTBb0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4491212,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgI7K8CRA9TVsSAnZWagAARBkP/1tazGOoAWWNZBSXiuc0\nP62OERSu1hMj3RK6GpabDcoRweCuTSspTHO04oQ1+diRQeQGqN+rQclvbaaA\nc+Xpr/PayQEBkKfSjoEQJtAs1IW9XFfFsMrra/p1D4Tqu4SSdbo4CCGthmir\nxauOU0vQLWbmxYZssMYrYJV/tyiKCcUUMW8TNWH5MwxE0l8XCQMyxAChOR8Q\nyGF5kVi+Ar14UYt8o7TrmjwBkpIGucdYTmjimXnQllvRtbol7PsblvHpO6bN\nC/kFG0VZAj8DIYzdqEk9w5bIZp0bwOUZZdxynn9Lxil+0LcYY+B99Oe+dlSE\niplZb2yK4V7aYlnzkHro6k18hAGmIlTBP7ijwpvl61rEO25W813Yr/ZqZ+bd\n+rxMnofgKLdl/GKDJA7WPnCc5YWs66bXvlNks6vfpdC4Hkl2MI7TF2W8ZZtm\nQWOfqUsG4JeOFAbDJXwYp5DQAyRtINLie9K4pCE1R+2p2xtEWuXXC8wLfGJp\nES4UbctI3NBr/kmGjNee2+3tUwpfanzpoDLLy61y+af9bJ8DFEb1/F7h9MnW\nxYBNfoMHaG/jIJNHTHtEeFCI8JM3EcsQZnzN56E7dCGOe5esxb5+ABz/cVVx\nuXLhK11CAzaF/sHtpC+XJxgcTvcHqjSja0TsibRPk/oaZgPef8aBxf4314OY\nNMxI\r\n=1zxJ\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"7b5aa146b3826f0254ba5a32b6b1576ab53662ab","scripts":{"dev":"npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # workaround dir","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --no-scope-hoist --no-minify --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-scope-hoist --no-minify --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-twizzle-diaries":"parcel build --no-scope-hoist --target twizzle-diaries --public-url /twizzle-diaries/ --dist-dir dist/experiments.cubing.net src/demo/twizzle-diaries/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-scope-hoist --no-minify --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"twizzle-diaries":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.5.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.8.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^2.0.0-nightly.442","esbuild":"^0.8.16","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.1.1","babylonjs":"^4.2.0","babel-jest":"^24.9.0","typescript":"^4.0.2","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.1.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.1.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.15.5_1612952251423_0.8353803521538381","host":"s3://npm-registry-packages"}},"0.15.6":{"name":"cubing","version":"0.15.6","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.15.6","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"6818d43370f15573b386a7975cc26c3c5521e046","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.15.6.tgz","fileCount":441,"integrity":"sha512-bV8yyLeDCRYgPe5PG8M05czVr0YM984ca840S4AtfK5QZ4R0Y9hkYu77wnMDst65kgbQ05AX9lPnp8Hw+XN5Nw==","signatures":[{"sig":"MEUCIQDKH6DFGoW78FcTBwgs+ot3aKhGAD9V8tLW6t6yCsX3JwIgD4qmtT8OvOPaCCP7wVGd7zxfzEQ6IISjn/gXbQJBdKo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4509025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJM5tCRA9TVsSAnZWagAAEF0P/jxcTJWRGvtERSzm3stA\nbmRp5jWeXDDX46qsmb6/0tlSP7HLNhBiQDekjxxpfK9uc1WRVQ0nxthqo+j6\nuGWBk9qMdqFMP6VedI/52+lixJQIvrm6kUtnBxHx+6R1Iyazn+B+d4LsqrFk\n6+K2p9XTR6UvnXtXQThg3PeGQ229fyHKoxY/gvjvCU85UdccQ0Z+FrpTR00V\nlqg1XAkWW37U0y4J7vDeW1BKGn3E6UyNOwuWtmIGKXUkZIv162e06m8X61Ci\nMLYqY2gRMvXQOTCUAOijJEGAwCJh0lKqjWiEJuqa3JhMcadFP43qlC/mhOEp\n/JHvvUbump5Rd5VwwQxGbj6rj79bKTuFdwkJbVT3yousT7l1OkDAqBCAI0If\nIDFaq35wbAMqFYoAqzka5K3RDvdWATqW7gv6aT4sgpm3PN8q+hpfVcxdlwEe\nOxQsXYVxU3Ehng9P+W7JVk6zHjDnjX/Kmka/+ibAyoc1Nm2cdjNSSbEBq8wL\n4xTmaicVQKBh9v0FCVOU5s+CPBjYiPUYh7IgwVuQDhX4gytzWYIB9uef9jxL\noPplAzkMF0ZHQ9HlXfuxNE00ZOtT3rNx/z9R2CcakI9i+LXtgQPrIUqTmdcP\nWXFtQABaOuv4dlxwfTeM+6wkaverPIz84uTBUXve3Jo+CC82Ab27CP1NLP43\nrcvy\r\n=oYDE\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"1f3c658bf025f9dcfd2d8971f9ba8849eb7a44ff","scripts":{"dev":"npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # workaround dir","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --no-scope-hoist --no-minify --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-scope-hoist --no-minify --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-twizzle-diaries":"parcel build --no-scope-hoist --target twizzle-diaries --public-url /twizzle-diaries/ --dist-dir dist/experiments.cubing.net src/demo/twizzle-diaries/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-scope-hoist --no-minify --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"twizzle-diaries":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.5.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.8.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^2.0.0-nightly.442","esbuild":"^0.8.16","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.1.1","babylonjs":"^4.2.0","babel-jest":"^24.9.0","typescript":"^4.0.2","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.1.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.1.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.15.6_1613024876873_0.9656513970071772","host":"s3://npm-registry-packages"}},"0.15.7":{"name":"cubing","version":"0.15.7","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.15.7","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"c3d802384b8366d698e1c5ab7455885367194ed3","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.15.7.tgz","fileCount":443,"integrity":"sha512-oV3ugx8jxR9B8nEnAS3BcyX+tKP5R99JITuGlVuT5pxKofNcGmRydcEAJLt9hmKvD1uW7deG2WVbkIQbsEHKkQ==","signatures":[{"sig":"MEUCIH2XNI6L9k94D4riOUzyWxUndqC2uKjEuF4FcQqHsWDfAiEAhSKSuJkpAWx7NjfalwZNmWrBuh7eiX3By3ZzXjgvxhQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4563190,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgKHWXCRA9TVsSAnZWagAAjcwP/jSMnxg5geShtieBxAEV\n4XKoXZYcqdHcqo9vdcTZibUmVOWSdofUt6cDte69oKWWPJPdwI0V2jwHkLvj\ni6YMl2Cw7nOlRuCT64p4DZdnX2SEloL1A7Ug9Kf22kgc+kJTH2kMyhfq53Y5\nv0cE6+CeHmdWkQinjU9W/C8Rtix6dbBWeFUba9kq4ei84+jz3W/OqIZTAnTH\nxek8YTtTf2vYfH9ee+/yx8gV1XUs46boyG8iCCEDamK6ZHxnF7skKmlQx8wg\nQvyFmJB6Jvfe1/do501f6EtFUbt9cMOu233OiqclU57bu5As3u8nQ0zFPSow\nN5x4Rle8LFjGnvtsjm0DaiRtpeHwDooFx36AeH80Dv2BZ7M1jeU2+5nAa9ZP\n0hEDmdIH+6fN2FIlf8gfznKQpKwBI87xU1vKekF4p+SPWJ6GJ4IkPPmn4tbo\nNq1S7sS/9D5OgkFKewy+Xq9suYhsZS63SEaMhhCzKhuZiMsp00B+kvIixHvL\nQbBrYDb2ivJImQZ8iRMLSAPSFWRCDe9F8RJ5fnMNcrShXlz68ztqeIlMdxJZ\nXxH8DJUfHxHMpTHlDFn3AFBs2A5i/TNLfyi4YolcsgllgT/l7/Y1MAcRBUb4\n680hpXCQWkiP1IwCevAbaSeVXPMfg97GS23TEEPsWN+ayGOOgH0CrRQ7grDG\nnjge\r\n=W38i\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"860ec948265f5b32914db7d272c67706ab48b12c","scripts":{"dev":"npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # workaround dir","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --no-scope-hoist --no-minify --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-scope-hoist --no-minify --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-twizzle-diaries":"parcel build --no-scope-hoist --target twizzle-diaries --public-url /twizzle-diaries/ --dist-dir dist/experiments.cubing.net src/demo/twizzle-diaries/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-scope-hoist --no-minify --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"twizzle-diaries":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.5.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.8.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^2.0.0-nightly.442","esbuild":"^0.8.16","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.1.1","babylonjs":"^4.2.0","babel-jest":"^24.9.0","typescript":"^4.0.2","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.1.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.1.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.15.7_1613264279406_0.5064365706172411","host":"s3://npm-registry-packages"}},"0.16.0":{"name":"cubing","version":"0.16.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.16.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"0bebf68e349f02d4c3f4c4471674c0e8702f9546","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.16.0.tgz","fileCount":480,"integrity":"sha512-5rwHEPaP02V7Ha6oLYAEQIyWpGfaRFfsZH1jRELpXptazeZQ7xT1zhoiz325cv7gFwSExTlJdrOg9o+Uc+OGkg==","signatures":[{"sig":"MEUCIAldXVc67xk3rIUI//a0Goeh/iz6BN1/wQFYjPR5iRBKAiEAtnjI7Rpf0TJjIbaY4B22L+0WE+0I3O4uFhuefZFkAQk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4599937,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSJE6CRA9TVsSAnZWagAAhDIP/A3BgUpcKZ+uXvkSyMce\nS7Lve51IR9KOODrrk+BWeL/cGAR8GJBl4taaQ3VhQjgrB2+kUW5zMSHnLrRI\nf6ZY+aiCrGedVPcNRKmBvwEmYBdAxVCh17/keFjy9DObhnrhQQBS3f8DSHc1\naEEoQkFto490jVcjkZ6kdlk3iMJhU2yoN22aZVPyxjJwrGVN1hVE/4OqRO/x\nwHcn0QeC1vONxI9SE08TxRYKvyHLibggapHQkSPOZaK3o3vGUJ9BvKqm+1Ls\n/3tagC8xQc7vh08ZeLCX7REaiy8OfJqlILrJUckwB2pfcS6fC5x1GeBiWDDN\nUKakqwi5SFKKWho2OisBWrUbGLj7qXdrI4QmWfTPlw4et87LNMh4rmVgjJMo\nqgPElWjLLIcNUSk5jMzvp8oxGehBbIkUu9HbixzaGNV1kbD7/cB6K7eJkRx1\nnVQ8Swe12YkosnM30i+etTo3MglrTIX65DFxLNvdcVDH8bCGJaobcNW15AhC\nAtCoZ8u/vo4AGmZAA8MpPY5gUWGGZIwoQiXbc6NDPWPY8uY0yjjXrUv+ygta\n7/9Ziy+3Ig4Qg3cerg+E0v/GFoBg0gxh3TvngAz24fzYs9UAsUB4TbwVa8XU\nbD8fw66ZkrAvpb8BnAevofSATHPhp1UI/lVLW6U4h7kESTSyQy+TC+cTOoVx\nMRGt\r\n=17Jm\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"ff5ba241d7f216b67f0ec41a4705fe8e1dce95fc","scripts":{"dev":"npm run clean && npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # cleaning is a workaround for one set of PArcel bugs, /tmp dir is a workaround dir for other Parcel bugs","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run clean && npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src *.config.js */index.js */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --no-scope-hoist --no-minify --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-scope-hoist --no-minify --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-twizzle-diaries":"parcel build --no-scope-hoist --target twizzle-diaries --public-url /twizzle-diaries/ --dist-dir dist/experiments.cubing.net src/demo/twizzle-diaries/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-scope-hoist --no-minify --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"twizzle-diaries":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.6.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.11.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4","@types/resize-observer-browser":"^0.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/eslint-recommended","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"],"plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","pegjs":"^0.11.0-master.f69239d","eslint":"^7.8.1","parcel":"^2.0.0-nightly.442","esbuild":"^0.8.16","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.1.1","babylonjs":"^4.2.0","babel-jest":"^24.9.0","typescript":"^4.0.2","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.1.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.1.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.16.0_1615368505546_0.30143916908552204","host":"s3://npm-registry-packages"}},"0.16.1":{"name":"cubing","version":"0.16.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.16.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"476bf3a71bd866f14a6a6e62e04b6e1563ec2917","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.16.1.tgz","fileCount":484,"integrity":"sha512-PCNZiyPYDQV2wLjCYfimnsUc9MylzfYkulUnEymRDdvRRS0op4g6zQBZS9ERg24+b+LC3jQPMupf0fDf55pvUg==","signatures":[{"sig":"MEYCIQDa9X+HW38GxnIGfISeG0M7CzuoKXCJeywGDvvKZFtDIgIhAMiZ6OFYSpsV48STd8sBL53M/BAuSICi2Kmh/JExUzro","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4621415,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgT3IuCRA9TVsSAnZWagAAxlIQAKQ3U8vdZ23F+MlgatHy\nS2Z+VEbJdlnN2YcqBiiGAjDUio3jGF9czH9wpsg1VTiMkj6zrEvR1hQfIyIX\nfia7UJANm5Sdkq/RB7oLb5wmHzkq8ub8IRPtM9uZgJfOlszof87O44cgB4JL\nN1RjU8Axta7W7q97xZradoAmh5tUQXtn8tDJEw9YLr8zksLRPTa6mA8/n7q7\nWgnmfUQFt6hsbzXbIl2FpyG59IXrBY1kfdW6JCUutB488pQWeeD/2AtTpTf1\nyGgSp0/WR2vo6g97feFFEe8BWSHnx8HpIWG2NDrAuUlsAuTljrUyDSjCnVEa\nR/hdD6d6L8uROnKI88+nblXQXtBSfQPg7a5KXXt/LkQXB++PP4amRtFmcSSg\nNz4TS2XvaFOuE/FIGY80VsOkiehL9sMZ0R1pk/zBWqNZSFN3BFtLt9ZMpIfy\nXw3AWPv9I6n14aBaVVr1HI31n6r44zT6mXk4r2m2OIA0/++gFnAx7HpObS/W\nvhzBXaFWhtrYOpqaIFW/QWP7tDw9C9gd7bygd9JFzZskzzKgPNWQg6TLkvBO\ne1WkCN6IejpM/4cGl2aVtBkF2EGjCgABKse172zww6ANZtrX9Hdka1rzQc7N\nRYzkJhj/DRmQkwArxj5Fab2Q3rtIjFADT+DSAljwMTyFTGk0AQSBjspYc/6g\n4ZmH\r\n=Qfsa\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"7f29266c8cc389b0c04130700a859a8482787e20","scripts":{"dev":"npm run clean && npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # cleaning is a workaround for one set of PArcel bugs, /tmp dir is a workaround dir for other Parcel bugs","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run clean && npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --no-scope-hoist --no-minify --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-scope-hoist --no-minify --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-twizzle-diaries":"parcel build --no-scope-hoist --target twizzle-diaries --public-url /twizzle-diaries/ --dist-dir dist/experiments.cubing.net src/demo/twizzle-diaries/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-scope-hoist --no-minify --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"twizzle-diaries":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.6.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.11.0","dependencies":{"three":"^0.118.3","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","pegjs":"^0.11.0-master.f69239d","eslint":"^7.21.0","parcel":"^2.0.0-nightly.442","esbuild":"^0.8.16","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.2.1","babylonjs":"^4.2.0","babel-jest":"^24.9.0","typescript":"^4.2.3","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.17.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.17.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.16.1_1615819310023_0.47967610398913885","host":"s3://npm-registry-packages"}},"0.16.2":{"name":"cubing","version":"0.16.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.16.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"69cab4637c9aee8adec237a4360305fc33ee6f3a","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.16.2.tgz","fileCount":486,"integrity":"sha512-9xI2rdD2wIEscuk/n3G6aEntdK4EtfDAZbVb2HFrQ6l47f4MHp8G9JVaR/RvQdtLQlS9PqDXfQxtqfnbn9CHDw==","signatures":[{"sig":"MEQCIHyzmoeJdSGZq+fxKgLgKvAE+uB11g8G3D4rXNPAHY39AiAQJK9puFYJBsYlRujU9fhGUIHY9NlbLsBvi5QNl9u+WQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4408428,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZkUiCRA9TVsSAnZWagAA5QoP/iZP5UD3oredsC/v/oSN\nUxezGhf1F6a5d6aecNJxFSFo3kgjqjGkUTpeYrHF1J8bg8sLuyQ+kQCHbuKr\naTLTiUxbCKlhch1UVeJOYNixuPiYh/kIFZ755iQphzhNoLVnquQqFAMk0kWu\nBNU9rwvRic0jM+W2Ht1gjEZgp1uafSzVgJviG5TsxsvfnABsTSq1x0nYsnZ1\nUlvd9i0K6LrFguKTqp6htXQ6d5LrvgAnFMW1XePkpGsX/gIZGAYccBXAN9Ge\n+A27r2NsQU+Az7DIr/0qniBWnIhOdEojOsTzgnOBN76TxxOdmX3NsgBVzTyg\nB8abfslJzia0LsNVDias2SbZeTTOjr+pCtSuYA56kmE8BgOjHYO1MQBBQmS+\nFKAGh4KF+c2NL5Ub3CMc3GGXwNpFNqC1O055JKFn8kkqebkiPVRn2tX3lPOO\nob7IjfuIHX0R7Vpabxjw0dGASWJI4aWI6JVC8TAkXvSuhi3V/Geu5Xl3V4Tg\npbmY3sRicJ8M699QKlu91P5s4ntrms/4MLOc3AWoPJa95uUueJ3ED4MN/BWx\n9YIKDrQVeMiA5UNBo6ODnyJFxztn5gFflVkw6JTw2pSDCQe3p8Sy68fdMyYx\nd3bjqwZV6g446fTXYikRFWQBa9Y6YkKEYtTrKd8PQgW1DeKlpQ8c4LrEsV3h\nNX3M\r\n=0Juf\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"f4245d1eabe4e8eb7827dd2f77af3d25f4b48753","scripts":{"dev":"npm run clean && npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # cleaning is a workaround for one set of PArcel bugs, /tmp dir is a workaround dir for other Parcel bugs","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run clean && npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --no-scope-hoist --no-minify --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-scope-hoist --no-minify --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-twizzle-diaries":"parcel build --no-scope-hoist --target twizzle-diaries --public-url /twizzle-diaries/ --dist-dir dist/experiments.cubing.net src/demo/twizzle-diaries/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-scope-hoist --no-minify --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"twizzle-diaries":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.6.3","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.12.0","dependencies":{"three":"^0.126.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","pegjs":"^0.11.0-master.f69239d","yargs":"^16.2.0","eslint":"^7.21.0","parcel":"^2.0.0-nightly.442","esbuild":"^0.9.3","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.2.1","babylonjs":"^4.2.0","puppeteer":"^8.0.0","babel-jest":"^24.9.0","typescript":"^4.2.3","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.17.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.17.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.16.2_1617315105531_0.5405357571132443","host":"s3://npm-registry-packages"}},"0.16.3":{"name":"cubing","version":"0.16.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.16.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"495dec80947e19ca421f7cdd4b7f47352c458801","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.16.3.tgz","fileCount":486,"integrity":"sha512-F+n6QpE+lkCwvFiHBACssaVQFs6X4zN7WaN9WvAP035ZwgTtLSSxpzdCuGhtt9kPpSTIlblXNgZ+89ZTx/ECzw==","signatures":[{"sig":"MEUCIQDyLS4wkZueh1ftbMjbWueNfRyefibZYOBQC//ruAjksAIgLUxjT3MUU6qiSpWxh9UwUDCWS4PW4f9Vhx0sYHaUowM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4408690,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZqdjCRA9TVsSAnZWagAA7acQAI84bNsi0OWP1BhVs0+w\nZpirIOz6pu/jRWsbQBrPJ1lFYwuldNDK/6S6wCGHHTPedu/qGtU91dWqeo3T\n7eclBN3a4zgCpIEcF2IkmIh9uBrl7D/4b3MqCVFyWdu8ipeJuWcfsXYD4InH\nmBIsMeMrcFbPfLuAwIGuQvsEcHGiXg/5VwtSnTHfzuW/oZKp+GiF1bBduY4w\nRKuaUx5QGnsrhg63uNJTigj3TQYQUZGBrdxg6quZFHWFos85NrqJ/jMSjmwq\nQ0WmlCg4y8TlFcK2feNfuSCesvPT7lk2QoIZtbcjsNTwYIRpKhAga8HWKNTS\nnwCr3LFEFIum+P6F4rN7l/BKBE3/ro8C3ybWS5ajc87kaBNdottYAETGsfAh\nzhiVDTBLSDZkeuclOmAm1/dJsjIH6DXrNOR3DFM9b3aoGw5u8BtFi2f/L0nP\n423PVLdYvTpMwYiXsvKIr1doQg+ukzrSiSs+ddIdOZ7hoEy0/MVjbqWPEOE2\n8gRT3uzQrhILJl4Av0x/2Bnv7z4TGW6zNrJlWxYjCJ/RYx2vV+nLlSMLKpG+\nvyunjhwe1fy+S5s0ZBbdKqnDJwCShPDxmITuYIT0aagWh/EO4uCgU7JIMwgf\nBYLoT7xVhBB3xrxmj3T/3hRoIiJHnBHDFdDwEkmOYWlARQKRCvCf23dKLOae\n3bIt\r\n=AiiC\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"822c808659d46e8f8ffa9e0f64ffa314aa614613","scripts":{"dev":"npm run clean && npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # cleaning is a workaround for one set of PArcel bugs, /tmp dir is a workaround dir for other Parcel bugs","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run clean && npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --no-scope-hoist --no-minify --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-scope-hoist --no-minify --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-twizzle-diaries":"parcel build --no-scope-hoist --target twizzle-diaries --public-url /twizzle-diaries/ --dist-dir dist/experiments.cubing.net src/demo/twizzle-diaries/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-scope-hoist --no-minify --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"twizzle-diaries":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.6.3","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.12.0","dependencies":{"three":"^0.126.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","pegjs":"^0.11.0-master.f69239d","yargs":"^16.2.0","eslint":"^7.21.0","parcel":"^2.0.0-nightly.442","esbuild":"^0.9.3","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.2.1","babylonjs":"^4.2.0","puppeteer":"^8.0.0","babel-jest":"^24.9.0","typescript":"^4.2.3","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.17.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.17.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.16.3_1617340258969_0.1211347007376593","host":"s3://npm-registry-packages"}},"0.16.4":{"name":"cubing","version":"0.16.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.16.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"cdb678a2e70ef58c53fa10feca036c8fcb26f9f5","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.16.4.tgz","fileCount":466,"integrity":"sha512-iT6fs/S6ba5dOFERmK//kJdgAYMCLETeHNyg/lJN260ym/KVN12lAo/ncu7QTAK/woWR8WCHUrqy8RNhs5eSnA==","signatures":[{"sig":"MEQCIBLZuMaXmoJt6Ns0V5Cp/kAOd7JF+QPII4elUkO+dKKtAiB3I4y3ZHyG//n8lmKUbJfTGXfn35hQ90p0B4haBlHQlw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4394497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZ8QeCRA9TVsSAnZWagAAi94P/3dSPvCAuBLjHmRVLeN5\ndIFlUPV1ZkHZ4wETwlW0qBrWH0b3mUE98r22FAlEFGc6s4Fcst5PQxId3QJT\nnavyOitonUkH8TyuhQcWKRiQOao4kAbY9P5f3dpnvEy9D1dQw0Wq6Jgk2gKq\nqs+J/Wjwzc+4dibgofz9jY57DwK6fZUhPpe8z4PtFAm26qxB/KqVf+ZMTfab\nzglK0ZNyBb9wZyuofnFT7Sw8e4itVCIujR6oXHsvruLclht9WzODLsj0cK94\nM00eqFoUSi7aIxJVRwBmozrSbICa21fGUYTAl9b6YET3E0TOdBpBjdsaI3T4\nBub4JnOkKF9n2kiU8Lf2Mgo93qekNTTKMzKEbN2NZ5QXgjLwjFyMFK3DKofu\nBEjOQFRXOeDUev5vCk+03GCIV6KjrlwfeLZD5YgNJ3WWu6pJW0OTli3vAeO1\nkCPBK4fhd/PTMtple/cbCpD7D4s1eMNKVuTUq5xvF4gIB3fiZ5ws4ZvzBRdR\na9l0+ua9bxIfTCZf5ce2ThBZosFA7eIV4R3rynwmHOdsyDrZyZQFrzUTWXOf\n5bLnoqXBzgYFjrmoczAMSCH6ryIlLwkIIqgGe6VKOlKoiH1/KLcVWVKNRzWg\ny5bNaZYuUlVGnsL1t3OIQ/B6ECAnnYcngAdXhCB0KO4qNosuTh/89I3rMum9\nYoGw\r\n=Mj6y\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"185a9412728d6c8665fa7f8f476918dae34c1a84","scripts":{"dev":"npm run clean && npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # cleaning is a workaround for one set of PArcel bugs, /tmp dir is a workaround dir for other Parcel bugs","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run clean && npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --no-scope-hoist --no-minify --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-scope-hoist --no-minify --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-twizzle-diaries":"parcel build --no-scope-hoist --target twizzle-diaries --public-url /twizzle-diaries/ --dist-dir dist/experiments.cubing.net src/demo/twizzle-diaries/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-scope-hoist --no-minify --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"twizzle-diaries":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.6.3","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.12.0","dependencies":{"three":"^0.126.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","pegjs":"^0.11.0-master.f69239d","yargs":"^16.2.0","eslint":"^7.21.0","parcel":"^2.0.0-nightly.442","esbuild":"^0.9.3","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.2.1","babylonjs":"^4.2.0","puppeteer":"^8.0.0","babel-jest":"^24.9.0","typescript":"^4.2.3","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.17.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.17.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.16.4_1617413149789_0.9275785574918596","host":"s3://npm-registry-packages"}},"0.16.5":{"name":"cubing","version":"0.16.5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.16.5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"c6efaaeb19ed26bdd4f9a3256dabfe47fee09ce9","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.16.5.tgz","fileCount":466,"integrity":"sha512-jdlrwFztEoUgEa83abtQB5CPgNo5tcnqEbX3Wf3dSUP9RWEhfBM24HeV0Kz8I9OPS1WF9r/mil1YLiwvs+HR1w==","signatures":[{"sig":"MEQCIEGbexkQBBu1wYsCj6CU5M8+G1T3IiyVVfcZ3FcdaRi/AiAT2SfLJ5F8qhensDcX4aVWSGAFoVolhdMPnQ+ImT7M8A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4401153,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgaPr7CRA9TVsSAnZWagAAXKQP/38rXNFgZvODg2z/OTUz\n0WY2jImoFSMEX3XuX/7SpABcRWtFDdqpV2QQhm+bpDchQxY8i26LV9vf2t6T\nZBl5dP4JZxXSi3Y3FJU0PIUvooOuY+3dGlCfOMP/dAyIQiatLt6lmjuTHdRt\nTlytiYB//wlhZ0ZO+rocXiU/4J9KrvS5akpecmimZw+0oFVXPvxyXpQMfX3+\nCeJOpwU7jL70Z16uHcpIMFqWvSCxCdUHJltZop0DuXEyyCEVPkutkpH48aNr\nypRX/KUByafHgKgYaIT8UihT2XjUVVX9wXXE1+VACBRg9oTadvtlbSrz6gIZ\nm7n5Rz+2CxoGfhBCztAdnAHFdkb1rYKnsbehO7cDtcL8d+ORcCFVXo0Kz7rq\npS50L0rAI5DJOW6lc+SUYlt50dLa5M3+gA1Nxs9mofC+s2EKb1fcH/dbxXhu\nxtt6/hVsmbmlIA4oBpRugWGV7xdFN5ygkxOPWWnFn+ie78z7m7de+cEGMjf9\nQ/J1IzDM9vQrP91+sp8DHbDe5L+iAD6zy53bGYitcPzAKAO9yDZrI8WIPyTZ\nKRpbuZQE4d4pY0GfVsY8x2H+qcv1FCbMpaaUdxtuYgV1oKiL5zJvR6a0IhoI\nrUfdPwkMHbYf0JX9BaCztfN4Uk2NG+XDnGhFz1r6nXG4eh6tdBN5UNTCC1nm\ng2+9\r\n=RRmb\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"241807c1eccaa3608f8f3101c133a32bed274fc8","scripts":{"dev":"npm run clean && npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # cleaning is a workaround for one set of PArcel bugs, /tmp dir is a workaround dir for other Parcel bugs","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run clean && npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --no-scope-hoist --no-minify --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-scope-hoist --no-minify --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-twizzle-diaries":"parcel build --no-scope-hoist --target twizzle-diaries --public-url /twizzle-diaries/ --dist-dir dist/experiments.cubing.net src/demo/twizzle-diaries/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-scope-hoist --no-minify --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"twizzle-diaries":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.6.3","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.12.0","dependencies":{"three":"^0.126.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","pegjs":"^0.11.0-master.f69239d","yargs":"^16.2.0","eslint":"^7.21.0","parcel":"^2.0.0-nightly.442","esbuild":"^0.9.3","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.2.1","babylonjs":"^4.2.0","puppeteer":"^8.0.0","babel-jest":"^24.9.0","typescript":"^4.2.3","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.17.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.17.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.16.5_1617492731100_0.3096166969246421","host":"s3://npm-registry-packages"}},"0.16.6":{"name":"cubing","version":"0.16.6","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.16.6","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"a91e4fb91d0858a29638a9e67d9e9ff4f70a4652","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.16.6.tgz","fileCount":470,"integrity":"sha512-Gzr0kEwyW25MGpwUv2R9YTUFlzdJBqZTpwZBNFeZHXeix3mufnjlMXzZbVgRmP+s1tInJ9gwsIAWFYlyRyOBMQ==","signatures":[{"sig":"MEQCIAwLeLTe+oR1pN9amKeGx0jysrdTirlVW7WErctIdq2TAiAriG+t5eLlLr8hjIYaPbICgWf/QVgzZ7QXYGvpHFSeAg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4425853,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgaXf7CRA9TVsSAnZWagAAXZUQAJhRitzXSA7zdNDhVrMz\niXTGq2qAUToxAR81UBzNDyPaxLr+dhOzJEKiPJ7duxsiIjsLoFI35X/I5O6F\nMIgfNK9LxvFlvP0Dyh4c2GG/1H3QxEwSOtuRIU94c2AAOXAMiWo6dRZnWY6O\nC1t2kBQmyOQ4SXNtkf6tCo/DDQu6pI899BBNMYwfIJVaseyAZGCJxUvMeMDP\nxC0Y1DLX1zYW/C81JGkfs6S7tb8GWcNUsLAWgHNLZrEwPJy1wLQlKaMxUr4e\nEswIHatUJFfS0Jf8nW8TNISfJpIu63rNqPdrlM04WhKbeezuxyphcf/QVo3M\nE/HePCbVaP27zvMkBJbiZvCWpvmM1U9pJJrUiSJ+cVMBrma9vy4IQRcvI9fQ\nR/x8L5yktDaTmy6Lbc6xQgUgGO0L13CKUiNNH11Q3Qlo4+MwSyBF0wSd/SzH\nrB5z9kyNMa26KJHfgrMX1Unbz2vYgqxYtAcVjmlzBGhDp6cRw8RBptqunExj\n2vJbUYl15KtM5vwxILW9+Uu4/Wo06dfCP1ct098ygFnT0qGHOCYUi5xkLVgE\nBz0lqtQvKK4TFkQUPSM8Ih31Vs9BdCpvwJkgkn/JW/JoD64k5d8rj4kyLxqO\nGPBd8pqontlk7sJPpYseYhqxgTMvTBbxFXNoy+C5RNN5dbVq3F0wftbh7uT0\nKwjA\r\n=2vK1\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"61098f17dec56a0e9918937cf709b2714d3d6a55","scripts":{"dev":"npm run clean && npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # cleaning is a workaround for one set of PArcel bugs, /tmp dir is a workaround dir for other Parcel bugs","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run clean && npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --no-scope-hoist --no-minify --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-scope-hoist --no-minify --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-twizzle-diaries":"parcel build --no-scope-hoist --target twizzle-diaries --public-url /twizzle-diaries/ --dist-dir dist/experiments.cubing.net src/demo/twizzle-diaries/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-scope-hoist --no-minify --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"twizzle-diaries":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.6.3","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.12.0","dependencies":{"three":"^0.126.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","pegjs":"^0.11.0-master.f69239d","yargs":"^16.2.0","eslint":"^7.21.0","parcel":"^2.0.0-nightly.442","esbuild":"^0.9.3","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.2.1","babylonjs":"^4.2.0","puppeteer":"^8.0.0","babel-jest":"^24.9.0","typescript":"^4.2.3","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.17.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.17.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.16.6_1617524731219_0.5665821817737293","host":"s3://npm-registry-packages"}},"0.16.7":{"name":"cubing","version":"0.16.7","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.16.7","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"5d5ca55e7c7748225b8200411d04434899929ed8","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.16.7.tgz","fileCount":472,"integrity":"sha512-PwTxRBD/GisKZFTGDdD837Y96Jr/IGpqaUtAG8cyE1obuEqdWsbtMWy+XiBcEzTOb4e/8uGkRex/QSJkhsrhzQ==","signatures":[{"sig":"MEQCICvO550XxMc5R3BntvF8g+fvdP7oaRPbdRXKyUTVV1CIAiA32OWUf4j6dYCer3lKnVSF8Em09hju8OKSYB/KPBenoQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4432012,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgaYS4CRA9TVsSAnZWagAAf1MP/2jOMuvXWZfhOwO+QYee\nFcrcWJ0ONTz4W40NFSz4FbwtsKOzgojRowWWseW9tJOcEUYLnMC9ZOnIcjCZ\nvLtzTcpv1C1hORrbsv8sFJXL95eGBOyeRG/3lJGWIf+JtV7RsA9K/OTJJHlo\nsshWwfbu1VHnMyzphHWx6yUN2HARxlRvIOtd15kPDGNMgVvm2mposSsgNIKY\nCYxJJZ/BaHq4i/gQJK2Ov/0i1k1PjbhrOwVUpzE3ooCBp9K9DQ8XJn2jsX9I\nRqU8bZ1k7akVSSsAGCkT/PPXMajtAvXeEDhLvXb/auzaxemek1OGgv58AZHi\nXxF1QiSj7H0eQbQ8iN/NiE1lAtLxq6UPlBeLuYx6EOhbXIuDUw0CuXITjGwE\nTXvMYUa8dqZPJQUz20RubrfF/QqP0vq9av/UTUcvg4O0CfHBwIeqY9+Ydasz\nhZtySokLyLRTYDc3HYAvsZKbO5e4AqDgtQoz8D+kFkIGjcx93Qumlxhkzj6C\nLd6+7P6E65d9Jw8pSaeFsJJCe3y5oVZDtNxyPLY9fJ8FGP+Hm/6aJvpwjBjc\ngImNk9o5EWthlktLiTwI16LymTWoLCXNK/5acQ3yWjQF5FtXARM5BcghP0UA\nvCK8Q0gA8BPtHwDMNjT5n2RTx3vFoAwb3OlA5Gp3as5JkBZEeytdek2BqtxL\nc8Tz\r\n=fmVj\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"transformIgnorePatterns":["node_modules/(?!(three/))"]},"type":"module","babel":{"plugins":["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-private-methods","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"],"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"c0b93670beba0e8b72e496c23e910ac0d27c4d29","scripts":{"dev":"npm run clean && npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # cleaning is a workaround for one set of PArcel bugs, /tmp dir is a workaround dir for other Parcel bugs","lint":"npx eslint .","test":"npm run test-jest && npm run lint","build":"npm run clean && npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-node-import":"node src/dist-test/import.mjs","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs","parcel-build-for-twizzle-net":"parcel build --no-scope-hoist --no-minify --target twizzle-net --public-url ./ --dist-dir dist/twizzle.net/explore src/demo/twizzle/index.html","parcel-build-for-vr-cubing-net":"parcel build --no-scope-hoist --no-minify --target vr-cubing-net --public-url ./ --dist-dir dist/experiments.cubing.net/vr src/demo/vr/index.html","parcel-build-for-twizzle-diaries":"parcel build --no-scope-hoist --target twizzle-diaries --public-url /twizzle-diaries/ --dist-dir dist/experiments.cubing.net src/demo/twizzle-diaries/index.html","parcel-build-for-experiments-cubing-net":"parcel build --no-scope-hoist --no-minify --target experiments-cubing-net --public-url /cubing.js/ --dist-dir dist/experiments.cubing.net/cubing.js src/demo/index.html"},"targets":{"twizzle-net":{},"vr-cubing-net":{},"twizzle-diaries":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.6.3","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"15.12.0","dependencies":{"three":"^0.126.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/dist-test","/src/vendor/modules/three/examples/jsm/libs/stats.module.d.ts","/src/vendor/modules/three/examples/jsm/libs/stats.module.js","parser-pegjs.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","pegjs":"^0.11.0-master.f69239d","yargs":"^16.2.0","eslint":"^7.21.0","parcel":"^2.0.0-nightly.442","esbuild":"^0.9.3","ts-jest":"^26.3.0","baretest":"^2.0.0","prettier":"^2.2.1","babylonjs":"^4.2.0","puppeteer":"^8.0.0","babel-jest":"^24.9.0","typescript":"^4.2.3","@babel/core":"^7.12.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.17.0","@babel/plugin-transform-runtime":"^7.12.1","@typescript-eslint/eslint-plugin":"^4.17.0","@babel/plugin-proposal-private-methods":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.16.7_1617527992116_0.5395703847415256","host":"s3://npm-registry-packages"}},"0.17.0":{"name":"cubing","version":"0.17.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.17.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"005602f6b530af7f952a82129e3aa387cfc2bc84","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.17.0.tgz","fileCount":684,"integrity":"sha512-/Oj6fbD3g/ki78rNqKPhlsTA/yPHmnPgtU6BaDsi40GAiHzU6W0FC2QlCBKHJWp2vRGdEySgBy29U6lMXdu37A==","signatures":[{"sig":"MEUCICGuCgWQ60ZACxu6AXiE6cX2GsySkJK5jkUMGJfSzFCZAiEAnpQ/zbervMdliYm4PXgC8fKAe2YpK4tgOl8v0vb3ZTI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4647438,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgk+foCRA9TVsSAnZWagAApJoP/3yc0jPHbEO3mkNDs2hS\nsXrF4/YY7aEgDb0ZOtwfppIQACbmXK/Gy/Qe7dM5mF3UAKEA6pspLyZfif8+\n9jDCTCkTZ/JHdnIKTHWF4wxtsIJVBu3+5aLDXalCT8LTlKSlfhCKJAjeROm6\nv1TrtKXZ6F08maxm2YWbXOWMjbsTUZ6G6LBXT6knQ9Avws6TXVLREBcCdUzd\n2ZVnEG3tlQ00afmL052IP0tVfJ7VBvItLyjKdG+tgsTHpAAMFbau0sA6HoYX\nYohx7Co035widdhmccYPhB9tmVzkI3B39nese50eJRs5ptowczmi+MfzoFMt\np4tnTEJ5B893F0vbCKj1nwSVqCAJ5Zn2GSR0TJSujlyM3iDFQY6KYVNygLN2\ny76mpIRH6Wq6oXX0pcZ0UC/Rl0XwCxs9YTohgUpdu7526ZQy/nBlpvlCwLSX\nAxH4t/fGYRBRuHIpobark9rVBwGbqItInKKyZB50MO0yHfls0CFLcRkg0RUS\nwQ5vSIy7vQ/LTaF9whS6PHnme1duKqTXP1a9lTpfAIJE37fUiDxQWG9avi52\nuzBl1CVYqkOUEi9Xc6Md9fdm1govLYVvHItOszCmhaq2H8OFppXIDy8yRHC8\nBCn8Eei9DhekQcStjUtwPOukVw4ApCLc9yn7kjz0UjHbc7IbW8oqYioOlvLD\nQa3S\r\n=sdHw\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"modulePathIgnorePatterns":["<rootDir>/src/test-experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js","require":"./dist/cjs/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"857d89d2b10d4fdcc3040acc3853000dd77e9266","scripts":{"dev":"npx snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc","build":"npm run clean && npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc --build ./tsconfig-types.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-experiments":"node src/test-experiments/test.js","test-node-import":"node src/dist-test/import.mjs","build-experiments":"npx snowpack build","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-import-restrictions":"node src/import-restrictions/build.js","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.11.2","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.0.0","dependencies":{"three":"^0.126.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/src/dist-static","/snowpack.config.cjs","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.9.3","ts-jest":"^26.3.0","prettier":"^2.2.1","snowpack":"^3.3.7","babylonjs":"^4.2.0","puppeteer":"^8.0.0","babel-jest":"^24.9.0","typescript":"^4.2.3","@types/jest":"^24.9.1","@babel/runtime":"^7.12.5","@babel/preset-env":"^7.11.5","eslint-config-mdcs":"^5.0.0","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.12.1","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.17.0_1620305895969_0.6815334767545562","host":"s3://npm-registry-packages"}},"0.18.0":{"name":"cubing","version":"0.18.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"93de59effd5de08acb2565fc06d6e45e3361d35e","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.0.tgz","fileCount":725,"integrity":"sha512-/P1wS2zGa8fEK6q7XGOSkEZq6M8vuZZXf5stkiGeO38MJnnu/p5WsYUx770Szyr16I5LTJvUiSY7AEil864ZmQ==","signatures":[{"sig":"MEUCIDzFT6VAaLsQqzDbFWvHd3xnwIq+QyxjiPvJjnML+X+5AiEAxAQFuAyeUmoUlKkQrBnOLWrjs/bzhpxjfFIcbrvzMoo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4776307,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvIqLCRA9TVsSAnZWagAAIyAP/RPyMvw/U7A67cP3V8K6\nopwmyXROdYA6j4WqyoP5Pol47NtilZX/BnDlNYmlYraTJv20Zj6SDYTpeDjY\nRnC0JFtj3Pd2Ojl+7DPIiKdTEeK+xjJpaAjozroKs8DZFznjNAt8F2lJxGz7\nQ9S/eoY8w0ryaTYBu/eDClTvqOFeNV8q1h4uUkjzcbkshp5nuARw3vtaL2zZ\nU1oflue716oQbYLa5YkvpX/BrTDa0u39TMi8CC0RlXCbeLc/DOic6VJeElbI\nTQml6FSPtA1/Uycvuj08ui+czizZptT0w70PAaAGuFvKANPgCNCHPUZ4XX2E\nU0Q1NcEi/VZ45Jptz7WGdyObabj8diqevCV0ZtkY5mkPP6XlD5xF/+vGR6To\nBRBd5uU25+hEaBHn0bG0MeuLYSxNYR9MRkwW+YcJPthIu8ZOXkt7rovCwOGP\nXAQSk3QqV3EaMjfEPPuqEec7un4lDb/N+p1vHER2TbLrxHfrzB+Z6bzgCUhB\n6RXKzdepruBSKeRzSGtjEElhLLX65GCtNMfI3ykDXRJ4TxKCzh3ez1EXEtK8\n4uxBBD5bIfiX8WATNYa/gUJ1dPqAvn7YVFjGyV8lJGMEMVP++bPrpoWtIMT1\nYrgUwe0YVsda3a6pDnv9jGphHsKRT5ZehzWkBL2UoXtWwj2KLtIXQcym9f6l\nKHOI\r\n=t60Y\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"modulePathIgnorePatterns":["<rootDir>/src/test-experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js","require":"./dist/cjs/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"2f414ed8899740ceedbc0d9c0dd8007b3b9a8007","scripts":{"dev":"npx snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc --build ./tsconfig-types.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-experiments":"node src/test-experiments/test.js","test-node-import":"node src/dist-test/import.mjs","build-experiments":"npx snowpack build","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-import-restrictions":"node src/import-restrictions/build.js","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/src/dist-static","/snowpack.config.cjs","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.9.3","ts-jest":"^26.3.0","prettier":"^2.2.1","snowpack":"^3.5.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^24.9.1","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.0_1622968971490_0.8690021482314443","host":"s3://npm-registry-packages"}},"0.18.1":{"name":"cubing","version":"0.18.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"97bf14fc05338d63bd7ead7ab03c89c9950b610f","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.1.tgz","fileCount":727,"integrity":"sha512-7X6420b2Ns24totMQkRGOTAPNr5fIWExN/2QZP9SfVBdEkcMscjFX8/J4JtDrD367+ArhJ6x1il7HOnRkQ8Oaw==","signatures":[{"sig":"MEUCIB51gCBS4+mtbKz8/V7cujItCk/eGeaPu4OTfhU4TSaYAiEApR2MDQkkHzyjsTvZU2UfCBc/JTmrzUsLa5gICaSvsi0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4790535,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvJ4mCRA9TVsSAnZWagAA6n4P/RqwZ69RHLNa50SyXVnl\nQ7dw8fn9W2pNcjjwGMP+uZwUhHUkln3n327jL6aB8yaAggyVCrx2F4WOSYEc\nOR/O27rTJ4Llf/FNptl7MLcTAQzj/Ip7By0lLFOkrhJrwJHlufn4R4ohtdSt\nUoo6nxjZlDxMibdsq8egueq3+Fc3IifjX/AzpBVGdFvarxjxmGMmGHd1KMVA\nA8h4gOVPvX750Rc2eit0WaMg3kmtdSF63FjAasD6sNXEU2MFZc4GyOvdm0Ru\nG6MFFOvlpm0rTnFWs2PRHN6hJrhi2Tn9CBUx6l8bZEIqke1UDBvXbPj2RR0S\naRAzNnrWtatU27r57YvttqMM4kFVlROzTlaJjv1VXqSwY7mbvsQhCb6hQzv1\nZccQE3f3UgGu7a9yUE9XHLvP6IzoRAkGRK8adVaamL1BCKNEKylfQF6tAooj\nfh9X1p/hIm3mNsS0qQh7t7xTDaYb+Da5byRoq+ycnFyI7Yijl7PCW+7vzXcj\nJG2lFWastGq75HMwWUqsHSlEcmjeZeKnb5G3LadBo0C4mLjh90wUZSh+Gr2e\nebz6B+SPVBn3rmGe1sUHw6gqFGf12roRIsiec+ZH5IUTAva53uMNAL3QHNfe\nndRlbso4UNwDF5YG8Gi+/8Xqba9D2BAnksJNx+zn2vEK3+HHnhwFzit9pUqF\nxeSW\r\n=8QgO\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"modulePathIgnorePatterns":["<rootDir>/src/test-experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js","require":"./dist/cjs/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"b271a80c096df387b99df2d65cb5d25a438684e6","scripts":{"dev":"npx snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc --build ./tsconfig-types.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-experiments":"node src/test-experiments/test.js","test-node-import":"node src/dist-test/import.mjs","build-experiments":"npx snowpack build","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-import-restrictions":"node src/import-restrictions/build.js","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/src/dist-static","/snowpack.config.cjs","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.9.3","ts-jest":"^26.3.0","prettier":"^2.2.1","snowpack":"^3.5.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^24.9.1","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.1_1622973990121_0.5532577842460669","host":"s3://npm-registry-packages"}},"0.18.2":{"name":"cubing","version":"0.18.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"5718fb9d15ab64fabac4276475e6fa96d0c1b490","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.2.tgz","fileCount":728,"integrity":"sha512-NGUOb/z7DtPn3XoMAD+XVC7SY+TkBhNcpVeVZAH7p3ldh116xosj+o54EbSRF9bE6FokyHnVdHb8Zcik8cmYlQ==","signatures":[{"sig":"MEQCIQD3zisEMaKStSOWMcPBhSpso/iArTj/NbMEt/re9UmcdAIfXE5ozBGUmEsnEGdS3RXTvaR9kFom6gRhhnznRstFPA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4798648,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvKW4CRA9TVsSAnZWagAAM30QAIGbEulCaDFy3vo+4nNx\nMEE9JAEVOOQs5cOTkKKt6QGlhUp8lazvP4Y6TTqNLsJulwzkIFjEmA7zB/Kf\nAlUQ5BfsFlbmgxLVKkWI42PVX7e8NhvukRJIbN1k2Ge5AcxsE/Q8CyiYW8g2\nj51X3sFVA8LGBqAFtSj4PLZqQ6A12MDYfOySWNCCGutVaSOv7N/F6Kci0+MH\nmKeq0M0YjIvaG37d8EK2t4Y1Tk/PVkvWa41/+CN3CioaWmd2dfj2hUfhRJej\nbgeFTurUfbzExoVPJGZY/tIOAmrVo690Sgg+ZtC1ct3H6RlTAqWDqtbApcyW\nXQX6sIdwQsV42HYROFkNx5HdJAO2fRVsAtfBVfTlX9VYoEpcEOIq+GDYwr5q\nmtbkUFJh6H2x4jAb9P0J4lP7hNCkGfmL9cSdHWE9aRlkxvqpbVL+FoCgiEuA\n21yabPM3sRnQP5yARI27M+RZaJdJ98lG9AUh/4ovMMt7VHPyza9OOxMrbjnX\nb6Y5mrPhBCQ16O2GQKO6n68P0pt2GU8mBR+TiuOTWMYv3ZYPdqOGDa0pO6da\nXJJb+so/EpDxEEaOyF2THKX+TgvJps335gcS4qHVmzF1dR3elVpJ5jhktgj7\nrTFxaT1HUC51LKqgiDZW2bzbVrvoUhcL3VDGDpfD05gCF/8+belyJ1MJLGKK\n7S3C\r\n=qrHO\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"modulePathIgnorePatterns":["<rootDir>/src/test-experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js","require":"./dist/cjs/index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js","require":"./dist/cjs/alg/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js","require":"./dist/cjs/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js","require":"./dist/cjs/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js","require":"./dist/cjs/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js","require":"./dist/cjs/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js","require":"./dist/cjs/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js","require":"./dist/cjs/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js","require":"./dist/cjs/puzzle-geometry/index.js"}},"gitHead":"b1034325900cae1961a8426abdd6c1743d016f4b","scripts":{"dev":"npx snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-require && npm run test-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"npx esbuild --target=es2015 --bundle --external:three --format=esm --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts","build-cjs":"npx esbuild --target=es2015 --bundle --external:three --format=cjs --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs","build-esm":"npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm","test-jest":"npx jest --collectCoverage","build-types":"npx tsc --build ./tsconfig-types.json","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-experiments":"node src/test-experiments/test.js","test-node-import":"node src/dist-test/import.mjs","build-experiments":"npx snowpack build","test-node-require":"node src/dist-test/require.cjs","build-bundle-global":"npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-import-restrictions":"node src/import-restrictions/build.js","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/coverage","/dist","/src/dist-static","/snowpack.config.cjs","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.9.3","ts-jest":"^26.3.0","prettier":"^2.2.1","snowpack":"^3.5.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^24.9.1","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.2_1622975928578_0.13130447020440084","host":"s3://npm-registry-packages"}},"0.18.3-alpha.0":{"name":"cubing","version":"0.18.3-alpha.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.3-alpha.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"6a3e41c9fd8a77f337860ac5cd215b99db8f687f","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.3-alpha.0.tgz","fileCount":372,"integrity":"sha512-C9NFf4hGHiVa7uhh2y1Br3tUa8JUC7xD0yzSDyY0ylAhg/B6Rd9kP1B+nTet6wu/l9WAo9hKDe1+nQlENkcyTw==","signatures":[{"sig":"MEYCIQCLv8I5UWpTDt4oNfIPA6HrVier/3iwgbVmHcWraHBotwIhALY7Be4I2Dbat30PO1IiE1/xY58r/MdX4m00rfzMjlCq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15524937,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0msjCRA9TVsSAnZWagAADegQAIwaOQYsRGqqYUkRk+SA\nHYPHwnYDdFGlNoR7LCnfphQRvIKpBuvb0SUZ0dviUJjySLjka74GdyQpCHgN\n7vxMoHA5oCRFzsCqYKbOXfu9Er1fyUif7oqdlK07yh8PiNwCzqiAplbKfs6s\nmrAs/KI+iTgKOqdkkfN3hnjjf0eaigdtcZLFhUXfEvXXtcbzuBpn2rhDC/9G\n5pNl+m2a/nVRcz2egnjruf6+55AZldx0PxHE2znRa7+mjnpCgE55yvBZMNvU\nzbDc08+U/QdzYGHicupGqmSATNcheBfvJClT4DmvhCgD+s6yGK+BR3mavssE\nQIdlJLktprRA44R7JzeFE+40kLfavD86RRfgxgJJz0RfGAujGjHGOm1E3npT\nwpQfSTZMntvty+RcR6ze1TX9fMAeC1PtYqYpviDmOsY0XdyaH2qDiug+DPku\nLGP/EwF6SiseaSZ5r8mJF3gpb2vxHoA2QzD9l/7PL3wAIVjI7ujHeKRESmxo\nM03U7ctLujvjqni7RdYiAVTstZCHxBlVT5AXt9cYMSHf/RM/v1TK/bAQ/Ax3\nVvCD48gqLksLxmfmP0PuE1EX4QnmRv72AK4ObXP8QbJq56SBLSL/DHk6183i\ne2Ea8HoZy6acQaty0G4WSn1RxtguCpM8p+cjUE1OhbHfepk7fu+JFvODMw+p\nRZSs\r\n=L+d2\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"modulePathIgnorePatterns":["<rootDir>/src/test-experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./solve":{"types":"./dist/types/solve/index.d.ts","import":"./dist/esm/solve/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"ee1d5c62fb3d24d2f50389ee33f45ae836e90d10","scripts":{"dev":"node ./script/build.js snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/solve/worker/worker-inside-generated.js","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build.js bin","build-cjs":"node ./script/build.js cjs","build-esm":"node ./script/build.js esm","test-jest":"npx jest --collectCoverage","build-types":"node ./script/build.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","test-dist-perf":"node src/dist-test/perf/*.mjs","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-experiments":"node src/test-experiments/test.js","test-node-import":"node src/dist-test/import.mjs","build-experiments":"node ./script/build.js snowpack","test-node-require":"node src/dist-test/require.cjs","build-solve-worker":"node ./script/build.js solve-worker","build-bundle-global":"node ./script/build.js bundle-global","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-import-restrictions":"node src/import-restrictions/build.js","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","web-worker":"^1.0.0","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/dist-static","/snowpack.config.mjs","/src/cubing/solve/worker/worker-inside-generated.cjs","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^26.3.0","prettier":"^2.2.1","snowpack":"^3.5.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^24.9.1","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.3-alpha.0_1624402722914_0.3945940845340996","host":"s3://npm-registry-packages"}},"0.18.3-alpha.1":{"name":"cubing","version":"0.18.3-alpha.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.3-alpha.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"cd98cea21efb98a46eef258d3cd250dd135f1dba","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.3-alpha.1.tgz","fileCount":367,"integrity":"sha512-e9UfAHA75Hjn7eGmmhbnXHaceO3+FEDuwoDNkwbo9MASQv9B8mQ4WEd87TSTL09STZRboNzu5mGBS9Rs9dBRGQ==","signatures":[{"sig":"MEUCIQCEiUoSyEexS9HE5HhKEr/nHSVmso6iLbG1Az5ko5Z1HAIgBptBh9fVlMTQOV9C13pomYVFGCIWuMtUS6syaYUXu9Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15494648,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1PcxCRA9TVsSAnZWagAAH+oP/jE5vwD8zskweavP0oSt\n9Bad01DGjxHpwGcadcAeURhcVrMOcvB/Bfc7F6N+tA+926A86lrMo79jCnTJ\nDx5UO5R4f82Q6zVs4afOHqiC7pUNQ9hoFQuCQAMI48hsDa6BqWS3BAsEbpAF\ngIkYhjeIGVKi8sqrUrEwXCtzACZrEHapbP4cQyOA0gi4mgkJEvEiy0kzOdgV\nsddpxysCEo9cCGVwjldaKZ0DQAfoEuBUZ0HEuGuc3+rBgBaxj0ZmjMHgKsxJ\n0dBH2Ok2028Mnb66MGZygL4HYKH8VOxgUUVqD/ciqlDBbMBkUSZlwqqj4YeX\nO64K/h4stibP/hFPGixHdr3uyCy55b7xRIh2rXyelmkHCo71QaCFVfPiPFQX\n9n9sAzKRaHC+0HmRyIz+wX7hSvKAKQaIK29Xxxq41dupcNrAnn5IKExs0sOE\nZzuxJmgA7STRT0XLvD/E6UzSib290WtyI4AlKcDk5p0SEgdt6XABADRvUkkO\nWzOQ2LsqPawxNyBe2rcPHIqIdV6cYg50Bc5gIzil71aCHBUTAshDFmaX021z\nWL+7ckr7RAYkIkTZb5djErrNp3/PAXVB0FMUZPOUBQjE1+U+8zph9TtSOOtm\n4hklUEbL2EpBtlYlcDuGkOisLl0rmV1VOkTIQIinGZhxDyhQZaKGXMpLlwCf\nHqgV\r\n=lvM0\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"modulePathIgnorePatterns":["<rootDir>/src/test-experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./solve":{"types":"./dist/types/solve/index.d.ts","import":"./dist/esm/solve/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"90f95f8c6417103d8da32d8440813c2715112c0d","scripts":{"dev":"node ./script/build.js snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/solve/worker/worker-inside-generated.js","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build.js bin","build-cjs":"node ./script/build.js cjs","build-esm":"node ./script/build.js esm","test-jest":"npx jest --collectCoverage","build-types":"node ./script/build.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","test-dist-perf":"node src/dist-test/perf/*.mjs","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-experiments":"node src/test-experiments/test.js","test-node-import":"node src/dist-test/import.mjs","build-experiments":"node ./script/build.js snowpack","test-node-require":"node src/dist-test/require.cjs","build-solve-worker":"node ./script/build.js solve-worker","build-bundle-global":"node ./script/build.js bundle-global","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-import-restrictions":"node src/import-restrictions/build.js","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","web-worker":"^1.0.0","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/dist-static","/snowpack.config.mjs","/src/cubing/solve/worker/worker-inside-generated.cjs","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^26.3.0","prettier":"^2.2.1","snowpack":"^3.5.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^24.9.1","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.3-alpha.1_1624569649072_0.19519653232562062","host":"s3://npm-registry-packages"}},"0.18.3-alpha.2":{"name":"cubing","version":"0.18.3-alpha.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.3-alpha.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"e492eccaa65dbf2e83fbc961928e25a2f8cca01e","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.3-alpha.2.tgz","fileCount":367,"integrity":"sha512-x1cRqkvlwMUWUdFsc0Y1ud5pqYQPYauhl4h1+HnV4YiN8NeVrqfx41E0ltZTdLe6MTV70H/yjyx7N9UO0lp0rA==","signatures":[{"sig":"MEUCIQCFWucVGhMAjPHlGLm0SCh2c9wNMlHetV9NZIgxMM3MtAIgbFzO78ZNPbKKeZh9WEq5KIcEjJdGg9nmvUkfeBz8eqk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15502264,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1Rd9CRA9TVsSAnZWagAAbacP/2an7up7FZE8et32seL9\nHjf+73rh4FKw7E5ijhvKZEywCizkoxoZ31uaTo4rEFEtrz495npJwv9pUqBv\n8qx68otcqSUOt1SBAmEEu25MKfaFPiCLDViWKHfoSOpEhZhS1Uqx85UT6zrn\nvy47jAejgt1iuEzxv3fXT5pR9ljPUEw4egCR4Dn4keJGnGY5eu2WzIkK5dON\nhNEEwiGnhJFY2uwCgRYJ/wE+ty9VIcW0dzOgrQrwLoAXsWk8ktmmhIK9MQpV\nhv0XzKHJKl0TH/RQ9/G72RpjoC7i1yfk0bsaXge9o3htpDi+RjiTSevxsBnX\nfA6Nqe852TFkZrYx3CFr4GOp27no52kRi71Y5euEZEdf5PB7vAPtlNOq2c7U\n9wJ6xBjTpY09ts9CggLroOUrSihbt+XVv1q2IZGcMOKrbMhP8dWjPrmo/Kt8\ndk41TU9ampmxJELE5i86W+TkYRLaPlPOif1XtPn3XiKoTSOy0PtYJalvoAQZ\njGCdu3MIpx9qJ0ssPHCoWJ4YAgKkNa6S3SCvgFfQdfib7nuha+54L1faUTDC\nKebhXEhc4yENcdgX56tMUYqmhs+0fmNPav1ne+B14t23Mk/Xp+T4++cZHpo6\nfoaijr9DRQ1kq+JFxKQPXQStYng/zLAHpvI7xiDJylK/lBhf3e1slFnBZYwX\nLMPs\r\n=8GHr\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"modulePathIgnorePatterns":["<rootDir>/src/test-experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./solve":{"types":"./dist/types/solve/index.d.ts","import":"./dist/esm/solve/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"a7ebe5eba385d77d021a5f5831fe1807d93c6865","scripts":{"dev":"node ./script/build.js snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/solve/worker/worker-inside-generated.js","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build.js bin","build-cjs":"node ./script/build.js cjs","build-esm":"node ./script/build.js esm","test-jest":"npx jest --collectCoverage","build-types":"node ./script/build.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","test-dist-perf":"node src/dist-test/perf/*.mjs","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-experiments":"node src/test-experiments/test.js","test-node-import":"node src/dist-test/import.mjs","build-experiments":"node ./script/build.js snowpack","test-node-require":"node src/dist-test/require.cjs","build-solve-worker":"node ./script/build.js solve-worker","build-bundle-global":"node ./script/build.js bundle-global","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-import-restrictions":"node src/import-restrictions/build.js","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","web-worker":"^1.0.0","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/dist-static","/snowpack.config.mjs","/src/cubing/solve/worker/worker-inside-generated.cjs","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^26.3.0","prettier":"^2.2.1","snowpack":"^3.5.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^24.9.1","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.3-alpha.2_1624577916555_0.1118593109201036","host":"s3://npm-registry-packages"}},"0.18.3-alpha.3":{"name":"cubing","version":"0.18.3-alpha.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.3-alpha.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"ac723b09181b53bd3cc70baf8b0dfea6d4b15257","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.3-alpha.3.tgz","fileCount":367,"integrity":"sha512-57fx95lofUB7fTCOy2tfQ1ijwVaP2nfQJc6jzPCVFuGJJ7qq/1+HlfhFfIQgJfmUmPwuX/eY7lf/wUcG95a3Lw==","signatures":[{"sig":"MEUCIQC4QpzPF3A+qKyqU/kz+cmLuVQBqRoGlf/AKLB9S7VlZgIgW3p7dOJoi/C2EnxsGMN0PHRKVnUMS1SA53WwPss3XpI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15502951,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1T3RCRA9TVsSAnZWagAAmYkQAKSE96OclGe9t4jSFYBd\ntylU03dZgPtgD7HHtmFnE743tKt6lyfnHQK3umjQi9UEVoOJRzLo1Jponlhj\nBmeDmCxT1oJcqWtmr/L22jDV/Tgt12klS7us64MbCrlWpo9NRRsxMvRaloFf\n46YnZTqS5W8vtYEetbbEwQvrAy8rhjYwAqFAKFDjGrfBnjczQw3N2/tOjHoI\nrKMH2UKFjycwjOshBsZr495vr9x5WYjhoqqwlTgSaVYoh2lUpPbCicYUKXFc\nfvccVX5jrHd6o2tzk9Gm7hSoby1knWEY/DN/5Y2oyKEjIIXFk3wpzyk1dQy1\n/0XqsME5WV0T8pY7GTG0mIxwzMzgrUSTS8SH6WigfZ+Kmmi06sBASy9eytYF\nkGIwukFbLaPo0kgf2Xi9k1IDhGJSEsmkXOUEFY6sJIaaIZ7LEOLTJMIK4FDZ\nUskzcpQs9HaJQ70FM3J9Vt7rWkfCxa1XqZwVmxb/Olbi3kYZdq1ocw9UPnpJ\nhtH5nXb3ArEFlKdezw7rGjFRAUt5hlpG7C5/GGZG2DWsH3oJR8GHsKGlFwo9\n6dYAZkXbP2xNNGWtWUrU1SctkoNQZNh0pO6dcJGrXuJ7u2NVU3JLrtxfNbbh\nsxRg/WEtmQjzxQ2MwPfdsoTlaI9/flIsFvdKKTTUNzH1SdIVqyKcQNM9WcSy\naKxq\r\n=J1YI\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"modulePathIgnorePatterns":["<rootDir>/src/test-experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./solve":{"types":"./dist/types/solve/index.d.ts","import":"./dist/esm/solve/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"63db8ca88bc9cdbc7ebf1505bc12dae16aef8283","scripts":{"dev":"node ./script/build.js snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/solve/worker/worker-inside-generated.js","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build.js bin","build-cjs":"node ./script/build.js cjs","build-esm":"node ./script/build.js esm","test-jest":"npx jest --collectCoverage","build-types":"node ./script/build.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","test-dist-perf":"node src/dist-test/perf/*.mjs","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-experiments":"node src/test-experiments/test.js","test-node-import":"node src/dist-test/import.mjs","build-experiments":"node ./script/build.js snowpack","test-node-require":"node src/dist-test/require.cjs","build-solve-worker":"node ./script/build.js solve-worker","build-bundle-global":"node ./script/build.js bundle-global","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-import-restrictions":"node src/import-restrictions/build.js","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","web-worker":"^1.0.0","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/dist-static","/snowpack.config.mjs","/src/cubing/solve/worker/worker-inside-generated.cjs","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^26.3.0","prettier":"^2.2.1","snowpack":"^3.5.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^24.9.1","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.3-alpha.3_1624587728702_0.9702591073629467","host":"s3://npm-registry-packages"}},"0.18.3-alpha.4":{"name":"cubing","version":"0.18.3-alpha.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.3-alpha.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"28c62fd7a5f0fc0bfaa280c9597ab4af07d6e80a","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.3-alpha.4.tgz","fileCount":782,"integrity":"sha512-JU1JeY74U1FFbF4l6Z3FTwcMQ7qfzNFaWGCi10qIz79qn1tRHWN8A/2ogBm8tyHNUXo4ZPqUcsdorMswBDWiJg==","signatures":[{"sig":"MEYCIQDJryuai7ZX+whlk99G+WM5QCU/3PLK+wvsa7LS0jKsIQIhAJVUl/Xt/eZgMKqp0lHbzgugfrJCa+R7cDM+mq8kEPq5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10610392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1dICCRA9TVsSAnZWagAAajQP/1qL0Z87K74Fjv/ENxTU\n02wwSNaZd/XCJq2tRUEKTxqWqy2leipYi/W9YKVk1ptATAtNRd+O+3Y7InNn\niHk9jNG+/ntRBgxvUYzXehjUOgZVoiEM2dl2txX7zOJ5DemHO6GhODrrJy93\nQXyy40KJFPapUu2yZKJ27/8Z2E7fd1jNsMFIsdS9Kl3GFucvSQbLUoAJS8Bc\nn0DFEFlXj0p53gee+Y0+GMa5jrwT/82ne0JLH/5WUt/aM2nFhVfU9owJH02R\noKRA1A8MWobdLeEZfrvxQW9U8qQJm7j6DaBT59SoIWXYd0rX7p5yU6lHV3FZ\nu0nZ+3aH3+zDoRFqv0Gk9AX3MVmEvkyxEi+AKGJVi5GjLVbub9O8aKO+qbR1\nNUaw+23T1aukR1dEPtyc5yikydwFYw7AvDizla4W0++rFxR6UQkzgu1Cy/ob\nvdxwQrpu/1EpA4vKP2c1ctyCacC6H+AeF13H6iZLOZCK6epJvA7e7em1dVBA\nog9UWh0huXPWvb8h2fWSBkWu1C8NPIRHsB+oMucNyjRYn+AjnIMdp0wNDKDT\nwfvPMpVQclcVs5NCXV+y2upbPiNGeO9nX3NJC8xIrbZCQk/FL8zmpDqIZw2V\ng3e9KM32WhBq+qnwY1J1tO+FBQaVDpKuE6INBRhs7PGWut/IDXI0vzdANSjx\n0+f4\r\n=FC1L\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"modulePathIgnorePatterns":["<rootDir>/src/test-experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./solve":{"types":"./dist/types/solve/index.d.ts","import":"./dist/esm/solve/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"95443719097060d665b41e3c4cf337e9f22c047a","scripts":{"dev":"node ./script/build.js snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/solve/worker-inside-generated* src/dist-test/parcel-test/parcel-package/.parcel-cache src/dist-test/parcel-test/parcel-package/dist src/dist-test/parcel-test/parcel-package/node_modules","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build.js bin","build-esm":"node ./script/build.js esm","test-jest":"npx jest --collectCoverage","build-types":"node ./script/build.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","test-dist-perf":"node src/dist-test/perf/*.mjs","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-dist-parcel":"node ./src/dist-test/parcel-test/parcel-test.js","test-experiments":"node src/test-experiments/test.js","test-node-import":"node src/dist-test/import.mjs","build-experiments":"node ./script/build.js snowpack","build-solve-worker":"node ./script/build.js solve-worker","build-bundle-global":"node ./script/build.js bundle-global","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-import-restrictions":"node src/import-restrictions/build.js","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/dist-static","/snowpack.config.mjs","/src/cubing/solve/vendor/implementations/3x3x3/min2phase/gwt.js","/src/cubing/solve/vendor/implementations/vendor/random-uint-below/get-random-values.d.ts","/src/cubing/solve/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.5.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.3-alpha.4_1624625665274_0.7161887694317552","host":"s3://npm-registry-packages"}},"0.18.3-alpha.5":{"name":"cubing","version":"0.18.3-alpha.5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.3-alpha.5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"6fe00439138f0270908f51cf8e20a68e2fceea7d","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.3-alpha.5.tgz","fileCount":783,"integrity":"sha512-nFqd7s8UBV8KJZb+RCtxXdHwPJHNonvWlMYWGfCWUDUf/haQscPhsJQxqVBsJdJlCdKvFgnZqqkzhaL5uWXC3g==","signatures":[{"sig":"MEQCIHCrtCloEiyRR4K+1W4ipKvn3tRanab4G/VrJiwHT1j7AiBnxmgb0zn1kdiRCvBjPTgZ6yvlL9h7TrqVb6kuylixeQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10616528,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg19vzCRA9TVsSAnZWagAA1L8P/jcREXos4fuMuZSqhjxJ\noeTokCtYQiUGfthkjTyiUz6biwg81IRl6IGM0cYBXQ1lk76UmsVqeSWD4nBy\nz1SjSyxMGVoblkmFmTABrL5flaru9pvyyd8p+W1BLqc3N5ynF3erygKrWHDi\nA1dkrbKElxL1X+GpZe+wqXpjs2PXjkO5Tc5qiAIc2xBAX8WOsBq4QbyrT6RS\nAqoDCfPgc7mS8aQDHcV6wrpS1/j6z42qYRl/+JVCYZ0bi++7ZRCNkvpx2+JK\nNtDbRYsXJ7TeeFqEc2rZp9RrOkEzri0rY8Y4gtXFhmbHBCBxXtdibdYkr8pK\nXJDVAm4vSRHGBjZ2kmqDxMw2twaZgNYSCGpz1SuNCramMjeP1dz5VoxWL6oE\n9o9lyao8Hb04hYh+jZku7OPlDfG5ZwcU6hd9gzXcTleIN+EokCFubTh7a1S3\n9NARV7xd5JNTzGUpCJ+Psaz71m/RER8oHyTUFUbkeYo4t/W2lIvq3DAfeeaX\nSlC9WB0PrSIOYk8JFUU1BFDwvQZLRydMTeiHdrPcltRw106T3n4qfeVVm/Ui\nsfegHs2WRqACC03B2shbhiMNZvqgb1OSuhyi+5XivHq+pTnrGdROqdvOVZc9\nvj7IdKxn70/ydKWADcfv6wwClrdaODOWJfVyHfO7DsfmJilVUgpPLKCRm6kO\n4hd3\r\n=icG8\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"modulePathIgnorePatterns":["<rootDir>/src/test-experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./solve":{"types":"./dist/types/solve/index.d.ts","import":"./dist/esm/solve/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"7d59836a949988c3ee3db5d0c697f272e9eeb86a","scripts":{"dev":"node ./script/build.js snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/solve/worker-inside-generated* src/dist-test/parcel-test/parcel-package/.parcel-cache src/dist-test/parcel-test/parcel-package/dist src/dist-test/parcel-test/parcel-package/node_modules","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build.js bin","build-esm":"node ./script/build.js esm","test-jest":"npx jest --collectCoverage","build-types":"node ./script/build.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","test-dist-perf":"node src/dist-test/perf/*.mjs","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-dist-parcel":"node ./src/dist-test/parcel-test/parcel-test.js","test-experiments":"node src/test-experiments/test.js","test-node-import":"node src/dist-test/import.mjs","build-experiments":"node ./script/build.js snowpack","build-solve-worker":"node ./script/build.js solve-worker","build-bundle-global":"node ./script/build.js bundle-global","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-import-restrictions":"node src/import-restrictions/build.js","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/dist-static","/snowpack.config.mjs","/src/cubing/solve/vendor/implementations/3x3x3/min2phase/gwt.js","/src/cubing/solve/vendor/implementations/vendor/random-uint-below/get-random-values.d.ts","/src/cubing/solve/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.5.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.3-alpha.5_1624759282226_0.9276521254120513","host":"s3://npm-registry-packages"}},"0.18.3":{"name":"cubing","version":"0.18.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"4c6a89a9b7499dc603d519672dedd9507afcefa0","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.3.tgz","fileCount":780,"integrity":"sha512-4ivE3TIe5lDREldQx1qr+CdmQSEnizH1Qvnr3MeQK1wxQYt1GM8B7+ViRwUGV/NY/Ws5uJhIBeVdNdJ+vMdpVg==","signatures":[{"sig":"MEQCIBxvO9IPX/UREfFk4N1nETURXnJ+LrfFiTWIYGsd/dlLAiBQWrmT/tciSCGe+f9/HPno5WD7ukPJ3pGn29QBIteJlQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9694643,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1+qYCRA9TVsSAnZWagAA7GMP/1jval2yyQO+aThM/7GP\nZiHyFRbrG6qBpvinTtedw59LngiEXeRRdR2qOe1m3X7+WlMANVoLl5vlhiFb\naO1ElYPicecNuavczPETlJABStkBEb+6uEGRXSCboej0dLKzyTsFCySjGDr1\nw7sdyicfhWTnvmHnm22+WLqXwgV6tISbaAmB5pz8PPX2iYNm5eigxgqigFlr\nxkG+C1+NGEQhA8vbHd4OMyk5vCT3mIvzUF7KRpjBtSZoAuQQ7T9qzzIiiqv7\npj6gerub6LK3/cR4Kcm9/0kwm3FbdWTO+gXfh9iio0t57DE0YG2Km4vFvmi2\nJW8IrRnwRVeaNHzkmHymR1Na3bdCs7Luo7Qxb5YD6aeyXu+oNQci0jjj/QI9\nXxdmq471LZD1QovpSnjZbEMR5aF1KHVB1qvy2wvgbaib1sQbOPzHRm1J96Ae\nz2C7pSva6vicqpipO7zEKwqeLWvjv5koPMwnIrZRpi7ogdMg6tMVzf0hS0Xj\nU1Ytvfz/r/tIzOy65zujSjH7SUTA6XWTHd9MGVfnWpQQbbJHGnqX2q1oO5uZ\nKHHFZb2p5tc/hurULidTCxiIq89xvxV+dml+Gs1yvVtpKjQi02Ei5ooghgHm\nBYhqRXj5eZ0A2iHgke0u4tGLeunq0iQz7LQUjnurUquh2BhHXx4jyG/NdyOc\nv/AO\r\n=J6l1\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"modulePathIgnorePatterns":["<rootDir>/src/test-experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./solve":{"types":"./dist/types/solve/index.d.ts","import":"./dist/esm/solve/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"320856a33caeb786e31743a719f50826f0cf92b1","scripts":{"dev":"node ./script/build.js snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/solve/worker-inside-generated* src/dist-test/parcel-test/parcel-package/.parcel-cache src/dist-test/parcel-test/parcel-package/dist src/dist-test/parcel-test/parcel-package/node_modules","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build.js bin","build-esm":"node ./script/build.js esm","test-jest":"npx jest --collectCoverage","build-types":"node ./script/build.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","test-dist-perf":"node src/dist-test/perf/*.mjs","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-dist-parcel":"node ./src/dist-test/parcel-test/parcel-test.js","test-experiments":"node src/test-experiments/test.js","test-node-import":"node src/dist-test/import.mjs","build-experiments":"node ./script/build.js snowpack","build-solve-worker":"node ./script/build.js solve-worker","build-bundle-global":"node ./script/build.js bundle-global","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-import-restrictions":"node src/import-restrictions/build.js","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/dist-static","/snowpack.config.mjs","/src/cubing/solve/vendor/implementations/3x3x3/min2phase/gwt.js","/src/cubing/solve/vendor/implementations/vendor/random-uint-below/get-random-values.d.ts","/src/cubing/solve/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.5.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.3_1624763031847_0.4980177799549157","host":"s3://npm-registry-packages"}},"0.18.4":{"name":"cubing","version":"0.18.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"1edebeb15a1296e885e64984fedbf3de554b0348","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.4.tgz","fileCount":790,"integrity":"sha512-OGNbrIULZyxwDmTDyX/T2LT8M5ZLjyfBsTJnZZCL16CqG0S40bxjvCc7WQQXhhTESB0kERktLcvRy41aplpEig==","signatures":[{"sig":"MEQCIAopsW1cbMoIFEhPeM0RZQUdVCxRb9LOq53M8n3GY2AaAiBDssCJu+YW3ImnxrSnMmqlPKbYqCQ45urI7CFthZkR6A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6512718,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg25kuCRA9TVsSAnZWagAAk4EP/iArzjlWNqHwIr96gFKW\niy9LfZXk7++rPiYPxO6IQiqf0NvCVwXocUYM+73bvBjgc1gv4nw59dhQHWgg\nCxoOGgCblE1KE4ZROmsKO+l9rdsx+HCejO1/w3uhyDk/ABihpcyWcOWMndGk\nxpuujay6WQ+qT9DHW8FA1w6X1byIfD+i3so58xLwuCTEXSf4QKlSa7pZUqve\nNOG3PQfZBNs18t3oSE0rHgsf81UTXL4P04XxBWPmS7ldMSPp6gRAf1xf3iW+\nAgwjmorY6XAq5V8Qhrpp0tcYrZf4YhAZ8IgnJnhyYX6n15Yw0Ef+n05G0f4n\nQoEWU4ybm0oWlcTx2A816rpWC3GEiNP2embI5K6LR7iLj7uIWsSTpbEXdqRl\n5mx82xiJJlAnmGwfVHkbBAAdSPyDeIeVoU8ufuWsuf5SX9nrkNb5GF8kDpIr\nLmp3oVkFB1f0NbI9hxVTRsnOU35eShimRW/swgZrMwNycP0/7mLT2i+Dwzkc\notrW/MsM6bYnUR15W9CG/SF7j/IWhAtFIXR/6qkOiqZjyH6kNRJn2GqlUYq6\nPgZtKmw8cxmSvfhc2yv92ou/wROan1/jYMdRpHFwppdFNwT1T2FgemqOSf/N\nwYQpYYCB1PAI+RfR12mdYo4RNnmp4kf6wvgKH4SaMYXGeNtXmlY6Yw3G3Ps/\namKu\r\n=Z0jS\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"modulePathIgnorePatterns":["<rootDir>/src/test-experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./solve":{"types":"./dist/types/solve/index.d.ts","import":"./dist/esm/solve/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"f8794d79b638ffbc0dc7d0a36e39a63edf003ff7","scripts":{"dev":"node ./script/build.js snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/solve/worker-inside-generated* src/dist-test/parcel-test/parcel-package/.parcel-cache src/dist-test/parcel-test/parcel-package/dist src/dist-test/parcel-test/parcel-package/node_modules","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build.js bin","build-esm":"node ./script/build.js esm","test-jest":"npx jest --collectCoverage","build-types":"node ./script/build.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","test-dist-perf":"node src/dist-test/perf/*.mjs","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-dist-parcel":"node ./src/dist-test/parcel-test/parcel-test.js","test-experiments":"node src/test-experiments/test.js","test-node-import":"node src/dist-test/import.mjs","build-experiments":"node ./script/build.js snowpack","build-solve-worker":"node ./script/build.js solve-worker","build-bundle-global":"node ./script/build.js bundle-global","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-import-restrictions":"node src/import-restrictions/build.js","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/dist-static","/snowpack.config.mjs","/src/cubing/solve/vendor/implementations/3x3x3/min2phase/gwt.js","/src/cubing/solve/vendor/implementations/vendor/random-uint-below/get-random-values.d.ts","/src/cubing/solve/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.5.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.4_1625004333741_0.7498194184379536","host":"s3://npm-registry-packages"}},"0.18.5":{"name":"cubing","version":"0.18.5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"448c667f6a1b672231102817f43b6ddfd7e2ffef","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.5.tgz","fileCount":789,"integrity":"sha512-RWJ8sJFfUd1d8K0rSSzU+GQY/nsUpPxkjB5FD5cVo93QlXV+MYllUutv/pJ1xGPs9G+5KU5F2NOFvRRFRdUwXw==","signatures":[{"sig":"MEYCIQDHvM8jFnrtGW1hNcB/jPsxdtDWKVYsNb45HRF0YLTfSQIhAKJQhk/fih//DifUDoYXvvcZy3ls+Voagb7JiAwWBFhZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6515615,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3RVzCRA9TVsSAnZWagAAxXQQAJAMtoBQ/IQOpsN3vHiG\n0RKj91U3/ZqYAQ5DxqsA8fkhsWOJV5lL+BOSHod7E6oW9cDdW1vPP/QB6Gxc\nxGjoBI4pHMD6IKFcv2MgKA+yWniOSVvYf0L74MYRixrxwE2hqmAg3b37Kmtv\nmJiM1ja0iY2e0WbNzkDpp1DrELsGFpISsmo7fRZAyW44Z3RbIBZ3RRq7qZSE\n0d/44Kbfmgw8ZLOL7sfVG58hak7SSjH3JKo7ORqkFGw063EzRPop0UnRcBs/\nPJAxJ71mjglDTenQemekQrRzh07V8Lbeffa2KEY6xoLrVGck6TKiNFteBKaB\nmDKQTLiuC/tRyebvSmMEZikzg6Lbb//hLbXnyraBYiUc73znmpt+N7abx/yI\ni4qMCOcNWvwaTg18CELRKVmkioemgGyDGMkJP9ynOvZsfRxsEZAIgRLM5zc6\neS7a5Oo93FaSF/K/AyPnSTpVp6A0t485oK2bpKE5PVRvCReDA4h1B69n05x5\nSxS53ZikSCP1g2k3M+UZSyTxvCPzl6eN0TcJBsivv174S/dgzrNwGtYe/n6V\nwUp94oI4uuVyzjE6NKn1THdJ5Uu8UR913b54ui2B/BBfIKyIuxAw1267wvSl\nKgUEgQq8L2LrhxFvaNleRIkMGT2/N5p8UWtykqUihyioYRJbqF0Pv/aACP1l\ncq4f\r\n=qoYF\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"modulePathIgnorePatterns":["<rootDir>/src/test-experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./solve":{"types":"./dist/types/solve/index.d.ts","import":"./dist/esm/solve/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"87d79dd5148ed91869f226938183f1ae81f5dec9","scripts":{"dev":"node ./script/build.js snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/solve/worker-inside-generated* src/dist-test/parcel-test/parcel-package/.parcel-cache src/dist-test/parcel-test/parcel-package/dist src/dist-test/parcel-test/parcel-package/node_modules","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build.js bin","build-esm":"node ./script/build.js esm","test-jest":"npx jest --collectCoverage","build-types":"node ./script/build.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","test-dist-perf":"node src/dist-test/perf/*.mjs","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-dist-parcel":"node ./src/dist-test/parcel-test/parcel-test.js","test-experiments":"node src/test-experiments/test.js","test-node-import":"node src/dist-test/import.mjs","build-experiments":"node ./script/build.js snowpack","build-solve-worker":"node ./script/build.js solve-worker","build-bundle-global":"node ./script/build.js bundle-global","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-import-restrictions":"node src/import-restrictions/build.js","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/dist-static","/snowpack.config.mjs","/src/cubing/solve/vendor/implementations/3x3x3/min2phase/gwt.js","/src/cubing/solve/vendor/implementations/vendor/random-uint-below/get-random-values.d.ts","/src/cubing/solve/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.8.0-pre.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.5_1625101683096_0.4934765566674355","host":"s3://npm-registry-packages"}},"0.18.6":{"name":"cubing","version":"0.18.6","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.6","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"93238071087948b2642550ddd8542ce0f8c6257f","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.6.tgz","fileCount":802,"integrity":"sha512-a3NDSqWX8oUYuzC/ehqzHdkYzblvyWs3qbPgw0COAe8lVe4kvOVfRQtiCPXyPXSqi1NqO6CByLTZdujAogwV2Q==","signatures":[{"sig":"MEUCIQDD1j0Lu8svMKxOCSYhPrR4uwm4mkrM7dS10P95chxYAQIgHyvD8C6E6xnXtLJVgMnkT7LbtamfLMWQag5Gkm2S0rQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6556999,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3ZgZCRA9TVsSAnZWagAAO6QP/0hR87vkbnpmqs74En5H\nROV2ZJDI42rapAaRqUa9O1D//V6bNPPcZTpLw3rwemVHMi0uA4b7mU5swde0\neZZx5T5d5IhZBYE3MbqfCNjbX3dlgdrmnCIRYKnXKaR3Tfp+UYTFoB/Zr6rV\n1VIdF5JZm7iQaPoM/1Z0PImfaxtDqEYx29bf8zEsjsD93sKLjBobMz38ER/2\n5xfTOxRzWUsQUkEcyQ2Wl1fUfKkmqiOSY3an2hHTnZwEXCGFLlK72zTgb/MC\nHspDjGMUoLOswk/d9lUpaSWB80aHG5IbIBLyvY0LoYZiwXdyBh1IvvChW0zn\nwIGwr1xnm6kENZHThMuxL8HyzemKgCLTsWLQu80fPqIJ4JinNMjcIqV4htyY\nH1P2eetDKTnJqJXtDf/zWDe/Fph8zcztFe066GfNzjFT3Eu+A/HAP1LWdAGT\nKOOPmWnKlImBJ5tfxFxjT5/71uWDM44fYbR4An31L5XsXxgs05nhAJ/jrQJ1\n1IkUeYDKwQJCs5fYjaciEAc4iT5URQpEee+nEkzkjzts7RBasb2WAF2YylAi\noXOx2hTTv3ucqLaVKyGVlRpowX/f8703a5O0C8mxcKqYbru6wIDbTFde07hm\ng6QLquwfupQFnigdJTIr+UxNOoVDvGEEeNrL5Dwco5x8h+9UwI4GM8arBfMS\n44T4\r\n=bDdO\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"modulePathIgnorePatterns":["<rootDir>/src/test-experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./solve":{"types":"./dist/types/solve/index.d.ts","import":"./dist/esm/solve/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"ded69cad42a2cba65ba4340eb852686d59eabde7","scripts":{"dev":"node ./script/build.js snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/solve/worker-inside-generated* src/dist-test/parcel-test/parcel-package/.parcel-cache src/dist-test/parcel-test/parcel-package/dist src/dist-test/parcel-test/parcel-package/node_modules","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build.js bin","build-esm":"node ./script/build.js esm","test-jest":"npx jest --collectCoverage","build-types":"node ./script/build.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","test-dist-perf":"node src/dist-test/perf/*.mjs","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-dist-parcel":"node ./src/dist-test/parcel-test/parcel-test.js","test-experiments":"node src/test-experiments/test.js","test-node-import":"node src/dist-test/import.mjs","build-experiments":"node ./script/build.js snowpack","build-solve-worker":"node ./script/build.js solve-worker","build-bundle-global":"node ./script/build.js bundle-global","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-import-restrictions":"node src/import-restrictions/build.js","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/dist-static","/snowpack.config.mjs","/src/cubing/solve/vendor/implementations/3x3x3/min2phase/gwt.js","/src/cubing/solve/vendor/implementations/vendor/random-uint-below/get-random-values.d.ts","/src/cubing/solve/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.8.0-pre.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.6_1625135129363_0.7271425657613082","host":"s3://npm-registry-packages"}},"0.18.7":{"name":"cubing","version":"0.18.7","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.7","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"0756e0144f46212026f7ccac4868a73d6144951f","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.7.tgz","fileCount":808,"integrity":"sha512-FU4YYrozifLd/nvfDqx9dLOUbyqMsoHWynweB0tDK6fXrwvtnqPanDK5x0nJJgOYAuuu0ZqjlLzah88oxeOzAg==","signatures":[{"sig":"MEUCIQDuxQsptcT3G0LlVGjcz2CR3ZY+5Uawk9TakyATV95nVAIgYXxOC8b47xFBsFOloaoFK8luALlvvwvsrZ6pYDhf/GA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6596024,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3aJ6CRA9TVsSAnZWagAAKuoP/jSiskNAYnfMU0LjaA5Z\n4Mx2ihiTR/ECWjTIbyTTqxuoEdbF0uNPqbbaBmvd35LyZglkWmdoz28MNXSn\n17WUyJ7hV/nmIt0sPlzzqlKVuJHFze8/iPeatPkHJMsAsuO03fYDgAQ0W4YA\nhwYvI77NbEtXWpLYNuyzccoi0PJ00EZi5CJsK8n14Vi8Z03cKpRlCoJJezkx\nyHqEKAtU8k9KpPk5c2g2D2hBPGXx1/chLwugE/RhfDwXF7N73MMvZhUHEaaX\n3/Ga8H1YA0MS7k03P5fVr8zERLVAaP3auuJ0hGLv8jubdJjR5twlmxqR5++V\nMS7hN0DXftY6zCta/pgP+OfTn3gmK+sBflkjsv09XCP1jGaHQZSkLWmy+YN2\n/mKjXBlLrSadgjrIxb2HxMhUPHNkmPTfwLzwQmWlSIt7R3k7RlXHisq5qp69\ns19C9SiHDyKxe53qBgA3AnSLXnZsNUjlwOupxYa/ufj03tcdmSVRVMSPqIiN\nCG/vf6LM3vWBmrgRv0zCIbDmkFQqgaRbNF14m1eA3OM/GLB4u9qV5p9W1Jws\nwGRtwvdHkHLcGsV8DqMKgMDyNayG5Pe5fA4KuUX9BzpFZvdueIy9y4V19pOZ\nGDdfmUT/IXnwY8zMHllVqrac4dJ8GxU7uTRKFSjdphHXGq6oE73uqydiZyiO\nhRk1\r\n=U55X\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"modulePathIgnorePatterns":["<rootDir>/src/test-experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./solve":{"types":"./dist/types/solve/index.d.ts","import":"./dist/esm/solve/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"119c2e0253c547f9fabdbf95c5d6bf1b6b153443","scripts":{"dev":"node ./script/build.js snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/solve/worker-inside-generated* src/dist-test/parcel-test/parcel-package/.parcel-cache src/dist-test/parcel-test/parcel-package/dist src/dist-test/parcel-test/parcel-package/node_modules","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build.js bin","build-esm":"node ./script/build.js esm","test-jest":"npx jest --collectCoverage","build-types":"node ./script/build.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","test-dist-perf":"node src/dist-test/perf/*.mjs","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-dist-parcel":"node ./src/dist-test/parcel-test/parcel-test.js","test-experiments":"node src/test-experiments/test.js","test-node-import":"node src/dist-test/import.mjs","build-experiments":"node ./script/build.js snowpack","build-solve-worker":"node ./script/build.js solve-worker","build-bundle-global":"node ./script/build.js bundle-global","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-import-restrictions":"node src/import-restrictions/build.js","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/dist-static","/snowpack.config.mjs","/src/cubing/solve/vendor/implementations/3x3x3/min2phase/gwt.js","/src/cubing/solve/vendor/implementations/vendor/random-uint-below/get-random-values.d.ts","/src/cubing/solve/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.8.0-pre.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.7_1625137785976_0.7655103809404731","host":"s3://npm-registry-packages"}},"0.18.8":{"name":"cubing","version":"0.18.8","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.8","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"cubing-screenshot":"script/bin/screenshot/main.js"},"dist":{"shasum":"751d056eef77cfb693343a169a3e038c02a5d2df","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.8.tgz","fileCount":807,"integrity":"sha512-DoO6+ydpD2r2bfhmS4sv2GcxqtGfvtADY18E62krwY8IwCJ2mI8AlmlUoOByKrm3CaM+07OXtjTXAXThAPvMSg==","signatures":[{"sig":"MEUCICxW6wVn0I6G5Np9Ltlww55L7CI44GTU68REcCB42ASEAiEA3bwd18ZsmS8EHsnn2W8oQ2ltoO1rUTtYLhvRzji+4SM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6588296,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3p7XCRA9TVsSAnZWagAAXYQP/2gysZapVwLcXl3rtknz\nGAolf7RrKrqAvwZBfgmqjD4E6mBB6CzMqOVgR3lyinfC9SRmZG4TwkD+pBhN\nskz7NjKgZTATbAyfEdJ3Ix47Ok9BdsGD6Tj2hC9peOLE8meg2+ux4qc/35XG\nWp3lUued7/U7lybMFrAtC76XcYwrMCHFic/Z4yddP+lpRCVZ246Izlmmfvb0\nFHUo3H/I/CrtEGaACZRtBUJIOzOCFbTQPFSDA97NMfj5hzbCZxdqeNlNcYsL\nPAG8qtLIWLdp958IFumkBEFdDhdTeDPACJMDCgirD8CtmSKVvXM147EF9l2d\nyVAsPLP1uM1d+t3B8pCAWIGHmDCRapb30utjWrusdxEkSB0eoTvP27s4nIgb\nDX2OiU5k1PWuXAxFQ9R9+4yCTEMKi5y8GXkXuyJ/yf1OoS+7+wNMOLZKC9vA\nNa9Kj5nbUtnf1huiW77kcpN1vFB6fLatQTnPlSNgknF+qkZWsEQ4IyJV/3Wi\n1Wx1u8z9Ep+lIW7TxwJuQKoy99kNhdq1J6VjdMBRLM5JAen8asclI9W/Auj4\n2lf50wh+BXLq8RYQxrI3aHNZVXhh+ysQ6CnRyeNR29LhZhcre2Or9K5GpNob\n0XpOJHsQBGxxD0SKC2JO9RI6Qvvos8j17+c3VH5jDDhda2lMwHVRudHn+pYY\n1H1n\r\n=4AQH\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"modulePathIgnorePatterns":["<rootDir>/script/test/experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./solve":{"types":"./dist/types/solve/index.d.ts","import":"./dist/esm/solve/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"5ae61de2bfbb1135b1236e900ad68c6aab82ae95","scripts":{"dev":"node ./script/build/main.js snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/solve/worker-inside-generated* script/dist-test/parcel-test/parcel-package/.parcel-cache script/dist-test/parcel-test/parcel-package/dist script/dist-test/parcel-test/parcel-package/node_modules","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-experiments":"node ./script/build/main.js snowpack","build-solve-worker":"node ./script/build/main.js solve-worker","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/dist-static","/snowpack.config.mjs","/src/cubing/solve/vendor/implementations/3x3x3/min2phase/gwt.js","/src/cubing/solve/vendor/implementations/vendor/random-uint-below/get-random-values.d.ts","/src/cubing/solve/worker-inside-generated*","/script/test/dist/esm/parcel/parcel-package/**/*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.8.0-pre.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.8_1625202390454_0.5055132305816608","host":"s3://npm-registry-packages"}},"0.18.10":{"name":"cubing","version":"0.18.10","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.10","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"a211164ebdc24a3154d50248c9ba854300002c00","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.10.tgz","fileCount":811,"integrity":"sha512-w10FpcEcgh5/igdL8UlZBRwsuDF/7Wo8SbdOLSu2RbDKJYW/jsX2VQhGV2uJ6f5SiQOdFR5YynG+FDVGUcheew==","signatures":[{"sig":"MEUCIEsSWxDQiDokcuXG89Bhu5cx4FNfq8eYSxaWQHCqswc2AiEAhEPjNWdFozIJ7kWgKBwg+j1c2qxzMTmaRL4vJyUdMmE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6762268,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg4R6xCRA9TVsSAnZWagAAZD0P+QBKWJKkacJUr+uVJkLK\nDE7dvGk4gi2qBWXQhAM54DlX7PaQsn+HOERToCHUAXoufy6AafNekzo8c+vv\nghyxofKkIZCkWbl3wAnGyFC6KWVa2abZfT8BHrK/C/VFSMK5UMq3GBS4viVt\n4WL0tukQ8sTP27dmqd/Fsq1dNRCxPIljidA9XOwQTjvIvTW4ye3QgQ5ZaC4G\nynZjGBHzi11wvn25H/3w00iFHbIKNQ85OdMETWp3aw3vojf2ol820h/P8XzR\nTKO4A/1Kq78XBEHy/t3eCvsKAVM203PhCdyH0NzbnN+T0IPMHdh2JIKjuzmS\nAsU8qr4LTTSHfd0KMOEpkdqcZhWnkQdsuIsWiC6IQhzb8fgUKCdQk6jXubJq\nDJ93L2nrdfREKS2l0zQ/YrJlGcdkYne8nAIGAq7K3YnTrsIU62LSm59VemQA\n++78zizCD9Ot+wcVvysKEVw4K9jLVMg1Lom5HZMwdVx+rCiYAoyunNmpf90e\n4hCOMPBqKG14ZE8+0eZt3lCbSL11hf9ZG0G9ziVXN0kVj8m0Td03skTpB4vO\n60jrJBK7pPZG2LhTCMJB0dbgUVG4w4r3A5CvKA+pklPUC25abMa2H07Y/FJG\nAXM7/GNkwNJXlPuM7SRNrG7HFjjucDQ/yIckN8xIcEpF4bjgEc4jHLoB9u0S\n/l3Q\r\n=QyCY\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"modulePathIgnorePatterns":["<rootDir>/script/test/experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./solve":{"types":"./dist/types/solve/index.d.ts","import":"./dist/esm/solve/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"2c89a039955aad8e14a238fd2ef9496288a538cc","scripts":{"dev":"node ./script/build/main.js snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/solve/worker-inside-generated* script/dist-test/parcel-test/parcel-package/.parcel-cache script/dist-test/parcel-test/parcel-package/dist script/dist-test/parcel-test/parcel-package/node_modules","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-experiments":"node ./script/build/main.js snowpack","build-solve-worker":"node ./script/build/main.js solve-worker","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/dist-static","/snowpack.config.mjs","/src/cubing/solve/vendor/implementations/3x3x3/min2phase/gwt.js","/src/cubing/solve/vendor/implementations/vendor/random-uint-below/get-random-values.d.ts","/src/cubing/solve/worker-inside-generated*","/script/test/dist/esm/parcel/parcel-package/**/*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.8.0-pre.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.10_1625366192907_0.7303402998194897","host":"s3://npm-registry-packages"}},"0.18.11":{"name":"cubing","version":"0.18.11","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.11","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"94483be482584c2b80eac5847d8a606c41ab80da","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.11.tgz","fileCount":813,"integrity":"sha512-AfKMI7CqzZ7mMUMyzQprfdaPELD0KUYg6x2zyS89jgsSM9rA5CpAvg7blW2f6zMGy3i70cdYpv+Uf0SgBHlBuA==","signatures":[{"sig":"MEYCIQDkbry3AVYJL5Uw0gqMR8XLmFK9JMB5nc5MO8u5l3r7MQIhAILwGwLCKZ8trjELaiBgiaUwxQJBPOtC/t+93p11yeDE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6776243,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg4VIxCRA9TVsSAnZWagAAlm4P/2Y5a98msvoEeEwptFDk\n0nK6NS1RmGn+xNqgx8whh9pI0dVfZJwml2gUv8bkjcU/dgAMIFdcM9OXX+gm\n69UO+YG1o0vzD2b5m4Z4cUICMLthMekbXYSgTgvG+lLSw6Kg6FknChexH+yI\nBciSIyJ4sivGUuT881ONhzpySjHzEs50C2awDciO2TYFzXecdPisKF4fivth\n/fgIw0MR/10pTabaMsMMM3hk0aqCuQS07lPwg8jA0CItroU1JiYt1IzvPTQD\nnwnAnkNA1Al6iaToQMIWkTGvXSXND/I0/MWCdIR0Exsw5enG+ngvTnHIDfnj\nIv6ng6JVVaylfzzpPD7QlT6+4Cv5YtZ7ZEdlG5wNSDLG+sax3dbgYT583kSB\nzA6/gTfwb+P+ncGWq+mFj0Y+rDkopMMb9bkDKZ3YiiAk5LbEAlcRioOF3koQ\nb/FnSh0JdnkMqrMfGO8nf1o3pGw5l+NU1wbtFwMyWt/6xDISJ0kr0APSjWoD\nzbs56TvJvJBohaH7L4yIRxSkC0kIWNk503yrbr2GwPWd8IcqYeJUPSiDbO3I\nDvD35nMDl/w7M/lUI/vuG6sr8PFbEIqrKoFY8ClTObXRgUbNqBciV54hf57z\nubZ5bG4Z4EFRKNFoM0gtW1y0X8vkwBLZz3xyVV4WXjhlOFPGdHv05uIv8nKI\nNWhq\r\n=SvAM\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"modulePathIgnorePatterns":["<rootDir>/script/test/experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./solve":{"types":"./dist/types/solve/index.d.ts","import":"./dist/esm/solve/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"cdc1d2d20ca975708d166c9ac45c5111f8ab1d96","scripts":{"dev":"node ./script/build/main.js snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/solve/worker-inside-generated* script/dist-test/parcel-test/parcel-package/.parcel-cache script/dist-test/parcel-test/parcel-package/dist script/dist-test/parcel-test/parcel-package/node_modules","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src */index.d.ts","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-experiments":"node ./script/build/main.js snowpack","build-solve-worker":"node ./script/build/main.js solve-worker","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/dist-static","/snowpack.config.mjs","/src/cubing/solve/vendor/implementations/3x3x3/min2phase/gwt.js","/src/cubing/solve/vendor/implementations/vendor/random-uint-below/get-random-values.d.ts","/src/cubing/solve/worker-inside-generated*","/script/test/dist/esm/parcel/parcel-package/**/*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.8.0-pre.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.11_1625379376233_0.15933047705539782","host":"s3://npm-registry-packages"}},"0.18.12":{"name":"cubing","version":"0.18.12","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.12","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"8ac16eb785f1e0ec5458c745987224bf84f3b342","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.12.tgz","fileCount":862,"integrity":"sha512-3NM2B9g2/loVrsjoTWBfi0bJGV556FI6uEyQ8WCiHiqwKiAUfWn/9ATssOD1QCM8AKw6YytVh7vAgwkEBJv9KA==","signatures":[{"sig":"MEUCIQCf1faPZsAXYcKCwIHXONJXrqV2TqeaQc+pqQ4A97KaMwIgCvnn4nRe8Iz7BfE/sstqoVpDGk2FoNsiQnVdSDdzOgg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6784446,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg4V4HCRA9TVsSAnZWagAA4ogP/iPtSbYQHKRDt0r1kzi9\nJ1Ibqoru/1SuTFLC211QcOR1TCKYtGh30HaUB/EcUv6BsPJf377UU1d94VMA\n0w/ZpPnpE2efg0KRYmof396aigzwwiDHHKK8gV9dkNd1jBN7mQUu7apNTG3l\nybaRyDMN35G1HpNRIPJ1coezaKamhPud7UjMSBJ1Rs3XbcCURkdUAiADwo5T\n35iGgHL5oE2bbDK9YuD3b+BzZxvwWU+nAyk4lsy0oGvnI0BL0l70BVBrZNER\ninQcVK9Eny09rRTex3hUJV+6TBEN5ZniXhNveeEEqKa/rgoVFAhIu/7fuoFQ\n6I6bBqLkzJSXV/tItFNfpXE7yxhHwyy39sCai4FEqgvawJmajBX/tDuSUk0W\n0/DBwqhR60XPFAAojnf2E8XSTS+uSNFNjGLbmzPqBk6PClA1k7sWlbZKGyu2\nvxIGfo9M5N/cOvrJpJBYmwC4Tn1rijyQxehn2i1JHRFYDitQujM6nfEKZELz\nKiNqwGyc32GC3/e/jbGBqR6tJsAOrboaZboOiQr8FK/rhvu+UHCT5gMJAlRp\n8iK2GDVs1n4cdeY6l8DvEctKjsDxAKHHipZWWhf/mG5Mk1CmVl0xwt+6sVWe\nLGjiLn09XvIFmC0m5OTEgcq+FruLl+LZ4IuTvd/R4xCHXd0PWqpE0EfPWhUY\n2I/h\r\n=73fd\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"modulePathIgnorePatterns":["<rootDir>/script/test/experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./solve":{"types":"./dist/types/solve/index.d.ts","import":"./dist/esm/solve/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"2d71137e24c75feb638d9f843c9ff5466bf9a020","scripts":{"dev":"node ./script/build/main.js snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/solve/worker-inside-generated* script/dist-test/parcel-test/parcel-package/.parcel-cache script/dist-test/parcel-test/parcel-package/dist script/dist-test/parcel-test/parcel-package/node_modules  ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./solve ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-experiments":"node ./script/build/main.js snowpack","build-solve-worker":"node ./script/build/main.js solve-worker","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/static","/snowpack.config.mjs","/src/cubing/solve/vendor/implementations/3x3x3/min2phase/gwt.js","/src/cubing/solve/vendor/implementations/vendor/random-uint-below/get-random-values.d.ts","/src/cubing/solve/worker-inside-generated*","/script/test/dist/esm/parcel/parcel-package/**/*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.8.0-pre.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.12_1625382406593_0.6803429918699704","host":"s3://npm-registry-packages"}},"0.18.13":{"name":"cubing","version":"0.18.13","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.13","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"77c1ea798c7e453b1dbfad021f846ba92d7d7cbd","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.13.tgz","fileCount":862,"integrity":"sha512-pJHI0K1kkr+d/b/q+c+3hki0cVa58XIrTlRhdCGD/4gH2Tk0v0wuNMQ2fGm7r1894//6bfyec4aeTG9lrGYpMw==","signatures":[{"sig":"MEQCIAOTFrX2lCjI+dWHvfXp9Dr3lMM3XBKNngxxxtmjptINAiAXKCUhsFTFNeXBo/hf2bcEwZnQukEfdOLeuex/Ifm9yA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6784447,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg4V8pCRA9TVsSAnZWagAAlksQAJNoUnFyd5HWQE9ZI9Ju\njKxEzeejhH9hcGH0mlaQkQkeSdzBrCufTHi9X5BNHcHqRbRPIuLbqIwRDliC\n91dMvElPqniLJrGhbYgMZz/GyP0VDitOorBjkebL0dnE64KLQT61gfGdu3cx\nbGXn1OYXqlzoRDLjOLoTJop/TC5C43HEluEJOTbojdVxHKTuYpPy4OpMQA+D\ncf/VByG3DZ4yy9P94wNYA9IaxF0v61ArjVbX5cjiV0AKwLzrOkNBDRJXBI9d\nGgUFHbfuYyR2kLCGx1n0vDnAjEdOW5YSMLfPOswNoeyPa9SNByd6Zp/yqzyq\nhuBgsOXquElxVRdIKVF/DuHFG7YVyaW1nOOPqYMqM0V70CjhXHd8krN2Rjby\nsmLgYgTgEe4dsHzIAirJfEPD8mg1XCISxbiMYwI/+Vyk1wq67HJFsR2f9sCd\nMfQziF23bh8sbBVTqn0xzdyrWHx9t6tsnZWoxH3NEE46OLcWEFKheIxWbdo9\nhw11TkCR6JQeYFuOl2DwX9QM8sCESdC3dP1nAJB0aU7HJz/XfDwe3IYb5B9u\njb36EwrS3JwzMtpLq+KH7z4khqMXzFIEZc8wREL5mF2UcLNWQHmKpI6Mqceq\nV/wcpVRiHkD7KVrsKDoeLmVTFs4armo6a1zhI93UofVwfCfWOahBomjdVMB4\n1dXV\r\n=8x5g\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"modulePathIgnorePatterns":["<rootDir>/script/test/experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./solve":{"types":"./dist/types/solve/index.d.ts","import":"./dist/esm/solve/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"37bad400098d2f845797624c35c72146b82089a3","scripts":{"dev":"node ./script/build/main.js snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/solve/worker-inside-generated* script/dist-test/parcel-test/parcel-package/.parcel-cache script/dist-test/parcel-test/parcel-package/dist script/dist-test/parcel-test/parcel-package/node_modules  ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./solve ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-experiments":"node ./script/build/main.js snowpack","build-solve-worker":"node ./script/build/main.js solve-worker","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/static","/snowpack.config.mjs","/src/cubing/solve/vendor/implementations/3x3x3/min2phase/gwt.js","/src/cubing/solve/vendor/implementations/vendor/random-uint-below/get-random-values.d.ts","/src/cubing/solve/worker-inside-generated*","/script/test/dist/esm/parcel/parcel-package/**/*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.8.0-pre.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.13_1625382696865_0.524622535287431","host":"s3://npm-registry-packages"}},"0.18.14":{"name":"cubing","version":"0.18.14","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.14","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"069b0a32697ce3ba0b2b1bddcf9e6128afb300e6","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.14.tgz","fileCount":815,"integrity":"sha512-MoNZBwbAPvPTmdErRWckyApadtKE7qZdwJCmrVsRoyo6n6r/oL0joWcKD/1QWXXFZ6qG9HYTPobKkkANnoZ0Vw==","signatures":[{"sig":"MEYCIQDl9SUTcu1v6SDSUWbbPzQX/K+dKngTXeTVNC6K7zPrDgIhAMIBo6S2gqCAc9b7eOWTUYqYj5CYx1wcavYtO97xE7CL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6770807,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5ajNCRA9TVsSAnZWagAAWakQAIgstZop59BXH+SKTuKh\nuHIcZH/11ynxT2upuN17PEpKzMgi0p1I/jkSrHxZNta4SZjMELAT6fl+sJ5l\n4kXijqrO/YM1mBdtjpX+TG0YCqkFl0WYx3tCsK1jvQn/FoUdT6nwJHpevfBh\ntUHN/7HbyGMOG/AsuAvY7WKSyC5xDWLeTES2z6HomSvavQCncUMd79Yiihj7\nNA6WtOC0CHxcNZDeZCPRASfXt8dHAU84ATDa9wPcgyG62KJwowThRRteHLYz\norr8Q6hrogEeyswhBwxJn02g25v+Ha3YNOv7tXg2gUdoHYoV/wCy1AfwUMG6\nMBU1ys8YABz/gnXoPzbhZIJVr7A/BbIH8YsKKkSEAFWUjklZgCr0gzO4kwJf\n+KGRMerQlhlbREn7/A4Gix3cesulRJ23M8GeeagCJM9oZfKV4EhsSwjpNp6k\nqN31JmW2wqACUevhDNn+F0QDbXCMCZ0q5T/GupuXPAWWRBWfVomSLtZTdAJc\nNiPKy4ZSgI+gnhXuOLG4q+Yr8h88rWYV0Cvi/KZle0H7zkqskEuOH6t0D0KO\nmXD8MK5a6CkoS10xIBqpbJ+rb63zmp+NZl7DgZdvRnPvvvpggfmiOmsoLbeI\nFRYbqFvcLk8XaidrxBR8n1MGyheeDc5edRjK7BaGMIdBmpu8/RoKQV7hRu7T\nexKH\r\n=Fy0S\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"modulePathIgnorePatterns":["<rootDir>/script/test/experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"b8bf08c01277db3dcee72fe4e9085016ee7106ec","scripts":{"dev":"node ./script/build/main.js snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/search/worker-inside-generated* script/dist-test/parcel-test/parcel-package/.parcel-cache script/dist-test/parcel-test/parcel-package/dist script/dist-test/parcel-test/parcel-package/node_modules  ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-experiments":"node ./script/build/main.js snowpack","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.15.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.2.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/static","/snowpack.config.mjs","/src/cubing/search/inside/solve/vendor/min2phase/gwt.js","/src/cubing/search/worker-inside-generated*","/script/test/dist/esm/parcel/parcel-package/**/*","/*/index.d.ts","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.8.0-pre.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.14_1625663693294_0.5296641478122888","host":"s3://npm-registry-packages"}},"0.18.15":{"name":"cubing","version":"0.18.15","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.18.15","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"a1bde85a4abced6dff92fd0ccd9ce9e5e3cdf0e4","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.18.15.tgz","fileCount":816,"integrity":"sha512-nk9qFmr29OEv6L0rovcuPMNw4NjAJ5/apACuIX4BHsxjIa1V32yLpkVayJ5v+xe154zrh+q65HuYStwOabowIA==","signatures":[{"sig":"MEQCIEyx3kkok9gT62JcjswNWCXpcOAakqPknYczA/15PR69AiAsIDZ5mQq1PXEs1SiykACrgbqE+xue61M+rQ5FxpjTDA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6786183,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7napCRA9TVsSAnZWagAAIoIP/1XEdD2fHTHu0OTzaSgh\n2Cf4NaWPS/LUMwKuxVlnKiAf9bvCeR4T058AEsrB08ctdugtfWvtGi/GkUtc\n9SfMZciCSEJdA/fxkxrAltpVPYDZCzHdFuPJkV6wKfDdJSHheA7KaaCYHPTw\nG+O1zATa/q23NNL70NuOHDm246ZCQE6Qyx2MtgNXFNEvXx4JsTpZ53SEs5J/\nrnvAUs5bOCU6BwXx7zUfM/yaHz3qhuAOgYtVHRyvMetsDGav3JTOkhK9O4T/\n4/wzMqDU5A9op1bqgsZj3AYHltbIeKxxYOitSsohqaTWwX8ysseu24+DBt14\n5BMDBaGutqUevz2Z64hyZOoMCMZIv58rBb3PZYs/kaAt6vY0y3YxfplAB/vt\nsCF6sdxOvTeY/0BmcmsVBPrJEdYkcSN8vFz91BxYGvkufb20Tjn3mC8Rinj2\nVntsP0ab+HSPtUHP9aTDBoMS5hYHa+wRPBWrCgRTgCGMAYZea8Gt0ir3uyDu\nhGE0hbclY1DbgPTkPmYooh9i42HjCVABqvMtESjC8KBhoZkdz83tIUfM01dg\nrr51JGE0FnIZIdS9tDcSaO9fEV4RBsECZ1hf29Y29+uC6FoJxVHFwsIMfuEx\nmBGfFSaHHUDy+Q8cJW4iLt7PxjERYBmOduL0U/QSJlDFT5Ajl/DcbNXDw81z\n1tC5\r\n=d9tJ\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"modulePathIgnorePatterns":["<rootDir>/script/test/experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"e97aeda735f57a888a69151ed62573b0deab68a2","scripts":{"dev":"node ./script/build/main.js snowpack dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/search/worker-inside-generated* script/dist-test/parcel-test/parcel-package/.parcel-cache script/dist-test/parcel-test/parcel-package/dist script/dist-test/parcel-test/parcel-package/node_modules  ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-experiments":"node ./script/build/main.js snowpack","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.18.1","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.4.2","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/static","/snowpack.config.mjs","/src/cubing/search/inside/solve/vendor/min2phase/gwt.js","/src/cubing/search/worker-inside-generated*","/script/test/dist/esm/parcel/parcel-package/**/*","/*/index.d.ts","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.8.0-pre.0","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.18.15_1626240680990_0.7129304659674836","host":"s3://npm-registry-packages"}},"0.19.0":{"name":"cubing","version":"0.19.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.19.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"fa1271a5d9f3b9e5e5d77b96fce27eac59c41432","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.19.0.tgz","fileCount":817,"integrity":"sha512-3q0IRQYqJWqHa+0eHFun9wcgWvEaib6dX6cTGRaOqD7e5aMbvsP1Lwmyh19xIIYNHFQva7VLRh9y0mn3HddUeQ==","signatures":[{"sig":"MEUCIQDAvIcExDbGWYDWD7I2sGzOhXfvk3mNjYl9czHuoCB/1AIgDdtGXxmqAR5SILmH4KLPL6X7DsCvzaFzHjexrt/yy+8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6804227,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+STtCRA9TVsSAnZWagAASgkQAJQkKWFwu5sXEFRqUQoT\nj6c29+iiztkv18gHPEIQdTs4cvyBPwpEGdV5HBQhJwleS74710Wsom/Di40P\nk6GWkezwf8xi4IGfDqP4nPC2yB3tv+kkrv3AnehzqYPi9P+EI3VaWtyBsZkG\nw+ByWsstVDoH/HNEm2DYkdwupYalxoYJU/Xut85HcAGmwNvQuJh+2Dzy0oSO\nnO4y05gLWw4cl8Rv42UMAQzGbyK950AeJru7T67/GrAAMmDFFxC6zainFFgf\n9tPQ41qXfWj/6LAOjVgdgseNhhY0F5NYw39bZ6iQizRbyJ9uDGzJQ6CAqUkk\nQNhLNlJhvMwPO1qfhtK4y7TN8HGHFkR5+RSNyt80OOeP5QqyYdQgKiHqz6XG\n+PoSlBita8hranqq7TtnIPdzloQoi0OKAGKiKbz82zLw9l8iwRzdBP0uCSGG\n429nGw05Dt58GvJJ/nQ935SCTeSIwW4WZY9VVbfE9p+EiEAbyoLEt2HS9D07\n3DDoV4yVKAy0NQTXL39eQL4OQ0J8Qh/7h9kdgbn3VjXIQZSauK9qk+/om1TN\ne+ZCoceJI5dyfhzdzy2WdqNRl+GgsnBt6dyUhLVjGvDS+Umor3nBYtOQXcsE\nA6u5936GN/kCNk8aAgdPmB6wNAw+dFRxvL6ELlcCWPY36TXFe9UGy/zMl0TH\noH+6\r\n=MPkN\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"modulePathIgnorePatterns":["<rootDir>/script/test/experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"a156b7eeb15b40a7a054bf1ee3bf136e25509729","scripts":{"dev":"node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/search/worker-inside-generated* script/dist-test/parcel-test/parcel-package/.parcel-cache script/dist-test/parcel-test/parcel-package/dist script/dist-test/parcel-test/parcel-package/node_modules  ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","parcel-build-for-twizzle-net":"echo \"parcel-build-for-twizzle-net is currently unimplemented.\""},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.18.1","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.4.2","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/static","/snowpack.config.mjs","/src/cubing/search/inside/solve/vendor/min2phase/gwt.js","/src/cubing/search/worker-inside-generated*","/script/test/dist/esm/parcel/parcel-package/**/*","/*/index.d.ts","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.8.3","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.19.0_1626940653659_0.3671646526908421","host":"s3://npm-registry-packages"}},"0.19.1":{"name":"cubing","version":"0.19.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.19.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"6af5693ca88ff5d54119bc325e90b52d7b8dd163","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.19.1.tgz","fileCount":816,"integrity":"sha512-zRQ/IHXt92fj+8830t3t2e/hj/0tEmQqG0ik4EQceXXCuezVyHlrfS6oD7E7SsS+DFccGiaCjP4REqAqbHXI/g==","signatures":[{"sig":"MEUCIGy8loNliu/bMdTTI9tkTuchh0/WP0ht3CmCRmV99oxPAiEAwJW7tfAjnvJVAqL6+3s9x8BJ9tTZigbMySR27B2Cv/k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7383907,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBSf9CRA9TVsSAnZWagAAajIP/2wvyCbRxDHZTva+uhIT\nqN6ugOzQdMM48CZuM8hpjyQjz3IezMo009GBNf+qjjvvLOoHcJp2NY5O9JpU\ncrx1MuVWTjBVDypigorLEaP6XSkmBxexsOiXUuFbua5UHSt7nKJegTB+Ih3T\nFNZTwWJw/zLAO7cyBh0J76w6FRFkmbK8DSZ4bs1t/yNglQq2+0VE+yOsKtCs\nwhe9Lk366gHcK/FctP0Gl7A7CYgUEVA91Py2j/TYeHXFtxuiCTMThperIakA\nFvLwnBkE3Y6Z4mirJeNbtjr0VCMjcQ+6vtaYoVp76OAdlv+4rXgse9sXUEho\nta000CLRANfEzzqpgmKYBswBUBy4ywRIIVnwg2SZAa4SxytsF6r3EEuxNNW6\nK9m2dpTcDwU0Li+Vk6xuasKc2SiFs/JtrLqco85lL+SQKVDHinGzSMiiw/ft\noJwtfVg9ycdD2ySmGPfb9KBrHRXLcYEGvRkEwznrZaz7W2IW8jaBHbp7KivR\nI9V0XMeIPpc+DzM0JkATX2HxRr6/Xb7GQvBYHJnhNICL8gw6+1PsCK9COMVJ\nxYqLhE5HomHBOUz0CFghRUGuq6Zo2wB37Uz/k7hQnqBZU4u0CizXXjMuqnaX\n0xqrnHgW3BNf4RkamYCAXt55taZ/QLE1QRZj7rXAzgi7mkZnjiUeEGV7pZoT\nVZHs\r\n=gQMf\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"modulePathIgnorePatterns":["<rootDir>/script/test/experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"5325e5406993bca1d6898e14269ca9a45a04d419","scripts":{"dev":"node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/search/worker-inside-generated* script/dist-test/parcel-test/parcel-package/.parcel-cache script/dist-test/parcel-test/parcel-package/dist script/dist-test/parcel-test/parcel-package/node_modules  ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.19.1","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.5.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/static","/snowpack.config.mjs","/src/cubing/search/inside/solve/vendor/min2phase/gwt.js","/src/cubing/search/worker-inside-generated*","/script/test/dist/esm/parcel/parcel-package/**/*","/*/index.d.ts","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.8.3","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.19.1_1627727869692_0.053990922209830705","host":"s3://npm-registry-packages"}},"0.20.0":{"name":"cubing","version":"0.20.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.20.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"ef0f828913b8868ec2d318e33ff391effadc689d","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.20.0.tgz","fileCount":833,"integrity":"sha512-Yk50QvqFsvVgFJJnFFoGGCcgoiXWgNghgcfcJhQNUwa79mFakEWfGVr1GxDuurWUz2D5d0kh7jRcv7ims+5ffg==","signatures":[{"sig":"MEYCIQCHdBxLhlRhcHkXOuC/brWWy5vWEi8qnc/JCGAmNFX2pQIhAKOGk5SJM5usssURZLIxtG/qWPxOKouENU/DrAqFV9sR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6943302,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCvhqCRA9TVsSAnZWagAADlMP/2NCzyEWErPgmBlI9N9o\nQ6MtvcszXamXG0gH/rGL4VtFyOwgzrr1h936eIWbwVoOBDOHLLL0Af5OGHHC\nMQ4HWkIk++fht03ddRU3n9uF/gCqR9I5zfyDQCaO7Y3FDRNLaWhGEYGCyZjV\nX7xrxHabCkQyq9Tn8TowHLABTESUVJIHfluIZTxdLIPJwd4m3Di2ta+T6tvF\nMQTLZgOTB+ac4fN5EyH2ZagxmzxrZCR7U3otCzyzkRf1ElUJdtSyVpXO9seC\nQRbJqfTuM8saFAkQ9RZF6rwX7m+BMtELurlr26w8nAcXEBTJmgIl2PkoQ0oL\nuJ/gXhdE2aM8iYebXJH1aYv7qb/dy0HWeP2aX6di2DrvKSchXx3cwOD3DDc0\nzGEqdFHfsrRr/Ugi0mWQB7d3Gy9zjGK8nczV4bkm/HyEj5gp9NY7Xed9feh8\nd11aY+H1ZOrvUbIOObKkVZY2ot+zkGGDD+KeOxYPmuWve3oXPsBug2ZqJj/u\n2j5yyo9VDjwLtCE/kt3ZTabZimOcFUR6US6qQCI+4lTGtZp3K1YUlA0+wMPt\nCuCDfTCwcyOQgOafSq7fgGkyVIA/r+qW5p6q/PVpBOTPYLJMX82WO2JjTc7K\noWB1nTMKwtupj4QXpotnTWkbvNScipdY5pNfpiqZm4g6RgPycgCewRc0T8Kj\noFrN\r\n=v4Cv\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"modulePathIgnorePatterns":["<rootDir>/script/test/experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"d1880a28d9baf49fb8b8933fe80d207e661badf6","scripts":{"dev":"node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/search/worker-inside-generated* script/dist-test/parcel-test/parcel-package/.parcel-cache script/dist-test/parcel-test/parcel-package/dist script/dist-test/parcel-test/parcel-package/node_modules  ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.19.1","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.5.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/static","/snowpack.config.mjs","/src/cubing/search/inside/solve/vendor/min2phase/gwt.js","/src/cubing/search/inside/solve/vendor/sq12phase/scramble_sq1.js","/src/cubing/search/worker-inside-generated*","/script/test/dist/esm/parcel/parcel-package/**/*","/*/index.d.ts","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.8.3","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.20.0_1628108906610_0.5742212198938037","host":"s3://npm-registry-packages"}},"0.20.1":{"name":"cubing","version":"0.20.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.20.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"ab7f57fd43c6bc4eb5d0448c756f7c83014998fd","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.20.1.tgz","fileCount":833,"integrity":"sha512-47oHAAf0XbitypV5Z/0GAPLb6Gi1NI7MpOeR/lYuWp/fDQ57NtTroOs39ymDXVkCM5E7utuWYLGO3Ngi/gz1iw==","signatures":[{"sig":"MEYCIQCayLGhjcyeXDbSUvjx69KhRVr5QWm3Vk8ORAyBCoh0awIhAID4lGdlqU9AZhUSSoHn4l38qa5uywD/Spb0y4du6RLF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7522594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC6POCRA9TVsSAnZWagAAdQYP/iOKFdDPtcX45LQlRwuP\nuw7t4LO5aMwkd4a9Tl3qSeqDx/s0nifWbUzUCiDfMy/cqlkHVhVx3RyH0Ctq\np2dhHFMIJQHfWhOgY9tkWj2KHOvnq2BnmqGrd1M8DLyLV3HYlVokY6DXhkfe\nZkZeFt4CVbMdtUC7HR3cxLFw41RCTr49N6XUNCzANKcHfmWKfTIeW4XrLBGQ\nJSB3YPf831bETd7njJc4DZxSwE+lYbEPEPTiPPwZXS5ipSmHkFozMwTPzYlE\nwdk+35UHrk18bdDxEWYmPTdeWobD5fp7ow2MHGR4A0zLBUT4EJ0BvY8EUyQT\ncpqZQxec7GFNiiQc624PCpHQN8ImBQ3fldT8gOXGrRMj7Qdiwj4MEJ71ecHV\nNTreoRO3MLVsJpPLPtXqqGltLQNqAnU1XrwVMRxEE9j2LMmSH/IxrijczWoo\noiSzF/XumoT96sk7Vwn6354Vy/3rG63lF+Bm4woazJuxoTQs7RYFbfMPUaDB\ngG0UmHOY7Lvl5axWT7c+7kI5Q1N/m5dIBuh/caBCD3RlOjTp5HWFHTfLmRH5\nIhgDBSt2oIY94xAG+QQfJC/XyVzewSJeeHZS+aUQ9JlN9fUDcl1TnrQLlWNb\nQ8cGf1jiwofcNvhLnWKqYiCgk2T2ZSitJcl++vEbgx7tJuvodClgWkSNZyY3\n1sVg\r\n=F33O\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"modulePathIgnorePatterns":["<rootDir>/script/test/experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"ccb667304efe04dd0e4219a8f9a858fa58a34e67","scripts":{"dev":"node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/search/worker-inside-generated* script/dist-test/parcel-test/parcel-package/.parcel-cache script/dist-test/parcel-test/parcel-package/dist script/dist-test/parcel-test/parcel-package/node_modules  ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.20.3","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.6.1","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/static","/snowpack.config.mjs","/src/cubing/search/inside/solve/vendor/min2phase/gwt.js","/src/cubing/search/inside/solve/vendor/sq12phase/scramble_sq1.js","/src/cubing/search/worker-inside-generated*","/script/test/dist/esm/parcel/parcel-package/**/*","/*/index.d.ts","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.8.3","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.20.1_1628152781725_0.4200950893384585","host":"s3://npm-registry-packages"}},"0.20.2":{"name":"cubing","version":"0.20.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.20.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"be37d0556929a888f93902247a271fd4777b37e0","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.20.2.tgz","fileCount":837,"integrity":"sha512-JM8kvnFU1QSgEThw1MlrH+8ygGwToyArXZcrU8agOBHcaUdQEI/A95hXMyowu2FyF6nxzihqOug3Uf6yoV6ztg==","signatures":[{"sig":"MEYCIQCz3+sD2GNeuQy2QahX2ghB6zI/R6cEOYu+kJq6HQTVUQIhAKrGjQz/6ppnAAiP6ZGFdld8IGVd48bkvOkR4HKlZMxa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6972588,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMTRhCRA9TVsSAnZWagAAz0cP/jrsL76Ynkmjsesjxs4X\nCpGYIMhP5nFMOwqFg8ZzDwpWy2mjZCRYcc2q+hc1XuR/gdnTY/nye6Ekbdgm\ntY3EtdQOAy/7ObW1JcGJEwLI5mJ3ieYXSoGKSa6Wg5fU/jZIB0ZbXGJRMLRz\nQkbVRH4cxQ+bKnev8ZOFTzGOka1XtLtDfmwm+TtpMoeRLkbWkTKP487uMRCM\nEHF5Vw/EsCPfAS4zMeP+XWAmXmnmv99WayxO8ilUp/BS5GOplCzWL+PacQai\nRQWdYtxcuhvou/MNsNdRS3I5O60Bxx9RFL4g6qcf/F+eO8tiZMU9eGBDBbGN\n3IVdzBlfnhCxvi5ToYK3ABuLvCk/0ya65kkJ7HWnkEhIY1RCTcVADMVBGmXw\nS9nET4ih9vCnyug7FaUBu7Wue6yByN/u7ksZTQXELRU1w6KhVMn5eQUJoFjI\nizYmDQRVQuSxlXQYAjHGet5y3K4mbVoI4yAasS5dFYQLYopYXXu3caPRVfQn\n4zYB5J02bKEEwu7kVNDrPjmWmTh3f/Z1tdIZ2bxmP7xvi4x0JhPWc3ympS56\n1FIIODWca0R134zgSTUy5xtsiZ6d8De3kur1FvIU4Vd+YFRA3p+E7LbgykKi\nM9f+ETnilyO62lu7G+ak+iSdb3J2RF8525zz+MgqgZvCkfMK44mR3GcuhzEq\nOJJc\r\n=jZvi\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"modulePathIgnorePatterns":["<rootDir>/script/test/experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"c5363094a9ac28a925fd7fd281846893f56ca880","scripts":{"dev":"node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .cache .parcel-cache coverage .rpt2_cache /tmp/cubing-js-parcel src/cubing/search/worker-inside-generated* script/dist-test/parcel-test/parcel-package/.parcel-cache script/dist-test/parcel-test/parcel-package/dist script/dist-test/parcel-test/parcel-package/node_modules  ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.21.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.8.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/static","/snowpack.config.mjs","/src/cubing/search/inside/solve/vendor/min2phase/gwt.js","/src/cubing/search/inside/solve/vendor/sq12phase/scramble_sq1.js","/src/cubing/search/worker-inside-generated*","/script/test/dist/esm/parcel/parcel-package/**/*","/*/index.d.ts","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.8.3","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.20.2_1630614625282_0.9089722811957361","host":"s3://npm-registry-packages"}},"0.21.0-pre1":{"name":"cubing","version":"0.21.0-pre1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.21.0-pre1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"1ad462e9d8cd7e3b8de0ff534052be33918fd15b","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.21.0-pre1.tgz","fileCount":1049,"integrity":"sha512-S5o3q5hIhDVEqD2bwei2uQEJU/MGuV+EHTC+Gn3LLMQTKSLCaC9IK43xByfAXBMN1tpOUHF53woTghSlxxW+Qg==","signatures":[{"sig":"MEUCIQDcMfRX1A8q/hvgyIk0fxUKrykXR+f0UmhslgvoH17oBQIgKSgUfMlq5+Tpgp5wDypqSkYV9OpFOkgcpRNfAJnx/U8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7840454},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"modulePathIgnorePatterns":["<rootDir>/script/test/experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"35716fe3ec49ef6dc70fe2310490a533b0b4ba3d","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .cache .parcel-cache .temp coverage /tmp/cubing-js-parcel src/cubing/search/worker-inside-generated* script/dist-test/parcel-test/parcel-package/.parcel-cache script/dist-test/parcel-test/parcel-package/dist script/dist-test/parcel-test/parcel-package/node_modules  ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"echo \"Automatically running `npm install`. Note that you have to run this manually in the future if `package-lock.json` changes.\" && npm run setup","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.21.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.8.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/static","/snowpack.config.mjs","/src/cubing/search/inside/solve/vendor/min2phase/gwt.js","/src/cubing/search/inside/solve/vendor/sq12phase/scramble_sq1.js","/src/cubing/search/worker-inside-generated*","/script/test/dist/esm/parcel/parcel-package/**/*","/*/index.d.ts","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.9","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.8.8","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.21.0-pre1_1632727193750_0.4639073670316476","host":"s3://npm-registry-packages"}},"0.21.0-pre2":{"name":"cubing","version":"0.21.0-pre2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.21.0-pre2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"4504ad5c9982fa51da77af2a348b1d4b880a3ad8","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.21.0-pre2.tgz","fileCount":1314,"integrity":"sha512-6iA98kOsPGKsXglPJ4dsq99mUr83xiuQVoI/tzi14hvoEOgbL3u4SvFRbdjnhuuYF/DxUNKW+L/6ehlc+VaI1g==","signatures":[{"sig":"MEQCIHqlNJJar2Z/yQ42LOf3ld7oWJKtNtv6azfI3s5T9me0AiB7UUdrlsjwyq7hc5oSgANsgLykvjGT5yWqWOd51HV5BA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35918034},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"modulePathIgnorePatterns":["<rootDir>/script/test/experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"3299582d29bc3b1400ddb63ec09a465354122dc8","scripts":{"dev":"npm run initial-setup-checked && node ./script/dev/main.js","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .cache .parcel-cache .temp coverage /tmp/cubing-js-parcel src/cubing/search/worker-inside-generated* script/dist-test/parcel-test/parcel-package/.parcel-cache script/dist-test/parcel-test/parcel-package/dist script/dist-test/parcel-test/parcel-package/node_modules  ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","dev-snowpack":"npm run initial-setup-checked && node ./script/dev/main.js","initial-setup":"echo \"Automatically running `npm install`. Note that you have to run this manually in the future if `package-lock.json` changes.\" && npm run setup","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.24.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.10.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/static","/snowpack.config.mjs","/src/cubing/search/inside/solve/vendor/min2phase/gwt.js","/src/cubing/search/inside/solve/vendor/sq12phase/scramble_sq1.js","/src/cubing/search/worker-inside-generated*","/script/test/dist/esm/parcel/parcel-package/**/*","/*/index.d.ts","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.29","ts-jest":"^27.0.3","prettier":"^2.2.1","snowpack":"^3.8.8","puppeteer":"^8.0.0","babel-jest":"^26.6.3","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@snowpack/plugin-typescript":"^1.2.1","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.21.0-pre2_1633217439045_0.6290175195073917","host":"s3://npm-registry-packages"}},"0.21.0-pre3":{"name":"cubing","version":"0.21.0-pre3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.21.0-pre3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"a3ad246d6225163abc0dd98590bbedf82f3fd594","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.21.0-pre3.tgz","fileCount":1047,"integrity":"sha512-MpuKUdpKAaeYIcrPa02yjbN7GWsJUl6KedRwv0rmlRoDgpXpY4HBo0ZTQ4x8mbvA2G0EeX44pUVRObyls5dpGQ==","signatures":[{"sig":"MEUCICiRmSQ9nznUbmdky5cgzmxlOqc6Yo6aJoDNeWh1smGDAiEAwsfVdWLub+3pP3JajdDCME5mfEV0klskFYCewoQ/g9s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7840745},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"modulePathIgnorePatterns":["<rootDir>/script/test/experiments/"]},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"fc6069344b7ac681f97345a389f528b8e772a24c","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .cache .parcel-cache .temp coverage /tmp/cubing-js-parcel src/cubing/search/worker-inside-generated* script/dist-test/parcel-test/parcel-package/.parcel-cache script/dist-test/parcel-test/parcel-package/dist script/dist-test/parcel-test/parcel-package/node_modules  ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"echo $BASH && echo \"Automatically running: npm install\nNote that you have to run this manually in the future there are changes to package-lock.json\" && env PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true npm install && npm run setup","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.24.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.10.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"root":true,"rules":{"eqeqeq":"error","quote-props":["error","consistent-as-needed"],"lines-between-class-members":["error","always",{"exceptAfterSingleLine":true}],"@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/no-unused-vars-experimental":"error"},"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig-eslint.json","extraFileExtensions":[".cjs",".mjs"]},"ignorePatterns":["/coverage","/dist","/src/static","/src/cubing/search/inside/solve/vendor/min2phase/gwt.js","/src/cubing/search/inside/solve/vendor/sq12phase/scramble_sq1.js","/src/cubing/search/worker-inside-generated*","/script/test/dist/esm/parcel/parcel-package/**/*","/*/index.d.ts","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^7.21.0","esbuild":"^0.12.29","ts-jest":"^27.0.3","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.11.5","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.3","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^4.17.0","@typescript-eslint/eslint-plugin":"^4.17.0"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.21.0-pre3_1634720943359_0.1135924897836833","host":"s3://npm-registry-packages"}},"0.21.0-pre4":{"name":"cubing","version":"0.21.0-pre4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.21.0-pre4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"5f6b661d4f50636cc53c91377e16fb4f0f8bf367","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.21.0-pre4.tgz","fileCount":1066,"integrity":"sha512-AKq/D9OSYMdy1Cw4TvqGv0gWICELlC/JAmh/UnWMf08hyvCwXBEH1nrcujCaOmtUtuIS3QviXNBTrZ0zHhp1LQ==","signatures":[{"sig":"MEUCIQCiozqroA4/0uwDpqIDnq2B6Ue5SV3e+20dZQuJV6p3owIgaZVr/bglnb29OJz52eh1gSv5qjxQu6lJK9ymTKQnRf8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7520756},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"05b7514b6872f63c79d53a4f975e3f8904211e72","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.24.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.10.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig-eslint.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","ts-jest":"^27.0.3","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.3","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"mainDevDependencies":["@babylonjs/core","barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.21.0-pre4_1634886323305_0.5581802083951009","host":"s3://npm-registry-packages"}},"0.21.0-pre5":{"name":"cubing","version":"0.21.0-pre5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.21.0-pre5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"03dd4694c31735d716efaefd2d13e6b287c6ce7a","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.21.0-pre5.tgz","fileCount":1069,"integrity":"sha512-re5AYs/ZcWHpD9+/ogvNXyspUXR6e82P0uPWo/aeNZ+eRw9XeQQ8YbxIVsFOhFjOmi6B+PT5hBX/lMwGpX0rYw==","signatures":[{"sig":"MEUCIQDq4WnRqlJ2RbecEPHoWQdLO2E1nqjN96wjqeYeC4K8kwIgT4vB7lTqVQQSBtnIXO5MNcETP1TyhesymfFppayewNY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7539228},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"409b1be7b1f6be8bae744b2ae99c367159aa9894","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.24.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.10.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig-eslint.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","ts-jest":"^27.0.3","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.3","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"mainDevDependencies":["@babylonjs/core","barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.21.0-pre5_1635282109572_0.279282547470846","host":"s3://npm-registry-packages"}},"0.21.0-pre6":{"name":"cubing","version":"0.21.0-pre6","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.21.0-pre6","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"9f573260afccd6038b9cc5bbfd7a833a902b25db","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.21.0-pre6.tgz","fileCount":1067,"integrity":"sha512-ngm1rSXZmmTDeEoSWa34iB179c+8AqcpWYde5KDs/D7GRLIPilth6fMle5Jw8TIqiO88RQzsbOtJ8+CSSpWi6A==","signatures":[{"sig":"MEUCIQDcCm55TwwzSc1ieoIU1IUa0g2Un93INWyPdB9ZzF5hqAIgC+wAPY27+DF0q6SFtWFUGyCz6ErkOkt4aUO3NgyJshk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7529127},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"86b3b9c74d2dd9d626f7e7821c7305556dc079fc","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"7.24.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"16.10.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig-eslint.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","ts-jest":"^27.0.3","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.3","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"mainDevDependencies":["@babylonjs/core","barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.21.0-pre6_1635455142779_0.2025252375652049","host":"s3://npm-registry-packages"}},"0.21.0-pre7":{"name":"cubing","version":"0.21.0-pre7","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.21.0-pre7","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"4badd2dd562ea68705018c497c8bd9ee2ec77b07","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.21.0-pre7.tgz","fileCount":1073,"integrity":"sha512-Z1b/WqAQxYaB4EypUEbPzLJ2kL21wwivq/rO7jq7NcjWVp7WoL+cKVMyTHwbhne1HdkSDl7viRqddLeKRRo9Lg==","signatures":[{"sig":"MEYCIQDqtSvwEVPBnEaBO+6E0bFeia/WMhXfy7EKD1sttvPkLAIhAKVWTwxYfWFn2gY8z6K6PRvvSZoMEG4p1QqNI543lYKJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7565930},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"e909d38489fa8bb996a488768de1937854aff078","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts .","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"17.0.1","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig-eslint.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","ts-jest":"^27.0.3","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.4","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"mainDevDependencies":["@babylonjs/core","barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.21.0-pre7_1636284814321_0.9952715287257949","host":"s3://npm-registry-packages"}},"0.21.0-pre8":{"name":"cubing","version":"0.21.0-pre8","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.21.0-pre8","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"be46c4a0ce7c9d3e1385ac1b6c0ba3802e91943c","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.21.0-pre8.tgz","fileCount":1077,"integrity":"sha512-Q16ejCp1PUj10LVv+Gn5NpArngbJsttI0m9sDSvBXtR5EDnV8CVJPjVxTT3egD4pwEpFhps5geERCtZLLTKZFg==","signatures":[{"sig":"MEYCIQDMe95GyXN/yhOwu2bjUgOVWCVQTI8Iwk4H1Xw8TwaDXwIhAPR0+dDQ1CWfVgyirpwmqG8ASSHQNA5o99f4HV8hWldn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7599576},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"b11e93a9e2928dcfd8b212667d5190c6138b4570","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts .; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"17.0.1","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig-eslint.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","ts-jest":"^27.0.3","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.4","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"mainDevDependencies":["@babylonjs/core","barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.21.0-pre8_1636853980610_0.6669940791735176","host":"s3://npm-registry-packages"}},"0.21.0-pre9":{"name":"cubing","version":"0.21.0-pre9","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.21.0-pre9","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"4e5c0d32a02381962d71203c41aebb1cbfe1f709","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.21.0-pre9.tgz","fileCount":1082,"integrity":"sha512-04gPZhkbLveojT6D/XRaQggNWt5V44rnior7fQDCRiFZ7KwgKDRkINAC0T8GRF+c2OoOloy8jbT1/CRImtAbcw==","signatures":[{"sig":"MEQCIF15ZxcnJ3W+J7hJTnMoaJjukbOtIhEuav4TQ/61LaYoAiAvBmcVZ99Hhed8+hYvyovouwMVSfq1TM9guiLqQaNt8A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7622305,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhs1jRCRA9TVsSAnZWagAAf4gP/3ZPexqC9jSwB9g6MW4d\nf7tUJkBo3e5IGzPZ2tBWYJHRtIOHMgJ8GQFljOylDnC6AsC6c7i+7sU5c0zd\n9vyXLX5l/298W0ia5CwJFbUgolsiHV9x3zSYA93JbtiO8DfML+dmM2/ZywPX\nUaNG2UnIbjl+tvtBHft++JforcX0IgamoUtnUvjNnW2s5mA+QpHqnC+lmVfv\njj360UCirihfR36ZTTSzkmqcZt80cZqUvUM4tgcCyyANHoqogdjMiOo+Ja4i\nE77HnplRLRYTUnuYenHbOUldfzfNlKoMA46QPV8TG9xBxMQW8BAogG2meT0B\nZA0a849HgdAGyYf2K/rBaY/FL0mxMSJs/FHlJ9M4DezuePNps+V6TzGAQzcQ\nqXIaRKDh3ZRsBh5ZHzZtjJSezqOM5zs+4QnlS6kQ6Yz4wL8fhcgAvxxw2qg6\nzAeze0yevMPfIzKvN9fwKbYPEb7qAY119RVU2ZBk8xWDFyCXt7oys2+pfrKw\nWviXbZUlsNcDajq/aE3p0dq3QnadUfJhDpoTZe8ZspRKgfXDT4NynTYOsjVT\n/aaRUsO9TFFMEevhGwM/sZ5kWVZCaZv3wSVKvW4jOXEWLJpJKJYfMF1OJosM\nNUxpXp8SWfRU9wW6K90lk/wOV6ajoZgfDFA07Fl4EEd9OtLXlXhvD9qO5YKx\nG+0H\r\n=/5Qv\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"0314f2789a796ff57d40b567cc674baf5c1a6cc7","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.0","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"17.0.1","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.126.1","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig-eslint.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","ts-jest":"^27.0.3","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.4","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"mainDevDependencies":["@babylonjs/core","barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.21.0-pre9_1639143633263_0.9082843212991873","host":"s3://npm-registry-packages"}},"0.21.0-pre10":{"name":"cubing","version":"0.21.0-pre10","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.21.0-pre10","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"3b36b60244e089539b0d58af4c7f6b4cfd8e09c7","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.21.0-pre10.tgz","fileCount":1083,"integrity":"sha512-l1igi+kJ7YyeqaJKWx5V0kJOnA0w2mEHlr32Klk8n+lCm2OPsLEnLDjsiszsYvSMgwIBfvyCBCwbiJaLFVJVRw==","signatures":[{"sig":"MEUCIQCT6DyKN9J5LaLpWS1+mQ4p7L55aXwjIQUDSouRpK9pfwIgNwc3lCyZFzedN+MAzu1XtLTdXGwyeS6w5zgYQ7Qme+4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7638639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwb1bCRA9TVsSAnZWagAA574P/jCKt4lvNAmWaL7eIxpF\nLU1YZnfhwgOR9Rr43B6qVP0b4hxSB7HG4O136wCweKJ6+LW4x0bME1gnqcy8\nLySsW5GdPbxClWt9XvCpu6Oxi0YKRyS4+jO7pJAA6ve8RANZRy/pmzxfuPoJ\npnUNCrKyz3NrehbnKdWE5wZSNK575020UhydUVL80flPN0fxTdc4k1THt6nH\n9iAmU6gR4iXHwwNfWacoXBlYn1F5N7UxVQmgAgodd8oTTpU+5aJNV3i+WSI1\n+nwsbdDfn/0meVGu/S1D3Px7aGieMx3/zFbE7vnT+uIOuzn+a/X3pyjhe32E\nZkp7OJDNkqCI8ZiI89/axc6TO5Wyo4JYRYF7eOxB6qMK50ti+JvgDWR+qn8V\n+/5ROJSRHiXlzxJD4AgXBOmJ9IUfWqFn1VR6vX5o7Bb1avSEaOboq2vjTDaB\nlaAOWdOryw4VKo7cArHfqkNIMnzRnd2Tg3jjo1oljCgc86EVKicHcRlA658i\nhUPG0GrvCauz2oVLGiVkMRrU6L0fpQPkHJUmlwTEBzTNhy0YKj4wU5uoCOSV\nHNMYQtJGvXG/zHfq4eTVi+V4k2lf9TcX1Qpgoayf9Xi53cmOZwu/Jq/awtA5\nt3dMm27Gw0EuAt0tWSiyOV9DwrEhZ0+p7wSYThtRAl+zu5DI4CsTHAQjFz/6\nDUZR\r\n=5jqh\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"39a75f7ab924554eb441987df98d6cbaef1f4099","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.126.1","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"0.0.4"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig-eslint.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","ts-jest":"^27.0.3","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.4","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"mainDevDependencies":["@babylonjs/core","barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.21.0-pre10_1640086875436_0.6833573207259296","host":"s3://npm-registry-packages"}},"0.21.0-pre11":{"name":"cubing","version":"0.21.0-pre11","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.21.0-pre11","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"fd2c9a5d33211ff8ebb93ee0e57e6f2526a226d1","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.21.0-pre11.tgz","fileCount":1086,"integrity":"sha512-k8Igzli9uzKB20Grq6Ktj0EYK+sYBQ1YTlDgA7yKVoAU4O5dzqXsaw+8p1yUZhtEZsD0RbOxYijI/xPiU+89+A==","signatures":[{"sig":"MEQCIECjj9rKRIumEml9DsZvZmsgzShmV5I+vs3FRtm4+ntUAiBMoeRAZtMBK3Y9rjmvLQEHHQgmtQVrDuCug99SbwgFoQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7658984,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwvLsCRA9TVsSAnZWagAAoAoP/1WGn0DfR1DCP31+ePm2\nrTL6y4Lpy8OgksPGcX7OC84Z3pqCtUtZNggHsIjwwO9vMhsdcSFIYGhSlg/a\ni2qYdFnjyeRW9nrhMu8p9mqSM/ysFDk6Y4hxe0rHYvOALfFcRf57xfbTX/KT\nxkZBYzkV98S1vdPu/Nlb3fV5fC5Ww6F6ddafIJtqWwdsBqMd7vYSFS0X5kJt\nqRe20eZG2oWVPaT3I97PEzmlRHaoK5nnO9Uee93T6dbZoGYeyxWONojBsg0c\n+lE219Smpv+jvfdbB706JwzDMupOuY6VbRPZKSlZoQhVvgNUyszDZpwqK/pp\nyC9EcAXOgWiUXCnybGfQUck4Lk4oXCjfWh4ZCdsx6diLt2wR16KiRxVKMoMm\nYRlFkJnt+oHdBR+ll4I3H1Gw1DcpMoxY8LHe+1AP6JaymIK45v03bJLdVxlz\nbiDk8bH3Mje7KqB2GVk7v8yndfQ1PXSSLF6feOyR+jvsROCRc2CvG6OlaH6P\nnf+Cp5KBeqsxpMeHLGb27ycjyyK1uPiHEsy2Ybse7YMc02y2oXj1RN4z0inc\n11cWzRepJ+XXgRqd1BtVRmjOZj8DFOuHjI2lhB5Gj73N1VU3MEiWpVZhlLYL\nvC+TodY87WeeCXngDO+kYmmcmn8DY5frpAginULcUYCljCYFM9q4VVDMZ/xc\nh1Nu\r\n=ihuF\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"05409243e6c1151cd1847d44f5ddd146f919466c","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig-eslint.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","ts-jest":"^27.0.3","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.4","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"mainDevDependencies":["@babylonjs/core","barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.21.0-pre11_1640166124471_0.5340021510088926","host":"s3://npm-registry-packages"}},"0.21.0-pre12":{"name":"cubing","version":"0.21.0-pre12","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.21.0-pre12","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"44fef6a9faef8bf449fe3bf76f3bd049f7fa525a","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.21.0-pre12.tgz","fileCount":1086,"integrity":"sha512-m+fXNJp5LrZRfngESrKyZx1nSiPux1prrtjVXDdAI5YYqhX8+MTA8vMguu3v5YK0hVRvWZADm0EmOEiuCokC9g==","signatures":[{"sig":"MEYCIQCIGRSDFs3TKGJ5OU7gRz5LsUzteCjezj8dz2n/uHI4AgIhALNbRdxM0rMpm4Ug+Pj21NscAp7hr3/tujOiSj7DRYzJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7667348,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwxlQCRA9TVsSAnZWagAA/2YP/3oFH3XMreDmNMNBc48c\nciH/XkeRGxQP8os9soUpgJPbzLxhx1WD8/uOEqpH4d3EZBKMFLAviIdIhwRf\nEU78xkDNDQo4g0ikdYcFd5Y8wih6Zrq63M8JDgtG4b6JTJ1r5jAtT7mz5ygN\nyD5i0DSowqZw9TUdlFD7+CRHjQqdAjnjcaMA8n6JHxYENw8HYfmuGxh5gGeX\nsMpKr2IfhIvmv4GLA0P1uC51KMI8zZuGMS5dKTO3QiS2GOOYRBr8ZuXoaKEH\nfRjjhhp1Nch8UXd+pEr7RABPH9/QhpoNxLjNVXpcoO3mfSs0TyTodJlKTAfE\nvctKTDFu9zYo6hDI4zN1Nko5I3g3uGtLMUm/JNMJ4dlLRBOXvqB6ONYoAD40\nTzfNDlrQ7+ARHHnBnQH6/ME9ZuLPq+4kmHHRs+PUboJXUdOtAnQ6hKmSyuPd\nb9BRZhHHiD+J5Io1iK4h4mBKSUoijZfc5PtB4jZiAgX3MrjjLHuBxIchYvHY\n4ZQGmCWMmjM1d9zExCjeNho7Oz92S/fxBkOlPYoMqpJnHB4a/P2L3vR7Yrra\nWo16RLVqab8vqP178vzofCxgBEHbh1GujPhMQmAwl/lxEo5ORwetUayc1ny4\n+c0yjftj2DCNy+KjOzMRocZCEWWLmViqR9g1fk5nTah61zdCPo1CX27sPYLb\n7W4o\r\n=ED6u\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"9cf8e7a9bbe4f757a660881c162040ff0f7354bb","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig-eslint.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","ts-jest":"^27.0.3","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.4","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"mainDevDependencies":["@babylonjs/core","barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.21.0-pre12_1640175952710_0.9673515703670221","host":"s3://npm-registry-packages"}},"0.21.0":{"name":"cubing","version":"0.21.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.21.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"254d6da60b34e009088ca5ac7b2a90ea5f9f6a92","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.21.0.tgz","fileCount":1089,"integrity":"sha512-bMHDfdqohdJjUc7sAYvTS/tbrGS2pu6a0Q8rncInJv15RXO7oU1NKQpNBn+dskBtbJhcfmSgZNekci6efBc+Qw==","signatures":[{"sig":"MEUCIQCzROjP/JljJ5jWswntHXJ3CcaYnRuJp3nkSP7z9kUOtQIgOrTU8mZGQY5X7zW1OrAYPEa0Md5Ww6akCMkVcn+HuRU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7687583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwxmACRA9TVsSAnZWagAA57MP/0kcBYIedeUTCggMw1h1\nz5fpywJA8IOuQ4MZwLKmq8Dkz4GSj65lcMCBs/E9bnWVoVA0Mc0Z45PvoVIn\nazhH3dqaArv6wV2qKyNBIc1qvBWT3slx/J1LRyJnSOSU3tZK2gtbH7Wakg5M\nGtYYOja3JHhuQx1MIyI6NdHddEdTRW0FDeqyBppMIdwZTi4O6eRBexjU9LvR\nMnU0ek/N5UuOGVQWwV3xQr+ytK7ly81FbkpoNm4FpszELV1AV8q0I5ELb/cI\nVKhP8xEVRnMwVozFPcxaVi2fMCkGUpIl8oQsYWfqQrJW+bSIQs1kcbQyJryL\nyGGF+fOdZfjDLuqObN1v2aDpCTZmB4IC92iR/n3SufDAJVutgd/J4lS/OPL5\nFfI2KWYmcjyj36xnhGo0TiH98MYTQ2GtEACmsNY2+uy8lv4Ls7cV5iPJaPlu\nh/t7ySCqSU5RrgyMJ+uFB2HtuHozyGX1+cbByeNpnOivFFfqgM8f7pvelimy\n9u+WWv6b6qb62CsTJjinWxk1Su+U2UCFdntbYyhFxUPHUB2DxAfbq0BfHMXr\nq56fOFIUc1A+mAQwi4WL8tJJaK3uct++qZlPujz2D8IITGGgI8QKnGabmo+M\nKSgqDLWSfXJqp0wHwz0fj9SQq5993JBUQZ1TbrzpoRtYCXhEUWIbIjOtkPwE\n3eV9\r\n=My+b\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"f71f3731d551f86ceac17c3dec270833f92ca627","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig-eslint.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","ts-jest":"^27.0.3","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.4","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"mainDevDependencies":["@babylonjs/core","barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.21.0_1640175999795_0.5477151597267731","host":"s3://npm-registry-packages"}},"0.21.1":{"name":"cubing","version":"0.21.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.21.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"3c8803c57eaecb2c33a7d5d3eb967507f80d2fea","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.21.1.tgz","fileCount":1087,"integrity":"sha512-wPPeBQsfzkyhllK0muPkXSc7gbZs69PXOR7w8C/bd6UfY3ynvT4mjWnnkCNzYfw9WCPf8G5TCEBjczfH1Y6lrw==","signatures":[{"sig":"MEUCIQChpQ9VLY/OBiFcttK8mGv7TuZw4xB1GZ3T2gzDplsU2QIgR+U9DOS1MHtrr3i7vB7YxQvZaRZ1sP5mv5OjZtIc0MI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7673295,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwx0lCRA9TVsSAnZWagAAWwkP/30Kjb8CmEL4FiPqG4/u\ne+sL3SPRItyJk1h17F6VXddFcfTJI+49Ph6bYFYWVLAzeBK07bAGHz9/pQHG\nJgszydsUuUbrOR/a2ESwleeJtzqpbSzlmFUPE6rZl2LLm4zpXFzv56kQGFGk\n6o/YB69Lm2OKrkO7BrKjudqmJCZ7+jFpETsRZjTsTblAhpxoba+yyYaTEBN3\n/UJXmaqwpQjprYhQQF9NGkQ84gthGOM1zsIOkXS+PxxyrbACrYMYGEoySw+i\ny5nTTjA/OvzXTDRP9m7xgZ2z5ai3VNZtuCHRn+IseqkzpvSbPNdCCP+7VFTG\nXstTCpbFtKo2fc+VL4zDIL7M0YnfAgeGD+Q2tkNM1pvzwkjjBN79SCYjKkag\ntkJaD3jDn07h811B1yStqgpcuIqKJMrW2lGHY4/dU2h6aoSDtfly07npJsBE\nuqeHVV61A31GjnfoPzgy6BdJcnmHC4Wsc3IBcXtmiMkRTsCEe60sYw+yg/ny\n6t5emHPKVx3CqxOiOdBQJP5TuSpJaSSMQB0lp8xLyudrzGVCwyR2Ys57UTt/\n2A5LjErIdij1IDAthQ/ao81ufPC6fj3kgIs4oTfBKZrnlaiYULuimiB8uG5S\nfbUAgSkQIMAu3HBPhtEk+RJnDCsv/m94dEhgCMbbAm+9YJgBA/kdrRPsux1s\nQdLq\r\n=U09M\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"7e62a2a97f2ca46919e178d5c0e014d685b0e4d8","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig-eslint.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","ts-jest":"^27.0.3","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.4","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"mainDevDependencies":["@babylonjs/core","barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.21.1_1640176933728_0.6673662248677832","host":"s3://npm-registry-packages"}},"0.21.2":{"name":"cubing","version":"0.21.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.21.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"719c0fcb0fa2822e99a7ad4a489b41ccabd8edd0","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.21.2.tgz","fileCount":1071,"integrity":"sha512-wB2CvEeDjDRXTByysZmp9qPN75PoHeZL6/b6aHLBOEHnLMs7fIZCU2fuSKo++pvK2LApx61cfb4UL+MMX2gV9Q==","signatures":[{"sig":"MEUCIQC+oWRD3ttZDUlsrvaTPvLrcxLXu8JjV1TFkJwiSlJzngIgXLBWBUaU+yWWoUqkUU36z7ynUHdbiXmfj/SHVnUnvuQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7593872,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzGFaCRA9TVsSAnZWagAANDoQAJSubHKHpD1W3npK5Mgn\nYfSZbbTVww6EVTewo4CYHAN8V88CSql6eZf97FbqM6YzMSXJyMo6qB3/q8/M\nih3Cr3yVDeqeYJBCPIUcoaHIcvqzC0qlTA9mDsBsKVEizRGXIUW4CF2mITUw\nm8lJ/bs0G8+gfsMB+AE+FaeQvWo06d/hkRBX5MlpJRbNa0mBTFXYFyEZ53Fc\nZKOB+nUjIoYXXWmHuRtuiU+myb0OwYr5jjD7xBQavB2c9jO1+jodvwDBNvPW\n/ClZ8bteMlab9CdtTb2oR+9oK39+iAaqqYHDnh1Bw94Vu3saRspZHo3xc730\n1OsuZNZJWMaw6SbMGac4qBRiDu1aQnPNixkZ0vM3oJcNzg3tFAlOIr6cS2Yr\n0vNYV1srHGWQangNGc4HFv86WJfaCJa6lng5fzaE58ZzqVWyYC573Tze3iPg\nSpsSiaP83BMZ9MP3SKa5AaOzMeEnJQAlYQhErN3H38PPGRCwilF0zCQmeQGX\nEKJGvbthMRfM1boAORfPHgHOduApRct4GTggPNLIFZrVVJeRlTkookSNNCAR\nkOVVJHsicKAAYXRCsEGRJyOQghf/D8CwyNrQU3z8WYHhWtLTwQDhnAOKB9fH\n/bi9psrQ8aulECjTsnynkdd1HDt7uuZ7r23SKjv47YCRiyYmx64OX/dfikT0\nc6qo\r\n=qvEx\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"d4b327467b2d891fbe7b40cf3ab82626a6e59a1c","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig-eslint.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","ts-jest":"^27.0.3","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.4","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"mainDevDependencies":["@babylonjs/core","barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.21.2_1640784217832_0.04124939878187539","host":"s3://npm-registry-packages"}},"0.21.3":{"name":"cubing","version":"0.21.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.21.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"1c37f8d348b8b68b9afe2c24a72557b8e4e83c1d","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.21.3.tgz","fileCount":1071,"integrity":"sha512-zHHZYulhBRd47HyABXHf7LFi8wVrJx8+gcKKaSSwRK452ok/wJOzmoBrYJkjhbwNLC/sQ8JoRBjfx+n/Z1RCCg==","signatures":[{"sig":"MEQCIAWmamGfhJkhYsd3enxxY7/B7ogSW5LnFOyRzORnDjWXAiB+DVG7IpZB6aieUKxxgi4z47Tyqvv12S7kXoZVKNm2ew==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7591694,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzGxTCRA9TVsSAnZWagAAemUQAKCT6urFqxletzLKbw1A\nz1ESmEjqMKtzOEurwh2hYG1yRItjGOVUhwOJ9Dd9aLJZ8jRum452SA6k4GXz\nbwdO5hTdegaCSJ8zcKzpqxF/0hBPM9SdC2ARgZ5Gl3509v8KQzhR9A3UMH9T\nQJqLPOg6AuWzGtom6fjzB8CdTELI0GOOmjIH+sqtZEBSVab0dxg3tFzu5Y2B\n2lx9pVbPhAqgv9j/hg3jT+Gz/blHJJ/sUwBxkoxqQm1mPiHf+UuC7wbqctyV\nV7loz5+P56pSB7MjeOFktLTTz0xB473sRY1W28w7iPtRXKlTWjDL9y51mVjz\nMdM752CFg/7Wn19tO6dwSsnTh++YK9uvWdQcvIeLtjtX7WODCKiJAgkhT/uS\n0Hy6ei1UAJwbzfqulpabjFeCOOIzVPxAdFIjMLh8WVrZ0ftH1Bx2T0dTsIVK\nupzWkVGRyQCwIhTxRCW6Ec43eZC9QULbQi3BgnVPFbhnM1h62DTM6AWQopOu\nzbn5SZYQLbmsI4G6Afem26+UdpiUztyKKq9TcCJHwkP+vBWwYzZtBn9T+Glt\nipEonV9/3LalUo+9PPW/eZ8dQJmzZ/ibufiJIRiQd/FBt8ng9glmfJJXLPnU\njiERiQGUXKJFO1j63VFSqnMN1l80EWWsWGDC7Hrge61hHaKLubTDKPp5luqu\njBiy\r\n=+ZLL\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"7bbc88a41fec61439ed1e8ec1ae701ea35c05fc5","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig-eslint.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","ts-jest":"^27.0.3","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.4","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"mainDevDependencies":["@babylonjs/core","barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.21.3_1640787027020_0.4853010152986066","host":"s3://npm-registry-packages"}},"0.22.0":{"name":"cubing","version":"0.22.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.22.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"e5a44d2cb63a3bcc4151f6b75e2661fc9b6dd5e1","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.22.0.tgz","fileCount":1042,"integrity":"sha512-5CG0wRXLAawqhbPLQ94194PN9xDkayuBBefqZdbkbEcrmg07tzd9Kr4EGf0VKjJlM+CkJf2OvvdYhYYHR7z3oQ==","signatures":[{"sig":"MEQCIFIfIaLfNnxDq4f/31WTGk2CaUkb9G4ApBDsG+stKlf8AiA2fjAWBPeIMIKvHSa7tgpa8QKzM7lvdPafeQtQK9FNNQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7228643,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzYaUCRA9TVsSAnZWagAA0gAP+QFh8Z9N4j9KbAFJNcy0\nN6VPCBBVX+eOYOJRNS8W+ssMlIpBOAYDNC2V9Ne46Ie3FDV6yLS6QlIXlltc\nptJkJTwdIVXRrKMXc8BfJfZ0TACFnR41PncO+B9an33PxSIG8jfAykz8RN40\nesIuTKwv6tSpYrKjUqNEsnM0gJQcaLtsyddrFq8Bt/q7XQmVwjf1+q/nEjEm\ngY9tziAAtv85E9LuBojjbENZwwsmw9eQ/Cjtx6Eum51yiDdwXS9XvXcBPNLF\nOO1QlGccDkxjBJ5wINCQffgE32BuboCkAEu34YJAvDbsXrGoRbt/TEGa20Uc\nTscHjCg1Q9oTKNEWLY/8elPEKRkxZJaCLlDdx9yswBpVKJoIs6oDWjznzjv4\njWofSomSLj9pRjiq0DStiYq070xHgIAa120ALh/sVUlOHwnBu6qMwVeZv/y6\n6Gp2h73D8Mo/PLn2auaAF/tnV8OK5BmS8eqf6QMG/WOGL7Hu3z0GKRpdcJk2\n0B3h3ZAO+meEj5bimOnI0l/k/Nigy3Qjf0XkXZ14HFoaQnx4oJHvX8iNQt4d\n0jWzY5mTi07ZMxL9JAeO0mSiXerosNdOPXh5UY/YZNwmsdZ0+kkSP48UrQVf\n1m8pMP//i5wwbACublD7etoNRP2KtP+4A7M95OE0jKzN5ePWwP6rfBR/27Ka\nHiDp\r\n=RYbB\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"a23b57994b8445ec0ce0f30398611f69361d3098","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --build ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig-eslint.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","ts-jest":"^27.0.3","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.3.2","@types/jest":"^26.0.23","@babylonjs/core":"^5.0.0-alpha.24","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.4","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"mainDevDependencies":["@babylonjs/core","barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.22.0_1640859284650_0.5195088276997379","host":"s3://npm-registry-packages"}},"0.22.1":{"name":"cubing","version":"0.22.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.22.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"ed78e34d155db38e6e529c97246a71c2f30a291a","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.22.1.tgz","fileCount":1061,"integrity":"sha512-N+ndCogT5ygsQhyGyx2KVE6OhRXbuApyD+29TL8Dhy9uruttKUUW9g4AEKxohMPo71iAr1doWd3+kyLeV1V8kA==","signatures":[{"sig":"MEYCIQDRqThhd3YGxLNLHlRh7A6uYZjRVMsNpULEKjwkz+n0mAIhAJGjFO1T7EWi6n6menbDEk4u78GEJfzJWCqGDvtHOsI6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9037153,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2+rHCRA9TVsSAnZWagAAs8EP/jtZ655tOngN8mG6Jgkm\nohtVvIPnmzydHNYUcsvSVKr3u5l+Rtuq8dpTbf0VcIZnoLjWyXf6q+o2m5kh\nem+c9GDpe1PpltXtOGk2iCf/u5bw0p+pFvGgARWTTjJyhypoA3YlaP8aaCHH\nxK40nO0UaD4+dBuEqW7NuXMZ+2XxLnqqL/Oc1DDv2kJ834ZrpGmEvHQ8fnV3\nst1RVHJALvDVBkXRHv3am5vwgTZKmekjrDng5fJDM/BPu/GpOV7DE2/Ptmxa\nwC48edoXBfOfW4cmZ2N8w2/4wVY+JopKlD5l/yOInpjP1fl/Ye/FD9BG7xud\nphYO40PpU9R0qGHjGHavD4rlLPYGLq8HGqr06JoDVztAM6mVxMTmM036FAmp\n+gY5DtuzKZ0HQ9tCvSWcmaQ7y2Bg6PZ6xYiLenzo6nWT8evkjEvMySZyQD37\nFKSmCoh8BeT/oD9/bztvD4xTlDyAOfc+lDM3ZtDgGN0c4mE78lPMpOQHWi5f\nFQWYRuNkCrJGpW3K7fMAWutCn/vruzevE9G7RU9YU9arq1Z1gRkWwWeWnQ0r\nfX02uQIQWbzS++l/yLRGoDBVt/D8Nc5A7L09ZIuTOGPmu7WhVDzislbK/5Db\nBhxz5XusznR+jmL6DPdwUJPq+C0Y8tpsQ4yfvukSxXkOLjuLdNEIFOIwJvJz\n0bO6\r\n=7rX7\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{".":{"types":"./types/types/index.d.ts","import":"./index.js"},"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"b49507205d7b12426ad290a7a740a9176581da51","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of Javascript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.5.4","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.22.1_1641802439533_0.293708297081261","host":"s3://npm-registry-packages"}},"0.23.0":{"name":"cubing","version":"0.23.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.23.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"d0d8e573eeaf909da1b42fb607817fac658d1494","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.23.0.tgz","fileCount":1075,"integrity":"sha512-prpRaM9OHUskP+kKSrw+srjwDUJo7Mep+Q41L6HuO1cvDhTeWVfRvinaFEYgzxK0h6RLMLLY/UL995vanKgOkg==","signatures":[{"sig":"MEUCIEsR3QVNIUEf5XdtBSYSi62L/eyEHQjpQPRyi0uiCVSVAiEA7UfjfjedNMbRUHshvDz+deKUy0Teleraa8MXYREn61s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9630753,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4SrLCRA9TVsSAnZWagAAoOsQAIoTXfyjxHSNPr0xLcfZ\nQBPOCxMQxl/A/rsl3ReKbgJGgEix6RrA+wrt5bipF0oedV8J8FXHZLHenajU\n6Pz9eQh7RWraFybgoE7A5T15lDRE1M1m0gLG2sJjkYQj6CMv0ovP8tm/FmYD\nmZyKOUXNX0n42ZitAPWOUHZ5Jpdn4kwG3Af78IBJStb5Zhwcc/GxbPPpJRaX\nDBwQ1j8WWOFDEjD/+rjC8Mg4n/flXXWlt75aDCaJA3dqYVFfT0vlOenfCV0i\nhAXWGcB+RaSI/zojjXe8Oud2YzZpS55r/OngabewYFLfHJiYosvROO5yecQE\nQGOjGjYJ9Qi/Ipe969wdANIAtcMqzPCetK3FIKffyJnIbuxvOdKDiK1QcWMh\nNFmStmiGoRkg8i+MRmNsVASznS/zU5mxdM8ELEGbxMopgza9NfM+L5FJ3wB1\n1a01g9Gr2AjPmoI4Ef5GlQu0jt9NLGbXcQvxNVrRwD0q70MVzFtL+qCNZLad\nOaUez6obXSnIcUxWZmJ7dpAiB64xdRP16FJ6pklh++8aYaJ7t/+no2ccHEUq\n7X1+DOi5CP39ONPuMjXwf5SjRCa4A3otm274cpJ+abx5x49vyO1s9DaKMhPJ\nxcxjdhx8RrEAOoCbrQzeaZkGDiDuHdl7hM+xPjTIi/vrC+SKDxEAgH+jUrBv\nc1ry\r\n=f2Uq\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"70fb4ad39e015eb05dedcbecf8d942083693ac0f","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.5.4","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.23.0_1642146506763_0.495975144905181","host":"s3://npm-registry-packages"}},"0.24.0-pre1":{"name":"cubing","version":"0.24.0-pre1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.24.0-pre1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"137ee00e04061c73d010eb8bb940101e2ca9a9ed","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.24.0-pre1.tgz","fileCount":420,"integrity":"sha512-I/9a8TUv5cpPNRFE2McGieLX0lkQ4mjsVEVzEz7QP4p5GCx3mgIDFGZhGs6S6H5c0LVVyTN/6OROxKYsHUvvUw==","signatures":[{"sig":"MEQCIBn88jdrC3clzwWZ+eOYhVVFnrTE25+phwHXL4WdNxiHAiBhN/roSVORL56MceJWaltGfAUSpz6bgoRqBJ3cPkI0WA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3838556,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6Jr9CRA9TVsSAnZWagAAZ3YP/26QpfiUtJfGGeYKMf1a\nD9QXHtZvFwr7Ng4f7eAisxDNTjjny7rrGijooJrQcz0w7meevzo4MpawMjgG\ngprBvnCdnl20LQ8e88atrJcc8cmjfIVpdDrWbsfa+QPVWWBK0cNXKNk+6z1o\nSBLhLvRFoa/chb4Fog4vixBWW5CVSS/Xp0+n+WguShcitHLM3jJlQ6EZNpyI\nJ/StOZQNNvYaOeaJUrV45vajiyIARU7neiNRTHEFDF1uBaDE8MsStnsrmQRW\nrxlTprCy3rN/fHb+AnGcgQSBu2TQWwJT6+IT07BAMIaPpsJ/LG448osfCe8I\n3YiH3UozgnWZSfBjAT9KCD1DIFj4fPPWoofpQc8xDoLNoPLudhE8oj30/8kT\nEJpJ6455QGxKxIAKIBwYh5vqGZn90ZMeAWVeOWyh9zIjpdQ960Is6N/EdA5g\n9kdRTCdumUED0e14Lzocu5MUjzZRvqtk58VoiOvba4IJRvrG+qhaNe/8ylsQ\nvuOrPMeKG1L1FylaxKpe5F/RZAIDEIbPw6GKHf5CfV29O2efCXseq8F31b3C\nVOA4ieUFciBkGbhUfK7z3nqZ7F1rDSPFx8o6bnj36zj+F3O4VHcJwsdu6baz\nPgccELQPdgRibvTKou0mU94JXpwFMPdWyPwDvaoi/xri+8FJ1Objc+mSdFwD\naCA5\r\n=6ZDd\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"669b089c21e222b9abceaa3ba1528075728757a3","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.5.4","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.24.0-pre1_1642633981177_0.46805515808775766","host":"s3://npm-registry-packages"}},"0.24.0-pre2":{"name":"cubing","version":"0.24.0-pre2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.24.0-pre2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"6d6385cd9a7a86bf1345cbe6dac671165194e94d","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.24.0-pre2.tgz","fileCount":421,"integrity":"sha512-awsd7HPRM0ruHJjBqsWh1tbWYbvErmZHvFrwtkS2xmFrLcXpdJxbBwZMNRIjkDzJ0Cb2hx5PjK2hcBtssakd1w==","signatures":[{"sig":"MEUCIQC2XOQFSR757dId/eWAOeKyM/SbToYlLvyXRVzjfW/RXQIgcAku2Urwt7an9YUx/3JKfJPne/fjja8blWF1MjT+UJU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3849607,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6OnvCRA9TVsSAnZWagAAMQwQAJ3+uwNh76WkRejr/JUf\nKEVYwJfMzXJR93t1Z4pLsGoj7Z9q1CsWPYFlTrpHyJZAXNX5Bk5d8XhqvPm3\ndUKbjpQpc494BZsExMgnivynJxxf45xEUTLgvobqTbJ3K5Bm/iUChuNGrAtJ\nAQ+QkMVC2s4JcD8DcSmGdkWHeDefe7im/sXL96Jv6kSIlb+khfW5i/Yd5jZ5\nR0CghUuJhnZ3PDQuHWUSy6saBYy+qKsX3Uxk1vIth3U8H1HQLxY1YNymx7OC\nrqHlcbqTDx2GERxRuIzs1jxv+0/3EWQrDUHRFncWxxBdGJcgeNFKuPz/SNVf\n9QhFCk4nLujQlRjdgSQwmDzkGEHqHEaLaSK64jhF3iGmvzrH02LHhHzFc4LE\nsbr31UFS7A9uHZKuK44NQBgJA5pwu0mJy8xbBmbippdVo8sqZ72TliWu2bbW\nHvzcCtRbA8XSPa4aWnLxgly2w/KjQ1C83Mxw2bd4KCQLjVVpwAkbv9x+n1zn\nHU3CPgBCo9glgmKb3KL7YAzgQy5tSWO0lCfTDTqqoN36bU3uazT6cdG4b3KM\nwdcm77PZrc6dgjL5jCPE8B/ytbuMwkvOKHiSbWn6Wm6BKRveIPA4IP1LCF0j\nfuDDYAx8CsBOMTjSwyR+CRb6FY4ovvnxYSTgiVCLCq4SMlUJIdfMYTsPvXEr\nC2WO\r\n=N4d5\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"7bae160250ed2843f5561cdbc5d15fa606026fec","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.5.4","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.24.0-pre2_1642654190699_0.014251289701205483","host":"s3://npm-registry-packages"}},"0.24.0-pre3":{"name":"cubing","version":"0.24.0-pre3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.24.0-pre3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"a6363122695795c859677d01d1c53c3437bcab5c","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.24.0-pre3.tgz","fileCount":420,"integrity":"sha512-HuuHkEyDAA9uJudAw0kzrrapjLq4FvnovX/xf9CrZ+1dl11Fyuauqvz5an2zppfgMHO35lhrrpRlw4/6pj38ow==","signatures":[{"sig":"MEYCIQD0F2xwiKrP5SMWtejtUEFf/sxDwA2TM44CJNlss2YAFgIhALOz9osWQ5UoCi75ONxrCvB8Q/bTwY+rcbu9b10dxfEV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3846148,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6RJaCRA9TVsSAnZWagAAUwcP+QEJJ7AGNVBAnQvDya6j\nJe2souHzWiLEDJhGxupNq+kii1YZkL77llvw5qGpW0dIUDCpdGXsAEK8tZSF\nX89dnPiDLLQgxi9kVzucNzYT8lUOBgOMWTkr2ppNoVniRuBJ1GK8ewu9EKFe\nLhdXe/q7GcUb/rfIZ3eZj5ozT1xuBljkW1AhCP+w9G7oh59OWon2Yt4lZHnB\nN9sn8WlIYPJnJ1t5BchPRIBk1f2M59nTWg+uhAFwlJUWzunbQZ8iA+v/w7H/\nWKvhux/4NlYMBPovttI3Tarbv34Qo8/3sUJnUq3AUEB5pldWpAboJlabr907\nPksI1UsE3FmoijsOE6BwWwZZ5ZRT/3myU1US89Z2NHfSSAxK662tJW6bRoY4\njfOn4xcWg26WIIycOcQxsiT5FV1Q7YL29AjRRv7NHoD3cS6kEiF9QxZbY9JO\nRNGAp0qrVHyfuIaDuJmgb9JvfWtlEWfslxD4fvdbLWOnGbAXtUcSUytvBy8t\n1v26p7MDKkjLzlvgNCUcRF85vjIW3pBDAjHgqSR8f+a4BJy8Z9NDsHPXTn4R\nPYmwB19yGzk5bEI/ZiEVN2McixDCQw8s6Ar1NHTl2VH6eRBA5NSEFnnqElED\nXlJT6ZqSA89MIkpie5eak3cToMq/Ee0wzLO6d/2qo2onOXHFQ0PrLk1jAYPu\nhhWm\r\n=WqEp\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"7b3cb898edeb8a70dfc25f64bb329b61e543a725","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.5.4","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.24.0-pre3_1642664537986_0.4237531252358908","host":"s3://npm-registry-packages"}},"0.24.0-pre4":{"name":"cubing","version":"0.24.0-pre4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.24.0-pre4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"901a2fb71b7ab23fba5e7d17fc09770b59488396","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.24.0-pre4.tgz","fileCount":420,"integrity":"sha512-d33s0q7rCIthXz7oryldkCN+96uxNb7N/w8pQ4cLm81jFZKZNcsEsjL8o+ESnXvthl0p1XAALvb0IT+vTqjmEg==","signatures":[{"sig":"MEQCIDq35O+UkGtdT6b6cSnHW5tQ8a+gxGQ5ehXW6LsOaN98AiA9OlzAtdqnVVkbGnuHlLyDY0kgpvmDd59ydvM1wTVcHw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3845407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6TUWCRA9TVsSAnZWagAAbFAQAJ7XbEvSaF2A4sJkm444\nzNu280YIH877PUhmwXg68VwLSfeqneVJKq+Irk/QtugpOnR1TEK79oG2CMUt\nmAeRXrksjodcAeSiFTx3/pvcWCqhGn8fQASC0OxjCzy9aKASzO4xW1pLnCNj\n4PQ22udGyGIuinYCIpG6okGzSvq1QJMV6o2k2VFa6M5G5hR4K4EIAwrWRwVu\nakSbO2FMMyY6p+dhbPWnRvJSiem8QF255x6V/LkQ37BoMKdB2h8sRRcRnxPr\nbwRtBbVYLYLhwZS9LPMp8O/+YaAVhEZguVpWq7buiWTkWjIJhcUeI8N6qCd3\nzbrZyaPXNFV2US7uhXClNg9Acp74zPFUst0MaLzU7WXdoieh3i4cv8cC3Ix5\nWgbVeb4Zf1xndjpvi1F0h3E4Hkjha4+Do2Xv/Wi75PVrTAl+P+WQRne1j8PN\nyD7Uq6KJ9Py11nBhgHy2mWUKG8AuGwS6Zefn+3vlpdGMsk49k3sGvkf2Wa4Q\nbzJ4N7zI9auMRKVGAiWLIIqM3kJXPb/Ryqgu8RBhkeEQTlkD4ggXjreh2Za2\nb8FLEGZJyJkCw2ZbOR6VKCeT/eviB7fHW+aOyCgEik3664y68lFlDlTfOhEI\nFRuuozmKjaVGJgwxr+UvSmqHyB3YmoG5Nveu+hY33bridcOD8WjFly3/rvJv\nv9GM\r\n=1DoN\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"23818781d92722c482f9c56cdfbb119d15eb9559","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.5.4","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.24.0-pre4_1642673430615_0.6925933138104468","host":"s3://npm-registry-packages"}},"0.24.0-pre5":{"name":"cubing","version":"0.24.0-pre5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.24.0-pre5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"dd7790f8de5f796ca2a209f73a66b27095afce35","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.24.0-pre5.tgz","fileCount":420,"integrity":"sha512-1y4z71eIG4QBGmc/omZbMHzCMQEPgFQoxUj1pQfNoMsGUDwSxY4ZWvIOXLVh8qbh2DagoYG+m8CNb6RrjuWdiQ==","signatures":[{"sig":"MEUCIGfFykFgPwdsy5eVvW1+4ZDG4BEUO4TLfRW7TpuH3HyyAiEAqOOXz2g2byM9iHxvPy1HTGol+ki+W7HwBeUsWyn2xrM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3850272,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6cJDCRA9TVsSAnZWagAAf5EQAIi7JAqstGY8gNdexDhk\naVo8TGcT8yK2h0zUjyUbwenj7caBKF3uQDB5Li9/d9LBiqXjnyAHttzBazHN\n2r/9UcU+ExcrWeT3StBxeuhvM1w+1UttLN8KYhstv8AL++kK4S4JmLCZ/1MO\njX/PSDE8dWw1MLJjRbuNZhDtntk5UQ7UFuOUhj/ds15BlCS8ORcL9Dgi/QQj\nJrhD+jB3r0o30cXMScadXll38A3qTJ+fvR+8ThyiWFiH7O5PCEI5o2FY4XgJ\noXxG7/34bP/3iBEjOsZIQi2pT6IiG2iVIcmkm6MywyliHSxRlS3ZydXPinWc\nSVvjbIClv/nIm4k7GOBgUyyd9bOtWcOq09+KWwZYbbEcBAYWNcwpI87r/Z5B\na9h1Wv7Do1tV3wN3oL/zQVpqHEenw/n3fMzvujulECmzrQycprAVVEt280nH\nTZHWo2VHQbrzFiD008KaFVE/K1Ab8FTPQeVaNC1YtY7wcFmwO3D1vPQ7/0IG\ntRASSBUWgIsiQtyRvqYIP5drFVk+G0pHYtWtSo8j1EiUJWMYgVDoAX61G7O3\n0jego9d5sB53KJqVagLDw+6nUMWuf9YK/f4fyAml5CxaabnKSWjn2iIWTT5l\nlRmsqoHvKSXzPPl1hCbOqtkCqmzqbXRtnRRwzBqmYRiuxUSuGTcPvxzvqdFI\nkemR\r\n=mj5w\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"40b933f0f427a2aab41fc1b26488fcd0135d93b8","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.5.4","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.24.0-pre5_1642709570922_0.8660914188780615","host":"s3://npm-registry-packages"}},"0.24.0":{"name":"cubing","version":"0.24.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.24.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"5c366be78f10f8f0a635d7fb9b80705d51453121","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.24.0.tgz","fileCount":423,"integrity":"sha512-xria5sypffFWHK1bdv9+i1wWmruRMpL9KC/vK6JfZ0AskBwtq48LYgvCArAvK4VuPoNF/eabmhBor8YFy+1mPw==","signatures":[{"sig":"MEUCIGQbHkAvKaJ/GRtkh9hot4OIcUc7XQZZqJiOEi8aZSl3AiEA44d7yuUMD7soHm8wwVeGnF2HyC98blzjTofFX7/C8ek=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3865456,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh61yeCRA9TVsSAnZWagAACZYQAI+7ED0SwNRsIFUA1ebu\n3V07yi9rGGbNfOz7VSwUW4kEPfL6rduiBMaErKAGN5uSJVvRxgQXkmFIvXHr\nijegUV08WroVlyAWSe1YNz/SqACHWOxgUjRb2DYFXt+pBaq30kEDKMXyaN/Y\nQims6U8uqWLoChX1+Y6cBRL/cQfwntXxMiBCIYMK55NrlfdrdYzRpfmfC3rh\nstCGCenkbIM9lJ5vlmPTFau9phk0WNvltyKLpXAkL3zRbkLqRkoEvbMpvbz8\nrxh88FHgRWtN4Q/t9rleZVmiheiApBxYUG9Jo5quI21zeJYpbTxIo+TIKtMr\nSU+dfe9jWR52kfymY1O5dNMmoHidMUIRC3FQ7a/qLvBHUsFelxMQoag/t7g6\n5lYTbkno7LIEdqGZOakAIdXST4fnloCYB1Cg51oTgistxV7teh3odN/USvTH\nYm0z39Vm6ZEpq504ak/UnddoG49ctHhJcnuWxGucLMOvwK4PPteo5MfFDNEY\ngHDu2QK5Guy8WJyjVTisEeg9lsmjvQHtGCVjaZ6bUD7ifjpewPbs8laGbW/W\nmg1P8pD0zMNyibhRkw/iigfX2FI4DHUDo099UxDM6KWlTzrj2nFQF2ueOdVY\n5uIA8CZ90KZeCUcqc1iMmmc5gn5MbUIThGAnPpEVQd0sRu+4/R2FZDgc2Yp9\nf4Lq\r\n=E35I\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"ef8087ccad5a1f5b6e9884533be1cd80cf86cf86","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.5.4","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.24.0_1642814622259_0.3913996057930702","host":"s3://npm-registry-packages"}},"0.24.1":{"name":"cubing","version":"0.24.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.24.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"bf1b9379105dd51913ddde3e9e3eb6fd2ca2466b","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.24.1.tgz","fileCount":423,"integrity":"sha512-YeZfeK2QNjZ0u22lRDz73M3kKJ2d+TrIe59nfcNcnPkmrJr9fQsiuG859TTuOWJF/ntTbq3tcFmMtEl3sR5Sgg==","signatures":[{"sig":"MEQCIAbq/uGEWXsr9UzI45he5T1YYW9K2BxXcvk+b66D3VsgAiBuWfhZoQBDMgstNMA0hBHwKjxVgpubCrwjZcxvq03Stw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3868560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh62fmCRA9TVsSAnZWagAA31IQAIcSh2bXa6bVQth5HrEY\n36WkH+qwJv1T0yBd5dn8MfLUZ58yuQMUa5flSCj4nc9NKqjo6Z32KwktV/Ho\nRn5KcbWL9Ns6Vqt3cnBnbaSuRKeTFeXEvmKMVXGRk3zjI1nOG6btAlZcVBXO\nv3pYycXrBDC1pkaF+o1/rG79XNLanuUO2+S0guTkiSqmkN8dAS+jxXPoOQGU\n8v9HidQKbs+w1sdmor33EiEuCFC8B1peBBaAypsFENgEj1CZv2A2lYjhJm25\nQdUKQZ11jC99xNTNAtMC/JrvN30gNnnSUuqwe7o4mQVAzK4T76bEjGtz+tNp\n7an/NSYOPGnRLRI7+q6QOdW821UaJ3ZR3n6F8nzoyd7dJVNdvapROcadq6h9\n97+nRPC1duIvjCwbwHPEw7UKKlmO7sz3TuhtWMKQVkU6OqzOu3aIydsk4/j1\nUrUPxJwgom9dx00hKbq7CVBvlp7t1XyZfgOiFxc6ZAc8bjjVFN2deYq2M90h\nvy2IVzYNDeniXgBotjQQueDDpMz0KX8LBS4ccZjnshIg1s+kSUsReQM4+vYc\nLrAykchLh9MW4900BrJbO9BfqF6PzUaqnl0EesHSRtZYFX0+Or15Pl7+KWLv\n5ATZlsGZ4UjT4f9/y+cxIkzc3vB4CRCKkl4PZ4LbVQk2QEnfKZchZvb8bjjo\nhJzE\r\n=BAiO\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"da87481c64ac98b9ca5069ddd7a74095946dd643","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.5.4","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.24.1_1642817510370_0.09287914195879599","host":"s3://npm-registry-packages"}},"0.24.2":{"name":"cubing","version":"0.24.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.24.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"a89406a90fb5d1592f2f2f72ba215666012dd377","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.24.2.tgz","fileCount":423,"integrity":"sha512-9PS+6kqBiYK98+LNjyiFdCd9j446Rhubn6Uw0KRmYx1KG3BA2yQ4E0ZU54DxxhZ+yvKoOi8P8Kjej+ZKwFTQQg==","signatures":[{"sig":"MEQCIBFrz+rJDC/Cg3hDWLVUQfgc6ZZSIuQoktSC4klavKZGAiAUBDDewaWWXRdVVR/YyODYGyzredZY7JArhaYHaHWryA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3868788,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7He/CRA9TVsSAnZWagAAqTUP/1ZOODnL6imczS6Mm66V\nlc6GIcgxnmgLlS+sbtExDnUTy0XOxLZZwjanKUavPwFEMUS/fhFnTHeN5Q82\n1t9JhbjCbAn0FsooLRMQTuUq04NK5R02Lob4tugRHjT7tsUabMa03tI3uPAi\nmRkEP7RpLWSpJiLbsRSnkUihK+a3dS2rDxI1yyeMEuy9MiWgBV7+poBqLK0h\nbkLB/KjJ6ChAyJi9apl38/H9jZvdh+mdv+rWZqr865yoB9NPEGBx5T4kncFz\n8zvG96t0s+2JdpHPp7J8oDVS32PH5cxgCVhZmUXFxIgQTbcdV60Qm0+fqlL0\nmecpvuRIKQDADi7FJGzhu8HHXVSRaWJwLffFQ835romYK+QGPzGQ2s6Hfe/w\nm+MxC3d3mvoTthcvvU1zEaPl9W4OC/sYLqK7X3ItUf2U6hA7ifhCSsEied3k\nZp3o2Y0HVHwKFM2UQnhNNqKnK8zWJ9SCIxLV19gRbtb156VE+gfr9j404hAV\ndIvxBVGip7oDAHud1EYP6VLG1dybzMnAQrQ/W4Z0xDHVBVj6u42pPgQQKeqw\nS8PKXOVg00EGewo1y6Z2Caoqbv2IOCNnBoB4KJBnywd1B2XUso7TW+Bc4niR\n4ad87e0M8IN+CX7yRrePu6rY9GHHgwtWPSoiZSvWpJej88Y5zs9/iRHcPeN+\nazJl\r\n=kA8W\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"e71ce3aecd4503752af8a340456b618dfedfdc5c","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^8.0.0","babel-jest":"^27.2.4","typescript":"^4.5.4","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.24.2_1642887103376_0.3694710971669328","host":"s3://npm-registry-packages"}},"0.24.3":{"name":"cubing","version":"0.24.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.24.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"2b08fb3e5756746825a7a52ad27475913281d990","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.24.3.tgz","fileCount":424,"integrity":"sha512-HvQIxsjYIrJU586B3o4ImPTnoxrfbHieaGTQ61koAZKkC1cgbjafHDvQ8VV+OGudOTEHenKuMf2NwvKES5kOFA==","signatures":[{"sig":"MEUCIQDbSJvoob+jYxHNx012gjHcSpL+jPzccoysQoUx5fgI4wIgI+2USNFpe9IZBGiRQfdq6f66NDuo87vkwV2nbOEfcaM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3877976,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7ihXCRA9TVsSAnZWagAAl94P/3Yjt81CSYZMwt+o6VBQ\n2D4C//HuN1G1Tkz4A66CYs9/+631sRt4jB24/JLYRwJKEKsIYTEUWWTeGC0B\ngzRyJV/ke0341mhXDL+gm+xsQw2HbMCC0GVL8LiaOppO+vCdcG4Oo5wNl1q3\nvCUDrN3mMxx7tdzGZRYWOStKZEjczQlgNuJPz/Ul52D+r2MhsXp5ihfvKTlN\noQw5GI7Dtgg6O3bN5Is1oGVKvsGSX8vPkjtnesmsRmRP9BhQ/NlB2F9idURW\nnrt01j/GLAky86sD/MIXOzozy1TqcknvQxjp5DYTI2ewPn799k6YWLAB3RJl\nefseEm5+L2KBihkrevVIskE6zZsBXA3/HezCaYX/EIByQQMKGpXeL7WUtEQy\nHdri7x6eW2sZRF0qe6XWuvqIOte5zko4E0hTQRZQqhdLVqusQ31bIQ1bcf+t\nEW+jHMC52U/LjqVlw18F9WvMejC+2nJpxO6TbuN1pqjURzAwjxuYmzh3mgLX\nSkK17cJhl1h6ETQNwOOpl5ptGXfspuF0Q1ew6XRV3YpBm0farpzLYWNk2BOK\nfpCC9g5gYmTydfFqcaEj3W4N6jJKVppQ4E2BKsBzOMO7dBqgcljmz3MV3FLM\nrEuqxtaObn426bdUEpShba2zeSgSfojML779d8K6+lQhiQXEsucnAFPSAfqA\nm5dl\r\n=7Zpa\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"96b3f796b9460800c7794d8541dfa948aaa9d71b","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^13.1.1","babel-jest":"^27.2.4","typescript":"^4.5.4","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.24.3_1642997847500_0.5678892109833673","host":"s3://npm-registry-packages"}},"0.24.4":{"name":"cubing","version":"0.24.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.24.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"eb157f44eba6c32aca8e44c33e56ad90a79de88a","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.24.4.tgz","fileCount":423,"integrity":"sha512-PnEUZ4T6YJEHErF6QMcl5x0VkDWpLboyLw90QQ6mgGldIxWErJC6O05svP674MGxSIVe/gTVP8cwZ7GWetrtrQ==","signatures":[{"sig":"MEQCIEvqt27H3/9v9BL7VagLftu5EGwc+dtiQDfiXb9azSa3AiA4TXykPG6b1xw8GmYkn44ZOZdxGuF/CdkFp6YEoktvLw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3877102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7jKJCRA9TVsSAnZWagAAsNsP/ivxx5k/dvqJEMTh66pf\n2VpsEfe4WTnlloQlgvP+Zdh7QO/qu+7OrxA3mRhqpryieOkqWGNBpd7WarzY\nhfIVTDfXUjsFPLg0TzMeNfjanCEDFijPjmzfhp0KjL/S6bT+SrP/hqoFPpFs\nAkXK0NUBradavYDju4Q+LJPqCQjWxBGBvRSrKg6J6FpwWvC/tMwHIZR4Bvss\nsZOtiaQmFXGgmE1z7ymL01UEP7Mcmn+/IhpVUL1AxF4fyWHF5ZG6XY+SFK6p\nYJX/41RLu4ibb4O+pkllEBUHGrSLhFNPOMFGKS9O5qP4fdJE7dusntM5Plo2\nVXYDgI9G+UL4oFQHwy7NqD2DLB3IcFXd71C7fR1awl1VlQ0OxS3Y96FpS+v9\n62V3qBfsXC4Nze/UnW6DTXxUCyzIpgufnkQmRnwpaqGZMjEKWKlAAc4Vb59v\npOdiL1AeE4IE8Fzrwfn8YJfkxWVvGax9w/Mvtd+7hJMzUdkS4MrYErBcMjhC\n65vkwYiQYGir2v96sPN17Z2F2TzPdvnWZBrBIhztEVfv++mE89Ukpry1XUAg\ndd3suyTxUbx0WiEmoLwbKSlDA5NW4+Q34Hnl24oyt/npk1KmhXT0uX3MT9w4\nSPv6x4Je3Vrqz+CHv5RGO5WxSDCDyCTIII0c1FMW/6gip+3OKCPhQKReKSMv\n4V5K\r\n=aoSQ\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"63f6ada4a90cef7e0b98814e0f765651c6bba76b","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^13.1.1","babel-jest":"^27.2.4","typescript":"^4.5.4","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.24.4_1643000457793_0.26691323147804913","host":"s3://npm-registry-packages"}},"0.24.5":{"name":"cubing","version":"0.24.5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.24.5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"b67ddec8a636f35bd1b2d47a7f61cecd7df84289","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.24.5.tgz","fileCount":423,"integrity":"sha512-nxvy21zjA0quOoBp8GyP7Lk0E4f2cJnD4BrZDpQbAE+djyEnjUD5FKg64JmOcE4ym5CaJo6B+XpqX1OfPSUynA==","signatures":[{"sig":"MEYCIQCSvwoodTiXvS4EJSQWO9gHkkQ4Jz4tRk1nRHlScQ9yEwIhAOLOEoesq8kpX2UbF+zjxh1dTjh3QnkaxWJWUSdRR+M1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3877296,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7jqZCRA9TVsSAnZWagAA0eEQAKSrUvKVh2tfwcUhxe+f\nBfHAIjz7DXHhvWk+qw9MKeRyngr3Tv2ee2G/nkOnHwBFr0j+TjDIeBOSLZwT\nUxZVrLoCUBRnExC1immDV0a6nhApqaQ0lp/NptMgppmDbrDQbaP48hLdAfAq\njGp1qNO3GP7qI3fzaVYPd+1MLmKmKw4qFxWF/xgpUxm+1VjUWJmR3ombH6/q\nVKf3nCr+JYJCoDqf1kn4FLI5ugjU1T+GGkq+4zzi9gpsnf1dT+Gb/VKD2eqJ\n8cgSu7cG4LSzOFlcFgqMw/tB1V9GLZ6oLNO1sC9IHZHweIcWD13hcQu3X66Y\nwx2quHhNmI48xghQKoyZz073uV58FHNiOgEVJBGVPJw8VhanIBH9KaR1AQvt\n/lmDwMECbLd5Kj75rgPoI6NkPoT2Bnw+QFt4/+RGJ/PnUw/ImvNK4ptb5x2C\n8BaLLCxV6O2Alo6lg8bP06/1WPSxaU2IBRfzv6zM7HVH07PztpaMd5NuGxDG\nA8EFqK71NzrAIsYrmYTRj34eVWRd3E+sFgINhZr83g1znPgMUV0RYWKZ98b6\ni4nz7pFUfYFDhQtw88sts1v2f/77ry0mjcg8RFP46shfU3Fg0kntvbkMPUna\nzCqjWhj1hG39U08aGYiltA9Qx+09OH7q9NeIjeFCiw5CLFsEvJ/v5dP/WdK/\n+J4m\r\n=ye72\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"f122f154456cb93aacfc58239beaa01f91a0966f","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^13.1.1","babel-jest":"^27.2.4","typescript":"^4.5.4","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.24.5_1643002521731_0.06149047963252596","host":"s3://npm-registry-packages"}},"0.24.6":{"name":"cubing","version":"0.24.6","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.24.6","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"551cee0424cd8bd9d9257a9f39023600359b29c3","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.24.6.tgz","fileCount":423,"integrity":"sha512-1e5gUmv4K0aIipapHCjjujJ60EikbwBfSLbNA5IdY/YR9wx1xqP+VbgHsDH+jkdor3FW7ixLe4Z2LPyO0s1L3A==","signatures":[{"sig":"MEQCIE4qvsu7xczGZGpZDnw0yPs8upx/Ij3i9JI6N8jmYO0LAiB4sg7nNHt0M7mCdpqt9EZOeYg327JPghWXHRAH/N5nvQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3877385,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7kYxCRA9TVsSAnZWagAAIW0QAKTNrAnYGkg0aPdAs0/C\n21YNi+BPEgASxnn8SfLUJwYph2vIgCIlQloGgfHMsWtZUVoyfvOaDBTSE9UA\nfEUAPLO3F81zkW+zjk0VCeKGwEdGoXgtqMwD5bfSiHSv0nBcWd4rfYwswzHn\nDgkBl4zXv5lgTxDUpY1gJr6F7xQdyXY6LFkFMUTlfC+q1SZF4MFDgzT0X+D3\nTDKdS7xSA6rJ6/5p3kSelSXEM8JbO5gYT13gXVwLlqru+ybGLu9sWiDbiIGu\nccQy5IraXwPBAZB9tOxfCcleRGODiHO8plpdiZbxJPLzYVVxxYock81V6YhY\nMeoZFYofMqvIb1epKwa45VrVe9g/O6OveR6zd960EH09RP+O99hssebGTsG5\nVTOV9QKBEc0CYZObwijBz7U8FWgujNYhMFrzTWBkNmwUJ1XtyTTxmmZfPHME\nn/qoBWh2lqqodz0Dg4hiaNOXiq8N7Jo2sO7LqGAn5/AhwIfgFTOZ/Ql6IV63\nqUJ5l7PhtFNgtHoTNSwngGrYqbaVrT7xdduLOIU11Vu0jZ/1kjrU8hJ3ZuHX\ns9a/RfQ3kBk2AQbmwzOTXdYnxwO1zfUe36LA9oXumdIvyukYWDmxICkKnjN+\nXaHahVMTp76IhysOaEMuWn3nrIIBNDWChJ6j/lf1GfuEfthqaOeaJY1My6fk\nU530\r\n=b8Uw\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"39481525b9a2c5256d5ee387796f4962a59d7d73","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^13.1.1","babel-jest":"^27.2.4","typescript":"^4.5.4","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.24.6_1643005488792_0.7433646271527061","host":"s3://npm-registry-packages"}},"0.24.7":{"name":"cubing","version":"0.24.7","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.24.7","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"c6bf7ca9196559959f53903079e31f4ef0702e3f","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.24.7.tgz","fileCount":423,"integrity":"sha512-bSIhC7SeMsa3px2fucfBt8Tup9WVl5dumU3Dh4U2QfLrYst4nytnsHRybIYwIKPPOM+K9srNqwVyAq5gIvvu2A==","signatures":[{"sig":"MEYCIQDjYW+OAtzoE4aCpCAZmWYmoLPbvNVVFgOPpUynLbOazQIhALTsJrsyIYSzPKxyE/Zgg8cOix7avBB5kHBekHDvSM26","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3877385,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7v8HCRA9TVsSAnZWagAAiucP/10so/Vevx1pIV99s8Px\nxkv7HekiU+xPykunPwGm7O/0rnEZhRXV6GH7r+5e0XkKMR6pH8hd0ae9tA31\nCPS/yGX2IwaLYwoVXDSdpxw+dUchFvr7C5QCiYqswmfJN0+epBQWs2y6Ox3U\n+tUnHK+Re37BQYq+o4siOhMmWc5tycqFAQ5vO1yv6gtzgw3e3uW8j4Ov9b19\n47z5Md7YkoPmO0pewK+NWv8kyx7/f7QO0Af/yLKeBBWTw9ZWBWGV7Jctleln\noRanVp9jcxVMrE/1orXsRwmM1sRn1TpEV1Tw/3zVvMAN8Z15QTu2xL3jlm1k\ng2oTFF7gvO72vSJpnfr5gmcmcCyIAvxXGaUfTavaNwzcwc4qFqbkCfmuvcKd\n5yjEJa5zHU1kc23WSMkpzlUoHPdISgIYxuPRFTiiu3PlXwS6HWWeCPXpGCUZ\nN2uGjlTGrC6quWzBqtXxu0lBe0r8VPc0nazv+a/bUtUtEXa2y2z5J64fFZKg\nZoW8IBBdzGbi7YUySl/JCQ4b3BZj0ms+ZeSGHSmGkeLw7uS3HxygQlhqfkgJ\nI48j3svstU5D7SPRlDBTFB6nEY6yoq8xL80gM7RQxsH4v6IwycW/2RHTSgzZ\nx8+CYPqDScYKFJXkYtyZh8ylPbWPWOF2OWymD6CGUxelLV93gjBtVWuX+tz6\n1Wxd\r\n=hHwg\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"0289671dab53ae9e9b8b07db6917a73fae853ed8","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^13.1.1","babel-jest":"^27.2.4","typescript":"^4.5.4","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.24.7_1643052807019_0.3987817233908082","host":"s3://npm-registry-packages"}},"0.25.0":{"name":"cubing","version":"0.25.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.25.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"d37a98ded00c1b83b05520ab298b24fc863000e9","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.25.0.tgz","fileCount":430,"integrity":"sha512-wS6knI5WozOBp/3glrtbh5Pj5bcnGn9/aARw6efKPjHtopt6KDlSLzgpb55u42McrRA2HPUqaaCiLMQxb3Cl5g==","signatures":[{"sig":"MEUCIQD8JytY2Ul4fWzzNkDrWQKZriXzp5r9N55/tdw3/7yzywIgdS2dTAgwaUQ77YYaT10pYhFU0h84RicLHzq6Mtpr9Dw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4068746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh78K0CRA9TVsSAnZWagAAxvIP/2XLjxnwZ4DVlVjR+Z2U\n6mGMsatUBtV+8OCf2l3UlIZmP1BDTXYqSRp71y1LWXjd8RSx0qBI4MMicIKs\nYu1211aA/h1TYGpNyh5WsrtPPp5Eg9aa5mAuhFr6iV2BD4SfQXr7FO/D5n4l\nT7sqQ2BQUh4q6GVGWDi/j5AgO8tfH18mUG8Z6SiQY12f2DlMHVsL7kagXVnf\ndfMZhAhBZLDkpMvSFxGjDCBqPfQ8dXMaGIxqmuCu4fjLuBjahB1oM789gn3K\nt58VVSYm8hmOcpUK8CF537YU0kEgkespYVGX/Pdu6vgq0p9fdd67G4QNY/29\nEN+ZHAIa5SCKSfiwafVTtPm6xtRusya6ZWg0o8K2Z+5dJ89mM6MCG8HMx+01\nF2qmBaOgLjiJwqrzyHEHdTdSqEY/Hr9/fDa5tdM48lTFUBWAJVwi+A01ykIc\npkyMnYKZ1wzcuEAYaQhPuOCGctHhubHGsGcZlJylSoe+C/m5107XBISYSiwi\nIDG62JW3sqfbSlxAOmDT5QClDaQMuwM98uqZTU5tTbhbSbervDtIOceogngm\nFU7DkEXFSCthmhL3MnrjRMMJh1dQGZgqEgxFG7Kw+FDLd450fSfJ7db7Wt3Y\nhQN6S3i6qvM6JgdZExRqioYscbDvAVmztl9u9PI7/3H6yEZ7ATb6Wp+tDTNr\nfGmz\r\n=dD4E\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"3caa2da4c2cea738fdc7f840155fa80933b97c53","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^13.1.1","babel-jest":"^27.2.4","typescript":"^4.5.4","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.25.0_1643102900064_0.5069330662116751","host":"s3://npm-registry-packages"}},"0.25.1":{"name":"cubing","version":"0.25.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.25.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"308cbd72dccfe080e0fd07d504aa6fc63ae3e26f","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.25.1.tgz","fileCount":433,"integrity":"sha512-pLEDAfB7TnCDnzpcF1GtdKOF+8gCcDp9Skiy9JMI6dpcjwjDS3LE10nMP47MPMrQ6UqC8DJv8zQv7WIiogJCbQ==","signatures":[{"sig":"MEUCIEvFgHsrDY6tp2MR+fCdXEO/K1loYxgcJi1femlx0ffaAiEAzc41WvjBuqIfeUDKE3KIlwXKZZHBYIj1viFX5mkpoP8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4137391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh79+uCRA9TVsSAnZWagAA7Z4P/2Jxs+MEo01oDIgcRIot\nMK2NCo0CfaUatFot0NfKFf8yGqBc70jl0ouxP+VwIx73+R578uO02hjt2zpT\n7d32HSlzuIzcH6QYnR4dSHHl9JitRYZqiNSCgbsLw4F5bbNQN9frC84s3v9O\nxdHRV/B5kFud9WKc0Op2V8j0gkPU8ayg+PnPCajelcivGUegOPz4krU56tYL\nOHwzrnTIK2TRHCvtzF+PnYIDJrg5ytBJ1UuBBHQ55Spj+mIQinDm+msPavV/\nFWjFC1w0pV31jGl8t8vwYiIAixSLBdG3sx9677OFhFK5Ifuo//9CMbcadpz3\nXCNdkgeEkgIKL9DyEh/cHMkh2I31qsKoEnfCa9u0Oa/29sd1+EnKK4woIvla\naEr4q15RKlRrGjBwoICfrpqIFgzYxU67rFc4/jyJpSRDS4EgNlPgv3tAEAr9\nJj2IowWkWdPCL9YDY58RXIPS8D0LtGQT3sSsJGsQP9S6p5A9F4dHLpwq9sIa\n+1I/9aDaHwTP1DOZG3HnrqUuWTy6xv2nh8U8KUf/YPk6fFvCrht5jMgE1tSs\nhldVBuLOwjDC56DP4POLB/AUvsEml4/Y0XxkrYf1ZzZblDu7k8Rc9nArcU2g\ntQmlFxkYQGtoeOxbuV4myt7mNPk+ATwN7hOTA8ijdkvtyLogAkdeb+1oc2V9\nWBYW\r\n=gp1g\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"9c0b99e1edea129adde5a2e62c2057af46cdafba","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.135.0","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^13.1.2","babel-jest":"^27.2.4","typescript":"^4.5.4","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.25.1_1643110317760_0.9136232401699467","host":"s3://npm-registry-packages"}},"0.25.2":{"name":"cubing","version":"0.25.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.25.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"24f652a7e1307e920ceee8ebc92401238bc4249b","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.25.2.tgz","fileCount":426,"integrity":"sha512-dqPSbydBg++Hrro7V4ApQdLboiVxQnrMERwKTNxaR2k/7BLk3DIj5oLlO43S/L8U6eYRSHS+dtiqMfQDuzPSDg==","signatures":[{"sig":"MEYCIQC/aSUCdKRi/RoZLSun1qAtXO3UCst5tHJ3S688uxzXSgIhAJEKw9Nd/zL3NlbPoWzAxzf743Hogg7M+z5SV3sZJLMO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4209539,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8vuJCRA9TVsSAnZWagAA/6AP/3YJSPRP2rKA7bjRWPI1\nqDcXF/ctXJh021aDd3A4z4tdzi4ewnWUmeqZrRxcOtOtb8RxOEVqIvo4DjAa\nIUVZcK+vnVR0gv2nq0yVNuO3S+KAy6K7Tj+6gbW0aJaXWGW9Yt9LBGYlUpgY\nOo7bfLDO3nxgQsy4zrHYjsmOVLsXnUEHVfH965qlFLuGQ6/2XytvWGkvqCZL\n7FxUJV8XcrsAbgFS/ZBXGeki1QrcpA0VEP0s/AqHEIwqKGjJvXCpuAcog+gW\nYA9iVWag6M0LezXKTKdGK3C6W6LetSli/Nt+WjSt3hW4va8UYx3L3Eo1VIaR\nPpDwq4dlavfILXTbH3m+X6Fh0vdXj4Y7QQVU7hQiEujNGicF6mQvjNgqdsGh\nVIRUteH7fAb2KIi3MqlMXfAaqFyChrkgaM/lVICXvRzgUXIyVtWpDnbQCxMZ\nHLObCuX8r+rO3FEoFMqSNnNJc0fhSRflvxga32TQgm6ZPpUwDHWbRvALF60a\nGLWhQZib7fiQ23aPJUqfGLjR88g9Gz3RerMLku/kqrGF5EvicHcLwfKk9Hbg\nL3sTStNaTYRTavZ2PyZK337g7ZYND3ur9r7oTpywGLjpDD0PRqVzJKrWn+4m\nZGC+C74Einpm0iiNxwruw4/1xYNc9VKC/eon9YecGdDVqKtjCEKBlzCdZw4R\nxTa1\r\n=H5Rx\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"53ca8022c389618fb82679921d32f46d21d6ede7","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.1.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.2.0","dependencies":{"three":"^0.137.2","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^13.1.2","babel-jest":"^27.2.4","typescript":"^4.5.4","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.25.2_1643314057188_0.782755862944361","host":"s3://npm-registry-packages"}},"0.25.3":{"name":"cubing","version":"0.25.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.25.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"07f4e5801bd9efa08a595442c26abd568f7fcb6b","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.25.3.tgz","fileCount":435,"integrity":"sha512-ctJEhq9M8myyfZ7uvPEtVbsTntBP8aNktym/2xNdFkw13gJBVTd5Yfru9gx3UaSJGTiblgAhzeS1z/bfm6RzGg==","signatures":[{"sig":"MEUCIQCspok9S7FGmh+RDqH67D5MclfJ/eysjXButT6q+afehAIgYrlKKGYhIS/UlX1j90dowwZKsY2lmgd07LobTaysQe8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4281493,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh98I+CRA9TVsSAnZWagAAbxsP/2Ti+RO7HDpyNCx2EqMm\nZGoe3PtEN01WCUn+fnVCGMm0foOFolsIdz9oj7VCTu4n0OePAjLtY6c+sSXL\n8qUFC1LvxEGKr6K+jwNcX5AvzI4fWAh1lxziNHsD1fgqXyyLnltxwTVNdN35\nKhaqTBCd0lchCv2XxkC01lf0C+i/ZtYIxKZP0d5XSeNy6VMdxJq5hg9tpfuH\nrP1bu15uuJ+CU4rPIUmJXWGQM04Zq/2VTN5GNa2JsuRE9EHTqDBILbbDERro\n6VwJdtQjDVOw5j7sYdGjQkMP0oigzK+WldtCZp6wtpiE5mGSgEJ6aZrEVJYA\nyA0+OLOUcqrMYsKkzRSqbD9mEi8Zi3PmA81BGQ1xcK3cRQcNDiJec9KErZE5\nhqd3lqorR15GCZDbIE+fwwlbDuCX44WCbUh6RXRhwQm1m7jYnN3N7RVog5ri\nbCsHtiaQTdVDxzSnnfoTrYAF2WeiPqKTd7yauAa63Wm3eMuHLm2JzKnQnNyc\nkRZGv15Kj5Li1+GfM13bIAc75gV4ys4FSxoVZ/nahG9TZSFahFj6hNu60SeO\nKI2TWej7s13AMweCS1b3GQzaaGvXEc2Aw7Rk8URCx1sC93z2b13tA8rxDml2\nULkrKSAOaO6ub7Aj+NMlcIbJQvwX2yIFRvQB+/E2wpsBM7E3fgohcsMfMJ4x\nEVn7\r\n=x8le\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"types":"dist/types/index.d.ts","exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"12fd6cb152b19a5724b91e00c0358c701a6fd7b2","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"targets":{"twizzle-net":{},"experiments-cubing-net":{}},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.3.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.4.0","dependencies":{"three":"^0.137.2","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^13.1.2","babel-jest":"^27.2.4","typescript":"^4.5.4","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.25.3_1643627070511_0.16656279884767233","host":"s3://npm-registry-packages"}},"0.25.4":{"name":"cubing","version":"0.25.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.25.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"e332fa3e58a67834b6c00e55025efcf6b9cfdeb4","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.25.4.tgz","fileCount":438,"integrity":"sha512-aM31OPtaTy4OPfS+Nq/Ko+a6ySQYpPyatl5V26vufA5WR0PLpyFG6kDzYsV8nmOFZhUwTa4RRz/pbEtLHnuXwQ==","signatures":[{"sig":"MEYCIQDF6kKV7GADcR6dAg8GPkC7klCT1tWzBZE/xFicUStExgIhAJcRZaNIVn6FmGIKiBNh9Huy7TL8IZw+xztFx2WJJWCw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4382492,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/zC1CRA9TVsSAnZWagAAAgQP/iSMY7aE+ZfZ7qGAX3C/\n9r0e+vxCYqsLg9rzuhQqM5bgOFPjsggk/48MEJZV4QdbXEKir8nL0CRjdtpS\nLfcDmNCkg8xKOkfN2Th12xyx4QGbmBpze7vuA/AgJIWt0ALRMWrw1t/iai/w\nuNBmMCr6YvdBivVNqDJfJ7KTz8diJlTZRAqXmeEr3Qw0bC3oBaVbGiOPgLIY\nYKbodslXIFSwSfNPmptPi9j7WEwHrotISb32jqUi+wntn1LTTSneUjd7S6IP\n+O0XtZ2wt7gfJMoe/zsfKit0ZaUcE07SynB+vrb7aBuXolFOC6X/aR2t9AWH\n/LNUwhKA4INhqaPv6BWDLYqucNHXFIZ2+k8pPtauaPDtHUAJvguvYa4CkrKy\nBxCOYjkCUJIKGIIe2CQdpUkxjnb6aA7ofogYtCtQj4maFHnib02TGBfj86P9\nEdxM3GlKK9SafyvHe9ACnaCn9F+sZkFTwvL/l9KE3dtnEBTIKjhqBb/l+aDE\np+58mVzl9NFKImgYYJpJdmZ+0J028Hfok4JUdlHC4KqJ9KbdRNtlZiABdvGt\n0uUtw7/N2xYKG2GKYvMS7EfjAKdlzannTIQYSQSexvfmLfpkON6L4m/46oRv\nNJ2tIyp7gkLcrS/KrucldFhJ4xWnRstEmfntFgxJYD6UsD6RuOzQisINJcM9\nOlc/\r\n=0BiD\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"160e58183c05d5b6a6ffcee33a00d63b93f5c690","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.3.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.4.0","dependencies":{"three":"^0.137.2","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^13.1.2","babel-jest":"^27.2.4","typescript":"^4.6.0-dev.20220131","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.25.4_1644114101405_0.9989552771265182","host":"s3://npm-registry-packages"}},"0.25.5":{"name":"cubing","version":"0.25.5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.25.5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"6191cb0fe9bd598bebfaeba1633c03ad7d3dceaf","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.25.5.tgz","fileCount":438,"integrity":"sha512-BREpy67fkJz3ws5uYZgpx6udvE7zepmT9s3FwU+aDc3TvPXW1eTMV8M7RtbUmaamv0i7CGzP7bqeMOwZHAjVMw==","signatures":[{"sig":"MEUCIQC+PbhLqlBhmIpL2JBDt4QLti++z1Bgjy66zFzlMkHZ2AIgSGJak6OL/Kk6OqMGh3zhW4MPCTcVEPSvYtwq4ZBBJuA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4382697,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/zUJCRA9TVsSAnZWagAAvFUQAJZHmuubg9/VLTZxFejL\ngcGcryPyCzC/1O7dHUMeHI25J4SReyFLrQvPPBnViIDdiBrXGjArte3Fzn9s\nODF+tgGufZkU080aCsWcAujDV6oGZQCVKQnFP6GSMSzBpZqHeeTIG3/BMVgt\nWRDzsJq3Z1fAjHnFa6naRyrW1LAX0zp+joiGf3r7yNtahJZ0dpChwNK3mFP9\nlng5zNOtNePi1Y3XfqD0KWePl9bGQH7+wywrk0+BSE6j0Y+Q9mLGZSUhdVtr\nLduWwspw9s2KT7A37URrS0a51jCsroQo48v91iLd1euT+V3S5gDw24gS6PjP\n1v1ywZrPtMWGpbOLF8DcUCYlJxJA9ddSkHLFqhVbxDVB47L3JHFZ8DUo9Qp1\nwZG/2Z4DhBr88QU1tqqIWeNVL47f1c78VzImCDG92Ca8dAIQjV0bQ02oxUv/\nuAfMUjApmOT4HDD+nrmdRxTrzlPwQzamaxcgztDHYjREsmvhtBa3FKF7Sdaf\nIYCSTBdFs/oNfUFOCfg6OBGc1wPetnWBUCPu3zcJFdfmRA3ZX6HQXC5H82Fh\nC9FsCVvOIEqqssZhAhTjN8bXjW8yM6zF7it8p2aZI+mymItUAeF06fHnDNVX\nlQbwLk6/F3k+liM7yOewQlLuUGYsfIzgIVEFGxzwum29lIvZQpNSAD4rOaiH\nhv2k\r\n=MYig\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"e12c068112bf65fdc637bd915a61af9596f03502","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.3.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.4.0","dependencies":{"three":"^0.137.2","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^13.1.2","babel-jest":"^27.2.4","typescript":"^4.6.0-dev.20220131","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.25.5_1644115208899_0.034351082678928835","host":"s3://npm-registry-packages"}},"0.25.6":{"name":"cubing","version":"0.25.6","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.25.6","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"eb9f3292d9ac08dfb2a75e4ded55c1cf74f63426","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.25.6.tgz","fileCount":448,"integrity":"sha512-pXTwq5p4b1BPJP2U422JKD9tmKJKFtnlBCPK8ia/O/LgeZF3Z3ysFLEufa+D6iKEV8DwuNO9KdHliZhk4gOBag==","signatures":[{"sig":"MEUCIQC+jb7a17psON+YFoMt2G8wxZVLZrnymy/h69FlkDZ36wIgEaghhUCSjLQw2AoQlwmMVWUPaPyfFB2WdjweNX/T5+8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4516144,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/55/CRA9TVsSAnZWagAAqdAP+gNZ4xhGw+I5PXRvWMEL\nekL9Pm8ZcaBNgNF6WH++DZm/4JyavH8T/86WWVOqaqKvmM4YfzySS1MEQ4Mi\nd8ty8BoAKf0I+oNpPbNmAkO4NdOmpnskmhJxsMw0qkO44i8b4ltSICtgYuL0\nqecnIzL/pCVWAuO7FkdVQ4VUlyRl+8fGOojfi6m3Qg6PbNdz8OTgOT5vdECh\nvKI0A0PqTSD4ueShLRaetZGY5T40HxFQVK7QNv9psQZofM7q4ARQm+W2jmG7\nFsBAFxboagjcg/Nk9g0L8+HgjtN9Xdj7B8qTjnkMgh3v7EZrWM+KeozLYfWP\nc5I/QvQZn9rldkz/+vogsfnv5ZF1orly/FvJIvGw2NxyVphBf2G4EkjMJhSc\nkkOm2iZljU5gxD111bv9x+9fGX40s6uFNRmPQcsXp1grIe0wNILNuHkLVvMB\nq2pugy5Q4paslkOemJ71FM30Afws7cbQT8BDVvEW24y53ikfu60eB548jVgM\npFLDw1hKIAoGZpGlCIKywJUtiS7bhzYKBxyvgrryHHGDr8PUZZiCDZ3uj+WR\nshtc5ccggleWBzoin+D8DSRSu+wrtlSbQ8Q3WFuaLhOBywwtiHuSpSd9OPA8\n9Y8vK5KRADLtm0Pzi4bwKJMfUVZ0S4w2v07JqeSjkNjDT/YVLz2auDs1D3Ec\nib0z\r\n=5iMf\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"32b70093c7edc141be96688cbf14f793f9f27c5d","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.3.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.4.0","dependencies":{"three":"^0.137.2","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^13.1.2","babel-jest":"^27.2.4","typescript":"^4.6.0-dev.20220131","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.25.6_1644142207454_0.060274991465099736","host":"s3://npm-registry-packages"}},"0.25.7":{"name":"cubing","version":"0.25.7","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.25.7","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"d5b4046f843968330dd16b1059b41b081ea1e483","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.25.7.tgz","fileCount":448,"integrity":"sha512-88DjyfDSZwZwLJODvBwTVO7dn4xBWpTB/7szmiwZWr+Vn7QC2lrFoh4ayYbAVtCrXuZvhnfX3RbbuRZpUOsYLw==","signatures":[{"sig":"MEUCIASveTv1Nda/y4HgQef7zt1pjXkSOyqowihScZ0UWegzAiEAuREvVOdSAhawwJhg65H2LvQICZb7OddC63yR4+YdN+4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4518163,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiDqm+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr6yg/9H5s6x9ZWamC1T2DToWllHPV/wQDd4W5fkGD+MqcsxvD0PAy0\r\nTRsmVKNtD+CK+CKVnSYrl/sdloeD9JMh2/YHm7vc3mZgjgJ14nmp0o6vC+ZB\r\nYobu6sVMzalPvEbtsEhDspcsPi6qwEH42QU2BBBjLT3Y7eH5JKj+tv07qnc0\r\ntnXXnEkIvoPwrw5RCPXmt4fyp4x0ApPi6piZdIwzvEz0vIL1xMsckwQERa27\r\n54QDvKL/fEFLvj63tEVu0XmqnsD+BzxPSFvWjMVYVFDeYKc4ID+2/wZ+2164\r\n/3/qf6Qg1M0SElov6lPbMjfkgfC19lKmEfq+znc1GncPXBOEIT9mPUPNprzj\r\nxrhYW7jEll3rFT7MECUwbb5134XLUXcAR8GryDjogEnEq5MtzW/+rN98N4tT\r\n3RpyndbhfQZlTSW7vypSVCbBYK9GUam37Tvxa0rnaj+633RgMNfQV3Jdlssw\r\np86K2lY8RTaffAWJL5X5wf1ifm7Yu/fxTFxCoALV8NfsIIUn1z03yAYaUdox\r\noJt9lrmGsAmFH+GfbS63koGKEjGEMys7In7f7czJWoRTolqnONjY7QYf8tys\r\nQT1BdVR6PBKLf67AB2pYGtGxmiZjQgiThdrCeeeyYGnrWEOTRoolP74cGZec\r\nvlLIeViHeNaVj4EgB7VGlTDnamEPem68mvY=\r\n=i0XV\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"17802e953a584a7ea26d4b988c8fa252536553af","scripts":{"dev":"npm run initial-setup-checked && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","initial-setup-checked":"[ -d \"node_modules\" ] || npm run initial-setup","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.3.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.4.0","dependencies":{"three":"^0.137.2","comlink":"^4.3.1","@types/three":"^0.135.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.5","jszip":"^3.5.0","peggy":"^1.1.0","yargs":"^16.2.0","eslint":"^8.0.1","esbuild":"^0.12.29","prettier":"^2.2.1","puppeteer":"^13.1.2","babel-jest":"^27.2.4","typescript":"^4.6.0-dev.20220131","@types/jest":"^26.0.23","@types/node":"^17.0.6","@babel/preset-env":"^7.15.8","eslint-plugin-html":"^6.1.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.15.8","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.13.0","@typescript-eslint/parser":"^5.1.0","@typescript-eslint/eslint-plugin":"^5.1.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.25.7_1645128125840_0.32678046531203253","host":"s3://npm-registry-packages"}},"0.25.8":{"name":"cubing","version":"0.25.8","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.25.8","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"276c44774b4adfca04e9c775690bf3926a834ccf","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.25.8.tgz","fileCount":451,"integrity":"sha512-bPNepmIX5XErdE7zJ8As5op1WOM9U+e6So3FxnCaluv9olCEpMaoQaaObS6LBs7rXpMvZg/jgdjEijnCKrZe1Q==","signatures":[{"sig":"MEQCIC+Bor5LP5DfLczCk8ZMnP90CnXkdyonv34NlGuKuLT6AiBfw59XeA5zSY+3AecvI5aWb/MpKogssKqYGBehs6joJw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4527053,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiELSvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoZgg//ZwzX//FvIG6vAF/V1bd4iSfUntGFtlPPsgdA3nOxVP5hRU2F\r\n+ahzSdnG05bstcsZu85pwEsobEY0Txr5xVAIHbj8shAzevKN0HnCUaoUaTRf\r\nJYnW+O0Oa/VjTEP5VdH9shPyO3kBR+QaUwhFK0I9Wbmz6Z1CgZshBAiqOZfl\r\nSEypZ5PUQq/R0NjLJU38GPk3T6JYNm5lgKeP4Vq+yODFhiUA0uLmw2jhu1pe\r\n5BC8MiKSLko3AUm2ymIxncrteL/9A/NBa2Ijpy4lnHPGeKvQvUNahI4Z1i3b\r\nQLfwu8HxTAgbO6Y2tVCY2/mPX5u1FGPNyWvn+EXs0i5fRc8kmNO4yuJITFoy\r\nL31jigQrrYnXT7chfr59aDMUcoaHyPmVy/upiKnkxxOFxhaPHR3gxSpAnSGt\r\nVeB1unorNEKcoi3jCh6xNUCW5YlUNlM9nkq36HQgFpbTEVRLEf8RM/wQk6/5\r\nHw8JhPTaL8d7v/YsCX/7velmQMEke/xIeUk/UsQNrUw1cXxuKIUA+R3hhh4T\r\nVTkNOXIiKn2bzVNsqeVTowmU1aPDNJTP3027vpE+YhQSEiOT5PSFquqF1qcX\r\nyGFPTw4DC8+sygEUqxyBaf3W86ILycFf+vN+VAErTXTZr8ftnSuuVAVPg2VD\r\nJbJgzi6rpS44SAU8SS/pa5X/K19ZQN4z9t0=\r\n=w7W7\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"2b6b980d44cc3b3866aee5b39a0dfc0e7b11c9d0","scripts":{"dev":"npm run initial-setup && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.3.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.4.0","dependencies":{"three":"^0.137.5","comlink":"^4.3.1","@types/three":"^0.137.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","jszip":"^3.7.1","peggy":"^1.2.0","yargs":"^17.3.1","eslint":"^8.9.0","esbuild":"^0.14.22","prettier":"^2.5.1","puppeteer":"^13.3.2","babel-jest":"^27.5.1","typescript":"^4.6.0-dev.20220131","@types/jest":"^27.4.0","@types/node":"^17.0.18","@babel/preset-env":"^7.16.11","eslint-plugin-html":"^6.2.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.17.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@typescript-eslint/parser":"^5.12.0","@typescript-eslint/eslint-plugin":"^5.12.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.25.8_1645261999279_0.3770641605119973","host":"s3://npm-registry-packages"}},"0.25.9":{"name":"cubing","version":"0.25.9","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.25.9","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"217eddceaee058df5889a1be264d0c2fd5a6aef8","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.25.9.tgz","fileCount":449,"integrity":"sha512-aWS0wSgGjkTfzoXXfw8ALwUYdn5fvSUChDKfd4/ezRp5sRQoyaaoK3JfPYAppM6PApLEads6K7PkH2SgvrrM6g==","signatures":[{"sig":"MEQCIDoNPAOmoRsRs1ho41dtrVzUzW0MsQeB/aWD72UKbKqFAiA2su+9VNed68oWG1jkEs7O6zqijdh4SIjI/jLpxE3hkQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4525330,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiELkOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrK9Q/9GteXFLcM1i+8aTm42QRzgx+EU2QsofwueHvBI5VTCzi8+883\r\ni53eS0beq7Uo1bllQ82xijHZ6DUY/Z7rYLsxOIOe+P5eF85oFn37n8v14SvP\r\nH3OzolZd2RI6GmNv+MAPvUqKlQF6fn+EPBtZCmw/Y41i3EV1ANqbXeIeQI8O\r\nJw4qlCtBcGEKnzO+tnQeERWKovpXCPVBsYcuTSr7yqXwOd9NfHr7K3zGzW2F\r\n8S41YQMgk2Ul0/ST8ih3Xcng1+QLJN1hWWTLzyWWzqS0W+YGwPIRkaho6gzn\r\nIOci9QqYTpiE0hSem5maNQ2almqDbIe9QQ6PgpGEZJz9Mv+zNoHjnGwN7be1\r\nIZRbZYp3Ts1bTkap63AeLwnMMqGDlharlEKphUujvfgB24ie9ppUaq3LLU74\r\nugx/A+ep4wlEFWkMIwMFocyzbO61jJ2yITqliR2KpJ3xm8ciLhtXrJjgEdbc\r\n7r0UuViqLE1VT7+lWNi3EVU18/lSInJZfMpcqCR/4PxR9vsgwKfCdXk4K3Rm\r\nRe9RH4cL0NIEMDSk1gUn35HYVpFL+rcrufU0lCXCb4ujcQM1fQIP/wjIgC6t\r\n0fa2lNvH8f5gIsmDyUk4xusmhJ/6d0vtqXlL+1QQXSdOCpWtqw/58gQrvtxR\r\natdt4BBL0xjTNSDg4Qg1+89QsDwwr3HaEm8=\r\n=VLx9\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"93dde971623813eba46aa4fca7daecc5d2e91961","scripts":{"dev":"npm run initial-setup && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.3.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.4.0","dependencies":{"three":"^0.137.5","comlink":"^4.3.1","@types/three":"^0.137.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","jszip":"^3.7.1","peggy":"^1.2.0","yargs":"^17.3.1","eslint":"^8.9.0","esbuild":"^0.14.22","prettier":"^2.5.1","puppeteer":"^13.3.2","babel-jest":"^27.5.1","typescript":"^4.6.0-dev.20220131","@types/jest":"^27.4.0","@types/node":"^17.0.18","@babel/preset-env":"^7.16.11","eslint-plugin-html":"^6.2.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.17.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@typescript-eslint/parser":"^5.12.0","@typescript-eslint/eslint-plugin":"^5.12.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.25.9_1645263117943_0.5432799222464304","host":"s3://npm-registry-packages"}},"0.25.10":{"name":"cubing","version":"0.25.10","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.25.10","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"39e034b127d900590b197486b6b994119ed9d864","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.25.10.tgz","fileCount":452,"integrity":"sha512-STY3k4cQfjeWMLr6vwRfdbFzYuRLZwK3OK9dZU1bptvwW5XW4m44pV6XXKuvmYjsVh9cySr5sebRH1m+4gYd7g==","signatures":[{"sig":"MEUCIQDCeGh1Te0m9GJ0Mih7/qezM8DLPEAqAd+dHjTscPEroAIgSu8QzHxcMqxfKUs8QG8ZV3SvgDX7qfA7HtJ75xpS3qs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4602056,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFt0yACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrOew//SSPKDtPPB9Zuo1JrttnoXo13SXXo8YJt3ribiwmmsDfx9hT3\r\nrHJuRPt9UNoZdQj+vFon2eQa6CnfNDpGlFP7PCt1i7FUCC7BSJE0QMuMpB6B\r\nWCOjEuYq/8AnF/YQwN+ajeXpGDBE7vbD+BBE4+funRbIV5FbNN3otff1uMOT\r\nXmZCDqhgmyBcacbeqIFkJ640IBHabMAMOJs85BDPpJlanawTbrUZaKwtmM6N\r\noxa2Kvwtkh76k4Y46rmHu74M2jwsyZYa0mKK2SexYIXF7VlxpLgm9+aPNVme\r\n8VqCiSw6Ue0O38DCMTIfVGVyzcfdFOnq7GTlcGoTGSBW7qqn8UmnhHXvp6EW\r\nIFm75I5+ki+z5azzMQElr+jqCRG3acazlqvd+AZ0we+IzwXGDkwY9APB+GoL\r\nZEjIWlrm/bfDw+iBXE/jfVpbXpYk6lZwC+4R+IIMBLmNwd4U3kayYSxJlUKn\r\nOaHpNz74eaHv333f8bQCsu/Gi2ig9rQw96Ya+HYhjIT5ee6k1fGAZsYFzXY7\r\ngn+IEHRJSqpG+GRvbfIuCdRsEmVXg0GXl/SfmbCu9rQ7sYTsSKW2bTyFR9O9\r\nJ/xDUXCTTriN8eqDynBPgBb7DidWIPVR9MZBCDnd7cCCtFU9u5qGDGU4jBWB\r\ncY9tGVF9Pv+Zv97P5b0Jh2jcugLFgn+3EvU=\r\n=03tc\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"7b788f6ed7c8f2864c5ac53fc0f67f2a27da9a26","scripts":{"dev":"npm run initial-setup && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.3.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.4.0","dependencies":{"three":"^0.137.5","comlink":"^4.3.1","@types/three":"^0.137.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","jszip":"^3.7.1","peggy":"^1.2.0","yargs":"^17.3.1","eslint":"^8.9.0","esbuild":"^0.14.22","prettier":"^2.5.1","puppeteer":"^13.3.2","babel-jest":"^27.5.1","typescript":"^4.6.0-dev.20220131","@types/jest":"^27.4.0","@types/node":"^17.0.18","@babel/preset-env":"^7.16.11","eslint-plugin-html":"^6.2.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.17.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@typescript-eslint/parser":"^5.12.0","@typescript-eslint/eslint-plugin":"^5.12.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.25.10_1645665586171_0.9730565852039452","host":"s3://npm-registry-packages"}},"0.25.11":{"name":"cubing","version":"0.25.11","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.25.11","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"b477a10543e556cb41b288059b5a5c329a3b3c7a","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.25.11.tgz","fileCount":452,"integrity":"sha512-SI1TwVomk02iyY6qAzrFQV5oaXQ8DUHSJ2kMexp7tatQj0Oq63aO5Vd9NaWWmVD420yyzOtOWWbbKqgjwv5lWw==","signatures":[{"sig":"MEQCIBx/59HymkmBu37dqZYoKXNsHT3AmsPp/dnSDtrQyuKyAiBtneLDIHwi8ITPBj7imWSPwrdfyDEGXT3cwgU+/wZBIA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4603617,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFvEaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq2IhAAmZQabEQeOXM6X5Scgu7zwtAr0fMG5Y/JGTVglsVJUj4kIssU\r\nrcKrwTzBWCSDOxQFhURVAAoi3rRkwogA7sLBHZiQjzsuga144kFbJV2It2IO\r\ncIAoqA3+X+kvBbyF5NJMYQsFe5ZeULjRgCfQGjAwPhe/l+jLsA7wpUBdkhun\r\nvdBw0NlW1/hWVodNA3VFMqFX/1kZlu0cO+flyTvQ/kCXHRYjMFwKJXyagZFw\r\nU7rx7LVcLXyM8yxNc/V/qCUAYZj8KfkVbQsa3hSOD4kQ+mKKen8mLzKrbesO\r\nme9O9ZRVkwj/DtgbQGgohjIe+iRq6dCT7ao91x0jR1oo8NGNW9maJFl0AKvV\r\nGDq8KLpB4vUi/Buf2tAFcHztcY1HNFzsUwuKsly3GLQtOly+UsqtU1X6fUgb\r\nFcSjCPdG+PlX2powCQTdbi6c4jPlHdsNIXYQgrovDShZiI54xFYOdbWdU35R\r\nQYhtNT2HS6EgN02Ltiv2gYSsip/7/1FenpeBitJNNmkVa1UhJ3jFeU+r4m15\r\npUY1gF+kIpWZ3VR40QHtNwV+UAHFug/KwRwkwFnUEyhlZQdDh0oJMk98++Ui\r\nzfcbU407coDCE6XtuLxlc7aHewhATvzjlUr3L7INbMVEANetgUMyOHFiqYzP\r\nrnPUpuuV8C8rK8jXzmCHmtISY1q6cvGUNCE=\r\n=LO3Z\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"d1a0d28cb4427e893323be054de13fde65b1ecfc","scripts":{"dev":"npm run initial-setup && node ./script/build/main.js sites dev","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.3.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.4.0","dependencies":{"three":"^0.137.5","comlink":"^4.3.1","@types/three":"^0.137.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","jszip":"^3.7.1","peggy":"^1.2.0","yargs":"^17.3.1","eslint":"^8.9.0","esbuild":"^0.14.22","prettier":"^2.5.1","puppeteer":"^13.3.2","babel-jest":"^27.5.1","typescript":"^4.6.0-dev.20220131","@types/jest":"^27.4.0","@types/node":"^17.0.18","@babel/preset-env":"^7.16.11","eslint-plugin-html":"^6.2.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.17.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@typescript-eslint/parser":"^5.12.0","@typescript-eslint/eslint-plugin":"^5.12.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.25.11_1645670682433_0.27446990842229835","host":"s3://npm-registry-packages"}},"0.25.12":{"name":"cubing","version":"0.25.12","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.25.12","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"18132198a99405cfe47d1b4d82fc8da41ae2b383","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.25.12.tgz","fileCount":452,"integrity":"sha512-YurCjDkZkxN6320Sq7n4d10DGT+KV61TBSf1Lc1K9zvSOMNy/1sZEwcMdD7l2oMjbjUIYWmTmeNXNmqo7X507w==","signatures":[{"sig":"MEYCIQCKvv3IgOtTwfFuXAjXK1KZIKRbfcsRLPml/AQToBiGcQIhALXy/oRRhPf/TggY7dQn7e/2yieZK+T5HN9t7uDW81fh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4604025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiGEAYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqC0g//e6Opu5Wrps8cNjPZUtIVdZ+VSmsT/LyMMOzH0rFVuWDyVaXn\r\n5E6DSy0c7ZbGYrOwIA2zgdVA6pKCVpnPKCx+8F74ThbUIakMeuJ7Eny9Tq3v\r\n1NwNficztTBH4WTgh8apugMMTeS7iCXwXjw/VHtz5vCs00LcByluxHvbnpGM\r\nzlJEtUmXsSXmT4K6EDodYJ5xcpj+sOjHLoAXHEv9GWWilJfowxzDhA7NKMge\r\nmZdjR0CDmCLP4faPmn30qZ+19ah1Owqd8KlooA0KqXd56SgA09kf/CHI8eN/\r\nWJG5XlFmTRou2FUKWGmHstYTeVjnJHMXIg2S1FY7YMWf1dLRmh5JV49S8qZt\r\ntQtZihC0UDNSyxrpSWR1rNUISZbCehNsndv5muOs/MOGJX0hg9V8nxBQeC6/\r\nBbDsmMJ/fMWROZotEJvGBAxUk7TjGSpntXsrpb5sV5zzGthTUB7/YsoJ48Lv\r\n41YVi90H8tUKLWkyqYbc+tDe01gheob+QivgSBYxMnM2uJEHKJQsd+TPkphr\r\nbXIkWOxYX1c+0eJ71Nzg+J9haxOUdZ0bpKrtPVzn60Kptj/avTX6tKYLh6/H\r\ntJR11zEhnf43U1RxBeIah2ntUfPPoZ08N3BnNKMt0Fu7g1Tdzge4Bkv3zQVl\r\nyyENeQXI8+Sd/QOGoMioz1mnR4UgUyuf2+4=\r\n=7vcB\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"8cd14e82266d135640e6185824ad186bb28da5fd","scripts":{"dev":"npm run initial-setup && node ./script/build/main.js sites dev","link":"npm run build && npm link","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.3.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.4.0","dependencies":{"three":"^0.137.5","comlink":"^4.3.1","@types/three":"^0.137.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","jszip":"^3.7.1","peggy":"^1.2.0","yargs":"^17.3.1","eslint":"^8.9.0","esbuild":"^0.14.22","prettier":"^2.5.1","puppeteer":"^13.3.2","babel-jest":"^27.5.1","typescript":"^4.6.0-dev.20220131","@types/jest":"^27.4.0","@types/node":"^17.0.18","@babel/preset-env":"^7.16.11","eslint-plugin-html":"^6.2.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.17.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@typescript-eslint/parser":"^5.12.0","@typescript-eslint/eslint-plugin":"^5.12.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.25.12_1645756440057_0.73649422043082","host":"s3://npm-registry-packages"}},"0.25.13":{"name":"cubing","version":"0.25.13","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.25.13","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"4bebb42aa1e173d69bc086913ec495b855191962","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.25.13.tgz","fileCount":452,"integrity":"sha512-ffJuLNDExX7xm8GTUlxsXTL0v5MpTNiFcZkNA5/xODn7XUlBq2oRtFnl3kgSTvbu8TJayzQhayVK9qJA3ALmGA==","signatures":[{"sig":"MEQCIFxZrAPF3Om1V2usMjkRvTeqKEMQcd7/4JTZOj+3kaPgAiBbkCYmVYfr5lvWHGo07ccb0OK2NqJ1h8PGBjQASmLRFQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4604041,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiGE4XACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrWlw/+KWMddHXv+6TPot77tNC6eKr5KDir3udErOYrBctO/l7vd2Mr\r\nrH7maZLHkqJtCDECib0raLczzQ9BibIRovYF71Qzo9d1UoFUOnWpPhocC3JC\r\niPV41ZXqN6lftIUSGZF5C89i1/J8+Jm5klR5tFNoh9GLlkFD/qI9JkwfV5t2\r\nl+qVHCmtieEA5+eisosxTcIAkDskkif3+UPpu0peDChQJ1KAiUZk3a8YWewr\r\narPK2Qbofy1ksNa8UihOQtT5IpUxxEAfgmLNhlo/KyU+deNzzCLl/79U4d3I\r\nmp/liulwEgt1lIkLtLBj4qhTlF6Dm7SPzXJTpLCHIlmYu4fgOXsBXWbYrvze\r\nWMoEDZzRotxbc3o+wzG1ARZTP5YNj4rO6kGGAvDqcvP/moZaZHe5bkc0cnUZ\r\n/JMYsvUiG0/VvlkvURKdR0rCBFivwTEGLIp9CR0grJacayETamgRaBC8N1VE\r\nslv+RoB2aHvLnYjC9lvoSEmC0ibYkK9VmoxYtyqXmiFkpvW1T1pXKRfbOw3A\r\nxY2qVrZ9K+rKtWNClv9s1tbTT8qTJKMclgs/YCbZCRpiWbHhqj7EnnBmfpI8\r\nklf777k/WAfrDdgoqXSyD3UOqIWi2OLPaFn6EwZ+oqAaDif6uZLNn6Z58QRv\r\n89pNTcPN7C0EdwErLQSzT1OqC1rUAVk9J5M=\r\n=Ph0e\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"da58945dba8447d7ee61603f45c614369465668a","scripts":{"dev":"npm run initial-setup && node ./script/build/main.js sites dev","link":"npm run build && npm link","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.3.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.4.0","dependencies":{"three":"^0.137.5","comlink":"^4.3.1","@types/three":"^0.137.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","jszip":"^3.7.1","peggy":"^1.2.0","yargs":"^17.3.1","eslint":"^8.9.0","esbuild":"^0.14.22","prettier":"^2.5.1","puppeteer":"^13.3.2","babel-jest":"^27.5.1","typescript":"^4.6.0-dev.20220131","@types/jest":"^27.4.0","@types/node":"^17.0.18","@babel/preset-env":"^7.16.11","eslint-plugin-html":"^6.2.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.17.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@typescript-eslint/parser":"^5.12.0","@typescript-eslint/eslint-plugin":"^5.12.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.25.13_1645760022947_0.05604048659900851","host":"s3://npm-registry-packages"}},"0.25.14":{"name":"cubing","version":"0.25.14","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.25.14","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"91e8bce9f517dfb650e213eb49181744ee266836","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.25.14.tgz","fileCount":450,"integrity":"sha512-vvyoMM0BHejk1YMx6ft+XQ8sXZeYIXSio/WWnGD3zvUYD6ws+k04roVkoysYtWmKW87RsboHJ3hjz/m1W7Xw4A==","signatures":[{"sig":"MEUCIHQJhlLbEFwESKqCX7HVBj8fZ1JqfT6E/eaOZMlA/7oLAiEA+vttYKxhVTvw98LbCc/OPz9ZLIxuJKIAo+wR2xUdqTY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4612023,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQOvtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmofzBAAl0v7NEx5yqFLXiBFNSjBT5Q+OqiJpREe7uYdJjgy364VjM+k\r\n+Mpdv/tGlutla07Z/god8c1o9V1MGVjuF2jC9QaKe6dRk8BNrl4AJkA4V0OA\r\nRYQi1Isd7xtO+t6WZ0wpwbroMrQ9Zw53WQzqsy2ud/tY3JOk6Fa222he+oa0\r\nERYzUW/5N16zd//kCe4IVyQ8XUh0W8ji0kyZyPr8ZWapUVWh04wctyX9vRKa\r\n1eE5qLPzu5qo11iq3A6Ew1gz2m8UHAk0Vcs8KtW55mtsNlpajIXfHUoREOKf\r\n9qibysZFkMxuFM0ql88HjUVaM4GFLrZ6hlOq+OeF+GDXwQAev+7BlVXvWjgA\r\ngsLU/wh+IcKj/BBI05EfmdbjtleoP6Ra8T/Igwxkdqt3CQA8jHOwD2w2jnHf\r\nWXxPQcpd1zhluSYkT3ihp4CaE5E5fS6X+CSLELNEFA2CkTVDDAAh6Gc6O5VH\r\nEhnx75sNLqhqwYl/3ZU7MiOQ2H80kZxKRoBdCXC8+WJ00YuEpe/O9IfoHshy\r\nQcwBBcez3UXjg6SuAo/yfOh5Vq61uwkbpSCcMcFATObmXZ9IzosPeXwnHpTe\r\nbIDqE/ed2Ev6S/9atdgtfLiIR1VxvVSQvm95RciRSrDzZfcYx8F3R+k0qYNu\r\nmJ/XxHvf/Z7LXOqkbiT3F6WeTBpDyJU4NpI=\r\n=P2Je\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"2dac450ce3c85552cbf4d204ff2e4c8e7590dd89","scripts":{"dev":"npm run initial-setup && node ./script/build/main.js sites dev","link":"npm run build && npm link","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.5.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.7.2","dependencies":{"three":"^0.137.5","comlink":"^4.3.1","@types/three":"^0.137.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","jszip":"^3.7.1","peggy":"^1.2.0","yargs":"^17.3.1","eslint":"^8.9.0","esbuild":"^0.14.22","prettier":"^2.5.1","puppeteer":"^13.3.2","babel-jest":"^27.5.1","typescript":"^4.6.0-dev.20220131","@types/jest":"^27.4.0","@types/node":"^17.0.18","@babel/preset-env":"^7.16.11","eslint-plugin-html":"^6.2.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.17.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@typescript-eslint/parser":"^5.12.0","@typescript-eslint/eslint-plugin":"^5.12.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.25.14_1648421869452_0.7796613439028821","host":"s3://npm-registry-packages"}},"0.26.0":{"name":"cubing","version":"0.26.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.26.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"7c92fd0e4776019ec1ce2da50235e0997fae36a6","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.26.0.tgz","fileCount":158,"integrity":"sha512-j8m2qEfewL9uH30sy9TtQHEh0/p0/AF86/5FN4hp4nEhH0YSL07w5nrv6fiKoSVLiqaX9VhAb4FL7thXsAWBTg==","signatures":[{"sig":"MEYCIQDbie87/WHRPcEPKvsGxWZVb+Lo3OpWGEI4NFiLRa/GJQIhAM9BXiT2/PrQrkFE5Xe/Er8WzGatW11aA+DrhkOnCWEs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3965991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQ6WdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpS2xAAnph0N8qtz4EULt1glOuP/klr3ZTCFO7ql6rTKCDK5H0u0fOX\r\nNdeG5aSKYVrkInw4R+ngd/hzOYs2aE5FDoWm+ZHFgBeJvzbQpjLTfHcZBnPE\r\nZqoEbqKmGsiSbYiN62HZqn1lawE/W6ulZIofr7LZexXHkcD4tEdeh6++fXqd\r\nfIBwA1lgxRPXrOb4Ko+ybYhIBKV4SAWpSWHdCHxRAxPriVK3BljcmoqB+h6X\r\n31exlOUvcXCdhVzrVVJeQc1WpLUu4le61UFsO4ALb7kpNc6fFJ9ly02QZhwP\r\ntz6q4Hn8wumGKjK/MpPP5CVkhvXWl7pTasnfGluORmqCRM0pqrFEnbE/swUC\r\nAT/jstpoVzHWHAHp3Y8j9BJNi3ywvis/QajprUnbz4SokRl/5a0bq0XGAwzR\r\nbuk3uEhv/lRwlIqBSGro5lhlMzVCS030q9V/uNP4zhWGrRkkgEGHoYXpNwxp\r\nEwjcmZNT/onhvjcOrzWHua6TV9+Jfa7pt1S+es0LtrjnxdhrIetNcSCTaqW+\r\n8S3iz00/srocR1L7NvyDPXX5ldlhyUQ0cEhjWtql8fMRFx2eBXvOtbOMHqmf\r\nz+bYIUZorMzXDhXVjX8lmEJhW7HtfcCu+qy28LLYAySIU21vaqrIcA9jARjz\r\n9saM9dwt9F3vnuwWHl6lpJd0Pxptcg9gO44=\r\n=rAng\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"47b462e87509d0858a5527d61d0888bd65923d47","scripts":{"dev":"npm run initial-setup && node ./script/build/main.js sites dev","link":"npm run build && npm link","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","postpublish":"echo -e '\n\nConsider updating `cdn.cubing.net` if you have access:\nhttps://github.com/cubing/cdn.cubing.net/blob/main/docs/maintenance.md#updating-cdncubingnet-to-a-new-cubing-version\n'","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.5.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.7.2","dependencies":{"three":"^0.137.5","comlink":"^4.3.1","@types/three":"^0.137.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","tsup":"^5.12.1","jszip":"^3.7.1","peggy":"^1.2.0","yargs":"^17.3.1","eslint":"^8.9.0","esbuild":"^0.14.22","prettier":"^2.5.1","puppeteer":"^13.3.2","babel-jest":"^27.5.1","typescript":"^4.6.0-dev.20220131","@types/jest":"^27.4.0","@types/node":"^17.0.18","@babel/preset-env":"^7.16.11","eslint-plugin-html":"^6.2.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.17.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@typescript-eslint/parser":"^5.12.0","@typescript-eslint/eslint-plugin":"^5.12.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.26.0_1648600477223_0.3195867274395212","host":"s3://npm-registry-packages"}},"0.26.1":{"name":"cubing","version":"0.26.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.26.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"81c3c1357924ecbad8b529f808e017446b3b10bc","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.26.1.tgz","fileCount":158,"integrity":"sha512-ixnVl3YBwI2Zu1/lrt8irqPhpIyRloYfy8ht2rXOZqTIMzNi6oXfX5H1SeEGhJAY+tMAFIhSMbcGJXCWBnwL2A==","signatures":[{"sig":"MEQCIFAS0nm1/9Hjey4/IOryodXX6vv5h7VQDFaWwE9PUGIRAiBu4+45gCVvzL2o0/SzTNdnX40bnzV0q2PHFg68PL643Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4037356,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiRN5wACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq5pA/8CTeoAohF/qgs3l+efxjV0YmsnkS3CwtSkjH2j7qbOVebgLjV\r\nczTlqvcIyKnbs/BJJSgZsowWj6DvVHmanNinxrZBgjTZ+o0HIQL1SEeVGo21\r\nl8JibzJj3btfLaCCDAUWOYqmBfN9WdTd7awuOiVWs2kMwGqrJECYJw9LgoCZ\r\n25T1OtwaZKPlYJn442DLITpYZPA4TGG84XZd7NtLRDUxLgbb4N53ozI6mrRV\r\nsCjH2lM19WLaUX5UXY8Jm4NErFNckdlEXr2K3sufFJF+AFA4DhKNUJMrVGl4\r\nXvU6enAlj/uZcfQ/1mXES1f31ZAhnF7WEyJTXiwfrBmPlZ/9kxrMYtuV1CuF\r\n7kOuwWr/bhhyChVFqqTySB9T0QLJ8i0eJnlKUIvNVkDNx18M6gV5FVvjZEm/\r\n+yzhjUfiDeUM+VnCH1G0w4w8V8TiJdznl6BycQKVgp6EjqiPWbrnaZJDGeyt\r\n50eCEiD0LhUFVb0TKZkkAQTBYEpnIt3sRf8FBGocZujlLV1V5lj7M4nDA1I7\r\nf/YkWWpHywxYMLjoal4/bw81dRIW89Cd2erfQMjcat3vD/p5YW3sm8HOR4Dw\r\n1Ri1ROMY9dcskRDbLSAp9SgeST2RtapdEXVAaNxgQSNkg0pVSHZmXOyL+45M\r\n/3lvE8w9JnzbcF0HF4vFKNmm501mfx0tgqg=\r\n=hrBw\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"65c3edf00952497fd76dc15d4a010735e6e67100","scripts":{"dev":"npm run initial-setup && node ./script/build/main.js sites dev","link":"npm run build && npm link","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","postpublish":"echo -e '\n\nConsider updating `cdn.cubing.net` if you have access:\nhttps://github.com/cubing/cdn.cubing.net/blob/main/docs/maintenance.md#updating-cdncubingnet-to-a-new-cubing-version\n'","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.5.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.7.2","dependencies":{"three":"^0.137.5","comlink":"^4.3.1","@types/three":"^0.137.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","tsup":"^5.12.1","jszip":"^3.7.1","peggy":"^1.2.0","yargs":"^17.3.1","eslint":"^8.9.0","esbuild":"^0.14.22","prettier":"^2.5.1","puppeteer":"^13.3.2","babel-jest":"^27.5.1","typescript":"^4.6.0-dev.20220131","@types/jest":"^27.4.0","@types/node":"^17.0.18","@babel/preset-env":"^7.16.11","eslint-plugin-html":"^6.2.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.17.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@typescript-eslint/parser":"^5.12.0","@typescript-eslint/eslint-plugin":"^5.12.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.26.1_1648680560527_0.5194669606147881","host":"s3://npm-registry-packages"}},"0.26.2":{"name":"cubing","version":"0.26.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.26.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"25125859957cb8a8e1cb414d44eac7cce71c70b1","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.26.2.tgz","fileCount":126,"integrity":"sha512-mXIvMxjJPcy+HgtkFYs+UYdwlsFHYXFphTbkx/T02o2ZovORBPdhL8bLIpwttyhKPl1TWxQE3TGRIVvrNsZiSw==","signatures":[{"sig":"MEQCIHftZcYGE0U21Vj29qTVS8KySDHF6URUYQvNNiTV8OukAiAFXZ0B2RxmI3RffbdwxqC80CpN4MRCzWiAJ0ctQs7ghg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3973912,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiX/ClACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmosgQ//agYF73m9G8FzE5ULmjGyoAaJk0Sw41xIOJ/nNGvq3qke3HrK\r\nFmmAY/QgPNjdafIBPpC08Dfa11Zvuo120wtZZq/V5W8XnwunWagetB+s7dpA\r\nPHq6rEZBJQOEozsho73KfNc/7GxAi5FobfEkYFssed32jSJyZBVVccN4vkJh\r\nBcTYsroSr6V1v/LZIr4yU87VyIGLxDc8NR3uyp1Anh8zQ4SAb1A/NkMQu+8b\r\nYZZ4KonWauJMTLTagJamOiTrushEpyhtbYjEU78mz321s3b0dzV4Ym+Lvb0B\r\nfZXPmAeQWku+TdMumpJjKaVrB+TLLPDu4dtN5EgbyClWOpNVC34b4FKMVvPJ\r\nQotBL6g1xFN/I/wtyx+aEn0rgVF8adWQ79rzDEnBXWxRlOEDh87O5GcGwyVG\r\nKrwAKFK5n1uXMRyvoYXf72nwdkdOzT6nr9/ENMpnWMM89w+4ATkFwS4Gi3Hx\r\niiYea0a1Ru2vUtnbd+Ag+tGDHhSvy78zMXmnbUKSglA/i918ntIlthZCxygH\r\n/vfM9vb+Nr1E7M1sy3bzaLpi5vuiPp1d7QLJ1tF2KyLZQAyC7EkLmwr4THCQ\r\n+ZTEhqX4nnJfybZumVzcPTeuvsmtt2eF1KEYKf+UINYRlqAd9ig03hmrY6f7\r\nVU6Q0wjPuM/595guMnuApYnL9k5aOVSrFzA=\r\n=2oWx\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"f09478e61128d831c7612325a594da3f897a2db4","scripts":{"dev":"npm run initial-setup && node ./script/build/main.js sites dev","link":"npm run build && npm link","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/search-worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","postpublish":"echo -e '\n\nConsider updating `cdn.cubing.net` if you have access:\nhttps://github.com/cubing/cdn.cubing.net/blob/main/docs/maintenance.md#updating-cdncubingnet-to-a-new-cubing-version\n'","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.5.5","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.8.0","dependencies":{"three":"^0.137.5","comlink":"^4.3.1","@types/three":"^0.137.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/search-worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","tsup":"^5.12.1","jszip":"^3.7.1","peggy":"^1.2.0","yargs":"^17.3.1","eslint":"^8.9.0","esbuild":"^0.14.22","prettier":"^2.5.1","puppeteer":"^13.3.2","babel-jest":"^27.5.1","typescript":"^4.6.0-dev.20220131","@types/jest":"^27.4.0","@types/node":"^17.0.18","@babel/preset-env":"^7.16.11","eslint-plugin-html":"^6.2.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.17.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@typescript-eslint/parser":"^5.12.0","@types/dom-speech-recognition":"^0.0.1","@typescript-eslint/eslint-plugin":"^5.12.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.26.2_1650454693378_0.44411097886210804","host":"s3://npm-registry-packages"}},"0.26.3":{"name":"cubing","version":"0.26.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.26.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"1c42009f4fba4ea196c33e0c311eee4410be9764","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.26.3.tgz","fileCount":125,"integrity":"sha512-uw/lDiUoBTpULhYOlneohpAlqdXRvII7ngzA99sDC0oKVuLv0JQ4nW5SdKPK/Op/jzAOU0P0NYA9WF0vyrhodQ==","signatures":[{"sig":"MEQCIA9XDbaf+Uw5yN8x0zKwVOsu1R5yWtcMLZJ+U0qJOuOYAiASpQL9GPutZxRklUma/WSRBeRkNpWOy/GBSiZ/RiM5ew==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3966406,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiX/QfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr96Q//RicESIdNnqkWljzN2ekf8r3HrrKsdvFuWU8bcroHaMZO0ZV1\r\npJduNXtFPSJ03MJjJCnAxxg1r2db2dAbET653NTysfOiURLvH/A2wRNtIHZp\r\nkEiwsjpGhMphYpgzXXsKRyhQQdTQbXm+ZTUxy/lC3PH9vWbOgNKrfu6gNRr+\r\nVfXjam/u88uqJQ1GddmhofwWipcVuzAXV/lLuBTLjG9dnaCuyoAqRr2HmXWF\r\nHnF3dJWdZfzYsrb+n7aDaXP7K2XO9IXokop3Ibzax3qefRwnrWwkR9gaFQy9\r\nCVIZh/ALtbWHFm5oPYvOH08Q8yQkCs1LcEZJhyqQfg6DuM0XMuQ2CbZ2rz88\r\nBLhWqGKUeNKXMJW8v8KmaFuduZ4ibFmRhCrVRObqzAWfaMA2ipO2eE0vZxKC\r\n8O/oLVpB68nB+ZvhtVt2yMjmm9MwaRbdhL++Z/1+85xrp3Gsub7dami5bfOs\r\ni6V4ZVatiaysD/SUcQP59Sc2gEIN6AWAeyLA8a9yWW3y36OaCXVYVlB2vkfK\r\nQdAigJHqgE+fRm4XZ8LM4RDxGHS83NTVHmIs0hhX7UrymwOlNWbhcpgd1atd\r\nr4kqobpzxmCwntI3XqzBnLAKWJvAlGwzCjdadZGekjZUUfBfWFJSOmxwBVoS\r\nmsFJGY9tKtCoD2wlxdkrvukv2LSvP1G9xws=\r\n=8mvX\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"3abcec38023fb7b2d52000205d428277868d8267","scripts":{"dev":"npm run initial-setup && node ./script/build/main.js sites dev","link":"npm run build && npm link","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/search-worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","postpublish":"echo -e '\n\nConsider updating `cdn.cubing.net` if you have access:\nhttps://github.com/cubing/cdn.cubing.net/blob/main/docs/maintenance.md#updating-cdncubingnet-to-a-new-cubing-version\n'","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.5.5","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.8.0","dependencies":{"three":"^0.137.5","comlink":"^4.3.1","@types/three":"^0.137.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/search-worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","tsup":"^5.12.1","jszip":"^3.7.1","peggy":"^1.2.0","yargs":"^17.3.1","eslint":"^8.9.0","esbuild":"^0.14.22","prettier":"^2.5.1","puppeteer":"^13.3.2","babel-jest":"^27.5.1","typescript":"^4.6.0-dev.20220131","@types/jest":"^27.4.0","@types/node":"^17.0.18","@babel/preset-env":"^7.16.11","eslint-plugin-html":"^6.2.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.17.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@typescript-eslint/parser":"^5.12.0","@types/dom-speech-recognition":"^0.0.1","@typescript-eslint/eslint-plugin":"^5.12.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.26.3_1650455583337_0.4734798227776298","host":"s3://npm-registry-packages"}},"0.26.4":{"name":"cubing","version":"0.26.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.26.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"24ea3db9ca202cb2858a6efcea22a9d82ce27252","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.26.4.tgz","fileCount":125,"integrity":"sha512-wvLj1nnACBExfSwtDhxQyB7YyPXZxq+UcF+uSbdoXE990yEWVAEItlqL+FQ4HocB8M9ivXzDtQU4Qr2efNHL7Q==","signatures":[{"sig":"MEQCIDmoohza5bM78gEAJSbKg4QQq2mb4hgHVRFMc8tsvaRrAiBIb52VH7TSzNOrdWSVhtvLgr/Bqok4/c2qM+m6ZNRcvg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3995577,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJix6yfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoaJg//fgg9fx1yRm2MJRIvxh6WlYL36x7gnRhkEkLCAlGepjIMX3sO\r\nSk4J2IIRpSYB83yR/RVXRtOZeL3WIyP3H3RQjtIuMIBi72LNI7/+XEKqrWRv\r\neE8mPWJwZnFid0/cN1cNYxXFCe4EhEiWQ766TGpMCeymQuexc+IR9EitJ5Jp\r\nDTItOakNZkPIZBURdH6wvVEbpK3XgtCaFj2kXzR0j8SJ2hc48vVesNPkcMHw\r\nFT1tlhbCuQc8y3NYNx6W76OsUmZVPLBRqwO0KNOQKcQdrz6mr4esqUXgGeqi\r\nogKge5uZ4asFDlzYiI4f20G3dByidhMI8XfE+dm759zkIxiB8sNlql6JtE2u\r\neAN/ER1p9CqviU195S1cnSFB2hkgWt/Klhp11HlvJpJzsh0geAGkcHUXkBDj\r\nB50t854VmIo0rtvhN/t8Tx0XQVHIJsNZYJJASbEWGPK00PxyVj+g+83uU1zJ\r\nirLxeKrQIBM0YbTFnlRL8CtQ5YudbB/KCTpxArgXxfraj9y5lQYczGDWe0V8\r\nPrEp0mWzmhpasXw8zLyAkNvvLTtLwN8+6J6iJyJ/ogl6aZFSBCG7fOvgYyHC\r\nIHVBNcXYGm6z3h2Gmu3ZQWNvIlEvbGAHbiimcuQJppOiV1vVIWccBMytJHkh\r\nmspump6iO+4MQSTBbni6Qyjfmt9GlZVBo6o=\r\n=ynSH\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"engines":{"node":"^14.18 || ^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"2d59de563a93065645d9eacfe56fd25cae29391e","scripts":{"dev":"npm run initial-setup && node ./script/build/main.js sites dev","link":"npm run build && npm link","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/search-worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","postpublish":"echo -e '\n\nConsider updating `cdn.cubing.net` if you have access:\nhttps://github.com/cubing/cdn.cubing.net/blob/main/docs/maintenance.md#updating-cdncubingnet-to-a-new-cubing-version\n'","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.5.5","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.8.0","dependencies":{"three":"^0.142.0","comlink":"^4.3.1","@types/three":"^0.137.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","no-throw-literal":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/search-worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","tsup":"^5.12.1","jszip":"^3.7.1","peggy":"^1.2.0","yargs":"^17.3.1","eslint":"^8.9.0","esbuild":"^0.14.22","prettier":"^2.5.1","puppeteer":"^13.3.2","babel-jest":"^27.5.1","typescript":"^4.6.0-dev.20220131","@types/jest":"^27.4.0","@types/node":"^17.0.18","@babel/preset-env":"^7.16.11","eslint-plugin-html":"^6.2.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.17.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@typescript-eslint/parser":"^5.12.0","@types/dom-speech-recognition":"^0.0.1","@typescript-eslint/eslint-plugin":"^5.12.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.26.4_1657253022703_0.6359327857572754","host":"s3://npm-registry-packages"}},"0.26.5":{"name":"cubing","version":"0.26.5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.26.5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"3e57818b4bd7a18491f1cd0c18cb8f1cebb34dd2","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.26.5.tgz","fileCount":128,"integrity":"sha512-hMUGGdbBF+45SmMUvpvsdnZYAfldI3et+RfdM4B2iMUVAFWsfhazTo0mOC75pmcYC+dOgvwWM9FhihEKO/PIzQ==","signatures":[{"sig":"MEUCIQCZ/OjNintIbhmQClWTxbHRYdcEr2OnW8MnQqxFr6q/nwIgECnvSz1fCIN4fUn658HCffzn36+yGz2s01E5JgD8C3k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3994195,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyTZvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmojLQ/9GUIFyEoNyLgpxSh11xoY0zBKefIUcTj/KLjwCJp3VRKqArMV\r\noEm/9QTrwXdN2XEzuWgYUie1wYKoMoLhtrbO4Qu3ISGg3XVPTEIQbiHT9Pj1\r\niZHey8vhKLBfO3Xu/glUoMxuRGG+jBAipBZhKNbUNtk2V64GlPz5CCemFBrM\r\ngDfNtdmYq1+5XLihiwW+6yHK/aukC5QUAo6Rvm3lQkrxE3ZKHmfSeWo7DJcE\r\nQtzcNpkLYriVfDXn/5/YMLg/hXLBoYR+KQw0JgJ5zb7U8M8JIe4PyEq6xQhg\r\nViCZqbC/7h6pTby0cRzelKJ8Kv6Y1fSWWuB3oK1aKGCRpIQmlptB7xn25FJV\r\nF1thQCvlAjKfIAOHLulJYBH3PaxU0r80jvXQpSswftSJAurQCdWTVuyv7Zog\r\n2OSfh9ZyolesCip6HTfJERr5bG1T3G9P7zn9jSt8VaDVd5QJQyp9fs/hluuN\r\n73ARw71oSI8shgUSRba5aHX4yAWhXXgUOrT1veFu+xsNuYLT7axk+MbN/Rqf\r\nsEXbRvPwS6Ya3LjDt0XXY2o/lZE3qsaKPcjgwLmw2rBzulW5ET9fwlZa23ug\r\n756dq6NcgwMEUUe3aOZLaDfML/UP7DPjWzppjEoTOwr8wGaDZMZyGnfXpQ7g\r\nRUuIG/htSgfIbW3RNZeVtJT8p/FNt2FV+uM=\r\n=pV0E\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"engines":{"node":"^14.18 || ^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"7abf26de1fe84d943e199d523993a8c6a4d20f13","scripts":{"dev":"npm run initial-setup && node ./script/build/main.js sites dev","link":"npm run build && npm link","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/search-worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","postpublish":"echo -e '\n\nConsider updating `cdn.cubing.net` if you have access:\nhttps://github.com/cubing/cdn.cubing.net/blob/main/docs/maintenance.md#updating-cdncubingnet-to-a-new-cubing-version\n'","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.5.5","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.8.0","dependencies":{"three":"^0.142.0","comlink":"^4.3.1","@types/three":"^0.137.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","no-throw-literal":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/search-worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","tsup":"^5.12.1","jszip":"^3.7.1","peggy":"^1.2.0","yargs":"^17.3.1","eslint":"^8.9.0","esbuild":"^0.14.22","prettier":"^2.5.1","puppeteer":"^13.3.2","babel-jest":"^27.5.1","typescript":"^4.6.0-dev.20220131","@types/jest":"^27.4.0","@types/node":"^17.0.18","@babel/preset-env":"^7.16.11","eslint-plugin-html":"^6.2.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.17.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@typescript-eslint/parser":"^5.12.0","@types/dom-speech-recognition":"^0.0.1","@typescript-eslint/eslint-plugin":"^5.12.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.26.5_1657353839062_0.169961036989821","host":"s3://npm-registry-packages"}},"0.26.6":{"name":"cubing","version":"0.26.6","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.26.6","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"4ffe6183f0358b2c9ba719cbad54b1eabf2aae21","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.26.6.tgz","fileCount":128,"integrity":"sha512-JqrWM2QE+cSGutzm5NGI9tNaOEls5QtHGNQJTWAd0vLVT1lZ7X0K6tvqKpqlddMpoJMTaG7p6gF2roo+VreohQ==","signatures":[{"sig":"MEUCIBIsJIQuOTk/mazwiE1tHI3nCLmWiSQ+oV0VzMWh+KFzAiEA086NrLHkQMH38C+EAazV6Cu2BpvAZV0XTsmhO6/2xEQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3996728,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyUW9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq4bw//VIWjnMffExG4QUvcFkHiBwIQl0M5yRsYZkO1c/cDsdgJhOqu\r\nxK3BY16SGUEmv0vffVdAX52D1mJ4EBItOFl2T7sRHRWLQrPlR8Fs25Sq8tHB\r\nxTWNEzWWpx8GlCCF3phaksai/oliq9EFAfIjJfGl+J1NKueTl1X8lgFHntvo\r\nfgE1tZ7WNqInXQMtftSLdEdqIy92suX9/uR0nBPuN8WrXCGBod3NomCtViR6\r\n9sTHUZ5Yxwse671xmJ18cVPgvaDOuUlbKD7ShLHyl7YK2Tu+dak60RwWE6p/\r\nLcY8kas7LAeP3nGO/AM6b9NTeu1So76dzlgKj3ozQQ+i74IS6vRV95Led9Pe\r\nkmhQMxzjES8wqG/Cl1UaSRkUMivW/qk8UPlQGWDHdrUkfjXVINfoSfW1eG5u\r\nNUy2p7BN4oGJhPIHf8a/5xftw24RNAyotn4yTyUbmF/LG0mdGqVQ6eKgz39c\r\n+/SvIhWVgM6mgOeBnKWSFid4kSRvPrWp3vy2xKGZ4dmzdNhowg8ZY7UwGeqr\r\nNPSW7HGVNJHXCcxfjgG/3HBA5iLT3g6hZDMn4LJPugNRi8iASqT3YaJeE6x4\r\n7Yot+3BpmLZdl0mTD3W37b5eIT4+iH1czs/Kc2AOaFGvdEU1HilUicsHDgs3\r\nIXubNwiLdYXOQgm9oOK991TdFT3Y9VRc104=\r\n=/Cqp\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"engines":{"node":"^14.18 || ^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"8291e3ec9dc7a8cc3c59ca659f4e2526ed187852","scripts":{"dev":"npm run initial-setup && node ./script/build/main.js sites dev","link":"npm run build && npm link","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/search-worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","postpublish":"echo -e '\n\nConsider updating `cdn.cubing.net` if you have access:\nhttps://github.com/cubing/cdn.cubing.net/blob/main/docs/maintenance.md#updating-cdncubingnet-to-a-new-cubing-version\n'","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.5.5","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"17.8.0","dependencies":{"three":"^0.142.0","comlink":"^4.3.1","@types/three":"^0.137.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","no-throw-literal":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/search-worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","tsup":"^5.12.1","jszip":"^3.7.1","peggy":"^1.2.0","yargs":"^17.3.1","eslint":"^8.9.0","esbuild":"^0.14.22","prettier":"^2.5.1","puppeteer":"^13.3.2","babel-jest":"^27.5.1","typescript":"^4.6.0-dev.20220131","@types/jest":"^27.4.0","@types/node":"^17.0.18","@babel/preset-env":"^7.16.11","eslint-plugin-html":"^6.2.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.17.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@typescript-eslint/parser":"^5.12.0","@types/dom-speech-recognition":"^0.0.1","@typescript-eslint/eslint-plugin":"^5.12.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.26.6_1657357757045_0.9439970805761289","host":"s3://npm-registry-packages"}},"0.26.7":{"name":"cubing","version":"0.26.7","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.26.7","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"c6a1f25b2d64721744f17821541ff42c3289cbb2","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.26.7.tgz","fileCount":128,"integrity":"sha512-frnWVYCtgmeWgBIgaqZoJtd2L49t3kRbzaXWFPpROgkKlxZMlRlO+cMVkBHcKmRe9FrPwPJCpcPNZBYmE0k+8A==","signatures":[{"sig":"MEYCIQC8cs+lspF5Y9ShuPut5ZK+++iscJ/3JjZWORU+U3j4dAIhAN3dQNmOywyybtmh/CFbRTavRFSXcOULA/e85u5Nwipb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4005833,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi00rDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrpsg//YVIAH24ITC3j0eivfPZqtowK0bjx5XiScIWiKCcE1S9eJKUN\r\n1W2UG/PkhTnHuKdT/MQZ2UXuFurRimrhU300vADTi+sgZFvvSAwus5ijGOK4\r\nwSnwZgtz0u93i0NMVRbD1V1Qh8WcWHKrD29Zv0rmV/lUDH1NiPBLukHxaNuK\r\nDda7lpvX8LZSCBKRGx9FHDYQFKBDoUQmHSZL8oOHJ3l5Mc+gVHG9cg75codC\r\n+wNk32x+SK3MixtxVWixqot5HTAU9rNMy08jwupyM7FN7wto8yP2cK4xZHoN\r\nWLujBggbj3QISxzIGDDoMelqkX2JaUtQjJ1IYQSB53CfE+4+QmWhnkmSHtQ1\r\nTE8haR2J1fKDzIHdnQmUAD1YVoW4LjsVA9B8WO8PAR5ROrPeNTW8rQDwP1ht\r\nQX/JAPUs05dQR8Sujy+13M/fpcsSfDCReCDKAKueMX8B3BhRYKQqmIq/g8F0\r\nRThoYkTiYdbBs2TKuoVf2GrYJU/DDq0MbDr+kWbEyqLp6vVls4f0+1ZFXmj8\r\n1Sm1nazADC+CVhrGlKa6NTkiAnQzypQW+BSomUQbpQ5qqfkygSIfq4LAWmZA\r\nAMcRL5FL6neI4mRcehsBzzghRMp2WB5QDo/O+movNetKGCUW+UiVmkOLvfbn\r\neLoUuuVYUXLag1aAIvYcMo1LUG8PLH7IkVs=\r\n=1m7E\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"engines":{"node":"^14.18 || ^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"7a0a5334a73eabf39860ac57b5be0fae0d5d0386","scripts":{"dev":"npm run initial-setup && node ./script/build/main.js sites dev","link":"npm run build && npm link","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/search-worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","postpublish":"echo -e '\n\nConsider updating `cdn.cubing.net` if you have access:\nhttps://github.com/cubing/cdn.cubing.net/blob/main/docs/maintenance.md#updating-cdncubingnet-to-a-new-cubing-version\n'","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.13.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"18.6.0","dependencies":{"three":"^0.142.0","comlink":"^4.3.1","@types/three":"^0.137.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","no-throw-literal":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/search-worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","tsup":"^5.12.1","jszip":"^3.7.1","peggy":"^1.2.0","yargs":"^17.3.1","eslint":"^8.9.0","esbuild":"^0.14.22","prettier":"^2.5.1","puppeteer":"^13.3.2","babel-jest":"^27.5.1","typescript":"^4.6.0-dev.20220131","@types/jest":"^27.4.0","@types/node":"^17.0.18","@babel/preset-env":"^7.16.11","eslint-plugin-html":"^6.2.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.17.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@typescript-eslint/parser":"^5.12.0","@types/dom-speech-recognition":"^0.0.1","@typescript-eslint/eslint-plugin":"^5.12.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.26.7_1658014402697_0.492190667676657","host":"s3://npm-registry-packages"}},"0.27.0":{"name":"cubing","version":"0.27.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.27.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"6d09de1040b524411ade3aebce4321b76b9e0414","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.27.0.tgz","fileCount":128,"integrity":"sha512-cVG8gMcYOoEUtWxdztxl7dBKNVKXkiMy0koh9rUPBkNllt2juFu5XgnlnxX3Ody4PHqggpVQKo0LMYoAqxty8w==","signatures":[{"sig":"MEUCID3kS7eXP2qk5BiRIBUeHzh4d7qnS+GPHUVfpZ3mdSd7AiEAgU4oskWScwQuvS7E7Wtl69sn+8iQOy8s6dJaGqfH50k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4020339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1S/1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrPsQ/9EkXz1rNubUYYb7Vp9MBOzEGaMkUn/ydOBvu6x9C5eliQbqD6\r\nU59x6VsEZVi/vkp12c1Ft/jrzf26Rvpho5+aRX82qN+/aZH0lm+KwGO7iZAi\r\nQcRNaDpEjxpasRqQK4qEQ0FdMuBXscich5+eae2VwBFBdnAtspk+hJSYDHVb\r\nVoOkqI04Dk7w+lXwbxCxe/r75cvnRwz8qRTzApNXqsBenOVWZq7ywd6dNkGA\r\nQLGZOLinJYrtixV3d0trGCD3tL/E5GyR4MNj7CWwS80TtWY46JWAAhQ8/Aox\r\nOT3GyLFKsmm9xfGXVZkhtLd1xzLM3YRkAczLMd2QuaSW9AFQ2x1xLEuDWcQf\r\nGwLADB1TaFKAdZcR4kv0axsGM/6BZ9k79NBySRSKNf123tp6YdtXvlZUFUml\r\nxTfdMbhCfjjSdKZkPoh4P8rZXKXWt3Y5hK7a5gzegeuAi1GWqk1HeAffnCyJ\r\naibKUwLmsZz7dp4RSCb0032/o4cqI8RL7v9hNHF70JPFiqbUkijvXRc1Ipjv\r\niigasMAGbWqTGsKk8I7yEl1J7IQXWSfVN1s90+okzPUEXO9El5QQi6xzJ+Vg\r\nnMJzZV6hzdOTUE6rHA1kgO9bc0Agevqi6ZH0aMBIFbp5poNg1GTMv/P/wwpP\r\npegQtrEppVUqUOmczwgB/JByeH+8AXXQPT4=\r\n=t8fa\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"engines":{"node":"^14.18 || ^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"da809ae84e54709be598d68e7af3e8cf649b9d16","scripts":{"dev":"npm run initial-setup && node ./script/build/main.js sites dev","link":"npm run build && npm link","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/search-worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","postpublish":"echo -e '\n\nConsider updating `cdn.cubing.net` if you have access:\nhttps://github.com/cubing/cdn.cubing.net/blob/main/docs/maintenance.md#updating-cdncubingnet-to-a-new-cubing-version\n'","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","build-site-typedoc":"npx typedoc src/cubing/*/index.ts","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.13.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"18.6.0","dependencies":{"three":"^0.142.0","comlink":"^4.3.1","@types/three":"^0.137.0","@types/web-bluetooth":"^0.0.12"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","no-throw-literal":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/search-worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","tsup":"^5.12.1","jszip":"^3.7.1","peggy":"^1.2.0","yargs":"^17.3.1","eslint":"^8.9.0","esbuild":"^0.14.22","typedoc":"^0.23.8","prettier":"^2.5.1","puppeteer":"^13.3.2","babel-jest":"^27.5.1","typescript":"^4.6.0-dev.20220131","@types/jest":"^27.4.0","@types/node":"^17.0.18","@babel/preset-env":"^7.16.11","eslint-plugin-html":"^6.2.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.17.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@typescript-eslint/parser":"^5.12.0","@types/dom-speech-recognition":"^0.0.1","@typescript-eslint/eslint-plugin":"^5.12.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.27.0_1658138613572_0.8725127042488192","host":"s3://npm-registry-packages"}},"0.28.0":{"name":"cubing","version":"0.28.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.28.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"3bfd8f202370e2b115fcf145c3f9cbe0f84542f2","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.28.0.tgz","fileCount":128,"integrity":"sha512-E4NSIUk0Dc3QnYxDMhBdWgdb2so+pussbZ4nAa21nyr9iPnxVnepydXDZqos+y4/sq/gsp67F6mTHL2RztuATQ==","signatures":[{"sig":"MEYCIQCU+8FheGWCusGu96Ba6v1N4zt6aaB5Q087JJ8T1Q9QXAIhALjMQeosKgsnb2QWlFI3EU7RRPnLGeSSq33qg7GzuAqD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4104693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1fW+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoqGhAAhRfVlBBTeh9x8LAgPTGKrwOtUWwpGiFR0ISRmt4/FnBcCZNS\r\n6Qm1vNAbZ28CdzWUVfSsnF7ehf/PKjPtAL2zDSh0S10nrXgNjzvMl+x+1xJh\r\nu6eplmBeYqCDOGvU4b8BgcUIanZPk2GRenx02B/8zhlTLQiXpfES4g+STMGM\r\nr7TL7xYDKcrsd5Ngt0+wY3UtBd7Cc2JSjmIvTkMXJsJ2m32jnu2CVi+rAxA8\r\nzM0UtjJVK3s2oKAEThbIMSfPmzQqAoJx6K/ulffE+59QHLBm4iyUFJoq3fVR\r\n1zzBfUuiM9fLkkb1wq3pjaPjqUfiodefGKJww6SDa6Jr38ce+8+CHRlD6+4q\r\nUgLQrZfJF/zy67QdyHzv23qFOJQxwhpcy5VPf2HfC9bGtpSTBWxtI8DFnW7w\r\nkV2MMm4tft+S80nkMecK9m4q1UeQOD//HRGGu7udwJg5nh7zBwUdI667Cl2g\r\nheMfmetUq4BYqM6d8HBCSRch2F99eP30RM+Gj2AoN5Ls3+0MS679nyQJCyxt\r\n6uBoKTbs2iefEqhxGgqt/Z0aAJgetlEUrSh4QzTUQYkWv6y/UwdSqd0GdrKi\r\nPvxt3aCGgnBF8xAF75qODlGxNINK1+s2l4RbV+s7qBM+OD/w102UAdg76y5x\r\n9EJRSG3o6NsrSlzkIiEPdq91LeaFy4cO2eM=\r\n=LCo7\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"engines":{"node":"^14.18 || ^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"a049037a49478f24d95c4f89b14d49848eef5c8c","scripts":{"dev":"npm run initial-setup && node ./script/build/main.js sites dev","link":"npm run build && npm link","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/search-worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","postpublish":"echo -e '\n\nConsider updating `cdn.cubing.net` if you have access:\nhttps://github.com/cubing/cdn.cubing.net/blob/main/docs/maintenance.md#updating-cdncubingnet-to-a-new-cubing-version\n'","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","build-site-typedoc":"npx typedoc src/cubing/*/index.ts","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.13.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"18.6.0","dependencies":{"three":"^0.142.0","comlink":"^4.3.1","@types/three":"^0.141.0","@types/web-bluetooth":"^0.0.14","jest-environment-jsdom":"^28.1.3"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","no-throw-literal":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/search-worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","tsup":"^6.1.3","jszip":"^3.10.0","peggy":"^2.0.1","yargs":"^17.5.1","eslint":"^8.20.0","esbuild":"^0.14.49","typedoc":"^0.23.8","prettier":"^2.7.1","puppeteer":"^15.4.0","babel-jest":"^28.1.3","typescript":"^4.7.4","@types/jest":"^28.1.6","@types/node":"^18.0.6","@babel/preset-env":"^7.18.9","eslint-plugin-html":"^7.0.0","barely-a-dev-server":"^0.2.6","@babel/eslint-parser":"^7.18.9","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@babel/preset-typescript":"^7.18.6","@typescript-eslint/parser":"^5.30.7","@types/dom-speech-recognition":"^0.0.1","@typescript-eslint/eslint-plugin":"^5.30.7"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.28.0_1658189246350_0.26354674950888546","host":"s3://npm-registry-packages"}},"0.28.1":{"name":"cubing","version":"0.28.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.28.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"c6c5221f6ceb3db69fd64924733b656f75a034a9","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.28.1.tgz","fileCount":126,"integrity":"sha512-pfwbIXBjpV6lAws5Sl/uibXiSz3CiyPudHDOb51maKvXU+ieDmLKFdDr5k1+0WVpP0zXLwtMyxamLfjmlU7MaQ==","signatures":[{"sig":"MEQCIFBkOvNCimjp231W6AyhQVTkBBVC32DGrgXZLHJ+ghn5AiB1JTTdFF34COf7VbbD/AAa/fvOXOiqmq+LbmpJ0euVMQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4111277,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi3ws5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmreoQ//c4l8iG5/GiAxD32uG56gqRFc0mtxEEkx+Cx3iPQFaChOXjsz\r\nZIAvhi+W0pxLko0E0sjT5fX0r7S21RjsvQFU3dkJZIc3QbcEiL7zVNTdboca\r\nA9vn8rS66Cxp69NZf2zuWSIKDCOolMGb0y8qk1EmbjJ2bDB7f3advjLnkzcW\r\naEJa4qkhV+pW6y7I0SRdFWXu0u1ZFIIsp3BNdt33Y0ED2GRw8Tkar5Aw6dRl\r\nXzM+0gi5HjjEF6dptVnGNGhTJj2vdfs/9tkxVezaqqArH2BZhlwFIES8rYlk\r\nPSzbKp98tM+SKiyHc/BObVQOffW1nXiUNS04LjNfkJcklcrD+4CxHZDUhO5l\r\nT9Nteth4ccBI9F6fSEXeXAT64uG+OwO9iVKrNRqhbXJwzMqL28mr1LLmf39+\r\nBpqPAi/prZtDnsEnm1CyqoiH0B7UBX7xrVxVLmWXrsIb0x1kPQ8mrLQ/VYT1\r\nyyaqDe2JGW9Kxns5ZZ3FbLxBItVeBy3H33y1LSQRnBDHt9cdqajvWT9B1omS\r\nWphF9TynvYP4N8829kSdEWigT0xDoiDjqToEEsTgF38kIp63F4gnFNTQiUJ0\r\n6XrQaFrGMwYpfrryyPQI3cMjRjKtcsFyz1BSHWy6YKk3vJ0T18SXCxBmkL3h\r\ncZgnGvu2qhl6tl1hbuBZzDGGzcz9tfq+J88=\r\n=vFHY\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"engines":{"node":"^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"f4be78aaa2067d5d51bce728311dca2784c40c3d","scripts":{"dev":"npm run initial-setup && node ./script/build/main.js sites dev","link":"npm run build && npm link","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/search-worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","postpublish":"echo -e '\n\nConsider updating `cdn.cubing.net` if you have access:\nhttps://github.com/cubing/cdn.cubing.net/blob/main/docs/maintenance.md#updating-cdncubingnet-to-a-new-cubing-version\n'","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","build-site-typedoc":"npx typedoc src/cubing/*/index.ts","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.12.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"18.5.0","dependencies":{"three":"^0.142.0","comlink":"^4.3.1","@types/three":"^0.141.0","@types/web-bluetooth":"^0.0.14"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","no-throw-literal":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/search-worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","tsup":"^6.1.3","jszip":"^3.10.0","peggy":"^2.0.1","yargs":"^17.5.1","eslint":"^8.20.0","esbuild":"^0.14.49","typedoc":"^0.23.8","prettier":"^2.7.1","puppeteer":"^15.4.0","babel-jest":"^28.1.3","typescript":"^4.7.4","@types/jest":"^28.1.6","@types/node":"^18.0.6","@babel/preset-env":"^7.18.9","eslint-plugin-html":"^7.0.0","barely-a-dev-server":"^0.3.0","@babel/eslint-parser":"^7.18.9","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","jest-environment-jsdom":"^28.1.3","@babel/preset-typescript":"^7.18.6","@typescript-eslint/parser":"^5.30.7","@types/dom-speech-recognition":"^0.0.1","@typescript-eslint/eslint-plugin":"^5.30.7"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.28.1_1658784569466_0.3644267684915512","host":"s3://npm-registry-packages"}},"0.28.2":{"name":"cubing","version":"0.28.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.28.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"f47dbe1f10e42041e023f1ee8135fdbbe99c3f16","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.28.2.tgz","fileCount":129,"integrity":"sha512-I/JMdPK4du61hGQujPy6qpJEqsPT98vQec7TsZ2JuwegHXSQzMZ4ine93/5QOHlogHvDv/fRa3RJNu8GZEbgSA==","signatures":[{"sig":"MEQCIH8gAPRRCEmub9V6c1Krogo+7V4EaMNLoSmTuD0iXDIJAiAHaoJC6hLSs+p/LEI8Sl0o7KriTGzg2RvlopD5M3xxqA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4179711,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7j5wACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo+jw/9Ho7hreYWkgMK9WK3EDbl4Ov8iBpyQLW5lWLIdyW+fnBoXKhC\r\n53by+Lxftu8bA9gG82j9KYqlXs15j3TapIZ5vgxXE4qSJm0w18x6nXNpnqTe\r\nKPEq/9AtdmeX/FsAJNJGo2VfoHp+tXDpZN2/CAyELgA4huiINKoYz4DOV7Sz\r\nhkrIzzSEDvuBchmw3NvoxBEkPvZfbBnikylDVPKdFNa5twHcJz17gXMtV6Kh\r\nh/WqYygYFbXuP53r2VyieH1rT9aY6ED8ah2dkSCpRXOjY1uwU609modpT0jn\r\n9iKPmMdb1VCBlKU8CZvVPKU7YgNwhdhFLC6zTc3/rWWUF0/bk6k2FNMjm+8X\r\nkNPOZ9TXGM/P2csGQwdrNVAUx1HHaObHI4Po0jSFxI7X9Xjt8ZFSY4Lvi3sA\r\nRJGdiY/G98oi94N6iECQ4Kwz9r54/cJe2Xji4i6PkLufW4iJAN0V4tP4DgnU\r\n4nspsRSHACd1KPvsZbBzIZRE/JMSH5KOL7nJByYImIOWHs4T7zJI9yCDQS78\r\nNWVm4Qj4rXkvULooq9NHNSst8CiAgTCS/9YWOOkN17mxh3VsJxEDUy18Ih39\r\nwDiAZLfLkRouczZMky6rFFbtT8J5Xd4h1+9gkEPfr7229IWETWEEEo/gAAXc\r\nO7H6IYU854NGyTJNCRlwMhHMHr5cPDnPAoA=\r\n=gpq5\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/script"],"coverageDirectory":"<rootDir>/.temp/coverage"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"engines":{"node":"^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"9b01373759c6c0f0d6f2b85998789bcd952da99c","scripts":{"dev":"npm run initial-setup && node ./script/build/main.js sites dev","link":"npm run build && npm link","lint":"npx eslint --ext=js,ts src script","test":"npm run test-jest && npm run lint && npm run test-import-restrictions && npm run test-tsc # keep test.yml & build.yml in sync with this","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/search-worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm install","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import && npm run test-dist-esm-plain-esbuild-compat","test-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-jest":"npx jest --collectCoverage","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","postpublish":"echo -e '\n\nConsider updating `cdn.cubing.net` if you have access:\nhttps://github.com/cubing/cdn.cubing.net/blob/main/docs/maintenance.md#updating-cdncubingnet-to-a-new-cubing-version\n'","initial-setup":"node ./script/initial-setup/main.js","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","build-site-twizzle":"node ./script/build/main.js twizzle","build-site-typedoc":"npx typedoc src/cubing/*/index.ts","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","test-dist-esm-vite":"node ./script/test/dist/esm/vite/main.js","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","test-dist-experiments":"node ./script/test/dist/experiments/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-import-restrictions":"node ./script/test/import-restrictions/main.js","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-not-imported-from-src":"node ./script/test/dist/not-imported-from-src/main.js","test-dist-esm-scramble-all-events":"node script/test/dist/esm/scramble-all-events/main.mjs","test-dist-esm-plain-esbuild-compat":"node script/test/dist/esm/plain-esbuild-compat/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.12.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"18.5.0","dependencies":{"three":"^0.142.0","comlink":"^4.3.1","@types/three":"^0.141.0","@types/web-bluetooth":"^0.0.14"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","no-throw-literal":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/search-worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","tsup":"^6.1.3","jszip":"^3.10.0","peggy":"^2.0.1","yargs":"^17.5.1","eslint":"^8.20.0","esbuild":"^0.14.49","typedoc":"^0.23.8","prettier":"^2.7.1","puppeteer":"^15.4.0","babel-jest":"^28.1.3","typescript":"^4.7.4","@types/jest":"^28.1.6","@types/node":"^18.0.6","@babel/preset-env":"^7.18.9","eslint-plugin-html":"^7.0.0","barely-a-dev-server":"^0.3.3","@babel/eslint-parser":"^7.18.9","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","jest-environment-jsdom":"^28.1.3","@babel/preset-typescript":"^7.18.6","@typescript-eslint/parser":"^5.30.7","@types/dom-speech-recognition":"^0.0.1","@typescript-eslint/eslint-plugin":"^5.30.7"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.28.2_1659780719791_0.7135381789958251","host":"s3://npm-registry-packages"}},"0.28.4":{"name":"cubing","version":"0.28.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.28.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"6dc720fac124f9a27065e1db43542efd9fcdbc81","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.28.4.tgz","fileCount":128,"integrity":"sha512-z8XKg/KHurD02o1dSPa51QRlNg87ejMWqU0S5agOp6Jz/bYl1IUvzpbEP/1s9Rv0DgydSRgJtHGlQVLGubRqZA==","signatures":[{"sig":"MEUCIQDlpMm3y0ee5m6xFrfHmEhSxQYwIxhvRJV66i5WEionEQIgYsRr9SvbvXY2CZ83ipTv3oIB1kDWf0Admk1ndsnVWMU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4170948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBFofACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpq8BAAoxVRwuVKjB+kX8RDuFgjgue+v2eIcEQAGMM6D6S/C7Oee82h\r\n+Q2iZ+SwbCRjlW6Uz4c59OzePiZbFt/OhsocV2PcTuYt+MpHuStpiejJ2qri\r\naKNhd4A03HPLvgDnC2lzq3v3/Cmje9n3JxcgKwGXSRqqxaMdCjaGZzG4NW44\r\nrx6ckjIdy1V22vIr7shCy/Nc29lejW8vgi0cbiHZk2ziBT3n6j8rukpf6ham\r\n0bOOFIVzy3q9AaydHYfn/sNp79QKp5lCN3JSZeWKvrXA9ydryqw9EYMcrOAr\r\nZJ2qoyS6cQwfqoGR6iYRmYvs4cmwrNaVy/bAT2d/HOPl1PpICqlu1d+ky0WT\r\nC7uonViImP9kCiupOhzgF14btltsH1JBPmgtVCGZ1dyG9ARfN8d1AWC5s9Op\r\n3N8K/FmSFsbOgwotHAOJLS3wHwbUTjjMtDKHF9uK8hn6qFyyNeCiBGc5Xt6e\r\nafZS6c+0jXRKX1FsZCj7anpEWmkCbs7XOtUuX3ZCSHzDm9O+8dLPp4FrWU3t\r\nT5SDt9+cFmTn0V/G83/TrUYn+1EXdEQ4DVrv0XIZPh++1fCrF2Kisxl2iIip\r\nmMgY1OCWELvQlzseHxMEVeDajdbq2GbQn8EAcSTstJ3pOvCVx+z9RSJBG27T\r\nYjr7SZ5fDE9srWZcYHXEQSnO1cJOWVHFNoo=\r\n=Aa/C\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"engines":{"node":"^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"803cacadfa2c3231c42b9738bc0fc638b25916e8","scripts":{"dev":"npm run quick-setup && node ./script/build/main.js sites dev","link":"npm run build && npm link","lint":"npx eslint --ext=js,ts src script","test":"echo \"Run one of the following.\n(Time estimates are based on a fast computer.)\n\n    make test-spec (≈4s, \\`*.spec.ts\\` files only)\n\n    make test-src   (≈30s, includes \\`make test-spec\\`)\n    make test-build (≈10s)\n    make test-dist  (≈30s)\n\n    make test-all  (≈70s, runs all of the above)\n    make test-fast (≈6s, runs a subset of the above)\n\"","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/search-worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm ci","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import && npm run test-dist-esm-plain-esbuild-compat","test-all":"npm run test-src && npm run test-build && npm run test-dist","test-src":"npm run test-spec && npm run lint && npm run test-src-tsc && npm run test-src-internal-import-restrictions && npm run test-src-does-not-import-dist # keep CI.yml in sync with this","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-dist":"npm run build-esm && npm run test-dist-esm-node-import && npm run test-dist-esm-scramble-all-events && npm run test-dist-esm-perf && npm run test-dist-esm-plain-esbuild-compat && npm run test-dist-esm-parcel && npm run test-dist-esm-vite && npm run test-dist-sites-experiments && npm run build-sites && npm run test-dist-sites-experiments # keep CI.yml in sync with this","test-fast":"npm run build-esm && npm run build-sites && npm run build-bin && npm run test-spec","test-spec":"npx web-test-runner","test-build":"npm run build-esm && npm run build-bin && npm run build-bundle-global && npm run build-types && npm run build-sites && npm run build-site-typedoc # keep CI.yml in sync with this","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","postpublish":"echo -e '\n\nConsider updating \\`cdn.cubing.net\\` if you have access:\nhttps://github.com/cubing/cdn.cubing.net/blob/main/docs/maintenance.md#updating-cdncubingnet-to-a-new-cubing-version\n'","quick-setup":"node ./script/quick-setup/main.js","test-src-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-spec-watch":"npx web-test-runner --watch","build-site-twizzle":"node ./script/build/main.js twizzle","build-site-typedoc":"npx typedoc src/cubing/*/index.ts","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","test-dist-esm-vite":"node ./script/test/dist/esm/vite/main.js","build-bundle-global":"node ./script/build/main.js bundle-global","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-sites-experiments":"node ./script/test/dist/experiments/main.js","test-src-does-not-import-dist":"node ./script/test/src/does-not-import-dist/main.js","test-dist-esm-scramble-all-events":"node script/test/dist/esm/scramble-all-events/main.mjs","test-dist-esm-plain-esbuild-compat":"node script/test/dist/esm/plain-esbuild-compat/main.js","test-src-internal-import-restrictions":"node ./script/test/src/internal-import-restrictions/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.12.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"18.5.0","dependencies":{"three":"^0.143.0","comlink":"^4.3.1","@types/three":"^0.143.0","@types/web-bluetooth":"^0.0.15"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","no-throw-literal":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/search-worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","tsup":"^6.2.2","jszip":"^3.10.1","peggy":"^2.0.1","yargs":"^17.5.1","eslint":"^8.21.0","esbuild":"^0.15.3","typedoc":"^0.23.10","prettier":"^2.7.1","puppeteer":"^16.1.0","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@babel/preset-env":"^7.18.10","eslint-plugin-html":"^7.1.0","barely-a-dev-server":"^0.3.4","@babel/eslint-parser":"^7.18.9","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@web/dev-server-esbuild":"^0.3.2","@babel/preset-typescript":"^7.18.6","@typescript-eslint/parser":"^5.33.0","@types/dom-speech-recognition":"^0.0.1","@typescript-eslint/eslint-plugin":"^5.33.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.28.4_1661229598790_0.10032415152368124","host":"s3://npm-registry-packages"}},"0.29.0":{"name":"cubing","version":"0.29.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.29.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"5735830f4af3349d05bb488e5eaba1701ea89fa2","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.29.0.tgz","fileCount":128,"integrity":"sha512-cxUPM96/flO4SSHbtY2Zo4KD+UFHRLkAg3N6mayA7r83o8rurTJ/FmvdaRzDRi50yG1v3jZDHsHcQZM/Ur9C5w==","signatures":[{"sig":"MEYCIQCf68rWkbDOymT9iYqy9Yw9AiENFxF7J9kZY8lRXC2XzwIhAKHltXFnGl4SGrVY0FZFYNNWBLbKomJUtycRWA1avMa+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4171010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFA0BACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpHWg//XqTLJmxVjBMNhRtWkhqHkiT8e9qQ8m2+61+T7pDLF24nsmM6\r\nzn5gRT4PtXfwi5o6/GfgWVe4xzxL6vF9shzG3SG0eqyfATr2MFC2PUFLb0PH\r\npjjeG1yWuZUssWnqCQAuDIppCHJPvLsEbFo2xlYnRiJbIdiw4WGbT5ysvgcn\r\nhiy7pXeDzBeZNyvDD9xfsBCpmefsQnELGirCn4bFhUGBHlAB7xh6UDLNo530\r\nb6JJf0DgURBbGPDjKSVIERbOfNzSiOdQVaUecoxbqY4iSfQLX5rr/f7UWkZ+\r\n58z+MuCN1HRuTGu1M83AxS/gU8ZzSbF4dgi+/bJTUXEvY8W6NbW7zRFt+Sub\r\nx0ZrfWIsX8s71qQdiE3p/B/UmAM000Ub2r/wiBnLjGzs2OS0182vnk9u7K9d\r\n/K/esAEASSEWUPuwbBpFsKQ0ysiqF7Mt/X4+lte0A2kXtWw2SLuIBQVwrBmD\r\nku+rT52M4wSoRokQKRvTZ9OUz+OCA+FbqsA8Fnp44BO86uU+X2c4KT9Spatb\r\nGIiJbKypfzp6Ig3I8P96qluA1qr8d9/RLnXrN8Lm/iVREZ+qIXKBYo7mUM4S\r\nEUji6l8G4w2LJxkdaLZQWJ2AoPithhpBCkRdktied+GR80ICIdGHqi1bYEfk\r\nH1eFBMCVDuIDcoXKKaeTVaypPTrgS/u01No=\r\n=ZzQk\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"engines":{"node":"^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"20cc84cbcd7e993e88a16c6f0d965970ed9bb394","scripts":{"dev":"npm run quick-setup && node ./script/build/main.js sites dev","link":"npm run build && npm link","lint":"npx eslint --ext=js,ts src script","test":"echo \"Run one of the following.\n(Time estimates are based on a fast computer.)\n\n    make test-spec (≈4s, \\`*.spec.ts\\` files only)\n\n    make test-src   (≈30s, includes \\`make test-spec\\`)\n    make test-build (≈10s)\n    make test-dist  (≈30s)\n\n    make test-all  (≈70s, runs all of the above)\n    make test-fast (≈6s, runs a subset of the above)\n\"","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/search-worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm ci","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import && npm run test-dist-esm-plain-esbuild-compat","test-all":"npm run test-src && npm run test-build && npm run test-dist","test-src":"npm run test-spec && npm run lint && npm run test-src-tsc && npm run test-src-internal-import-restrictions && npm run test-src-does-not-import-dist # keep CI.yml in sync with this","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-dist":"npm run build-esm && npm run test-dist-esm-node-import && npm run test-dist-esm-scramble-all-events && npm run test-dist-esm-perf && npm run test-dist-esm-plain-esbuild-compat && npm run test-dist-esm-parcel && npm run test-dist-esm-vite && npm run test-dist-sites-experiments && npm run build-sites && npm run test-dist-sites-experiments # keep CI.yml in sync with this","test-fast":"npm run build-esm && npm run build-sites && npm run build-bin && npm run test-spec","test-spec":"npx @web/test-runner --playwright","test-build":"npm run build-esm && npm run build-bin && npm run build-types && npm run build-sites && npm run build-site-typedoc # keep CI.yml in sync with this","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","postpublish":"echo -e '\n\nConsider updating \\`cdn.cubing.net\\` if you have access:\nhttps://github.com/cubing/cdn.cubing.net/blob/main/docs/maintenance.md#updating-cdncubingnet-to-a-new-cubing-version\n'","quick-setup":"node ./script/quick-setup/main.js","test-src-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-spec-watch":"npx @web/test-runner --playwright --watch","build-site-twizzle":"node ./script/build/main.js twizzle","build-site-typedoc":"npx typedoc src/cubing/*/index.ts","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","test-dist-esm-vite":"node ./script/test/dist/esm/vite/main.js","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-sites-experiments":"node ./script/test/dist/experiments/main.js","test-src-does-not-import-dist":"node ./script/test/src/does-not-import-dist/main.js","test-dist-esm-scramble-all-events":"node script/test/dist/esm/scramble-all-events/main.mjs","test-dist-esm-plain-esbuild-compat":"node script/test/dist/esm/plain-esbuild-compat/main.js","test-src-internal-import-restrictions":"node ./script/test/src/internal-import-restrictions/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.18.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"18.8.0","dependencies":{"three":"^0.143.0","comlink":"^4.3.1","@types/three":"^0.143.0","@types/web-bluetooth":"^0.0.15"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","no-throw-literal":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-unsafe-return":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/search-worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","eslint":"^8.21.0","esbuild":"^0.15.3","typedoc":"^0.23.10","prettier":"^2.7.1","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@babel/preset-env":"^7.18.10","eslint-plugin-html":"^7.1.0","barely-a-dev-server":"^0.3.4","@babel/eslint-parser":"^7.18.9","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@web/dev-server-esbuild":"^0.3.2","@babel/preset-typescript":"^7.18.6","@typescript-eslint/parser":"^5.33.0","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1","@typescript-eslint/eslint-plugin":"^5.33.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.29.0_1662258433216_0.5922671815663885","host":"s3://npm-registry-packages"}},"0.29.1":{"name":"cubing","version":"0.29.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.29.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"b5dfac328311a8e67c283cca7245ea9fc4ed3b8b","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.29.1.tgz","fileCount":128,"integrity":"sha512-ZemO3VpmzTkP4gJdcfc+PAVKQ5v8NyiLk9zbXJFAYMsRuXcGW7CZy6eopzGK7l1hsFH3XCkVLoacK3LzLHr5Zw==","signatures":[{"sig":"MEQCIBtloYo1rokVv1RoM2ZXHOjVmQapgoyrb6jYp/5JJdZsAiAqoFLhocHScLgXHfgOZU/FwBXIrl69qqr5av5iCqnBtg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4171165,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGoi6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqvOQ/8DoyQ+AzVkP7tmqmnBvbVkMNUBUpcfD8sZtYy+PaXj53bvBSS\r\nSmpCAwlvyMIHd/h3G5EQgjqhvGLwIbcAyc0ZvYdZoRNmrnbbp6aoJGh6QqjV\r\no6zeMHJK1ok3m+X5OxvtEwXMmsQ2cRHYnJgQMZ7bVKzBR0wlcf+MxGbOpYXZ\r\nH/LXt7qxTjiguiRlFyFXym4K0Z2g5EzmyQ9HYKEP2JAvPA6qlvyqin5wEpl3\r\n9S3xNwqYceoM+dzaBwkPIGSVhhYo8wxhiH0xbQcaEWTpb5//lr4n7PzEsn56\r\nHRhPYCNfz3Bg93vHbZ7OE35oJxNw3PVYVpiQDxEEYG0EjDMTivma9Qzp0R3e\r\n48BY1/ClT95uix9khTzdydxohQ4pD36KhiHWlG70HX/iUmhhTLIVUbMHxvCn\r\nStVEr8BGPi/V/+RLxdCmCPRikSMBUGnStvVA+PgUx9OGd40Ev00rvbLla5cI\r\n0ORi0upDrY9L3eMMEftnUU1JtXN9gT1qVrbPZ/+8lxdH2xwrwkud9PU2peIp\r\nbMvhOyyyPhhJLcs4zbINsz6hRHigE2WXLriafwwxGd1a84wemXq68SXHHHoE\r\nrO/bM/FLIOlW8chybK2a9j/nBnQ+eA8B4Yh1RIzx8ClyH4i1FAILcuNQ/lC8\r\nrloCji9744oA+2a18fQ9b+tLDcE8kfdEHqA=\r\n=qkU/\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}],"@babel/preset-typescript"]},"engines":{"node":"^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"e09c8bd0e7602ce2ff55e98e1dfd9e91f3eec178","scripts":{"dev":"npm run quick-setup && node ./script/build/main.js sites dev","link":"npm run build && npm link","lint":"npx eslint --ext=js,ts src script","test":"echo \"Run one of the following.\n(Time estimates are based on a fast computer.)\n\n    make test-spec (≈4s, \\`*.spec.ts\\` files only)\n\n    make test-src   (≈30s, includes \\`make test-spec\\`)\n    make test-build (≈10s)\n    make test-dist  (≈30s)\n\n    make test-all  (≈70s, runs all of the above)\n    make test-fast (≈6s, runs a subset of the above)\n\"","build":"npm run clean && node ./script/build/main.js all","clean":"rm -rf dist .temp coverage src/cubing/search/search-worker-inside-generated* ./alg ./bluetooth ./kpuzzle ./notation ./protocol ./puzzle-geometry ./puzzles ./scramble ./search ./stream ./twisty","setup":"npm ci","format":"npx eslint --fix --ext=js,ts src script; npx prettier --write src script","prepack":"npm run clean && npm run build && npm run test-dist-esm-node-import && npm run test-dist-esm-plain-esbuild-compat","test-all":"npm run test-src && npm run test-build && npm run test-dist","test-src":"npm run test-spec && npm run lint && npm run test-src-tsc && npm run test-src-internal-import-restrictions && npm run test-src-does-not-import-dist # keep CI.yml in sync with this","build-bin":"node ./script/build/main.js bin","build-esm":"node ./script/build/main.js esm","test-dist":"npm run build-esm && npm run test-dist-esm-node-import && npm run test-dist-esm-scramble-all-events && npm run test-dist-esm-perf && npm run test-dist-esm-plain-esbuild-compat && npm run test-dist-esm-parcel && npm run test-dist-esm-vite && npm run test-dist-sites-experiments && npm run build-sites && npm run test-dist-sites-experiments # keep CI.yml in sync with this","test-fast":"npm run build-esm && npm run build-sites && npm run build-bin && npm run test-spec","test-spec":"npx @web/test-runner --playwright","test-build":"npm run build-esm && npm run build-bin && npm run build-types && npm run build-sites && npm run build-site-typedoc # keep CI.yml in sync with this","build-sites":"npm run build-site-twizzle && npm run build-site-experiments","build-types":"node ./script/build/main.js types","generate-js":"npm run generate-js-parsers && npm run generate-js-svg","postpublish":"echo -e '\n\nConsider updating \\`cdn.cubing.net\\` if you have access:\nhttps://github.com/cubing/cdn.cubing.net/blob/main/docs/maintenance.md#updating-cdncubingnet-to-a-new-cubing-version\n'","quick-setup":"node ./script/quick-setup/main.js","test-src-tsc":"npm run build-types && npx tsc --project ./tsconfig.json","generate-js-svg":"echo \"TODO: Generating JS for SVGs is not implemented yet.\"","test-spec-watch":"npx @web/test-runner --playwright --watch","build-site-twizzle":"node ./script/build/main.js twizzle","build-site-typedoc":"npx typedoc src/cubing/*/index.ts","test-dist-esm-perf":"node script/test/dist/esm/perf/*.mjs","test-dist-esm-vite":"node ./script/test/dist/esm/vite/main.js","build-search-worker":"node ./script/build/main.js search-worker","generate-js-parsers":"npx peggy --format es src/cubing/kpuzzle/parser/parser-peggy.peggy","test-dist-esm-parcel":"node ./script/test/dist/esm/parcel/main.js","build-site-experiments":"node ./script/build/main.js experiments","test-dist-esm-node-import":"node script/test/dist/esm/node-import/main.mjs","test-dist-sites-experiments":"node ./script/test/dist/experiments/main.js","test-src-does-not-import-dist":"node ./script/test/src/does-not-import-dist/main.js","test-dist-esm-scramble-all-events":"node script/test/dist/esm/scramble-all-events/main.mjs","test-dist-esm-plain-esbuild-compat":"node script/test/dist/esm/plain-esbuild-compat/main.js","test-src-internal-import-restrictions":"node ./script/test/src/internal-import-restrictions/main.js"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"prettier":{"semi":true,"tabWidth":2,"quoteProps":"consistent","trailingComma":"all"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.18.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"18.8.0","dependencies":{"three":"^0.143.0","comlink":"^4.3.1","@types/three":"^0.143.0","@types/web-bluetooth":"^0.0.15"},"eslintConfig":{"env":{"node":true,"browser":true,"commonjs":true},"parser":"@babel/eslint-parser","globals":{"Symbol":false,"Promise":false,"globalThis":false},"overrides":[{"files":"**/*.js","rules":{"no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@babel/eslint-parser","extends":["eslint:recommended"]},{"files":"**/*.ts","rules":{"curly":"error","no-throw-literal":"error","@typescript-eslint/require-await":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-unsafe-return":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-non-null-assertion":"off","@typescript-eslint/restrict-plus-operands":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/restrict-template-expressions":"off"},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],"plugins":["@typescript-eslint"]}],"parserOptions":{"project":"./tsconfig.json"},"ignorePatterns":["/src/static","/src/cubing/search/search-worker-inside-generated*","parser-peggy.js"]},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","eslint":"^8.21.0","esbuild":"^0.15.3","typedoc":"^0.23.10","prettier":"^2.7.1","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@babel/preset-env":"^7.18.10","eslint-plugin-html":"^7.1.0","barely-a-dev-server":"^0.3.4","@babel/eslint-parser":"^7.18.9","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@web/dev-server-esbuild":"^0.3.2","@babel/preset-typescript":"^7.18.6","@typescript-eslint/parser":"^5.33.0","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1","@typescript-eslint/eslint-plugin":"^5.33.0"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.29.1_1662683322190_0.0007764807842711718","host":"s3://npm-registry-packages"}},"0.29.2":{"name":"cubing","version":"0.29.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.29.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"b9c489cb21cba80d4782217d73dbde15db75972a","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.29.2.tgz","fileCount":128,"integrity":"sha512-uHktdy3s/j7uQoD40GeO04MCm+1iBZJhunYM32MHDO7V23tppTFKoDyuRwi+97y+NvjuHzvOxynLEXUd/Ec+MQ==","signatures":[{"sig":"MEQCIGciWlsiMna4fOdhwk2TC76bmbVeR4Yzcc0A3TyNCfUaAiBoM7Zanqqam69wlLXwa2ojeqZRf3Z70Iis0PeuUkli5Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4186756,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjL/Y9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoZEQ/9ESxdedUZ7ONp+CgjeO+0yjaEzAVxYZv/aZCZAPRSi5BHMhDy\r\nzu5KgyNQ+b5ozbs4a8bBIeWLf9RlsczihxFdsfBjVSrwSo/luaGmGIIBaPSF\r\nbcxHHBBE1y2qrd33T/l80frEJeemD8iqorQJCzzBhIjgu7gIMg9kq6fJGISq\r\nkjkXxdGNq2FrSCQgrgh4cwVazbOTW7uKbK2+l/vgs6pNMqhGrbFT4yJ0sz+A\r\nB+OfxFj1xsBxmDPVMuhJErk7vgI3A6Qjpm9lLCTw2wRuUivpwOVVEXSCwG31\r\na6LIMpupbV9W6pmnOEc68pTu9+HlZ2pCCFDl3y5XbrJXzQE5b+IZ5bo+q3z8\r\n8pDv1ej37F2x7FPwzKplUDHFjtZcboBPHYvSAHFubgH2hq67E2JS++MHFS+E\r\nrq1bBIQ3qjQ3kJUo3B5/lLXzdElfgtXakTxfsFvrFaXqpKCDr7BTaS1JpYFV\r\nWlzxSwpRamt6UMiT+VWh+U6DDunM1kd3AeoPpUPRvVn7Q+Ng7rnmt12wEVh+\r\nbJzOdIickeNHsIacN0DAQO8LKFcGfRYoXtObVg8Wahk2tupU+NeZaxMx2WsD\r\nOZ3RB6hrYjborh+2NiZX8AIrUjaGr4rsQSAq7+j5eDQnr+8EVgD7WM/gP+Y2\r\naxNpXJPMBO33KKQSkadN60TK3nvAkgN07Wc=\r\n=B0um\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":"^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"28c1cb454f041122510a13673eef83da386d6bb8","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","build-site-typedoc":"make build-site-typedoc","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","test-dist-esm-parcel":"make test-dist-esm-parcel","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.18.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"18.8.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^0.9.2-next","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","barely-a-dev-server":"^0.3.4","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.29.2_1664087612858_0.41657812512836867","host":"s3://npm-registry-packages"}},"0.30.0":{"name":"cubing","version":"0.30.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.30.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"5697247c7e9045aae366ef50fa9d827481b39949","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.30.0.tgz","fileCount":127,"integrity":"sha512-nViJKzqWQWHIDyyLvI5gvgRLKDy0PYD7SUwIHxXG0cUTqsNRBBayUpLvOrWJvkF9qjJnME3iR4NaXfSv3SmCGg==","signatures":[{"sig":"MEUCIQDrDKNwRsJTx7S4q9tD5GN6BxUUPa9xkjRJVfJdVGihRQIgTZjrI2t9aqqccgfE3aQ4iD/oCcFCqsRZtj2CUBJwO0M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4250559,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMsWcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqISw/8D7oId61GIFobpVkmLyPev71PYVf3MESSA9QR64NiGkM1djBJ\r\nZ248mXQ2BktqQqP6DBYOU0pSHt+LKsu2SJTtztnZOrKkTzUubkC8YyznXmXJ\r\nDZ27OwccLLacNEp0S/1KJbpTqJrwQgpJL5OyjihdNhx0pXYLJ3RUVPAdKwsP\r\nGmHTWHZY8hS6ZRCHg3pLCluwolsSLiNzH1p0pdIQA50yaAp7Z29m/WkgJY2i\r\nPOn2GXXm9fADIXYmRN0YhuHo42/XqhHH1LEfYTQ5PynixxhgXRw+8PbZv5LD\r\ng53gELUoxSB8OKmMmVDk3nKR4EVQV5pUnvfCNVF9tZSPtm8D99LjhLnLFnxi\r\naRY+kTS+bT9ipwaoZZNbceT5mLhTqngLlZrVXQlLMeM0MA78Xy2oXUn8IeaE\r\nZHlUSdDU4jzbwUgt9c1PYo/qjx6Cpfm1eAgcBUkK3k6cOON1nDtGws1c2LrD\r\nn0HbrQ1VjAuE6/8N2//oEBVGO9+26nEubD4EsKdOveM6h85Kc/XIejbX2CLD\r\n8xZYKryk/bGAR+lG14e6OJQ9t49G8Wmnw8ZGNtANwpDDDGFnb3ZzorRZX33y\r\nR+f0Fhm15ckyJs8xFLLEWuvS2QMwNWQWvbz+Mjc79eeto1j+r27W2oxFfE+2\r\ndxH4y+/amGy9hgw45yCioseYTVEEK7Dd5VI=\r\n=Wvqn\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":"^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"bc7595144fde758e28d114ad92cc213bfa6f3137","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","build-site-typedoc":"make build-site-typedoc","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","test-dist-esm-parcel":"make test-dist-esm-parcel","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.18.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"18.8.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^0.9.2-next","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","barely-a-dev-server":"^0.3.4","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.30.0_1664271771784_0.8783083067586142","host":"s3://npm-registry-packages"}},"0.31.0":{"name":"cubing","version":"0.31.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.31.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"7cd59eccc2b82a8d0831a94c54e9b2f95116ddbb","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.31.0.tgz","fileCount":126,"integrity":"sha512-reWgSeHhPEN9Bgql3QQb0efpGaw6v4+Ydbr62zS9BKl1LmKiWTkaowk336PNRgsmDZ89VivCGq9WPT5cPJlnhg==","signatures":[{"sig":"MEUCIE+2X0jz6v5d8eKAf9NaReleo5rhf4EWybRM6Vpp6Z01AiEAptiHvrxK5yX9XCBir8Ao6UzdXJdRgF8bCixpcLS64LY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4252130,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjSgFxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqVEQ//Yc9MaeGL+HGj5AdZxGh50Fn+RIrtAuDd1iasXFg3qTWYDSao\r\navduinyC16k8XQId1AsurT7Jnmdru9KqP8W8gTMjgHqQiPyRlgsUpGeYJW0d\r\nrXVwXnadwKkqCx3zuOhfDIAy0gWgfeWn5N7V3mrcADbuq7HUFLwt87jSRxuC\r\nFPiDwWDDDDttS8XbtaJnfdjkQ8ZKEwce+/sBWfaKnMcdjDQdjGnJ/SZ3Oh0k\r\nx8SA3WJqefXVteZaWQI6PgeVK/EvxUis3H3WPyTxW0eXeo8TL4XyQkkcVEhi\r\n028Bd93FEjmtnwzbiVMQTgcZsaZfWp/MpTYhd7eKyNNxFD/b8zjkzAv8xSYx\r\nv+YvRrmExDgmVchTmsk3R7KRHPr2YX5c+HuZprCA7ehyh6wp9qzJkcwgR479\r\nrCaJbv92vksCbDkuCmIyJCatEEc3e5AGYoC+pxwIlrSWoXSBM//qz7+yC/Mn\r\nQwKhEas5DP5up874zYLDC3J7KrROkmtn2EFIso6V/NOS9T/dm0H8mdwM1Tjx\r\nEAThwit+yZEJsRbtAIWfa+I0O0b9MQ3K7/h07YAjI6yhk5fra9qP1Hl8jsma\r\nDsipwYrmbfaEuh/DdUKnwERLaXQrL/j+GX4IodvUJ4YS1fRW67MEmmhF+xUr\r\nxrpZlKKOe/6G9gXxJU60A3r7L9TC0I46jZs=\r\n=Kkqh\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":"^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"668179c8bb116b24775e5450a5d949c38068d3a0","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","build-site-typedoc":"make build-site-typedoc","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","test-dist-esm-parcel":"make test-dist-esm-parcel","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"18.10.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^0.10.1-next","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","barely-a-dev-server":"^0.3.4","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.31.0_1665794416842_0.8223588318574837","host":"s3://npm-registry-packages"}},"0.31.1":{"name":"cubing","version":"0.31.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.31.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"4c2485e8c0ce3f911c8f33f58482619fc7c8e60a","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.31.1.tgz","fileCount":126,"integrity":"sha512-wn16SoCPkk0Ugs9zH1FbyrMiDYaqLUFekTskxASD3+zr3qEcZVvHAcVH8e6xp8GfK94hmMyIX8Q7UDCVuxydiw==","signatures":[{"sig":"MEQCIFeVZG4XHAt5JMWbWBa+gpRDrRD8PAGHdu9bV4dQOlKrAiBSlt1gP80YIpg8E7JJ72MRSCmWQy6U/44ILZ5JlftjRg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4257344,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWQiqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqvvBAAgtK7PsgQ4DbxJlZRdX620CP2h8U3RbmHVZQGKv98MEbpgKMd\r\neZQXCXO2J0Yvk4maZwzYiHbPIrWcKU0urTwYqytlLquLhccCwYxy7Rmrz6rl\r\nJ7VkLuokLNFiVf4BfPNnWx1P2tQ9JBZ9qRH1kH4dl74KhjQPrCZs1bPTO76q\r\nJr8d9EdAeyL7WMs77j7/H3BE2kF837qt2ztpEXMDB+gPJKYWKTsw6faDVpRD\r\nzUIiayeFuOFB3a3myijvNlIsyK92bm934x3T5livJLHS5NqIw6UAAWlJg+Gk\r\n0jrbdUoL41sfRB4u5NcDB7tufkUgdWOelyxgrslIeqoyMAt0qf0ZAushY0SK\r\nR+xPopj3fW1Ust0kE5M3DbbC5c9n3mdmp68mLy5edcSwl3bVlyn0RBrqz2mQ\r\nMmqOOK6o+M0CXZYZenpJqaMTTjgBneMEOhiKLbSoru+zP2Q2VJUGkYW4HWvW\r\nqaKsx7kgiU0h/4XpoYTwseXX0rcUKv/MB5Hrk1eXBGStn5PtuRwlUm5DJx7l\r\nWWw/txiqTkKe3lxDJlrcdkBez/txDITYcgAIxJ2/z5mPNXwvZ3k2oh8h+vD8\r\nTDCnn1GYZYVn4jlqa4p6hZ3IXta9xheN6GOfKW+vDJ0Lksriuin5Ck9Qsy+g\r\nqdfd1RAP2+zhBNsOWjE6x/l1+55BL4jS9EM=\r\n=Zi2E\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":"^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"c0d8a3026aeac72e8aa688849679acffd871a174","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","test-dist-esm-parcel":"make test-dist-esm-parcel","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"18.11.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^0.10.1-next","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.3.4","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.31.1_1666779306092_0.24889637663002895","host":"s3://npm-registry-packages"}},"0.31.2":{"name":"cubing","version":"0.31.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.31.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"5a73be7692064efa81206d519b19bf299509f718","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.31.2.tgz","fileCount":126,"integrity":"sha512-eFE8N7SlERJjoqzb/U1ybgfCinOJiPx0bAlW7lqiWZNyu2hBAInPuf5YAM+m/bq9Qz7qIpSSC+PDnp71yIlZRg==","signatures":[{"sig":"MEQCIBzARgHrxIHZkYGkQA7JkGI5KwMKDw27nISPAmcJ4dRaAiB2+UWxUfeThg1oMFZEV676kk4FViz3n3avNv4HptPUTQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4257456,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjXHzLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoplQ//bdXIKlEp9SlLaSZrZDKg8xbRvNFPR933gKVU8vEJzZIQzvq8\r\nCL0LIRVMCWF4u8glD1JwuhNpCd1ZR4RxHU3TAmbWdyRRB4+p+jG7Q/cYClqY\r\n0k+QRFsTxhfkvi+VdQaTQV8TFUeMKM51D4gv3T0XKSBft6PQ+VvIE54s3MPV\r\n/nh1zwe1WACGi2nfYV/JXETwj7livlIsC0DCLdrSub4CCdqf2EZhJOex78BM\r\n2jEUpXdqolvrne/eoQvTnjM61LZvL6WZx3O4NeXveqqilz2vqDojD3cBRHQh\r\nSwoYkeSrn3mdHFdSzI2CK8/zPk6dfoKCCj2nVdrA329xYWcQjBSmP2fJleUj\r\n4t6VXeBKbqTo3PxN5bvHgGpHRO0gv/gRNUKVMpzuSY6ned3LW2W6VahlzB0Y\r\nWze0Ke+RidVIJnRtpzmzHuL3kmRU7H1nYNFsdMydT36yw01U65b614PiQ+3x\r\nSK6c0k4uNqffYjktW4ozjh/m+JvASdmPA5NBPS/X1z+fpAP7FAlcFdnSpooI\r\nIlSQkNzjM5txWUHFcDy6CVeFoCVFeG+aHsUpgi7tTW1mZIXc+rhvfb46A9G3\r\nc8+UYbEhXvbgn588psa9WGFIRwlHSPAOwirnXXxKH8e+NU95cc+SihKZRWxs\r\nBkBERfc37T3CbFq6Q+RNjO/l+liTVAyqN5g=\r\n=q5sX\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":"^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"8a79675171885dd48e6b21e4a3ee10cb23916ed8","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","test-dist-esm-parcel":"make test-dist-esm-parcel","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"18.11.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^0.10.1-next.e8dd9b4","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.3.6","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.31.2_1667005643051_0.582578805466955","host":"s3://npm-registry-packages"}},"0.31.3":{"name":"cubing","version":"0.31.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.31.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"23344b50ef48c51b715e40428e077291ee0b0986","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.31.3.tgz","fileCount":126,"integrity":"sha512-tGy6HZRtqthvy2dVa9ziWjdF6UoJDEhfcugsFi+Pktkr5HX0YqI+wevl6l83d+jGnpPTGRRG+6xJmhg3sjP01w==","signatures":[{"sig":"MEUCIQCRUP5rcwd254RnYo/kFk/FeVihIwc7T4mfm+H2LLUK8wIgNE37Mz2MJpwNsOczYreNeleQbhXMzavlPiDdcOtbNWA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4257456,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjXIZ2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp8mw/9FStGDNgZTqnNX2wQsrjYhm0iFBqEcIe1biS/2iomttLpOWX7\r\nhzRLdBqDQSBIC9v+TQtASllSR0gWmV9SO3+UdnqSncyOSulQiv68qoTWKLGv\r\nFgOpzr38xdcgWU9pj8H7Vyg46SpHktaCFyrzSJVIw6GPe7RrZcrbZS4aSiD0\r\nNKW4N+ODZqmiGch5ZMT3tGsOX0CQM1/vrR/84PMcDS0fLysChh6oJyZAZOjq\r\nbWUkJY+PMLKXlGFqiCm1xbCpndwX9dGlpF+D9BtlYDmgbdWfbGGv/O+Pk4FI\r\nxyHLtGV0sUIaDiHa2lyFTQJNr7NCgNy6hsCS6rR4871VwZlQqCXYXYlEk6dp\r\nw1pI5NNVYvtQUy5j3J+GIhKI9Zf4b/kqq+gCsrc8lte6Lb/VtY9LMRPxdB+H\r\nxv5LyAidbx6Okr3ATHafRmELCn1umw1NCKgnDGFeAFXoqhBmNCWj8/j0yHJh\r\nOYM9fvlhAnyYIq4vKgr5U/f7w/9SHaHCNg4oI3vlGbMef6H/11N7JwetWQzk\r\nTIguFLS6ICERN5sr8vwuATnLFpP4NotRrXb+YSl3pZ8tmU0ARYuVBwINDExy\r\nsR5TQbKeU0RAhZg0Q/hy7OHkvz1R7xewrcEXxuLdGh4lWysZ+HowfkzpfHWJ\r\nmpNUTihzRFfEmD1EjA1D5arFiyOpRdX2csY=\r\n=jhiv\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":"^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"b4e73df56d6cd5eef73f90e99b57db4eaefa15b2","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","test-dist-esm-parcel":"make test-dist-esm-parcel","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"18.11.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^0.10.1-next.e8dd9b4","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.3.6","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.31.3_1667008118536_0.043557922962065954","host":"s3://npm-registry-packages"}},"0.31.4":{"name":"cubing","version":"0.31.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.31.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"b626b35043214927cac54a8c1b25be90a44a04d9","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.31.4.tgz","fileCount":126,"integrity":"sha512-JHq9zuGpA0rR8XTwhOnEpeUNFrKCssNhwBdCBeffYc7uyP7RImCadKT8+P9AMsLmd8PDZcqjN5ICl6rsyWLGBw==","signatures":[{"sig":"MEYCIQC4JTyPLR8bXomDtbVbg5gv3bYOUqEYwkp+r+Uy8mnmvwIhANfs/bbwORYjAAzdmw7PvnolxcNRkAh91fRoaX5sCnIB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4257546,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjXJvqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrSwA/9GQt41ytcYSeumf8ysltIYEo4mfLL183CkboKoK4wR+lPHPkq\r\nbVaXFNMLJyELRJPYXq6sKky0oiyc1PwrKgS4z3wRpGaT33JzdxCOag7UKRjZ\r\nq716lFraQrMmmwNCzs47zX+3daP4XsCh+1aQeI1uuOF8802yuiFORqtMAcj8\r\nZizYRSThZqYZP2hYbNzZtEWSjZNUjR0Qc/qtVBYZobPGHEy5DfNcsmV+l6PQ\r\nP85BW6gAMy37zPhhoKBt9V2DY8urQltjaxicDYTFN3uDxPxsxrrQxj8b7Jr9\r\nXJ4a714yW/z1z18drElGREGsBMxkz2Tlnc885mf19MLCQMPvYEA96lwYJBIQ\r\nPK7wTf54m4rwJZ4b72khebGZxDYa34tOTwFCAah+8uI0hS0HX0Ds//K8FYu1\r\nWT+NyKsT9NGedU2plkXnt2+73eJGMjdW8q+XjwUcUGY5FzIRCiqJP1K2VRr2\r\nsRM5rT6UeKsWTxmZ9zTYB+SaSN7kl5ita8har8c9GABTkeNXIyHbcvPi8BqU\r\nvrPnV7qeOMxeyC2LKZob+7CUBL0puiJkH57LCKkGfhr6TP/ffxFyRUGFlCYs\r\nGXsxhThVBgoJPet51h8QhYGRxvPyDm1c/v9Ladpy5xultMEN5ECyIpOtSPXw\r\n+lNPc4w6JhnqmPxD19UEjdqTfnTOg1DEDrE=\r\n=HBY5\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":"^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"2bff52d50be416a4528bf184dcdff2d1e39dcd88","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","test-dist-esm-parcel":"make test-dist-esm-parcel","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"18.11.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^0.10.1-next.e8dd9b4","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.3.6","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.31.4_1667013609905_0.9825339855727719","host":"s3://npm-registry-packages"}},"0.31.5":{"name":"cubing","version":"0.31.5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.31.5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"6b9310a065db9f21a7f16c6633db1d5365100fb0","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.31.5.tgz","fileCount":126,"integrity":"sha512-WdoCgFFktqQo5cu3AfYUwxiV+PWmheVtmF4jnJ3Qwlv7LkLx6JSmG11r0O2ioL4T+O40RFrzJuzudzSE5uhUCQ==","signatures":[{"sig":"MEQCICnqV63dEZDM42TmBXFaZQHea+YtyGwkECjOp0qcu0TKAiAjlCsw24wnAcbN1F6NUe/x93xaBAswFt+nLVpqolQJ9A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4371292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYMdeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXuw/8D79Au0CFx35bCxyvzNpk0+vKE7ezn8MuUuk0SLLluQDjNyn5\r\n/LrRvpaDhOoeqdsWJIxdQ+ItsiKNidpSFKhJpJ9Pg4o5Y2cj1RnGjnXvZreQ\r\noeZopMIWyAS6BPMLCGnUG9evUeCfijv0vOofY/pg3lLSeIJYlnXhbiAjv4Mp\r\ngUZFmJVh+xXH3U8jqwZvrASPsSt93nILOoRphKa/9vQaHvZtGVix/E9ejeUO\r\nIsW5uvuBxSAXw8nB5T+AGf628XH/jHgqD7//XAIHAP8DCippSATDcB+smU4B\r\nYy1+oMQMI1XPymBtV7ONJgnPN5CkCxjWVE/J82ClgFwaLZCbORy972gHXR3x\r\nJtXZUVVyRJffbFwpqxqldoa92jOZ+n+ZgFQUqUyOQCgLrralo+vE3AO+ZTnz\r\nrWy85WjRkQzwYm93csm8HsMSVI8ZBCeWh1mLRRMwXwznWW2DTY91dDfp27fb\r\nH3PnroLJTEmfyUtdpwKmSiIvO5J01z7fh30vMGbH1UQ6H7s/MAi/wJz+2uhU\r\nsySLRfqr3VROI3FBwy6iImuaybZKD1IDpI2++uwP64up5hRqNl3FfVWZJY9+\r\nT4pYyPMiP13QLSfAuSWFZBj8mD/x4UWfhx16bwni7iPUNOT+lwVwGBPwOctz\r\ncN0PHKNeQHzv2asSfrkyJahlsu17kPKs3OA=\r\n=ydOW\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":"^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"e38d8a1674ea923b28ecec0f51f7ce06d6b95089","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","test-dist-esm-parcel":"make test-dist-esm-parcel","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"18.11.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^0.10.1-next.e8dd9b4","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.3.6","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.31.5_1667286877741_0.531362323185048","host":"s3://npm-registry-packages"}},"0.31.6":{"name":"cubing","version":"0.31.6","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.31.6","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"0aed186e45d3e877ed01ca7bb537c54b72719590","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.31.6.tgz","fileCount":127,"integrity":"sha512-X9/zk7prCNxrRLO7o/lFzgVc8V2yJ+ugkIFOd5cF+6gFLurhDjQfThUXYpkb2heL9n3MAee0ZMmHQIU6eDsc8Q==","signatures":[{"sig":"MEQCIG5+YrCxyBVR8ovhNHBR4Ji9hFiyuSAq3yiJo1nobmd9AiAYbK5PcAVehvYY4FbfobiF7HevljLlnX9B++Lp/YmO+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4383637,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYbRPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoTLA//RK4kb94BY5Fd3FcsO0UTf1/DAQ9MwyKWzmEr81t9destoabB\r\nMzEFa6Qo3Uhv9VIpV7jzM2lZcccvwGFLvzrKQMs4K1d8lnBa7q8j6wYgQzMl\r\nG+4dKQbKpnFkRL032oNVXTUY5xvoyooVKbYtPt5VnM+aV2zCW5jgDAtAq1J+\r\n585esfYARxsLq3FBN2obfCri+15F5yDL+ETV3hfTUOZEJxQcZ8EhMYf6bJcB\r\npGPtilyQmVHzv9zLeyIiPVxRJWLUT65eRt+09/Vks0W4yEWUHbq3VeJCrrDs\r\nMKcPi0js1FmYNQRpcqMMaZxTLQtdsrXy3obpIYe0Ucmlbi8B5x7p+P/DxGe6\r\nCzPdj6WmhTisEjF/5aqYcyPVSIjZp3EqTcyoFOf5mbn4T3rOWnBrr7TfMft+\r\nL43claeR/8v13b5YTmRdzqu49Hytt7VbW4nmbc2UD02GcetK9tDHrTYteBEe\r\nAAM2T2XBs1kVakh9k3ytj7t7haz/d9A+gXjnv3NR5KyHIHjPzsNsa83W2JIG\r\nolYd6K2D1asfoi91zpNCFSEc9a3C+RykCOACoP8C5qztVZ5MIt3R/c+I9bi9\r\nUogUzPJwRxhQXcBHi45j/UCmbPfcOwuKu6RjjkqrfqTIub8U90rO2exbZPjM\r\niOPFqF3YSidjcSb0i5chMOmGgMVBOatQRzU=\r\n=VPyJ\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":"^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"b6f51b8ed0059ff102de9fc6a75d052adf340797","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"18.11.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^0.10.1-next.e8dd9b4","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.3.6","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.31.6_1667347535411_0.9125365393428071","host":"s3://npm-registry-packages"}},"0.31.7":{"name":"cubing","version":"0.31.7","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.31.7","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"5ac138f1278b13770a7bf9095c60e4993c9c0c62","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.31.7.tgz","fileCount":125,"integrity":"sha512-Ymh4upGJUjCDBoEsCzAi5tw3UAlPIeEid2RWi04HOb9KKSgIY6RZIkbxIsQJ1hdTb2dcUt5DP0+ZfatTxQVKtg==","signatures":[{"sig":"MEYCIQC84dlQBNCytDNrrypGRiUVcw6BJhEbEZxYmNqezcKzBAIhAKxh3k62d9yPsckthkYbcQ1LXx+bgT7U/VOFld1NRlW1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4397884,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjaLacACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp07BAAmyZ0aKe/dz98/NgEUKUPfIE/nkQceHUUVKo7rDFVf35GDz9m\r\nke5H3WWvOM0UNZFDhETGYiODEv6o5S/locpI9jkLKtXJIYfyj4aoQzWDl9mG\r\nLpkRY4E96dxTVhKjxcGfCBctGp70xeBC1CMEWzU/5MBJxQLLkFHryDZb69r1\r\nALk0hOdsDxDxvAT9E8aK2ygTSt7329XxjkFyNh/ZGA7YbraT9b+7PjIvscSC\r\n3X3H4SLV20pgrBVvcdmdOsLabHeStcNw4IY/T367UzSNjtKwKfouGWtJk2jk\r\n6lEdC2OC4BOQfP19Pqk7sj5ONGeogg8KB1ZyHyeT3xo+3SpfyrUbX/ZW4OK5\r\nbkWE1zCAaNzHIj3tV3/oWy4CqiPg66XTcsnzpKd5rzdvy7ANHpGrnprWcXmm\r\n6Y9E6FoeFaiK9dKG8crb/T0DNYqeHEgPvYzs8NGpZIEKEJAJy+S6G89TaJPE\r\nv1sgtXC306ylGKivCx8Peah16JutgWPH36dFU0IIpABpKGljN3i3LrqmsRQH\r\nKkkfMwLgUj7TDawrVIV+2CZ/dnLsByA35PQw1NbtLD7d+zG42EX9AbXuWaUr\r\nuWQ3Z7tLMXcfCdOYMb5r6TIcVI0HGlmk/s76ay8e45MtVXBGOXrcqq9KQfdy\r\nBX3wPb7zt82oCCiXY42LcHVDMo2qUYLaR8c=\r\n=7snS\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":"^16.13 || >=18"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"6e553c1c4239650cef76ae4b10d23bf2ab234bab","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"18.11.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^0.10.1-next.e8dd9b4","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.3.6","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.31.7_1667806876258_0.8991464354011225","host":"s3://npm-registry-packages"}},"0.32.0":{"name":"cubing","version":"0.32.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.32.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"29a908497400b6f6b26b878ca1af01bda69e24d1","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.32.0.tgz","fileCount":124,"integrity":"sha512-zYItdv4ZtWmPEWvTnBxXUsL4ZPfrIz7hWqsevBo/N5un2dvGOlClA/uJhFMSaiskvgYfYp0XMI2Kzcj3I1xsEQ==","signatures":[{"sig":"MEUCIQD2+hYHLG52KcckwaJEWhOrgt+6AHu0pA4GICeO06wEXQIgDolV/ubDVRWcG4mAEzbZhB7HlXG3evFJBsJ1/e3jo3E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4380974,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdDbFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpN+BAAipNx0Lf8BflXphBDd8aLw+/yBCQGPceE14SLeFj7Hgo269qq\r\n4ee/S9Odl2ANlHIO8NaS6IpVU4mfDW0RzE1RirAG10cbS5Du6sAeRNMnEEWW\r\nNLXk8WpQ7LfHqGCHr/UMimk0FXZxxnpazkXRgxH+hyOM+v0jIlwj0NkgXGty\r\nswQdq0CNnAMiWw5xAYSZRwHMUgdniQqpQeZUyjsquj8qUzgU+8Fncr1/LS1n\r\nWbiuRN3a/57jPBIVR7S8LdCQ7fNOKWDd43OQmJy2r0x3vsk0yng7PG0DbyXD\r\nNb/Ad7d5iSnZRLbroAJKmI/jOSPjUgJ6x1H098VfBTI0XeIRCC7gok1uP0vz\r\nBdjmqllhDkbElq1uOtI9Ay6MjiZsFdDaKcFY+M2x+73tSH9AuHfJNp/bY/FG\r\nK/0OQMDuqltRMeaia/kNgmN8MI1+4x6QVRBxJl3wdWj0uNBqqgIRzy48hxut\r\nl8darP12HC/X4deCk9qAlCj9SB/GuwMxffwdKDn5eZba4alRLQxCRAkosYNO\r\ni61IydwXtjSxCYeGPuB4lhOkI/BISO89WCqVzeCs9sl6gx+8PtmJyPN7DG3/\r\nsFrT5vC3LQQ6ZghdA38zwVeP6C60HbZ8xOs2FRbW+3pff4wpjwps6XOsoeU9\r\nHmE6yV4p6PmZvjQKjGzyn4e/IRVg2UggAKc=\r\n=BKdr\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"f413804833f7ba4ed2006fd8c04c3d236f8188de","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.0.1","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^10.0.1","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.3.6","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.32.0_1668560580902_0.7203372091368248","host":"s3://npm-registry-packages"}},"0.32.1":{"name":"cubing","version":"0.32.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.32.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"d8e26c20a5444c3d2a78e34cd0d9747d061c3515","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.32.1.tgz","fileCount":125,"integrity":"sha512-ip4UD/F6XT9QDd7Z+xVoXbazr0uTQRE4s8oulBPctL+D+VDSxpydpvuKLK0Q8y6Ho6W84i2Fk6nwf+IYSUEh8A==","signatures":[{"sig":"MEUCIFoo1Bxwm0xmMBJndDZGfY8k1TFLVs3Hv+thpBglWr/XAiEAmCl/c6YHR0h8xXvfyYgDKWwjvOMAxq/JQrz7wgI3xUg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4387653,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdEXwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmruGw//Rsmb/xeOYppQOl00+egTD4fMZ8LlgUVqWhiujm3biQlvx3HT\r\nq4wmUGSLXDNDBvc4zdO3q4CiqCWcAgsReTZE1CglTuRTsfD6vASXBQUlbpAV\r\nt4k0HpGKlSUIg1NDq2PIHIDRLJaJacvfkx+J4XHv7GantSE9OXX9dvHHsV72\r\nr+l3xE+vqqOhgrYRFSJxi7Cr/xIisrisSM3q12/3X/xYiR3KQrKrFbmfWydC\r\nFe0T1NxOnS1irNAXbl5B72b1/Dd3prrf8IfYoMh62vl8UMINFbpN00HFlXec\r\n0QHoB7xXuvAyarEL/YYOtI+jizBkrQuwt8gyXd4kad73seeXrc7Cr/+x23CY\r\nzJ3vIMUU8i5xBjU+suh4qKqISoYIdS14Z+ppYkhXeEiQglsjnwZ7CRhpZlCA\r\nDwE2z4ApGQja9oSbgLLQD7y752eFEurPkArv+a6izSk3+ZGoXz3Cf3hnwvAb\r\nUv4yOhA0wdJQCui4HriYgKZYqYvhRHz5PQtJwvSn+G64YSn+9o2p5ZPrWbzi\r\n6GDYKjrbSEd8EPkYQ0UCl5+ii/NhyojnYYrM+5VTGF49xhxj4zL6FRcPEv5+\r\no+nbm0R7St2b7yZcxijWN4BEGoCSsoD0wZKI88R60nODxNLpFyLrusA3yGKY\r\nrXzWfMoSp+0vJEv5Yd1nB1SIeiR/nLF52K4=\r\n=ID61\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"97cfe7368c5dfd9447f7a7afe388295b8fc4f4d1","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.0.1","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^10.0.1","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.3.6","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.32.1_1668564464231_0.7177695250379126","host":"s3://npm-registry-packages"}},"0.32.2":{"name":"cubing","version":"0.32.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.32.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"0e4562bf8cd071aa91b0e76f297cd8cd406407d3","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.32.2.tgz","fileCount":111,"integrity":"sha512-Xc3Ht+se+P0+uuhn9pI05W6pZQnJrL4uRDubkJlqnFKUgssoIaSDm+kXOCovNUT8JRk6ZmC/9zT1uEf6mVzDVg==","signatures":[{"sig":"MEUCIB8Qm7XXCacrFAqM86p4VGWfb3UW00ccqdPpxxLMQEuMAiEA50OjpYJO4WZSZL8PxN7mxD5cy5bB575QaApT3xosl7M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4378527,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdrsqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo7BA/+NlWgnBUOgqDKUNcStTn/5kT2gUy6Z5iKtUDT2dbPb0Nl78w/\r\nT75EEJrPzMUBjRBT4Y8Y/19qHYgJDFw8MKNpqA1CF8diwOMfEXCM8F7OUBHk\r\nYfQqAeLis3HaXZ+Fq2LTH7LHNwHplqUBkzudODhbsToKq/6sPqzBujlTdrto\r\n1hfeC9gw3MGg3StHd7Fk31wIgSCMzkPiAl8lQbUgElffFCd/AFJII9cYAjb8\r\npN7UiCJvFilxfNHARwwSaWmdF+M5nomTZIUwjlx2yxavfvHQTX9AtReM+qE+\r\nTwctIvvYUwByK92KLDUH66qT9fq7IA/AawXUHhkGtiVDjVnD6eZbZlrS4c42\r\nQL+huZih+FnvwLYahul4DZC+RwsB76+XEwYMeWlA+LGBwfVbTc2rGwzFYEsL\r\nswKSE5KJZl2dduydD4ElyT98cdMK+jX9/8aCB7uVH832CnRpTPnIGdh5/BGT\r\nO3/I+HIlTI2dv71kBbws1F12Lh9A+z6AZI68xY9HO70W+BqJLtkDYu0zM5sX\r\nP5Bwj4L07RIfbcVRN0g9AilqGVpDI6pTyFfp6Nx4j+gz492jas4Vi6Hzu9sk\r\ncrypC0vwkG12lNJmtq4otQVi9TMtZRyezhSSy9vxrlSjiXB41+xKFVA5gJKU\r\nbONdbSu+LYAaC60aQdBUDHKvMgCXo/Jw+Rw=\r\n=SPrO\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"14577fb596cb7a398c7e80c35e0e628a9593b92e","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.0.1","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^10.0.1","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.3.6","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.32.2_1668725546136_0.501983943940604","host":"s3://npm-registry-packages"}},"0.33.0":{"name":"cubing","version":"0.33.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.33.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"fdfb19719910bcb48e4c876b5d214b5b0499aa94","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.33.0.tgz","fileCount":111,"integrity":"sha512-+GZJlGEXVaRpgsGo4DNe6hl/VkyZcgq2pgNnmX9HM0Ji5qJygVwHlIIrpdpEevVFCCxTC6ThnsUhNsPahNHZqQ==","signatures":[{"sig":"MEUCICcCETQ2hbJZxQjGgCbbYuaqtzsgmJUN3iw1VBRAd1K0AiEAhSCxodNTEuD8FS/u4reLX9DR7Js9v4NWt6u8Hov519Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4395063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjezQ3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq8eRAAnCG0Og5tKuPMfmnXuwzLF8jcYbif0Zs331EW5v4N6wJPT655\r\nqBxb6NJWpsIodqHTpEFL6A1Es3PmIaql5ViQNVn1SDZjL98VrZVUYEweL2tx\r\nMRV7/19CV60De1orOrKDR3RxoQB2eBQBX2d8Ae50B++BaODs/L1qP6F/PW7h\r\njucKD3lmJP3CcT4okKzTih0WZjzUmKBOo0sUQggnHlo+dSWrKBMh8MWY+Iav\r\ntNA0KofkoyxOSB4OGGai6EShINtW/vdJTUl2Onh0MIykiEF8tgtxj4Uky0JB\r\nD7qfphLil1/mY6VOKuFHICUGkh+tfWlFoHSfJX8oHwO+8wq4nYwmm7qmpjUt\r\nWdclkfCe2HSEbRp4e8rA5qhAzQZtLzj9B2NQ4mQwqoBScMWlF6ZioYuMLY87\r\nerDI2Vd7BC8U2AzigYL6leFY1E0NIR9M0+2l2jhMbSLbi+V5KwBst5JudHB5\r\nNN6qUHtgsAIgcANOGd9K5laggWtygfxbh6m6xnCTZC6x6vxy4sM6oLQ9xmol\r\n6T9mYlpcjdySYP4saL2FeLbml2aX7rygpsltgfCI4OL39rUZ7mOQs3hWb0HR\r\n0FCnHGo9dy7vg4ThvPQkbub3cfSKPWbm+T3b2kNntXGXQDl8KZfJtFOvfw4X\r\nICV1Mk3KleHCo7CqT29g8cVCwLMYtC1AQ1U=\r\n=CuhW\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"c6389a83f8b320dc32e3434543b520bad44d260e","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.0.1","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^10.0.1","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.0","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.33.0_1669018679098_0.508015012578044","host":"s3://npm-registry-packages"}},"0.33.1":{"name":"cubing","version":"0.33.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.33.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"cfa0e4b1b7cf301d6544e72ed9826a932ac1c770","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.33.1.tgz","fileCount":111,"integrity":"sha512-OJdyOxeRhSn5zapgEavpQRp+Jfl7LyiNZ80ioPincLo3gwegABT4HHm1vPhe+9xHDQwC8+YUZ2mHXhnrf/8m1Q==","signatures":[{"sig":"MEYCIQCa2/+nreeBUWlhjqBpc/DkAWibc/LQ1PV1xUoqKkaLNQIhAOg9kP1uFc+/JroVkzQlACluNbdZ9ialcpeE9fb1jUFB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4395163,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjezvRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpXog/+NyHP8W2+IZ7YOlgJiGEjOnzxGFVvRxNleVW4zQqOV5q17jVD\r\npXfBfUd4jDe8LUDKMYpGZJck/+wZAf4svBLHu4ALpGoepMUUcJmeJd5c9ptx\r\ng59UAu7J0vKevxJJCR4Iz7ucOGac22CF4NzRt5iF70iuwgAuNcydlqFJoQOn\r\nT1vNGredIKUh6cybadXI8M3NB/S8V1llSJhF1zgBhRo5n5gJlVWqfrqYv23N\r\nyQAJkD1zOvIDcdVvNW/Alv1GivZZtqMvzCMAbyF+uxMvMVOjGIRgztzO0bSe\r\nttcP49ZB0rhysEOnMUELvR3JVkuaE/MiSgOs3aETaRScbJ/5kP3dn+30/MGs\r\nYrZoeBNdSYi5L3t8XoRJ3aj0QGwX9cHFELXKSh0IvfOwL6rcpQway703M5Yw\r\nZ75LRb22xU2cbnTwIJs4xd2GBrQmiIhE3ewaukP3PI/lX2KMkJAhKy3meuyF\r\n+b/r4UlcLRm0whijKLJ7JJE0/mwkrj/3B2LZOYCVuie1gSOKmD+2dAsgquMm\r\nUdrvvcxydOlpluE78zrmVebJ47ClAXpsug5vMjJrgEFr3yDvHi2d2QpzMyf/\r\nX/f8O0QuzYm2Rpa1lWTlHG573ekvjJMP65kALKuM1n9BX0Ne1htooDpykxHg\r\nL1EskgmWVgg4avTnCv+nE8+Ajm4UJcmiEIg=\r\n=3pL6\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"944ef9230b940b6e31707bebfb74a86cb462f7fd","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.0.1","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^10.0.1","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.0","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.33.1_1669020624742_0.47199307583753103","host":"s3://npm-registry-packages"}},"0.33.2":{"name":"cubing","version":"0.33.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.33.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"d2390b304e4a90d99ba959af9709018eb7748e29","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.33.2.tgz","fileCount":111,"integrity":"sha512-5eetFC81JQoAua76mlHwMQJCMAzy85H4kk0ILS53bOBwoZQo0+cBMh/qdouAt1pk5l1lJqDkY89Fc8YGqKCVMw==","signatures":[{"sig":"MEYCIQD7IvZBNp/AubdftUBMUi3RG9lBphU79C8uZyhN5a7kgAIhAIZ+6gLUsUqYNejKw3viupBfgnkwPh/lpOlFlM00qqgs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4395370,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfdsjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrGrw/7BIGN9MN7aAWnyEj4IDoKVedXdLyeplBbpzsTkiAcsd6LNl/1\r\nvsQJQj6fAubfNqH/jECYup1FuxC5D45BfWaEBGEBG5pRb0mKHSswnB1rtO+u\r\nBPVms2Vy8puGbEcVkis/rodLzC31d2iBZqUTRYMo6NKPfmgs1SMNdX76Hv/x\r\nzoF+y7oacFEpbj1E5XyJztM3o7VuXwiUls9SYv4gz9SiZwRmvoTPo5aQ5+ak\r\nxXO3hteayt2qtJZZ1njS5F7iv4ydGf3DGmSvXfnrYgH/FY/4bBtAt0hbiySD\r\nqIA7EhKDUcKDDtJawulJ8xV9GUTzJZ52sip2dUPLyjXYZ/GeH/iJY4NU9NuD\r\nYE5BCt9hUPggrSopme3u6Jp31ENl84CwZ6IjfO6C7etgIj9XWMLHYQjkIl4y\r\nYUjTtGox+e+Y3lNR3VPl0c+bpbPEIwEsprPLK5eswI+nmHgfGjw77fUpXphg\r\nXDSrDFM0sN6J8aHpen9Cy64q5YiyP5vm6JIePm7ouAdT+880hU6TXviPsCo8\r\nzFlCGSFvBwpLerVUUcOlivf2PS4zbjRCHUGTMmntqLtEPg7MsVDZgnc6kf/b\r\npFl2qTxv7va3Y6/ka4PdQZWqtGcceLtEDFcxwXoFMmpOA0/dUL5mJjWwNbD+\r\nAQQnutywHfz0b3NojEOO1GDS1q9yAtSWnow=\r\n=UCMV\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"70f1b33258ab111003cef4a6e3df22b141cd8b2b","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.0.1","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^10.0.1","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.0","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.33.2_1669192483225_0.8316789135028768","host":"s3://npm-registry-packages"}},"0.33.3":{"name":"cubing","version":"0.33.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.33.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"4dcf354f5c3882082993a2b10d86f28f49688881","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.33.3.tgz","fileCount":111,"integrity":"sha512-DABrjXCP6xnWqsYZVCEGNqFXH/n2N8OT4QWes5RRluXkL3/KWk9+eu13ZG23/iJSn84T8mal8ExHGRU9sXQOfw==","signatures":[{"sig":"MEUCIGgOcZyVoSShwNQgsHpQ1ILvD6LxXj6FMy2W9d73GSy4AiEAvQ7xOIin0VYvomz0HeWqdwvM9dfNDHiSaosFDSRhhxQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4395265,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjgA8wACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqsFRAAoZmmCeXIL8iEkoHYYskIhi7NwRH3NluTfVY3CGYoN8ifHFK5\r\nrENevHGzCDTsDLoFkH7OioJ0kzI6q78UnHYy+taOIng4qFPbnk9dEXD+jMER\r\nlzGEquxuwDykk9Vk9flihPcOYE6YzrBbuGsT1m6SyjcYZznNfchzg8BL8mbr\r\noe/PALs/Tunoe7xx/6HeVSrGOn7yVl4/uucMqKgyl+I2s18b+9y0wJRR0hfu\r\ngHTPQBwg9KdcSln1EYMVSo2SmmUm6DtAmKA68b6UlrkDsqfksU4vKeOsyk+O\r\nupBVHF4KZN2MDfQSw8NbXQ81e5T3Hqf5Quvwk5mGr15ba95VPbz4zTE3dfaL\r\nuz2NIj+CKltFqi/Vx99qbGmopSt0Yb48eRtdmpDa1gxZGalufJ8WmQj+jjKS\r\ndDs+WNGysPViplVoUTx/c9fU29yy2NAqyRYeZHnpboFz0tx+ldVeuyLCoEoZ\r\nAh2z5pzl6s/6TcXE2aBgyGLSj1LlVj0AdkIq7uZU7KUtDNfNpRGHEeC6uY/a\r\n2VTLgdT5wBomg6DBqmwS26bMy5fLa1csWtuex0SMLvecEOIS9p9VxTytEFV4\r\nJMLUCvs7YQWJxbHkOgo7mgAQtK8WeaTo8DFKd5Cgme7kS0bk0vwOKoUAz4yq\r\ne5MhnAo7re0TV9v0Mljdy7twRTg9/lm5sAQ=\r\n=R7Q6\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"c7e0202ef618362c7d2d3c31b094a9ab77da4601","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.3","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.1.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^10.0.1","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.0","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.33.3_1669336880156_0.7510081526735428","host":"s3://npm-registry-packages"}},"0.33.4":{"name":"cubing","version":"0.33.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.33.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"fb44ee84e75d07d5b623b2cae964777096b16aec","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.33.4.tgz","fileCount":112,"integrity":"sha512-uXNmLOHF0G0RM91lacUkJdTJBitv4yK0HS5iBQkRTVegJxjxMj2BBPVbDJrqf8TLR1MKG3+I3KNM8lsE7/zXCw==","signatures":[{"sig":"MEUCIFWT3NmQGyCamCMLZiRussuvvzf90eOPDHw1D7yG39T7AiEAvejJ72hu8z8wMhrZeRhLOJOKSzsHKLmraVN5Uo1ardw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4402419,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjgZM+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoJLA/+KKhknb+AqzuXZr1U+U+pp3dyU1l+9yWL+THnXlbvJKfXSde7\r\n9n6evE/Gk55eK9DEUeqKBfG4m6qUbjfXO2flzOpu6jixOBwAecPIMD0RUxYw\r\n6WYUsQrbpDL7h7+DcxRL8cB2rjbeh6mzjS6GTwhxfogyy7is12z2EC6Iay9/\r\nXh9J5Eh4F/OMB9uX0PgQBwFNjrKAcNI+ghVo4aWAu6zINvuDa5znJ3NG7flt\r\nWQuGFCDO2XOdDhPfa25PeKf4mnjfpicuzQZvDqqS2zbwqlcXaR6U4u/3utZ1\r\nDn77L3e2/pAWjqVygueASNn8I2WO5kz0n068WNYeHZLRm/nDYuH/7wfA3BoN\r\nX/g48jvNaYVgpvKEYETLd6SlWM+4KQNfHThP3cKNd9BdlK9HWxSBHnh5Qopv\r\nsr5R8Nv+bCaHjUAGpcYNe7RZNKxU40rHXqiTRzjCiiXO82mSIm9f63c7o+5t\r\nCTTmUcXVAwGxojqE2n09k0eshGganOXr9vw2yfCZsPLDRVoxreZ/o7S8OHyB\r\nkE2Eol81+CNp4c8bhmvWuT4z6lemlr5afdh+XIHRpdf/DMCNwdrRrUA2EO4Z\r\nty6fKBKMO4Z/rVmmRyHO7z3adu0u1IEcflVnFrQlbMzd1ct+M5RKx+LUFvdD\r\n73CzesEPWbH6zvD3vxXHUPCBxXENddhMD4s=\r\n=kVLm\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"2557d289f4804b910f660181476626cadea3fe6c","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.3","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.1.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^10.0.1","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.0","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.33.4_1669436222303_0.2331615876069062","host":"s3://npm-registry-packages"}},"0.33.5":{"name":"cubing","version":"0.33.5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.33.5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"e82c82494b1642112da6c05b7167e4240c342235","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.33.5.tgz","fileCount":111,"integrity":"sha512-Z5UopAE+FtbMKWV8cNSsiZhIHXp8qvBNG84F+Q6qD8hTWUg+Xr3jWjXUtYa7F/wM+gaqyLrnwmAjAPSf9g5T0Q==","signatures":[{"sig":"MEQCICSYNOD7oHfoX6g8N+NFKZ1nmSZjkvSnL8nxsKA+jNWDAiAEs0ClF9PzwT79iIxrc8nLuufcdA4RbYg0dbl+OEjd3w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4394247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjge/NACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpLTg/8DKfgkjJY8YXQ3C9bCX8MRUTlBaPxKAjUaSw6F2oxv08INT/z\r\n5ID7x2E0P9/aKQaO2XOANjc/+iX8T49X9uUtNcNHxUUX1H+VNVZhZo9b22AC\r\n7o8W8oflHrp9dGkw5L//PGwvJpwF2HW5KOc9qrrZSWyBNXgHwc51tmq0kUpm\r\nBLxQc++tN++qSXTjqPny0QWgI02KzHqwpV2gpy0Jf9gLEkYimMDmlTN38s9J\r\nwjp0c9tfz75fYnCO5/ygC9UKGkJiWDDD1UCrqnDziLGmyiO4PRSSXLofu8Fz\r\ndCDUAH7GsND9eUjADmYKW/iymKz3Lp0tp9dWLDiJ7rvsTnLiqXrcLFHd8ZwZ\r\n3n3becY66Z1LsbCHSE+PgX9nucsKnxxUY+XAgPeEqbD6vtBSCtYSsTXz23ZW\r\nBCx8x2CC/RzRJU/rZQQqTBpGaLCGNzsuLNGWfscfo15/p+oXll3u4z0knZ7o\r\nUTHf5QEpIorqbTpoRhvuSZge5qGO9Bzv5eC2LfOQm/255N3DBFHFb7zRCvll\r\nq75CcG23GdIIuxBt6X9edT3/a8/lRIz5lY35hzYKzoDDwhMhSCScqQt4VTGG\r\nbXm5OlaY2zlr0VmVxJk5oAaTFiU1/ORlNiFLeJkfOttk5qoL9VB4h3Q5YGO+\r\ns/bcEeZl2maSmdYpeoNoXIMrKTih3bvfOJI=\r\n=sKov\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"1b565eadf427e2eb5e300ee4e5c5cccdbc7d7565","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.3","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.1.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^10.0.1","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.0","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.33.5_1669459917504_0.3830439523052054","host":"s3://npm-registry-packages"}},"0.34.0":{"name":"cubing","version":"0.34.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.34.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"6442b2b3272f2e5051a41351f37c397abe7e1449","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.34.0.tgz","fileCount":128,"integrity":"sha512-lf0u3ZxgFemlWQ/MmNGiX8i52QPfJcY+kuTV6OJLfwIc77SIbHqtJ68PVXdv9iTL9VeX6Zpv7BPm8CjhJPF6Rg==","signatures":[{"sig":"MEUCIF2XlZtLoewB9pSnoyI/H3Dlt2FYfm9tXsFQu4NfvMbTAiEAnudOLey0t2N+4EEuSqdsUb0o2O/xxXlnYkMfBcCrFYM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6290248,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiW5jACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq7yQ//YteBj3IaYqrS/GVh4fIy3zi9fO3wk4iCZMQ+N6+w1Y2CUJDK\r\nJ/GuWbW9DAGyTiS1CQLiQ9BrO53H6ZZifYCFfmzUsYxwbJTOUnckpynPF0fU\r\n8OBmZWnexXVFHSC3NYSpgL3Sd19/neUQpfSdJ1vBd/gQBk3gq2dSqfRpzSxV\r\n7Or6ZKp+Kk5kx/mOQPpfejA6IrLV8RInWyoz9ir000l9EA6tbUqUPWTTgPFv\r\nW+pkWdrJcnY6IX6v4f0s3UBDiZz9tMBfJkT8W2/qYMtNiiPzyMGRnef+Khjk\r\nNB3XYsLOuLvkC/DIFlu4sYze1GmwcWeVrr7kv+BTiLUjnnaYFp8Lg0VdARpM\r\nv8pJYcVUWpHFIPprl/R231IPk59nSSc0PGvRsLcbCFyLWVkJhQ4N9SPUADmh\r\nQpOcrKYBEhrnW/pALqaH3ghUB0a1Ca1GT7icVkg54d+dqqmmLnVTDcS/5VJJ\r\n+l0TwHEnJ92AzF5ZExV84o/oPo+vh+lgfyGCGk1Qea5dNndm9aOkIDJ4CJLU\r\n8mnA8czA90DS32TcPPEFnE3D9+6+u9mO5fQDGXZlP9x3YEadES7z5eLsRWk1\r\nJw3ZTtFYoGfw36WlyMLRg/NhylLIgZCUT4LgFXSWwRcchuAIlaF6FLGMd3Xc\r\n4BPSGl3ed3muoLjUSa+w99gd+5+XtLNUV8Q=\r\n=Vnk4\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"0a01b383d1553ed5f6915182ca247cdb4c05dc14","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","vendor-twsearch":"make vendor-twsearch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.3","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.1.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^10.0.1","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.3","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.34.0_1669951075376_0.37440118725307925","host":"s3://npm-registry-packages"}},"0.34.1":{"name":"cubing","version":"0.34.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.34.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"cd63de772b94663cce0b683002ee1c9b717e2dfc","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.34.1.tgz","fileCount":128,"integrity":"sha512-kVKgMc9jI6ZsVk2h2HU+ZDntr4VMg/a+d9vM5ThcYQsAccglPW+guAEyi2/MPN320qDnuAzQd8sJ7YtPd9tpUg==","signatures":[{"sig":"MEQCIDZlMaw3qgU21OzgeNtx3bOlIoBhIo1mTYNYhHyuN66EAiBfXg5WnlEtSEpWoCOJ5Bp8IGdNdp4tM/XS9CGG0FwbKA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6290372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiXqnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq9yw/9GeuXujjTAtdcfMuQmz71dMfHaKrgl8Hiy/2Qicjb5WrNANAA\r\nojTbmiuKqlwI6MZjeFBdGjXx5Tj3wc+eCOcBO7RlXQrA4sSrB+jaVi7AGQWT\r\nURyGbncJaYpfyjDJtCj0tRj9tsjXx3VTESIEAcIfJptc6imYi6cMjIh5/daE\r\n9M61HO1EZlPOoLGcnT9J6UXPJEgtfMvdNNJgj1K27gCDcMzKFiNbd7enwWQr\r\nTTM2/eU3LdRT8pwfMbG95mZRHygR5uoa0eqDeSpKu8eH6WhDY7tD00CFBbCW\r\nd76OZcb+mnNnsGXLSN8gNOVtL/fTGiCR4vuP77qsg/N411L+jdDRgkw4Nbjh\r\nYzgX4kyhP9R/declvHzKqLksEyD53Q/IrF/mfSpFX+/WdYwOzojO7sqx9Iio\r\nXZVGpKb2r63Srxou+jK48s/reT6nQYSK2j2PtV1Bn3bBiBd3onk+EMiV5gs+\r\n2CkMP5aj8MU2sn1dnYtYds2/HxDQ6ob8Ewmntym+DuU3lEwYt/VR6FO7jtFk\r\nNcjT8EoD9+rXwIM2F28nNgWa6jrSS00Ca+4tN2otgmVKROwBIPehdP7m9srZ\r\nS5eJOixodUuHX38y8Hwe3qXvt9GjcYEyN7PyfeEFknNXMzRjQX0RsgCq+aSl\r\nl/1gWTPIAm4uvjAkPHYZhvCr9GWxZBeuBNk=\r\n=gB5b\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"c5a16103b4dfe61b2cb334c196a65eb3a596d9ca","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","vendor-twsearch":"make vendor-twsearch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.3","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.1.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^10.0.1","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.3","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.34.1_1669954215176_0.8825725497498842","host":"s3://npm-registry-packages"}},"0.34.2":{"name":"cubing","version":"0.34.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.34.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"56a51fd54d0b78b102ebbd14045ee7337a7ab81d","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.34.2.tgz","fileCount":128,"integrity":"sha512-csIGMvb2qaSaT8rqRriBlN52YTeS6UvxW1KPSeg3Jc3IavUuedNERjV+W9JiuM/gF6CgcMx+nIRj2D6R5oSKmg==","signatures":[{"sig":"MEUCIFIJTsQgvsA8yElFly3hUaX1vxCN/+cUFTXdQ59WJ5H+AiEAySU2hdsEflX48+DQ2v74/7+Dvzv8YikgsGJjKzxsTAI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6308456,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjifbuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoGtw//RGV9/T+vursCtyfz3Z9Z7/Dgo1YV9PxSucSSMnTFvf0MwOXK\r\nhm+BO48BouFhFqP4A6mSfyK+0LhQkkWwv8zPTr1V8eSZAHqafeDKCtKwC+JZ\r\nlHWqs2ssinOagKcc5c5D8lnLXNdlV0lKgVcJ5PgfffkhS9dpEmcepm0NKypU\r\naXNzDlrv3RnNkUNtICv+dDs9XY3DP0ZZMe9VVDkzA5wDUfgGo2PqnaTRGq4f\r\nYnigz6kPdR4qWw5JZi5KyOxGSfQCRMR2xPfT2v5r0JIGvQ+llRC2bJVK8aTK\r\nRVde6VkvDOBCd788+TNe3Wo8qjbuY3ZmIDpwaRZV3A1faWJao+ajJ8/u+oOW\r\ni6zCfLiUGCNp6YT5o31I4ngHHN2zmT4+WV9Ta5NJQ59Pipmy66G2+NvcvDBi\r\ndCo1shof0K2ehGIaRztWd8Xib1GF7DKVT0doHGByrgT8avDVpaBPzKjACcQF\r\nRglmGTJ2Mp5tgMNN1oWKusPMac1+ZkXh2ROv1H7mPan41Odj8rbhZVhpOOIA\r\nSdP6m7hOXk9tURRwLxJhTABmXvPdPrH5xkp+LLq64fymsx6FmNLsxly5nCiQ\r\npf+AGCd+rULlSRExcZxnU9fepA47IiaFfrAjeokcuZzCjT0TN+d8Ok7EJ86H\r\n+8GbLSo9cDJBkKBA0KZJBOmsU6OgNDfi/54=\r\n=igTG\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"8a6a5f7c46cec757ef69ff22e31de9d3dbdfe0aa","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","vendor-twsearch":"make vendor-twsearch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.3","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.1.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^10.0.1","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.3","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.34.2_1669986030382_0.3593129535965769","host":"s3://npm-registry-packages"}},"0.34.3":{"name":"cubing","version":"0.34.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.34.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"d6dc6a66a6aa47839b7ef15ca01bab9f1579b351","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.34.3.tgz","fileCount":128,"integrity":"sha512-BFeIReZ83B6snktjH8+HRrZ6twCF8lTpewliWoSCbyJq/rziA4k869/Z14THpGjupGoMGhnKTwzMgwojc7leTg==","signatures":[{"sig":"MEQCIDxogNYSRQxY336fa4pHmRpQFL7foQqJF0ye3hVpPKKHAiA1hdRsddc6+2iiUz104oZGLFW335QHUQA0Y7XjEtDuQA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6310867,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjir9bACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpi0w/+MG6WDZCUjZpnu5QXjKK0G2V4zoyqaDnB9P0oykDjxQVcApL6\r\nN/iIktiXYR7BAlVw5RvSoOIs5KA44HnjXvtIWgk0+oh8K1wVTw1iZmMdNHI5\r\nLSDr5ljyZIfzo/WM6hQXI2AEPCZov0mB2uyxf4tNcmQ2sk3Hs8rLDQIKfiYw\r\nMENm3hpGQYYjINhb0U5rWCSEdhnylXI6XH6E1Plu8jHBP7zD9vrDqiKM+GFK\r\ndQt7uugLZW1v0v0Wyilz5oai2gz8HUtYj3gt1BgAtKcGYUjjLJvy7/r4Ot4G\r\nbuI1hMwe1FORBJi+5aIVOnD5bjrVg5It4fqEo/k0ENPHgLma8mU1vVMOPOjx\r\nV+EF69iY3hPh3uzv6tFxKmD8bg2of1HjcRiBc2tGc9HkoZL+ZFwmwp7Ux8g/\r\nELsYfB95k/HlD4fabnQtf40uA+B5UBI/UdpBt4qZAplN1hBQR0t4Qg6bT693\r\n0Ea2cTKY1bFezJdW2V8rRfMuirhTZe3xGWhKZfjoLgOp3VazrjziqL+8DxbT\r\nfcO41RStwR7NFMyFsSw264YIiAnMTMrqoq5m9os5EMwPRqquv1LN4favIahB\r\n33jMIVm94o5AGGWX2LqGfiI+6w042fHtqHmos34r7ZT3qff+hP/QXscLfr6o\r\n0XeoE9rii2gxiq9T9704dIydS/ZwKxYzDW8=\r\n=Q5JG\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"8e8edc4ba73123a2e6b2a01466ff1f2c1a123c85","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","vendor-twsearch":"make vendor-twsearch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.3","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.1.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^10.0.1","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.3","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.34.3_1670037338844_0.6637098143637246","host":"s3://npm-registry-packages"}},"0.34.4":{"name":"cubing","version":"0.34.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.34.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"1bd2986a2396620f2fad4dcaa0d9f16bac21869f","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.34.4.tgz","fileCount":1032,"integrity":"sha512-2KeChM4X6qlX1Cu8FEiff5CLgRy3D9ucbremJwvpP/0ZlyUqW5whgSa+WOSkO4tFmvzkGhuPsyVv4xtZ/5Y/NA==","signatures":[{"sig":"MEUCIAl5qGRaQKj0rTvmMA5gYNvBmP6jTTRJjNnttVpNQ/NyAiEA4HdJ3arTzKUvwr7xUfL/dhn2AEHNJ5ysTj5WnJp5wvM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7848814,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjksUIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpqsQ//YVdkC2hjQ0DoeTDrqJ9bl3auggZC7LISiP68oOqBYcQbHwk7\r\nYHBpwQ6uXOhkh1L+sQQ0ToDmPKfi3s8QFd4zSdFGlstNUpZzn+1iok4hysOF\r\nRbHzSdRDlpjcCwviT7Sb8ml+s0jnHSWfjvA78r1rfy7Mugg7Mt2XxjKB45kb\r\njSl6IvQA5zjmnmz9aP3ydq6wrgEVURvtITEL4nV7jEm8OxmozzxhR3LgFU7A\r\nZXBpdGe+R9ocxKC4POGyGnxpZXzGAwl8I3BDpESXXsKwrrt5lOHEhYodsVCg\r\n7P+RpStXn5IZczBypzP5BkiIy76MxF6WmAGYS3juIh/7N/aQwO9cfpP2fsqp\r\ncFREUgvN4SEs5AE/Ws3h4R8IOQ/sy8cqA4DESQ1+da28x+0ZSJzL8V3vpbUn\r\nbrlINpgPfKahvZy6WN3dSIWhTtaYPqil+6HwLMOYTkt5MXNgphJHTT2Kp/PO\r\nDVbP4ZqBRHWAKe0ohCvGvxiyLDMmfhPuGQ8BbBh34a8g+LHAIg1nQiBPD94Q\r\n/KzTJLc2GJwyXDfORYs1nk7oJkJ/tS7B0ynE6XbnxYFXX9PNLTlUKgaGlKmx\r\nitIaTihrWtjud9Z2j6TR8lr7Tu/SzQ6ULdzVIm1mY4YhZymoyZN0OH25h7oa\r\nQCyuIvOucmkUz91VSFAGFrWUBYuwtdO1OpY=\r\n=6EA2\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"ef84709c92b98a330c6487119b79af6f5de8dce6","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","vendor-twsearch":"make vendor-twsearch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.3","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.2.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^11.0.0","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.3","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.34.4_1670563079756_0.5212432115482037","host":"s3://npm-registry-packages"}},"0.34.5":{"name":"cubing","version":"0.34.5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.34.5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"302a279928a28928e275e9c58b90770d95b22c13","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.34.5.tgz","fileCount":1032,"integrity":"sha512-X1lyYC8+bC5TedsQdwx5bXTHL6iEO/fcP2QDhPp/NUZFF4EB56C4bBRGLKtCCOc+HS+U6VoUeI0kj6C31QZmgg==","signatures":[{"sig":"MEUCIHopCxqw7cCbTw7/XDuwmD4ET3uNZANlnKPtAW1o+e30AiEAxY2olZJJfrf440ik16/KSCz8nDkNCKIp4e92/JBz9XE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7848860,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjksm6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLiBAAig2eIm7PQHuVkoIwfsdCDhZtyFtg3nqu8v5lHF7hIxhHvRLm\r\n6NXR/7/j+8nv29OJp2ZUBDVFZHjI5iGUbK8ltNSCCVAs6IEvFeVBMbS3uNZr\r\n17vyXhft8Q8k1UZSRY14shxN7M/EoEGwnQs0WjQIpn1ZfacHZJpqA/Atst9M\r\nFOqdOGVkgSXOyHAFr6ZLxRQPQnxynNEotTyf6mtl9NbLSTH3bUMnHO+blYxO\r\nIL1km0qc8a6tjqytBULr4QfiKRhtgriMsRwg1DDHt7kqXaTM6mCCNFxm7BSs\r\nuDQ+uSpqCWPtkibHMl6kC/9+LNdmfXRCxMY0+H6SCH20FBDt9+m+33vtNKfa\r\nJ7VjlGS93X3tHE7WreUuggY44cgwlWcSWNOvDlxSOBC8oV7w4ZLu1jwlGW8e\r\nq//hb+jYCu0cvOIeILA4vzOY6nsbcshWllkyvQsWOHGtQy8choqTdlPAgWMg\r\nw0KsLBUy4XoWY1omLRF/fT0zB0l6AuH0xlO2FzsgBeKOUhWjrfrW70qDUITx\r\n3JMNwdxsS6u8uhu5j8lHlSpZGqZQXuzjt2zCSSTVm/b9AZZNJjGHMltkqdKl\r\nSAGQdbHU9ujgYLQdh1qP07acq7/E7KMhXoxb+GLj+UbL7SdaRqsPbcFKQSj2\r\n6IT/PCzun+ez7iQIW9zSUIb7sZErW2YWPk8=\r\n=TzZd\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"8dfb925630b80a96b15e6766361ea59e8952ef35","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","vendor-twsearch":"make vendor-twsearch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.3","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.2.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^11.0.0","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.3","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.34.5_1670564282144_0.6452700568124456","host":"s3://npm-registry-packages"}},"0.34.6":{"name":"cubing","version":"0.34.6","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.34.6","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"199daea315e5e3084397b76ac939d696ded8738d","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.34.6.tgz","fileCount":128,"integrity":"sha512-PGdKfwWLegU2GXZpYuHmnUFjDldOzVEd9OcI6vZIeLh6GskhKrjySWfOladjUM5BjF1uiKZIweUeKNlsapQeDQ==","signatures":[{"sig":"MEQCIAo+wC1n1l6ZpQBswVrF9ktAf7D+4R/jgLg3u2JVqtB5AiBHHog8s+cI50ZFkBjmzGYdTZ7rBhRa0nd59ka6ujjivw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6312889,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjkvt3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoMkA/9GZmY3NsbkzleZePcAliec8rmywhOegsZALPzIOgJ17VdtK/H\r\nKTkHx4YOqceutmEn7eSPa0mO9TkOST4E6rkncK4MHlCwA9XwhoE1xLlu4c8Y\r\nuRxgLThTm4ef8/P0xhRIayKijXLScua1WkpLthmnG9VfsetfO4GbxaqwaVa0\r\nRnyh8LVDJGwB+tfWkQe0HsvX0QtgQcce4EHEWaWwHBlBgqxI6yS5byB9E+9X\r\nKOuUD7dSo2iUpvT9vL3/xqeyuoT6LxFAWjUpNUDP6sESrAJA97WjlIKMldkZ\r\nK3v+tTjpMsrLFphKlGb3Hmcs6dSBv+/6t+T1GGykGKmEM3yunyeA8qTuC+1n\r\nCE7/ATx1XEdOvh0yzk+BZAvmRMFPnCFTRZuqDm2aV52GyWSsJAlvyNMthmXu\r\nfW78faXVdBP/2VG550YmC2rPogS9BjdPmlWK8IysOgwuVXPP9Txda78Vjsm+\r\nYvNg9zNnbBYqea0IJQxWEEnAL2xHZocrZcXfNnS9Jjp6zNpPhtz6tYpCVLGK\r\nidJFXMbcKRBDUFK/Te6F7J9YWN1rtxAnBNCb7at8zdYiWykfw1wJxFy++I8K\r\nQImbJEQOzk3MbhBpR35ribY37/Fy2+FvZrBVPPUsgaC6Y8DZ4MGcPvx/6QPm\r\nXjaTHPTQp0zzDbI0wqWpl9N9Rf0C6Q4/Row=\r\n=fQot\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"2ee10ddab423ee9efc65711af35bd97c3df454cc","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","vendor-twsearch":"make vendor-twsearch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"8.19.3","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.2.0","dependencies":{"three":"^0.144.0","comlink":"^4.3.1","@types/three":"^0.144.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.15"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","rome":"^11.0.0","tsup":"^6.2.2","jszip":"^3.10.1","mocha":"^10.0.0","peggy":"^2.0.1","yargs":"^17.5.1","esbuild":"^0.15.3","typedoc":"^0.23.18","node-fetch":"^3.2.10","playwright":"^1.25.1","typescript":"^4.7.4","@types/chai":"^4.3.3","@types/node":"^18.7.2","@types/mocha":"^9.1.1","@types/yargs":"^17.0.12","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.14.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.3","@web/dev-server-esbuild":"^0.3.2","@web/test-runner-playwright":"^0.8.10","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.34.6_1670577015098_0.831081329498176","host":"s3://npm-registry-packages"}},"0.35.0":{"name":"cubing","version":"0.35.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"6f9c69e268e1ac5dfd41a19383c086044ab4151c","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.0.tgz","fileCount":129,"integrity":"sha512-KH1Ry/AqRitkM0DWTWM5Yv/gvF1ViiK6+r1UHXr8X+4Sz+G7IadTEWianf02HxPNkEQwgEca8USuDsXrH7MDQQ==","signatures":[{"sig":"MEQCIAWs44ysv5i0LzAgR6UMEdQbyOt4J3P5ZpUecmXQjn8wAiAH1yFr/hHPHDQS9qmGNm225XJR+kQ8gjxEAGmcp83OkQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6334792,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtQ3/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp8pA/+Jynk28zZHmf4xFSb3fhko1Bs+58VGNgak0/WkjPqzyA8YKVm\r\nPDNRROSbj7g0LxAr/dKzt1FMeufj2CdbUuJa5yNkz/S+I2mgXufOQH3V2xSR\r\nxVpdTSrFr2hbaXy8fwLD4JVO7p43VSdb8yT0pb14YW4m9+M0DRsCmGvAfAQs\r\nlPz21tjYmhgoftHiyVgKE4WhUlWx3q33n/Fw2+p5rJlg6YRsCgPGiuhfuSwO\r\nfVE0azG8pwZu1mlgdsGYpIZ3VvKE+nw8qLa5LtWyCDKC6ywogElvXqKZ156T\r\nFOZpIk9XR/7jCr2F5SwW9KCkArMTmgTE9ZrojcHmEgINJDzuCC3KP6ipHcLp\r\nvIAtJuaqkzs0JBKymKAtYnZkLotKA6vXHHeVJ0RRKB5KsVP6hpEXBmLH8L6Y\r\ncn4/CqMm5vYPFqUwNkmZmUweu8krg/6tru0yQ04ADoKzJseFYcm9wfh00Rgz\r\nAPD1JLP1/Z3GiG8xIvb385TgKU9nmFnQPSKJ9cQp2QEsAnBK77YLTpdOimKs\r\nWJSaJrDi2dJcubLm3M4ILISgBTedgVcLQYY2TGhfRit3B1IC1rxJD9I5b19r\r\n3nmA0WL7phHtFC3aUdVDuG/CKatVOoBTLCUkeS2PJsUOs/piLZyM7q1Ehv8I\r\n0PIifRn3jVcfWNCbk2uc1l5Xo+RM8hPf5Po=\r\n=Kcon\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"8d0712efe9dd8e02fe4dd3069157409b3e450e30","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.3.0","dependencies":{"three":"^0.147.0","comlink":"^4.3.1","@types/three":"^0.146.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.5.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^2.0.1","yargs":"^17.6.2","esbuild":"^0.16.4","typedoc":"^0.23.22","node-fetch":"^3.3.0","playwright":"^1.28.1","typescript":"^4.9.4","@types/chai":"^4.3.4","@types/node":"^18.11.13","@types/mocha":"^10.0.1","@types/yargs":"^17.0.17","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.7","@web/dev-server-esbuild":"^0.3.3","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.0_1672809983175_0.40341149393017073","host":"s3://npm-registry-packages"}},"0.35.1":{"name":"cubing","version":"0.35.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"32b086e43702209fd7497318db1c99b7ed229144","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.1.tgz","fileCount":131,"integrity":"sha512-KVuRmQ0GlsmU1cybRfcRttkXkrtOd8oGp5bBhBlD9kwumpWdwIMCRMxwrZBbHcM0x3ElfdapJyNAos3Y34CS2Q==","signatures":[{"sig":"MEUCIHyA0NgRctfkmh7L2Ry/xvAN2pDpXlcWiv4zJpCUak6RAiEAvZrdwvkX27Xshi3Uml4kSCqw7fS5cgrtVljPAFUr834=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6414215,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtRMgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqsUA//eD5I7lVIeAHquXXWN53JQLCuImMPrV4/HDnh/nRrYcHeceyF\r\nXuRR3pfHwDTuOtZGssZsAN61ClDhOFiVshWAk39Vnps2jxyMQU7y7VXPKm9S\r\n8vXhR3X+sLU1BNZFEN4/5sFVfEXWzVvtJUVuQqoaHWm7sZclwWwZIJE2Z9tI\r\na0HqmHJf+Va4NsjwdyWtSvmHemlKgrh7ByRpkJ0VmLgABTz/IkUnB6QLYmGD\r\n7g8W6RWq6nq3AdjDqoFT8apNoCXWm6Na+XDGJFUxBQftQDs/nT+ofRxrRQzj\r\n30YnviQ8zX+UmzkG0304eqf8pErL3Dx3/6c2VX4tSnNF5t5BnSUtPVGIzyIE\r\nrwbumVyE4SYIrNp4Rg1wGl2QEeSXJAlBgB5gz+BQNQXRQnJhhPxgrSjT4VU7\r\nK+NZfrTQnCRbP6hr7wBDMJC+LT/yhWeMSfvWaeW0nzEJsR1tIPsyXKf/CE1h\r\nbZtpnTl5+neLC9UDlLeRh+tVvpA87DBpr3s4FKnUO2JHK8KnNDzl8lkjqGSi\r\nwfst0n2tMRwXK2UDVC7/FIQ1Ab+AbghxSd0eBweGvFCwenyurdxk1yl1CUK+\r\nYjDy36M5eoxHxHKCP8xrAQzxFMmk7Y6dNmbSEAvOw5iBe5oPSUSK3FEFGUrx\r\n/9us0hc5eKXuzllNloaRLnxtRlNS+2FMpP0=\r\n=qxnq\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"3b018697c93cd30cc19d998cac805ac99df84e5d","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.3.0","dependencies":{"three":"^0.147.0","comlink":"^4.3.1","@types/three":"^0.146.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.5.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^2.0.1","yargs":"^17.6.2","esbuild":"^0.16.4","typedoc":"^0.23.22","node-fetch":"^3.3.0","playwright":"^1.28.1","typescript":"^4.9.4","@types/chai":"^4.3.4","@types/node":"^18.11.13","@types/mocha":"^10.0.1","@types/yargs":"^17.0.17","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.7","@web/dev-server-esbuild":"^0.3.3","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.1_1672811296394_0.3443454650192399","host":"s3://npm-registry-packages"}},"0.35.2":{"name":"cubing","version":"0.35.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"6bdc11cf0166ef9b86a2b3fb6ed4c5fcf2f5a840","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.2.tgz","fileCount":131,"integrity":"sha512-eAGisdsCCLbwEon37E2vE+zLzxQHGbfvt503VqEue7F/rydKcdfsnOjkVMVtOkQUKKKkhWc+FFy47U/4GZRnKg==","signatures":[{"sig":"MEQCIAXcfphJKpnr5mv8t2mTuhszNemTdIPwbY+RzGg19at8AiANT4d2MtOH7uqJLlVFNnsevdir3KD6LDvhDGqcaLRSfg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6414357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtRUtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpgSQ/8DPJ5D6CWe9rgebFdU03vwqkf2qNYhCAXvwNtZMdsSYerEnh3\r\nwp5QwCkNoBFyLbNr0xwfB9eoGteDL9Ge4z8JCL8TmZZeMV4YwuDTCGU0UjvV\r\n7JyozLBT0paQZMMavs4YgQZfAvWKb3MXfEQ3P9reYb0VVWacxB1s2xJH7CGO\r\nmaa6+h1sVvT0hu1hR0BwqR5txNN1+dzz3FPyH7vfnNouZ1+0XAwBJkmX58mM\r\nSCueWxure+DIYVCvIRhP18JUB64c2+talFn8sIHFl33XbD5UpV3gPcc2LLzd\r\noFbrMvgwtwVaIeE4itnfRSfj8D4B2yzYufYz63OLTK3mGSJ3pvFdTDb1JkJ/\r\nm/Merqo5swsMGdcD2yBL3OljQv/7m54AkUeVnIei3CpOMGaZQl7ViD61uDv4\r\nS8wijb86nIu56iyIYev8NdB27Xh07LSALNY6jKbwzNBlLP8kAXN1x4w6LjWU\r\naXqrZxS2WXHqSXNY5mEu87sBDGv919esviHpwXeJziBUf6TdF85kVGm/wteR\r\nOPNiqc2pxJTgEFquTV12TY4xmISr8NNZLC4aOFq+I31nNvsn+vLkjklUqlqT\r\nRpnyEv2GxBlQojjqfxidivFhotHwmMkdCBjOEb8XnFJbQGmc1IchAkEgRfn4\r\nRf0z4s3hRjkjtis9MqxLP9ubQ5IJyvQIvx0=\r\n=vchj\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"fff8e32ef62f6f55aebff6b7310a13d6b5d8395c","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.3.0","dependencies":{"three":"^0.147.0","comlink":"^4.3.1","@types/three":"^0.146.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.5.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^2.0.1","yargs":"^17.6.2","esbuild":"^0.16.4","typedoc":"^0.23.22","node-fetch":"^3.3.0","playwright":"^1.28.1","typescript":"^4.9.4","@types/chai":"^4.3.4","@types/node":"^18.11.13","@types/mocha":"^10.0.1","@types/yargs":"^17.0.17","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.7","@web/dev-server-esbuild":"^0.3.3","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.2_1672811820848_0.9759494201617047","host":"s3://npm-registry-packages"}},"0.35.3":{"name":"cubing","version":"0.35.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"1885056afc2310ddb6ffdd7f234b1c7e35aebcba","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.3.tgz","fileCount":131,"integrity":"sha512-o89Oialx1hD1Ftw8fUCss0XmSI/DDgpoMTkoJCerK0jUTCgPXBMdC4Iu82wT3NhO2+b057PnXG1cZwifnzQlMA==","signatures":[{"sig":"MEQCIBVwjc3pBaRwdyngVz1Cyh/US95HCaec3klbAfWNAxeyAiAu9N2V1I1+fdxFDy+pIJMAiDfc6PBg87HHHSEd2AbpWQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6414530,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtWyjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpU9A/+KuJmOwO4MECbR7jp5Qk88BQe4yzQ1bNUJn8hurnvjL/qDHWn\r\ncg4TmGSjPuYGAA//2poVZcAr7j9NC+xJ0xMdTu4mD7oXCCp3zXX490ZmW4Tq\r\nXUayl3hagFnlDJb7qZ3jCBMojrzfQ5hIs8bUKXNCZuj9/7d2wGrbOoplxcI4\r\nEnCL0de4ef8IOqFwy0mbgTSc4NJkKn++nsJt3S/7v0ilFXDgCHjW5I/hZ+4B\r\n5qaS1uooGijOrEC903nehQ9ljl4wONA5P8SXvl22fALwQpiJh1wBqa0DteTF\r\nxGYBn4z0FnlHT+qRVkavwvADIRCRCTc4KR8D/0hFPkpZE6NzUK+i6966mxEY\r\nLosLKikgkDLiCnG/dZppY2SjtjReIDkbBdIB/tnY/Kdzl75LXQEX3nBBkY/9\r\n8HMtlBVJ2ous4C+6eNKSyHCUVfeOuJpxFhF7n7hI+9LRVQf+T3S5OVewFoqY\r\n927YWTO5FLagZMBWzfq5CK5+lJ8t7c6rOJNwVNv/Gw/66EQLtH/iwPzn9Bf3\r\nPqyu11/Rzs7PeM9Wmn8dE1EZb6Ft3cHCYi84i6ITFWbDvPlHabEp+GS3w+1/\r\nV/ghgAmCa1ewsXF+dhiJNiFuOLRQlsA/t5mtRxrq42fKP6OIB6zBxtt0+9+v\r\n6UJPncZYl6wU5ea8UthqhFcRnImGiSwg5TQ=\r\n=AlaW\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"c9d5fb0b12ef134b91bfaf9d2d540987d21ad192","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.3.0","dependencies":{"three":"^0.147.0","comlink":"^4.3.1","@types/three":"^0.146.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.5.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^2.0.1","yargs":"^17.6.2","esbuild":"^0.16.4","typedoc":"^0.23.22","node-fetch":"^3.3.0","playwright":"^1.28.1","typescript":"^4.9.4","@types/chai":"^4.3.4","@types/node":"^18.11.13","@types/mocha":"^10.0.1","@types/yargs":"^17.0.17","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.7","@web/dev-server-esbuild":"^0.3.3","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.3_1672834211489_0.31416108564199274","host":"s3://npm-registry-packages"}},"0.35.4":{"name":"cubing","version":"0.35.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"e0ffea0a678acaf90246a7b29bece548d47bec04","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.4.tgz","fileCount":131,"integrity":"sha512-J7jjTXuhaoLo2kfcdnuK29+Qetyc6w0UCMLlvsaMzDSTNYwI0oL+APteDCp/rCTQBQsjcOzv9rAJhhxdzWXSzw==","signatures":[{"sig":"MEYCIQD+l1PXlB/yrIKZl7vnzQKkuswL0yh9IEBi2oI26fsGvQIhALIbWk9/qUe9mU2nBWhmbyS9FAD8rwzXlpVHiRmJGPnm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6413047,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtmvZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqFiA/6A+IS/wAtjVNJhHXbO2odjBFACIflwl3/7RGUHsz4k8a3M1sE\r\nTkVfkZgsHLPga2PFtQp1+yuSHi0IhvICJ/OZurrfK/+28jZ7cNti/rSBeewn\r\n+oWfo8DsVynvu4vDJv9HT9Gw2Znb2ZzXeE3dhCMZ7mu+Vq7skBQBCC9zKZvL\r\nUHRRflZPQaHKiDlYXR4G7WcqhpvI6t0GGYhVLsklS/BVw6eQH3JtyBmD5mGz\r\nYyvzG7lSlDsknVmq6icgz9ahh7201Hl95BuyLMltMg1oL08XDuJwk6rFHo/J\r\n+D1u9lZIb0sPA1UCYTkuWxgr9ve5qQXcIcdq6+ftWvg4XrXLFoLJU0/8XtBf\r\nGO47ImsJmLj34i2AcXSLA5p7xORuKB6PYLRnOLatpHUnLjoaQPlBChfKwsdw\r\npmpVdEpzDtI3xEiJuOTOvu/AhTE7XgHX02f36tzOpm/YQngQ6u8C/YP0amRv\r\nzwD5WFI+mBVdXRBxU6A/cTbpB72FdZZIGegqSSl1R+j2464mkhsbgPOipyAe\r\nQbgfa0nJeQtYwaQu6+sAZa9QI6xxRwRgset5dVyVt84KK2+X1UokngDrNM6j\r\nuS/hu1KRhtwt52i2P+++fjUAuGIjmCHYsisVxIQX3wCI9R13jKq0INweAsRl\r\njskZNiUbe6C1V/zYqdpm9iTxSFp6f9uOGvg=\r\n=pg0J\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"eba83dfa8142f474f70d23f5fc315e286844d11e","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.3.0","dependencies":{"three":"^0.147.0","comlink":"^4.3.1","@types/three":"^0.146.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.5.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^2.0.1","yargs":"^17.6.2","esbuild":"^0.16.4","typedoc":"^0.23.22","node-fetch":"^3.3.0","playwright":"^1.28.1","typescript":"^4.9.4","@types/chai":"^4.3.4","@types/node":"^18.11.13","@types/mocha":"^10.0.1","@types/yargs":"^17.0.17","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.7","@web/dev-server-esbuild":"^0.3.3","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.4_1672899545117_0.869479119600473","host":"s3://npm-registry-packages"}},"0.35.5":{"name":"cubing","version":"0.35.5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"2cbbe96757ec4f045a01c6ac8557fe117e7c8768","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.5.tgz","fileCount":131,"integrity":"sha512-2u4boG92e+LcgFqputv4AlIymLAErYARaatbKWuMbj+6ELL6BCUIvRLrCs5Hd3NVG6tK6izLghHfqS6ZWv5WvQ==","signatures":[{"sig":"MEQCIBz7WMvkBcJitD4leoC9RVyiDSpz1EIL0i7MShWU/EhlAiAcfhBeLDz/rQ0pcs2sxgMFDx8wY3AZRBPdoxFid/SEjA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6413268,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtqCZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo4cg//S8RP8jf2s2FMGpCuRVKpN8NIHjgVMug5AccrEIyshB1mykpR\r\nl6bJxd3TDtGP3m0d2VcdaPicrP6MmBND4uWWHvGXBwT7R3ztcLNBq1Dd/5ox\r\nS9O2Yqfbn4+3QSp6nZhuaFmdGeep62/U5tj2LjLEDrkFRJwO19nx7j3bxtwH\r\nJhUVWNjmuakTyXq9TeNUvOkowmtneZdbyr0W3XFEgR2Ov57ILVsIfwFbP8HS\r\nRhga4egVC+L9fUBUi3K+EQNAYWv1vZJ8Y/DUvxwz8qUqqSAQlJe+P7dI+RaN\r\nZQhPfGvg30uWKmamBCer+l3Lbmpzbly1tqUsF09W8eoT6F1XxqQEVi5Izftx\r\nm/BfKA+0Ig+l96+O+ZlN1LftJSrn3v09xKCf2kQ38JgSKNRrH0QDWVWojOQ2\r\nwKhiVcl3oF3grGwnOvQqaRhBMIIbs7iD9XsKYk+vw9+djEfJUSyJP2WsRMNq\r\nCL3Ny/Y9aOLdgU/YMYfXfKCscsn5fCfjpifjlWlrM6vXtRwo5GvoEd7R8FU/\r\nTnsJ0huyp436pnaFMPqK4ZDTtulVK5n5ybHxj4DmgVgHhvPBcidahsEGOoAf\r\nJkzSDvZTvat5dwuzvBKD98pGlcI+kXusHCHq8UeM9M08jmeaXyLAkUC2Ogpj\r\nklRlb61rPLiGpVVZqdXWVCLkLIMRzueWInM=\r\n=Rpkf\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"5412b74e16b77ed03e1eabdb308e76f74ca503c6","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.3.0","dependencies":{"three":"^0.147.0","comlink":"^4.3.1","@types/three":"^0.146.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.5.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^2.0.1","yargs":"^17.6.2","esbuild":"^0.16.4","typedoc":"^0.23.22","node-fetch":"^3.3.0","playwright":"^1.28.1","typescript":"^4.9.4","@types/chai":"^4.3.4","@types/node":"^18.11.13","@types/mocha":"^10.0.1","@types/yargs":"^17.0.17","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.7","@web/dev-server-esbuild":"^0.3.3","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.5_1672913048711_0.33241879672219987","host":"s3://npm-registry-packages"}},"0.35.6":{"name":"cubing","version":"0.35.6","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.6","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"3843b14eddfef0e908e90921e098433efc7222aa","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.6.tgz","fileCount":131,"integrity":"sha512-ULXEfAh5QQgfQjTjIH0969bt3E8f8dBOFgR3YjzTaLZuxmwmpHZt5DBcUIDSMlLJp6ufndyKhXGAPodaplku+Q==","signatures":[{"sig":"MEQCIEnYgTpHk5zdrODg+UVhK6oTFGJGzpD91chL6vlnQG+jAiAwcb6uUoutZ0atJo0zq4NlXKFZJk5AKCCag6NXWsonSA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6413683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjuCrRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr9KhAAjKqiViOl6MRCkEXyH5xH5Lvqo/PI7SCRNKh8rxDPhVpBoROr\r\nE7ns8BryshB6TDAZ7DkA1Jzt9KFcAnV4XfugKWGbsXCFNB7lhjgCXb75hLcv\r\nebt78JaVzC4Sw1tiB+05i3FpnCF78iaYE6uyS2PXUwUVzqW62CPNTlE2qWDk\r\nTwApztjPfqZelQxt4xjIRuPxNoA7UNCARTqW7eQpculRgvJzsfZXK0vLBn3+\r\nH0EAfd+T3N8TeWRroMdt2+VaTqJMOPt2khN2k6fYBszTjW/Q1DMBOKhKRYQe\r\nj++V2Cep3GtUKMasEVZv2bPcKvNhqrT1dSsu9gwRP7CXB9l6Dt52bnr8rE9M\r\njOisig20vUkxx2q4Ce2wLAx6RsqmHxnfL62J6+5XPXtT0Qox6gKqJGqbpuhv\r\nMk53QiphpT+CjHrAL8u4QidGf9PCfveIUxkAEATUldcvErMSr0V8eTIz1/An\r\nR8ufKps8Zvm/+n47dXGNar50BpumI96Zy76iOPb8KSyHYBbbDukNbzRp2lSN\r\nHpLwA05V+raYE1qBINC2l/g/kk89HHDyA5R5GroFvLaQnnCpbZb5movxnCn3\r\n65+7pgZk2aJfC12Ox3IDy+LMaYzVYAr4bW3t2w9OsuRUi4Hp8Qry/poxbVMq\r\nXvkQhJOkMCKIRXzlM8vBWBS6NPliDd9/Ozo=\r\n=JFfb\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"930c54e2e6fe7c915607dad3f33f2441949c1c95","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.3.0","dependencies":{"three":"^0.147.0","comlink":"^4.3.1","@types/three":"^0.146.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.5.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^2.0.1","yargs":"^17.6.2","esbuild":"^0.16.4","typedoc":"^0.23.22","node-fetch":"^3.3.0","playwright":"^1.28.1","typescript":"^4.9.4","@types/chai":"^4.3.4","@types/node":"^18.11.13","@types/mocha":"^10.0.1","@types/yargs":"^17.0.17","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.7","@web/dev-server-esbuild":"^0.3.3","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.6_1673013968706_0.17037609589065772","host":"s3://npm-registry-packages"}},"0.35.7":{"name":"cubing","version":"0.35.7","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.7","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"0f2fcd033e8c59f54d42814cebfc20a62357fbc3","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.7.tgz","fileCount":131,"integrity":"sha512-exTApAwp6rRhIq3hxVWYZ7R3J+hJpaQ1fDt6fBEPjsXt1dsAQgfpZRwcgPACVqcBPySHLCCD6cjz9JUBsCc4TQ==","signatures":[{"sig":"MEUCIFf532n40R+ARuQ5B5buA3WhcXH/PJ/NiFsB/rXbOtDeAiEApC5TFA1oT9dy8EUxnd4cBahN3PJFjN4pzhYrIfDHXPc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6431073,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj15QaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpRsg/8CFvQPtSqU8JZfnb0JiWeOIjOryGcoIi9pqLLp7RJAeNaWLBM\r\nMEF0Oz2+s+i4vlWREHwWPTaxrnfMp32OahZ7ti5G9EW6QTe+tJzMwFgJ/I26\r\nUOocTETzPiCpgQD1VeVa/33PeguMjxVcvUBnbIIGmmwUJhoaf7xlKu7Hbe2B\r\nY1Q3Fz0nbssExxJeKWVwN1W8fTBRPTHIfPH+SZL1XvxI4O/KTe1t4u+GeU3A\r\nsSk01hoSxF+wEWKujc6IRQlWm7DmarHvoBl80Xt+JWtzsd/U1M0X/dLJSP5G\r\nFW5byPUAQ6H4/Tt6X2HXSXfUmxNFuYh5+agT+R0EIbGc5yy3MHZOKY4b4PG+\r\nmVadiIO+2IQYynD6OJklHGZG7prCPW6OKH3CaOMoRLJjxuFrlVjALWWxHHFq\r\nfocFczXBCgKRQAq7EcbpFIk8XzhLlwLA2S2K8zDA3NjLaRI+KrDOOmFnKquU\r\nUbKwwPJlKdJWgu5SP8MTEJRw7vXy51UPAasgwO+p5UGBT5j9ebC251C7klWe\r\nTR1OOs0xCTvGE7pUX7KWC6Ee2xi/sS8ickW3I/woa9zr4MkC++bpGO1WPoxo\r\ntoQEN/4zfwe2L0OvHdA5HEM457HzKdjDYp7hKaDYF0Zvwt5SP8ZV8X7jvPbH\r\n+Jer48qro7Psn3INq/I49XaA67Kxq6F6b6A=\r\n=KWVe\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"216f58cd809ce869313ef899deb57f89ee88817a","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.3.0","dependencies":{"three":"^0.147.0","comlink":"^4.3.1","@types/three":"^0.146.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.5.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^2.0.1","yargs":"^17.6.2","esbuild":"^0.16.4","typedoc":"^0.23.22","node-fetch":"^3.3.0","playwright":"^1.28.1","typescript":"^4.9.4","@types/chai":"^4.3.4","@types/node":"^18.11.13","@types/mocha":"^10.0.1","@types/yargs":"^17.0.17","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.9","@web/dev-server-esbuild":"^0.3.3","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.7_1675072538391_0.9461475223616218","host":"s3://npm-registry-packages"}},"0.35.8":{"name":"cubing","version":"0.35.8","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.8","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"ed13f12e9e536507252db8c394ec3d6a2d918dc4","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.8.tgz","fileCount":131,"integrity":"sha512-zOz14b5vwbVIs7iC3ihH2QRO33j9KuDEhPHGscZQ05MU1qWxWKG+o0VJWY+gLWG6RY/dJ0K1DmSP6AIAetxtgw==","signatures":[{"sig":"MEUCIGhaxOqfVcY9Wapv5eIjMJ33Q9eLo7FMQNZggAdkQSFrAiEAmDtWZ3t3Yr4JG/LCAkgXI/ZdG80ibFOTxJ/PN8dJi5s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6434792,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj15yqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq0TA/9H5q+fG62Bx90SeWL0KzqpQM1j+ZP67BkTLzovel34v6wP6WT\r\nQlYU9J92Z/iHVndRqUfUJkV5hai92QwXECwf/aZ/MfI2x9zwYo4oG4SY4Em9\r\nK8b6RvoSJcV7GeDJk86x4soxaPLfp1NamVQO4ujJZGntlXEloUc2PwuKKDuR\r\ntqWHCqkz5ddMxFT3gFvx/L7KXciyTXn/GSMMQvWqmnH5Z1CyEOhisKIfZGcP\r\nPIt5qR3ePgI0MEDfqVuclG5ff0cz1xxsDvV4zEEZUHOxMS6Z1vANDYAZvwgJ\r\n/PCvpoCgwlOETlJl5LatXoCm5R+5ooHIDOzTOA01RafEKZDBxb9O3mXQBnfz\r\ng/8cdzKllXvLYlHW3pcjAjYJcA1c0sN9CSp7BAdJhVF17e3KiIpjZoD4o4cY\r\nOBby53GXNP1RtPRIl4MSiFzL25fEn44SLG5W5NbiIhqUmxcrDB5SAddwAqs3\r\nQQRmaQUAf82sIAvSk9ynl0ZLP8jpBRiyJbuoZLJvxx+uF8uP9qdV63DH/yjB\r\nRcUFziEd6YQKRUwvplMlGczufqTj+0o/u4DQcBBsjR0M3Z83YqtsMtmgdqYE\r\nQBlB3OntQhXRQbIJYcL8cRyKiaNxs1UFK7bMJUC+ROzdNOUo7+WYpz10eaL7\r\nmFCghfge2hxr1hR984/9O8hNTFCdfYDZMPo=\r\n=eHr0\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"e171498091fc29bf926655c5c5d2de74f7e31076","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.3.0","dependencies":{"three":"^0.147.0","comlink":"^4.3.1","@types/three":"^0.146.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.5.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^2.0.1","yargs":"^17.6.2","esbuild":"^0.16.4","typedoc":"^0.23.22","node-fetch":"^3.3.0","playwright":"^1.28.1","typescript":"^4.9.4","@types/chai":"^4.3.4","@types/node":"^18.11.13","@types/mocha":"^10.0.1","@types/yargs":"^17.0.17","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.9","@web/dev-server-esbuild":"^0.3.3","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.8_1675074730039_0.017151635485472605","host":"s3://npm-registry-packages"}},"0.35.9":{"name":"cubing","version":"0.35.9","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.9","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"eee9114cfa64a409044f54880cb7ed9a15b5dbbe","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.9.tgz","fileCount":131,"integrity":"sha512-GRDT6kBbLOa7I6FI8SedMiKwUN7EUcCcZkpc5xZNaPf/avxWSffyqjV27jqMcjSZ0LUDXEhgzhKJxEWDWjjXwg==","signatures":[{"sig":"MEUCIBFda2JFSW6mAAEXnrm/FpNie1ZjfVrmZOUQg2zert9sAiEAw2JBB/86oFCOIhDnity+JOKljTeLKk2MRcRKUOiqCsI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6434792,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj155EACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoB7Q//ehHnaBkbxCqb3keHbge9idvsNsh3JX8Dwqul4wSi/GIGeMq4\r\nyxgL8SgOwY+gA0VGOLELbgIv/Tf/aPvnaSo+xgavSAjh5GbR6DijdL2pP1FS\r\nSKaxHTEApYil5dxogKhJXV9t4U7HofphqEEcoZEV5vEsCkrbrtIWCpdl8NpU\r\nHkebxtUCdNKUM8IKCxd3ItwMQYwAzlK3TrXLtUf6D4JwnShztgwx4eSY9AfM\r\n+FfLSkwcdD4RAGv1XgdFkkZGOSmVuS5CwK9QnoJrPobVNzzSFsrzCtVVtvRP\r\nFx9kk4Z2O8hCtU6Kt7Qtg0s9TwczPgbDBWSMT22s+55+92igqVPEFzI9c5hZ\r\n3eufz9qredt2PhiXZvl3RgYK2T5QYApzL5Pr7f42FJLRQW/K6ypqiq6ML+Hd\r\nP9k2klcbp0v35CQj5ioYrt8D/S+4juRgwJHlNp0fmp6HNpcD877f2c0pOE8A\r\nqj29z3moi7/8NQSmxkjLIY61n9N7TiXxD7Qyusy+O2t8StW4ywQFiPidldhC\r\nzx5f4cppxRZU0TH+JJLNj/mLjdV3XCJy0Py8Rg73oie5tBNT8lagaZfCtjP8\r\na4jxgafw8lnPjuuux1iHRUM8iTL0JaxpPHnMvyq9yhK93E7jjqyvTVL12HM7\r\ny6ygv93oMusLuZkq4093OWPSBlFsG/RGDwc=\r\n=ha+0\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"57c5dbffce764bba79ce9956dc44504582fa6324","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.3.0","dependencies":{"three":"^0.147.0","comlink":"^4.3.1","@types/three":"^0.146.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.5.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^2.0.1","yargs":"^17.6.2","esbuild":"^0.16.4","typedoc":"^0.23.22","node-fetch":"^3.3.0","playwright":"^1.28.1","typescript":"^4.9.4","@types/chai":"^4.3.4","@types/node":"^18.11.13","@types/mocha":"^10.0.1","@types/yargs":"^17.0.17","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.9","@web/dev-server-esbuild":"^0.3.3","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.9_1675075140237_0.023278397720177146","host":"s3://npm-registry-packages"}},"0.35.10":{"name":"cubing","version":"0.35.10","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.10","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"2b55c40243b05341a360bfbc8bf5e109c113cef5","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.10.tgz","fileCount":131,"integrity":"sha512-uo83gOr3bBlDYAR8BUrI4wdgzbnzWq5pVZSAEvtWCOTK1QW4EjVchOSnpD/gVKz8hEiG38389CL6U+CSXpiJ3Q==","signatures":[{"sig":"MEQCIDp1xm7+baslviVEpWxsJWmNe+7fv/Oad6NJHttoYIqCAiBYTl1cc4OwLzxbHREoAe9oHbZdo+tt3w/jWyqU7h+utQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6435357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj16GdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+AQ//ZNIm0RVTNTojWL2ukFA93o01YKcQR+M7KX8zSesPKY9Yrf8W\r\nAs2dpd3MkAMmL7kaG5KkbQeGR9cr/GuN5zjq7boUSNHvZ+bNzU4xwDp3Pb3J\r\ndAZGGME21YtEaeimtj17ver/XadHmHcFrfBXPSJhApzUACpqJvxyjWCqWd1c\r\nMm5Yp19W18mrUMM8drpfU6yOGaFzlavPMAMAye6GhZ/Z8jNfN5hz4JaCdWe3\r\noH7YYQAhWLxkgSn0YjBVGh/v6CI8Uy3cP9+si8DYDQMk6IKXYNi9k7ofm13M\r\nKVYE15I4UYfDhNSAjeeFwB9vw0UiLMSG4TRMq5ug/1WpZO9Ife6OWJiRoeSb\r\nU5sGr4JkwUftCTHa3GafmAT/iOZ7+X8XJmhrwwjxdm2WLz5oKN/gAYCFcozp\r\njaE+YL3qXnxzqQkF/LWKy9tDYMJqijp3qznBgWQeZJEMYFjZquXWhrYZFhb9\r\nM8hmOi7c9H3zLLoIHO29HHpq+dTRjuARA4qB4nzU3C7T1JuCpf4P1/dDWkQ8\r\n8UmbQGMqNGv8M+m/tRD/hvCjyP16e9+9f+XIJoS/WSCngo/2IM9eR+sWPMnk\r\n1exIi1d5NSNSIceGLkEwLWAGtkIACiAxhzt4JzNQpekS2JnsrJiLn6wY4/Vl\r\nMTh0IEA2KwylhMBsaouKHCxAc2NtQClUwDg=\r\n=2bhL\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"a19b8234ba7e69af966e97139d40230ea1b1b216","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.3.0","dependencies":{"three":"^0.147.0","comlink":"^4.3.1","@types/three":"^0.146.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.5.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^2.0.1","yargs":"^17.6.2","esbuild":"^0.16.4","typedoc":"^0.23.22","node-fetch":"^3.3.0","playwright":"^1.28.1","typescript":"^4.9.4","@types/chai":"^4.3.4","@types/node":"^18.11.13","@types/mocha":"^10.0.1","@types/yargs":"^17.0.17","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.9","@web/dev-server-esbuild":"^0.3.3","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.10_1675075997595_0.4891557100936159","host":"s3://npm-registry-packages"}},"0.35.11":{"name":"cubing","version":"0.35.11","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.11","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"c3dcf489e971cebfcdb10a96ed046034e5aca618","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.11.tgz","fileCount":131,"integrity":"sha512-X44AA/aKvfb/Xmo22FubHUtSk2dKuJ77WdpUC09irX4W0vsWeLhs++13sCusiL6F67iWFvcdQpIgwXoKQb7ymA==","signatures":[{"sig":"MEQCIALntn3V2CaGCDZOqGWaT6Z5tTK95tEzxv/ofF/cln1QAiA98LU/6HTXDq+Jng2JmFuSLybSItQK/bKcxcpTKv8+Eg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6441444,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj24MyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqfsQ//WD6l4Q79qnpbGnmzBAN0AaCur63YLKcwDIDhoEFktA49R/X/\r\nfD3FEEwTrdQbHY+tITo2x0UiAjvGo85gNA83Q0O3ISaOGBEp9T/PN46cDiPy\r\nFVmtIwuWw43ucSu+IxAfeSPd4GMJ4gT8pbwLVlMNY5LFnyykLDJ15vRUjhQp\r\nFh4BHJh1pcW8lFGsVoMFkwagd614M+b8Q/le1TOI94MsM+zfR4boa7qE9/mf\r\n4Ktl6dSQk9th9xxjA9mIRtAHe9VXgyM9ajU4rt66mEgrjYNf4ZHAmdumoBjn\r\n1qyknO05Qz+tGWBAOy7d09deVdP+doHfT4y44w7NruCC9MerkZJD8MxY6ATA\r\nQqChiQVwoq/S0sIYJuSXNKmNiRUgBHzTnJlD2L1JkXpvqz7JSgHy89B84ogp\r\n1ehBQ74c4j1xFvZiicnL/X2RQ6cNIe30426ASX6Afg+qUTsvfG50EPElkOax\r\nJVKcsTn5AgV9L/oV/wfpXGnWZalWV9EjmJkUWcnJnAASgmN4v1eCZOjjZyFN\r\nR4ybRk3ZrYzvRcjqFkYgAJRQ36KDOBPnVTodnyQfz1/4y48nUVyasaESG0q+\r\nMQr8GkS7NByWDeJxr3kX8x+gRAVTTVjsgcVWoKH+bLi3TqUG1KE53MgxPjY3\r\nyOvJiA0nKu01ybOxudezli1DhPuCtBBZDCw=\r\n=5sYC\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"bf205bd329846ccecea0cc80a44a08b63a86277c","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.3.0","dependencies":{"three":"^0.147.0","comlink":"^4.3.1","@types/three":"^0.146.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.5.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^2.0.1","yargs":"^17.6.2","esbuild":"^0.16.4","typedoc":"^0.23.22","node-fetch":"^3.3.0","playwright":"^1.28.1","typescript":"^4.9.4","@types/chai":"^4.3.4","@types/node":"^18.11.13","@types/mocha":"^10.0.1","@types/yargs":"^17.0.17","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.9","@web/dev-server-esbuild":"^0.3.3","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.11_1675330354684_0.3931864815823718","host":"s3://npm-registry-packages"}},"0.35.12":{"name":"cubing","version":"0.35.12","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.12","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"967c2b9be13616989f31706e919d11de7b838197","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.12.tgz","fileCount":131,"integrity":"sha512-N8ThG1z5kHyx/FKvLAmFu0umcwb1Fsx0eUfjgVvXqP6XJ+Sj8oW27XvlRHg8UHsNuPipCe5d2j73FlO3A2/EgQ==","signatures":[{"sig":"MEYCIQDoGO+j990z1rLaDByYK4aA0jwtPF+ewou9jWkyeFdmSwIhANlIrG3oHJD8X6ho7bHt275OETDuLHIeMPPMR75ujpJy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6440394,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7fYTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr2VQ//SVUGwHWa+45bgHFeIj+DoKbRm9+VS/D9nZiV75DvPV06Qzzu\r\nTGnXYtvxXxma4k5rvzgHo9veSLfkPjGNHJJIY47rHDWz79KEYRB9wXBDuIEy\r\nKCNAVJ+HQ2289T/N4N5SZ64Epz8TVYXQugm7TaufmF5xZXk8255fw3d8DoFy\r\nZ/K8ZVYLTNAZr3NL6JiNX5fbKTiv+gXNyG8o29me6zXw6Hv93fB3gzu8ubkk\r\ndD6YK6SBJ2f6CIYmm66Ke3rSLl4CBTYw0kxxCyZPTMeQpIJm0nRStms4fsi9\r\nV/dZhyNpXTPDaw3enUwlsZ7RvhEV2ED/I+pU9N6GY8ttnukZyutGqRAy5xYJ\r\nl1qVcwJDtTVzcK9ivaqyJEEP/l6a3Exrtd6bL85XHph94FLarPiaEL4eAsZr\r\n5NzfrhmqO9P4UiGu5p6tpS8+VoF9FxP3oBLTpktFoWrn09da0w6LDUTf4QiE\r\nbVFMchRdLg6tBz7Uuyb5MV2/buNQztvyJMKNfc9+99rQHyaBq0yHZ7xX660x\r\n4hotp/q6WKxaoB4d53W/kigLnRqSKOoGSTdpigvZbsypHv/DV5j1dGMDe84+\r\ncZSEd69gt5/cnzgz0/heVTrcEpk5xEzbouaYOPncOxmjnyeLmB36bqxzuNMg\r\nWjJQ2J0cGjYEBQuiNZ6v0ihFnhIGuZ4yeNI=\r\n=9Eld\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"fdf6f0ae4af29de4aced2a02307f2e1ed78ced63","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.3.0","dependencies":{"three":"^0.147.0","comlink":"^4.3.1","@types/three":"^0.146.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.5.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^2.0.1","yargs":"^17.6.2","esbuild":"^0.16.4","typedoc":"^0.23.22","node-fetch":"^3.3.0","playwright":"^1.28.1","typescript":"^4.9.4","@types/chai":"^4.3.4","@types/node":"^18.11.13","@types/mocha":"^10.0.1","@types/yargs":"^17.0.17","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.9","@web/dev-server-esbuild":"^0.3.3","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.12_1676539411094_0.8891169865026962","host":"s3://npm-registry-packages"}},"0.35.13":{"name":"cubing","version":"0.35.13","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.13","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"29790cee45073ba064529ed8f19e9d25fd7a7091","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.13.tgz","fileCount":131,"integrity":"sha512-jl2ZJG3Ai3EKaU0IrpQr0ZZ6/HghFdQworyiWnNqmoa67GMa4UDu3Dazq3TPrhgp3U1G0Hb0bsKIzoM+7s74Iw==","signatures":[{"sig":"MEUCIDV+FP1hhb2IU+5qXQichYh46F8SnAuEGZZC18aqVaw0AiEAudgnBpKRSmQ2JAve/QFA2ST1ZHvOsz3CLvo9lgLvY40=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6439473,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj89AgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpR/g//UOe6LVKwYeeh0cj68RT/dfZQX2V8CnROgI4LoUqNYKy0iPoy\r\nHFyfeQUVOcBT1k1bebS2KyqtgdudDrFs7hICc9SaHY2v4aQ9wvp51/xi7nf4\r\nVUrij07aEsUw3v0qlYZTBbzT+o+IZdtMQBsdujyuA9iggGWvvvU3VWVaEr0L\r\niyOPcVYO4hOaog/XhfwtlXHzGPArlyOBHxq0JIEpZ7ASzWPC/Ajx9QiLbR+z\r\nLAL0x5h2ihNEBr9Z3yHHfODJKuSe3bXTRTfFAjZBkESPBDS2UTasY3abvtIZ\r\nCRFHfHa7/6/IB/C4Qh3raeCYGBnyFuaX/HjdEDmWxFIiMIydwWAtX4bqOvL6\r\n/eyuMfJWqZW5D4IkUy7sw9PomEyfUSgZ5+1y8PWMs7Dilv6HEKTQgPfwB5ci\r\nLPDWrsxA3C33P7RZ6YOTEhY79un9g7g5WvQjud9h01MtIuwqAHHmLXk/WNNz\r\nEV3qal4I7NVol+bZK7aJiALkOxiEroerc7mXihqeHerldiC6n1pAfV5uuyMh\r\ngJNB4ouC4BtGiZq0z+D7fJ5JXQwqXqRVmPLJvseU/AFZ7MvkBQkiYiq84w7O\r\n74s1Vg1CCOUEcWuzKStTgVVNuGA4FjfIVgAGg61xgb8Qkr/6swLZpbW3JR4K\r\notKa+PQYnLsSlUNEHOJsupq7sKJLDO4fMgI=\r\n=YgAt\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"963e9bd29d930bce8f263e6e5aa7f26eb4184602","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.3.0","dependencies":{"three":"^0.147.0","comlink":"^4.3.1","@types/three":"^0.146.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.5.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^2.0.1","yargs":"^17.6.2","esbuild":"^0.16.4","typedoc":"^0.23.22","node-fetch":"^3.3.0","playwright":"^1.28.1","typescript":"^4.9.4","@types/chai":"^4.3.4","@types/node":"^18.11.13","@types/mocha":"^10.0.1","@types/yargs":"^17.0.17","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.9","@web/dev-server-esbuild":"^0.3.3","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.13_1676922912084_0.6968875560489844","host":"s3://npm-registry-packages"}},"0.35.14":{"name":"cubing","version":"0.35.14","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.14","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"8ac0585bd1b04fed3d8d6bffe41ed134ce608d16","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.14.tgz","fileCount":131,"integrity":"sha512-c0DM58G4i6Bzxq/kC00aKxbteOJY9s2LN3UiUJ4BJitrX5Sv9wCmXwPzcttkfaJgY0KW+rmLHRypvn7Twl4jOQ==","signatures":[{"sig":"MEYCIQDR2NnfiMOP0DL0yuw2AboiYgv3hyRyCwdlfWT9oyy/LgIhAKUUDiDvZSCmAv3qfUnmoBP2qV9EUY8efE5gW3PRucTK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6440397,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj8++pACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp8Ow//VFujYIrZuRKkmx4KC0KbHEZZ9RUCWh8gL5Jj7W79ph8wBLlz\r\ndhMFMJSxBVYQNrIztnKtjjh5tR2AcdMwJa6ToF2soKj4LuA7fJPJ4BMAP0lW\r\nlaghZ8lm+/BNpK/ficCwTez++HIlDc/F5OKMGcWcg6o/VFPTmPJcCszilOYC\r\nd3BbxImw7sgtoT9l7+erh8y3K7tqQ+PXaLUVyHO2z7b0sU3QdYJKG4feYVf8\r\nKcGhkjfxr4FNuIkCxp+jCLFNOQzQqOF9bH3nv93OBDF1YpLw5gVtdAENIlLV\r\nRAyAD7Xd6yD+R4xHMkFcMCwHeC7C+sdA3PoTQ2ukEKZiVe6N6ALA7zg8bIL9\r\nlVQFe4xhpVYbQt25GsdJRrwCRiC3biYr78VF1c0mEsL6JlmQZMEaIkNTmSih\r\nQL4pWKUwW7/tUY8GiCiz67Hrvr+VWPirM5N9qAEH1QkuM7vT3FN9ihzkNXzr\r\n/Jl2KtTORrrpGVpEI18WIwSJRJ+X8z9jJXJQ7PPMHCQzPHDbSJgk013hugYx\r\nK+i81kmFmmsTj8g4zhl/k5/S0Cd8I83iRiXP7gqfp/fqu41jtXV8mY0Eqw4H\r\n66lCH1Qp9jQaGmjHsWl8eia5s4hUJYO4QBpxOxwM2RBbM9l/9XMlKXPDAYV2\r\nsxlIjbxb/4xu7/ZRGdKd7m76QFsIp/cZ2l0=\r\n=sGXD\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"f71b8615abb4b7e9ea5b4a3453ba5fa34d2617a0","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.3.0","dependencies":{"three":"^0.147.0","comlink":"^4.3.1","@types/three":"^0.146.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.5.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^2.0.1","yargs":"^17.6.2","esbuild":"^0.16.4","typedoc":"^0.23.22","node-fetch":"^3.3.0","playwright":"^1.28.1","typescript":"^4.9.4","@types/chai":"^4.3.4","@types/node":"^18.11.13","@types/mocha":"^10.0.1","@types/yargs":"^17.0.17","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.9","@web/dev-server-esbuild":"^0.3.3","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.14_1676930984826_0.8219018873914878","host":"s3://npm-registry-packages"}},"0.35.15":{"name":"cubing","version":"0.35.15","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.15","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"b8fc94cdadb186a75a6d670ca32d9c47a1f1d466","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.15.tgz","fileCount":131,"integrity":"sha512-kqGDCz8Gfuk+bePHO0BN8Rn7Uw4REJcpJRumKAkVgjWqJoNfRSIMXwgzhlWrv7rPe3RaOBW2It+esmGab1TP3g==","signatures":[{"sig":"MEYCIQDZaRxzTcYIYY1T7+TLI+TdCC+A3ScaB0wh8KhbbN2+gwIhAIpzP6oyKpt8xMh1P9tmvtVstZPwyB5zBTio/LeiASRT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6440390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj8/SbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmolrQ/+KTBBqeb8o9NerMQo/SDWAVy/G2DQE84YmvFDFErL3nPTfXwQ\r\n6jvLr5pPiHFL4j2tYzbsyPs22fTqfIIXC93LoyhTE6TGOIVNVr5KgKky01dp\r\n2XmnrgWAdaPEqeTwYm5UTHG8QY+pxMdsBdBcfVG1vkNEy85WXBDbA7XxjyHa\r\nCvWNxUxRuB0DK709OCOeyy89EGOrJPptCba09KHWpFkfvnwpt4nz2Ye8FIlt\r\nn4veW969g28w/ziTJ5fb/20CjyKJX+ekCL7+/Yvdoife3D3aOhpsFP5EtyBJ\r\n/U0MHpKELqBs9iU6tvWS2aKTy2OORDDX4aRwIg6oamjkJtI6qDvcG1FB6P8i\r\nL9C+p+ASGKgZAn/bcqCSz0MCsADY1jG9yTIo8X0OYX5IRH6IsA/qOlZoVSPo\r\n8hF5tLEHMhOwASGwVn+T+qPBOD6Q4AGqZeo3ugeyCfm0pb0gXckPCG9ilhJ9\r\nF4fz9XnrLXh4Cq1yKdUrEVvhsAkqbny0UpTVZY41lAs0jQ5GqFP6lEpzAFFc\r\nzUmiG8gFMOCG0SQSxGFZKuolHwtP5gVnIgkYZoHFzHtFS7RCaUIUB5gsRvJm\r\nFooPKxcNsrTiPc6OD1zVagLrqV20GKxbjd+Zwqqy6w+/NeywRVMOV5Yo4km9\r\nKXcgSrF8/dK20W0PvoQwNwLDYdaBAQlWyMs=\r\n=toiz\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"a9e3c17eb03dde3f4025c2fda2038214a0abf9d8","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.3.0","dependencies":{"three":"^0.147.0","comlink":"^4.3.1","@types/three":"^0.146.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.5.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^2.0.1","yargs":"^17.6.2","esbuild":"^0.16.4","typedoc":"^0.23.22","node-fetch":"^3.3.0","playwright":"^1.28.1","typescript":"^4.9.4","@types/chai":"^4.3.4","@types/node":"^18.11.13","@types/mocha":"^10.0.1","@types/yargs":"^17.0.17","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.9","@web/dev-server-esbuild":"^0.3.3","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.15_1676932251212_0.5112078548256429","host":"s3://npm-registry-packages"}},"0.35.16":{"name":"cubing","version":"0.35.16","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.16","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"1cd1a1b72909607cbd97fd8ebe3bc441df5f8b48","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.16.tgz","fileCount":131,"integrity":"sha512-S+05iH/LF7GFseuLU9XYO+dk9vAFBMMM2hJF7SXznYs960nPAkOM2gitZP2t5Vel9nd/LdGB6t4EfghzEOO5SQ==","signatures":[{"sig":"MEYCIQCqFuZhbKzazmB0Gjkvq6ZiWvzts7tJ9JWEx7fJ6JUKmgIhAJZ2PSjw648VE4S1vnRlvWHLTshZc+h9Mz8hag8F8h61","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6439276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkBmu3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmopkRAAmdAbXwEBebX9LYyLoxOI5NLkXEqWSuzBgIxvM5V6BGS7Sz/G\r\nFF6ywE44eQywexHY99OrfmntjvNaaL9eCQtgaeHfTabdk9NvFf9+ZOWyCn62\r\ntUp1vhM+pOmNJFLxX6DIQ1lcFgxP7WlK+ILeyCpAP4n46rnnQi7HwK2d94LV\r\nSOKhi7ZFK6xG8qnICyuxz7N5VevrfN2DFBUSlCfZURtg1eERlqKKfD/7yVlq\r\nO7Nmc4HM9Jdp905aExhSh6Dtr9G0LosDz183I2VNCOan8kYD4kd7q2kox5na\r\nh/l/28jui4sxqzr0lWKudK2kRHo1nr8JCcND5EpE3L6MBgGrIAoULnnTrJvl\r\ntQhsvnYmBh8cGwQr5YHrc8vRsOwzwBgRkCoWXps/xJYWhHf1xSLjwhm2hHyA\r\nckPH0nSk4AG77D398IwnMI8me8IcmUJDyqlrJ029jWZthy0ABXuKUxgVxSmX\r\niymL5QbmH5bemkzZSlTp82SS1JaEjGNUJ+NRzwrRnuzm35q+/94aEpxCUEdn\r\n5Mn6aSzDPhmtAH7QvW5NEc0H5KZxoZ0LoedcVoaL+riKb6epS9IAiD8F0Ijs\r\ndn9f+Sa2n2+gG47PuZQ+zEHlLIzn/4xLSppl8hfDy1SgbK/rMLNo/NahEkTb\r\nyI2vVyRvvo+Yn422+RQa0OgVsYXasqV4bLo=\r\n=zGal\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"7dfa9fa8d54341920fc705b53318b513cf3a4203","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.5.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.7.0","dependencies":{"three":"^0.147.0","comlink":"^4.3.1","@types/three":"^0.146.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.5.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^2.0.1","yargs":"^17.6.2","esbuild":"^0.16.4","typedoc":"^0.23.22","node-fetch":"^3.3.0","playwright":"^1.28.1","typescript":"^4.9.4","@types/chai":"^4.3.4","@types/node":"^18.11.13","@types/mocha":"^10.0.1","@types/yargs":"^17.0.17","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.9","@web/dev-server-esbuild":"^0.3.3","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.16_1678142390832_0.12072161787399005","host":"s3://npm-registry-packages"}},"0.35.17":{"name":"cubing","version":"0.35.17","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.17","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"0688d48d0b380ca58594b71f1e85ff98ec083516","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.17.tgz","fileCount":131,"integrity":"sha512-stdcgzTCxtwoTPSo/XTTCLJjWMmqS1iqScCOQhqE50+I21jP0RVOZ//m7UF2INTOY3JCGybjZddLqLrL+eoUkQ==","signatures":[{"sig":"MEYCIQD080hz91DoHzqCeWlgWdi4FrLAaALu5hj+3b6bIqS+yQIhAPz7f8IIflpXO5zNnTcj/bYJw23ROqIPiEGZmPsIQ7y9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6441561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkDRxxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq3jA/+L4dzbmSZjQLHLQuOGT5CSGpcvBb3b117WYIEUB3ZOZ5ONt0p\r\n31oeaCY9HzgRhyAmWgDNrTkuz6ZmbeFrZexauv0C6ysm8jUZu1YJfcxV8P+6\r\nB46AUz2S0FYVwA3OKQRYdHJioQ02W5u7AvEdiUtMqMPNX/bI8kgo0K6z8zla\r\nfGBo8x+txY8MtH9WbwvFZhdt9rzy/jndlJ5tZ5U0Bflc32LHmUd2mSJ3wxdz\r\nqKHXyl1/0CbcNKkrYfJu9LOftgS5QtlwvaMsNhnSM0tCZP5Ut7ssZ3s2Koof\r\nqaxD2HmGCTlErDtuj8hLaDyRLbL3maxIxt3ekv+7dC8pb8iT/oefsXYmUxgD\r\nEFj29e4bWPwMPbo4Cd5YrTiKYRbqV6EMu/HSMJc6J6Da4RrJSCVLSRDhASRo\r\n/sysTFG4iUeWUuGb6rLABaObuXXs+tmJd1k4hyIlmo6KoiF8ZMhtpwCzwIUo\r\nBXO/kes3jb8+Wbs0B3LFvaWfRchazVGy91DIHFVVJbwD/SoSKx7U5AbCTPfr\r\n+cUmS3CABy+KCJfDiNz2suq4WgZfQhbn1Jagvgg8wzpQ7TFCbPPIz1FxzzS0\r\nqqOWuSWFFIheUEi6w3xH5jujIhVty3BvPoibSGsu1VA/pxro8Bmc44xCWhbn\r\ncThB86exvX4oXSo2qVILKOkC7IKluKtb/ZA=\r\n=UvC2\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"9e4b41078ef791a63449cdad2da16c9439657df1","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.5.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.7.0","dependencies":{"three":"^0.147.0","comlink":"^4.3.1","@types/three":"^0.146.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.5.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^2.0.1","yargs":"^17.6.2","esbuild":"^0.16.4","typedoc":"^0.23.22","node-fetch":"^3.3.0","playwright":"^1.28.1","typescript":"^4.9.4","@types/chai":"^4.3.4","@types/node":"^18.11.13","@types/mocha":"^10.0.1","@types/yargs":"^17.0.17","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.9","@web/dev-server-esbuild":"^0.3.3","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.17_1678580849305_0.2255339710523987","host":"s3://npm-registry-packages"}},"0.35.18":{"name":"cubing","version":"0.35.18","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.18","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"984d2665521dd0e2b8e5a81261c583bc2e104841","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.18.tgz","fileCount":131,"integrity":"sha512-iDi1lValwLX2+aXos9Cu71eiB7a+V6fYCA5BX1b8BpL1eOTuQ5HfrZZ3ylvislc0bMdOuZF82+jeDx9PujCd5A==","signatures":[{"sig":"MEYCIQCD+6+QolukH1Iof6yA4R7ac7gBcyTeH5MWjPqrQLHXggIhALWoB5jh8h4ZKt2dcGKFKex2M5QUOFAtfrZCuwINvttp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6441790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFPG4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqHUw//eSbmLju0nlhZvN22lCcRkSI0HX/1nuFJVt+VVBiGDZOQ95VH\r\nYE0YZy2Zn6XTD9g+1sTB6uwbtgp904XnETtjPepWC24VV8HcLVFQY6IwmXD+\r\nC+8EfL+1+yhSZwQoi72vyKISfdPFfp1bQbuKw6Qhu+ZfXsodhQ0MM1rkq4Ed\r\nmQMG5PtwMSgtAVUv2LVy+ci8y1JDL1D15uA+wyC2UJ7CgOacCHXve/0rsDGd\r\nwCRc4A7B7JIzzC7qph7I9D7N60aTRXZY4Zfc3szB1dfUP2HNI9q7bp5DrIqs\r\neA2FIal9oR/vSL8w4ILMGWog/8Tx5fVxVVjJ2miLI/4kX4YvMtsthFN4Br0l\r\n1H2Udx/YEaMOdALos1yB9Fb2Dh3HqEpmTYACAh5Vn1IkyYgqUZ9Jjs5c0t+8\r\nrL8NY9JfGmuWimqRvLJW3IbJMdhQBNR6tiMlzwDV/7hOl5M/X7d2XAUgSAd6\r\nZaQUNEDX8mNtYQoLvvQiNs8njhXcAGx8wLBMqToFzduIPHWY8JQjMUZI25g4\r\n2EoRBNg5yWIg7q8jCHKl4evSSuw8rBwUkRo1Ilb4oyv4WTfJ1jzxR0+nNWKi\r\nLd9yfFMuIVlT09LsCBWoPamb1sMNuwQUI+XLgmKYscn3ovRt/caU15GYQ84D\r\nxi71rYLeHfSJjxDN7d7Epd9VMKj/lfaCFG4=\r\n=AgDD\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"a70b53ff202019ada71f3a11e7fb7fff98775999","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.5.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.7.0","dependencies":{"three":"^0.147.0","comlink":"^4.3.1","@types/three":"^0.146.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.5.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^2.0.1","yargs":"^17.6.2","esbuild":"^0.16.4","typedoc":"^0.23.22","node-fetch":"^3.3.0","playwright":"^1.28.1","typescript":"^4.9.4","@types/chai":"^4.3.4","@types/node":"^18.11.13","@types/mocha":"^10.0.1","@types/yargs":"^17.0.17","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.0","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.9","@web/dev-server-esbuild":"^0.3.3","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.18_1679094199783_0.5625052079584125","host":"s3://npm-registry-packages"}},"0.35.19":{"name":"cubing","version":"0.35.19","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.35.19","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"36d48cb4f4b73b0dcf2880e4033bb2a16c6ef5a4","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.35.19.tgz","fileCount":131,"integrity":"sha512-8wReVyUT8z/i0zI+bge57I+Cbhisu3/7IkH7UbL+hjIOpR9F6vdnwzZJPVS7uwu+q8mnOOi1kNNmKaNnlTDX1A==","signatures":[{"sig":"MEYCIQD5bW/1yOjo5Y+VC3F9W/0ds4rtzcTr3uHRgbkyT80FkAIhAJ9tx8iul8cwl7lggSCBNZTAB0qVLJ3Zg2ypYMd/1xM1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6498026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGRk0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqmJw//XY+vr903CyWldgg9QuCx70qbF/oYm0E12TOct1UnD9vtJTNE\r\nqye0gUjZY4UdRo0vwFEmrAaBFqEMpS2jFScj/pz2aX9jYsH6fA5e7QB4N/YT\r\nMgd8uHyLkwHCy0STYexEyuzqhTlOVTqGnniAVXwc8VEqkASw0xVyHoDxmx4w\r\nZzpsV7zoJJ4DgTj4sVacdsQxOOsUrQ0R+D60BBRyrUktNfYxrEpnYzeqUZ2E\r\nxxj9AS/WOy9NlFHkQybAvI1UsKioq71hDwmk8NCexNcbCgL7ONlbdP71SI96\r\ni+ZtlJ6u36whrp0Wohsp8dkEBnRV2Eyvb54/DtXyr6FpNQif5Jg3O9OkNDE+\r\n8Ao9q/MFyxAWe0f26DK/JjCn8m0mp7fKwFGS5947FOKtpfgcFCsE03yWYPzt\r\n69tvdWtE54QPelPyP7wxZJu2UVFJHEEj6IwJ6aw82EYMynZqJkp/95+2weCp\r\n9FKyc12VTM0I1gPeAvUR6x4zKyqPEZ1eESRFCzCOwy8kdAButii4jd8ioGDS\r\njagc3EUKgidB8wnN4ms2qWfyBkiGZ/fES2W5mhkhUT5aCxUwq7Lfztx+ncj5\r\nXewryctubnTv38l0968kjy7a4fN9s8JzYOF5UuH27u4B2Tg6vx+Ruy3y7uBO\r\nAx6CX9yckjQGL5Tk/y4M3RXKdOfjfBs7dBQ=\r\n=c+CA\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"77c98d9c35a891fd5d8c68afcf9a6e2b97012b52","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.5.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.7.0","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.16.17","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.11","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.35.19_1679366452360_0.3310308223001883","host":"s3://npm-registry-packages"}},"0.36.0":{"name":"cubing","version":"0.36.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.36.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"f1965dc1cc9a87938d3ade154a1ddfbd9f889a60","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.36.0.tgz","fileCount":131,"integrity":"sha512-iztOOndpOTPy8Jo2cZjVVUuDWrL/hkjvg3bfEXP5YuYV219TZVEZpD7ZOd92ZiL/y5tkKIOVOZ/EN8ms+wSynQ==","signatures":[{"sig":"MEUCIBak3SekKaoOYo01lpnk1jS0Ch17s0BcyUwseIEVEEb7AiEA6gXWMWGUaUx55NyluvPg2t7eVTSRyBckQ5SXfnQNwwM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6498317,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGSbYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrv4g/9G2ivS+P/gECeEotgjEILnJywQs/qpPBR4p4t6LD+fecUpHdL\r\nn1Ua4C39vbc8kTFb3WswuSXp+gdW+U76Op2fXQ2Hd2PJJ4GZqsOgrxhYPcyO\r\nTLyPW89WtWuMwiLmnEZAdWweqbOoC6rRPrOR4dZVpEWm9u32bCH3YlL2PieD\r\nt0OZAIgjgXnyH+XwWP+sqS+z867tRj0CquV5HcyfEpaGa6tJQJQvGSi+7S41\r\nH2B9CIOk9m/K794KIAbmSNc4qxhwFkfalYJkur1vrIbwaaZo2pMfXFZNGwUR\r\njUsXYzPeL1lDUjPhboGANQjQ3LB7o8LowDXf5lhPxvpy3Jg15QFkBZDnkWK4\r\nTzVTmx3NDncaTm7qBgk8v5KYyBdKtUToeNQiXhG8flakEE1HFLITJmB4bY4w\r\nfvS9urGmbyyV36NE0r4tAnL9IHaLvTu2brCdBB7C3gNFOsC4NoOvbJOv58T2\r\nNqsLIzV2lXMg+cqOaPkhe0PlHohz9NA5ws/CG7GpwIRtxqFPkYX8RE7qqnr+\r\nUsnJt14+zltmKFygkRcNRDeRnTH+32jLvIPm7FwY7uZF9dvNKN1EgKcHq9xP\r\ntUAGZzejdI2RX2cyP0gs+sEAnRHsQr5I43OzlUF1j2MMZQg0nTSag5PVU+SL\r\nYYJmUzm7W0RcT7WeaXSrg3wv5tVq8nMsR08=\r\n=Vo3/\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"6b1ffacdefb5ee6abf2b16051d64676a1b2334a3","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.5.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.7.0","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.16.17","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.11","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.36.0_1679369944687_0.5545632868179073","host":"s3://npm-registry-packages"}},"0.36.1":{"name":"cubing","version":"0.36.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.36.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"aeddeb166eef7b3fe80c2050a84edd3e1bfa16e1","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.36.1.tgz","fileCount":131,"integrity":"sha512-Z9QsbBDd1TtBL3NvUxGo1Djvs1Vuf/wnIz/uYgVZoa9zhMdE0oSztGMcf8wyuBqY0OmzJ1KiY7NXK3TJ6ShfDg==","signatures":[{"sig":"MEYCIQDN7q+I+NcE4HUVijH5SNEqiyJrRv3LywL84EwTaIoUKgIhAPeiREhXCN7eN3FrHDWERmMtctCCEJw+qItiFBJGlUXt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6499450,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHP5YACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXgw/+LEYIkSLx4e4tbwXB7+axJw6iAmnZ9/Kqjb/7N/6VSMvwYgdf\r\nmqFeBvHfeKq2Yb4I7UPzTXTqcRmvm4SnriJJwFgVLv2CgxCjEph0Gbd4h6vQ\r\n6VhmdG2vjnqZ0R95qu0R3/Vuo+iO6BsKMLxasOHS8eMI5CmgPRmw9rhxys2T\r\n8cFaKqofquIC4pwL7VnEnyYE3uEUSuJqtrTYHdok0vQuqojKaP6RUfR4CxGh\r\nsUJDs9h9g+OjIeIxmKV7avlvLIUFj0WUmJRn/+bzzKpR1TSfn+OEV2jPs6+P\r\nA2I4YH0KU1PBFED2BPk2b2gsfN70xPLtQe7BLneCurCPYV0kj3IpVZblbSbU\r\nr6s9lQfjHQTifTB+CujNJLe6jSuNU2hl6x3c4p95ufBaNQR5ZsDul/ZmUweV\r\nLhP5mCx5FY02SZtUdmM9hTFT2ggH7XC+ATtLslFmC6o/RKVCvgB1shDIQXMq\r\n+WcSPjPrU3HWJHqV5wf2gctQEJn2PubqVBvp6yr1yQpzFUUKRPpcQc3YIFxT\r\nYcryXvu61O9BxufbRXBiPYcO7HNTyGUoXQKE/yOLI3s1PrQ+n4LgBP6HtoWE\r\nESxK7fG92VtNXlYWshvoPa/aR/452ilEk3LawuPR23hk+f94yjkjfYFGFrdw\r\n5rfmJC+RKD238Hs/xN28HNX7t63imB9+Sxg=\r\n=us3b\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"bcd04d7b9543cf4e14fa26210ffae9d007a330d3","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.5.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.7.0","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.16.17","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.11","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.36.1_1679621719738_0.847955188705154","host":"s3://npm-registry-packages"}},"0.36.2":{"name":"cubing","version":"0.36.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.36.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"0eb339ac78e7a4f6b449886ff98e659836dde585","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.36.2.tgz","fileCount":131,"integrity":"sha512-RegEOJK58nHaVMGMdQXG6S9mvF2ptgFggVIcl73n58vC3akIEf0n0jGbWC7PQwEX1wj+NyC3gHzSYg2kJVCQgg==","signatures":[{"sig":"MEUCIEt1Z8IoOOYQPjuz9dViQJTr0HvB96xUp8Su1XvPDLM0AiEAu8peAPb7m8i4DjjqyiRY4RdFlrdDZIMWTGQonlEif4E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6499318},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"7472d98d72ec8468f11cdfc74b39c779d1caaa98","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.5.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"19.8.1","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.16.17","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.12","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.36.2_1683683586498_0.2502696777105482","host":"s3://npm-registry-packages"}},"0.36.3":{"name":"cubing","version":"0.36.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.36.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"106be17e1b2d01e7d73383147a4ffac04b93565b","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.36.3.tgz","fileCount":131,"integrity":"sha512-BNgFBA/HXCBLqVLBtLOA9idCXtCwYPfHMXy6OaedLHPRTkVDbOTIzy8wpiejncrY7/zJNkvO7AFmsab48uszCA==","signatures":[{"sig":"MEYCIQDUGF1oXtNv7I3r1V6IXwyK1/dccZlrCysxHrNQHQZizgIhALFMuAV28Uf3Yw1b/ftPIAr55yErEe+dwX+Wv2Hlpe7o","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6502262},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"bacbf2339a5e81c3d725090729501d1eedf80089","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","build-search-worker":"make build-search-worker","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.6.6","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"20.2.0","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.16.17","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.12","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.36.3_1685253261298_0.1098916773344758","host":"s3://npm-registry-packages"}},"0.37.0-pre1":{"name":"cubing","version":"0.37.0-pre1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.37.0-pre1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"66f143d6263b32436f2388537acf7fee2936c347","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.37.0-pre1.tgz","fileCount":129,"integrity":"sha512-IwoCzI+cB8mgfKQwD+3bnS/7iv5pgdrS6yy59M7ZDmjuNgqGoKR53ZkaKXaDKvJvnTbOqrG6sJAtr069v0dlHw==","signatures":[{"sig":"MEYCIQCnrfKFreXyEhBKNpe1bxPnEIZOxcWGxTZSZ+jZ8AaNugIhALhork1qa1oxT52LI+XNdpBCagknARWSdqQMR9etRvy5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4618387},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"d91053e52fe15079aef08db42189fffdf15e98d0","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.6.6","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"20.2.0","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.16.17","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.12","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.37.0-pre1_1685343911313_0.7305157485755835","host":"s3://npm-registry-packages"}},"0.37.0-pre2":{"name":"cubing","version":"0.37.0-pre2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.37.0-pre2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"6804f6e9939305dcf5a5a8b55bb7af4b919eadf2","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.37.0-pre2.tgz","fileCount":129,"integrity":"sha512-qqlwl3eirC650/L5w/l6HR4lwJ15IP4OyY39k2QSTEkhBk1xcp4QrGto2ksiq0PvJ/LHE2Y5Gik3A8S0lfjiKw==","signatures":[{"sig":"MEUCIQC9WRiUuN13QLGzbJhtBzetEJXKjrIgyqOiCScIN8ngVQIgUS9q5wcug1yIZkifksKTtudfiRVkhh2Cuj5HYQU//fE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4622861},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"4393e209b2e4e160710a328a49e6bf9563e9ea2a","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.6.6","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"20.2.0","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.16.17","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.4.12","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.37.0-pre2_1685416719042_0.6039562060423356","host":"s3://npm-registry-packages"}},"0.37.0":{"name":"cubing","version":"0.37.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.37.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"e4478ec6cea1ff2cfc87729a47a9b946e94706cf","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.37.0.tgz","fileCount":129,"integrity":"sha512-z0f+I13zuJHPx18Re/FMp8jaR0qDB7SRRmEniSaZQOV4796IQlZ3kKCFkgg72L07P1boeDKE4j+v0VV8V2iTJw==","signatures":[{"sig":"MEUCIQCmah94DIBxoRWNlVAmo/IjWPpuISZMvIuC7Y/NV1ToqgIgGuGmo1ScYIplxmnPyw8+zzsyZMWriNBUwk3VBzdrYi4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4622997},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"4e0c3dc5f8f492d21503e59cd4095aa04deb2552","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.6.6","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"20.2.0","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^11.0.0-nightly.fab5440","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.17.19","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.5.1","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.37.0_1686073616883_0.46263629295612185","host":"s3://npm-registry-packages"}},"0.38.0":{"name":"cubing","version":"0.38.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.38.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"a421913108e97ed97b8332c27d07dfac902fea38","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.38.0.tgz","fileCount":129,"integrity":"sha512-LUWDloi0O7/322Uma1JjEnm2xWirKgZvA/n8r1j7balaGnqaFKgFRQGdvcHOMVLxCCQhTf1kp5PRBDqt0gBNvg==","signatures":[{"sig":"MEQCIAMKp45s0ZwQ9ZPJeBJNjnBNrtfzbACmop1TJ/07HglVAiAtKXdPewvV7gVMSnlkWdkXM+w6D5zLQoa8KoaudHJQ6g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4670770},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"da76859fc5b9ec5281a2f0250f6f6d30603976a0","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"20.3.0","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^12.1.3-nightly.50eb45f","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.17.19","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.5.1","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.38.0_1687807340102_0.9825083793387412","host":"s3://npm-registry-packages"}},"0.38.1":{"name":"cubing","version":"0.38.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.38.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"0cdc5662a59b366dc306e05acef34db2c15e015e","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.38.1.tgz","fileCount":129,"integrity":"sha512-kcmNmjNmFEUEIXWD0lujLtIa1zqiqLQZdVBfEzvOSkwRt1MMKFbbodXsTt8RpIbBQjIcHYC84OJVwWJX3SurrA==","signatures":[{"sig":"MEUCIAYPtnprNaMWbgVoVrPKIS75EFNxx2LZRtMT8ZHPx3FsAiEAqQUlBRzxbiAgunb6XEzIy1O0Y7FFLc1H23FrYW0N0Q4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4670947},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"b7256caa14ceb9136c2330352a70cf6a9a63d847","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"20.3.0","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^12.1.3-nightly.50eb45f","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.17.19","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.5.1","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.38.1_1687808716601_0.013614500126228446","host":"s3://npm-registry-packages"}},"0.39.0":{"name":"cubing","version":"0.39.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.39.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"a0953eb24a285d84759ddd1dc390162330b891f3","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.39.0.tgz","fileCount":129,"integrity":"sha512-PE7b++K+GWFj9p7ZodoXL3QuozSuSZqQbNdfHMD1wkl0jwVI7XqGME4WC7JAgB83JyZSlbcEJhlN4FnmSiDCrw==","signatures":[{"sig":"MEUCIAtRlUkHJyiJLftul3Ryjr/ixMXe6N46tjn/AmEH89VqAiEArHkUeepZ3V6xBM2XZipBEYSF2dadPK8p63tk6FW/q4M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4687868},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"73b296d4216aec1b771b5dd638885d1d53bd6731","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.7.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"20.4.0","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^12.1.3-nightly.50eb45f","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.17.19","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.5.1","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.39.0_1690173158304_0.9231143373062369","host":"s3://npm-registry-packages"}},"0.39.1":{"name":"cubing","version":"0.39.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.39.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"cde9a7ede564ef20ffc5bb0b6fa0b37e0595861a","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.39.1.tgz","fileCount":129,"integrity":"sha512-RehVFFhLQHe0mKhoxAcJ8WWM71ddO7YXWIwWQ6XYJLShDnP/TcqRr/qvU8eL04GrhV1fKMtq1ckjXv7EOD14iA==","signatures":[{"sig":"MEQCIE8nigMXljcrTgHzlyNgUv5Cli4lmFI4D1UMH4UIBOhyAiAldUMLvVFLgQKwvJ0S1YlXv7Fn3f3+uHvaxoTQpFWUsg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4687889},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"5bf4b789a7b4cbf6aeefb06a644323f3199e6537","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.7.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"20.4.0","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^12.1.3-nightly.50eb45f","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.17.19","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.5.2","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.39.1_1690264682407_0.4099879751153861","host":"s3://npm-registry-packages"}},"0.40.0":{"name":"cubing","version":"0.40.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.40.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"68eacbcf8055faf4313aee5f156ba7849e69ea09","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.40.0.tgz","fileCount":129,"integrity":"sha512-DYTg4HMgF22zucQoTuwHohvh6Cb6T5tII2nHnTNXNQAWFi/psAH4EDGhrkcWRVvKxhORkZ0EIHEWQK2HJcX3Tw==","signatures":[{"sig":"MEUCIFMIIetIA06D2xwy1Heyf7EaZyJoOQVN+XcNiP+U3ij4AiEA6V6C2eOUPn/DXmECZbXwnnO9uee1rrJqWqfE/cyHQiw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4692797},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"7acefea1cd1eb1969830420e348c9b15935855f0","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.8.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"20.5.0","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^12.1.3-nightly.50eb45f","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.19.2","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.40.0_1692621488595_0.8462836062284158","host":"s3://npm-registry-packages"}},"0.41.0":{"name":"cubing","version":"0.41.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.41.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"3d3a57a03cbe7f4574f6e5acb592af85410600fa","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.41.0.tgz","fileCount":129,"integrity":"sha512-ACuOFZGRWJoDzovxO7hGoiD6FKNMlCGXamHVn/9FtWm5j60ORU0MQ/jgJypSx0QRWCzEoRdnE2HHReE3WQ06CQ==","signatures":[{"sig":"MEUCIFm2N3ISPmzNI5ukEW0OXYZkzfAH+zB9yXUP9ZvZwCXMAiEAszQfnBAIYmCa0Rn/LHV4WTTzpqDKzIy1wkrDeI9ivxs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4701503},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"c9ea5f146205763a2500c2856374de886ab863ae","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.8.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"20.5.0","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^12.1.3-nightly.50eb45f","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.19.2","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.41.0_1693046661915_0.6025909100033897","host":"s3://npm-registry-packages"}},"0.41.1":{"name":"cubing","version":"0.41.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.41.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"bad79a95ad8b7c19e396af6303972844bda97921","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.41.1.tgz","fileCount":129,"integrity":"sha512-JrHY240aposedK9lKIrNukNi30/4OkNXTSL35eGoYDMXG08yGDkqtmCcf3fdwQDMWVZcBjKoXo9YPJzCKNKh4w==","signatures":[{"sig":"MEYCIQDSUlN5zxrfUpcnIFdXatTySBe87YHaHr6eKGGrCuWaBAIhAKezJc4XQudlZPMHEM/l0Sd9bYGsQduY/AnhfwMcjYw/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4703644},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/types/alg/index.d.ts","import":"./dist/esm/alg/index.js"},"./search":{"types":"./dist/types/search/index.d.ts","import":"./dist/esm/search/index.js"},"./stream":{"types":"./dist/types/stream/index.d.ts","import":"./dist/esm/stream/index.js"},"./twisty":{"types":"./dist/types/twisty/index.d.ts","import":"./dist/esm/twisty/index.js"},"./kpuzzle":{"types":"./dist/types/kpuzzle/index.d.ts","import":"./dist/esm/kpuzzle/index.js"},"./puzzles":{"types":"./dist/esm/types-geometry/index.d.ts","import":"./dist/esm/puzzles/index.js"},"./notation":{"types":"./dist/types/notation/index.d.ts","import":"./dist/esm/notation/index.js"},"./protocol":{"types":"./dist/types/protocol/index.d.ts","import":"./dist/esm/protocol/index.js"},"./scramble":{"types":"./dist/types/scramble/index.d.ts","import":"./dist/esm/scramble/index.js"},"./bluetooth":{"types":"./dist/types/bluetooth/index.d.ts","import":"./dist/esm/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/esm/types/puzzle-geometry/index.d.ts","import":"./dist/esm/puzzle-geometry/index.js"}},"gitHead":"0afe616b44813fd2300372f4190eaa526b39d540","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.8.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"20.5.0","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^12.1.3-nightly.50eb45f","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.19.2","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.41.1_1693205212950_0.9690813836033629","host":"s3://npm-registry-packages"}},"0.42.0":{"name":"cubing","version":"0.42.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.42.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"dbab8182a9cc4cc94c2ffaa796d2ca632421c953","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.42.0.tgz","fileCount":107,"integrity":"sha512-kD5s98rxmWeNjo+pCgVsZvHamBAc/UeJS12bbnyon4Wtmq+135KiKHOC228etFxBeealB5RWRI0e23AMVDHNYA==","signatures":[{"sig":"MEUCIQCRbEEBH19p6hKdbcGKMQgS6nD/iaN317J365OAwBjIhgIgTp05VrZzAWXLmsp6F+OxhkxlreDpu8OE8E47R9j+fro=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4702433},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/cubing/alg/index.d.ts","import":"./dist/cubing/alg/index.js"},"./search":{"types":"./dist/cubing/search/index.d.ts","import":"./dist/cubing/search/index.js"},"./stream":{"types":"./dist/cubing/stream/index.d.ts","import":"./dist/cubing/stream/index.js"},"./twisty":{"types":"./dist/cubing/twisty/index.d.ts","import":"./dist/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/cubing/kpuzzle/index.d.ts","import":"./dist/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/cubing/types-geometry/index.d.ts","import":"./dist/cubing/puzzles/index.js"},"./notation":{"types":"./dist/cubing/notation/index.d.ts","import":"./dist/cubing/notation/index.js"},"./protocol":{"types":"./dist/cubing/protocol/index.d.ts","import":"./dist/cubing/protocol/index.js"},"./scramble":{"types":"./dist/cubing/scramble/index.d.ts","import":"./dist/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/cubing/bluetooth/index.d.ts","import":"./dist/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/cubing/puzzle-geometry/index.js"}},"gitHead":"eb124ae7c3fea4601aba8470d49c3c0e16922e63","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.8.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"20.5.0","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","rome":"^12.1.3-nightly.50eb45f","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.19.2","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","rome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.42.0_1693562777889_0.4975310739120713","host":"s3://npm-registry-packages"}},"0.42.1":{"name":"cubing","version":"0.42.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.42.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"9973d6ae7434a8924e85ceb027c00ae055f00613","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.42.1.tgz","fileCount":107,"integrity":"sha512-WEh8c+hpMOvvXwtC7Ox5tdlxKZo1uqYWQFbJugZCrd9pze3HjyWjRTryC2FhC8HuXbJZo0DEosCBiWpEfkloPA==","signatures":[{"sig":"MEUCIQDyVjZw5I+LCxeBVLxAP18Cf/CqIXsLCrio9U/0htetjwIgOg965kyRqfPUafwmFeGopJ1VbjahNgdR2kGzZoQxIYk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4702489},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/cubing/alg/index.d.ts","import":"./dist/cubing/alg/index.js"},"./search":{"types":"./dist/cubing/search/index.d.ts","import":"./dist/cubing/search/index.js"},"./stream":{"types":"./dist/cubing/stream/index.d.ts","import":"./dist/cubing/stream/index.js"},"./twisty":{"types":"./dist/cubing/twisty/index.d.ts","import":"./dist/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/cubing/kpuzzle/index.d.ts","import":"./dist/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/cubing/types-geometry/index.d.ts","import":"./dist/cubing/puzzles/index.js"},"./notation":{"types":"./dist/cubing/notation/index.d.ts","import":"./dist/cubing/notation/index.js"},"./protocol":{"types":"./dist/cubing/protocol/index.d.ts","import":"./dist/cubing/protocol/index.js"},"./scramble":{"types":"./dist/cubing/scramble/index.d.ts","import":"./dist/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/cubing/bluetooth/index.d.ts","import":"./dist/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/cubing/puzzle-geometry/index.js"}},"gitHead":"71780728e0cceefac68a34e0656b28c759d37f29","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-esm":"make build-esm","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","build-types":"make build-types","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","test-src-tsc":"make test-src-tsc","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-esm-perf":"make test-dist-esm-perf","test-dist-esm-vite":"make test-dist-esm-vite","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-esm-build-size":"make test-dist-esm-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-esm-node-import":"make test-dist-esm-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-scripts-consistency":"make test-src-scripts-consistency","test-src-does-not-import-dist":"make test-src-does-not-import-dist","test-dist-esm-scramble-all-events":"make test-dist-esm-scramble-all-events","test-dist-esm-plain-esbuild-compat":"make test-dist-esm-plain-esbuild-compat","test-src-internal-import-restrictions":"make test-src-internal-import-restrictions"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.8.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"20.5.0","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.19.2","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@biomejs/biome":"^1.1.0","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.42.1_1694060057783_0.08303909718916813","host":"s3://npm-registry-packages"}},"0.43.0":{"name":"cubing","version":"0.43.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.43.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"b887620681607247478758e3a5eea8272325e532","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.43.0.tgz","fileCount":112,"integrity":"sha512-U38HMJ1ChKbu10oPeznWqXiMDBnzmjaVxhlu4FqkwPrrXy5+areXr7AlCls7BVsvFBPdLcjySgj4Zjcj7eU8ng==","signatures":[{"sig":"MEYCIQDE256pMqbI4ORDCCu/9Mys29zyQhg7bH6Ylnzot9ooDgIhAMi2MuER12FfkJKi35aH8wKy6Mew/ALFlh6j31R6KynF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4726960},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"edc31676e990711263bba29f905a0368665f9745","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-lib-perf":"make test-dist-lib-perf","test-dist-lib-vite":"make test-dist-lib-vite","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-scramble-all-events":"make test-dist-lib-scramble-all-events","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.8.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"20.5.0","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.19.2","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@biomejs/biome":"^1.1.0","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.43.0_1694592358632_0.6461698464295682","host":"s3://npm-registry-packages"}},"0.43.1":{"name":"cubing","version":"0.43.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.43.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"934e5059b1370d3b11288c95b5f295303b943045","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.43.1.tgz","fileCount":112,"integrity":"sha512-CsnZIsWjmc3B5wLMAtSjzlYIDwfyNA1eSB64Ylr63jixyo8XRsCioJJTnzIofOY+nMhugqTRdIoX70Z60t2DEA==","signatures":[{"sig":"MEYCIQDkpRTul6QaWfnTexiIaASXzf8shXn9FYmMJL8cfwYeRAIhAJVoEru725d1WFEknpEWkj6sfxwuAQmLUqTtxk3kEoLE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4727901},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"cad6ebb01ebdaddd41a7d407f47ccf4b810c553a","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-lib-perf":"make test-dist-lib-perf","test-dist-lib-vite":"make test-dist-lib-vite","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-scramble-all-events":"make test-dist-lib-scramble-all-events","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.8.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"20.5.0","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.19.2","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@biomejs/biome":"^1.1.0","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.43.1_1694593121159_0.7005688713844975","host":"s3://npm-registry-packages"}},"0.43.2":{"name":"cubing","version":"0.43.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.43.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"a898e52d8cfb58f76c3c00b864f3586dc2267c28","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.43.2.tgz","fileCount":112,"integrity":"sha512-rUbJyvRAv/2uo/z/itOWl3sqxMcWWiSxV6S2kZn+OHkzEgmdp/Pk++RNyT4g9b2abQ510NcYvm7pFzWtdsSK1Q==","signatures":[{"sig":"MEQCIBHDZ8v28CG3ZvKYZI2HKAyk6OXSVm+ZKr4mJmPFdI2IAiAYxdqPTRyRCqvJAKDSXT0tc+meti8Lklmx97SNc8EbyQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4728319},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"6b6050db5c9fd2d097efab8aa041bbd3eab46904","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-lib-perf":"make test-dist-lib-perf","test-dist-lib-vite":"make test-dist-lib-vite","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-scramble-all-events":"make test-dist-lib-scramble-all-events","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.8.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"20.5.0","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.19.2","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@biomejs/biome":"^1.1.0","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.43.2_1694594140664_0.5033716577312344","host":"s3://npm-registry-packages"}},"0.43.3":{"name":"cubing","version":"0.43.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.43.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"e3a12d5c58569678e61e33bc772cc303099db3b7","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.43.3.tgz","fileCount":112,"integrity":"sha512-a5I31eyONOsLYrKA5UO+00PZAolmAnLooCElNdSOmEA2ZIzVgCixZ17Q3tuXh3eIihcFptI/6Ivmtf1hmFYuJw==","signatures":[{"sig":"MEUCIQDB57vn0FuSAdjmatJuja7spUD6eh17+L6G1UXk+x071QIgctF7Om3RJG5pF1MG4QJAMP/cXXs4K7dSYU6izrXmIws=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4728130},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"f0d55e5294daa43fa712a644cf7af4c3f455ae8b","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-lib-perf":"make test-dist-lib-perf","test-dist-lib-vite":"make test-dist-lib-vite","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-scramble-all-events":"make test-dist-lib-scramble-all-events","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.8.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"20.6.1","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.19.2","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@biomejs/biome":"^1.1.0","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.43.3_1694943708826_0.6687363606612009","host":"s3://npm-registry-packages"}},"0.43.4":{"name":"cubing","version":"0.43.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.43.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"bd88f2cff64ec0104050a1c2734aaf78736d68cf","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.43.4.tgz","fileCount":112,"integrity":"sha512-CNIzODH/FP2F9HntFJM5uP1cTlOe7eAAHVrDHuGP/VLHC7PViBCeMpNhCDl1obhyh5Cp8TYUuV3ynhug10K6HA==","signatures":[{"sig":"MEQCIF9yRKkI8/9GJTYY/nkNriYxTdLSz/9sgSzUh6+ifbsYAiAcZ7e+76lAXSox0xqJrK1JmOlS5UT6kH7YuXq3NJfCZA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4728677},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"0914364007b60d3a2655a0bad2ad39e4eda69940","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","test-spec-watch":"make test-spec-watch","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","test-dist-lib-perf":"make test-dist-lib-perf","test-dist-lib-vite":"make test-dist-lib-vite","generate-js-parsers":"make generate-js-parsers","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-spec-with-coverage":"make test-spec-with-coverage","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-scramble-all-events":"make test-dist-lib-scramble-all-events","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"9.8.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"20.6.1","dependencies":{"three":"^0.150.1","comlink":"^4.4.1","@types/three":"^0.149.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.16"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","tsup":"^6.7.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.1","yargs":"^17.7.1","esbuild":"^0.19.2","typedoc":"^0.23.28","node-fetch":"^3.3.1","playwright":"^1.31.2","typescript":"^5.0.2","@types/chai":"^4.3.4","@types/node":"^18.15.5","@types/mocha":"^10.0.1","@types/yargs":"^17.0.23","@biomejs/biome":"^1.1.0","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.15.1","@types/node-fetch":"^2.6.2","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.3.4","@web/test-runner-playwright":"^0.9.0","@types/dom-speech-recognition":"^0.0.1"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.43.4_1694944372630_0.3670317410591484","host":"s3://npm-registry-packages"}},"0.43.5":{"name":"cubing","version":"0.43.5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.43.5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"3238fd2f2b19095aeb88b7a51cded2c6e3bde419","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.43.5.tgz","fileCount":118,"integrity":"sha512-t1nG2ZQRaoYfx/OzfPI5RbdlQVfYY/6Q6FHbV54BgSZJ8UAKqZQOGo7HHVpLtF5WbVYHr0dZgY6YgHDCgrjhPg==","signatures":[{"sig":"MEUCIQC190lG1gaoIKEUHn6A2Zytt+6jX4oVCuPhcnZewlux9wIgf5BihfGb5PvphkPt3NZOQPT7mk1nv9M5pcVZ+SMrZeQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5422792},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"66a86c8997b14b0c69d6a930320434332dba6ec5","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","generate-js-parsers":"make generate-js-parsers","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-node-scramble-all-events":"make test-dist-lib-node-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.1.0","dependencies":{"three":"^0.157.0","comlink":"^4.4.1","@types/three":"^0.157.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.18"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","tsup":"^7.2.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.2","yargs":"^17.7.2","esbuild":"^0.19.4","typedoc":"^0.25.2","node-fetch":"^3.3.2","playwright":"1.39.0","typescript":"^5.2.2","@types/chai":"^4.3.8","@types/node":"^20.8.6","@types/mocha":"^10.0.2","@types/yargs":"^17.0.28","@biomejs/biome":"^1.3.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.17.2","@types/node-fetch":"^2.6.6","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.4.1","@web/test-runner-playwright":"^0.10.1","@types/dom-speech-recognition":"^0.0.2"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.43.5_1698254672312_0.7723617311434745","host":"s3://npm-registry-packages"}},"0.43.6":{"name":"cubing","version":"0.43.6","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.43.6","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"c3fc1ee37a9315ca01de146c15658f8526a69006","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.43.6.tgz","fileCount":114,"integrity":"sha512-W991YV5P/pVsWVFbBfwZ2j1Bgk6+3oZklR2umJ8Ygyh1ORTopd9040sMOtM8Lk5PglcQBFKsYNMnKo4Gyoawgw==","signatures":[{"sig":"MEYCIQCc5g/DBH2jz1dNXlq0Kkb5AQBlqvnxydeigrD7GPNpuwIhALJvz78OjOwsKV+opLw+PGndYmOwRmPc903hkPb64QWy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4530397},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"b5cb601eab538f3a50f50b4ef7d573985e293004","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","generate-js-parsers":"make generate-js-parsers","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-node-scramble-all-events":"make test-dist-lib-node-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.1.0","dependencies":{"three":"^0.157.0","comlink":"^4.4.1","@types/three":"^0.157.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.18"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","tsup":"^7.2.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.2","yargs":"^17.7.2","esbuild":"^0.19.4","typedoc":"^0.25.2","node-fetch":"^3.3.2","playwright":"1.39.0","typescript":"^5.2.2","@types/chai":"^4.3.8","@types/node":"^20.8.6","@types/mocha":"^10.0.2","@types/yargs":"^17.0.28","@biomejs/biome":"^1.3.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.17.2","@types/node-fetch":"^2.6.6","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.4.1","@web/test-runner-playwright":"^0.10.1","@types/dom-speech-recognition":"^0.0.2"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.43.6_1698307901276_0.23398657822855884","host":"s3://npm-registry-packages"}},"0.43.7":{"name":"cubing","version":"0.43.7","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.43.7","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"6ba0068d29744d08369ce594fb9688d62de496ac","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.43.7.tgz","fileCount":114,"integrity":"sha512-FITHa2AexK3IS6c8USbrx06oEZw2j1Z8JZCz+Nrx6M9POaowS0NB7w0+EtQ08LtPLYTrhuv2+ygt+ZgiWw594Q==","signatures":[{"sig":"MEYCIQD1TsQ24hm5d9qVshYMEpJC3QxO5mUzksjdweFSxJgk8gIhAIa4sj5eOFMc6zM4H0E1Zh9zin15CAoF53+5QaU3syvs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4530397},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"46a2915ce92bd390c65c0fd84ccd74e942ec2a1a","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","generate-js-parsers":"make generate-js-parsers","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-node-scramble-all-events":"make test-dist-lib-node-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.1.0","dependencies":{"three":"^0.157.0","comlink":"^4.4.1","@types/three":"^0.157.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.18"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","tsup":"^7.2.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.2","yargs":"^17.7.2","esbuild":"^0.19.4","typedoc":"^0.25.2","node-fetch":"^3.3.2","playwright":"1.39.0","typescript":"^5.2.2","@types/chai":"^4.3.8","@types/node":"^20.8.6","@types/mocha":"^10.0.2","@types/yargs":"^17.0.28","@biomejs/biome":"^1.3.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.17.2","@types/node-fetch":"^2.6.6","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.4.1","@web/test-runner-playwright":"^0.10.1","@types/dom-speech-recognition":"^0.0.2"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.43.7_1698388930922_0.3563674545893729","host":"s3://npm-registry-packages"}},"0.43.8":{"name":"cubing","version":"0.43.8","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.43.8","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"6a6f2a0989f3955229381375d047994401e934c7","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.43.8.tgz","fileCount":114,"integrity":"sha512-m69S5TLYItjXW8t9rnleD3RMLRWuu/a0zg2/SWK7sjD4ix7c5qr3sn12/5dMxpi4xzDAPIJVK5RirdWltFD0Dw==","signatures":[{"sig":"MEUCIFUOe8C+DRvfYube6QiPPPYV7+2fl4ZnXKjZ1ElFa+FwAiEAtWFNUolcUEQGs+jwZt0/gNGH/z1VS4Jea+4c/FQhhDI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4530617},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"397664112ec98de554f720cbbfc1f72e3c5426ca","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","generate-js-parsers":"make generate-js-parsers","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-node-scramble-all-events":"make test-dist-lib-node-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.1.0","dependencies":{"three":"^0.157.0","comlink":"^4.4.1","@types/three":"^0.157.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.18"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","tsup":"^7.2.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.2","yargs":"^17.7.2","esbuild":"^0.19.4","typedoc":"^0.25.2","node-fetch":"^3.3.2","playwright":"1.39.0","typescript":"^5.2.2","@types/chai":"^4.3.8","@types/node":"^20.8.6","@types/mocha":"^10.0.2","@types/yargs":"^17.0.28","@biomejs/biome":"^1.3.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.17.2","@types/node-fetch":"^2.6.6","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.4.1","@web/test-runner-playwright":"^0.10.1","@types/dom-speech-recognition":"^0.0.2"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.43.8_1698459871895_0.6154650775796588","host":"s3://npm-registry-packages"}},"0.43.9":{"name":"cubing","version":"0.43.9","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.43.9","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"3058aa53760eb228970475d1c9e58cc47d3a72ae","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.43.9.tgz","fileCount":114,"integrity":"sha512-J2HQfCRDEZqvs0Jmu5GycN20FKeBPt17XyAv624fh8IVjDbUMcIAhmCXgk3KG/hv+znyEx7+8OVx3BkVVzgocg==","signatures":[{"sig":"MEUCIQD7sa91av53Ql4Glbdw9z4bKeaWAE1UdsTd2AtwnPEMPwIgUtyZ2vFqWZ8QBXaJc5g3kHZgtpR/9Tvky6WrzV2bLgk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4553280},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"b97e376930ed59e273574a6113b234c8bf43659f","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","generate-js-parsers":"make generate-js-parsers","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-node-scramble-all-events":"make test-dist-lib-node-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.1.0","dependencies":{"three":"^0.157.0","comlink":"^4.4.1","@types/three":"^0.157.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.18"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","tsup":"^7.2.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.2","yargs":"^17.7.2","esbuild":"^0.19.4","typedoc":"^0.25.2","node-fetch":"^3.3.2","playwright":"1.39.0","typescript":"^5.2.2","@types/chai":"^4.3.8","@types/node":"^20.8.6","@types/mocha":"^10.0.2","@types/yargs":"^17.0.28","@biomejs/biome":"^1.3.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.17.2","@types/node-fetch":"^2.6.6","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.4.1","@web/test-runner-playwright":"^0.10.1","@types/dom-speech-recognition":"^0.0.2"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.43.9_1700782440855_0.05789334043780614","host":"s3://npm-registry-packages"}},"0.43.10":{"name":"cubing","version":"0.43.10","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.43.10","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"40de4cbb6cb3d8eb6d65d358bf77f7a51d9e4bdd","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.43.10.tgz","fileCount":114,"integrity":"sha512-m9n/GuGjC2PKsqNWWX8HNDEpTDcvnT88YuAKooN2eoLM3UU0bW9p1hJk9acHLRG26MTxhVWN84d6DAbzeeZlyg==","signatures":[{"sig":"MEUCIQDI7QdE2Gu5pDY3AYjgDA/oxwDdH4ofLz/IZU6SenvadgIgQ93H+afcxXC7PtwSME1IsFhBKrrKeorlOLL5QNT9FWM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4570628},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"a0434bf880369c9044b4e3c6a5c20e05019c16b1","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","generate-js-parsers":"make generate-js-parsers","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-node-scramble-all-events":"make test-dist-lib-node-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.1.0","dependencies":{"three":"^0.157.0","comlink":"^4.4.1","@types/three":"^0.157.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.18"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","tsup":"^7.2.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.2","yargs":"^17.7.2","esbuild":"^0.19.4","typedoc":"^0.25.2","node-fetch":"^3.3.2","playwright":"1.39.0","typescript":"^5.2.2","@types/chai":"^4.3.8","@types/node":"^20.8.6","@types/mocha":"^10.0.2","@types/yargs":"^17.0.28","@biomejs/biome":"^1.3.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.17.2","@types/node-fetch":"^2.6.6","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.4.1","@web/test-runner-playwright":"^0.10.1","@types/dom-speech-recognition":"^0.0.2"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.43.10_1700799754294_0.49178122489981546","host":"s3://npm-registry-packages"}},"0.43.11":{"name":"cubing","version":"0.43.11","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.43.11","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"9f616def5eb0c576347cf07027711ab7b16b15a9","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.43.11.tgz","fileCount":114,"integrity":"sha512-gtcxDUtulcdOuidqeCQ3R7RxVyP2DpJ6scSN9N826ETiqqIxPu2E7/bFcc+vFobzk+BPQ+E//Z9+JrBURs19YQ==","signatures":[{"sig":"MEYCIQC3szbXpBgbwqKSVjEH7/9L4QxvZgMoAYyRBH8xLBtadgIhAK6jCClrBHVuDZXx8ZYwvsyEfqBSStNHpmxg4nymcEeV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4570590},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"d011aa3b0360a267fa16f5042bcdf4c3f1d81487","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","generate-js-parsers":"make generate-js-parsers","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-node-scramble-all-events":"make test-dist-lib-node-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.1.0","dependencies":{"three":"^0.157.0","comlink":"^4.4.1","@types/three":"^0.157.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.18"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","tsup":"^7.2.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.2","yargs":"^17.7.2","esbuild":"^0.19.4","typedoc":"^0.25.2","node-fetch":"^3.3.2","playwright":"1.39.0","typescript":"^5.2.2","@types/chai":"^4.3.8","@types/node":"^20.8.6","@types/mocha":"^10.0.2","@types/yargs":"^17.0.28","@biomejs/biome":"^1.3.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.17.2","@types/node-fetch":"^2.6.6","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.4.1","@web/test-runner-playwright":"^0.10.1","@types/dom-speech-recognition":"^0.0.2"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.43.11_1703130246456_0.38711088860741705","host":"s3://npm-registry-packages"}},"0.44.0":{"name":"cubing","version":"0.44.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.44.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"e546c0527cbfe3815a5f8dd7c52e4f2f522530b7","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.44.0.tgz","fileCount":114,"integrity":"sha512-wJrs8cEG7UNFGEhWGLBRl+D6q0Mllh+/blEwdNpE/xKrUW0ATOk5pFN6GSNueVcFQm+l+TA6RY/ub6pj+S2IlQ==","signatures":[{"sig":"MEUCIQCYuIwBbiPXB1okpUwZe/2DkkpZg596eYaWYNsgeDCd2QIgfb0icOTI8kudgE6bpJW+ZF5LKlb+q41fxo6GV1KRg0g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4571402},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"1b30de238479f3a252c972b393264fa7ee2f7cb1","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","generate-js-parsers":"make generate-js-parsers","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-node-scramble-all-events":"make test-dist-lib-node-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.1.0","dependencies":{"three":"^0.157.0","comlink":"^4.4.1","@types/three":"^0.157.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.18"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","tsup":"^7.2.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.2","yargs":"^17.7.2","esbuild":"^0.19.4","typedoc":"^0.25.2","node-fetch":"^3.3.2","playwright":"1.39.0","typescript":"^5.2.2","@types/chai":"^4.3.8","@types/node":"^20.8.6","@types/mocha":"^10.0.2","@types/yargs":"^17.0.28","@biomejs/biome":"^1.3.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.17.2","@types/node-fetch":"^2.6.6","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.4.1","@web/test-runner-playwright":"^0.10.1","@types/dom-speech-recognition":"^0.0.2"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.44.0_1703935575764_0.7998096970752306","host":"s3://npm-registry-packages"}},"0.44.1":{"name":"cubing","version":"0.44.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.44.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"29722322712466610b708bc17b297ee57ec1bdea","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.44.1.tgz","fileCount":114,"integrity":"sha512-BMBts7FsCC8DzbkFKTryA1LEc/xl5SgRZITeemE2Ib9/73gMiAwvREm9FpBYmqochbQ7w9vxOZbabvm2Z9H5jA==","signatures":[{"sig":"MEUCIQClIpG1boyOsY1IG1KbOS96E8I9HKHBZ6l3w9FeDw/j5QIgegtxxbNeh/2bi4AkeTOpSRuySIItSfvcQoFmRI7yo4E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4571772},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"7706ecd2f4112ddf8392432d32cb4e8f2d00b572","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","generate-js-parsers":"make generate-js-parsers","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-node-scramble-all-events":"make test-dist-lib-node-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.2.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.1.0","dependencies":{"three":"^0.157.0","comlink":"^4.4.1","@types/three":"^0.157.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.18"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","tsup":"^7.2.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.2","yargs":"^17.7.2","esbuild":"^0.19.4","typedoc":"^0.25.2","node-fetch":"^3.3.2","playwright":"1.39.0","typescript":"^5.2.2","@types/chai":"^4.3.8","@types/node":"^20.8.6","@types/mocha":"^10.0.2","@types/yargs":"^17.0.28","@biomejs/biome":"^1.3.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.17.2","@types/node-fetch":"^2.6.6","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.4.1","@web/test-runner-playwright":"^0.10.1","@types/dom-speech-recognition":"^0.0.2"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.44.1_1703999551839_0.07803672166111686","host":"s3://npm-registry-packages"}},"0.45.0":{"name":"cubing","version":"0.45.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.45.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"27d2f2d710cc8e761340ef67da4c16e67eb29f5d","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.45.0.tgz","fileCount":114,"integrity":"sha512-LZ98Cxj2WLHqAY14DKJyFwnhidhb38D6WstdIiqeY0EeCP0paevPcJRGrjUfCLka44hNii4vyr1LMmgSBg+yqA==","signatures":[{"sig":"MEYCIQD5HpOiWIjiC+9zdXU8P9qQOzI2gzK73ZpA5F3zts27dAIhAOjMuhk+GP0U2EdZQtg8pUcjqzl/1WQwVlzKCrRyctdP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4571425},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"c8fea743e8b0f591120f121453bb1eddf3225d72","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","generate-js-parsers":"make generate-js-parsers","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-node-scramble-all-events":"make test-dist-lib-node-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.2.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.5.0","dependencies":{"three":"^0.157.0","comlink":"^4.4.1","@types/three":"^0.157.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.18"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","tsup":"^7.2.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.2","yargs":"^17.7.2","esbuild":"^0.19.4","typedoc":"^0.25.2","node-fetch":"^3.3.2","playwright":"1.39.0","typescript":"^5.2.2","@types/chai":"^4.3.8","@types/node":"^20.8.6","@types/mocha":"^10.0.2","@types/yargs":"^17.0.28","@biomejs/biome":"^1.3.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.17.2","@types/node-fetch":"^2.6.6","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.4.1","@web/test-runner-playwright":"^0.10.1","@types/dom-speech-recognition":"^0.0.2"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.45.0_1704475140204_0.5759123955950849","host":"s3://npm-registry-packages"}},"0.45.1":{"name":"cubing","version":"0.45.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.45.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"b95c9d3a08acc6e5e595e6c00fb8e346e2a9e2d5","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.45.1.tgz","fileCount":114,"integrity":"sha512-Al/OlvvrbxQJowgq3VXjqjWbjPuM+yiWM4fbp2Ifs3bdP7QwyZQsw9MLdKBklEtN6MM04xwCJs5/9XD4j+H8zA==","signatures":[{"sig":"MEYCIQCO4EamyRC3e5NKL1Nrzr4JjlnmQ/qEocyjPGt4o6zlNwIhAPR956jjOCKyzhI7cGA5Tk/GB1/Pvd/ridPErCGmT9O2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4571594},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"c1b101edc73d0419ce6b1845bf99ea0862298531","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","generate-js-parsers":"make generate-js-parsers","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-node-scramble-all-events":"make test-dist-lib-node-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.2.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.5.0","dependencies":{"three":"^0.157.0","comlink":"^4.4.1","@types/three":"^0.157.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.18"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","tsup":"^7.2.0","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.2","yargs":"^17.7.2","esbuild":"^0.19.4","typedoc":"^0.25.2","node-fetch":"^3.3.2","playwright":"1.39.0","typescript":"^5.2.2","@types/chai":"^4.3.8","@types/node":"^20.8.6","@types/mocha":"^10.0.2","@types/yargs":"^17.0.28","@biomejs/biome":"^1.5.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.17.2","@types/node-fetch":"^2.6.6","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^0.4.1","@web/test-runner-playwright":"^0.10.1","@types/dom-speech-recognition":"^0.0.2"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.45.1_1705219009996_0.9117359117041954","host":"s3://npm-registry-packages"}},"0.46.0":{"name":"cubing","version":"0.46.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.46.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"6163b590f7d1966e1494bf0408784e230024a6f1","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.46.0.tgz","fileCount":114,"integrity":"sha512-cdjzDAcNldFH4qw8dtyq5wwLnddD9/NJocQabndNAFK+B8FA9pkYGGwQP5FCBdOoRGAzFHx0ZZ0rJ7pNNyEijg==","signatures":[{"sig":"MEQCIBG5haDVBxZzJL9xvhZaA42+BYMQXUXhiY/SketUUKHpAiBrQ6nSJ9mObC/rnD642z13toKEJxvsOT9C6yJxDMQ3Wg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4571986},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"26c18584170e2eb5c9f5ac5dd4f312952eabb152","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","generate-js-parsers":"make generate-js-parsers","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.2.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.5.0","dependencies":{"three":"^0.160.0","comlink":"^4.4.1","@types/three":"^0.160.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.0.0","tsup":"^8.0.1","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.2","yargs":"^17.7.2","esbuild":"^0.19.11","typedoc":"^0.25.7","node-fetch":"^3.3.2","playwright":"1.40.1","typescript":"^5.3.3","@types/chai":"^4.3.11","@types/node":"^20.11.0","@types/mocha":"^10.0.6","@types/yargs":"^17.0.32","@biomejs/biome":"^1.5.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.0","@types/node-fetch":"^2.6.10","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.46.0_1705312260128_0.30534914143181235","host":"s3://npm-registry-packages"}},"0.46.1":{"name":"cubing","version":"0.46.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.46.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"3003f2fdcf5212aed588917e1d619305cde00bae","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.46.1.tgz","fileCount":114,"integrity":"sha512-E0qcoLigreUFtKADHpMZ3OpHrxEznvurA4ZQbJng6M9+W1tu986ClAb8EhNrd9/4embQKg7r5vd1Cglpbh1Jcg==","signatures":[{"sig":"MEYCIQCQJALrt1OeCg12KO/rCtWnPfldmbzAL/jdche+5YbdXwIhAOob5xIFxjJPwSIyVS6o4JtyLsW5oMNYT817PxhLJzdw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4571797},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"6f0395dc2fd2103b1a861b23669295d211500ad1","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","generate-js-parsers":"make generate-js-parsers","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.2.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.5.0","dependencies":{"three":"^0.160.0","comlink":"^4.4.1","@types/three":"^0.160.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.0.0","tsup":"^8.0.1","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.2","yargs":"^17.7.2","esbuild":"^0.19.11","typedoc":"^0.25.7","node-fetch":"^3.3.2","playwright":"1.40.1","typescript":"^5.3.3","@types/chai":"^4.3.11","@types/node":"^20.11.0","@types/mocha":"^10.0.6","@types/yargs":"^17.0.32","@biomejs/biome":"^1.5.2","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.0","@types/node-fetch":"^2.6.10","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.46.1_1705436347130_0.32730460840649633","host":"s3://npm-registry-packages"}},"0.46.2":{"name":"cubing","version":"0.46.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"GPL-3.0-or-later","_id":"cubing@0.46.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"e40b5bb8c16cb0f8c51c2525634922363308a243","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.46.2.tgz","fileCount":114,"integrity":"sha512-6cLg1FKcNI+uZ9FyDeq1DCa9LZMe/xwfBr1V/duE+9Y/aV1OeuLvmkHJ/xgksaQjtD5/Uy0j+caTBxrQmXbZTw==","signatures":[{"sig":"MEQCIFLWGFzren0zzvr8gVlslW5tO2xnaGVG1Oelj3//iYPXAiBx/KlLl5YQ2Xcu7SV00/exQrIKiEwDTUzuiRU8i6nbPQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4571836},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"e483fd4f120798bf7dbed29056ea598891022082","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","generate-js-parsers":"make generate-js-parsers","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.2.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.5.0","dependencies":{"three":"^0.160.0","comlink":"^4.4.1","@types/three":"^0.160.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.0.0","tsup":"^8.0.1","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.2","yargs":"^17.7.2","esbuild":"^0.19.11","typedoc":"^0.25.7","node-fetch":"^3.3.2","playwright":"^1.41.0","typescript":"^5.3.3","@types/chai":"^4.3.11","@types/node":"^20.11.5","@types/mocha":"^10.0.6","@types/yargs":"^17.0.32","@biomejs/biome":"^1.5.2","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.0","@types/node-fetch":"^2.6.11","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.46.2_1705898353961_0.8519290017993884","host":"s3://npm-registry-packages"}},"0.47.0":{"name":"cubing","version":"0.47.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.47.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"926b8f723f67fe5018d0ac32f4e3780e74a91b1a","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.47.0.tgz","fileCount":113,"integrity":"sha512-N0Egq1o6VnbN/Vk9o8IMHnjwylmr9igEy7UigibIH3ju1cp0TKUat+LoEbdNxJCKgY5OpttwgMEj60iLURbWGQ==","signatures":[{"sig":"MEYCIQDCanSllCHRf7KwfA0e8+9UgXZLpP3izVI3uzrQKOtAYwIhAMNu392CbataGxG+3M/j3oBM3vdA6Fb5H311ryyz9beY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4539068},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"1344b34b344b6806dbcda4ffcd5b7686a30e8f7b","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","generate-js-parsers":"make generate-js-parsers","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.2.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.5.0","dependencies":{"three":"^0.160.0","comlink":"^4.4.1","@types/three":"^0.160.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.0.0","tsup":"^8.0.1","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.2","yargs":"^17.7.2","esbuild":"^0.19.11","typedoc":"^0.25.7","node-fetch":"^3.3.2","playwright":"^1.41.0","typescript":"^5.3.3","@types/chai":"^4.3.11","@types/node":"^20.11.5","@types/mocha":"^10.0.6","@types/yargs":"^17.0.32","@biomejs/biome":"^1.5.2","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.0","@types/node-fetch":"^2.6.11","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.47.0_1706093370515_0.8969345357732388","host":"s3://npm-registry-packages"}},"0.47.1":{"name":"cubing","version":"0.47.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.47.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"f8b400e8bd7f66e7cb625909d16b506944bd9d57","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.47.1.tgz","fileCount":113,"integrity":"sha512-wWY7I3oI1b3goDOMr5qHtMcVyijKFMF6NCHxEz9+8hcrhJ8DU7p9rSwNrATv0PHZGR7K0HIaqAjw9z0vk/fKwQ==","signatures":[{"sig":"MEUCIGUdvDVMtJa+6xqCKFZlDETz2Uo+pyJHoqmqqF2fVHMhAiEAgiJNOUHOdnxz4CMWpuAM7Bm/0ROPA/V/ij28/ABQRDA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4539074},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"50c841726796f88b18dc1c852a307a04751c35b3","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","generate-js":"make generate-js","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","generate-js-svg":"make generate-js-svg","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","generate-js-parsers":"make generate-js-parsers","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.2.4","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.5.0","dependencies":{"three":"^0.160.0","comlink":"^4.4.1","@types/three":"^0.160.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.0.0","tsup":"^8.0.1","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.2","yargs":"^17.7.2","esbuild":"^0.19.11","typedoc":"^0.25.7","node-fetch":"^3.3.2","playwright":"^1.41.0","typescript":"^5.3.3","@types/chai":"^4.3.11","@types/node":"^20.11.5","@types/mocha":"^10.0.6","@types/yargs":"^17.0.32","@biomejs/biome":"^1.5.2","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.0","@types/node-fetch":"^2.6.11","barely-a-dev-server":"^0.6.0","@web/dev-server-esbuild":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.47.1_1707018438652_0.5355502247978017","host":"s3://npm-registry-packages"}},"0.48.0":{"name":"cubing","version":"0.48.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.48.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"df69451167ffacb1ced0d9d2251072c1567fb98f","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.48.0.tgz","fileCount":113,"integrity":"sha512-7xjpOLm2J+nOdOUlkpEtoqRnGmfgOp6SCiclubl1iNylwHvgM0FSQpJ05TNl43Cw5MvgL5O22hyFT9g2I9tSSg==","signatures":[{"sig":"MEQCICd5cmBZeOhDIPzWeVnrGJUb9q5yAWZdzOaFoCkp9/2xAiAv4wi1SNz89QZgwLN4BSjsPXS/HVKyuIX2O8aUxlEAIw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4605960},"type":"module","engines":{"node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"2f43a8f844ea434cdc2c34e1ac853cf5170dbd35","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.5.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.7.1","dependencies":{"three":"^0.160.0","comlink":"^4.4.1","@types/three":"^0.160.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.0.0","tsup":"^8.0.1","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.2","yargs":"^17.7.2","esbuild":"latest","typedoc":"^0.25.7","node-fetch":"^3.3.2","playwright":"^1.41.0","typescript":"^5.3.3","@types/chai":"^4.3.11","@types/node":"^20.11.5","@types/mocha":"^10.0.6","@types/yargs":"^17.0.32","@biomejs/biome":"^1.5.2","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.0","@types/node-fetch":"^2.6.11","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.48.0_1710657051133_0.9005925195442077","host":"s3://npm-registry-packages"}},"0.48.1":{"name":"cubing","version":"0.48.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.48.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"1d1cd159e1b15869c93c46e2cedb11e6a409b401","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.48.1.tgz","fileCount":124,"integrity":"sha512-XHGzlU2wNcFops9mh3xqvroOTBkxacB+OVI9Fycl1p8zNo7bwbHSG7r5BrAhSRddLc1+eV/uMiRipXS6ZluAlw==","signatures":[{"sig":"MEYCIQDn2JcklRXtd0HxcVy91aX5cbzIwwsilT0eW4vVC209wQIhAP5CxYesdUJiypUpsQ1HgIx899lHg1hucoGo8neZOFPr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4606658},"type":"module","engines":{"bun":">=1.0.30","node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"988c60203c071bbc60aa109232c41cbb27097dcd","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.5.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.7.1","dependencies":{"three":"^0.160.0","comlink":"^4.4.1","@types/three":"^0.160.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.0.0","tsup":"^8.0.1","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.2","yargs":"^17.7.2","esbuild":"latest","typedoc":"^0.25.7","node-fetch":"^3.3.2","playwright":"^1.41.0","typescript":"^5.3.3","@types/chai":"^4.3.11","@types/node":"^20.11.5","@types/mocha":"^10.0.6","@types/yargs":"^17.0.32","@biomejs/biome":"^1.5.2","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.0","@types/node-fetch":"^2.6.11","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.48.1_1710658322543_0.6872304971424792","host":"s3://npm-registry-packages"}},"0.48.2":{"name":"cubing","version":"0.48.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.48.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"ef59d83f6f12c32bf44c0cbb867d12f4fc50e457","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.48.2.tgz","fileCount":124,"integrity":"sha512-YoPzX+BVueiAlpl1BYpdUfj7oGTQXh5hJSWICuCVbyGd2T5zLyXQCVZltS0a7EN3hTMLjnTLk8Uux6Bw8iwZ/Q==","signatures":[{"sig":"MEUCIQDvFgQn0+nKTmVdUrcyHJ1AwseSamFC8jJyGiRfg0jwywIgM640W9xYIcRi2+C5RJqHN0YWMVJQH3tZ0a7CYLWqRLw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4606603},"type":"module","engines":{"bun":">=1.0.30","node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"324f4a1001905190459fdd78e10b0437f68796c6","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.5.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.7.1","dependencies":{"three":"^0.160.0","comlink":"^4.4.1","@types/three":"^0.160.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.0.0","tsup":"^8.0.1","jszip":"^3.10.1","mocha":"^10.2.0","peggy":"^3.0.2","yargs":"^17.7.2","esbuild":"latest","typedoc":"^0.25.7","node-fetch":"^3.3.2","playwright":"^1.41.0","typescript":"^5.3.3","@types/chai":"^4.3.11","@types/node":"^20.11.5","@types/mocha":"^10.0.6","@types/yargs":"^17.0.32","@biomejs/biome":"^1.5.2","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.0","@types/node-fetch":"^2.6.11","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.48.2_1710658510061_0.9366994128003208","host":"s3://npm-registry-packages"}},"0.48.3":{"name":"cubing","version":"0.48.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.48.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"fa73555d6c10d94b388778cd76bcaf395ae14335","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.48.3.tgz","fileCount":124,"integrity":"sha512-bHdmNIbvFkL4tq7YDH3SW5VkXo9YNaAL758Ny91MAdObOLuu6er/eq8jErihXF9w5ljWJB6HRVX9Vjjc2IQR5g==","signatures":[{"sig":"MEUCIFIQp7RRdc7hARHXDw1tED8m+WdIg+c5uwotNFMNuojSAiEAwwWO09n1PNc81sg8RqB5uhAQ3lS1qZ41DaIB/CyIkyY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4643197},"type":"module","engines":{"bun":">=1.0.30","node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"34604f3a827f559e80c7875a98b6821bd1c03ae2","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.5.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.7.1","dependencies":{"three":"^0.162.0","comlink":"^4.4.1","@types/three":"^0.162.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.0","tsup":"^8.0.2","jszip":"^3.10.1","mocha":"^10.4.0","peggy":"^4.0.2","yargs":"^17.7.2","esbuild":"latest","typedoc":"^0.25.12","node-fetch":"^3.3.2","playwright":"^1.42.1","typescript":"^5.4.3","@types/chai":"^4.3.14","@types/node":"^20.11.30","@types/mocha":"^10.0.6","@types/yargs":"^17.0.32","@biomejs/biome":"^1.6.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.1","@types/node-fetch":"^2.6.11","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.48.3_1712253562735_0.22052754789002305","host":"s3://npm-registry-packages"}},"0.48.4":{"name":"cubing","version":"0.48.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.48.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"5e28a8038254c3c0c3c570e4293104d6040589ca","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.48.4.tgz","fileCount":124,"integrity":"sha512-xaHXMSt+DBmdsLIQwnrIToHa7M5a6lARsPSWp+kFdGEM9NEpZo8nIYogvTB1db8zt7p6mjZqKRcc+ThUT8lgwQ==","signatures":[{"sig":"MEQCIHLlXLOKG+WCuXla+dOkxSZvo1yHdUgXzNtXId+hEOsKAiBqc9EyVwW+3N4Mge7R6XfqcXTko3Pq+afQwQGNRCbfYQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4610440},"type":"module","engines":{"bun":">=1.0.30","node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"3539e8ef012086c232820c660071f4145764a0e0","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.5.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.7.1","dependencies":{"three":"^0.162.0","comlink":"^4.4.1","@types/three":"^0.162.0","random-uint-below":"^2.0.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.0","tsup":"^8.0.2","jszip":"^3.10.1","mocha":"^10.4.0","peggy":"^4.0.2","yargs":"^17.7.2","esbuild":"latest","typedoc":"^0.25.12","node-fetch":"^3.3.2","playwright":"^1.42.1","typescript":"^5.4.3","@types/chai":"^4.3.14","@types/node":"^20.11.30","@types/mocha":"^10.0.6","@types/yargs":"^17.0.32","@biomejs/biome":"^1.6.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.1","@types/node-fetch":"^2.6.11","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.48.4_1714498609437_0.008267634564914639","host":"s3://npm-registry-packages"}},"0.49.0":{"name":"cubing","version":"0.49.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.49.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"f2a57cc3004467d0c1a1d420566b8b5680c4ded2","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.49.0.tgz","fileCount":124,"integrity":"sha512-x2xnFt428w8qTQR8GL3/iL6prLPbCD0mZn1rv9XZvKXUDT+p7tuDTGHapOGq1wHAiblv4nYGweXx67ZmQECGkQ==","signatures":[{"sig":"MEUCIQCCnHb2XFaSYBI3wYAoFesnG05BsXW6Dx/XQd21BUbdzQIgX5wtnHsDFUWHToDq0IazQ8tsHXrUhPngNielhiN6PQQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4643175},"type":"module","engines":{"bun":">=1.0.30","node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"dd3a915d0e4097c4a3ad6c280d97d956dd4cda3b","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.5.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.7.1","dependencies":{"three":"^0.162.0","comlink":"^4.4.1","@types/three":"^0.162.0","random-uint-below":"^3.0.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.0","tsup":"^8.0.2","jszip":"^3.10.1","mocha":"^10.4.0","yargs":"^17.7.2","esbuild":"latest","typedoc":"^0.25.12","playwright":"^1.42.1","typescript":"^5.4.3","@types/chai":"^4.3.14","@types/node":"^20.11.30","@types/mocha":"^10.0.6","@types/yargs":"^17.0.32","@biomejs/biome":"^1.6.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.1","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.49.0_1717576077428_0.7940318304414493","host":"s3://npm-registry-packages"}},"0.49.1":{"name":"cubing","version":"0.49.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.49.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"f9f3471c2ea6a41f11d4ced77099270b1158b9b9","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.49.1.tgz","fileCount":124,"integrity":"sha512-bRUp06TgBBEOsA4lYBcju5VPIDgxa7/tFB60BMMaO7xrjQ/wY4WrZ+eZXHjJoK/W61ampDpmhOgxYOSNIFUzew==","signatures":[{"sig":"MEYCIQC79UoTvxhJmUhf5BH3pD1aIbu+nQtReAElnYiyuh0TOwIhAN6/DRQP0Z/YBHgB3lBiKLCanPYZCO04E62qDGNXYpg+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4609681},"type":"module","engines":{"bun":">=1.0.30","node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"950c3e53055dd11b26b9d1985e96c4085f6b2a02","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.5.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.7.1","dependencies":{"three":"^0.165.0","comlink":"^4.4.1","@types/three":"^0.165.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.1.0","jszip":"^3.10.1","mocha":"^10.5.2","yargs":"^17.7.2","esbuild":"latest","typedoc":"^0.26.2","playwright":"^1.45.0","typescript":"^5.5.2","@types/chai":"^4.3.16","@types/node":"^20.14.9","@types/mocha":"^10.0.7","@types/yargs":"^17.0.32","@biomejs/biome":"^1.8.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.2","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.49.1_1719969931910_0.02726418344108561","host":"s3://npm-registry-packages"}},"0.49.2":{"name":"cubing","version":"0.49.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.49.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"e35eed819b3208edd46528839532c092168e743e","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.49.2.tgz","fileCount":124,"integrity":"sha512-TeUEHZQBtg48DMS+XFN8xwjj+McIaDXvRmF/rquivdDDzj3HmLsTaS/xjLN2cH8XI93nhZ1TavJgFKyIln8O4g==","signatures":[{"sig":"MEYCIQCh/KXySLm/35dVh5Cb9fyN7oXpQ0jdMggG0Cc4+H49tQIhAN1LS59/qNvWy1pfQK/DI8G6SctVLBDyTWYVHoUR6Fso","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4609764},"type":"module","engines":{"bun":">=1.0.30","node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"8b39cd9fb37a5feb655bcb394bf4917c11f8142d","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.5.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.7.1","dependencies":{"three":"^0.165.0","comlink":"^4.4.1","@types/three":"^0.165.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.1.0","jszip":"^3.10.1","mocha":"^10.5.2","yargs":"^17.7.2","esbuild":"latest","typedoc":"^0.26.2","playwright":"^1.45.0","typescript":"^5.5.2","@types/chai":"^4.3.16","@types/node":"^20.14.9","@types/mocha":"^10.0.7","@types/yargs":"^17.0.32","@biomejs/biome":"^1.8.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.2","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.49.2_1719970781835_0.1564840100551399","host":"s3://npm-registry-packages"}},"0.49.3":{"name":"cubing","version":"0.49.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.49.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"76547c26059f07f5c376f6afc2716168ca545f4a","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.49.3.tgz","fileCount":124,"integrity":"sha512-lwZGCc7WHkJce+7ouj6hTtBKphGEWszccWkll88hTPLkU/TKEyDvVQ6IcwwtKJqDnHt0RKnXdN7znSP4Mom0VQ==","signatures":[{"sig":"MEUCIQCFFVbBXmo83UVf+Y+qON4ai8owE4YiJ5o2QwsA0EJJawIgFcG27Qp91oM4rJPD0K5igVmA4BhJKT3Sb4Isl/uKPbg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4609818},"type":"module","engines":{"bun":">=1.0.30","node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"bed53e53e632e45d07c9b1032a5cf531d4a351e2","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.5.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.7.1","dependencies":{"three":"^0.165.0","comlink":"^4.4.1","@types/three":"^0.165.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.1.0","jszip":"^3.10.1","mocha":"^10.5.2","yargs":"^17.7.2","esbuild":"latest","typedoc":"^0.26.2","playwright":"^1.45.0","typescript":"^5.5.2","@types/chai":"^4.3.16","@types/node":"^20.14.9","@types/mocha":"^10.0.7","@types/yargs":"^17.0.32","@biomejs/biome":"^1.8.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.2","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.49.3_1720574240080_0.41809219089618677","host":"s3://npm-registry-packages"}},"0.50.0":{"name":"cubing","version":"0.50.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.50.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"d4253ee91474d70e5d707db13b884488689604c6","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.50.0.tgz","fileCount":124,"integrity":"sha512-7m9zHdB1+c2PrKei4Bq+7ViAVk3OTgu91LdAvoyef/oCOTaYV9I5WrWbUzN+hHtDHIfHEOh6/TBVYhMWbaErfg==","signatures":[{"sig":"MEQCIF0jCvREDE7idwjgfvaLD8qmMpxKS8I3IxlwsHiomYVlAiA9EcWYGjk9iVoMFw+Ru9nFMVP+hZOV4pTe8sbz/OHUdw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4576483},"type":"module","engines":{"bun":">=1.0.30","node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"178e64fc3d589516bc4eb5d7689232e9795c735d","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.5.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.7.1","dependencies":{"three":"^0.165.0","comlink":"^4.4.1","@types/three":"^0.165.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.1.0","jszip":"^3.10.1","mocha":"^10.5.2","yargs":"^17.7.2","esbuild":"latest","typedoc":"^0.26.2","playwright":"^1.45.0","typescript":"^5.5.2","@types/chai":"^4.3.16","@types/node":"^20.14.9","@types/mocha":"^10.0.7","@types/yargs":"^17.0.32","@biomejs/biome":"^1.8.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.2","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.50.0_1720766670485_0.9437163866724285","host":"s3://npm-registry-packages"}},"0.50.1":{"name":"cubing","version":"0.50.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.50.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"176209ed328ba3a31df8bb950860144540eb8afb","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.50.1.tgz","fileCount":124,"integrity":"sha512-X1Um2lZHlmwFFJ54hC2nQnZU79Y4SWMhkWMzHvki/NElgJ2fkM7jPQtEs2YQ4FWHGWrNBO8ncTXSEskGbrRULg==","signatures":[{"sig":"MEUCIGXH8O8n/hHnbfNsZEtLivgeft0NUUuiFkfmF5y2NjBMAiEA2cFG+K0ATdtSOESBr+g9l/hi5Qss7IIWOL5HvxsPSn4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4574098},"type":"module","engines":{"bun":">=1.0.30","node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"ea4598f24d43e404a1c92f53cd6a0289a9bc2565","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.5.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.7.1","dependencies":{"three":"^0.165.0","comlink":"^4.4.1","@types/three":"^0.165.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.1.0","jszip":"^3.10.1","mocha":"^10.5.2","yargs":"^17.7.2","esbuild":"latest","typedoc":"^0.26.2","playwright":"^1.45.0","typescript":"^5.5.2","@types/chai":"^4.3.16","@types/node":"^20.14.9","@types/mocha":"^10.0.7","@types/yargs":"^17.0.32","@biomejs/biome":"^1.8.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.2","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.50.1_1721297955978_0.9565215229255866","host":"s3://npm-registry-packages"}},"0.51.0":{"name":"cubing","version":"0.51.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.51.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"0f3f0f47cd1364f81d32cc6fef2138f55bfaaea5","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.51.0.tgz","fileCount":124,"integrity":"sha512-IdnOcQd+O9fhXqMdvatae6O0yZtrV6G1S+Zibo1DKqDEPaqpQ7n2QU+zJq9gAGjG9KsZZM0mNWaExppwTP7KWA==","signatures":[{"sig":"MEQCIDhv9ZZOZbUxYc0F2YxdayfZ9yFTlLpnFPiETV8esDx2AiA9pbcinEX0G9IhfCC4jkk0+Izu/oEKyDuGFkS+cPOgLQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4574913},"type":"module","engines":{"bun":">=1.0.30","node":">=19"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"c29168e509770def2537f282b46112c1b9319f8a","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.5.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"21.7.1","dependencies":{"three":"^0.165.0","comlink":"^4.4.1","@types/three":"^0.165.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.1.0","jszip":"^3.10.1","mocha":"^10.5.2","yargs":"^17.7.2","esbuild":"latest","typedoc":"^0.26.2","playwright":"^1.45.0","typescript":"^5.5.2","@types/chai":"^4.3.16","@types/node":"^20.14.9","@types/mocha":"^10.0.7","@types/yargs":"^17.0.32","@biomejs/biome":"^1.8.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.2","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.51.0_1722165363180_0.2535205946814105","host":"s3://npm-registry-packages"}},"0.51.1":{"name":"cubing","version":"0.51.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.51.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"a37e1ba432544cdf27033b5663711cc233b0923a","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.51.1.tgz","fileCount":126,"integrity":"sha512-DCrQtin5mnbB0oT1JygJwBgDGVuRaXXXLv9qnSbXAWmISiFdDZpzN+4yQS9xhIiDYo9ydp7KfGAw/HJbOM0Jfw==","signatures":[{"sig":"MEQCIHPNW5b6uxWYU8gEpFsXwCBIul69GzkLesYfsxqAb6teAiBDq4J0Mqbzz+tTt48kPehpawlzhGuPK43QfwNFDL9YXg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4662751},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"2ef95f381a881e0920968ae92dcff37b1ceb4af0","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"three":"^0.165.0","comlink":"^4.4.1","@types/three":"^0.165.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20","getbuiltinmodule-ponyfill":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.1.0","jszip":"^3.10.1","mocha":"^10.5.2","yargs":"^17.7.2","esbuild":"latest","typedoc":"^0.26.2","playwright":"^1.45.0","typescript":"^5.5.4","@types/chai":"^4.3.16","@types/node":"^22.5.1","@types/mocha":"^10.0.7","@types/yargs":"^17.0.32","@biomejs/biome":"^1.8.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.2","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.51.1_1725139150230_0.33538542125578874","host":"s3://npm-registry-packages"}},"0.51.2":{"name":"cubing","version":"0.51.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.51.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"8c8eccfe2f5441749f9059da4afe0d5338cea72a","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.51.2.tgz","fileCount":126,"integrity":"sha512-hKIK9eqbDO0b7DJnoAcx9fLP2QwQnS7IjNM+d/Hepv17pRjOKQkyKGWBVmcQm/UeubKFaRyhK5Bb4Q7/Bf1Wvg==","signatures":[{"sig":"MEUCIQD4/qdEy390jTyrixeLYG8AVe7XBMhNlQ1FJ7NJNsCJ2wIgMXH2RAHDHd1LWmMcT75GvWH5cWtO9QPzz7Dwp6ObjHE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4662790},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"dc722546c6ec3eb56f328c858a28a5829c7ca499","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"three":"^0.165.0","comlink":"^4.4.1","@types/three":"^0.165.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.1.0","jszip":"^3.10.1","mocha":"^10.5.2","yargs":"^17.7.2","esbuild":"latest","typedoc":"^0.26.2","playwright":"^1.45.0","typescript":"^5.5.4","@types/chai":"^4.3.16","@types/node":"^22.5.1","@types/mocha":"^10.0.7","@types/yargs":"^17.0.32","@biomejs/biome":"^1.8.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.2","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["getbuiltinmodule-ponyfill","barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.51.2_1725919962093_0.36954617517766586","host":"s3://npm-registry-packages"}},"0.52.0":{"name":"cubing","version":"0.52.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.52.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"ca9a18be1748face0d98800413200ec255a71694","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.52.0.tgz","fileCount":126,"integrity":"sha512-iSdZWWxf6Qe8dB0DjTvQopDdWCgPvNqg3DQFCIdEervhoPWmDv8PEdUtlJ402BvZFZOAJUlgPpj56rhamikkwA==","signatures":[{"sig":"MEMCHzEHwD+9Li8hXfJ0moWqxNH8jUdAfmhqaSVagG4xJYMCIAwELSG/1m14kHNwwhlpRHq1os8JVH03paeeILn0IJ8/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4673296},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"e8213d189f2d97f8fd7144aa34e0f1333894eea2","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"three":"^0.165.0","comlink":"^4.4.1","@types/three":"^0.165.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.1.0","jszip":"^3.10.1","mocha":"^10.5.2","yargs":"^17.7.2","esbuild":"latest","typedoc":"^0.26.2","playwright":"^1.45.0","typescript":"^5.5.4","@types/chai":"^4.3.16","@types/node":"^22.5.1","@types/mocha":"^10.0.7","@types/yargs":"^17.0.32","@biomejs/biome":"^1.8.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.2","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["getbuiltinmodule-ponyfill","barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.52.0_1726281202582_0.5924741685921211","host":"s3://npm-registry-packages"}},"0.52.1":{"name":"cubing","version":"0.52.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.52.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"375baa32a8eec1d618ee1321d7d8e768c3cd1e97","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.52.1.tgz","fileCount":126,"integrity":"sha512-UcNTTFi4P7bx7/FARZB76guHuFLREdu1Sbs0ICSgfetG944mhyQ2L43vR/51Id/qYHa3FT1u1YP10MgiGSCZCg==","signatures":[{"sig":"MEUCIQDqhx08eOXWhNgPtR5fQr/H+iW5g2iGVDdz7VmKQwdDYgIgZxGohBbkaG5gpU7YpP3uUOub0CfXvGA+krT23wkqXKg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4673712},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"26c2eb1c3f00618b65ed3fde18c38f5ce277c03f","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"three":"^0.165.0","comlink":"^4.4.1","@types/three":"^0.165.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.1.0","jszip":"^3.10.1","mocha":"^10.5.2","yargs":"^17.7.2","esbuild":"latest","typedoc":"^0.26.2","playwright":"^1.45.0","typescript":"^5.5.4","@types/chai":"^4.3.16","@types/node":"^22.5.1","@types/mocha":"^10.0.7","@types/yargs":"^17.0.32","@biomejs/biome":"^1.8.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.18.2","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["getbuiltinmodule-ponyfill","barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.52.1_1726358501094_0.501888819559611","host":"s3://npm-registry-packages"}},"0.52.2":{"name":"cubing","version":"0.52.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.52.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"b63f6614f93ba0c57923d7d9776245e0778ea243","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.52.2.tgz","fileCount":126,"integrity":"sha512-i5VZAlPQU221x8O4fRwnShERNOpBUOMid2Fqjw629aU3PyOsKDCuqwCY/ge/yKeNnhLXgJbmikQAhBuQlj9QqA==","signatures":[{"sig":"MEQCIE/FyljcEYSxv9TNq4XrRxXACPFQD7QX0mYCI017LlXpAiB2v8h+8gmRocd2vY0aoiWwkdQ0hodDbF7HbDTsTSM0nQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4681679},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"f5cec21a5a80459f5d254b5a310a80cf2d551227","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"three":"^0.169.0","comlink":"^4.4.1","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","yargs":"^17.7.2","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@types/yargs":"^17.0.33","@biomejs/biome":"^1.9.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["getbuiltinmodule-ponyfill","barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.52.2_1728275172926_0.9015008287737301","host":"s3://npm-registry-packages"}},"0.52.3":{"name":"cubing","version":"0.52.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.52.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"f6e6d3e050e931bb0c79b8e87e6ed0eb7cecc25a","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.52.3.tgz","fileCount":126,"integrity":"sha512-AaTstvUEjwEf7VrSz54xN9RVmm+4L5m63jB3eVahgjgSOmz1ij9+i5eOXgh+oXp9saE6IsdWxbM+AASnJn5O/g==","signatures":[{"sig":"MEUCIHI6k7FS1ZgcGLb2C4lLTQ7f/+PPctLZp58U9MQaCfhxAiEAjEUoCNVsErpnNSYYXrYOxrepsDST3myLd36K8I2Rj+w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4682267},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"c9c52f7155cf13b2d03619c3b735105026a627e6","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"three":"^0.169.0","comlink":"^4.4.1","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","yargs":"^17.7.2","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@types/yargs":"^17.0.33","@biomejs/biome":"^1.9.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["getbuiltinmodule-ponyfill","barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.52.3_1729108964339_0.3336692725103636","host":"s3://npm-registry-packages"}},"0.52.4":{"name":"cubing","version":"0.52.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.52.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"159247ff288d404423a870474d78806690970787","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.52.4.tgz","fileCount":126,"integrity":"sha512-U1JwVgCNMQIvtj6f1XGB/nLtXP1tZ0YqStPrV/qpakJAPueVGEupb1UsHQfuusVaCo1JQKR4ss+VUQgcfZrZ0w==","signatures":[{"sig":"MEUCIB9WD5x0t/ycxt3uVbQDG34vOdujTNLKNoRxRygNNpSSAiEAmMMlxXRJiV7L3bJylWweAUvbBXx3+eAsZEMY7vhYY8M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4686534},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"013ffc43ed417962d0c7e703f265c4770eb4d411","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"three":"^0.169.0","comlink":"^4.4.1","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","yargs":"^17.7.2","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@types/yargs":"^17.0.33","@biomejs/biome":"^1.9.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["getbuiltinmodule-ponyfill","barely-a-dev-server","esbuild","jszip","@biomejs/biome","yargs"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.52.4_1729792950879_0.06704783953998694","host":"s3://npm-registry-packages"}},"0.53.0":{"name":"cubing","version":"0.53.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.53.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"bf61c1ae1e2c76d64f256d1be8bfd08490f900ca","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.53.0.tgz","fileCount":126,"integrity":"sha512-jjInhzhSnyY0+EHFKcIXIGE2WUCwmogQbh91YiS3n8FIEYB3/WBQEOCRa1ytZMeLip0i1oItUqNecKSOAblt9Q==","signatures":[{"sig":"MEUCICCors8ZbNk6RB4Krv5gOqcbEuS6dY80HppFIPElLchKAiEA4Bq1jo3GyjowibyTeOlM6JHsaoRZlnehQpW1YI9lTXE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4689472},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"07d1002449b9c8f23361b7092780e66e9bdf4fe1","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"three":"^0.169.0","cmd-ts":"^0.13.0","comlink":"^4.4.1","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["getbuiltinmodule-ponyfill","barely-a-dev-server","esbuild","jszip","@biomejs/biome","cmd-ts"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.53.0_1730164105353_0.12034658942239407","host":"s3://npm-registry-packages"}},"0.53.1":{"name":"cubing","version":"0.53.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.53.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"cc59aff1a8df8ea83ea85b5becae718583ba6523","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.53.1.tgz","fileCount":126,"integrity":"sha512-MrYOzJYE+pXpGjMYCwjhtVBHlsMsBLtMjrU3My37QCNq8mwjIxLKgzb9JBQS+G8mRl5vHPUxQs6DzCVixmNPuw==","signatures":[{"sig":"MEQCIEp1Z+lmBXDrsBWXDrre1qV9mrRF1AagOjTiVnDrIPCWAiBHdufQBlgWPyIQEFgEMT6m4w/iMHPDOTxVYNz3cpfwWA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4689586},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"71996a96890aa7c0e8239d7b85ab298bd6ca8485","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"three":"^0.169.0","comlink":"^4.4.1","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","cmd-ts":"^0.13.0","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["getbuiltinmodule-ponyfill","barely-a-dev-server","esbuild","jszip","@biomejs/biome","cmd-ts"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.53.1_1730239472364_0.8956663191201524","host":"s3://npm-registry-packages"}},"0.53.2":{"name":"cubing","version":"0.53.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.53.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"5e7007aa31e745cb3a15b200d513da910e722fcd","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.53.2.tgz","fileCount":126,"integrity":"sha512-OfnjPVTDOpubc71TweYx8cSegDnGmbEFRtffnlv1WSgkccSH2GSvrIBkWzZB8OVujis0SW7jz/plr4LL7v/q+Q==","signatures":[{"sig":"MEYCIQCljVrqf2icjpsrYVtFZTqZ7oVgg8BKYrhtRPKdBJ2gEgIhALiXLGIUvcLGBBoZOs0J3nloC28H1Q/5gGOSQU8Y2JQo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4690382},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"a9ad0c8733a6c155519e03c530cde6946eabf780","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"three":"^0.169.0","comlink":"^4.4.1","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","cmd-ts":"^0.13.0","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["getbuiltinmodule-ponyfill","barely-a-dev-server","esbuild","jszip","@biomejs/biome","cmd-ts"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.53.2_1730250923598_0.5690042698464524","host":"s3://npm-registry-packages"}},"0.53.3":{"name":"cubing","version":"0.53.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.53.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"77176ab4350dad543bf10929e322d29f90b8d6a7","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.53.3.tgz","fileCount":128,"integrity":"sha512-14IwQmqs5Adt7Dqg3OBUZZ7ual0ALET7dX2qzpIDE3JAOI+ZaN54eVHeXMihgT+T0Lam+iFNU6NbBwhvfRO09Q==","signatures":[{"sig":"MEYCIQCEtCsG9BUaBIWDwlptV6zMzotjWRC0/O/CKyFQxf6GmgIhAKaG6K1hO9yjUotHqoe0gPLKbOHh+UhF73aLZZPWyVxF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4690856},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"fdbe7e48ddaed4e8fb5922fe0f29c9e55f52f1f1","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"three":"^0.169.0","comlink":"^4.4.1","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","cmd-ts":"^0.13.0","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["getbuiltinmodule-ponyfill","barely-a-dev-server","esbuild","jszip","@biomejs/biome","cmd-ts"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.53.3_1730252592273_0.7870829691093333","host":"s3://npm-registry-packages"}},"0.53.4":{"name":"cubing","version":"0.53.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.53.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"4648a843b84e734665ad3be7b5248a9fbd31911e","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.53.4.tgz","fileCount":128,"integrity":"sha512-/7r4xUKRPtQcGc7xYKd6IIco0g5R+40HeEDULtEnva0r1dCurrp456Np5oWPkLBMZUF/OUKHDNJ47njwhqGH/w==","signatures":[{"sig":"MEQCICT5yE6EtsO84wdEtDq9WASlyaCoc2sj/0qF87/0hqrGAiB4MVXPloaQDuTGtOmMU+rmzS7LoKZSrMAJ9VTOsFF++Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4690879},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"ae4fc193bf4a1061a980da46d0ad2fe6c2f7f5e9","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"latest","typedoc":"^0.26.7","cmd-ts-too":"v0.15.0","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["getbuiltinmodule-ponyfill","barely-a-dev-server","esbuild","jszip","@biomejs/biome","cmd-ts-too"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.53.4_1731104286038_0.5573265392694862","host":"s3://npm-registry-packages"}},"0.53.5":{"name":"cubing","version":"0.53.5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.53.5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"5b6e7ada0c8605bbecb2f70db71929b554d58971","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.53.5.tgz","fileCount":128,"integrity":"sha512-bkCadsazy+t6BMlg7hQBsThOyRa6OllVUDw+MgaUStYgFiG25VujM0RoVikidFV48jakNJ9oqwFzis0hPDPbGQ==","signatures":[{"sig":"MEQCIBHBWSx7mbDpDY9X4mXMkOqfgNBmLoiKgvyc7zd+R2R5AiBQmpFBXY1cR1s5ouKMQKYjDDEi/9zvSnFX1czLXl4zKw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4690949},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"683d390134c858cd54ed47ac633c69c6743eb186","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["getbuiltinmodule-ponyfill","barely-a-dev-server","esbuild","jszip","@biomejs/biome","cmd-ts-too"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.53.5_1731965810114_0.6741968696378025","host":"s3://npm-registry-packages"}},"0.53.6":{"name":"cubing","version":"0.53.6","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.53.6","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"556058bd55e164f0565952753017707e2d1c6ea2","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.53.6.tgz","fileCount":128,"integrity":"sha512-KgLYyHDlYZ+H2Ynhug0YTbfDgb4TslcaH/Txv6KGGeQMj37Kn+OrhYSH1GExU4LYTjNVGGMmdzmWm2Z2wLIDDg==","signatures":[{"sig":"MEQCIBaKGrvPxx3p8OdK7tOzofYLVIgZNuU/cgQMBcW9TEz2AiB5f+bBDTxM9R3D1JqjC4HcuF/voAHcWyANHdsR+SsLWQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4691213},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"8cb7512fc8aa7948a9b92ab2063a81a8fa975f1a","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["getbuiltinmodule-ponyfill","barely-a-dev-server","esbuild","jszip","@biomejs/biome","cmd-ts-too"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.53.6_1732471598518_0.999332014383516","host":"s3://npm-registry-packages"}},"0.53.7":{"name":"cubing","version":"0.53.7","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.53.7","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"bbbb8113a6a432f66c41f130b55df92838e461c3","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.53.7.tgz","fileCount":128,"integrity":"sha512-qOx9urVBRPO7XT0Fxt0WdKoeAfz53wOvyJ9CIKLba3Esfz9+zzRgWalrvyXEO9h41hD4tpheS+p9jIkIHbmXsw==","signatures":[{"sig":"MEQCIFI/Iekcr0vV0yMK7dyeRtYkWb2V6SLGvrlck+WBXZd4AiAmzjcroWidMZETp5gfirnllOGQYfiAv0ylSQ2FMb/ZWA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4692806},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"132d8e09c57188839368fdad4fe3e251cbcacd6b","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.9.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["getbuiltinmodule-ponyfill","barely-a-dev-server","esbuild","jszip","@biomejs/biome","cmd-ts-too"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.53.7_1732755321140_0.6674375659111094","host":"s3://npm-registry-packages"}},"0.53.8":{"name":"cubing","version":"0.53.8","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.53.8","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"fe923c76260ed403cece11ec050cfb9080d284c4","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.53.8.tgz","fileCount":128,"integrity":"sha512-91lvUjWMpVj7RYRKscnFz37Tfyxllnno1Xv9VXz8pmui6NomlXOR5nQjl2xQ4qriCCq2WxP3H2ocqs8EIHph1w==","signatures":[{"sig":"MEUCIQC+UIQSPXn9kJuyi7HWas0GaxAwQrihnKFrhzmHpKTNHAIgFcp3WYUtX2P9KxdlVxdiFFngmYcNT9tbVd8fJTRs4us=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4693846},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"097ee89f34fb06ec10911153c291b8d0258138cf","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.9.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"minimalDevDependencies":["getbuiltinmodule-ponyfill","barely-a-dev-server","esbuild","jszip","@biomejs/biome","cmd-ts-too"],"_npmOperationalInternal":{"tmp":"tmp/cubing_0.53.8_1732957130642_0.2626155491474922","host":"s3://npm-registry-packages"}},"0.53.9":{"name":"cubing","version":"0.53.9","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.53.9","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"99ef13fcc203777cd53338669ceb7f47b1d65b28","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.53.9.tgz","fileCount":128,"integrity":"sha512-H1mBDdjdoXQ+TDzS94TexgZKb8AS0zQGXfJ8ee2ESMcsxh8y8XjANPEAtxd2jCqlYZcbHfog+hqKz0iGUgCiKw==","signatures":[{"sig":"MEUCIQDOKclLhToiPQ91ajjThkrAO6iM9BpOUxVT7IPhXhTEIwIgZZT4PUAicf6BLDovMGyn118LMB1PY80rb5oA6MuxBhM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4739375},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"92881b0da681e894cbb60bca370e81ac7566633b","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.9.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"23.4.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@cubing/deploy":"v0.1.8","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.53.9_1735785310853_0.5344063878401661","host":"s3://npm-registry-packages-npm-production"}},"0.53.10":{"name":"cubing","version":"0.53.10","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.53.10","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"8d804f52f43243b3926ddca1da5d87f09e321356","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.53.10.tgz","fileCount":128,"integrity":"sha512-tDOoY9v/fXZzDhL6MspM3pH2xOfzXfWa9agsAMGj7TllNQ6KBy49tr30rD2OGbcbr99nj04xU/fCGMhVw7wC8Q==","signatures":[{"sig":"MEUCIA32yMndD273RsVvLs8PaxXiRi1CxirXzKFROylCzmsLAiEA2WaTt6OCIBb1PrLziEnsUf7eT3yIzHU5qbrZIuRyUok=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4760022},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"7c823cc11677411be9beb9ac8c76531526d1caa2","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.9.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"23.4.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@cubing/deploy":"v0.1.8","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.53.10_1736002264116_0.14197441128473165","host":"s3://npm-registry-packages-npm-production"}},"0.53.11":{"name":"cubing","version":"0.53.11","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.53.11","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"a6ecedb4176635799cc0535270fbd080e6a92173","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.53.11.tgz","fileCount":128,"integrity":"sha512-C5d8Z+wd1nJFpTvBtxcHZoD3s9NgSwcv8wLVbL0MMws7ee9BcWR7jPlPJck7VYXoWN1HeEl1P0PUJrQ/rek10A==","signatures":[{"sig":"MEYCIQDG/uuf9EY74id45snwCO/z1iTFHrmrLHZgYfiEHZVp5AIhAJJx8G2OjlTbUMf83tmvemidiwFhnMDFrp4aCgjw8qJp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4759952},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"e25a6eeed99051642ba4ac3c17c209cc992cf2a2","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.9.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"23.4.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@cubing/deploy":"v0.1.8","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.53.11_1737032762287_0.40199508902020353","host":"s3://npm-registry-packages-npm-production"}},"0.53.12":{"name":"cubing","version":"0.53.12","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.53.12","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"0b1a361d5cd7bebf4a904f3a8afc76c7b907aa50","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.53.12.tgz","fileCount":126,"integrity":"sha512-UpmEmuu5v5wRSUK5pYjvirVWuCAtUuLwe9iX9pOrLbstuEl/Jfsvizd+OpOhDLoSEm9p8TIky9+QMYu6W1G85w==","signatures":[{"sig":"MEUCIQDp+hfkP4SvenDKc2k82HZErDcw163FtHawd9gHAE2VPgIgVgtEZwHgPISKmV7PjyTwJ+SkKxDp7SnrJARxXab4ni8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4866965},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"b5dc1f53a546134603415e51218e588469af1eb4","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.9.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"23.4.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@cubing/deploy":"v0.1.8","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.53.12_1737378229799_0.873257539152156","host":"s3://npm-registry-packages-npm-production"}},"0.53.13":{"name":"cubing","version":"0.53.13","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.53.13","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"e2a62e2e1294110948e73f6d445a735cd6b3c756","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.53.13.tgz","fileCount":126,"integrity":"sha512-itgOHU0bCCADoel0aEfcvUKymNZEAZJgNltrEKWYwYSIgux500m3Z4+X071rqqZjQnxNQGUT4cfHqXYHEGx5/w==","signatures":[{"sig":"MEUCIFlqxU3dAOKdq2tyIwIOpjHpy9bCNP9xs+/0UfoiH78UAiEAg5jWEQ7q2AMvnV8SqJ2FoUqFjGPOYFGpC4BqxKlCapE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4868784},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"05cdc7e15bade60d8e814243789c0a8726ff90ed","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.9.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"23.4.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@cubing/deploy":"v0.1.8","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.53.13_1737408183058_0.3914536683753784","host":"s3://npm-registry-packages-npm-production"}},"0.53.14":{"name":"cubing","version":"0.53.14","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.53.14","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"2dca968222ed6ec15a80698e1281c27f097ef900","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.53.14.tgz","fileCount":126,"integrity":"sha512-eY2PRWaLiPMbX6piODTgClm27vYP1vWkkRGA/uSTQsuDXjL+ZvqSpJHO4ftIny4SIjmggB8OD7Jv1DLN810cFg==","signatures":[{"sig":"MEQCIDn8WD/VzjaY4ifcQn5+VLfuhRjVkA08jF2T4viYcCO+AiBkvGy8/mKCV1pldpro9Y+ZypwhZApUFKgLojtVWb4p0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4870677},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"927ecf65fdfe0ab5caaf4ecf03a0e15dac46c480","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","quick-setup":"make quick-setup","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.9.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"23.4.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@cubing/deploy":"v0.1.8","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.53.14_1738401579222_0.4949045169113093","host":"s3://npm-registry-packages-npm-production"}},"0.53.15":{"name":"cubing","version":"0.53.15","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.53.15","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"7843364077b5ed91ff7590b0d5e9791c05863f4c","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.53.15.tgz","fileCount":126,"integrity":"sha512-ijugwbdb231ChOHZ9wwsqXRLP47jjOKPfJO6LLobiOTZKIJFNdAaiV9vG4c+dwiGf6Wllfj0VHOUgYclovzuzw==","signatures":[{"sig":"MEUCIQCpHpYFdVluv73N5ePDunqlZ8RtO1nfMsXo6F9sLQp/NQIgRpUOp6zmL/MKeVfglIqzxiPK/2hnPm94+akRjPejDog=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4885128},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"5bd3b086338ebf9055b0f528cdef20e6ca3f65af","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.9.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"23.4.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@cubing/deploy":"v0.1.8","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.53.15_1738414089102_0.37094137294475327","host":"s3://npm-registry-packages-npm-production"}},"0.54.0":{"name":"cubing","version":"0.54.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.54.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"5fb06b5f40b2629e7d5238539bc33747f9c6b439","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.54.0.tgz","fileCount":124,"integrity":"sha512-d5OaJOJphMsIcBY5S8KuxbxJ5sc1X6+/3vORdGHOUDTk8e1gOCt99yLAiu6WYt8S6XFGo/JcfVYgdVpcfk/AWg==","signatures":[{"sig":"MEUCIAzXAeQHy07C8I/z3J8eVYsENaji+gfkfeKXD6mQeXAlAiEA/J9yPgAM4tUc2kuxnQabxZCNKYWL7vxIFFL4Nl1iI+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4835944},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"3d020d5d5d1ec51e5c18371dc4cb25137bb5c179","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.9.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"23.4.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@cubing/deploy":"v0.1.8","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.54.0_1738486800347_0.6117285138257311","host":"s3://npm-registry-packages-npm-production"}},"0.54.1":{"name":"cubing","version":"0.54.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.54.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"6104af11ecb9720ef927f5a57cb0e85079a32a72","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.54.1.tgz","fileCount":124,"integrity":"sha512-G0hOnfEjsXdNh4o0Gl1ImtqA7kby94t+7GJWMsJqOpLNFQXBdgCbYuMs048q1h9McqGxe9p8qQquZWGd8vRIGg==","signatures":[{"sig":"MEYCIQCe//tnK3KpNH16/YnbyF8RJ+RNnAz/fUS1YJ9zzg7kkgIhAIolxcpc6AcRXcoBg1ZjCkPpp7dtlH1wwfg+DcQHFeEP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4836106},"type":"module","engines":{"bun":">=1.0.30","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"3e70bd53288e30f2e1bf9fa21a89001cec7d595f","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.9.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"23.4.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"latest","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@cubing/deploy":"v0.1.8","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"latest","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.54.1_1738488862347_0.41861853826282847","host":"s3://npm-registry-packages-npm-production"}},"0.54.2":{"name":"cubing","version":"0.54.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.54.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"a2540305818a191c1c81022f4c046830f87256dc","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.54.2.tgz","fileCount":124,"integrity":"sha512-tGeR4MesX+FhGfyodgnDN80RBqeHQTwal5fX/UkiJs4JF7OjukwyxD/sGd/niHWCj1WiFHwcIIDFsmHbJkw0bQ==","signatures":[{"sig":"MEUCIFtiyGEvFGVDJ7Vqudd+4/eSJqAEyf8jqqxvadlKGG3eAiEA1mZFG1BMRI3L1OTvPECmghWn/gkQCOhKG/6BRhHPAWI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4839344},"type":"module","engines":{"bun":">=1.2.0","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"3f9b00a3c36f1f2d13a63a8ecd0e04dfdb942fad","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.9.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"23.7.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@cubing/deploy":"v0.1.8","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"^0.7.1","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.54.2_1740373523268_0.8775424926917033","host":"s3://npm-registry-packages-npm-production"}},"0.54.3":{"name":"cubing","version":"0.54.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.54.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"7502a222c213df283a01d7c4ee5997cefe162fff","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.54.3.tgz","fileCount":124,"integrity":"sha512-hXtchE2R/JyTn9cPqsLqdiinQlSgB/9Mz6EoRn7eSAKLicX+iS5DYom9315j1jhSfCkyRgWgCWvmpLf/IIyrng==","signatures":[{"sig":"MEQCIAHtJlNJIQWFcsGAd8wppYZa6m1RsV4oEUavPBqZxOx9AiAifVLdyoMj3MB7nu3mWtTzoMIAyaJ/N7CfX79rv/tW8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4846969},"type":"module","engines":{"bun":">=1.2.0","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"fc1fbbc4780293a00916f8e79268212e01d5c5d8","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.9.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"23.7.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@cubing/deploy":"v0.1.8","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"^0.7.1","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.54.3_1740791238935_0.13115159817193733","host":"s3://npm-registry-packages-npm-production"}},"0.54.4":{"name":"cubing","version":"0.54.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.54.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"82021dc680f26ddd4a4bccdb3c2f13d99c4ee4f6","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.54.4.tgz","fileCount":127,"integrity":"sha512-uT/FEWNuI0nvsJ33DC1RRb6j5151dPrejjkTEjhExZvKdqdCBSMFFLAtNRNeIxvwJ6r2+f3QEYk6slnfp37nwA==","signatures":[{"sig":"MEQCIC3xR5gBFnUHMIQ5+o5o4vlr5S4eHQvzbsBT7tv+7ChhAiAvxKdCLRNkHEjjP1o+4eIo5WIrCk5b4vHCmw1HSHcS0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4851458},"type":"module","engines":{"bun":">=1.2.0","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"f05aafc84aa3613f3b025f146e7ed3d23b488be9","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.9.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"23.7.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@cubing/deploy":"v0.1.8","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"^0.7.1","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.54.4_1741610553541_0.7043379025716865","host":"s3://npm-registry-packages-npm-production"}},"0.54.5":{"name":"cubing","version":"0.54.5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.54.5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"941e641cd72ed80a419738e50a0f913c554b6188","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.54.5.tgz","fileCount":127,"integrity":"sha512-hdOerDptY8g9fIDeWGOzcJwEcjfMIwXobtEqtNNALe3mQP34poLXB3N+2xDdcKUCsiDj9uw7SAVZKYIeXt1fgw==","signatures":[{"sig":"MEUCIEDcl9FoukYWdorZVyPq4rxkbNNvvYJnnx2TddR+1Wx9AiEAxolOUfA9mpqaIi0GS3Yhc3JpbGgtQzUm6af4TTfHf6o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4930924},"type":"module","engines":{"bun":">=1.2.0","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"e1636c188586e27377e857c62c206d520e923a51","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.9.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"23.7.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@cubing/deploy":"v0.1.8","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"^0.7.1","@web/dev-server-esbuild":"^1.0.2","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.54.5_1742808021776_0.8707126402642991","host":"s3://npm-registry-packages-npm-production"}},"0.55.0":{"name":"cubing","version":"0.55.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.55.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"ef67d81f0f63fd38939ff0e3e48ec03521fc81c6","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.55.0.tgz","fileCount":124,"integrity":"sha512-1bUKQPiNijUf5tHXfZcWwy7Km/z2SUFKbM6fA35149+SLJxVWSyXlhdZpsaekponG7qAPMQ1wGHD0w/Xq0tDPw==","signatures":[{"sig":"MEQCIBLYwu3Z0BjoXsmr6KQ9VIvYKVYheldQh9XhGPZjtXK2AiAH6uCpfXga/6nKQZ6nWxOX+LeXszXeI0Hc6bCxqJU5Hg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4845817},"type":"module","engines":{"bun":">=1.2.0","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"0217e39ed89d826917caedba014fe1a9a856e777","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.9.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"23.7.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@cubing/deploy":"v0.1.8","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"^0.7.1","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"v0.1.3","getbuiltinmodule-ponyfill":"^1.0.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.55.0_1742864470898_0.7288466301190895","host":"s3://npm-registry-packages-npm-production"}},"0.55.1":{"name":"cubing","version":"0.55.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.55.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"26079b0f2b2d4cb7ebbf0f143d08ef1d2c93e211","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.55.1.tgz","fileCount":124,"integrity":"sha512-E1NyCofkTfO+kSm93H9pf5w7jQQhFlfmScMfH9EL0kkSsAETa52JDid4yBxNLdQhW19t/hOx4V93CuNK/2L5ZA==","signatures":[{"sig":"MEYCIQDjA7ZVkm2op3/N/OQYsNMZZpHihaGxIapvwDonh9B2eQIhANy80vMbRw3Zb3Kk92e+mYqVFUD0jPKx1N03wvJKQq80","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4845728},"type":"module","engines":{"bun":">=1.2.7","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"cbeeacf99081f926c7f95c68890c875b7b171a9b","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.9.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"23.7.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@cubing/deploy":"v0.1.8","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"^0.7.1","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"v0.1.3","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.55.1_1743306128855_0.6483888222893479","host":"s3://npm-registry-packages-npm-production"}},"0.55.2":{"name":"cubing","version":"0.55.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.55.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"187b4c7e5c4d9ae72c0adcd8f7ab93b01623032d","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.55.2.tgz","fileCount":124,"integrity":"sha512-zXVzimv+OzLl8LTme7BOD8DwVgzljZp3/i2d0E8BlYSPDIRBMbUBSqkT0R5ElZUf9QU9xt82xODgBHXBhp6W8Q==","signatures":[{"sig":"MEUCIH7OnBRtPF8Z7F1yXvo2GeoXyrpR8nJqznwYCUiYF+zUAiEA4dmnuD/4FeeKx/QpyDP9t+B7tm0zIT/tGT5nKId9jxA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4955375},"type":"module","engines":{"bun":">=1.2.7","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"a4c7a5d8e0c7003f2c9b4328fb6b70c20aa07779","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-dist-sites-experiments":"make test-dist-sites-experiments","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.9.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"23.7.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"^0.26.7","playwright":"^1.47.2","typescript":"^5.6.2","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"^1.9.3","@cubing/deploy":"v0.1.8","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"^0.7.1","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"v0.1.3","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.55.2_1743308582215_0.40426555940904496","host":"s3://npm-registry-packages-npm-production"}},"0.56.0":{"name":"cubing","version":"0.56.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.56.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"5b085154e9e65e6c1aec59c767cf57777cd3611e","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.56.0.tgz","fileCount":124,"integrity":"sha512-8CabQLEkWA2iCy4LeyCPN5fCUnfjmz3QJ/Zo6EInEdPX/X/QNHbLhjljfumNHFoM234davupDj/i6D+ml7wAVQ==","signatures":[{"sig":"MEYCIQDxQ4zxoQ2UnB1aEeC2c9S2UtAB7yAfR6+KEIMT5dUMagIhAJ+FM0fZZTr0SrWAyfPIQMi0KVfuU9m3DEoTENpb7yru","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4951111},"type":"module","engines":{"bun":">=1.2.7","node":">=20.16.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"8f7d71666f92794160ebc3ffb918620bb946b9b0","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","test-src-tsc":"make test-src-tsc","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-sites-twizzle":"make test-dist-sites-twizzle","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"10.9.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"v0.28.2","playwright":"^1.47.2","typescript":"v5.8.3","@types/chai":"^5.0.0","@types/node":"^22.7.4","@types/mocha":"^10.0.8","@biomejs/biome":"v1.9.4","@cubing/deploy":"v0.1.8","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","barely-a-dev-server":"^0.7.1","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"v0.1.3","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.56.0_1744908416132_0.6029237685111906","host":"s3://npm-registry-packages-npm-production"}},"0.57.0":{"name":"cubing","version":"0.57.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.57.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"f8e0b3a5e85649ae8e612285e0c36a740b8412ea","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.57.0.tgz","fileCount":126,"integrity":"sha512-0u6acgojeEVNskB7r0nshejiGSbb2horyGLur9116snxXKEPRw9F+yVyiJWreF0+7i8s9QTk7uGdP8u8lb6ugQ==","signatures":[{"sig":"MEUCIQDa10zLQezkjCcOVJS3AOUZP9ZQ78+UfI3qyZsg7wOhXwIgY2uzq3J3VKXz5YTkRNkzTkq5z7fsnutFRx+tcyzOZRE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4979863},"type":"module","engines":{"bun":">=1.2.7","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"5b9dce751547757a9d05ada0c8560145ad2e204d","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","bun-required":"make bun-required","test-src-tsc":"make test-src-tsc","check-engines":"make check-engines","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-sites-twizzle":"make test-dist-sites-twizzle","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","actor":{"name":"lgarron","type":"user","email":"code@garron.net"},"email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.3.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"v0.28.2","@types/bun":"^1.2.11","playwright":"^1.47.2","typescript":"v5.8.3","@types/chai":"^5.0.0","@types/node":"^22.15.3","@types/mocha":"^10.0.8","@biomejs/biome":"v2.0.6","@cubing/deploy":"v0.2.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","compare-versions":"^6.1.1","@cubing/dev-config":"v0.3.5","barely-a-dev-server":"v0.8.0","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"v1.0.0","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.57.0_1751786762454_0.307856293137869","host":"s3://npm-registry-packages-npm-production"}},"0.57.1":{"name":"cubing","version":"0.57.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.57.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"0b482109d087116990ac9ed6fc4c56856632551d","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.57.1.tgz","fileCount":126,"integrity":"sha512-IPMOlVpGGiptjp60qZWJqFcI9Z/5QhMQtyGAP9CEUcH76z2ninTOa44SYXeLbz+Z7WtZ1v/uEnEe6c0qPeiJHg==","signatures":[{"sig":"MEUCIEEYXLU5iYOpRIoOw5vP8+4aBVVFWqYwjks2ZpCqdgNtAiEAsM0AFfcDg00rbW5Vdf0E/Fmtcuuxcv5v05Hw5cikwuI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4979625},"type":"module","engines":{"bun":">=1.2.7","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"ddd376b746ef6323da2068b1bc88f73e5956910d","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","bun-required":"make bun-required","test-src-tsc":"make test-src-tsc","check-engines":"make check-engines","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-sites-twizzle":"make test-dist-sites-twizzle","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","actor":{"name":"lgarron","type":"user","email":"code@garron.net"},"email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.3.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"v0.28.2","@types/bun":"^1.2.11","playwright":"^1.47.2","typescript":"v5.8.3","@types/chai":"^5.0.0","@types/node":"^22.15.3","@types/mocha":"^10.0.8","@biomejs/biome":"v2.0.6","@cubing/deploy":"v0.2.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","compare-versions":"^6.1.1","@cubing/dev-config":"v0.3.5","barely-a-dev-server":"v0.8.0","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"v1.0.0","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.57.1_1751835142646_0.45876811819096086","host":"s3://npm-registry-packages-npm-production"}},"0.57.2":{"name":"cubing","version":"0.57.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.57.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"f5f068d393e5cc9ee5de6a9f88396fdf48e064e7","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.57.2.tgz","fileCount":126,"integrity":"sha512-UWc7nSJN/TUP47ZLOr6chuunZ012vHksC1CthhEAL8/SbPjKuWmUzTwb5yYbAOvKwobT00jis56MnopKo9TO7w==","signatures":[{"sig":"MEQCIEdn87z6t4hmsO8FUAkf3Z44T4c4bZeLcVgV1xa9EHyCAiAJw0R2cW+GcJHNujyhnew30xCt0n7F7gDaMU6LLuS5UA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5296757},"type":"module","engines":{"bun":">=1.2.7","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"d06bc0f799062df92d61f0c26a1729555b0820c9","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","bun-required":"make bun-required","test-src-tsc":"make test-src-tsc","check-engines":"make check-engines","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","install-playwright":"make install-playwright","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-sites-twizzle":"make test-dist-sites-twizzle","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.3.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"v0.28.2","@types/bun":"^1.2.11","playwright":"^1.47.2","typescript":"v5.8.3","@types/chai":"^5.0.0","@types/node":"^22.15.3","@types/mocha":"^10.0.8","@biomejs/biome":"v2.0.6","@cubing/deploy":"v0.2.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","compare-versions":"^6.1.1","@cubing/dev-config":"v0.3.5","barely-a-dev-server":"v0.8.0","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"v1.0.0","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.57.2_1752669295737_0.3502777133581474","host":"s3://npm-registry-packages-npm-production"}},"0.57.3":{"name":"cubing","version":"0.57.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.57.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"b4fbd9a0381ceefc24eefce9006863d02fc829e3","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.57.3.tgz","fileCount":126,"integrity":"sha512-Pk0E6Ck0fGh37y94bTkGJtpwMfnm9IPfHnnygR0hVuvLWv3T0ZnAeW+DuueQ8n6cT8tlorUkPURusIt7FGM/Cg==","signatures":[{"sig":"MEUCICDIOl96vFoSTiz2IC5AICKLiK18CdqKKFd6pUahsbmTAiEArKXlQuwN93aIQdtymx8q4L5Ta6DcE82MHbB+NphTAs8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5296821},"type":"module","engines":{"bun":">=1.2.7","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"e9343d85b3adb37ae7f0d8fe5e8e8620f321ab0c","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","bun-required":"make bun-required","test-src-tsc":"make test-src-tsc","check-engines":"make check-engines","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","install-playwright":"make install-playwright","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-sites-twizzle":"make test-dist-sites-twizzle","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.3.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"v0.28.2","@types/bun":"^1.2.11","playwright":"^1.47.2","typescript":"v5.8.3","@types/chai":"^5.0.0","@types/node":"^22.15.3","@types/mocha":"^10.0.8","@biomejs/biome":"v2.0.6","@cubing/deploy":"v0.2.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","compare-versions":"^6.1.1","@cubing/dev-config":"v0.3.5","barely-a-dev-server":"v0.8.0","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"v1.0.0","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.57.3_1752983380720_0.964083788468824","host":"s3://npm-registry-packages-npm-production"}},"0.57.4":{"name":"cubing","version":"0.57.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.57.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"7447f1c3046972e432d96c4edd82ee78c445efbe","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.57.4.tgz","fileCount":126,"integrity":"sha512-0l7xNjNIFeqVnTvoej0JIWRk9jQvhWt+Ukz33jEHTkRivkyye0wqK0Xyid4BvTHKnTcbSxQHNuJ2GAnkja7U0Q==","signatures":[{"sig":"MEUCIQCHuZ0seYq5zydTVq99RxNXtycPr5HIHe9L5ki2XVjOHwIgHf4Wb8We6QaIq11IKlWGJ1kA5B5SPrpAgnRSqWmliNU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5301069},"type":"module","engines":{"bun":">=1.2.7","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"a32586a5e47ca98ad9c965d2042633139a226698","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","bun-required":"make bun-required","test-src-tsc":"make test-src-tsc","check-engines":"make check-engines","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","install-playwright":"make install-playwright","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-sites-twizzle":"make test-dist-sites-twizzle","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.3.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"v0.28.2","@types/bun":"^1.2.11","playwright":"^1.47.2","typescript":"v5.8.3","@types/chai":"^5.0.0","@types/node":"^22.15.3","@types/mocha":"^10.0.8","@biomejs/biome":"v2.0.6","@cubing/deploy":"v0.2.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","compare-versions":"^6.1.1","@cubing/dev-config":"v0.3.5","barely-a-dev-server":"v0.8.0","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"v1.0.0","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.57.4_1752995041218_0.4259260996407601","host":"s3://npm-registry-packages-npm-production"}},"0.58.0":{"name":"cubing","version":"0.58.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.58.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"7c7ee5d39090d42d5cc392b9af07b171b6ced3e8","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.58.0.tgz","fileCount":126,"integrity":"sha512-l1LRBdLBVntcd1kB5fFFBbD6h5t8Q50Vqix0BfhDPhgMNOgycCaZHZ9rxeXa3hSecBxxSRJky/E6DQnVJiSJsg==","signatures":[{"sig":"MEUCIFPa2wx0da14RtloE8dnSmjqlTtm+79wqdvt9A88ykEbAiEAzDvvWpoqeP2IqCAGjX+nod1iEG3alLI2jnUU56yDAA8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5338103},"type":"module","engines":{"bun":">=1.2.7","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"dc6858023172e09af752f1d54e6d6428f8f33cd3","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","bun-required":"make bun-required","test-src-tsc":"make test-src-tsc","check-engines":"make check-engines","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","install-playwright":"make install-playwright","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-sites-twizzle":"make test-dist-sites-twizzle","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","postpublish-clear-bun-cache":"make postpublish-clear-bun-cache","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.3.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"v0.28.2","@types/bun":"^1.2.11","playwright":"^1.47.2","typescript":"v5.8.3","@types/chai":"^5.0.0","@types/node":"^22.15.3","@types/mocha":"^10.0.8","@biomejs/biome":"v2.0.6","@cubing/deploy":"v0.2.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","compare-versions":"^6.1.1","@cubing/dev-config":"v0.3.5","barely-a-dev-server":"v0.8.0","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"v1.0.0","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.58.0_1753697075432_0.09019197094286846","host":"s3://npm-registry-packages-npm-production"}},"0.58.1":{"name":"cubing","version":"0.58.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.58.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"8cdaad5c245cb0decc4e0b3d0089f4bfe800e5f3","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.58.1.tgz","fileCount":126,"integrity":"sha512-PNU+27eI61cWpe6uDOnhhKXD6R/MgDb8Mjk09tAPNBD78ckC2e4KKRVU30oM+0irifS71r2KSdgxCxod22ulog==","signatures":[{"sig":"MEUCIQC1Dgw2+6wInwSMdO+JQz220qvIeM7ScmuQffyc3wUYHAIgENNkNppVSzfZqIEQdl2tWeF3PEKbAnmFTMecA9Oef3s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5350089},"type":"module","engines":{"bun":">=1.2.7","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"fcc053c47b51273b834a4fe31718db6f09464e58","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","bun-required":"make bun-required","test-src-tsc":"make test-src-tsc","check-engines":"make check-engines","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","install-playwright":"make install-playwright","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-sites-twizzle":"make test-dist-sites-twizzle","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","postpublish-clear-bun-cache":"make postpublish-clear-bun-cache","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.3.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"v0.28.2","@types/bun":"^1.2.11","playwright":"^1.47.2","typescript":"v5.8.3","@types/chai":"^5.0.0","@types/node":"^22.15.3","@types/mocha":"^10.0.8","@biomejs/biome":"v2.0.6","@cubing/deploy":"v0.2.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","compare-versions":"^6.1.1","@cubing/dev-config":"v0.3.5","barely-a-dev-server":"v0.8.0","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"v1.0.0","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.58.1_1754026370236_0.2728317975819856","host":"s3://npm-registry-packages-npm-production"}},"0.58.2":{"name":"cubing","version":"0.58.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.58.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"4962649e1aace3ee5b487a77d2bd643cd756cad8","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.58.2.tgz","fileCount":126,"integrity":"sha512-XBpQvFdYRmC3tDU7cUBPHyr96vbHfeekqYIJWot7iUQMpAqZ5dJAD8kyIQWxz3edBqPjJqyxiNWiZMSzUNmYtA==","signatures":[{"sig":"MEUCIQD1V9H/BPggNrjW0g4aovZOi53bY1M581njGnqCoX0shQIgajhb+Pm7G19k96dDNEzhm9s+2FXVTwvoE7g9Qbn2NWw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5350667},"type":"module","engines":{"bun":">=1.2.7","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"b28c3a67a4ab8567878a59b275c2776ddb2dcec7","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","audit":"make audit","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","bun-required":"make bun-required","test-src-tsc":"make test-src-tsc","check-engines":"make check-engines","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","install-playwright":"make install-playwright","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-sites-twizzle":"make test-dist-sites-twizzle","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","postpublish-clear-bun-cache":"make postpublish-clear-bun-cache","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.5.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"24.5.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"v0.28.2","@types/bun":"^1.2.11","playwright":"^1.47.2","typescript":"v5.8.3","@types/chai":"^5.0.0","@types/node":"^22.15.3","@types/mocha":"^10.0.8","@biomejs/biome":"v2.0.6","@cubing/deploy":"v0.2.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","compare-versions":"^6.1.1","@cubing/dev-config":"v0.3.5","barely-a-dev-server":"v0.8.0","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"v1.0.0","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.58.2_1755096661147_0.6134510367193826","host":"s3://npm-registry-packages-npm-production"}},"0.59.0":{"name":"cubing","version":"0.59.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.59.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"40b0de32acff3b246ef310e66f8cdb6dd2be37c9","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.59.0.tgz","fileCount":126,"integrity":"sha512-48ohgUs42G9gOov78WS2rP4PcuvaWU1KTpDDBhr84I7ZX3Zg3Z2+7quR5JW9VUONBjT/kWehYCMKVVgA0cmxyw==","signatures":[{"sig":"MEYCIQDUy5pmXGCyonM5ZbOTVzTO7toj58xk4T8MQMsdzp5N7AIhAIa3aeEhPdDTWWBXsnHQzxd/f/zr91M1gQYdhpgjCbI8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5324389},"type":"module","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"690a17075c4035138eac8645d9a220f201f8862a","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","bun-required":"make bun-required","test-src-tsc":"make test-src-tsc","check-engines":"make check-engines","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","install-playwright":"make install-playwright","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-sites-twizzle":"make test-dist-sites-twizzle","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","postpublish-clear-bun-cache":"make postpublish-clear-bun-cache","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.6.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"^0.28.10","@types/bun":"^1.2.23","path-class":"^0.6.0","playwright":"^1.47.2","typescript":"^5.9.3","@types/chai":"^5.0.0","@types/node":"^24.6.2","@types/mocha":"^10.0.8","@biomejs/biome":"^2.3.1","@cubing/deploy":"v0.2.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":"v0.3.5","barely-a-dev-server":"v0.8.0","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"^1.1.3","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.59.0_1761941006437_0.6614470680621931","host":"s3://npm-registry-packages-npm-production"}},"0.59.1":{"name":"cubing","version":"0.59.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.59.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"34ede20f7d3387318553c00ffc7d268b4c28507e","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.59.1.tgz","fileCount":126,"integrity":"sha512-zSSvln3d/D791Tk8b18L9frb4zJvNI+heXeQ0AKjFUqCEgt6DPwRT+YGXUK35NaJ4JQ+2u8gDJlQSBzEgYhkDg==","signatures":[{"sig":"MEUCIQDhUvQeArLbO0nT00JKFvW8OykWtDmIcX0Wo325k5/X8gIgMEVjONPOxEXsqPrrjAlr3WwqD4uNl4ma7uAFhgTj7vI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5325146},"type":"module","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"886386d9e1d4866f97bb10cf80c949262aa63a18","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","bun-required":"make bun-required","test-src-tsc":"make test-src-tsc","check-engines":"make check-engines","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","install-playwright":"make install-playwright","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-sites-twizzle":"make test-dist-sites-twizzle","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","postpublish-clear-bun-cache":"make postpublish-clear-bun-cache","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.6.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"^0.28.10","@types/bun":"^1.2.23","path-class":"^0.6.0","playwright":"^1.47.2","typescript":"^5.9.3","@types/chai":"^5.0.0","@types/node":"^24.6.2","@types/mocha":"^10.0.8","@biomejs/biome":"^2.3.1","@cubing/deploy":"v0.2.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":"v0.3.5","barely-a-dev-server":"v0.8.0","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"^1.1.3","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.59.1_1762056396029_0.1324830814858855","host":"s3://npm-registry-packages-npm-production"}},"0.59.2":{"name":"cubing","version":"0.59.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.59.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"de5cee366624132aafd95249752794847e70d39a","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.59.2.tgz","fileCount":126,"integrity":"sha512-uy5GrepiUjrJS/3bK6jyQnNmUp/TySj24biEbY7xhWkgEO93DHzAEEjZzcAitcByak7jqZ3dP2ZWcNkPBfsE/w==","signatures":[{"sig":"MEUCIQD4wjPB3lGR/FVad/TJSHi6j642dcOVOpga936AJSozRQIgKbtp+pRhJwZReO0Efwzci3yGtwj9Qg43iRxUUudRMqM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5325146},"type":"module","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"3723c13dfb7a7cea2ec7f298bef30abd097871f7","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","bun-required":"make bun-required","test-src-tsc":"make test-src-tsc","check-engines":"make check-engines","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","install-playwright":"make install-playwright","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-sites-twizzle":"make test-dist-sites-twizzle","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","postpublish-clear-bun-cache":"make postpublish-clear-bun-cache","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.6.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"^0.28.10","@types/bun":"^1.2.23","path-class":"^0.6.0","playwright":"^1.47.2","typescript":"^5.9.3","@types/chai":"^5.0.0","@types/node":"^24.6.2","@types/mocha":"^10.0.8","@biomejs/biome":"^2.3.1","@cubing/deploy":"v0.2.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":"v0.3.5","barely-a-dev-server":"v0.8.0","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"^1.1.3","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.59.2_1762134398491_0.8816822769010604","host":"s3://npm-registry-packages-npm-production"}},"0.59.3":{"name":"cubing","version":"0.59.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.59.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"942e8ff8f4a06026be9a305bc5aee0863a15ac9b","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.59.3.tgz","fileCount":126,"integrity":"sha512-5LJi/VX06ofF1llF13eQ9Vi0XU/obiFwrpy9fT+NHDJ5vvtLYd8rE1c6U5+XJzY0VDo1OLQBDtWGjhpW2HMnWQ==","signatures":[{"sig":"MEUCIQC+q7OP5ZusMBvHFYxzhAVa0jrgEtUanKTAYfZvGEKA6AIgX1IKTtEwfdwGSdts1v4Nl4r2FExHEeCu55rYIjoekJQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5325146},"type":"module","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"b77add093d59a044bcdd8aab227bf0c87039641a","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","bun-required":"make bun-required","test-src-tsc":"make test-src-tsc","check-engines":"make check-engines","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","install-playwright":"make install-playwright","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-sites-twizzle":"make test-dist-sites-twizzle","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","postpublish-clear-bun-cache":"make postpublish-clear-bun-cache","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.6.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"^0.28.10","@types/bun":"^1.2.23","path-class":"^0.6.0","playwright":"^1.47.2","typescript":"^5.9.3","@types/chai":"^5.0.0","@types/node":"^24.6.2","@types/mocha":"^10.0.8","@biomejs/biome":"^2.3.1","@cubing/deploy":"v0.2.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":"v0.3.5","barely-a-dev-server":"v0.8.0","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"^1.1.3","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.59.3_1762137178571_0.5625076916805531","host":"s3://npm-registry-packages-npm-production"}},"0.60.0":{"name":"cubing","version":"0.60.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.60.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"e890350f87388e3e9b5fc636b8e3dfc492908462","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.60.0.tgz","fileCount":126,"integrity":"sha512-1tEe6qZuGugoUg2hYYNaqVX8MWWFnr4r0nVq44mUaWjdVWgLySLn0HvWMrLV/xn2k0db0VQEVSe72NhYqBEImg==","signatures":[{"sig":"MEQCICgJRRQerbMUoHsFiIuU02q1TIQLmw76XxpQkn+vtOPYAiBkSa6U0rlsP3qSK1nmnPUIarXqEsXhKxuSH2V6LVmVtg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5331392},"type":"module","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"5c149fa4efaf3beae9f01e46d6afbbfa83356345","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","bun-required":"make bun-required","test-src-tsc":"make test-src-tsc","check-engines":"make check-engines","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","install-playwright":"make install-playwright","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-sites-twizzle":"make test-dist-sites-twizzle","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","postpublish-clear-bun-cache":"make postpublish-clear-bun-cache","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.6.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","type-fest":"^5.2.0","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"^0.28.10","@types/bun":"^1.2.23","path-class":"^0.6.0","playwright":"^1.47.2","typescript":"^5.9.3","@types/chai":"^5.0.0","@types/node":"^24.6.2","@types/mocha":"^10.0.8","@biomejs/biome":"^2.3.1","@cubing/deploy":"v0.2.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":"v0.3.5","barely-a-dev-server":"v0.8.0","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"^1.1.3","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.60.0_1762808965896_0.7702438791527817","host":"s3://npm-registry-packages-npm-production"}},"0.60.1":{"name":"cubing","version":"0.60.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.60.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"86b8797dc2b470f2f9827486405d26c44e5d2e41","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.60.1.tgz","fileCount":126,"integrity":"sha512-V7mIUm9kVNtssauMiQMwpm+3LY811MwXUsFj9XpvsMxqFkKAG3agL9pk7B63NtsqXdY3ZGOF2MjHqAeaqqDIcg==","signatures":[{"sig":"MEYCIQD8t4lqeOYED1HMSzeK7iltjnJRCz36dQlMliI7gnnKEQIhAKDlCvGW2pyfUa2Uhr5B1fs2dzfgXrgyeMMcoEtiLkMJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5331392},"type":"module","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"e6f0dd1e1e1ea98f771e7a3cc90a4b225667685c","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","bun-required":"make bun-required","test-src-tsc":"make test-src-tsc","check-engines":"make check-engines","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","install-playwright":"make install-playwright","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","roll-vendored-twsearch":"make roll-vendored-twsearch","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-sites-twizzle":"make test-dist-sites-twizzle","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","postpublish-clear-bun-cache":"make postpublish-clear-bun-cache","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.6.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"25.1.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","type-fest":"^5.2.0","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"$schema":"./node_modules/@cubing/deploy/config-schema.json","https://experiments.cubing.net/cubing.js/":{"fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"^0.28.10","@types/bun":"^1.2.23","path-class":"^0.6.0","playwright":"^1.47.2","typescript":"^5.9.3","@types/chai":"^5.0.0","@types/node":"^24.6.2","@types/mocha":"^10.0.8","@biomejs/biome":"^2.3.1","@cubing/deploy":"v0.2.1","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":"^0.5.0","barely-a-dev-server":"v0.8.0","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"^1.1.3","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.60.1_1763011145478_0.5750220973787363","host":"s3://npm-registry-packages-npm-production"}},"0.61.0":{"name":"cubing","version":"0.61.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","cuble","bluetooth","rubik","rubik's"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.61.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"8338b56653d3b392d647c82e487a1272e4da93b6","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.61.0.tgz","fileCount":126,"integrity":"sha512-bAifBUV9VvQlzaO3HbsDt61nksemq9ygXuR3ZhAmPjGeEU0B53uOslIFqs1BYszLTqJaBQrGlPVHGkXNacedmA==","signatures":[{"sig":"MEQCIG+0LeiFAy08buPuCUfSOwBlZx6xxyIw0X3C1FjsbMfaAiBukvPXM8M2zVtA559mQHkxFcZ/HFlwtanNNUrO0BGYNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5321024},"type":"module","$schema":"./node_modules/@cubing/deploy/config-schema.package.json","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/types-geometry/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/types/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"6fbb82ff97cf6625433a0226df1055912d9ef026","scripts":{"dev":"make dev","link":"make link","lint":"make lint","test":"make test","build":"make build","clean":"make clean","reset":"make reset","setup":"make setup","deploy":"make deploy","format":"make format","default":"make default","lint-ci":"make lint-ci","prepack":"make prepack","test-all":"make test-all","test-src":"make test-src","build-bin":"make build-bin","build-lib":"make build-lib","test-dist":"make test-dist","test-fast":"make test-fast","test-info":"make test-info","test-spec":"make test-spec","test-build":"make test-build","update-cdn":"make update-cdn","build-sites":"make build-sites","clean-types":"make clean-types","postpublish":"make postpublish","build-lib-js":"make build-lib-js","bun-required":"make bun-required","test-src-tsc":"make test-src-tsc","check-engines":"make check-engines","test-dist-bin":"make test-dist-bin","test-dist-lib":"make test-dist-lib","test-spec-bun":"make test-spec-bun","test-spec-dom":"make test-spec-dom","deploy-twizzle":"make deploy-twizzle","prepublishOnly":"make prepublishOnly","build-lib-types":"make build-lib-types","build-site-docs":"make build-site-docs","build-site-twizzle":"make build-site-twizzle","deploy-experiments":"make deploy-experiments","install-playwright":"make install-playwright","playwright-install":"make playwright-install","test-dist-lib-perf":"make test-dist-lib-perf","test-spec-bun-fast":"make test-spec-bun-fast","roll-vendored-twips":"make roll-vendored-twips","update-dependencies":"make update-dependencies","test-dist-bin-shebang":"make test-dist-bin-shebang","build-site-experiments":"make build-site-experiments","test-dist-bin-npm-exec":"make test-dist-bin-npm-exec","test-dist-sites-twizzle":"make test-dist-sites-twizzle","test-dist-lib-build-size":"make test-dist-lib-build-size","update-create-cubing-app":"make update-create-cubing-app","test-dist-lib-node-import":"make test-dist-lib-node-import","fix-src-scripts-consistency":"make fix-src-scripts-consistency","postpublish-clear-bun-cache":"make postpublish-clear-bun-cache","test-dist-lib-node-scramble":"make test-dist-lib-node-scramble","test-spec-bun-with-coverage":"make test-spec-bun-with-coverage","test-spec-dom-with-coverage":"make test-spec-dom-with-coverage","test-src-import-restrictions":"make test-src-import-restrictions","test-src-scripts-consistency":"make test-src-scripts-consistency","test-dist-lib-plain-esbuild-compat":"make test-dist-lib-plain-esbuild-compat","test-dist-lib-bun-scramble-all-events":"make test-dist-lib-bun-scramble-all-events"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.6.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"25.1.0","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","type-fest":"^5.2.0","cmd-ts-too":"^0.15.3","@types/three":"^0.169.0","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"https://experiments.cubing.net/cubing.js/":{"username":"cubing_deploy","fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","esbuild":"^0.25.0","typedoc":"^0.28.10","@types/bun":"^1.2.23","path-class":">=0.8.1","playwright":"^1.47.2","typescript":"^5.9.3","@types/chai":"^5.0.0","@types/node":"^24.6.2","@types/mocha":"^10.0.8","@biomejs/biome":"^2.3.1","@cubing/deploy":">=0.4.6","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":"^0.5.0","barely-a-dev-server":"v0.8.0","@schemastore/package":"^0.0.10","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"^2.7.0","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.61.0_1763769189653_0.08285595171240923","host":"s3://npm-registry-packages-npm-production"}},"0.61.1":{"name":"cubing","version":"0.61.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","bluetooth","rubik","rubik's","Twizzle","scramble","scrambles","alg","algs"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.61.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"7edb3289f33ffd6c5ba13bea52abafa2932814bf","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.61.1.tgz","fileCount":126,"integrity":"sha512-tL+AcU1jFS65kZUkQBDCpJHR6Sz8bR+M7Rei5ziRr1YNtEL7ExRskiPAn6gyQ4mh129mbww+hRI9C3HZ5YyL6g==","signatures":[{"sig":"MEUCICDDwMichjpNyF2zn7yT8QXbgnUI19+n+XDeEduJSCieAiEAxS8mIpx63C4DImO1C5sln19JlB76QmavD3dKMllDKRw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5333557},"type":"module","$schema":"./node_modules/@cubing/deploy/config-schema.package.json","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/puzzles/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"02663e49f54bd64937f17188563ce6c6fbaa7f6f","scripts":{"dev":"make dev","build":"make build","prepublishOnly":"make prepublishOnly"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"overrides":{"typescript":"5.9.3"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.6.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","type-fest":"^5.2.0","@optique/run":"v0.9.0-dev.187","@types/three":"^0.169.0","@optique/core":"v0.9.0-dev.187","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"https://experiments.cubing.net/cubing.js/":{"username":"cubing_deploy","fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","bun-dx":">=0.1.3","esbuild":"^0.25.0","typedoc":"^0.28.10","@types/bun":"^1.2.23","path-class":">=0.11.0","playwright":"^1.47.2","typescript":"5.9.3","@types/chai":"^5.0.0","@types/node":"^25.0.3","@types/mocha":"^10.0.8","@biomejs/biome":"^2.3.1","@cubing/deploy":">=0.4.10","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":">=0.8.3","barely-a-dev-server":"v0.8.0","@schemastore/package":"^0.0.10","typescript-json-schema":"^0.67.1","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"^4.0.3","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.61.1_1766649270044_0.8820868794019059","host":"s3://npm-registry-packages-npm-production"}},"0.61.2":{"name":"cubing","version":"0.61.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","bluetooth","rubik","rubik's","Twizzle","scramble","scrambles","alg","algs"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.61.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"2e53e749b72515eabfdc1d12eebf111e6d1fdbf4","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.61.2.tgz","fileCount":126,"integrity":"sha512-YXX8LfL4s+Pw3XVqz58IY1j6we7ZNqssvEZW6FousZbFocQ+snp0y6pikx+PuvyYlpMiXukNmiT29/CzfdtlHA==","signatures":[{"sig":"MEUCIQDlo3+j5q1I2ng3/M4e+sRfn/m6hhPkrL+NEoda317GqQIgRvw+rb5EwEVJ5McJ9MZ2GlVz6KNR+cHyOO9xcsCmz24=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5335269},"type":"module","$schema":"./node_modules/@cubing/deploy/config-schema.package.json","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/puzzles/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"2fb0cc2b946ab7b8b1187975f815a77e99c30237","scripts":{"dev":"make dev","build":"make build","postpublish":"make postpublish","prepublishOnly":"make prepublishOnly"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"overrides":{"typescript":"5.9.3"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.6.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","type-fest":"^5.2.0","@optique/run":"v0.9.0-dev.187","@types/three":"^0.169.0","@optique/core":"v0.9.0-dev.187","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"https://experiments.cubing.net/cubing.js/":{"username":"cubing_deploy","fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","bun-dx":">=0.1.3","esbuild":"^0.25.0","typedoc":"^0.28.10","@types/bun":"^1.2.23","path-class":">=0.11.0","playwright":"^1.47.2","typescript":"5.9.3","@types/chai":"^5.0.0","@types/node":"^25.0.3","@types/mocha":"^10.0.8","@biomejs/biome":"2.3.9","@cubing/deploy":">=0.4.10","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":">=0.8.3","barely-a-dev-server":"v0.8.0","@schemastore/package":"^0.0.10","typescript-json-schema":"^0.67.1","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"^4.0.3","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.61.2_1767405255589_0.6580265362027118","host":"s3://npm-registry-packages-npm-production"}},"0.61.3":{"name":"cubing","version":"0.61.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","bluetooth","rubik","rubik's","Twizzle","scramble","scrambles","alg","algs"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.61.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"4a075ef0800b4605fd3505036bb0714e76cba5f6","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.61.3.tgz","fileCount":126,"integrity":"sha512-5ZZDrMjYmKAjfbeorHtaH0kj/89K0i2FYByYxLfCs2tb5Rx5ChUK/gtQfRSjPRyqAnBiVG6TPr/pGR1GvjMEng==","signatures":[{"sig":"MEUCIQCyOzGv/n/ssYXL9qDHaoaScW8EQhVABxXmHDWGLVvt1QIgMpyqYWyKc1kne4GD4luqsu/5v6fMgxEDDTvJNM/SWa4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5249419},"type":"module","$schema":"./node_modules/@cubing/deploy/config-schema.package.json","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/puzzles/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"30d483f487ae7219304a00087b2fdad12023d406","scripts":{"dev":"make dev","build":"make build","postpublish":"make postpublish","prepublishOnly":"make prepublishOnly"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"overrides":{"typescript":"5.9.3"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.6.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","type-fest":"^5.2.0","@optique/run":"v0.9.0-dev.187","@types/three":"^0.169.0","@optique/core":"v0.9.0-dev.187","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"https://experiments.cubing.net/cubing.js/":{"username":"cubing_deploy","fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","bun-dx":">=0.1.3","esbuild":"^0.25.0","typedoc":"^0.28.10","@types/bun":"^1.2.23","path-class":">=0.11.0","playwright":"^1.47.2","typescript":"5.9.3","@types/chai":"^5.0.0","@types/node":"^25.0.3","@types/mocha":"^10.0.8","@biomejs/biome":"2.3.9","@cubing/deploy":">=0.4.10","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":">=0.8.3","barely-a-dev-server":"v0.8.0","@schemastore/package":"^0.0.10","typescript-json-schema":"^0.67.1","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"^4.0.3","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.61.3_1767740138175_0.15260484489832593","host":"s3://npm-registry-packages-npm-production"}},"0.62.0":{"name":"cubing","version":"0.62.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","bluetooth","rubik","rubik's","Twizzle","scramble","scrambles","alg","algs"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.62.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"e0de5ad33ff36ccefb22dc5528b926592fdec142","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.62.0.tgz","fileCount":126,"integrity":"sha512-iivgGVc/yH/Ga805j1DmRJlfFpptlEXFXIsAkC06AdCVobhxfxvhzjK9XaFLQ07dSjK3xquNYPm6+ZBK/IuVcw==","signatures":[{"sig":"MEUCIQD1xSDOIGDEKG1qYMxJewcv66a2BPvakBNwzmzJcL5dpQIgCUU+klY50KDzrgpWWUnZkuSXsL00aOhBSQqvWORTcTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5254408},"type":"module","$schema":"./node_modules/@cubing/deploy/config-schema.package.json","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/puzzles/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"5f21ea6cb2744186d5fd37a254734bd1232b1303","scripts":{"dev":"make dev","build":"make build","postpublish":"make postpublish","prepublishOnly":"make prepublishOnly"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"overrides":{"typescript":"5.9.3"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.6.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","type-fest":"^5.2.0","@optique/run":"v0.9.0-dev.187","@types/three":"^0.169.0","@optique/core":"v0.9.0-dev.187","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"https://experiments.cubing.net/cubing.js/":{"username":"cubing_deploy","fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","bun-dx":">=0.1.3","esbuild":"^0.25.0","typedoc":"^0.28.10","@types/bun":"^1.3.5","path-class":">=0.11.0","playwright":"^1.47.2","typescript":"5.9.3","@types/chai":"^5.0.0","@types/node":"^25.0.3","@types/mocha":"^10.0.8","@biomejs/biome":"^2.3.11","@cubing/deploy":">=0.4.10","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":">=0.8.3","barely-a-dev-server":"v0.8.0","@schemastore/package":"^0.0.10","typescript-json-schema":"^0.67.1","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"^4.0.3","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.62.0_1768308807793_0.14502417226112896","host":"s3://npm-registry-packages-npm-production"}},"0.62.1":{"name":"cubing","version":"0.62.1","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","bluetooth","rubik","rubik's","Twizzle","scramble","scrambles","alg","algs"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.62.1","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"beba49367c91a186afcd323d8118bc045130bd19","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.62.1.tgz","fileCount":126,"integrity":"sha512-xuTxxr0mjdPVEDU9mzXtbp7YnxBNnD3Y84DohyX6rNpiLf3ifsQ8e8qZybOmPPjoi0MwNUiNSQYx6fkCVTP7zQ==","signatures":[{"sig":"MEUCIE1vYZA4tN2n5qk16JP9jnhhmlO4B2WbJldO+BNV1DlNAiEA7jhrhSlIGEYfHc1f6rp0xk5opUhzHl9BBAyztfDiLXc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5254303},"type":"module","$schema":"./node_modules/@cubing/deploy/config-schema.package.json","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/puzzles/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"159297a82d865dc23c913733ab286f04645a1c48","scripts":{"dev":"make dev","build":"make build","postpublish":"make postpublish","prepublishOnly":"make prepublishOnly"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"overrides":{"typescript":"5.9.3"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.6.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","type-fest":"^5.2.0","@optique/run":"v0.9.0-dev.187","@types/three":"^0.169.0","@optique/core":"v0.9.0-dev.187","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"https://experiments.cubing.net/cubing.js/":{"username":"cubing_deploy","fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","bun-dx":">=0.1.3","esbuild":"^0.25.0","typedoc":"^0.28.10","@types/bun":"^1.3.5","path-class":">=0.11.0","playwright":"^1.47.2","typescript":"5.9.3","@types/chai":"^5.0.0","@types/node":"^25.0.3","@types/mocha":"^10.0.8","@biomejs/biome":"^2.3.11","@cubing/deploy":">=0.4.10","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":">=0.8.3","barely-a-dev-server":"v0.8.0","@schemastore/package":"^0.0.10","typescript-json-schema":"^0.67.1","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"^4.0.3","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.62.1_1768309456152_0.6460647218140558","host":"s3://npm-registry-packages-npm-production"}},"0.62.2":{"name":"cubing","version":"0.62.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","bluetooth","rubik","rubik's","Twizzle","scramble","scrambles","alg","algs"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.62.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"0de41b7a3642e856388f178962566c9866fc2401","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.62.2.tgz","fileCount":126,"integrity":"sha512-zt69sFFFWl8YyNqy97fNqXoXrDzxfb7HktcGFoLzvbyp8TZeq1GsXHsr7kYLPOtED9ES7YlWxJmK5XYzNHxsfA==","signatures":[{"sig":"MEYCIQCDMYQgAsowe6XjMOopXWm9FoLynpH3UinJOk+gzFZD4QIhAMrH55jjTZf803LupHXlN6Q5ujJqMNAWej41cwSrbLWK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5254001},"type":"module","$schema":"./node_modules/@cubing/deploy/config-schema.package.json","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/puzzles/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"4f20dd8e9f4dc1007ce4fde1412e441f7aacaa1a","scripts":{"dev":"make dev","build":"make build","postpublish":"make postpublish","prepublishOnly":"make prepublishOnly"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"overrides":{"typescript":"5.9.3"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.6.2","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"three":"^0.170.0","comlink":"^4.4.1","type-fest":"^5.2.0","@optique/run":"v0.9.0-dev.187","@types/three":"^0.169.0","@optique/core":"v0.9.0-dev.187","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"https://experiments.cubing.net/cubing.js/":{"username":"cubing_deploy","fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","bun-dx":">=0.1.3","esbuild":"^0.25.0","typedoc":"^0.28.10","@types/bun":"^1.3.5","path-class":">=0.11.0","playwright":"^1.47.2","typescript":"5.9.3","@types/chai":"^5.0.0","@types/node":"^25.0.3","@types/mocha":"^10.0.8","@biomejs/biome":"^2.3.11","@cubing/deploy":">=0.4.10","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":">=0.8.3","barely-a-dev-server":"v0.8.0","@schemastore/package":"^0.0.10","typescript-json-schema":"^0.67.1","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"^4.0.3","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.62.2_1768310329763_0.40149125220850634","host":"s3://npm-registry-packages-npm-production"}},"0.63.0":{"name":"cubing","version":"0.63.0","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","bluetooth","rubik","rubik's","Twizzle","scramble","scrambles","alg","algs"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.63.0","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"f5ed502295e30d7ef83cd6a019f6f9cdd1a1ce6c","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.63.0.tgz","fileCount":122,"integrity":"sha512-TbtZKVRcy6H4u6/wKAOa3thdJsU5vv08xJrag7QUPrl0FE0CtOyMvZkxMK/v93g8WpOVGV8+kdKgD1PM54ysVw==","signatures":[{"sig":"MEYCIQCPio2E81bb3nmj58FryR2kQ99RHe9u/vSMk+GBMC4VhgIhAM/rMW5fnH8G9uHeYXH1dIMOd/AumNAUb5Ah1pJKHsFm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5287306},"type":"module","$schema":"./node_modules/@cubing/deploy/config-schema.package.json","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/puzzles/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"46b4932ff307cd5b05bda66ece28b60db76adffc","scripts":{"dev":"make dev","build":"make build","postpublish":"make postpublish","prepublishOnly":"make prepublishOnly"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"overrides":{"typescript":"5.9.3"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.7.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"25.3.0","dependencies":{"three":"^0.170.0","type-fest":"^5.2.0","@optique/run":"v0.9.0-dev.187","@types/three":"^0.169.0","@optique/core":"v0.9.0-dev.187","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"https://experiments.cubing.net/cubing.js/":{"username":"cubing_deploy","fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","bun-dx":">=0.1.3","esbuild":"^0.25.0","typedoc":"^0.28.10","@types/bun":"^1.3.5","path-class":">=0.11.0","playwright":"^1.47.2","typescript":"5.9.3","@types/chai":"^5.0.0","@types/node":"^25.0.3","@types/mocha":"^10.0.8","@biomejs/biome":"^2.3.11","@cubing/deploy":">=0.4.10","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":">=0.9.0","barely-a-dev-server":"v0.8.0","@schemastore/package":"^0.0.10","typescript-json-schema":"^0.67.1","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"^4.0.3","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.63.0_1768949220675_0.3529742128478812","host":"s3://npm-registry-packages-npm-production"}},"0.63.2":{"name":"cubing","version":"0.63.2","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","bluetooth","rubik","rubik's","Twizzle","scramble","scrambles","alg","algs"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.63.2","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"6358f56e4135a82dd495759a41d685969d3fa6eb","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.63.2.tgz","fileCount":120,"integrity":"sha512-mhdJ1bWWiqqejSFtuY73+aJefRzn8t2GYk/IEkwO6Tt3A3coYRlIzIqsTVDHZ5+vYemJFrUewpt+SKoiwZuT8Q==","signatures":[{"sig":"MEQCIBvwyKeHe+tGo1NLmHIbigMm4sxOfeVtrZYZ1c8CQY90AiATzCUxpfN9YogS27mjZ5dnEIvOhRaXbFwyd8U9coDd2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5205864},"type":"module","$schema":"./node_modules/@cubing/deploy/config-schema.package.json","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/puzzles/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"506473ede8ef490c7b8c4bc2d7aa2336e9119d59","scripts":{"dev":"make dev","build":"make build","postpublish":"make postpublish","prepublishOnly":"make prepublishOnly"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"overrides":{"typescript":"5.9.3"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.8.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"25.5.0","dependencies":{"three":"^0.170.0","type-fest":"^5.2.0","@optique/run":">=0.9.1","@types/three":"^0.169.0","@optique/core":">=0.9.1","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"https://experiments.cubing.net/cubing.js/":{"username":"cubing_deploy","fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","bun-dx":">=0.1.3","esbuild":"^0.25.0","typedoc":"^0.28.10","@types/bun":"^1.3.5","path-class":">=0.11.0","playwright":"^1.58.0","typescript":"5.9.3","@types/chai":"^5.0.0","@types/node":"^25.0.3","@types/mocha":"^10.0.8","@biomejs/biome":"^2.3.11","@cubing/deploy":">=0.4.10","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":">=0.9.2","barely-a-dev-server":">=0.8.3","@schemastore/package":"^0.0.10","typescript-json-schema":"^0.67.1","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"^4.0.3","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.63.2_1771036739190_0.8278484931843537","host":"s3://npm-registry-packages-npm-production"}},"0.63.3":{"name":"cubing","version":"0.63.3","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","bluetooth","rubik","rubik's","Twizzle","scramble","scrambles","alg","algs"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.63.3","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"b1e0ec2c5385a39a4b20559f5a13ffda2b577981","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.63.3.tgz","fileCount":160,"integrity":"sha512-151hSarw9sN06iohHClHQ3RaiI5MNpaIyyb1+I0cuRerHq3jfyhb2Eyif9YAEIbEJiiMc6AUsNFo00Rnti2JWw==","signatures":[{"sig":"MEYCIQC53sgoM/hQMmrJq6qKCvJiUYC6FVC9VuQ21PGDj5HIBAIhAOqTJjAL0ZKL6fjoZ+o2NWaqZ0gyulcByd/MyUhOdRks","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8933179},"type":"module","$schema":"./node_modules/@cubing/deploy/config-schema.package.json","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/puzzles/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"54d8fdde8107225ce47a46656611198d8190e38c","scripts":{"dev":"make dev","build":"make build","postpublish":"make postpublish","prepublishOnly":"make prepublishOnly"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"overrides":{"typescript":"5.9.3"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.8.0","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"25.5.0","dependencies":{"three":"^0.170.0","type-fest":"^5.2.0","@optique/run":">=0.9.1","@types/three":"^0.169.0","@optique/core":">=0.9.1","random-uint-below":"v3.3.0","@types/web-bluetooth":"^0.0.20"},"@cubing/deploy":{"https://experiments.cubing.net/cubing.js/":{"username":"cubing_deploy","fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","tsup":"^8.3.0","jszip":"^3.10.1","mocha":"^10.7.3","bun-dx":">=0.1.3","esbuild":"^0.25.0","typedoc":"^0.28.10","@types/bun":"^1.3.5","path-class":">=0.11.0","playwright":"^1.58.0","typescript":"5.9.3","@types/chai":"^5.0.0","@types/node":"^25.0.3","@types/mocha":"^10.0.8","@biomejs/biome":"^2.3.11","@cubing/deploy":">=0.4.10","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":">=0.9.2","barely-a-dev-server":">=0.8.3","@schemastore/package":"^0.0.10","typescript-json-schema":"^0.67.1","@web/dev-server-esbuild":"^1.0.2","printable-shell-command":"^4.0.3","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.4"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.63.3_1772079714851_0.5368150463664696","host":"s3://npm-registry-packages-npm-production"}},"0.63.4":{"name":"cubing","version":"0.63.4","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","bluetooth","rubik","rubik's","Twizzle","scramble","scrambles","alg","algs"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.63.4","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"1ee30c548090e9bf6e82a62412ca840d615022d7","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.63.4.tgz","fileCount":124,"integrity":"sha512-1NeEdHVzeu55OpKadLgr4F7RcgcdamXo46Vj+b4tTqqpGZ+Z5uF/t/0bVhJ4C1pK7GtPRn+hOdchjGuVjVdD+g==","signatures":[{"sig":"MEUCIQDgO0tOYMtKnmfN46g8JhqBYNHOSedMc1rmC25CdcpTJwIgFxYBrxCotD9feIz7wUH5b5Tk8KAMxlVdLHjIGmwpskM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5246230},"type":"module","$schema":"./node_modules/@cubing/deploy/config-schema.package.json","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/puzzles/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"82d6034ae61da9aa1f3acbe84a0a8407e2fcd2a7","scripts":{"dev":"make dev","build":"make build","postpublish":"make postpublish","prepublishOnly":"make prepublishOnly"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.12.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"three":"^0.170.0","type-fest":"^5.2.0","@optique/run":"^1.0.1","@types/three":"^0.169.0","@optique/core":"^1.0.1","random-uint-below":"v3.3.0","@cubing/lazy-promise":"0.1.1","@types/web-bluetooth":">=0.0.20"},"@cubing/deploy":{"https://experiments.cubing.net/cubing.js/":{"username":"cubing_deploy","fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","jszip":"^3.10.1","mocha":"^10.7.3","bun-dx":">=0.1.3","tsdown":"^0.21.10","esbuild":">=0.28.1","typedoc":"^0.28.18","@types/bun":"^1.3.14","bun-dedupe":"^0.0.5","path-class":">=0.15.1","playwright":"^1.58.0","@types/chai":"^5.0.0","@types/node":"^25.0.3","@types/mocha":"^10.0.8","@biomejs/biome":"^2.5.8","@cubing/deploy":">=0.4.11","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":">=0.10.1","barely-a-dev-server":">=0.8.3","@schemastore/package":"^0.0.10","@web/dev-server-esbuild":"^2.0.0","printable-shell-command":"^5.3.0","@cubing/comlink-everywhere":">=0.1.2","@typescript/native-preview":"^7.0.0-dev.20260512.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.8"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","_npmOperationalInternal":{"tmp":"tmp/cubing_0.63.4_1787575936878_0.2684812486170107","host":"s3://npm-registry-packages-npm-production"}},"0.63.5":{"name":"cubing","version":"0.63.5","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","bluetooth","rubik","rubik's","Twizzle","scramble","scrambles","alg","algs"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.63.5","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"7b40c43b2036e3d29afec61542d8c4d1078259a7","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.63.5.tgz","fileCount":124,"integrity":"sha512-9HmH/Zcc410D9PbrdWxpACN6GOPjW0IAOGh6/NlnFzliRWRoLH4yXGhQ03z5w6/BYtESDgKte0kjaVPrQ3yNlQ==","signatures":[{"sig":"MEQCIHR8DO0BcROsubRTKGQvzos4zvnLd0bSmiUiB93qtK/OAiBC04CQI9fs2F1KxW+qYANCEWbo0xWRicTA38Ch9+rVtA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHU3tQYdj7y5jcGo9yrBvHhnrW//lIiCDrT9DA1RpCA6AiEAt2bbD9uYqSRei2+tqaTjEA33dHJDoQRODgwKd5RvKPo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5233999},"type":"module","$schema":"./node_modules/@cubing/deploy/config-schema.package.json","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/puzzles/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"4be0d9344e2aeb406e3e0f1bfb217965c26076ed","scripts":{"dev":"make dev","build":"make build","postpublish":"make postpublish","prepublishOnly":"make prepublishOnly"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.19.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"26.8.2","dependencies":{"three":"^0.170.0","type-fest":"^5.2.0","@optique/run":"^1.0.1","@types/three":"^0.169.0","@optique/core":"^1.0.1","random-uint-below":"v3.3.0","@cubing/lazy-promise":"0.1.1","@types/web-bluetooth":">=0.0.20"},"@cubing/deploy":{"https://experiments.cubing.net/cubing.js/":{"username":"cubing_deploy","fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.6.2","chai":"^5.1.1","jszip":"^3.10.1","mocha":"^10.7.3","bun-dx":">=0.1.3","tsdown":"^0.21.10","esbuild":">=0.28.1","typedoc":"^0.28.18","@types/bun":"^1.3.14","bun-dedupe":"^0.0.5","path-class":">=0.15.1","playwright":"^1.58.0","@types/chai":"^5.0.0","@types/node":"^25.0.3","@types/mocha":"^10.0.8","@biomejs/biome":"^2.5.13","@cubing/deploy":">=0.4.11","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":">=0.10.1","@fontsource/ubuntu":"^5.3.0","barely-a-dev-server":">=0.8.3","@schemastore/package":"^0.0.10","@web/dev-server-esbuild":"^2.0.0","printable-shell-command":"^5.3.0","@cubing/comlink-everywhere":">=0.1.2","@typescript/native-preview":"^7.0.0-dev.20260512.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.8"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","patchedDependencies":{"bun-types@1.3.14":"patches/bun-types@1.3.14.patch"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.63.5_1789626482943_0.984737445396858","host":"s3://npm-registry-packages-npm-production"}},"0.63.6":{"name":"cubing","version":"0.63.6","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","bluetooth","rubik","rubik's","Twizzle","scramble","scrambles","alg","algs"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.63.6","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"dbc0b186aad90be945016316638429c407688674","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.63.6.tgz","fileCount":124,"integrity":"sha512-6U5B8XszUWuVshxFFzJcHZ/jGOealWHvNsPt24gbZei4dfui8awy+Xrrvjld6jjm4NZ8bQyYIUfw0ZC7edKaTQ==","signatures":[{"sig":"MEYCIQCorb3F3PMIX5tnD+qJm6uB9MiHryJCCSrdXx6fMBmQLQIhALntwjm00Ha3f1htcPb0V8l9zJtPQujbiLa0pjoaxBSM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGtFDk1bmViU0hR/xzojmKcCgO6Q5CZG6KMDrSN1K0feAiEA2E+YnzN9W/87RPA+HksdUDxseRaQak9XFMI/3ecp978=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5234001},"type":"module","$schema":"./node_modules/@cubing/deploy/config-schema.package.json","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/puzzles/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"61d8e623795a488bda32172f7298fd02741ae2bc","scripts":{"dev":"make dev","build":"make build","postpublish":"make postpublish","prepublishOnly":"make prepublishOnly"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.19.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"26.8.2","dependencies":{"three":"^0.170.0","type-fest":"^5.2.0","@optique/run":"^1.0.1","@types/three":"^0.169.0","@optique/core":"^1.0.1","random-uint-below":"v3.3.0","@cubing/lazy-promise":"0.1.1","@types/web-bluetooth":">=0.0.20"},"@cubing/deploy":{"https://experiments.cubing.net/cubing.js/":{"username":"cubing_deploy","fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.6.2","chai":"^5.1.1","jszip":"^3.10.1","mocha":"^10.7.3","bun-dx":">=0.1.3","tsdown":"^0.21.10","esbuild":">=0.28.1","typedoc":"^0.28.18","@types/bun":"^1.3.14","bun-dedupe":"^0.0.5","path-class":">=0.15.1","playwright":"^1.58.0","@types/chai":"^5.0.0","@types/node":"^25.0.3","@types/mocha":"^10.0.8","@biomejs/biome":"^2.5.13","@cubing/deploy":">=0.4.11","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":">=0.10.1","@fontsource/ubuntu":"^5.3.0","barely-a-dev-server":">=0.8.3","@schemastore/package":"^0.0.10","@web/dev-server-esbuild":"^2.0.0","printable-shell-command":"^5.3.0","@cubing/comlink-everywhere":">=0.1.2","@typescript/native-preview":"^7.0.0-dev.20260512.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.8"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","patchedDependencies":{"bun-types@1.3.14":"patches/bun-types@1.3.14.patch"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.63.6_1789627592622_0.9694658494831871","host":"s3://npm-registry-packages-npm-production"}},"0.63.7":{"name":"cubing","version":"0.63.7","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","bluetooth","rubik","rubik's","Twizzle","scramble","scrambles","alg","algs"],"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","_id":"cubing@0.63.7","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"homepage":"https://github.com/cubing/cubing.js#readme","bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"bin":{"scramble":"dist/bin/scramble.js"},"dist":{"shasum":"b29c72ffcf93c2474c8619dc081189d60f700e03","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.63.7.tgz","fileCount":124,"integrity":"sha512-j+qPrkc+Wj7XYncrs1tIG4RfkhpNVGiIVTtopWN9ZYl57LYgdHEAK9jJcI66i/M7Dt5Veo3HbqPk7mV/DNH3JA==","signatures":[{"sig":"MEUCIHBc3uIcxlcPF4u95G+F6pH0VeENtcV8OqZRATN6+7q5AiEAsq/r3GHvnG56vMmpQVCWmvD4NgehtYtV8/oQXFJA0NA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDcWUEb0MbqtE85b7itVhp/z49p5qLHzIK7YpF3AXpzWwIhANZJdg75dsPSYHn3dpB+XGqOP+/+oI8sfKD8nCoGaPtP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5234370},"type":"module","$schema":"./node_modules/@cubing/deploy/config-schema.package.json","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/puzzles/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"65d4360d9775e6ecc19fe4a089e8a45369de06d3","scripts":{"dev":"make dev","build":"make build","postpublish":"make postpublish","prepublishOnly":"make prepublishOnly"},"_npmUser":{"name":"lgarron","email":"code@garron.net"},"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.19.1","description":"A collection of JavaScript cubing libraries.","directories":{},"_nodeVersion":"26.8.2","dependencies":{"three":"^0.170.0","type-fest":"^5.2.0","@optique/run":"^1.0.1","@types/three":"^0.169.0","@optique/core":"^1.0.1","random-uint-below":"v3.3.0","@cubing/lazy-promise":"0.1.1","@types/web-bluetooth":">=0.0.20"},"@cubing/deploy":{"https://experiments.cubing.net/cubing.js/":{"username":"cubing_deploy","fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.6.2","chai":"^5.1.1","jszip":"^3.10.1","mocha":"^10.7.3","bun-dx":">=0.1.3","tsdown":"^0.21.10","esbuild":">=0.28.1","typedoc":"^0.28.18","@types/bun":"^1.3.14","bun-dedupe":"^0.0.5","path-class":">=0.15.1","playwright":"^1.58.0","@types/chai":"^5.0.0","@types/node":"^25.0.3","@types/mocha":"^10.0.8","@biomejs/biome":"^2.5.13","@cubing/deploy":">=0.4.11","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":">=0.10.1","@fontsource/ubuntu":"^5.3.0","barely-a-dev-server":">=0.8.3","@schemastore/package":"^0.0.10","@web/dev-server-esbuild":"^2.0.0","printable-shell-command":"^5.3.0","@cubing/comlink-everywhere":">=0.1.2","@typescript/native-preview":"^7.0.0-dev.20260512.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.8"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","patchedDependencies":{"bun-types@1.3.14":"patches/bun-types@1.3.14.patch"},"_npmOperationalInternal":{"tmp":"tmp/cubing_0.63.7_1790246085143_0.9054022743276198","host":"s3://npm-registry-packages-npm-production"}},"0.63.8":{"_id":"cubing@0.63.8","bin":{"scramble":"dist/bin/scramble.js"},"bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"dist":{"shasum":"a44692309a382ffea4c7da8e79fc80177bf9f984","tarball":"https://registry.npmjs.org/cubing/-/cubing-0.63.8.tgz","fileCount":124,"integrity":"sha512-suliTEg6p+PgyFcGtp3Y2NLd8gHnZFKYa5+Wd2HK7ciKuQOIuvRiM/on6HTVQuAxz2cNB/7WedgfUjQ1kR0kcA==","signatures":[{"sig":"MEUCIQDjsjQhd3MQ2MA2hKxRzJMSQemeOJ2S9+/IxDtHxQeXnAIgXnVhIVA6b0pcN+vYCkpdoM9tnsGPZzu8T0Djrq8kugo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD1vzwpzOgUD+R7ZFBNooA7ICLUS6LGlXLWaqzii47i0gIhAPm1qMOm9ri38PEddD/ApN9uxIv6vee8/RNGML9Hcb1N"}],"unpackedSize":5234132},"name":"cubing","type":"module","author":{"name":"The js.cubing.net team"},"$schema":"./node_modules/@cubing/deploy/config-schema.package.json","engines":{"bun":">=1.3.0","node":">=22.3.0"},"exports":{"./alg":{"types":"./dist/lib/cubing/alg/index.d.ts","import":"./dist/lib/cubing/alg/index.js"},"./search":{"types":"./dist/lib/cubing/search/index.d.ts","import":"./dist/lib/cubing/search/index.js"},"./stream":{"types":"./dist/lib/cubing/stream/index.d.ts","import":"./dist/lib/cubing/stream/index.js"},"./twisty":{"types":"./dist/lib/cubing/twisty/index.d.ts","import":"./dist/lib/cubing/twisty/index.js"},"./kpuzzle":{"types":"./dist/lib/cubing/kpuzzle/index.d.ts","import":"./dist/lib/cubing/kpuzzle/index.js"},"./puzzles":{"types":"./dist/lib/cubing/puzzles/index.d.ts","import":"./dist/lib/cubing/puzzles/index.js"},"./notation":{"types":"./dist/lib/cubing/notation/index.d.ts","import":"./dist/lib/cubing/notation/index.js"},"./protocol":{"types":"./dist/lib/cubing/protocol/index.d.ts","import":"./dist/lib/cubing/protocol/index.js"},"./scramble":{"types":"./dist/lib/cubing/scramble/index.d.ts","import":"./dist/lib/cubing/scramble/index.js"},"./bluetooth":{"types":"./dist/lib/cubing/bluetooth/index.d.ts","import":"./dist/lib/cubing/bluetooth/index.js"},"./puzzle-geometry":{"types":"./dist/lib/cubing/puzzle-geometry/index.d.ts","import":"./dist/lib/cubing/puzzle-geometry/index.js"}},"gitHead":"d02c02fc90f3410e612315141072a47af03feb97","license":"MPL-2.0 OR GPL-3.0-or-later","scripts":{"dev":"make dev","build":"make build","postpublish":"make postpublish","prepublishOnly":"make prepublishOnly"},"version":"0.63.8","_npmUser":{"name":"lgarron","email":"code@garron.net"},"homepage":"https://github.com/cubing/cubing.js#readme","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","bluetooth","rubik","rubik's","Twizzle","scramble","scrambles","alg","algs"],"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"_npmVersion":"11.19.1","description":"A collection of JavaScript cubing libraries.","directories":{},"maintainers":[{"name":"lgarron","email":"code@garron.net"}],"_nodeVersion":"26.9.0","dependencies":{"three":"^0.170.0","type-fest":"^5.2.0","@optique/run":"^1.0.1","@types/three":"^0.169.0","@optique/core":"^1.0.1","random-uint-below":"v3.3.0","@cubing/lazy-promise":"0.1.1","@types/web-bluetooth":">=0.0.20"},"@cubing/deploy":{"https://experiments.cubing.net/cubing.js/":{"username":"cubing_deploy","fromLocalDir":"./dist/sites/experiments.cubing.net/cubing.js/"}},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.6.2","chai":"^5.1.1","jszip":"^3.10.1","mocha":"^10.7.3","bun-dx":">=0.1.3","tsdown":"^0.21.10","esbuild":">=0.28.1","typedoc":"^0.28.18","@types/bun":"^1.3.14","bun-dedupe":"^0.0.5","path-class":">=0.15.1","playwright":"^1.58.0","@types/chai":"^5.0.0","@types/node":"^25.0.3","@types/mocha":"^10.0.8","@biomejs/biome":"^2.5.13","@cubing/deploy":">=0.4.11","@esm-bundle/chai":"^4.3.4-fix.0","@web/test-runner":"^0.19.0","@cubing/dev-config":">=0.10.1","@fontsource/ubuntu":"^5.3.0","barely-a-dev-server":">=0.8.3","@schemastore/package":"^0.0.10","@web/dev-server-esbuild":"^2.0.0","printable-shell-command":"^5.3.0","@cubing/comlink-everywhere":">=0.1.2","@typescript/native-preview":"^7.0.0-dev.20260512.1","@web/test-runner-playwright":"^0.11.0","@types/dom-speech-recognition":"^0.0.8"},"engines-comment":"`node` 22.3.0 and `bun` 1.2.7 are needed for `globalThis.process.getBuiltinModule(…)`, which helps bundlers avoid thinking our `node` shims require packages from a package manager.","patchedDependencies":{"bun-types@1.3.14":"patches/bun-types@1.3.14.patch"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cubing_0.63.8_1790581827324_0.18243815797154972"}}},"time":{"created":"2018-09-19T06:03:29.897Z","modified":"2026-09-28T07:50:27.857Z","0.0.1":"2018-09-19T06:03:30.014Z","0.9.17":"2018-09-19T07:22:26.689Z","0.9.18":"2018-11-09T08:45:53.953Z","0.10.1":"2020-03-17T02:39:57.936Z","0.10.2":"2020-03-17T08:54:52.891Z","0.10.3":"2020-03-21T21:38:39.109Z","0.10.4":"2020-04-25T04:43:13.522Z","0.10.5":"2020-05-30T22:03:19.633Z","0.10.6":"2020-06-29T04:22:25.448Z","0.11.0":"2020-07-03T07:26:15.611Z","0.11.1":"2020-07-03T08:12:41.506Z","0.11.2":"2020-07-13T08:32:45.365Z","0.11.3":"2020-07-14T09:22:15.115Z","0.11.4":"2020-07-16T09:02:40.537Z","0.11.5":"2020-07-19T09:07:47.658Z","0.11.6":"2020-07-19T09:12:17.076Z","0.11.7":"2020-07-24T08:03:53.959Z","0.12.0":"2020-08-02T12:04:08.584Z","0.12.1":"2020-08-06T08:09:54.619Z","0.12.2":"2020-08-08T07:13:00.432Z","0.12.3":"2020-08-10T08:28:31.970Z","0.12.4":"2020-08-16T01:30:08.627Z","0.12.5":"2020-08-16T07:34:59.239Z","0.12.6":"2020-08-21T10:20:24.810Z","0.12.7":"2020-08-24T00:54:49.554Z","0.12.8":"2020-08-25T07:46:31.733Z","0.12.9":"2020-08-25T09:30:53.450Z","0.12.10":"2020-08-31T03:09:24.975Z","0.12.11":"2020-09-03T02:57:46.738Z","0.12.12":"2020-09-04T01:48:48.842Z","0.12.13":"2020-09-08T12:50:47.976Z","0.12.14":"2020-09-11T06:40:28.604Z","0.12.15":"2020-09-11T07:18:54.184Z","0.12.16":"2020-09-27T00:26:30.560Z","0.12.17":"2020-10-04T06:02:26.743Z","0.12.18":"2020-11-01T02:57:40.862Z","0.12.19":"2020-11-01T03:18:34.948Z","0.13.0":"2020-11-08T11:46:28.563Z","0.14.0":"2020-12-23T22:01:06.296Z","0.14.1":"2020-12-24T03:05:31.783Z","0.14.2":"2020-12-27T09:43:26.767Z","0.14.3":"2020-12-27T22:42:26.686Z","0.14.4":"2021-01-02T13:06:16.085Z","0.14.5":"2021-01-02T13:41:08.984Z","0.14.6":"2021-01-15T05:52:12.789Z","0.14.7":"2021-01-15T06:10:44.019Z","0.14.8":"2021-01-16T00:18:43.191Z","0.15.0":"2021-01-17T23:01:47.205Z","0.15.1":"2021-01-19T21:57:52.255Z","0.15.2":"2021-01-26T11:22:07.173Z","0.15.3":"2021-02-04T08:18:00.897Z","0.15.4":"2021-02-08T10:23:32.987Z","0.15.5":"2021-02-10T10:17:31.774Z","0.15.6":"2021-02-11T06:27:57.065Z","0.15.7":"2021-02-14T00:57:59.586Z","0.16.0":"2021-03-10T09:28:25.765Z","0.16.1":"2021-03-15T14:41:50.307Z","0.16.2":"2021-04-01T22:11:45.799Z","0.16.3":"2021-04-02T05:10:59.168Z","0.16.4":"2021-04-03T01:25:49.973Z","0.16.5":"2021-04-03T23:32:11.303Z","0.16.6":"2021-04-04T08:25:31.506Z","0.16.7":"2021-04-04T09:19:52.311Z","0.17.0":"2021-05-06T12:58:16.183Z","0.18.0":"2021-06-06T08:42:51.697Z","0.18.1":"2021-06-06T10:06:30.269Z","0.18.2":"2021-06-06T10:38:48.807Z","0.18.3-alpha.0":"2021-06-22T22:58:43.218Z","0.18.3-alpha.1":"2021-06-24T21:20:49.349Z","0.18.3-alpha.2":"2021-06-24T23:38:36.755Z","0.18.3-alpha.3":"2021-06-25T02:22:09.255Z","0.18.3-alpha.4":"2021-06-25T12:54:25.671Z","0.18.3-alpha.5":"2021-06-27T02:01:22.483Z","0.18.3":"2021-06-27T03:03:52.072Z","0.18.4":"2021-06-29T22:05:33.941Z","0.18.5":"2021-07-01T01:08:03.504Z","0.18.6":"2021-07-01T10:25:29.618Z","0.18.7":"2021-07-01T11:09:46.185Z","0.18.8":"2021-07-02T05:06:30.861Z","0.18.10":"2021-07-04T02:36:33.160Z","0.18.11":"2021-07-04T06:16:16.599Z","0.18.12":"2021-07-04T07:06:46.813Z","0.18.13":"2021-07-04T07:11:37.342Z","0.18.14":"2021-07-07T13:14:53.508Z","0.18.15":"2021-07-14T05:31:21.252Z","0.19.0":"2021-07-22T07:57:33.855Z","0.19.1":"2021-07-31T10:37:49.933Z","0.20.0":"2021-08-04T20:28:26.989Z","0.20.1":"2021-08-05T08:39:42.060Z","0.20.2":"2021-09-02T20:30:25.639Z","0.21.0-pre1":"2021-09-27T07:19:54.533Z","0.21.0-pre2":"2021-10-02T23:30:39.349Z","0.21.0-pre3":"2021-10-20T09:09:03.642Z","0.21.0-pre4":"2021-10-22T07:05:23.522Z","0.21.0-pre5":"2021-10-26T21:01:49.920Z","0.21.0-pre6":"2021-10-28T21:05:43.050Z","0.21.0-pre7":"2021-11-07T11:33:34.529Z","0.21.0-pre8":"2021-11-14T01:39:40.848Z","0.21.0-pre9":"2021-12-10T13:40:33.465Z","0.21.0-pre10":"2021-12-21T11:41:15.741Z","0.21.0-pre11":"2021-12-22T09:42:04.791Z","0.21.0-pre12":"2021-12-22T12:25:52.968Z","0.21.0":"2021-12-22T12:26:40.058Z","0.21.1":"2021-12-22T12:42:13.967Z","0.21.2":"2021-12-29T13:23:38.017Z","0.21.3":"2021-12-29T14:10:27.290Z","0.22.0":"2021-12-30T10:14:44.866Z","0.22.1":"2022-01-10T08:13:59.873Z","0.23.0":"2022-01-14T07:48:27.049Z","0.24.0-pre1":"2022-01-19T23:13:01.533Z","0.24.0-pre2":"2022-01-20T04:49:51.101Z","0.24.0-pre3":"2022-01-20T07:42:18.221Z","0.24.0-pre4":"2022-01-20T10:10:30.833Z","0.24.0-pre5":"2022-01-20T20:12:51.172Z","0.24.0":"2022-01-22T01:23:42.599Z","0.24.1":"2022-01-22T02:11:50.795Z","0.24.2":"2022-01-22T21:31:43.656Z","0.24.3":"2022-01-24T04:17:27.698Z","0.24.4":"2022-01-24T05:00:57.994Z","0.24.5":"2022-01-24T05:35:21.934Z","0.24.6":"2022-01-24T06:24:49.085Z","0.24.7":"2022-01-24T19:33:27.235Z","0.25.0":"2022-01-25T09:28:20.317Z","0.25.1":"2022-01-25T11:31:58.214Z","0.25.2":"2022-01-27T20:07:37.447Z","0.25.3":"2022-01-31T11:04:30.721Z","0.25.4":"2022-02-06T02:21:41.598Z","0.25.5":"2022-02-06T02:40:09.110Z","0.25.6":"2022-02-06T10:10:07.637Z","0.25.7":"2022-02-17T20:02:06.079Z","0.25.8":"2022-02-19T09:13:19.530Z","0.25.9":"2022-02-19T09:31:58.228Z","0.25.10":"2022-02-24T01:19:46.406Z","0.25.11":"2022-02-24T02:44:42.706Z","0.25.12":"2022-02-25T02:34:00.287Z","0.25.13":"2022-02-25T03:33:43.132Z","0.25.14":"2022-03-27T22:57:49.596Z","0.26.0":"2022-03-30T00:34:37.564Z","0.26.1":"2022-03-30T22:49:20.788Z","0.26.2":"2022-04-20T11:38:13.602Z","0.26.3":"2022-04-20T11:53:03.527Z","0.26.4":"2022-07-08T04:03:43.020Z","0.26.5":"2022-07-09T08:03:59.300Z","0.26.6":"2022-07-09T09:09:17.234Z","0.26.7":"2022-07-16T23:33:23.010Z","0.27.0":"2022-07-18T10:03:33.803Z","0.28.0":"2022-07-19T00:07:26.660Z","0.28.1":"2022-07-25T21:29:29.809Z","0.28.2":"2022-08-06T10:12:00.109Z","0.28.4":"2022-08-23T04:39:59.017Z","0.29.0":"2022-09-04T02:27:13.843Z","0.29.1":"2022-09-09T00:28:42.420Z","0.29.2":"2022-09-25T06:33:33.263Z","0.30.0":"2022-09-27T09:42:52.072Z","0.31.0":"2022-10-15T00:40:17.157Z","0.31.1":"2022-10-26T10:15:06.375Z","0.31.2":"2022-10-29T01:07:23.365Z","0.31.3":"2022-10-29T01:48:38.840Z","0.31.4":"2022-10-29T03:20:10.146Z","0.31.5":"2022-11-01T07:14:38.129Z","0.31.6":"2022-11-02T00:05:35.551Z","0.31.7":"2022-11-07T07:41:16.567Z","0.32.0":"2022-11-16T01:03:01.190Z","0.32.1":"2022-11-16T02:07:44.497Z","0.32.2":"2022-11-17T22:52:26.357Z","0.33.0":"2022-11-21T08:17:59.304Z","0.33.1":"2022-11-21T08:50:24.997Z","0.33.2":"2022-11-23T08:34:43.477Z","0.33.3":"2022-11-25T00:41:20.394Z","0.33.4":"2022-11-26T04:17:02.534Z","0.33.5":"2022-11-26T10:51:57.733Z","0.34.0":"2022-12-02T03:17:55.627Z","0.34.1":"2022-12-02T04:10:15.434Z","0.34.2":"2022-12-02T13:00:30.632Z","0.34.3":"2022-12-03T03:15:39.081Z","0.34.4":"2022-12-09T05:18:00.141Z","0.34.5":"2022-12-09T05:38:02.376Z","0.34.6":"2022-12-09T09:10:15.405Z","0.35.0":"2023-01-04T05:26:23.431Z","0.35.1":"2023-01-04T05:48:16.625Z","0.35.2":"2023-01-04T05:57:01.107Z","0.35.3":"2023-01-04T12:10:11.697Z","0.35.4":"2023-01-05T06:19:05.493Z","0.35.5":"2023-01-05T10:04:09.034Z","0.35.6":"2023-01-06T14:06:08.989Z","0.35.7":"2023-01-30T09:55:38.648Z","0.35.8":"2023-01-30T10:32:10.283Z","0.35.9":"2023-01-30T10:39:00.459Z","0.35.10":"2023-01-30T10:53:17.868Z","0.35.11":"2023-02-02T09:32:34.940Z","0.35.12":"2023-02-16T09:23:31.401Z","0.35.13":"2023-02-20T19:55:12.342Z","0.35.14":"2023-02-20T22:09:45.074Z","0.35.15":"2023-02-20T22:30:51.605Z","0.35.16":"2023-03-06T22:39:51.060Z","0.35.17":"2023-03-12T00:27:29.643Z","0.35.18":"2023-03-17T23:03:20.086Z","0.35.19":"2023-03-21T02:40:52.629Z","0.36.0":"2023-03-21T03:39:04.873Z","0.36.1":"2023-03-24T01:35:19.990Z","0.36.2":"2023-05-10T01:53:06.760Z","0.36.3":"2023-05-28T05:54:21.491Z","0.37.0-pre1":"2023-05-29T07:05:11.608Z","0.37.0-pre2":"2023-05-30T03:18:39.403Z","0.37.0":"2023-06-06T17:46:57.163Z","0.38.0":"2023-06-26T19:22:20.368Z","0.38.1":"2023-06-26T19:45:16.842Z","0.39.0":"2023-07-24T04:32:38.517Z","0.39.1":"2023-07-25T05:58:02.659Z","0.40.0":"2023-08-21T12:38:08.897Z","0.41.0":"2023-08-26T10:44:22.212Z","0.41.1":"2023-08-28T06:46:53.174Z","0.42.0":"2023-09-01T10:06:18.242Z","0.42.1":"2023-09-07T04:14:18.063Z","0.43.0":"2023-09-13T08:05:58.938Z","0.43.1":"2023-09-13T08:18:41.511Z","0.43.2":"2023-09-13T08:35:41.141Z","0.43.3":"2023-09-17T09:41:49.143Z","0.43.4":"2023-09-17T09:52:52.980Z","0.43.5":"2023-10-25T17:24:32.905Z","0.43.6":"2023-10-26T08:11:41.739Z","0.43.7":"2023-10-27T06:42:11.296Z","0.43.8":"2023-10-28T02:24:32.196Z","0.43.9":"2023-11-23T23:34:01.203Z","0.43.10":"2023-11-24T04:22:34.622Z","0.43.11":"2023-12-21T03:44:06.731Z","0.44.0":"2023-12-30T11:26:15.998Z","0.44.1":"2023-12-31T05:12:32.113Z","0.45.0":"2024-01-05T17:19:00.523Z","0.45.1":"2024-01-14T07:56:50.189Z","0.46.0":"2024-01-15T09:51:00.366Z","0.46.1":"2024-01-16T20:19:07.341Z","0.46.2":"2024-01-22T04:39:14.262Z","0.47.0":"2024-01-24T10:49:30.693Z","0.47.1":"2024-02-04T03:47:18.943Z","0.48.0":"2024-03-17T06:30:51.341Z","0.48.1":"2024-03-17T06:52:02.739Z","0.48.2":"2024-03-17T06:55:10.277Z","0.48.3":"2024-04-04T17:59:22.979Z","0.48.4":"2024-04-30T17:36:49.668Z","0.49.0":"2024-06-05T08:27:57.718Z","0.49.1":"2024-07-03T01:25:32.376Z","0.49.2":"2024-07-03T01:39:42.124Z","0.49.3":"2024-07-10T01:17:20.306Z","0.50.0":"2024-07-12T06:44:30.785Z","0.50.1":"2024-07-18T10:19:16.225Z","0.51.0":"2024-07-28T11:16:03.417Z","0.51.1":"2024-08-31T21:19:10.472Z","0.51.2":"2024-09-09T22:12:42.344Z","0.52.0":"2024-09-14T02:33:22.852Z","0.52.1":"2024-09-15T00:01:41.418Z","0.52.2":"2024-10-07T04:26:13.239Z","0.52.3":"2024-10-16T20:02:44.885Z","0.52.4":"2024-10-24T18:02:31.099Z","0.53.0":"2024-10-29T01:08:25.655Z","0.53.1":"2024-10-29T22:04:32.779Z","0.53.2":"2024-10-30T01:15:23.929Z","0.53.3":"2024-10-30T01:43:12.578Z","0.53.4":"2024-11-08T22:18:06.360Z","0.53.5":"2024-11-18T21:36:50.397Z","0.53.6":"2024-11-24T18:06:38.803Z","0.53.7":"2024-11-28T00:55:21.395Z","0.53.8":"2024-11-30T08:58:50.915Z","0.53.9":"2025-01-02T02:35:11.071Z","0.53.10":"2025-01-04T14:51:04.418Z","0.53.11":"2025-01-16T13:06:02.688Z","0.53.12":"2025-01-20T13:03:50.102Z","0.53.13":"2025-01-20T21:23:03.315Z","0.53.14":"2025-02-01T09:19:39.463Z","0.53.15":"2025-02-01T12:48:09.355Z","0.54.0":"2025-02-02T09:00:00.603Z","0.54.1":"2025-02-02T09:34:22.591Z","0.54.2":"2025-02-24T05:05:23.442Z","0.54.3":"2025-03-01T01:07:19.265Z","0.54.4":"2025-03-10T12:42:33.778Z","0.54.5":"2025-03-24T09:20:22.157Z","0.55.0":"2025-03-25T01:01:11.258Z","0.55.1":"2025-03-30T03:42:09.104Z","0.55.2":"2025-03-30T04:23:02.467Z","0.56.0":"2025-04-17T16:46:56.412Z","0.57.0":"2025-07-06T07:26:02.696Z","0.57.1":"2025-07-06T20:52:22.833Z","0.57.2":"2025-07-16T12:34:55.937Z","0.57.3":"2025-07-20T03:49:40.946Z","0.57.4":"2025-07-20T07:04:01.444Z","0.58.0":"2025-07-28T10:04:35.674Z","0.58.1":"2025-08-01T05:32:50.444Z","0.58.2":"2025-08-13T14:51:01.428Z","0.59.0":"2025-10-31T20:03:26.688Z","0.59.1":"2025-11-02T04:06:36.332Z","0.59.2":"2025-11-03T01:46:38.723Z","0.59.3":"2025-11-03T02:32:58.803Z","0.60.0":"2025-11-10T21:09:26.151Z","0.60.1":"2025-11-13T05:19:05.694Z","0.61.0":"2025-11-21T23:53:09.902Z","0.61.1":"2025-12-25T07:54:30.256Z","0.61.2":"2026-01-03T01:54:15.808Z","0.61.3":"2026-01-06T22:55:38.432Z","0.62.0":"2026-01-13T12:53:28.028Z","0.62.1":"2026-01-13T13:04:16.329Z","0.62.2":"2026-01-13T13:18:50.061Z","0.63.0":"2026-01-20T22:47:00.899Z","0.63.2":"2026-02-14T02:38:59.451Z","0.63.3":"2026-02-26T04:21:55.110Z","0.63.4":"2026-08-24T12:52:17.043Z","0.63.5":"2026-09-17T06:28:03.082Z","0.63.6":"2026-09-17T06:46:32.765Z","0.63.7":"2026-09-24T10:34:45.269Z","0.63.8":"2026-09-28T07:50:27.464Z"},"bugs":{"url":"https://github.com/cubing/cubing.js/issues"},"author":{"name":"The js.cubing.net team"},"license":"MPL-2.0 OR GPL-3.0-or-later","homepage":"https://github.com/cubing/cubing.js#readme","keywords":["cubing","speedcubing","puzzle","visualization","kpuzzle","bluetooth","rubik","rubik's","Twizzle","scramble","scrambles","alg","algs"],"repository":{"url":"git+https://github.com/cubing/cubing.js.git","type":"git"},"description":"A collection of JavaScript cubing libraries.","maintainers":[{"name":"lgarron","email":"code@garron.net"}],"readme":"<img src=\"cubing.js.png\" alt=\"cubing.js\" width=\"512\">\n\n`cubing.js` is a collection of JavaScript libraries, still under development.\n\n## Twizzle\n\n<a href=\"https://alpha.twizzle.net/\"><img src=\"./src/sites/alpha.twizzle.net/twizzle-social-media-image.png\" width=\"256\">\n\nTwizzle</a> is the spiritual successor to [alg.cubing.net](https://alg.cubing.net/), based on `cubing.js`. It is currently being developed at [src/sites/alpha.twizzle.net](./src/sites/alpha.twizzle.net/). See the [Twizzle Diaries](https://www.youtube.com/watch?v=9_kqXn0Mq-o&list=PLFh3NgpDbzN4VkcfjEZSQ_TYQv_OEjbjF) video series for more information on Twizzle's vision and use cases.\n\n## Getting started\n\nIf you're just getting started, the easiest way to use `cubing.js` is through `cdn.cubing.net`:\n\n```html\n<script src=\"https://cdn.cubing.net/v0/js/cubing/twisty\" type=\"module\"></script>\n<twisty-player alg=\"R U R' U R U2' R'\"></twisty-player>\n```\n\nYou can find more documentation at [js.cubing.net/cubing/](https://js.cubing.net/cubing).\n\n## Using with `node` and `npm`\n\nIf you would like to use `cubing.js` as a library in your package-based projects, make sure you have [node](https://nodejs.org/en/) and [npm](https://docs.npmjs.com/getting-started) installed (installing `node` will install `npm` as well). Once you have installed those, you can run:\n\n```shell\nnpm install cubing\n```\n\nThen you can use modules like this:\n\n```js\nimport { Alg } from \"cubing/alg\";\nimport { TwistyPlayer } from \"cubing/twisty\";\n```\n\nPlease note that `cubing.js` requires ES2022 module compatibility. See [here](https://js.cubing.net/cubing/#javascript).\n\n## Contributing\n\nIf you would like to contribute to the development of `cubing.js`, please refer to our [contribution guidelines](./CONTRIBUTING.md).\n\n## Developing `cubing.js` itself\n\nWorking on `cubing.js` requires the following tools:\n\n- [`GNU make`](https://www.gnu.org/software/make/) (probably included with your OS)\n- [`git`](https://git-scm.com/) (possibly included with your OS)\n- [`git-lfs`](https://git-lfs.com/)\n- [`bun`](https://bun.sh/)\n- [`node` and `npm`](https://nodejs.org/en/download)\n\nOn macOS, you can install these using [Homebrew](https://brew.sh/):\n\n```shell\nbrew install git git-lfs node oven-sh/bun/bun\n```\n\n(On other platforms, you'll have to follow individual installation instructions. We recommend using [WSL](https://learn.microsoft.com/en-us/windows/wsl/install) on Windows.)\n\nOnce you have these dependencies, you can run the `cubing.js` source like this (see the [contribution guidelines](./CONTRIBUTING.md) for more details):\n\n```shell\ngit clone https://github.com/cubing/cubing.js && cd cubing.js\nmake dev\n# Now visit http://cubing.localhost:3333\n```\n\nTo quickly check any changes for issues, try `make check-fast`. Run `make check` to run all possible checks.\n\n### Developing on Windows\n\nWe recommend using Microsoft's [Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/about) to develop `cubing.js` on Windows.\n\n## Release notes\n\nFor release versions and release notes, view the release history on GitHub: <https://github.com/cubing/cubing.js/releases>\n\n## License\n\nThis project is licensed under the Mozilla Public License. This means that `cubing.js` is **free to use** in any public or private project. We've selected this license so that `cubing.js` can be used in a large variety of use cases.\n\nHowever, if you modify the source code of `cubing.js` to fit your needs then you **must publish your modifications to the `cubing.js` source code** (e.g. publish a fork put it on GitHub). See [the full license](./LICENSE-MPL.md) for exact details.\n\nAlthough you are no longer required to publish code that uses `cubing.js`, we encourage you to develop your projects as open-source. This way, others can learn from your work and build on it far into the future. It also allows us to tell how features are being used by projects in the community, and what new features are needed.\n\n### Fine Print\n\nAll original code in this project is dual-licensed as both [GPL](./LICENSE-GPL.md) and [MPL](./LICENSE-MPL.md), but the codebase contains additional vendored code under the [Apache](./src/cubing/vendor/apache/), [MIT](./src/cubing/vendor/mit/), and [Ubuntu Font](./src/sites/experiments.cubing.net/cubing.js/vendor/fonts/ubuntu/) licenses. This may affect you if you are forking the source code, as certain parts are not MPL-licensed on their own. But if you are just using `cubing.js` as a library, you can effectively treat all of `cubing.js` as if it was MPL-licensed.\n\n## Acknowledgments\n\nAs of this time, `cubing.js` primarily contains code by [Lucas Garron (@lgarron)](https://github.com/lgarron) and [Tom Rokicki (@rokicki)](https://github.com/rokicki). Significant parts of the cubing code also are from:\n\n- [Chen Shuang (@cs0x7f)](https://github.com/cs0x7f): Scramblers for 3x3x3, 4x4x4, and Square-1\n- [`xyxxy` (@torchlight)](https://github.com/torchlight): Scramblers for unofficial events\n\nIt also uses the [`three.js`](https://github.com/mrdoob/three.js) and a vendored fork of [`comlink`](https://github.com/GoogleChromeLabs/comlink). Twizzle also uses the [Ubuntu font](https://design.ubuntu.com/font/).\n\n## LLM usage policy\n\nWe follow the same LLM usage policy as the Rust project. In particular, the exact version at https://github.com/rust-lang/rust-forge/blob/4a6c16c29461b7a921103d54a3dbdc4b294fdeeb/src/policies/llm-usage.md is in effect.\n\nNote the following quotes from the policy and from Rust's [corresponding announcement](https://blog.rust-lang.org/inside-rust/2026/08/05/rust-langrust-is-adopting-an-llm-policy/):\n\n> It’s fine to use LLMs to answer questions, analyze, distill, refine, check, suggest, review. But not to **create**.\n\n> No one except the author is required to read LLM output unless they choose to: LLM output isn't allowed in public docs, PR descriptions, or GitHub comments unless it's clearly marked; reviewers aren't required to look at LLM PRs if they don't want to.\n\n> **You must disclose LLM-generated content.** You can choose to not post LLM content, or you can choose to post it and disclose its origin. You may not hide LLM involvement.\n\nWhether you are a human or an LLM agent, please be advised that everything prepared using LLMs (including all prose and code) must be disclosed as such, and that any code contributions authored by an LLM (in whole or in part) are likely to be rejected.\n","readmeFilename":"README.md"}