{"_id":"@begrowth/custom-krabs","_rev":"9-7c7fe0be4c0b2011bcd888335b96dd22","name":"@begrowth/custom-krabs","dist-tags":{"latest":"0.1.10"},"versions":{"0.1.3":{"name":"@begrowth/custom-krabs","version":"0.1.3","description":"Multitenant middleware for Next.js","main":"./dist/express-krabs/index.js","repository":{"type":"git","url":"git+https://github.com/MicheleRiva/krabs.git"},"author":{"name":"Michele Riva","email":"ciao@micheleriva.it"},"license":"MIT","private":false,"publishConfig":{"registry":"https://registry.npmjs.org/"},"dependencies":{"express":"^4.17.1"},"devDependencies":{"react":"^17.0.2","react-dom":"^17.0.2","next":"11.0.0"},"types":"./dist/express-krabs/index.d.ts","gitHead":"f0296a5421e6a1a32a0fbd4b9dcf7c10b7e5f1b8","bugs":{"url":"https://github.com/MicheleRiva/krabs/issues"},"homepage":"https://github.com/MicheleRiva/krabs#readme","_id":"@begrowth/custom-krabs@0.1.3","_nodeVersion":"16.13.2","_npmVersion":"8.4.1","dist":{"integrity":"sha512-y5G9h2sG9lvDvoISTgVC5jRw3fZYXTFMN1yR6QHvX3H6AvifImjllqbgwxgKfaZkjo2ZLEWSK1duQpqdylrMWA==","shasum":"e034b4dec1e6c321b14b35a2581bbd43003e1971","tarball":"https://registry.npmjs.org/@begrowth/custom-krabs/-/custom-krabs-0.1.3.tgz","fileCount":13,"unpackedSize":21221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOTR/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqNcxAAiXjbrWizEzcibc7boIM8JL96W1FEUpmIS+j/xonm2PkTh8Lp\r\nrn7WXGA08ytcrcQshq5k8dKR2WOHiAzzIACZ/vmFszQLuPxomszor99FAU2A\r\nY/pqbLmxk5YKsw+sstw4at9QubIqhF6nvvt649B89epBS8eYp7kw8O9TYIeT\r\nvw/t1TAH9xwfmdIsKDivQh55IJ8T5xo9LFaRzIKyVmg2ZqEeHJM//OcIHA8s\r\nQjrskIaSkx4McDBRU1Wk6dLa41L7CiUeHeOk2bLA3i6DRKTWMUdOQFIiy8FJ\r\nxFSvWf1jFwFtDUDuYn6jv59gYvnYtNcTQbu5Ok83RMOs0ZRdxUfDkoqlwfHN\r\nntehfKUD6Sp9QKTJ7E/g5ehu96pSrlPPlHxQqkQ4K1TDFGi+eP2nX7q/g1OZ\r\nR1P06Nzpr/uKj+7oLCCAy553+eqyCbj8O2X273lqIKeHEj0eEwXSiP3NPS8Z\r\nrYoxUMIwjM4roPdwtFBWE/5mZIgR3hv58xjei+J0S5M3qJdiU5jMY9HdY3FP\r\nxC39LFXtCDEKqliM6a38wU0s2u0GEZb8uTNUPsLDQTwfPr4FbZUE7HQ44QVj\r\nyrvGxQ4XyQvC/XI8WBuoU5MxiaroLRyRGZ1Tugnxr77q9FOnh15P9KMRa375\r\nqFrIffMHBV0rybS4hgcewENZQRekdlafmeg=\r\n=xU2L\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHk9iT7TtjrJ75KfhQcBOs+Y5X89PY+L+IebpkDAfPBnAiBlpozsVq4jliw+hIDgLNbQrsJPenDWhXKAeB/LBJyMVg=="}]},"_npmUser":{"name":"loxt","email":"emannuelloxt@hotmail.com"},"directories":{},"maintainers":[{"name":"loxt","email":"emannuelloxt@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/custom-krabs_0.1.3_1647916159729_0.8785598518886599"},"_hasShrinkwrap":false},"0.1.4":{"name":"@begrowth/custom-krabs","version":"0.1.4","description":"Multitenant middleware for Next.js","main":"./dist/express-krabs/index.js","repository":{"type":"git","url":"git+https://github.com/MicheleRiva/krabs.git"},"author":{"name":"Michele Riva","email":"ciao@micheleriva.it"},"license":"MIT","private":false,"publishConfig":{"registry":"https://registry.npmjs.org/"},"dependencies":{"express":"^4.17.1"},"devDependencies":{"react":"^17.0.2","react-dom":"^17.0.2","next":"11.0.0"},"types":"./dist/express-krabs/index.d.ts","gitHead":"f0296a5421e6a1a32a0fbd4b9dcf7c10b7e5f1b8","bugs":{"url":"https://github.com/MicheleRiva/krabs/issues"},"homepage":"https://github.com/MicheleRiva/krabs#readme","_id":"@begrowth/custom-krabs@0.1.4","_nodeVersion":"16.13.2","_npmVersion":"8.4.1","dist":{"integrity":"sha512-kXsD55uin+Zx+AhWvgsUxklW8kfN9ITUkvyYqgxKYAtmZNwCrdBNmF5u3kz5DfIvq7N2M6dYIox6ytTDNddMfA==","shasum":"76dfc07ddbb44697b47c0952f24cea9fce51d52c","tarball":"https://registry.npmjs.org/@begrowth/custom-krabs/-/custom-krabs-0.1.4.tgz","fileCount":13,"unpackedSize":21262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOgYBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpibQ//YdnrkJD8YxVZHMUJGRC8egJw0EShY88vCfqHg42fNFbAho0r\r\npxqiDCQazdUVkLS/4lNdatkOWjlfqPSWReW40GqHN2xzY9HC3+iwPjqJDljW\r\n0oRB6nM6MBs6bxuJh+IjN5ydSox6ZbO/8BYi+Q7aa7UmNjx7HzdXeHlmMkpI\r\nM3MUHSPMsxK/fT9AqF2OJ4XCf4e/cX8jHvYBtNoKiz+95YyIhbHfLhpuZexI\r\nmIsXUUvf7Ot/9E9CuJigslxCubw9E+Xy4Fe7PoydW/9tvkCWMqvO1FqaJ26R\r\nAYm0c0z4wGPEbWkxq1JNDae2PicqpIacQIx3jEQtA4w6hDBjDxLGKlmX0pmK\r\n985CBKguSsXtFrX/KDYz37qD/GyoWEPCLaREcmh1hdaDbBbp3GwC3YwdcGNb\r\nJoGyh4YvF6RiT3dC/mqbC1DzaAfYJ2drhRnDnCFiBUBfB4lwY3wFEl+LX3iW\r\ndtA1Pv+FbEQdMvve0nBZme3b0AyPW+wMj7MzNci011gFHGN2sZy0ChX2SyOX\r\n1ad39iVuZ9sJcgO2MWXYRqPRxxDlq0+CrkNxWr1UWn6jvWlhFtOc60NvkKFR\r\nTqPeYbLpuAdWU3uI2n+KBIlmibppPRTDa9nF78cf14WJjsLDl4sUZTnQPQmT\r\ns1slmEW41EefCsh5Z5xuLHhuTgK+IpmiG0Y=\r\n=iXcR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH0F+ZqB+ldu5I+b9sDciQIlBBtllndJ55k8sH+M+GBJAiBiUpEOVqoYvvD9rsCgFFhaEP/tWUR2fX6JCz/x31dCCw=="}]},"_npmUser":{"name":"loxt","email":"emannuelloxt@hotmail.com"},"directories":{},"maintainers":[{"name":"loxt","email":"emannuelloxt@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/custom-krabs_0.1.4_1647969793192_0.8623006060926739"},"_hasShrinkwrap":false},"0.1.5":{"name":"@begrowth/custom-krabs","version":"0.1.5","description":"Multitenant middleware for Next.js","main":"./dist/express-krabs/index.js","scripts":{"build":"tsc index.ts --outDir dist --declarationDir dist --declaration true"},"repository":{"type":"git","url":"https://github.com/MicheleRiva/krabs"},"author":{"name":"Michele Riva","email":"ciao@micheleriva.it"},"license":"MIT","private":false,"publishConfig":{"registry":"https://registry.npmjs.org/"},"dependencies":{"colors":"^1.4.0","express":"^4.17.1"},"devDependencies":{"next":"11.0.0","react":"^17.0.2","react-dom":"^17.0.2"},"licenseText":"Copyright 2021 Michele Riva\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"@begrowth/custom-krabs@0.1.5","dist":{"shasum":"f4ecb9af07a14123ceccceb28fdc51a45ad7fd07","integrity":"sha512-uS5GVtG758iPwQpj7bv6j3H1vwhkXt2sctebvL2OkIL/4qliv5smhEkRpIRHHQlgY45d1NNmPYg6GOXE9fY9Gw==","tarball":"https://registry.npmjs.org/@begrowth/custom-krabs/-/custom-krabs-0.1.5.tgz","fileCount":4,"unpackedSize":8931,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLiR6Oo+znIA3/4w3jz5RvTxX2vIoaaIpWpGXl2rs9FwIhAN+ahH9M1HIDmLQAG6HJO6PK+w6RAcxtQHQRzTlwoi/J"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibAq7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqD/g//R4j18YOH+DQ/xlpFTn4qjQ1A70ikjt2kj3uJ4z59h5UaFSG7\r\n2EnT49FnCyMZREXvZtQGjbjIWw5ECaO7rnoUy0fksCHQEZbbekQbkWTcl+IW\r\nGRaOwNrm7EIsiscGZfpPcJoakYP34XIPhrNepqJF3A660EgeQoUbJ+C8jQhv\r\nyOcQ8T2evccXl3iArDGfSsck3JaHSvOCp8bs/6ceUFlj9EUpHUrX0sQ6KjtO\r\nm4oKR2l0iDLJzn5zpMI6v5qG1Wx1Z4bQUUuV3iMVUZfuKy4yqGV2yTuzlNVM\r\nytokWc9dbl6qXvzQ2VWCBqtij5e47utCzc+lNC/73D8pEgG0XcUiu0SB9dY/\r\nhV7NGlcRQja1FIZeOBW1zuY9b0Y3jk586lJ7kwJqNafhFDcMyUCPV22kFwg4\r\nf7h0zV9JRZd6FWUOvrfG2Q/Bz+aQuhKxsoXFfyvMRFRYIuH4Ika9VrOLpwAL\r\n5eX0iGcBLO7tse05P0AXHjJupRc6vqjfjsU1v8Tga2Ws53pmCY9G9IDJgKFv\r\nYzwop2VM2AKL8MKIXInWXmRchbRW2LMpxJwaj2sb2PO70cau2t1WA+6+CNNn\r\n1wrjWLPyNYLOKh4i+XSaCB89XXVVc+vTwIP6z3aIK9pKKMXYqC3PWkYTrXmM\r\nvmJksFevZCSacCbVSmSVMOlmwnF5zyVheUo=\r\n=L6l0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"loxt","email":"emannuelloxt@hotmail.com"},"directories":{},"maintainers":[{"name":"loxt","email":"emannuelloxt@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/custom-krabs_0.1.5_1651247803686_0.317259666375334"},"_hasShrinkwrap":false},"0.1.6":{"name":"@begrowth/custom-krabs","version":"0.1.6","description":"Multitenant middleware for Next.js","main":"./dist/express-krabs/index.js","scripts":{"build":"tsc index.ts --outDir dist --declarationDir dist --declaration true"},"repository":{"type":"git","url":"https://github.com/MicheleRiva/krabs"},"author":{"name":"Michele Riva","email":"ciao@micheleriva.it"},"license":"MIT","private":false,"publishConfig":{"registry":"https://registry.npmjs.org/"},"dependencies":{"colors":"^1.4.0","express":"^4.17.1"},"devDependencies":{"next":"11.0.0","react":"^17.0.2","react-dom":"^17.0.2","typescript":"^4.6.4"},"licenseText":"Copyright 2021 Michele Riva\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"@begrowth/custom-krabs@0.1.6","dist":{"shasum":"fb2f49626813d062f20fb091eeb9c3f872ca807c","integrity":"sha512-Mej2qP38Ruzb01bsgVqd5HdMMQ7iE0M5fsyYWPsNQMg0NTXh1xZd7zvynJTvJtZeSTlrcWU5VytnSuXnx40eHA==","tarball":"https://registry.npmjs.org/@begrowth/custom-krabs/-/custom-krabs-0.1.6.tgz","fileCount":27,"unpackedSize":29988,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAkH91UT2lrpdf8gvQi24Wk23Ftp4dwgJ/ubmhM5/o/uAiEAm4sXedi4izFsKtrgxv4orweMGM5fNNh8rHzoiyAjcFQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibA03ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpBvBAApQ+8elnBLj2KnNgJ9rXE+NVIIYg/BHPHq/Jjj9AblTxS63I2\r\nwKDraq47BC4LqLEjW1iQ9MuZWmzCl1bA5HmXkoeQaC6Is2ywnjnpLtZZFKYG\r\nE5A6kgOnWjFb2Np8dwsSTTCcUMPYIzL/+wlDA/T3SBpoiDLgjzh4jzDSZbwl\r\nl1ZjUtW05KzghW/3HlUvYU3GhhZ8a4JuaVxxzw8/TMU3IVLj1GvBe607Ua2a\r\nnHII4PI7W4gTIVzMnezcEnPbhbk3hPykPmooaPUcG4foy5Bk5SpA4PRPgWKq\r\nR6rBwOGPpineNfTa9ESljm8qxpavNlKDo1JNT6PZSRhMdpKQ51zdo44iQM+O\r\nGIbIwQx3pO52XgH8YTLtqGUDnH8CuNd8wNdKnl70Kw/5Z7rm1r2qQLkYqfKM\r\nIAak0wgg8z9obd9KXI+ySl7wHHp0MeCwdfidnSzmXUXoguzMBBg+XSZJPJwa\r\nLWuwqJNeFjYe8D3jEHn9WeZ5hJpN/wuz3738LZhR31fwoA3VcLJvsg5hKnUi\r\nL86CXJVFk3EtEfxDHs0P1EG3T4BgrPFRLquMfr8OdVDO+LCEQ75CM7wGIZ+F\r\nyn0tQac5bzFMutHf8lBQn8A2Syd+E4r6hQBcPjzE3AR4XuagLJ9hkJN9WUXT\r\n4GAytwG33EFVTcMdELRlT5GnmMa4q9dYOBA=\r\n=EnnH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"loxt","email":"emannuelloxt@hotmail.com"},"directories":{},"maintainers":[{"name":"loxt","email":"emannuelloxt@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/custom-krabs_0.1.6_1651248438871_0.27328627860552723"},"_hasShrinkwrap":false},"0.1.7":{"name":"@begrowth/custom-krabs","version":"0.1.7","description":"Multitenant middleware for Next.js","main":"./dist/index.js","scripts":{"build":"tsc index.ts --outDir dist --declarationDir dist --declaration true"},"repository":{"type":"git","url":"https://github.com/MicheleRiva/krabs"},"author":{"name":"Michele Riva","email":"ciao@micheleriva.it"},"license":"MIT","private":false,"publishConfig":{"registry":"https://registry.npmjs.org/"},"dependencies":{"colors":"^1.4.0","express":"^4.17.1"},"devDependencies":{"next":"11.0.0","react":"^17.0.2","react-dom":"^17.0.2","typescript":"^4.6.4"},"licenseText":"Copyright 2021 Michele Riva\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"@begrowth/custom-krabs@0.1.7","dist":{"shasum":"e824457279c7e55de1c23a4e03a683bf203d4c9f","integrity":"sha512-H1etZdMoao9QTdS2yxft7BnHGNAkFtd2ib64Vn+CMCAHoaKP8lI+AMjJVa2JVt2u9Cmo0VYXGG8w63V7obQ0Sw==","tarball":"https://registry.npmjs.org/@begrowth/custom-krabs/-/custom-krabs-0.1.7.tgz","fileCount":27,"unpackedSize":29974,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC9GFGJiaC1twGVUuDy1VqJOuVdiz3aecc3nkMjnUuGXAiA6N1q8ldmXD98ZcaLYdAdp4FOyU/GzD6UHBDaKvyXmfQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibA36ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoFug/+MYTJOVUzxq/UZ3BIVlD77c85BLmarE1epBrV6DY4Dd7t7Z1M\r\n8M9npI+tvQxMkHpFeFKSKv8zX0XfzGZIjLcUtyH+FtI2kqLs8QD+K+ZS3/3a\r\nOnG03lRQFvSFdw2056r+UWpWczvIhGSAMknQ0a67l2NZeRX9ht+st9PC9vo6\r\nijsiOTCZS+MXknNZnQrFNOPBZQ+9N2kmjvZ+tYgEhbmItpaeHP8YWcFueLHQ\r\nS3LYLDwdZQNWuy8Iw5A9aadGuvzfczwSH1lsPmFEwor+htxZ002ENlA12t5k\r\n/uqV64nxnKwXkZ9UW58hshLxkgWZrDy4dH0t4uggSU5jQrEQGz7zYhSttQXj\r\n2RmDMF+t1wznMkprOLNQsauonjbENzwIatEpg6yGB4q/sMlwwBjNwhIa72OO\r\nzDzhJ57SXZUjhbcqTwugE3gnvl5w+RJEtsRnJi0AgYxvZ3ZleTm5MCJFFKRZ\r\n28tMih69QtAhQotRYUW5aWO3Fcs5FrBal2Oxw2zKVpBgIWCWEXgF0LG4YcjD\r\nuvY701fLoPOMZown7yFN9XgInRSP2S2Eq3Q8nEoEWuXzqWzZqNmu/IG5tIE3\r\nwShGWtbVlVuJsHLZp/HTo6nC+kP6x5Fo34gsdE5wuWMEv4eOX+ptu0MHQK8K\r\nfWUCrhe4pE1pk2gDrIGKoItqYO+0r7AcDRk=\r\n=dowv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"loxt","email":"emannuelloxt@hotmail.com"},"directories":{},"maintainers":[{"name":"loxt","email":"emannuelloxt@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/custom-krabs_0.1.7_1651248634663_0.5731899990504028"},"_hasShrinkwrap":false},"0.1.8":{"name":"@begrowth/custom-krabs","version":"0.1.8","description":"Multitenant middleware for Next.js","main":"./dist/index.js","scripts":{"prepublish":"tsc index.ts --outDir dist --declarationDir dist --declaration true"},"repository":{"type":"git","url":"https://github.com/MicheleRiva/krabs"},"author":{"name":"Michele Riva","email":"ciao@micheleriva.it"},"license":"MIT","private":false,"publishConfig":{"registry":"https://registry.npmjs.org/"},"dependencies":{"colors":"^1.4.0","express":"^4.17.1"},"devDependencies":{"next":"11.0.0","react":"^17.0.2","react-dom":"^17.0.2","typescript":"^4.6.4"},"licenseText":"Copyright 2021 Michele Riva\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"@begrowth/custom-krabs@0.1.8","dist":{"shasum":"014a3654a202d3117661a448037652f8a9960fd1","integrity":"sha512-KjJy98vnSPbX7BTg1noNAhKAm8qC8E9Hbr/r9rfXSy+pcf+flydXBaQ4n0TEWVC6bettM4y3rF8km5Tjm43Hfg==","tarball":"https://registry.npmjs.org/@begrowth/custom-krabs/-/custom-krabs-0.1.8.tgz","fileCount":27,"unpackedSize":29856,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDzSh4HRsiF3Gcp3DNE+Du6bYajMsRRFVze3C8ems8mqwIgZvF5DMSB3hewCRwjH3uPnSAKQOzI1UcDcouDjHW1ZYw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibF0rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpIrBAApFA41tkGOZXr/CyyCbZ7TG0jhp6vWnKJmCemFlK+aF2bRuq9\r\n8W1cHtBvzjW9KrOiztMMnf+Zkr2heaPHNBTxKMRt0eF6UARkeRlC7sIQ1XKF\r\nTKsZ47xD93agILbiZtHzPnhclOHpRrhOeQxbjTEcKVzE9mDKkjZTh6WDZgDX\r\n82cc56e3uqcbIPwP0MVN/PojhPPP92FnIYf3qZGyWwF8eudWxSj1E5YJYFO+\r\nk4/KHc3tQ5XUkBx/Rxd1d4lrKsNdHHALnmmFUWqmumAu+F6ci5jhXliD+3pG\r\n0BDESC++Zz8QARbitNZSMKcAZqUJ5Qg+2OZK0qMiodTgoGrhn9pJZtykpuuo\r\ng046c6dq0TYsJU3qEoOjN2CdOyzHznJ4vpVQvcC1zMdxCVv+T9p//MpaoHKm\r\n5XmZQtfQQDg8SfBlq4IcpsER0sotR9vSW+BdVMlZFZbh/C7ZyhSTS6kOjtYF\r\nU8d5fDxF4ctltYr9rJf0c5j1cBUg0icZSRtbJbnI1ypIqqWGlCWp/s6Wp47L\r\nkXbJxY6Ml6ESQDKuPVMfEzqWvBj/Iu6XZspuQ/yeTsBvXNUL00EHnNTeKl8R\r\n/fWcgFjcP8nsDstp06on+VldYqCkAo/oWirCOJizQVWTRFObREVTgwwVvmZa\r\nco3F1ZlSWwcm4kCffCXPShwh5lX3uldgCWQ=\r\n=kQn0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"loxt","email":"emannuelloxt@hotmail.com"},"directories":{},"maintainers":[{"name":"loxt","email":"emannuelloxt@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/custom-krabs_0.1.8_1651268907141_0.3153384921666784"},"_hasShrinkwrap":false},"0.1.9":{"name":"@begrowth/custom-krabs","version":"0.1.9","description":"Multitenant middleware for Next.js","main":"./dist/index.js","scripts":{"prepublish":"tsc index.ts --outDir dist --declarationDir dist --declaration true"},"repository":{"type":"git","url":"https://github.com/MicheleRiva/krabs"},"author":{"name":"Michele Riva","email":"ciao@micheleriva.it"},"license":"MIT","private":false,"publishConfig":{"registry":"https://registry.npmjs.org/"},"dependencies":{"colors":"^1.4.0","express":"^4.17.1"},"devDependencies":{"next":"11.0.0","react":"^17.0.2","react-dom":"^17.0.2","typescript":"^4.6.4"},"licenseText":"Copyright 2021 Michele Riva\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"@begrowth/custom-krabs@0.1.9","dist":{"shasum":"86be8055449e18f903b5ac46a4ea9839e54460d6","integrity":"sha512-0X+KGVa+terCs0+fA4IGBh4pOiQNjRy5AvY0F4GL/WNMcpR60sY812kNF2NUDxJQ7u4HE1xj7v+EklC9qdmcig==","tarball":"https://registry.npmjs.org/@begrowth/custom-krabs/-/custom-krabs-0.1.9.tgz","fileCount":27,"unpackedSize":29646,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG3dkOZ6d8hPfFV+AD8O4Ld3IS1NShs+cCAH8BIq0xwmAiEA8xtu76PeWXl8Aq/utRgSXPfhPBWTjnsgoNMm06dRhRQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibWJoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqaAQ/+KbcwQc97exYszwXtQvHGg7M0URqsU2TShD15wROib4FZYCBQ\r\nhKzTdHuM0LGTdwhs6/imctKpK0oAnKDz/rLp0kqES592K0mbaJrc4kmG+Zht\r\n2S0I1UF3CgaBJADhipM07JiNVlB2ln4kHcww57feFY62jD/nDxlccO46SwOD\r\nGjVygFh25gwoW2zoW2t3NkgYoYnr91e9k502fvZbi84bFqg0CRiQFG6PEUow\r\nXAw/3kGv4RWg+Tkrwlptf3KIXYJmmUT12cuB/NguGfKFYNYnUQ+LUuwnWqdi\r\n5xeOdgBAD4RyT71TqPnthllM8WmyLX/38Qw9ttRjujekV2BL/2/MyMEYO5AF\r\nH/zo3MAqq8YLVYAQgP1lEstUHeO5oFHHU3JljKiTwC0PUIMhZWeOaFvii01X\r\nn1yv9b8jTHj4w7xukfe8gK+ABGwHbVBmTR2xCAybYB1k9YwMJgNkMhdRJzmV\r\nUeXnqReRqi7HTEGRfZCCDB8onDOOBoV9U5Y+2NyUxu5bJZWh0Gk3TO56KNKE\r\nfhyIuGHdQl6LeXB7Weq4ai0Fbedu6ap4Hl50jrG9Uev8O8r1cd608NFMNEF3\r\n5JcGa4dfydwTveRRRFqljF+uxP2Qwbxzz+hiuCE6GtPTH8D6pWWa6qpaVlEN\r\nrPopKQQQH5kE2y51WcoL8GjM5WO5QP9dHFc=\r\n=Stue\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"loxt","email":"emannuelloxt@hotmail.com"},"directories":{},"maintainers":[{"name":"loxt","email":"emannuelloxt@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/custom-krabs_0.1.9_1651335784810_0.050574843512380285"},"_hasShrinkwrap":false},"0.2.0":{"name":"@begrowth/custom-krabs","version":"0.2.0","description":"Multitenant middleware for Next.js","main":"./dist/index.js","scripts":{"prepublish":"tsc index.ts --outDir dist --declarationDir dist --declaration true"},"repository":{"type":"git","url":"https://github.com/MicheleRiva/krabs"},"author":{"name":"Michele Riva","email":"ciao@micheleriva.it"},"license":"MIT","private":false,"publishConfig":{"registry":"https://registry.npmjs.org/"},"dependencies":{"colors":"^1.4.0","express":"^4.17.1"},"devDependencies":{"next":"11.0.0","react":"^17.0.2","react-dom":"^17.0.2","typescript":"^4.6.4"},"licenseText":"Copyright 2021 Michele Riva\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"@begrowth/custom-krabs@0.2.0","dist":{"shasum":"d8933314eafe0102543af6e9d2e73dd8bf8d502c","integrity":"sha512-qN/5P0mf8F8pp2g9dWSydYKZMmGs6BPMjQ+QUFT1DOJgSpRY3E/2vvz4WH3TmAjoKwHwGOgPndaYFZ33WlhF/w==","tarball":"https://registry.npmjs.org/@begrowth/custom-krabs/-/custom-krabs-0.2.0.tgz","fileCount":27,"unpackedSize":30411,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEu6/f2e+UW5ZLlm1lEVeOK+vpPXNfUoLGNxco29tMtAAiEA55l6OaImZQCyjZgOcFtY4UT+ayDuWgX+1qma0AToNhw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibXayACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoQsA//SpMuADvlNQqdnPKRthcUmyPyfVvFf7cpPQb7Gt9+fsdT4RZv\r\n3HsyM22QRjFMBnU6SR65N1ZUK9TYpJ+YkSovA/0xlDdHZmws9T96AIJDJQp0\r\nKwghXKwzKhM3s4YjUvYtj9THJ7vlY5pYSg2mveBAvi8tZC57BtbOzKuxPyMy\r\n+y1abr9hjE0AlAk3FJ3Y685M5fqDvkiqr88MfVsn1A/eUTfNHjIxM6KiyfLt\r\n1MMEoZTZxzboQRudBLZ77gxxMsmU2MFGTmu01pyGa+bjvlQzJmUqeSKkEult\r\nDY7HCc6r0JKDTNl23ivozOHUHWK34ia9GU+d1APjFi51AkKEsTJVFxVU897c\r\nSvPkSGMRilxgsOZJ/TTyikHQ0Vz8U+N4Jm7iT6BNOF2k+id57kKnUWh6SZy+\r\nEbdqI6r6Q9L61GMCv+rvQF1R3NHIyUhFaIGD3kYwOqpaf1yxSoxDdUDozo7E\r\ntFdaeQZXivYS2EKW7HIITNX2QmhwOOyYOe7gct1xYEU5ib0pDbBhnVXoE5DQ\r\nW3eKK/HmBnReHKkCZcDh20P/T+IJamAuYgeXqdW1pn64HhRmprWV0kl03PGj\r\nyj5VtanAJ9nkoWO1aSxjOaiOD2PJoqpBq3CmzM44CVWCEYi5FZPW0rAOM8iJ\r\ncfiI1HrCA5Pv3AkjeOVjk1B58PqyXAkO3eM=\r\n=3GfL\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"loxt","email":"emannuelloxt@hotmail.com"},"directories":{},"maintainers":[{"name":"loxt","email":"emannuelloxt@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/custom-krabs_0.2.0_1651340978207_0.6705946705683812"},"_hasShrinkwrap":false},"0.1.10":{"name":"@begrowth/custom-krabs","version":"0.1.10","description":"Multitenant middleware for Next.js","main":"./dist/index.js","scripts":{"prepublish":"tsc index.ts --outDir dist --declarationDir dist --declaration true"},"repository":{"type":"git","url":"https://github.com/MicheleRiva/krabs"},"author":{"name":"Michele Riva","email":"ciao@micheleriva.it"},"license":"MIT","private":false,"publishConfig":{"registry":"https://registry.npmjs.org/"},"dependencies":{"colors":"^1.4.0","express":"^4.17.1"},"devDependencies":{"next":"11.0.0","react":"^17.0.2","react-dom":"^17.0.2","typescript":"^4.6.4"},"licenseText":"Copyright 2021 Michele Riva\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"@begrowth/custom-krabs@0.1.10","dist":{"shasum":"eb8a9622ebf03e423379f23fd7bb40bc6c15fc48","integrity":"sha512-ZAXfWQiFGx/LzfyeWwIJYUsmP5qcgCuEItHyihbDJ5OCGrscU8wJn7V7473pnLZyUAfb39y6Df6iJHJ/WmkDnA==","tarball":"https://registry.npmjs.org/@begrowth/custom-krabs/-/custom-krabs-0.1.10.tgz","fileCount":27,"unpackedSize":30174,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC4/8IRBYGuAA8mIX28IpqnVz/MXtDfhi6ZBDWzBHF+eAiAWQt4WHS+xKjHYBrwQtZ3dpQ2S8Mt7h6gMNPuzUxigXg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJidU76ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrj1xAAlLKS6tYVN+/tqGMz2URf/bI3GcVvCGmsuaQitpl8Ztg6EDxS\r\nTj59IeCg+YuwfgwyFimlwk+vPkoTnqtEsIDou06kuSWduD28wATjfxBnAi4q\r\nO6megc5UgNKi/Cvy+N+XNPIAlJaPBKGV5lnjoFlXWncYTjLhw4t42NqMsUbb\r\n6ctCoI7eT7XmTjpq2qTfjW/ONVxI+b1gO07oPbnKLiYCXvboaOdZinajQMlx\r\n056N0popIgQCXPgJ1PlK2S2zyDbPwxLaC75iiFo5pGEdyUsfkHVXqbgue9K4\r\ndNlzD3j8xe1EurXAt0yMDXRiBVYtZZkimIaKgmL6j+62gYRHUuEabNgM56IJ\r\n9mEpZ4jkd6f7DEZ35f/6tZ2nZlCg/obq9ORSi0IaUQpbs/hBN+2azZcuap8p\r\nRQb7Nx9A8akmNNxT6nn/GpPE+pwLuYTiRwK640ko+p7PFLzgIom+qkCTUClG\r\n4uVkg3N5E5U+c/BTYdbtMS28ClhUxN9ZdmtFZNLAMDW2wxGoFkcfmVx4T69a\r\nWkXTkRY2n+ZVaZC9SC9QDsVoE/TYZ7/UGhtFyHmafE41/8KP2C8aDGsVnnOw\r\nvfjZOKekLK8oPoLhVUdYij7sfzdEtiE2leLNziLsMxymZntTuU8SnKiF/zo9\r\nL0qmroFsFb/CxQoxrlgCtCJUM/E7jrbILmY=\r\n=CbaP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"loxt","email":"emannuelloxt@hotmail.com"},"directories":{},"maintainers":[{"name":"loxt","email":"emannuelloxt@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/custom-krabs_0.1.10_1651855097819_0.7314723403861139"},"_hasShrinkwrap":false}},"time":{"created":"2022-03-22T02:29:19.682Z","0.1.3":"2022-03-22T02:29:19.899Z","modified":"2022-05-06T16:38:18.146Z","0.1.4":"2022-03-22T17:23:13.329Z","0.1.5":"2022-04-29T15:56:43.864Z","0.1.6":"2022-04-29T16:07:19.018Z","0.1.7":"2022-04-29T16:10:34.782Z","0.1.8":"2022-04-29T21:48:27.346Z","0.1.9":"2022-04-30T16:23:04.936Z","0.2.0":"2022-04-30T17:49:38.357Z","0.1.10":"2022-05-06T16:38:18.044Z"},"maintainers":[{"name":"loxt","email":"emannuelloxt@hotmail.com"}],"description":"Multitenant middleware for Next.js","repository":{"type":"git","url":"https://github.com/MicheleRiva/krabs"},"author":{"name":"Michele Riva","email":"ciao@micheleriva.it"},"license":"MIT","readme":"<img src=\"/misc/krabs-cover.png\" />\n\n[![Build Status](https://github.com/micheleriva/krabs/actions/workflows/coverage.yml/badge.svg)](https://github.com/micheleriva/krabs/actions/workflows/coverage.yml)\n[![e2e tests](https://github.com/micheleriva/krabs/actions/workflows/e2e.yml/badge.svg)](https://github.com/micheleriva/krabs/actions/workflows/e2e.yml)\n[![codecov](https://codecov.io/gh/micheleriva/krabs/branch/main/graph/badge.svg?token=s46QYu6uUJ)](https://codecov.io/gh/micheleriva/krabs)\n[![NPM Downloads](https://img.shields.io/npm/dt/krabs)](https://www.npmjs.com/package/krabs)\n[![npm](https://img.shields.io/npm/v/krabs?color=blue&logo=npm)](https://www.npmjs.com/package/krabs)\n[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n\n**Krabs** is an enterprise-ready Express.js/Fastify middleware for serving **thousands** of different websites from a single Next.js instance.\n\n- [Installation](#installation)\n- [Things to know](#things-to-know)\n- [Installation](#installation)\n- [Getting started](#getting-started)\n  - [Examples](#examples)\n- [Documentation](#documentation)\n- [License](#license)\n\n# Installation\n\nKrabs is available on **npm** and can be installed as follows:\n\n**For Express.js** (see on [npm](https://www.npmjs.com/package/krabs))\n\n```bash\nyarn add @begrowth/custom-krabs\n\n# or\n\nnpm install --save @begrowth/custom-krabs\n```\n\n**For Fastify** (see on [npm](https://www.npmjs.com/package/fastify-krabs))\n\n```bash\nyarn add fastify-krabs\n\n# or\n\nnpm insall --save fastify-krabs\n```\n\n# Things to know\n\n- Krabs forces you to use a custom server. Therefore, deployments to Vercel are not supported.\n- `_app` and `_document` pages are common to every website.\n\n# Getting Started\n\nYou can watch a video introduction on **YouTube**:\n\n<a href=\"https://www.youtube.com/watch?v=71NRAnT4G4Q\" target=\"_blank\">\n  <img src=\"/misc/krabs-yt-intro.png\" />\n</a>\n\n## Examples\n\n<details>\n  <summary><b>Express.js example</b></summary>\n\nLet's say that we want to support two different websites with just one Next.js instance, and serve them using just one Express.js server.\nWrite the following configuration inside a `.krabs.js` or `.krabs.config.js` file inside of the root of your project:\n\n```js\nmodule.exports = {\n  tenants: [\n    {\n      name: 'website-1',\n      domains: [\n        {\n          development: /dev\\.[a-z]*\\.local\\.website-1\\.com/, // Regex supported!\n          staging: 'stage.website-1.com',\n          production: 'website-1.com',\n        },\n      ],\n    },\n    {\n      name: 'website-2',\n      domains: [\n        {\n          development: 'local.website-2.com',\n          staging: 'stage.website-2.com',\n          production: /[\\w|\\d|-|_]+\\.website-2.com/, // Regex supported!\n        },\n      ],\n    },\n  ],\n};\n```\n\nCreate an `index.js` file and fill it with the following content:\n\n```js\nconst express = require('express');\nconst next = require('next');\nconst krabs = require('krabs').default;\nconst dev = process.env.NODE_ENV !== 'production';\nconst app = next({ dev });\n\nasync function main() {\n  try {\n    await app.prepare();\n\n    const handle = app.getRequestHandler();\n    const server = express();\n\n    server\n      .get('*', (req, res) => krabs(req, res, handle, app))\n      .listen(3000, () => console.log('server ready'));\n  } catch (err) {\n    console.log(err.stack);\n  }\n}\n\nmain();\n```\n\nInside our `.krabs.js` file, we configured two tenants with two different `name` properties: `website-1` and `website-2`.\nSo now let's create two new folders inside of the Next.js' default `pages/` directory:\n\n```txt\npages/\n  - _app.js\n  - website-1\n  - website-2\n```\n\nFeel free to add any page you want inside both of these folders, as they will be treated as they were the default Next.js' `pages/` folder.\nLet's add the following content to `pages/website-1/about.js`:\n\n```jsx\nfunction About() {\n  return <div> About website 1 </div>;\n}\n\nexport default About;\n```\n\nand the following code to `pages/website-2/about.js`:\n\n```jsx\nfunction About() {\n  return <div> This is website 2 </div>;\n}\n\nexport default About;\n```\n\nMap `local.website-1.com` and `local.website-2.com` in your hosts file, then boot the server by typing:\n\n```bash\nnode index.js\n```\n\ngoing to http://dev.pizza.local.website-1.com/about and http://local.website-2.com/about, you will see the components above rendered by the same Next.js instance!\n\n</details>\n\n<details>\n  <summary><b>Fastify example</b></summary>\n\nLet's say that we want to support two different websites with just one Next.js instance, and serve them using just one Express.js server.\nWrite the following configuration inside a `.krabs.js` or `.krabs.config.js` file inside of the root of your project:\n\n```js\nmodule.exports = {\n  tenants: [\n    {\n      name: 'website-1',\n      domains: [\n        {\n          development: /dev\\.[a-z]*\\.local\\.website-1\\.com/, // Regex supported!\n          staging: 'stage.website-1.com',\n          production: 'website-1.com',\n        },\n      ],\n    },\n    {\n      name: 'website-2',\n      domains: [\n        {\n          development: 'local.website-2.com',\n          staging: 'stage.website-2.com',\n          production: /[\\w|\\d|-|_]+\\.website-2.com/, // Regex supported!\n        },\n      ],\n    },\n  ],\n};\n```\n\nCreate an `index.js` file and fill it with the following content:\n\n```js\nconst fastify = require('fastify')({ trustProxy: true });\nconst next = require('next');\nconst krabs = require('../dist/fastify-krabs').default;\n\nconst dev = process.env.NODE_ENV !== 'production';\nconst app = next({ dev });\n\nasync function main() {\n  try {\n    await app.prepare();\n    const handle = app.getRequestHandler();\n\n    fastify\n      .get('*', (request, reply) => krabs(request, reply, handle, app))\n      .listen(3000, () => console.log('server ready'));\n  } catch (err) {\n    console.log(err.stack);\n  }\n}\n\nmain();\n```\n\nInside our `.krabs.js` file, we configured two tenants with two different `name` properties: `website-1` and `website-2`.\nSo now let's create two new folders inside of the Next.js' default `pages/` directory:\n\n```txt\npages/\n  - _app.js\n  - website-1\n  - website-2\n```\n\nFeel free to add any page you want inside both of these folders, as they will be treated as they were the default Next.js' `pages/` folder.\nLet's add the following content to `pages/website-1/about.js`:\n\n```jsx\nfunction About() {\n  return <div> About website 1 </div>;\n}\n\nexport default About;\n```\n\nand the following code to `pages/website-2/about.js`:\n\n```jsx\nfunction About() {\n  return <div> This is website 2 </div>;\n}\n\nexport default About;\n```\n\nMap `local.website-1.com` and `local.website-2.com` in your hosts file, then boot the server by typing:\n\n```bash\nnode index.js\n```\n\ngoing to http://dev.pizza.local.website-1.com/about and http://local.website-2.com/about, you will see the components above rendered by the same Next.js instance!\n\n</details>\n\n# Documentation\n\nYou can find the full documentation (with real code examples) [here](https://micheleriva.github.io/krabs/)!\n\n# License\n\nKrabs is _free as in freedom_ and licensed under the [**MIT** license](/LICENSE.md).\n\n<br />\n\n<img src=\"/misc/krabs-bottom.png\" />\n","readmeFilename":"README.md"}