{"_id":"drunkmode-puzzles","_rev":"67-3c5f8d65575358455b93d041caad1ce8","name":"drunkmode-puzzles","dist-tags":{"latest":"0.1.17-b"},"versions":{"0.1.8":{"name":"drunkmode-puzzles","version":"0.1.8","description":"Library used for creating custom puzzles for the Drunk Mode app","main":"dist/index.js","repository":{"type":"git","url":"git+https://github.com/noodleofdeath/drunkmode-puzzles.git"},"keywords":["drunkmode","puzzles"],"scripts":{"build":"esbuild index.ts --bundle --platform=node --target=node14 --format=cjs --outdir=dist","publish":"yarn build && npm publish"},"author":{"name":"NoodleOfDeath"},"license":"MIT","bugs":{"url":"https://github.com/noodleofdeath/drunkmode-puzzles/issues"},"homepage":"https://github.com/noodleofdeath/drunkmode-puzzles#readme","devDependencies":{"@types/archiver":"^6.0.2","@typescript-eslint/eslint-plugin":"^5.43.0","@typescript-eslint/parser":"^7.0.2","archiver":"^7.0.1","eslint":"^8.36.0","eslint-config-prettier":"^8.7.0","eslint-plugin-import":"^2.25.2","eslint-plugin-import-newlines":"^1.3.1","eslint-plugin-markdown":"^3.0.0","eslint-plugin-prettier":"^4.2.1","eslint-plugin-promise":"^6.0.0","eslint-plugin-react":"^7.32.2","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-native":"^4.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-scope":"^7.1.1","tsx":"^4.7.1","typescript":"*"},"_id":"drunkmode-puzzles@0.1.8","gitHead":"70c860bcc8f13a7c3c09e29c4c45a8674df61fed","_nodeVersion":"21.6.2","_npmVersion":"10.2.4","dist":{"integrity":"sha512-zqKrAmf/hkx3dX5bmtK/FNelMMYhB+d+KAW+A6O4Eh8mqFyHLmHWbv5PKYDbF7PxP+po5lCOM6RVbDgShJNLsQ==","shasum":"8bd86a158637fbf252a6aa8f9c8760cdd609b55a","tarball":"https://registry.npmjs.org/drunkmode-puzzles/-/drunkmode-puzzles-0.1.8.tgz","fileCount":10,"unpackedSize":269389,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEtRAam6zuQ1yekUMbG6+VB+6KG2lMgM+UbwIwQ0NN7TAiEAol0yN/Wj9RChQQEQYRTAZXSBkCOUHKk//KqPRn46aK0="}]},"_npmUser":{"name":"noodleofdeath","email":"thom@noodleofdeath.com"},"directories":{},"maintainers":[{"name":"noodleofdeath","email":"thom@noodleofdeath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drunkmode-puzzles_0.1.8_1712925041142_0.07708502828557995"},"_hasShrinkwrap":false},"0.1.13-c":{"name":"drunkmode-puzzles","version":"0.1.13-c","description":"Library used for creating custom puzzles for the Drunk Mode app","main":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"repository":{"type":"git","url":"git+https://github.com/noodleofdeath/drunkmode-puzzles.git"},"keywords":["drunkmode","puzzles"],"scripts":{"clean":"rimraf dist","prebuild":"yarn clean","build":"tsc","preversion":"yarn build","version":"npm publish","publish":"yarn build && npm publish","create-puzzle":"tsx dev-tools/create.ts"},"author":{"name":"NoodleOfDeath"},"license":"MIT","bugs":{"url":"https://github.com/noodleofdeath/drunkmode-puzzles/issues"},"homepage":"https://github.com/noodleofdeath/drunkmode-puzzles#readme","peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","styled-components":"^6.1.8"},"devDependencies":{"@types/archiver":"^6.0.2","@types/argparse":"^2.0.16","@types/node":"^20.12.7","@types/react":"^18.2.77","@typescript-eslint/eslint-plugin":"^5.43.0","@typescript-eslint/parser":"^7.0.2","archiver":"^7.0.1","argparse":"^2.0.1","eslint":"^8.36.0","eslint-config-prettier":"^8.7.0","eslint-plugin-import":"^2.25.2","eslint-plugin-import-newlines":"^1.3.1","eslint-plugin-markdown":"^3.0.0","eslint-plugin-prettier":"^4.2.1","eslint-plugin-promise":"^6.0.0","eslint-plugin-react":"^7.32.2","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-native":"^4.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-scope":"^7.1.1","tsx":"^4.7.1","typescript":"*"},"licenseText":"## License\n\nThe MIT License (MIT)\n=====================\n\nCopyright © `2024` `Read Less LLC`\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the “Software”), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n","_id":"drunkmode-puzzles@0.1.13-c","dist":{"shasum":"b8be298b9b9d086efb7794f860f945a161b882c9","integrity":"sha512-1k0YdWZR0LtJh7vRhmO6Naagteg3TYhwRsjJFsWX2qcuBUNm8pm3Y2GwsJXDNG+gGpdJ2zO7TWW8/M8+poJksA==","tarball":"https://registry.npmjs.org/drunkmode-puzzles/-/drunkmode-puzzles-0.1.13-c.tgz","fileCount":11,"unpackedSize":17876,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICWZzpRM6cCiKajEzO1b4JMuBVbStvJJ488Pr9DAwq2OAiAM4DiG9eB8ap50B+qqF/F9pmwKizPYMVngU/P5miC1YQ=="}]},"_npmUser":{"name":"noodleofdeath","email":"thom@noodleofdeath.com"},"directories":{},"maintainers":[{"name":"noodleofdeath","email":"thom@noodleofdeath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drunkmode-puzzles_0.1.13-c_1712934141207_0.47029628992695516"},"_hasShrinkwrap":false},"0.1.13-f":{"name":"drunkmode-puzzles","version":"0.1.13-f","description":"Library used for creating custom puzzles for the Drunk Mode app","main":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"repository":{"type":"git","url":"git+https://github.com/noodleofdeath/drunkmode-puzzles.git"},"keywords":["drunkmode","puzzles"],"scripts":{"clean":"rimraf dist","prebuild":"yarn clean","build":"tsc","preversion":"yarn build","version":"npm publish","publish":"yarn build && npm publish","imdrunk":"tsx dev-tools/create.ts"},"author":{"name":"NoodleOfDeath"},"license":"MIT","bugs":{"url":"https://github.com/noodleofdeath/drunkmode-puzzles/issues"},"homepage":"https://github.com/noodleofdeath/drunkmode-puzzles#readme","peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"devDependencies":{"@types/archiver":"^6.0.2","@types/argparse":"^2.0.16","@types/node":"^20.12.7","@types/react":"^18.2.77","@typescript-eslint/eslint-plugin":"^5.43.0","@typescript-eslint/parser":"^7.0.2","archiver":"^7.0.1","argparse":"^2.0.1","eslint":"^8.36.0","eslint-config-prettier":"^8.7.0","eslint-plugin-import":"^2.25.2","eslint-plugin-import-newlines":"^1.3.1","eslint-plugin-markdown":"^3.0.0","eslint-plugin-prettier":"^4.2.1","eslint-plugin-promise":"^6.0.0","eslint-plugin-react":"^7.32.2","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-native":"^4.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-scope":"^7.1.1","tsx":"^4.7.1","typescript":"*"},"dependencies":{"drunkmode-puzzles":"^0.1.13-c"},"licenseText":"## License\n\nThe MIT License (MIT)\n=====================\n\nCopyright © `2024` `Read Less LLC`\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the “Software”), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n","_id":"drunkmode-puzzles@0.1.13-f","dist":{"shasum":"0b0fba0326fb24764214a22cb61584e05ec886f8","integrity":"sha512-ywsWdiMPX0/+Us1Ma3fUSskxO1LgcCR0OrIjcsIFC64WGE/XfhQSTJBrIWyX5dYV4FCfSODbOY/Uhrx1miBT5A==","tarball":"https://registry.npmjs.org/drunkmode-puzzles/-/drunkmode-puzzles-0.1.13-f.tgz","fileCount":11,"unpackedSize":19588,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICxRL8cmd3pEbY42j+Wohnz4s6FphlidtzaZKz+GQZP0AiA7sTJ7PNkadYyfnKZgDqv/zRCPhPMKFvMvwbLjYbgp6g=="}]},"_npmUser":{"name":"noodleofdeath","email":"thom@noodleofdeath.com"},"directories":{},"maintainers":[{"name":"noodleofdeath","email":"thom@noodleofdeath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drunkmode-puzzles_0.1.13-f_1713363107244_0.24242676994557666"},"_hasShrinkwrap":false},"0.1.13":{"name":"drunkmode-puzzles","version":"0.1.13","description":"Library used for creating custom puzzles for the Drunk Mode app","main":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"repository":{"type":"git","url":"git+https://github.com/noodleofdeath/drunkmode-puzzles.git"},"keywords":["drunkmode","puzzles"],"scripts":{"clean":"rimraf dist","prebuild":"yarn clean","build":"tsc","preversion":"yarn build","version":"npm publish","publish":"yarn build && npm publish","imdrunk":"tsx dev-tools/create.ts"},"author":{"name":"NoodleOfDeath"},"license":"MIT","bugs":{"url":"https://github.com/noodleofdeath/drunkmode-puzzles/issues"},"homepage":"https://github.com/noodleofdeath/drunkmode-puzzles#readme","peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"devDependencies":{"@types/archiver":"^6.0.2","@types/argparse":"^2.0.16","@types/node":"^20.12.7","@types/react":"^18.2.77","@typescript-eslint/eslint-plugin":"^5.43.0","@typescript-eslint/parser":"^7.0.2","archiver":"^7.0.1","argparse":"^2.0.1","eslint":"^8.36.0","eslint-config-prettier":"^8.7.0","eslint-plugin-import":"^2.25.2","eslint-plugin-import-newlines":"^1.3.1","eslint-plugin-markdown":"^3.0.0","eslint-plugin-prettier":"^4.2.1","eslint-plugin-promise":"^6.0.0","eslint-plugin-react":"^7.32.2","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-native":"^4.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-scope":"^7.1.1","tsx":"^4.7.1","typescript":"*"},"dependencies":{"drunkmode-puzzles":"^0.1.13-c"},"_id":"drunkmode-puzzles@0.1.13","gitHead":"fae117c7efac37d9d4c3363759406c2afb2b041e","types":"./dist/index.d.ts","_nodeVersion":"21.6.2","_npmVersion":"10.2.4","dist":{"integrity":"sha512-X2lqyW1uHe0FCjeKbfjYy2XzLkV7FvthcfTdN3BSCWq2aXvLk+PeHp6neycsPMhIeFTlxnRq23Rm2tSao5Pd9w==","shasum":"17d4dc30ae22d6fb744a2e5c87f957c564ae5a69","tarball":"https://registry.npmjs.org/drunkmode-puzzles/-/drunkmode-puzzles-0.1.13.tgz","fileCount":9,"unpackedSize":21048,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEmx7zGykvk6/uKpK53sHnEZqK8tJbE0DTYkw1R4OqWrAiEA5EnDj2HcE8tTvpWtoQPNJISO+r6RTeZ2ri/skAyFBtI="}]},"_npmUser":{"name":"noodleofdeath","email":"thom@noodleofdeath.com"},"directories":{},"maintainers":[{"name":"noodleofdeath","email":"thom@noodleofdeath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drunkmode-puzzles_0.1.13_1715442625151_0.46532139390385296"},"_hasShrinkwrap":false},"0.1.14":{"name":"drunkmode-puzzles","version":"0.1.14","description":"Library used for creating custom puzzles for the Drunk Mode app","main":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"repository":{"type":"git","url":"git+https://github.com/noodleofdeath/drunkmode-puzzles.git"},"keywords":["drunkmode","puzzles"],"scripts":{"clean":"rimraf dist","prebuild":"yarn clean","build":"tsc","preversion":"yarn build","version":"npm publish","publish":"yarn build && npm publish","imdrunk":"tsx dev-tools/create.ts"},"author":{"name":"NoodleOfDeath"},"license":"MIT","bugs":{"url":"https://github.com/noodleofdeath/drunkmode-puzzles/issues"},"homepage":"https://github.com/noodleofdeath/drunkmode-puzzles#readme","peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"devDependencies":{"@types/archiver":"^6.0.2","@types/argparse":"^2.0.16","@types/node":"^20.12.7","@types/react":"^18.2.77","@typescript-eslint/eslint-plugin":"^5.43.0","@typescript-eslint/parser":"^7.0.2","archiver":"^7.0.1","argparse":"^2.0.1","eslint":"^8.36.0","eslint-config-prettier":"^8.7.0","eslint-plugin-import":"^2.25.2","eslint-plugin-import-newlines":"^1.3.1","eslint-plugin-markdown":"^3.0.0","eslint-plugin-prettier":"^4.2.1","eslint-plugin-promise":"^6.0.0","eslint-plugin-react":"^7.32.2","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-native":"^4.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-scope":"^7.1.1","tsx":"^4.7.1","typescript":"*"},"dependencies":{"drunkmode-puzzles":"^0.1.13-c"},"_id":"drunkmode-puzzles@0.1.14","gitHead":"fae117c7efac37d9d4c3363759406c2afb2b041e","types":"./dist/index.d.ts","_nodeVersion":"21.6.2","_npmVersion":"10.2.4","dist":{"integrity":"sha512-FquWaVcTu6b+f7d7SIXfNJXmABsX58Y/sEHIwxpe8soKcA81WV4WxdYheXqhuJNn9TepsBU+llcAlr+Y9Q7wMw==","shasum":"3a220d95cb179834487e26c7ae492a9872c58308","tarball":"https://registry.npmjs.org/drunkmode-puzzles/-/drunkmode-puzzles-0.1.14.tgz","fileCount":9,"unpackedSize":21048,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAyfdcEeyo8lbPWkuTTYvcSCRe8u0e8Xe8/K0N8yceM/AiBa4s8uhDn77svu0tVO6oZa1+rPjby9OpMi9/+VXYLaww=="}]},"_npmUser":{"name":"noodleofdeath","email":"thom@noodleofdeath.com"},"directories":{},"maintainers":[{"name":"noodleofdeath","email":"thom@noodleofdeath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drunkmode-puzzles_0.1.14_1715442664639_0.397559447600359"},"_hasShrinkwrap":false},"0.1.15":{"name":"drunkmode-puzzles","version":"0.1.15","description":"Library used for creating custom puzzles for the Drunk Mode app","main":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"repository":{"type":"git","url":"git+https://github.com/noodleofdeath/drunkmode-puzzles.git"},"keywords":["drunkmode","puzzles"],"scripts":{"clean":"rimraf dist","prebuild":"yarn clean","build":"tsc","preversion":"yarn build","version":"npm publish","publish":"yarn build && npm publish","export":"tsx dev-tools/export.ts","imdrunk":"tsx dev-tools/create.ts"},"author":{"name":"NoodleOfDeath"},"license":"MIT","bugs":{"url":"https://github.com/noodleofdeath/drunkmode-puzzles/issues"},"homepage":"https://github.com/noodleofdeath/drunkmode-puzzles#readme","peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"devDependencies":{"@types/archiver":"^6.0.2","@types/argparse":"^2.0.16","@types/node":"^20.12.7","@types/react":"^18.2.77","@typescript-eslint/eslint-plugin":"^5.43.0","@typescript-eslint/parser":"^7.0.2","archiver":"^7.0.1","argparse":"^2.0.1","eslint":"^8.36.0","eslint-config-prettier":"^8.7.0","eslint-plugin-import":"^2.25.2","eslint-plugin-import-newlines":"^1.3.1","eslint-plugin-markdown":"^3.0.0","eslint-plugin-prettier":"^4.2.1","eslint-plugin-promise":"^6.0.0","eslint-plugin-react":"^7.32.2","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-native":"^4.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-scope":"^7.1.1","tsx":"^4.7.1","typescript":"*"},"dependencies":{"drunkmode-puzzles":"^0.1.13-c"},"_id":"drunkmode-puzzles@0.1.15","gitHead":"1ebea3122e6cac2ae0bbad6cf8d0ba181d7538cc","types":"./dist/index.d.ts","_nodeVersion":"21.6.2","_npmVersion":"10.2.4","dist":{"integrity":"sha512-aPkZuwkYCMGlZVXxryT/Tn6GVawO7jHuqr8XuY1h865dRrizcmNqtdHtQy8rntDXq1EhVjNdVj1YuMrIhMjr0g==","shasum":"4827191583bd8247d2b554f0c36af24b5cd51268","tarball":"https://registry.npmjs.org/drunkmode-puzzles/-/drunkmode-puzzles-0.1.15.tgz","fileCount":9,"unpackedSize":21087,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGNZMVC4CfkJy05Wa06Lb6/369igwZh0IcenCiMmmWHEAiEAj6OgnQAC6/ntvbz6Ghx/5w/dc3bAlxmWzwCbZNu58kM="}]},"_npmUser":{"name":"noodleofdeath","email":"thom@noodleofdeath.com"},"directories":{},"maintainers":[{"name":"noodleofdeath","email":"thom@noodleofdeath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drunkmode-puzzles_0.1.15_1715444316024_0.543760037506666"},"_hasShrinkwrap":false},"0.1.16":{"name":"drunkmode-puzzles","version":"0.1.16","description":"Library used for creating custom puzzles for the Drunk Mode app","main":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"repository":{"type":"git","url":"git+https://github.com/noodleofdeath/drunkmode-puzzles.git"},"keywords":["drunkmode","puzzles"],"scripts":{"clean":"rimraf dist","prebuild":"yarn clean","build":"tsc","preversion":"yarn build","version":"npm publish","publish":"yarn build && npm publish","export":"tsx dev-tools/export.ts","imdrunk":"tsx dev-tools/create.ts"},"author":{"name":"NoodleOfDeath"},"license":"MIT","bugs":{"url":"https://github.com/noodleofdeath/drunkmode-puzzles/issues"},"homepage":"https://github.com/noodleofdeath/drunkmode-puzzles#readme","peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"devDependencies":{"@types/archiver":"^6.0.2","@types/argparse":"^2.0.16","@types/node":"^20.12.7","@types/react":"^18.2.77","@typescript-eslint/eslint-plugin":"^5.43.0","@typescript-eslint/parser":"^7.0.2","archiver":"^7.0.1","argparse":"^2.0.1","eslint":"^8.36.0","eslint-config-prettier":"^8.7.0","eslint-plugin-import":"^2.25.2","eslint-plugin-import-newlines":"^1.3.1","eslint-plugin-markdown":"^3.0.0","eslint-plugin-prettier":"^4.2.1","eslint-plugin-promise":"^6.0.0","eslint-plugin-react":"^7.32.2","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-native":"^4.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-scope":"^7.1.1","tsx":"^4.7.1","typescript":"*"},"dependencies":{"drunkmode-puzzles":"^0.1.13-c"},"licenseText":"## License\n\nThe MIT License (MIT)\n=====================\n\nCopyright © `2024` `Read Less LLC`\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the “Software”), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n","_id":"drunkmode-puzzles@0.1.16","dist":{"shasum":"47ab196f55afd5af32dc4691c8a4e1063d0e8881","integrity":"sha512-0jXCZONd080ydC3p7gBgAP1fv3EojkmEFVutaLbsFrqg1ubRJrae+Ufiaihuqj4F6AkPaWABtjwEEmNdEEactw==","tarball":"https://registry.npmjs.org/drunkmode-puzzles/-/drunkmode-puzzles-0.1.16.tgz","fileCount":11,"unpackedSize":21164,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCN2gnk1BzJ5KA0Jdvv8k3zntl+GUFUSyk1o5vR4gDL6QIhAJYY6jdIqUAARPon7GMzJMgZJJ7J63vbHiOlPIOAdrEA"}]},"_npmUser":{"name":"noodleofdeath","email":"thom@noodleofdeath.com"},"directories":{},"maintainers":[{"name":"noodleofdeath","email":"thom@noodleofdeath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drunkmode-puzzles_0.1.16_1715446481713_0.10481588760386895"},"_hasShrinkwrap":false},"0.1.17":{"name":"drunkmode-puzzles","version":"0.1.17","description":"Library used for creating custom puzzles for the Drunk Mode app","main":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"repository":{"type":"git","url":"git+https://github.com/noodleofdeath/drunkmode-puzzles.git"},"keywords":["drunkmode","puzzles"],"scripts":{"clean":"rimraf dist","prebuild":"yarn clean","build":"tsc","preversion":"yarn build","version":"npm publish","publish":"yarn build && npm publish","export":"tsx dev-tools/export.ts","imdrunk":"tsx dev-tools/create.ts"},"author":{"name":"NoodleOfDeath"},"license":"MIT","bugs":{"url":"https://github.com/noodleofdeath/drunkmode-puzzles/issues"},"homepage":"https://github.com/noodleofdeath/drunkmode-puzzles#readme","peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"devDependencies":{"@types/archiver":"^6.0.2","@types/argparse":"^2.0.16","@types/node":"^20.12.7","@types/react":"^18.2.77","@typescript-eslint/eslint-plugin":"^5.43.0","@typescript-eslint/parser":"^7.0.2","archiver":"^7.0.1","argparse":"^2.0.1","eslint":"^8.36.0","eslint-config-prettier":"^8.7.0","eslint-plugin-import":"^2.25.2","eslint-plugin-import-newlines":"^1.3.1","eslint-plugin-markdown":"^3.0.0","eslint-plugin-prettier":"^4.2.1","eslint-plugin-promise":"^6.0.0","eslint-plugin-react":"^7.32.2","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-native":"^4.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-scope":"^7.1.1","tsx":"^4.7.1","typescript":"*"},"dependencies":{"drunkmode-puzzles":"^0.1.13-c"},"licenseText":"## License\n\nThe MIT License (MIT)\n=====================\n\nCopyright © `2024` `Read Less LLC`\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the “Software”), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n","_id":"drunkmode-puzzles@0.1.17","dist":{"shasum":"60cfd7d94355844217b4084d0650b9ef52b7a1d1","integrity":"sha512-ge6tRuo83ILAix9Sg5PrCloLTMyHfQ2rYaPVmC7br9NgmV5NXB3E9dUQGAQojIjUTjPqyqT0Nrzfc2Px/bwEQQ==","tarball":"https://registry.npmjs.org/drunkmode-puzzles/-/drunkmode-puzzles-0.1.17.tgz","fileCount":11,"unpackedSize":21145,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHL2eb4JfRq3oMKEQpFnDAWwAe49UQHmkU4SSrjeFmqyAiB+T+8z3siaKSS0lbxixWMsfHEDZhnbkL5cfPzILTqvxA=="}]},"_npmUser":{"name":"noodleofdeath","email":"thom@noodleofdeath.com"},"directories":{},"maintainers":[{"name":"noodleofdeath","email":"thom@noodleofdeath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drunkmode-puzzles_0.1.17_1715446588289_0.7375141732978596"},"_hasShrinkwrap":false},"0.1.17-a":{"name":"drunkmode-puzzles","version":"0.1.17-a","description":"Library used for creating custom puzzles for the Drunk Mode app","main":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"repository":{"type":"git","url":"git+https://github.com/noodleofdeath/drunkmode-puzzles.git"},"keywords":["drunkmode","puzzles"],"scripts":{"clean":"rimraf dist","prebuild":"yarn clean","build":"tsc","preversion":"yarn build","version":"npm publish","publish":"yarn build && npm publish","export":"tsx dev-tools/export.ts","imdrunk":"tsx dev-tools/create.ts"},"author":{"name":"NoodleOfDeath"},"license":"MIT","bugs":{"url":"https://github.com/noodleofdeath/drunkmode-puzzles/issues"},"homepage":"https://github.com/noodleofdeath/drunkmode-puzzles#readme","peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"devDependencies":{"@types/archiver":"^6.0.2","@types/argparse":"^2.0.16","@types/node":"^20.12.7","@types/react":"^18.2.77","@typescript-eslint/eslint-plugin":"^5.43.0","@typescript-eslint/parser":"^7.0.2","archiver":"^7.0.1","argparse":"^2.0.1","eslint":"^8.36.0","eslint-config-prettier":"^8.7.0","eslint-plugin-import":"^2.25.2","eslint-plugin-import-newlines":"^1.3.1","eslint-plugin-markdown":"^3.0.0","eslint-plugin-prettier":"^4.2.1","eslint-plugin-promise":"^6.0.0","eslint-plugin-react":"^7.32.2","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-native":"^4.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-scope":"^7.1.1","tsx":"^4.7.1","typescript":"*"},"dependencies":{"drunkmode-puzzles":"^0.1.13-c"},"licenseText":"## License\n\nThe MIT License (MIT)\n=====================\n\nCopyright © `2024` `Read Less LLC`\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the “Software”), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n","_id":"drunkmode-puzzles@0.1.17-a","dist":{"shasum":"3a5befbcc736e7d3997dbb20df1636baaae26700","integrity":"sha512-EjyQyftoak5PKa9r4L+xLEj2KTxNgmInod+cXswXgLJHG0g7ksXKMXnv9dV/9grykiKfrxnrw9teR5/ALuHKVA==","tarball":"https://registry.npmjs.org/drunkmode-puzzles/-/drunkmode-puzzles-0.1.17-a.tgz","fileCount":11,"unpackedSize":21168,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBFCouF6yAtKfFzoHIUTFJ6sVXRW/51f/xpZnGZFtu7rAiBoCivSvJM9BAM39BQRJyuuORK5/hAM5uuNkp6aUCIpLA=="}]},"_npmUser":{"name":"noodleofdeath","email":"thom@noodleofdeath.com"},"directories":{},"maintainers":[{"name":"noodleofdeath","email":"thom@noodleofdeath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drunkmode-puzzles_0.1.17-a_1715446786902_0.1303913661848981"},"_hasShrinkwrap":false},"0.1.17-b":{"name":"drunkmode-puzzles","version":"0.1.17-b","description":"Library used for creating custom puzzles for the Drunk Mode app","main":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"repository":{"type":"git","url":"git+https://github.com/noodleofdeath/drunkmode-puzzles.git"},"keywords":["drunkmode","puzzles"],"scripts":{"clean":"rimraf dist","prebuild":"yarn clean","build":"tsc","preversion":"yarn build","version":"npm publish","publish":"yarn build && npm publish","export":"tsx dev-tools/export.ts","imdrunk":"tsx dev-tools/create.ts"},"author":{"name":"NoodleOfDeath"},"license":"MIT","bugs":{"url":"https://github.com/noodleofdeath/drunkmode-puzzles/issues"},"homepage":"https://github.com/noodleofdeath/drunkmode-puzzles#readme","peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"devDependencies":{"@types/archiver":"^6.0.2","@types/argparse":"^2.0.16","@types/node":"^20.12.7","@types/react":"^18.2.77","@typescript-eslint/eslint-plugin":"^5.43.0","@typescript-eslint/parser":"^7.0.2","archiver":"^7.0.1","argparse":"^2.0.1","eslint":"^8.36.0","eslint-config-prettier":"^8.7.0","eslint-plugin-import":"^2.25.2","eslint-plugin-import-newlines":"^1.3.1","eslint-plugin-markdown":"^3.0.0","eslint-plugin-prettier":"^4.2.1","eslint-plugin-promise":"^6.0.0","eslint-plugin-react":"^7.32.2","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-native":"^4.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-scope":"^7.1.1","tsx":"^4.7.1","typescript":"*"},"dependencies":{"drunkmode-puzzles":"^0.1.13-c"},"licenseText":"## License\n\nThe MIT License (MIT)\n=====================\n\nCopyright © `2024` `Read Less LLC`\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the “Software”), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n","_id":"drunkmode-puzzles@0.1.17-b","dist":{"shasum":"c8d4f6ee5dae1691801504a121fd2d466c58283c","integrity":"sha512-p9H+zsR0wflxsaQRCoc4hvgWLxCJ4MrCGzFj+hRSpQC8ZTzHBaRvoUaKRDc0LWOZOKb93qTk2CF8i1carevSXw==","tarball":"https://registry.npmjs.org/drunkmode-puzzles/-/drunkmode-puzzles-0.1.17-b.tgz","fileCount":11,"unpackedSize":21186,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHtASp1VTCYN+cjvPpl2+g/hHuaNQiUZHs5LRBe5ml5wIgD4zse2XhS2cc+1DAIAzvB3KZkEBtJ6v92JmXuPIzS1g="}]},"_npmUser":{"name":"noodleofdeath","email":"thom@noodleofdeath.com"},"directories":{},"maintainers":[{"name":"noodleofdeath","email":"thom@noodleofdeath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drunkmode-puzzles_0.1.17-b_1715469288384_0.9641413472842686"},"_hasShrinkwrap":false}},"time":{"created":"2024-03-21T00:36:05.839Z","0.1.0":"2024-03-21T00:36:05.994Z","modified":"2024-05-11T23:14:48.695Z","0.1.1":"2024-03-21T00:38:26.271Z","0.1.2":"2024-03-21T01:48:56.730Z","0.1.3":"2024-03-26T21:00:36.025Z","0.1.4":"2024-03-26T21:00:50.046Z","0.1.5":"2024-03-29T17:42:13.659Z","0.1.6":"2024-03-29T19:32:35.089Z","0.1.7":"2024-04-04T00:49:59.343Z","0.1.8":"2024-04-12T12:30:41.354Z","0.1.9":"2024-04-12T12:52:34.053Z","0.1.10":"2024-04-12T13:31:28.946Z","0.1.11-b":"2024-04-12T13:36:31.224Z","0.1.11-c":"2024-04-12T13:41:28.638Z","0.1.11-d":"2024-04-12T13:42:23.118Z","0.1.11-e":"2024-04-12T13:45:13.658Z","0.1.11-f":"2024-04-12T13:49:52.918Z","0.1.12-a":"2024-04-12T13:59:55.652Z","0.1.12-b":"2024-04-12T14:03:32.336Z","0.1.12-c":"2024-04-12T14:07:39.456Z","0.1.12-d":"2024-04-12T14:09:11.141Z","0.1.12-e":"2024-04-12T14:13:43.435Z","0.1.12-f":"2024-04-12T14:15:49.286Z","0.1.12-g":"2024-04-12T14:20:01.065Z","0.1.12-h":"2024-04-12T14:20:52.089Z","0.1.12-i":"2024-04-12T14:21:54.491Z","0.1.12-j":"2024-04-12T14:26:01.041Z","0.1.12-k":"2024-04-12T14:28:39.979Z","0.1.12-l":"2024-04-12T14:33:41.783Z","0.1.13-a":"2024-04-12T14:53:32.693Z","0.1.13-b":"2024-04-12T14:55:58.818Z","0.1.13-c":"2024-04-12T15:02:21.378Z","0.1.13-f":"2024-04-17T14:11:47.397Z","0.1.13":"2024-05-11T15:50:25.322Z","0.1.14":"2024-05-11T15:51:04.799Z","0.1.15":"2024-05-11T16:18:36.190Z","0.1.16":"2024-05-11T16:54:41.864Z","0.1.17":"2024-05-11T16:56:28.445Z","0.1.17-a":"2024-05-11T16:59:47.063Z","0.1.17-b":"2024-05-11T23:14:48.514Z"},"maintainers":[{"name":"noodleofdeath","email":"thom@noodleofdeath.com"}],"description":"Library used for creating custom puzzles for the Drunk Mode app","homepage":"https://github.com/noodleofdeath/drunkmode-puzzles#readme","keywords":["drunkmode","puzzles"],"repository":{"type":"git","url":"git+https://github.com/noodleofdeath/drunkmode-puzzles.git"},"author":{"name":"NoodleOfDeath"},"bugs":{"url":"https://github.com/noodleofdeath/drunkmode-puzzles/issues"},"license":"MIT","readme":"# Drunk Mode Puzzles <!-- omit in toc -->\n\n<p align=\"center\">\n  <a href=\"https://github.com/noodleofdeath/drunkmode-puzzles/blob/HEAD/LICENSE\">\n    <img src=\"https://img.shields.io/badge/license-MIT-blue.svg\" alt=\"This package is released under the MIT license.\" />\n  </a>\n  <a href=\"https://www.npmjs.org/package/drunkmode-puzzles\">\n    <img src=\"https://img.shields.io/npm/v/drunkmode-puzzles?color=brightgreen&label=npm%20package\" alt=\"Current npm package version.\" />\n  </a>\n  <a href=\"https://www.npmjs.org/package/drunkmode-puzzles\">\n    <img src=\"https://img.shields.io/npm/dt/drunkmode-puzzles\" alt=\"Npm downloads.\" />\n  </a>\n  <img src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg\" alt=\"PRs welcome!\" />\n</p>\n\nThis library contains the core logic needed to create custom puzzles for the Drunk Mode app that can be submitted to the Drunk Mode app for use in the app.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Install](#install)\n- [TL;DR Quick Start](#tldr-quick-start)\n- [Low-Level Usage](#low-level-usage)\n- [Package Your Puzzle](#package-your-puzzle)\n\n## Install\n\n```bash\nnpm install drunkmode-puzzles\n```\n\nor\n\n```bash\nyarn add drunkmode-puzzles\n```\n\n## TL;DR Quick Start\n\n```bash\ngit clone git@gihub.com:noodleofdeath/drunkmode-puzzles.git\ncd drunkmode-puzzles\nyarn imdrunk <YourPuzzle> <com.yourcompany.yourproduct.YourPuzzle>\ncd examples/YourPuzzle\nyarn\nyarn dev\n```\n\nOnly edit the file `Puzzle.tsx` in the `src` directory, unless you know what you are doing.\nAlso, be sure to update your `puzzle.json` file with your information.\n\nWhen you are ready to submit, you can simply run:\n\n```bash\nyarn export\n```\n\nThe copy the zip file in the `out` directory, and submit it to the Drunk Mode app.\n\n## Low-Level Usage\n\nFirst create a web app that imports the `PuzzleMessage` class from the `drunkmode-puzzles` package. Your puzzle does not need to be a React component, but it can be if you want to use React. The only requirement is that you call `PuzzleMessage.onSuccess` and `PuzzleMessage.onFailure` when the user completes or fails the puzzle.\n\n```typescript\nimport React from 'react';\n\nimport { PuzzleEnv, PuzzleMessage } from 'drunkmode-puzzles';\n\nconst MyPuzzle = () => {\n  \n  const [env, setEnv] = React.useState<PuzzleEnv>();\n  \n  // load configs\n  React.useEffect(() => {\n    setEnv(new PuzzleEnv());\n  }, []);\n  \n  return (\n    <div>\n      {env?.preview && (\n        <div>\n          Choose a difficulty\n          <button onClick={ () => {\n            PuzzleMessage.onConfig({\n              ...env?.config,\n              difficulty: 'easy',\n            });\n          } }>\n            Easy Mode\n          </button>\n          <button onClick={ {\n            () => PuzzleMessage.onConfig({\n              ...env?.config,\n              difficulty: 'hard',\n            });\n          } }>\n            Hard Mode\n          </button>\n        </div>\n      )}\n      <button onClick={() => PuzzleMessage.onSuccess({ message: 'You solved the puzzle!' })}>\n        Solve Puzzle\n      </button>\n      <button onClick={() => PuzzleMessage.onFailure({ message: 'You failed the puzzle!' })}>\n        Fail Puzzle\n      </button>\n    </div>\n  );\n};\n\nexport default MyPuzzle;\n```\n\n## Package Your Puzzle\n\nOnce you have created your puzzle, you can package it up and submit it to the Drunk Mode app. \n\nFirst build your puzzle which should be an `index.html` file. Create a directory that contains your `index.html` file and any other root level files or directories. Create a `puzzle.json` file in the same directory with the following format:\n\n```json\n{\n  \"name\": \"com.company.product.MyPuzzle\",\n  \"author\": \"My Name\",\n  \"icon\": \"puzzle\", // icon name from https://material.io/resources/icons/\n  \"displayName\": \"My Puzzle\",\n  \"description\": \"This is a description of my puzzle.\",\n  \"version\": \"1.0.0\",\n}\n```\n  \nFinally, zip the directory and submit it to the Drunk Mode app. ","readmeFilename":"README.md"}