{"_id":"npm-registry-firewall","_rev":"111-cbaf175b7c0e30c9fdb7be7d2670857a","name":"npm-registry-firewall","dist-tags":{"pre":"0.0.0-pre.0","latest":"2.13.2","beta":"1.34.0-beta.0"},"versions":{"0.0.0-pre.0":{"name":"npm-registry-firewall","version":"0.0.0-pre.0","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","scripts":{"test":"exit 0"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"50ef1c171587f7a6266215bfdeb65704498d8d0d","_id":"npm-registry-firewall@0.0.0-pre.0","_nodeVersion":"16.14.0","_npmVersion":"8.5.4","dist":{"integrity":"sha512-Iwg7b00dVBOPiS/vYmxgoAbUlFNEyuUvyuoI85AtPaAh5/WmLpuTe4IAR53bMNPfZntbJ3wyo5o4PBaHBnJz/Q==","shasum":"45a6fac7f0ac69742325e8ae842f18b3fcc0a974","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-0.0.0-pre.0.tgz","fileCount":3,"unpackedSize":5853,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQW53ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrlQxAAmZPNiGRdsw2QgkEHvoTI1JkCKDSRsb1eQKiPaSESuotfg0zO\r\noo4okFCXstNqQsKoAm/4S4/DthrLynPfLjeJ5y+giiadI03OvmJ+1aCEoN1Z\r\nDyGlzoyDvGALYpnJcsqu7Y02CO3eV7YsfPH82b38hyx0Jre/VZ3vNR3IT8w/\r\nXULn2FOJwEXsBQ7kSCDulUXGlNgk//Pg5ODlO3lj4vYAp9JaoUtb7BC8ZwUe\r\nS6OxHxwrzgrEolmZ7tBbXO9zqdJrlcTWYEp3lUopufj7+fRS+mH+dMBG+08K\r\nwlERpVFEUqj/E8GAg70KPf08tpjm6h5NFrTbDF2EndfFcsjjSOcg+WcLvL4X\r\nDTRJhQQ29emW0oTqDLLdlNapBl8o288nRZsiuNavq/WTblppxScbjTqQVLMg\r\nZTkfsVgFirbcdrWLoWkdKA8FpSGaQznV6cweeUnAPzn5g5FbiEBHDXEAPhf3\r\nAczcXuGEqOaGJDVeriXUvXTki3Voctb3t4quEvNRfChvpIiuNgIvPYWHXu+1\r\n/Ua6S27ylTrlR2Ds9j8FXi4MNwwr9vOGxkEHWwDbZMI9EpjramhNrasQEa6D\r\nvysx6jAAGifiZ/burEhnC3saLntX9KZGqKVO1N023/ykjnFHkW/zl+0fquik\r\nDL9Q3/J9morr9wVGHzdeddk13UwvL2E5/ks=\r\n=yaGn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICZRk9lA5posiBjg5G8e0eSn9sRGhBlPCYDNBwcmywBJAiEA/d4rbYx+52TkkxeuYIAASD3gA0s6SkgN8ekYYNUDJD8="}]},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_0.0.0-pre.0_1648455287011_0.2495169888132236"},"_hasShrinkwrap":false},"0.0.0-pre.1":{"name":"npm-registry-firewall","version":"0.0.0-pre.1","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"start":"node src/main/js/cli.js","test":"node src/test/js/index.js"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"96368df60664427d5ef1dc94b9e76ec142272fae","_id":"npm-registry-firewall@0.0.0-pre.1","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-uQ+7ehAyfoIXBHYkR79uWoA8SBsRsEvpRWCk1Eaf9KI06eWNRP6tPbBDqZlRFJSc0ytKoOF2Er8R+O8oBi1pig==","shasum":"297ebf9d67832bcc3657d6984f2650c62710ecb0","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-0.0.0-pre.1.tgz","fileCount":21,"unpackedSize":19885,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEVAxOfHo9Ao6CT+92UTbnFkkkGaSL/ocWlqkk2QmWgqAiEAguSlD22yUrp4bvzAHK6h/DVi9jyOGKxFj06ifEkgsAI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVC2rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr39g/+MjaTMaXZ7AP254gXd3lriIbQwg2ekikCsBgQNWNFkiuVxdfz\r\nRpn4vlWR2+F27fVOryiiYM2cM8WGQ10dqfPf6U8hQJpzNkSnyGP5denosTnT\r\n1JVgvS5aNHUDijuVpts49IY5jB2OdlWVabIBTufJctqOSKR11L0QPn4L3fJR\r\n1PJqSU6DMEwUk6pQzCGxVWmneA22cs927WdsvkXm1DpvSB1Pby9GiCI2dZkF\r\n2mWMvJiLjhDw0OVYuRKlX44oLjNPqDtcExXbPzG4lpAkw8T3If5dUO60JOCI\r\nS4EZYSlTNaM+1z3mDAT3FhOnDM2UeMa1HqOKXdqBh4qnVem4E7gUCYWzTbb6\r\nfyKUuHCHFvb+OOYnJvS2GlW3SMvcexLrhyfIK64NAOyHcGUWfV3EAJaRTK2U\r\nWh/1FpczovcsfSPZrYx4kRlISWexR5BGhMr83JEYHZrcCGTR+Pk2uf0wwnPn\r\nDT66vKKRN0TEYGBIlA2sUMyD+5JA2aRAxD7OsMEQROzRWZWrFa8OK+EtNOm4\r\nWO2IPB5H2uMUyjc8zJ5aV7Bo/ZDH06p4VelNPNLYNXbAorCec2r+99PgxXT2\r\nyDLeTMAkGRk1RzQiq+yRy943CZXczvhrGGWn5j2pGGHvj5EuIh9WEkglJuNj\r\ngdU267lE8SwhoGJ0TttiymVeOIYDrHsooPk=\r\n=/Azy\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_0.0.0-pre.1_1649683883230_0.3467821174645276"},"_hasShrinkwrap":false},"0.0.0-pre.2":{"name":"npm-registry-firewall","version":"0.0.0-pre.2","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"start":"node src/main/js/cli.js","test":"node src/test/js/index.js"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"2e46bacc2c81aaba263742e6a49295fb502e91b6","_id":"npm-registry-firewall@0.0.0-pre.2","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-8FRlgwp4dZyf7w837iXo0Czszu032zVUVcq3L69ahdBNzI+T1uDfh8bIBocfD+sw+8hl4tvc22TQpnn0k6u7OA==","shasum":"9d1944b31226d3723557b939f2836190626ea3cc","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-0.0.0-pre.2.tgz","fileCount":21,"unpackedSize":20576,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcCTcUr+2d5RDH3S+p0PWdw7uDDCG/vQpMu0Z4pousWQIgT9bxN2uTRTkYl+WBTd5nnPCUXWMqNu6JuQXgTYpVTog="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVDefACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVbw//V4MX9CJni2/G9D8nu3jpwv3ahyYQwxC/5xrynfU3BKn1MBpI\r\n+A5gVbHm+5DEci6qTV3lOZ9XZVKyc6oPA0+XLoWPeL9NBrvuI+wLcvJuBqef\r\nuyiQLmXuu7++FW2BnEZMzeOcL7gSM49OAe4SnDiHHj70rTGvveVVYR/nN9eV\r\nV1BM4yUx+14NmzNJr/+Td9fxzvjcVlovKZA1GLrkByrxzMYDV5KPL85z67b4\r\n6sFxiyo50k6z/2EMT+MyzDxqrV3rw7Mlhsei9hdlg6N8NVg7akJV4bgjMG3F\r\nYm3H60JcIF5u3bVwe5gHrMwTon7O4bA8ZoRytwx8jCTZRCPvdsOPHybj9TW1\r\n89KChV3uHQ+xCOPUyOJGYDLP0KTlksADm/El5WLakq5ANQ8XPo3ovWKvC9kL\r\nPN/sVS4DvNqc/NYct5oIjbwzxucOs+1AzX226auTardTs+bVIv7koBVxhEit\r\nnhwu9Gll9a5wxeWDAV0CZSRfzxyD+/wRNqEj/eLI9bpU5crpdjkdXam+McWT\r\ngKu3qV8UO812RRVx+vbFvewri9t61w6yBDq6UE2knZT/f3NZZfOwjFSuztgI\r\nmv4BnttOB9sBwBWlk8XgeH+1LfrypFgPe8+8W6VXmg75gRFC/s/fSTTRcImD\r\noF8+qzYkm+F/LZVQ/lFfPR7JqPJP+4H4nS8=\r\n=x1eT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_0.0.0-pre.2_1649686431192_0.1638397214639351"},"_hasShrinkwrap":false},"0.0.0-pre.3":{"name":"npm-registry-firewall","version":"0.0.0-pre.3","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"start":"node src/main/js/cli.js","test":"node src/test/js/index.js"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"b596bf7db87c66e1bb51b4da7954687202924b34","_id":"npm-registry-firewall@0.0.0-pre.3","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-z+bGhglSQ1kT7eemhbZ4sH6KSSBLLz2hBfWfcROtxyKReAbr08T5tzDYSZlhf+F2v6Fzz57Qy3t5WxWU9WnNVQ==","shasum":"2f70cf773a6f0587a063572b111e746347280de3","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-0.0.0-pre.3.tgz","fileCount":21,"unpackedSize":20741,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwDM7IlZ7W6rVRgcbcKugUIHHkIIOtIxDcdw6pqd4/ewIhAJUdVeLZHf5ZOM0k6nhG/4YbWFx6D4tJBHbvdOuCzBQm"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVDrCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMyg//a5NSzEwVbnRNeOnlsdFStOVpMFGlfpqiPyE1EY2vJfs1shDq\r\ngyR/5OxrgY4ETNaQCuxITlagiZVyFaIRx9MiqZ1FD2GQoXlKLsD6ovOnt3fo\r\nOx9KWOZC0xl8GaeFg/q+dHdIIqF/1YA1YcwoR1mv6exiY5l/GeMTbZMk7bq8\r\nn3OeeWpOlz90lnIgQvHc4uJT5wJw3X9XoJUUZbyT+xX7mRuPfSjYALGrgeXU\r\nr1g6Oj1V3vnCZFAXYpp9b6N6DUUbLU6JriRP5T0P4aAo7LhxSvtVQ1Pau/or\r\ndWHyrTlN+zY2/zIZxNEHbFTAWtGu4ayBoHk5neQf7KC6v/5pSk11OsJsUjH/\r\nVMGF0nUmIUx5fdnwQ9iJRjrJ3Re7E9WGsQrY1K+NPO4vrsgJnhPXvQPJDyq0\r\nfQIhzfOdED7ekwyOabYX0RGVStwMzffACygSpTW/xzZ8iah0w1kl2B/6ekJT\r\nLAdbXDh5QB246/J3JwRt1u3naVh+xi1J5vmsE6rwLLVZXPifwU55y343KWmR\r\nlavGZtqJSeBH9XBpZj9M/UP4sZFYmlmMGjEI2JBCf2pIWTgFnbGNJCc4kPrb\r\nCbzDqbR+0yQ18nwsMdvkNsDcYyhXYgBLzILNsALE3GyePVXEmXR6jBJMsnah\r\nIg5hR3SGZGlQKaBOo+TrOSbrJiCfOGo1104=\r\n=pEuA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_0.0.0-pre.3_1649687234031_0.8867172048406138"},"_hasShrinkwrap":false},"0.0.0-pre.4":{"name":"npm-registry-firewall","version":"0.0.0-pre.4","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"start":"node src/main/js/cli.js","test":"node src/test/js/index.js"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"517157a4326638db80f69f38e3a406c9a8c7665e","_id":"npm-registry-firewall@0.0.0-pre.4","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-EwjgPc+Z69PhSLHlz5P/6UKPAvtSyMQeJEzeWeoEXTA0oJD+QjeN7NdGussLHqtCrFjm1mSzmCQgihsGiFeWEQ==","shasum":"a6799ba86aae9fdd44375f7dd5f2b794a0e70fa5","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-0.0.0-pre.4.tgz","fileCount":21,"unpackedSize":20821,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8unQNqw8ltoSRcs/Xxq881IoLfYDGgkfmCYDpImKQMAIgK6NcJJuhCzWxXmer3F6pFWjr3iQG8VWDjmQa4MbNeuA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVFxGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpLPQ//bGB6AuEmEeN27Bt5KhSvWQfGk6hpOtRPBEnW907qZZC+LD5/\r\nCLK8iuLtuGInQBXfU/+25hAwbHZ3ygzhxC8+awObIlCRZGAny0bh2ChHHYup\r\nJO8ulTdFLIEn8pibY7qqdMMIh+dhDW6hPm27cscpgpM4IMXuYXBEXEp/agjA\r\n+sco17UEzApfqEP/UqNCi1cHZ77wW2AZVlid9XhhQBbDzfCE7/CjwzYIzFsA\r\n5syOp41WIvytLPjqYxKu/mnagYKatkfqbw+/Ev5hd25Q/hAhPTjgg25onXSK\r\n31Zcj50u8s2PxvFiXWpjxnvgiUBBKKt8jYABe2Vx+pv0Mg4ayznoBy29qoRa\r\nn+M0ZkVi3CNqK/fKGEVvSpuQV9Et8FrkX7iv1VrxJ/ntDZLDLgHOrQLLJzL+\r\ntBFU38LkdDDqkC7vwhivC5L6ZM7Hz2iVeDANInaU0xZ4bUWOv1rqoB0fXh0I\r\ne+flMZJYdgw7RfGDWuLIZdSf5EwGP/A8+29+3ZbH5dxH0xi8gjVZzckKiZh5\r\nEg6fFOiZv0wOzQVXs4/Itczk7Q7DIJM0nFGNjoGjlZ5bYsSdkAf3nANJKr/9\r\nJf+/CNIqrbnmAcd1BJmk5XvpYGuhzfbJ24WNl8E+IWNakWCkgZ/ACkyVriNF\r\n/QXOj1VNHiqy/kz1wWi6kVl8GEvZBXAzUHo=\r\n=F51q\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_0.0.0-pre.4_1649695813717_0.4732121819456234"},"_hasShrinkwrap":false},"0.0.0-pre.5":{"name":"npm-registry-firewall","version":"0.0.0-pre.5","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"start":"node src/main/js/cli.js config.json","test":"node src/test/js/index.js"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"87570d71974fae76d96ec2a14685d5a5c0fc6966","_id":"npm-registry-firewall@0.0.0-pre.5","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-ZPxGdmt6A/9k7FA1CqEIYxWysjai2oNTgNMbx8LzSZCzrybP1qD6srpSdKs9+hhi2Emj8sSHT4tnUlW2urg9Cw==","shasum":"e798e6fb64d7d75eb97ae86e19ac64a70ed4a3ab","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-0.0.0-pre.5.tgz","fileCount":23,"unpackedSize":21102,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHQvS+J1apoM2vQoFSFmxnPVsIuwX10GVN4N1kZgLfFXAiAL5/LBmmpq2/SK8Odtaz6U7W70FXwZ4jaEYyzCIzboCA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVGItACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpOlRAAj7oCCQHg5YdHS5bPHHWZLOmq5O+dJiPtZH8URLHP/35593/1\r\nFTDlwKl3iRb/bMu0bsmU0A5c2+qS6HCVLvpO2POJcChRNfmREPZ68KOvPG+H\r\neDnjTLUH4gUNrwztDfdEuR6/samoqi0/KQMZNuuEFG6KqzxEYjhiBq64vu7n\r\ny/Xq6+ZlmHy7E2fcbhg1oUKO0/hx5x6gXoAPnVkBAweU9ERisdzmaKqjrY7G\r\nzKK0HpndtxIZBZpnle6TCOFyLOUUfngqfi8KKq0wPJ22xoi6L9z9osTnrRcJ\r\nMGpwoptev1eLvv/ul0I/X6BJyYcm52Sk9zrH20Ue1regddXJyLri0G2HFuqR\r\nXQRb2cvvI+BZTw+v1PgUHK8zuN5p0qAwCXvZMnjToUl1s46qhz2ueBvMtyfN\r\nAdVg4ceX7BXIzHL9yxta2WeqbUeRXFKm5dtKz8v+BMXphUis1RpU4oHp4i16\r\nWk9a1fCvhUgz7zEhqSYgr8qhumHMKkASX3mvKv9BTB98z2APql8A8Rf19XwB\r\n1ygxFWxULrPxA58tleBFQJtm9/joAjXm0v7yBEv+XgoRzASYPK4y90zsc6Rc\r\nS+THhhQUEdCurxPryRuCQA+aAHuJ+UR1z3nG/VbLF830KlXSeKfj7Ng60ovP\r\nQSHyoPzDrxaHxcze7DO+GRaZfekwyS6HZCg=\r\n=EYJH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_0.0.0-pre.5_1649697324995_0.6496035211352196"},"_hasShrinkwrap":false},"1.0.0":{"name":"npm-registry-firewall","version":"1.0.0","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/index.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"360a9ecf030e3439f5e2de8bd0e4a1753983e33e","_id":"npm-registry-firewall@1.0.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-Ai5CtIqdQUuoL9VwyHGSsLsr1D1sVQLbGrKa7CaalrfSfrPmD5I40sSt+JUV1wUayRnUgFVzZ/kUHcUoJCdEjQ==","shasum":"10d57d778078494ae866e591b3581f4f3db61245","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.0.0.tgz","fileCount":23,"unpackedSize":21935,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFO8Js4j5hlvP24WcC1zOEBQ8sLfSPtbJJaTEI4Y61eAIgAr1wAs5OVpYku7d2+W36xDWXJ2L6D/Tl/GK+1dldfxw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVIAcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmohng/+NNeiTRw1KofiIhGFQwkzgii1bSz1CnC0v94VdoOovz61mzn5\r\nbHXfDh25W8xeWsAQE2E9ClMB9z7XdKoOeDtY0S5poxxgyF/oFGHuvkTfzEln\r\nd81IqnG99t4S4kuJgjHCl5HjUg8X9UauaohkqsK45fkqoSR5mrr2RnUTkLsn\r\nkKuxDe7HcfzAdhB34FkIPAhaicujPRblcVywlHpZi6luO1BZEBVjT93H3p5s\r\nUBHQiFj8QPt1fYkfKxJWSeTTKXJQkw9Ixqc6YNoSsAqQSYSbOAomuQCo8Nxj\r\nAVEWyv43fN2JjqRBwuCSYrhsAsLLglPrw+uCwwiX+LPvxIu7j+Q/O22KZnLH\r\n+NrWBJ3Xoivjj9Lb7oilQzl+AEjxdJa1erpBdg7QVeZcmQ94jJ1eNNMqNkj1\r\nERgRMi6OYZzBW7W07VVFGZBZB03j6iWvPkss9eBUeio68ekfNltGoLEoDod0\r\nqP1YDwnJ2b/FtdwzZ4Tq/aEg5RtUT6FJJatgsVv4aIGEn8sAXPO5BnyTv3aH\r\nx7dwuvsxLUd0GAPlqH09gFCqEbfTcz/NsTQdWQ8//cWronKWLNpi1fZIr8io\r\nsMT8vdd2SDRwy4lcroRPsyspilPrLjADnK04YM3AVPFSEV1Jh9iLeUjsMLPM\r\nGOdMLhtF7RLNoI5ECMsanANjL8w0WejyiGA=\r\n=ERhT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.0.0_1649704987931_0.10035915278309404"},"_hasShrinkwrap":false},"1.0.1":{"name":"npm-registry-firewall","version":"1.0.1","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/index.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"3f25d2a6fd2ccd9c3253db4456d5ceaaf96b2652","_id":"npm-registry-firewall@1.0.1","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-LAq4F8uiCJWSr00Xzfd+AjYkjJ8f7cXW3v3lV5VcHhT8V4wEbyTQPeDwLoxubI0RP1SSqiQqI95FXB9QpymwEQ==","shasum":"28a9d3de690a5b28de1e324c6bec2c97ff86c410","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.0.1.tgz","fileCount":23,"unpackedSize":23139,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHmT0v8Fp5cATw2oA+VDsUdf0JnnuOy0Gt+oFd2txDb1AiEAsq7y2a/Kkl0eOElr7MHF3Kgq1Iyn9JdvK0hsckr+PVM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVJhuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmry2RAAlvQJwZvjyIXHWvGadwJnzZ3YrTOn+qkAq68Z1Z92uywJmlcA\r\n5vWZnN7+ODk4y1A7AxCzynk5GULTzDZo0yguN160I0HoUvFfYACKsVjlOcSe\r\nTlTJywhogtvbqlfYi8SQnL8exiDjiCHq9UkwJFVZGGhKUgVy9FfJGHUhKM2W\r\nObL/RbWzKNTmyG3j1iwakhztwG6I2kpB7PBS4rKF+qSsLxNYsM/IZRmYyUAr\r\n7vfOnR0MO7kq1PTfph0/8yfaM8a/I4BEfsuD4KT/oeubtgWEoPijBeuUSAvc\r\n688agd0R1qMgyv3+fvP5DzN4wH7PK2xxS6Y19qacIXRBGfnZwH/ilR+my5U6\r\nPkejGUQ99N37IUXrosGeFxph2rFm2x9xDjgEihwIwnkMPJ13Ny1xOX90vsqU\r\nIUE7qD39E8sw00p7sayL0pxaGV2DD2MZAj+iXEesSprK8i4zkD/KDUfErzPx\r\nevEJe+12vmcw+hv7nzI0In49fPrlFjO7SqUco3GU8WLs3BzrjjBS5//PO05O\r\nVXtowgOXsnw9SNixEcpbmC+qT71XIWOhvz89g4drnSbFuVIVpiTZSsVPQZgy\r\n8ODQ/KZaK/3t7SE2T7InS2JP9IcqDP5HrB8hH9WMcrlK1qbCM5tiUANbbykm\r\nSV+SzQnpOInebcwH8L0Smfpg8VX1RU8Ae8M=\r\n=vl8S\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.0.1_1649711214785_0.25874559285145127"},"_hasShrinkwrap":false},"1.1.0":{"name":"npm-registry-firewall","version":"1.1.0","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/index.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"f6537b8d15748cdab6718f4597aedc7dff3a2f65","_id":"npm-registry-firewall@1.1.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-0hMRQc+8ycb83AfzOXOgyzUlLRRvXuG4lYVbo21wllkkttltn30FJQB6DivnLlZQl2zc+rRYoqfR4yO3XqJ4gg==","shasum":"64a224d647d003ece9981bd7834ad9736d392a6e","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.1.0.tgz","fileCount":23,"unpackedSize":24318,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCw3t6+Zdp23EpSdSc14Qs5FxM8xhddtcxH4KITYtqbwQIgZmhhNlm7CDjXKIpF+L1J31nf/Ux6i+GR7lvBR3UNuyI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVSoXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpLWg//XJ/gX+9TpcC95KVMVsOS0GNjXCe3CjXhIvAO41kmzEhLQ5iq\r\nkVCm1OverM81NdvQf1DFDaK7HbI0aiDiQ9xP59DwX5XGqkzntnzV9m6KleYY\r\n7i1E6dDAYtnZTIH9lTEh2U2xw4FpW1hvi5Yw1iWMKsAZWsbPz3wu0SXsSmJX\r\nX5gBG5ViB7Ub5eqzghz161xiJQx8W7M6h0hnebDRAkKXLo3noMnZxGndDByg\r\nnhXxNcAlzR686i1haNpl/6nMA2zPY3ydxolT+EAdB2d4fQWb+q1MjlUa45WU\r\n7EpluUnq5Vmajr/A/rfcGHhDOepsQEfBgQ5V2jlVFl6jXb5EViSoxu+4Y6Qv\r\nBMBj19RfbgVCnRNP9nsK0CK5P/Bbm6bRTDy94VRmDfeGY3nFFXgR32fD5HzF\r\nzOnYCjWoV/3Jf8VmKkVI7PFMSTtn2ZYtURHg3EcgInOnkFVGRmQ78+a988fG\r\ntiWLArzhX9M4EaMLSigGxaLcKKH5bUa0VhL9diLP4U+XbPZZXtTadMEzgYS2\r\nnX/ec6zly4aML6x/czLTbG82xHtohyLZJ+OGsAfWww2r/IDxTihUfozLZOA6\r\n67Pcgh958lxobQ4bZBp7Qi3vjcHYRDrodey3713qiC181UjuZSwPp1iGFSLn\r\nHRg/yPUfwuBlCzvOeLL8sGBz+DnbDnCm584=\r\n=4viJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.1.0_1649748503624_0.25390116369743376"},"_hasShrinkwrap":false},"1.2.0":{"name":"npm-registry-firewall","version":"1.2.0","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/index.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"d9a60a5462cbae75ae239a1198057220c0f239fb","_id":"npm-registry-firewall@1.2.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-JH7m3vzkGXB88CuihGKozGxVG84ykJoGcnNsAPuwMn1LlRwJcz3dkt5AbXz0j/LNh6/acHK77+5WdB/+pQDEFg==","shasum":"57b7689d339acb5d3843424802dc1a52846bde19","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.2.0.tgz","fileCount":24,"unpackedSize":26430,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAzSWjeozLMFg7t6GROkCB0STg1apt69htZJGAQJchmhAiAsHy6HrSSYE9QXKNzFmpeyYKkWUqYyxOtUARZnUnVWZw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVVZ5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpaKw//Q+1vluisNTnHfn/OTwB7qTYP/fiqZA8y1sPW8UkKKdFLmCBk\r\ntNF6rjiVN4CgGE94WAIHCwYxQOfIUMnS1kKlHD1ZGjjkkiokt2ZYX4JKhRAr\r\nT5WhQlU6nsgY5bCqhN4z//SOJjzuKU/46WpTT0X0o3MvRUm22UTcDxHeJF+R\r\nE27chLzO0Os2GOKUdawFILScvpP5nRrFTptfyjEMywrAlOL0uiucZXwQ9LU/\r\nHHPB2B7GAEAGsWfuwDFwFEdVO3r8dci8roZ4JdTTkBMDpFf2xnCUOD/VhBgU\r\nmiYEqz0FbrWmXuyhA8RigQvqQiSEgrTOr6Qzt2SwFHvc8YqBiIChi+R5quSj\r\nSBCaz8isWKgj27uV8yyLGKxB02ZwItR5U2CjvrZd8biinOdaUP+LjzDE4tdP\r\npkVS0l4vNjcbWuuivSolxS3GyIDBEwTt70QXwP37ULnl6NyHnnmgcIPrVom0\r\n8DP7wA6TqPGAV8qtQ9UHleMNWcbypFGvsf4l5EP9UXorRo0yxxe5S+lFko8Q\r\nEZHGLv0QYeOsau5n5QrpVQbM8+b0f33xfPYSiCB1derLLkM0eMXiAhdxJTo2\r\nX7YszfRI1vhZL4jjHT9nyFxwcK+4tyUwkXujH/q93UU430vLflDPw2RecWFK\r\nLlQmmC0XfJeD7j/saoBOM0lcQ4jXQ1rfr9M=\r\n=+umb\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.2.0_1649759865181_0.25498917750227457"},"_hasShrinkwrap":false},"1.2.1":{"name":"npm-registry-firewall","version":"1.2.1","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/index.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"d43352636bb1918de19d15c36d94879f53f9c872","_id":"npm-registry-firewall@1.2.1","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-pf1Sx1kwTF9kfIsOmtCLwp3L9bX/cbwnyhYuk87maK1/MT6w7QohTXLelMSPy/1kbrve8HoFkkA9WEHUkSjuwg==","shasum":"55f2f488dd29266f5c4a56a16b42dce92ceb433e","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.2.1.tgz","fileCount":24,"unpackedSize":26639,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICnP27eo+n5aiTezcyuzXcGqn2opXumH44mttnREcwC6AiA0FE22YVVoMq/P5rKUW1PjbfKLTIV4pq1DsY3NTjDg5Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVWXbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqNfQ/+Jyo1SyCFmKLIkks3gWmlO+jTLgm4YKFY2kVrOlLV08fUHkaQ\r\nJIBa7+EuRIFib7dkQASea3iNi/Er7+QkArgFpDyL2MjOdVsgV9L0lvhbHCwo\r\nmtdB2Kj0XfrxphyJvyKorc1OqA5tycgbuqwzPXgdyGMFPkCeciy2rIKuBaRz\r\nAjbRVrSeZcgXUpyg3/2WBIeUK3KHegzxcHAqjrfgRCGZQIvwXpmo8DUFMDXQ\r\nSbrm5c8gC9dUP4yZTGqLv5GO0xmInFkOmRCRnbCuE3beCY4XZyxpsPXeksDx\r\neRp01/95HrtTLd/dI6ga/4jK/zpZ1RMugLoDI2PSpAnvv8ovG5PzOtAxkzjJ\r\nY/vvw2sLBKkJolkNMuKHTok2zgn/BNeZccLYgzY7gPNJ3jwY9bUsJWX1/3bV\r\nHSFU6WNaOV+4vF8+hcRC8A2zyE8LZLAs5brs8UpyCruBaBaY4R19MUNNYkHQ\r\nCGm5iaJfa14LvbaJluHhPRlmJgzL8nFJdORyRjGVKOWPZAsDw0q3rc9sppPg\r\nlVpen5g8Hvw8adErxzGbIxniVhvkdD8HNtg3g4dmVFgyeQCliFnzr8FKEXaT\r\nr/gQJPdzPwSwi+dbDlp7wpSB1FEKWy6xEwdj9DaDetr0587G1MuAcDbxdZXW\r\npI7/lyxvCVoqfvWUC4aeVF2FU6a47sdcbiE=\r\n=2Xwj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.2.1_1649763803395_0.35681573768215435"},"_hasShrinkwrap":false},"1.3.0":{"name":"npm-registry-firewall","version":"1.3.0","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/index.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","types":"./src/main/js/index.d.ts","gitHead":"cf4bcdb03ebd08e2a09edf6eb967f74d584bff14","_id":"npm-registry-firewall@1.3.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-fUTeqTZ8xCl7uLUtSPLaf6KlHf3WMq2erMbd4cqRatjXmB4+DEdy5ID7RBn0HCAzR+AIPaudgv+i+F4fAOpygg==","shasum":"cb50bf0a71d06bd3926555a103d8c9842e5360fa","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.3.0.tgz","fileCount":25,"unpackedSize":27478,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB8kL+Eal6MaYohcTKzshjLhO3BJGd82qxNMpMEnR1l0AiEA+o6Iq5+UepiNuUSV9Bs8icgU7m1BPF538hHBDZaqCzM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVXDCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpnWBAAnRisfJ44WiOumfTR7OK4lh9QZsTKIruYZxXSS+bicfSt72th\r\nkYxSKHVmYVI9a7sBbp76xhRTUnus5cz7FUZ/L7g/LMhTdrM7RjifweWQUqyd\r\nYXft50z0iKkpF7oQh2xD1BKqlpq+3+TURJEzLhjcnqySixq+KbEuSDED8w2I\r\nxJVTOnPkwPZ5+S4net35AszhbDtKZmi+2kTzyPllcJ60ubDZSj6LR2pmUezQ\r\noAzX8WSSR8/dhgwykyoeLZZNHLHNQZTbAvNTovSO4UWS3VTIebRLB2qE7Hv1\r\nm3PY3dVkMe/pOn1BMYaPWcOe8RSHvPZzvC9A3tFflzKp4bYYdPft+VCRCg9/\r\nCdX9iwoT/MkB28lJRL2az9WPa6HEV7mbkQL5jXsMtIBTULlEmcbRQQ4anjAm\r\nj3ij1t/b6TrhnFKpiyXiLplRVDcIcJsHeDHYJK/6S59RxiT+DcTgj9PguTjr\r\naIYQh3qTOnmt4X3kEsqVEoaT61/fSKsZv56ts1cf9yUiwSUltiFMetpD32P/\r\n0oHT1JoWcpZiHdZwnO+IZmk1KfGXIT3ogxVlltY904AL5Vn+blkewCcpuNBL\r\n2Y56Z1oB03K+A5Jk9leX3WcFvqRD2ZP+fjCPSv897Q5Ec8KjbPttcw9femAL\r\nfA55mq4JRR0n9bNbn7kAhiwPc2Ivf3gRCUo=\r\n=8LKd\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.3.0_1649766594583_0.05166945581068627"},"_hasShrinkwrap":false},"1.3.1":{"name":"npm-registry-firewall","version":"1.3.1","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/index.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","types":"./src/main/js/index.d.ts","gitHead":"61c442ae76e3adedbbf3f24a89b336b8776255ec","_id":"npm-registry-firewall@1.3.1","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-yuBuXU60ozLLL+6pC9zX86Z4imTYvWVmnlIhsWamSVp1pcWw83igCIGH+bpdSIjBBz9y0af/ikGqJgUs9bNRkQ==","shasum":"bb2c8a307ca940467e1bd650fe346037239d71d1","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.3.1.tgz","fileCount":25,"unpackedSize":27499,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGAV7RVs6MxN4X2yXZW0mJF4lOWx7mHyYZjoLmfbZ4G+AiEAo5X1hAhNivLg9F/jwzFHmatiauOy5gtuLkfoMaV3HEc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVYkhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo3AA/+M80sf6RMGO+/+TF8V1rlzU7bgBD1Kt/QeS8/XLoW1T4SDirS\r\nVJl/u7uHRuqW7QIC+LkJc65La8nufU22xuz7WZblE+YTaJkJuUt8pblUzS/6\r\nO4jOH1ULaGOQG4cbPg0N+zKVuolD5I4gVdSn6jvBZmAhGhEKmxyWXuIIcsUg\r\nvMc6/3/SMqXkXCU3VjMEtfFs1AhLekY2xuQVxWsMJOFlzfhSIYEZ6R0cy5yg\r\n0sa37Lav/7NKewuKsKrOxpzEi+wTEbA+FiVuIG+D3WXJghk3+vmWGpJOGuHB\r\nBng6kUg8qLp3USzV7Pqn+fIHjz//a6D952Z5r/vBl9qNBnioUavwvoYjYMkO\r\n8UXxqlHJgQVcMy4s2Sx2OJiD+h0fH0gMiwznPVLRGPwhTY4NTrWY5u2QiILC\r\nWIfco5gfwhlN7JfB5cal2bMYGVkmxdSFs8Go5zBN9+GJC+1Hxr+psVcpH+im\r\nyJuC10wFAeYZF5S5G1457aYj4ODAYfDncP70oADv+fVmq0ml+mOuykOf6cde\r\neKulh6ud9O+BBVXadmQO/Qjuc5AyH4Eo2oE5ubhTJ4nr0djrKdAj0gYN5X//\r\nJX2MLJLlHToFOGKeCQKDiG9NELbpAsOhX8VWEtKz/nBxlcNxV19ForwzPzfY\r\nXBnsAvSvdeM8OHHPPlzRMNWrVGLL/SUa0rE=\r\n=tAjS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.3.1_1649772832915_0.09734839363720993"},"_hasShrinkwrap":false},"1.4.0":{"name":"npm-registry-firewall","version":"1.4.0","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/index.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","types":"./src/main/js/index.d.ts","gitHead":"276c94ab482ae2f022aa40c66e306e1bb30dfb52","_id":"npm-registry-firewall@1.4.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-1HZnrso1VemNd9bHS3xQGfW24HN4Z3Nwp9bqlNBymMrEVkeHTTpAgdhLpRUVWlOmHNlAO2L6uMdn3YaM+GVPbA==","shasum":"20274480669e499e219e217f851ec0f01c1adb39","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.4.0.tgz","fileCount":25,"unpackedSize":28264,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfcRgCipQmqGgTEOHhBzYYqZAvkX063FQAw5Qt73t+vAIgD4m/Ppgun7BwS1K1/1Ixf24/BN1BnDPxd9hT80X540M="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVcdgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpI2g//di8STvpeV4sfK6nos3ryO0XgBGtLhGNW464aVAhsDkeYy4Mr\r\nZAoukXLSbNEZKNFY5iNj47uJktgcFuZjEkGWRVyuCD64Adau/theT28D2wOp\r\nkVR+X8IA0QiiwSwXFcpTj7wTHIVa1ZBUZqaagAPcfCJj0+puH+C1Hm0kAO6D\r\nmCNcQOtR9Wv0SbHPAOQ47OmVMhFAOSZ57PSPeRaPYIuFxuN0MLB6KQE4K0Ac\r\n3s3qa/USYE0HnMkAR15hWBokyDkVdzUaXZHVUyNjaQQbj3DTIOg6dJEAW0kS\r\nZsI4HG1FRp0vOZxryBnfNjVqsrGQnAUQ4Klv3gBi7FLGToo7GWqOpLEunxPk\r\nl6eMK9zCN0L4h32dB4l//sJrP8Tiuotm/y41PurfQrFZZobO2QmO+84QVf4k\r\nbddb/1z6k2eFAk8FsrZuQmHFbfQIlZDSODMfVZbk57rMMeyjrfEHUroGJy5i\r\natde9TBo9JzfuZYn99mMXT5ViUwZlGaVj1LEe4KX+40flEefr6jSjjygJVoh\r\n5NPC9gRZocLPAZjdWt4+fKbBqDf4SLYV1Ikim8xg67H8KwIdWo4IGPHt5leS\r\nKKDSHtoc53mgKVrvWmGkHk7OsDhXAK0sQUv0TbKdNcOTOEKCcf9m04A57dS9\r\nz7zdts9by/RB/dBVWv/NY+cE0itPtI7ycUM=\r\n=n/kV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.4.0_1649788767654_0.06493106515969016"},"_hasShrinkwrap":false},"1.4.6":{"name":"npm-registry-firewall","version":"1.4.6","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/index.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","types":"./src/main/js/index.d.ts","gitHead":"2378839d54a202b91427421b8c75797f0dc547f4","_id":"npm-registry-firewall@1.4.6","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-5TdQwUQRKAN/x84hwEawk2u0FxX6jniQTiyrXewe5lu8rPqkNbZbdY7Fwc1vAGi0GPg3Grsc8bc9Pz3tpOOgdg==","shasum":"0f62e5f71ad2d16bd2a126d9c834d474aaf3766c","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.4.6.tgz","fileCount":25,"unpackedSize":29262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG46w6uWURd5RNxlyrTB76RHREExtb1OD1WTjRcPmh/PAiEA2XOeFDD5F143wkWlGidxD/ZdImgorYDvcPz2LVpavlA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVg6NACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrFuw//Z0yOMH5nu2jG3wTQ9lZbkDVRoPbqvAhWmvM8c2bv8INgfVDT\r\nbNpY+UYKHOe/uQ0Ku1z4OhMoWLokm1zSVRCDZPZYgrfUuHA4kZVhRty/dBfM\r\ny2aY0tXmNc9OAmMHyToLzzS8MLfg1ALvy3m80HB5ksIb4nipA+ppHe13bCgD\r\ncLbEfPhhNL8nDXUxeCDm+Z45NIqW2R6Zjb7osIfgqpA90KOKRJt60MHSuUCj\r\nST2BqQYu8BmlIHOR33FUu2mQJQttKlu8rTJtORZP8Kg4VFSMlNmpocs1/tlK\r\nU2NL+k/0q0W9591iBzCGLHG0m2srpU9Cdez+5nuqXEY6GqSQn0h8FpmNKjB1\r\nkHJ2db5lc7lUP5Ypr5iUSR4bly82ieFio4QUPFhTvYKbgteLhoCrbhDc4Ldh\r\ndZxC0S+v0s2MNGCCDwtCeFUqlNoDEJ85HLZMcQ4JZMnZQnpOdL+5K0BAmVVQ\r\n/eoYrsukKEzltKrTuOCcKkn0ZFckqIu4yjc2oOVCIh2A+mGWGdzR60XEoErX\r\nbg59ypMSQK2z9th2Y2PTxY5VJl815xUx39up1VnhoaD020GdK2wTHwdSINYC\r\nphc0sCvZy6ebvHFS0QtVR/aypTlm3dXgLnvay3dQrtFhlQkU5OByH/EXZwQq\r\nP6Lj/8TPIDoSPswpdgB7VKtttDenOdzGn5s=\r\n=lY6F\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.4.6_1649806989585_0.6707116256305097"},"_hasShrinkwrap":false},"1.5.0":{"name":"npm-registry-firewall","version":"1.5.0","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","types":"./src/main/js/index.d.ts","gitHead":"c99017eed042791ac5affbe4ab274f9d0f87b464","_id":"npm-registry-firewall@1.5.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-2lOx4i9PkHoHRwSyTbhir5lFK3BE8goqKSBOmx6QdRF/Qu+eDftc0D5qmlt6b/E6r70RG2TPvrKPuMeUgCdcBA==","shasum":"ea67391b830f4861b32f9a36e0d7bcd0361bb1e8","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.5.0.tgz","fileCount":25,"unpackedSize":29764,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDur+zmx4HUA+kydevNt34zj5IRRKJJVfLzQAzpWj0G5QIgEBydFiU+1CyibNtpfB56M9iK8qdlSlH1okA0eKMPv/Y="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVpNMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmotJg/+OLDVyeVo1x2+HXTOKKVXE1yW/Vx88gs6wUF5zNnCmm2ZpsG5\r\nxCvAK47fuRgTUTTOCvCWe2fhqYtEbzK14HyNaSv6cfDdxUQ8WD7FvVAlrNo3\r\nuDiZRgFF/+l+ve1nCYOBhOAP7Vktb7E4KJccUR/T8jM6Z6NW+ubiXvhjpqKW\r\nyCpcn1qo77WgGKo1N9q8iZAHhk3pbSqOtqZtOLS/XqbDuEKdLTPxwVyxRa96\r\nQ1FQjXpBqU0rJc51d+Sv98Agg45nYqGP7TJqakR7IKA6aqtf6GUQvPR7bh0G\r\nSBWRjn84CGHvxpQsDZv5S0xR+7NL9kaZpgcmIkBPklvCbuDW+bBJzF1IRZMV\r\nYauODU/T3c0kfPME4R/2y/ypb2FhlwDctXhKQo90s7Ow7fVkPypptFkIcIxo\r\nrlANH1DoywM7cgTT6UC77hIqSBJ0NhSXhGlOLA0O25ifJn35edJCv+9n1fvo\r\nF14Ug0zdH1YLgn51Zzgdls3PHmEZBsBQJ1kiQgAf9FSY1a8afoZlsxMCO1eJ\r\ntVOqGJBoI2SjnRb3JHTmy23Hs+k0JIzt9Su8eA9gDCIPWCfIsfW8m3de0DgE\r\nWHerdcTCdcfYtYblVcgrvv5NF4yHw7qB5CnaR6DxsCNRytBHCJzIJVn7JldC\r\ntpG6lvxRufJiEySh5jmLcVViHVAxCAGRIBg=\r\n=PGOo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.5.0_1649840972258_0.8816013584815185"},"_hasShrinkwrap":false},"1.6.0":{"name":"npm-registry-firewall","version":"1.6.0","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","types":"./src/main/js/index.d.ts","gitHead":"575be92317a4f69422011673fe6ff557e1937d41","_id":"npm-registry-firewall@1.6.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-AC/FqJLVSLLkAvFRXkCZKRaM40hxeFN104E0M/22EkNSqmTX8CJFDH+nmPfxyE675d8eWtGnseF8n2YOrS4Wgg==","shasum":"217a31f45f38eb6489a85eb34a13bdfa2ac23219","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.6.0.tgz","fileCount":25,"unpackedSize":30069,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID8+UK4SzSD4iltWjd2oWF+ZywxZtnTk3vcE+OWRpNsXAiEA+7uMB9gwibumtCl020Si5yeA148RO93f4I7nwwwZ0ko="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVqRzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmowTRAAiNOjif+IwkDsKH/qhkZ6jHa9GIOW7OZq9duD6RottRpa8Ip/\r\nbSqVqcrn/gI6OrrICk7LiThwKY3ln2bAJeSt6gm3toNNYbvVyD1y5xIjDmlP\r\ndun33PKcP1pRWuMXRleW6yh1LE+Ox62hnVDys3GxSqBGtzkVLly4SA9vYtUP\r\nFhFKv5/A/EuZo7AiT/735U8DznFc4m7g75LRj8EqPXMRod0X6hhoxAgtBEKN\r\nMIrcLJJHjCD/jeO+cFsUxXqmzJIveAW++GO+nuYtkIGIZFxf2vQhNHT6JkzT\r\nVHldSu+xg+5nR4dPZLTq62Mn8lkmlAdKfQnF1KbI3zXEs6kPfFbu+koi5LPy\r\nLIlLpPxfOxdF0R0ClCZ9X9aHTYylqn19qlsxlfQjf6gaEDYqU1eS7mGOWv8/\r\nDSG8CULGlpXcPFzSUn+6iKpsr9gAm78eMW0aV2IelXVaMsn2teYyZQ7StLWx\r\nkwQyqxOJkIrFgrIdOhhO98H2maQzozePH8+w47NUT79uwHUzZXYb6SVUXx/F\r\n2FQjEsoJV+ZT6oMtfaoLTKgvO/ArWMQflFqcpwQLE/wHszFFL28JuOCTcy0b\r\n4PtDCg72L0HusSySzRjYeTNL/dQR3ZrbYSJxXMikPp6MubWa/F/vqNglNTjN\r\nZ56ROR1Kicrh1uHJvLczS4R9tTNhGgYGlAc=\r\n=Eane\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.6.0_1649845362998_0.9718647338834971"},"_hasShrinkwrap":false},"1.7.0":{"name":"npm-registry-firewall","version":"1.7.0","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","types":"./src/main/js/index.d.ts","gitHead":"edd0594d39aaacc8b6ab1186e2fa30914b7a7422","_id":"npm-registry-firewall@1.7.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-fBCWN7chdj2tsz1qJAxnQucKWIOx7PzK5irFMNiXjrNKznkWnaWZ0o8dCoOw70eaFRNv67X1zu10ffk9bhm/Ew==","shasum":"eadaad027b2dd92338f69811f7ca423f124b323f","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.7.0.tgz","fileCount":25,"unpackedSize":30262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE2nAuZcNC9ALMqNj8tIdSgJbdQSoIf87Y0bWG6YGJgnAiEAt8UaqNU+impbrsYTEMMtins48zr5AAzkuAn0IMvIMjY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVstJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpCpQ/+IGXCt3BEV2OtVMeppcGnprKlmgqO18sbSZc++3bKGe7/nb3c\r\ncUQ6FFhiexra3Qi4VMqn3UbNAsJdOGBZydKbLkszeLc5C74QVWBUNOdeZLtu\r\nVfH6q4xl/B5zfxv22yU8ssMv4Brr2TiBXuO5WuQ9FRiCO8u4Q+aMhyb2nv7s\r\n/Y1rKVzQAK1KwwdU5NNk6icSjygVzJD0pit5eEPOGSCNgRkYSs/6kBXnk6KD\r\ntJD4mpu+YubwlkA3Iqz4lCM7Fn0NM7SirZSZS1qWP/1T63naSOeJ1CMGyilh\r\na0ELk02C8OE5iZWC+RGJRA5tcI8pYDxUT7L3kizmIWYE+VbET+E8X5yFAgQJ\r\nZGKHlfwu5DZJ2J6FV7HcohdI896e6DUuMtTmd73cyzBxNAPfaM2BFbq/lmdU\r\nuJBk0NjtnAYxDZETs42+/M2h94IqZPplHVfOzT2c/nfFA9Qws/EtgLb62k5V\r\n884EPwqadw2hyK+1Vck9iV/3qDbvAoUfhV9wMsP4zoW5dgtpODu8c9OaMylI\r\nUoD7vY906zjxc53M/98myeo6CZLBXcr3RwBOBLgLpuAzDR9XUqT5dy+kfluu\r\n/HsZUoga/4gqA/2wedZBwg+Vy7iVlc7MyYcWw7lZbCqUqZA8JYE7SCDLf8lK\r\nxLH6YLp8KEWFr0fZ3Zt4PCPD99L3aM08PfE=\r\n=HVt0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.7.0_1649855305029_0.5013460468737767"},"_hasShrinkwrap":false},"1.8.0":{"name":"npm-registry-firewall","version":"1.8.0","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","types":"./src/main/js/index.d.ts","gitHead":"f418a348568e8281a1fa9dfc8ee697dcae29a8fd","_id":"npm-registry-firewall@1.8.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-m+RkBzSnIaHA3p8VY3emn0RoFzkOdT52dhbbWDxGCg91fYoBOjWfnwLJJur/OFbVY+5t3i5zyjAzOh3gpBfprA==","shasum":"a3780ca2ee107d9c11dc249c247c1a80afafa8cf","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.8.0.tgz","fileCount":25,"unpackedSize":30902,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAGGSPflhNXJXMxHDvfyKBPiNPpNuxcQ9caesZLsAEceAiAf/f03EPPbbj98WzrOEVR/Sq8LvY1G0ckto7fuzpYk3Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVvM1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmplDw//UGVMutJMvDcyWsfi4TKn5UO6tWOsDWD/YKgcz6TcZps+U6xc\r\nFQZrlArqMsifPx1dobUwyOOl8HN7r1dUy8ABgghiI2tetMcHJ6E6PO3000It\r\nV7C+2iafaa/02MMHAIG++l1Nh0dBiVItG8IZvNmY/YZ8rJD2nCToTuLAogqp\r\nRIhuIzpAPOBQO2HVaXy4/NfTtqOeTG6yafS/Hjnw8y2vXD6RHAntM/drIxjv\r\nfjWDg/tjcBULHkrt6wNuRTZj47WLe9zK924c2IZd2TvBsGKzMS/OCQbYEZwL\r\nWkg3rvUI7+klZFDOhDGUxv8H7716hRYhSmH6/tjNo8iFgHS4i/NDHaQXfJsZ\r\nNRoTajMdSsdiPKaGu6DEVv71WhaWDfNzxYtw3NYsW8cxwsX0PUpA4JtTovzP\r\n8zRV6DMFdI7LvLf9XNw7kqG7iZx55AREtMnxEE2nmnj606kRZCwpdHijSnnw\r\noOuIs/Q7MbCDr7ByZq8MFM0D1Fj5z5pLPCCroNQ22aNSgXtxme+Qu75LIrNi\r\nSVXgKAJQs8CNBX4utKrlIdwUIRAU+m+HE8yyfgsWg4+bOvx+6YJV0N++OnpH\r\njV+Yb1vYp9yo8CxG0MHqdKnj17bvJku9/l6JKbQa+Rg4Eqte4ROE22atuoMs\r\nZl0p0T8xB3+NKd6/jMAuR65D6rFkKXNHqy4=\r\n=JHh6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.8.0_1649865525730_0.1912156526945734"},"_hasShrinkwrap":false},"1.9.0":{"name":"npm-registry-firewall","version":"1.9.0","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","types":"./src/main/js/index.d.ts","gitHead":"d520f0845549496e543b213c33f92673c66e5609","_id":"npm-registry-firewall@1.9.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-b/CnhJbWTcPatFZWl+hPmT0FR2OzxVzzreyUCage7AFzxa0eixSeb/ougqKCAm+9ZxvoyIuvT8lo2c7OgMCLPw==","shasum":"32af3779d23ed0d8eb74ead39373075441ae47eb","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.9.0.tgz","fileCount":25,"unpackedSize":31455,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAbGpAHORDlo2bRzQzmkglLndut/gQV8uKtjTvIQaEAIAiEAgPefex+WOI3+6BGz9fE9XDlzLP3dTPtsJiSfItRf80o="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWEjCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpnmQ//Rb3WMR1lHze4LQN9XjUf9X8Liv8i/wKzDHlTQ6WzjV7pnNb7\r\n1bXWRwKlDTviTPUIQT89/kgwDI0IYSO0zhY1I1/TYAmwb6CkbueKJv/y/vHO\r\nHXaU+5XwHC4DT5Sz4aVrNMpM5cLhkwm6jtqICJy+b36X6Mm23SMZnM+BrYQG\r\ntJyzGYeJ1WtNTVqyEXkp0W2zN/UZYEsusObK4Zr4WYh6bkOgMEXOiukdT+Kj\r\nAHmrrRRrDqQm3uP12Al4eXETgnEWjMLKlk+paffYUV2YJl5LAGugpliEDiMH\r\nHSdyv9/m5vlpWzxNkU4twI42rVx4lpNdePxOO+SktjGCJ1+CaRcalKCL7LAm\r\ndSAbTdhckx/GBG3zFSli+ZXGyliTUzYM0XRWkrTiMokKEDkRqL1BhTmV1P1r\r\n2KaWEi/NrPUmwP0LFxWGTcP/36rcLqboFIvICgb+6B7U9TC78Wjivdp7+ibd\r\n5H9Df3rDcehqLmTiDa4hdQruNFhA1XkCy1rXik6ncf1yN1SKKN1HE8yAW+Sm\r\n/mgkEvkXGs713cOIFc+wTHHoulqpihfxR0n07kOlDrKp+diEbRMEVajTBaq/\r\nSsZIeywQ14JZp4F8vEaWQVFbFQwnraWm6Fz1/1unh23px4zig+9/p8sEghbK\r\n2jachCDzdiUo54EGaZQwuKq+Vm4GHK2bqF0=\r\n=r6yh\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.9.0_1649952962439_0.22841304012186203"},"_hasShrinkwrap":false},"1.9.1":{"name":"npm-registry-firewall","version":"1.9.1","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","types":"./src/main/js/index.d.ts","gitHead":"01ade7942616b49b5e4b6d73527accaff716e666","_id":"npm-registry-firewall@1.9.1","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-WrSm057iLU03VutlZq7etmbsqWPhDj6P6K5/M38InTm/xPgR0OpSHOdrQ4ctfQPPMxvu5l5J2pSIBIV88WGCew==","shasum":"5cae8d84f58f0b3123a346f97d6239b75a0f8690","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.9.1.tgz","fileCount":25,"unpackedSize":32475,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVlOCCr5nbINq8gXCDA8wa2H1WtbzRn4YxW9+8+nYffwIhAPAywReB1Xs8CzQjr03lqF6CFH+85lVMJ3eOU9RCyPpa"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWErhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmodaA/9Ga9hL4KvtjH8qo7xDjVj7y0PwKNKwK0RrfELmoUmH53uNrUH\r\nkA2t0aIpWzhIgqcmFUUQk7hv3fUM0sYrnwKeN6dRjxjJVEiYiVP89y5ZaSip\r\ntiNo1Lvmh92kArFk8T1XmX1LwJTvBxAr7Xoi89sl69qXqXvX7zC1O7dVem8o\r\nLO/NDgxstqmRQRlGo4NPn0JtZrGfzwNLxtYHm/gdS9S4BvVr5p53HrhbZ3B3\r\nsaRE1d1paEHu7PHDvXvQH7fVS63g/VymJO8jM8e7dmODV83/PhE4CBxuH5E9\r\n6jvXJR8Kip19ENzEnvDJoP9+fWeOCgGHdEhFAnT9tRwJBhn3vBuurttJc6Yn\r\ny9XZN9UPkj0bx8klYOK4bdN32hYiNSUKh9rZz6h/iywXDYe4dd6hdlr89uIa\r\nx4idC3LXHtoFHECW/zKTm1rEnBZ1bMSt8org46D8GGeNuIWZKgHH64rJycem\r\nKd1oFNyyPxejaa+BDJFTWcEUgxCeTU2/RvF+Vnedmg8KpIT7L8UrdkCLKhpq\r\n2A30GvJNUJOEZnjZxKYn9ocsbe9mPKepE9Do/8a0ZJO9MDbv1J7C6zKS6zQX\r\nrDuxb0rS8nVUzoH229JluyE8x3xsIn3ikFr3rvO8ZoSfF14Vr0kX+DFV4fVo\r\nhhnC5bwYXjFd1j2s51x5BVQG46M4vRain54=\r\n=DGzj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.9.1_1649953505047_0.6242067027471818"},"_hasShrinkwrap":false},"1.9.2":{"name":"npm-registry-firewall","version":"1.9.2","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","types":"./src/main/js/index.d.ts","gitHead":"dee0252ded8defb1991107fbf4ed4dd7baac001f","_id":"npm-registry-firewall@1.9.2","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-D+A2MZel7we+oimfhvHgglYmWRCIXj5wig03ocxwtU5EPUcACWOQEUyCEQPqwyp3ujvmwCmYprjgTChRUz9TIA==","shasum":"479ebaaf928e0286f8a32c02afd38b7ae3410e87","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.9.2.tgz","fileCount":25,"unpackedSize":33146,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLuFMOitkXuCLlwLe384dlwMJnIzfaaYWUjLnLlIsriwIhAMk3tzO83QYky7RvHtxCGqcC4W5aN0ogw7FR7kmKkx4C"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWdKLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpiiw/9H89gXMfuyA97CFbmqpeEUTWJV8sAZL+kw8tvQVMC/AhVqj3H\r\nzxa2o3GrHqL8BMNYbAKKLN2C9P3k1WECD4ERFr037OQdXiuXZB/4GpIk7CHi\r\n8BMONc5HI0bMlsm9Oti9i5HG+oxYnYW9TTgiT+982+PGhVpDhAG9OCOcVV/g\r\nunZYu1tNtKejfgRQYCVRmlDQrgB1Zc9Oj4AS30XoYTclBp57FvjBsz5yd2cQ\r\ntouY4er1mqToURDGSBaYIA4fkpbLvXBglXetNtkZOcEGr5yo4p7ZhJfTzNKw\r\n0U0fUxEqAHJALPFW6/d6Mb8bKHzsUB2wJa83oCPCF6px/Rc54ORc8csRfIXC\r\nlxBeDhbORjJZ/mNGIrgaMZAPi/BGfYWsto8aO72G/P1ekuBK7UvFIUerJdYO\r\nFWJzyssWT9Rnu+S4KvioSGAHiX+KKN8zR+R5gfGm5wbiz+Ay90a3ZSTPWI0Z\r\nBaBU+leMFWzmEJ4Xe6+yC+j6yELkkVaAHG6yX8uuho29NONlPg7QwKOgW5Vp\r\nSBJfC4tvF7snPMfWOLgb6JUxCvaSTAD30lTbgnLN5lHa1OJqdOPynOZLXT1B\r\n+eYBA1KhUuI41/uAlofh1bOBj8dWoLlMimMQirp6eRNcVQFf7AUgE6ea2Bo2\r\n9uGNrdtXQvUOlcF3xZ7yAL9WoXtO794La8E=\r\n=Xm+m\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.9.2_1650053770765_0.48036266271003303"},"_hasShrinkwrap":false},"1.10.0":{"name":"npm-registry-firewall","version":"1.10.0","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","types":"./src/main/js/index.d.ts","gitHead":"81c9494251c8d0bcdd17c9775b76674688778c49","_id":"npm-registry-firewall@1.10.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-XTpv5VdW6qiE1ygTD9Mb1nvI1zHl25BxGIoOxufV8HI+BB+lazJvIcFCAy5ltpjf4MWe1qgT9mFp+ifg66IXsQ==","shasum":"06cec1dd5116d07cff2ee70be3d8e3b828e53743","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.10.0.tgz","fileCount":26,"unpackedSize":34580,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAdPWJ5VJRgcNY8KGXXsCZES2GypK74sIZUpC341QJbqAiA6nh/UQCFKcbj03UsHrg1zSQTcPzIWpe0RkHOLEUerLQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWn2zACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrr3A//V6hl7TjcXKdPJmTTPZ6mqYs06a/4lEpM2FaTRY2UY2jZ1m5W\r\noetsatkGtgRevIhUxA3lkuFMaC0HmcWGM4jGmBzRsOGAHMAABwhA3JQu4iz9\r\nZZPHBrnNXRmsvZivWa1zlfI02DSfClY/XuEaW/pdugeZBlJ5iE6FIuEHrU8w\r\nh3ZnnLmNsjaC7/d8bEcfENYPWLQYAZMONXnuVwCSL8RefHetQzaz8I75IUhR\r\nsjOBhQG1Kzk31t38V13FNuMTNJBRtHwJnZ7hOpWO48IuMB+7ECVFak8tWoFX\r\ncR1272t/PxJut1GgmvsSH7Ds8Sknf4pzY4JU63w+nx3ZMeLYvy3Aj9uyS9QT\r\nY7Tg7fRdsJNl5VIXIxjtHQDqzNCiYbdQo5B87sy/6aa0R6Yetx7YBg52wAEV\r\n62CiSFaFmzPbPuXfCsh3IDw5a/GETTe4MPhujRgP9B30uwtoT4PrWcUkpUmQ\r\nY2BukbDC8Pye5IXP6mWbXxOUszPnlPnDoKwzfa8zbj5xEwUFyRhUOpzs0MVn\r\nHDH31JAR9y4wJ0HanAQCAaR8UWjXGge2A1DKMT7B+se0tzjwX/xVtoGld+W2\r\n/Pkd4xK+jJWuTunz3XlQmCMpDh+OE+OVOPQm8oOEuyoEZC4dTpvyfHfBdAfT\r\n3HHOBnJkELh2NtJD8zoVXZ2QsFEK4tXZVLA=\r\n=kWcD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.10.0_1650097587342_0.22455375450344883"},"_hasShrinkwrap":false},"1.11.0":{"name":"npm-registry-firewall","version":"1.11.0","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","types":"./src/main/js/index.d.ts","gitHead":"5b9971335c1e0e89a3a65f263185345ae839007a","_id":"npm-registry-firewall@1.11.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-nFJhKzZ0UhwuWS3GR10+b8Dc/CM0L8KaH/+mV4Gysa2DkDtgD5yHENAfNxHkAfkPbuXb7iypsNb0JkbEY16kEw==","shasum":"fca079976d25ac9a510c98a946e7206180b43491","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.11.0.tgz","fileCount":26,"unpackedSize":36001,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDhlOE5V6aWky7zGr42HuY8bEDPQXBtzJJzaQm/rDCbnAIhAL0lmH+KiF1Da117vfeKg971wqMCVizynDE8Q1i0SAYG"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWwYgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmon6A/+O+kcrBNi3TBh9/8T3ssbM5RcMFuCzxh/ArEWj+OOV9ld6EQP\r\nU12MrHkS26JiMGP0lxVDvTLSCfyCjSaTuo3dHf/aGgZUurXU3LfLvSP2HuZS\r\nbpGv6ETznvI3qAnS8v7YLxrH65D5c3l3QkvEBP6yB4OXGpu2DL0+Qu/MlqW+\r\nbWbDXXJmuZzydDLIaK+oQ/MyG6jMwToXeef/FWr6L78vxWhYrsILpyTM2+q4\r\nTAT44NE2WfAEgYp8C7c+F6YaaVjCcY91sxs630UwEdzK1G53uyk8VLXqOXnW\r\nhkR/NJQGhy4HULVBnXtx6uE0eW5oT3z96E3OFfuHw8rO2bw5CTsJ27/d/S4+\r\nznd3e+qT2BZsj3GzQByvD2U6GM4YdCpE+8oKX3jdNferAD7ckVCx/x8YFxp7\r\n1LTNYDgtPaS0Ls5Faqs+IFAlh1PbHAtAOMNRB2/j8yo7RE49SB51M5RCZkqT\r\nz+VNq9LhKAiMZDayVEoTY5qw5q2OB0Akxl8sosaaVeJypUOXEK5IsFQ3CWj2\r\n3G6ZL+PkByJew1++OFy6uMnAOuZhwoRYcaxfBqYWP1cEByOiejtPZAuJIsWt\r\nFQ/czp9JaPf+TxPm3cBEhRMP2vv17GtSS4WH3ynETZyx+8tq7o5Hv86YDEYJ\r\ndH/MZxShR0Xm7bULxGXnz7GZkKE4uS6Qnfk=\r\n=aBXH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.11.0_1650132512714_0.7752042896139433"},"_hasShrinkwrap":false},"1.12.0":{"name":"npm-registry-firewall","version":"1.12.0","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","types":"./src/main/js/index.d.ts","gitHead":"81624fcfbd3ff300341fa93011d6c31cea6fcba2","_id":"npm-registry-firewall@1.12.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-GuSH6o0DpdI9DaruJ5QaQgRlfV9ihrU9EAV3kD1EijThffZenmWqSOfSE3CjnlBoO2ZeQspki5QjWp+r5/RHQw==","shasum":"cb7899b041aca3e3f9cdc63216e8548235dd87b9","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.12.0.tgz","fileCount":27,"unpackedSize":38223,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCaJ6FNJfZhjcpzIcGquZQGbIlWayOb5OIL9RunzAPF2wIgbf/hxcsjNkACuvLtpy+ZM8GnCSpTMhiY0w5CXMgGvF8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWxeAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMxg/9G3Tt7ppvEOUEUXEH9yoBpqNAzB5fyAO/PZ8lQZdq/CwW3jDh\r\n6m63kvk5+Ss9fE7g2HCb6GSclENO6IgCPdG2n1fxBVIeaDcNNUwrfJynI9ZM\r\nkWbQ87wEubdsiYsox0dgA5FIJnz4/wj1pPZi9guJxXJZjidOGxGGNbgNVlQ6\r\nwveID8x0vAzVwNv2vIqkRLp2hxtZseFLtGzc2rbwunaaolf6g8ZByoLWdotv\r\n49Sm0rN3Udl0u4zpTS3VpfAVEI+DYkgdPbMRFrrbBeYJ/KAyVfoXq933ypzM\r\n+P5O4l9zytjBqWLMMW9u9GwuGQtqkcUG7YhFzaUfWkdWy0sEZgur/yaBWwH1\r\nA4QTU0fxPao8StlyRfrpGpQw2PPiL4BvHBePSP6uD9mmaWu86B7D2/49NkMm\r\nqdrmRQ00V6hWgcgmN81oU/oZP8/XUglwRbO9SZcKtzYL4Xgqptbt+jbRqL2r\r\nr6UDn3qQ9ay2o76vfZBCXsPIL/SZ1H+Io09g7iqHNqJSvDOm+9fQ8sCoIT67\r\ncwv6ZlIcOpoSUSug8TKalxWEBQGNXGrFJEK1DXU34dFE6tpBHcaet/EAKhq6\r\nw3zmdGcFYrflLzPQCHHhHjA2IhvhLT4al6nXEk9iuPZppIucviDCnO2wILTM\r\nKql6N7jwxevLIPFDM8kYL/0J24rxb3BnpCo=\r\n=6Dui\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.12.0_1650136960055_0.15266536717431167"},"_hasShrinkwrap":false},"1.12.1":{"name":"npm-registry-firewall","version":"1.12.1","description":"nodejs-based npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":"./src/main/js/index.js","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","types":"./src/main/js/index.d.ts","gitHead":"b20fc3a4e73f7f9651f424b9d735f44e050dbe2e","_id":"npm-registry-firewall@1.12.1","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-RBstBl8Bru7lyfTjWvcL1q76x9tfte1VqxdjApeymreESZtN8PyNEEXERDVPOCDVvcb83dE91am+O5fbC26Mjw==","shasum":"c3de3ccf997f63ea50937eba7ab9280f78ade0a6","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.12.1.tgz","fileCount":27,"unpackedSize":38301,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOjiCrOkN9ZZ1ZCCS1yf+ZZRcF84jazexEHoXzWyqfRAIhAJfh2j+71rvrCM2L4AUIE8XnEAiRxNfDIze80l+CNJK3"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWxizACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpPng//Vn6uiDE72rre3JV5q9oQA0ZE43CFHwCQOYLtcy0+mtwMepM0\r\nD/EG/zz6wQspoIY+04JyeA6sNAh08hxh45xO5n1JBl9GEVU35McfNoAzobNe\r\nu2qQ9c3LEPyCEomm2PIyH5poflmlsoH+E5da331wOfDsU2Jzm+g216aJl3Jg\r\nZ4jnjl1qQ/SNmw3eluqYCdwnuQMH+XS3vAejoSTy2T2YTRbkeSA33odEK7kG\r\njkNBLQhwUct29EEfBZ3EZeVeGsi9IbA2nj6YmD3NVLGCCtdWsNtnF3uz8OXM\r\nkDMChJBMxH+MgWTJTxoXapJffjli+LNUb9stuobs8Rnnlc/jhaZPUkwfkTKB\r\n59SJCveCPaksXMomuK2DEHetLIjacm6lugyZWFdEKNIG77j+kjWEuK4Kugt1\r\n32BdmAbKiJEP22iQ/Hjy2p5rWp8GJxKUaf3jkg+VcUXTXEbiKJHj/85jk65W\r\nqP+PLzKCA454RmhIG7uqBrhww2uont2caRwrFv/xgsB/RKqLw3kpaO1Fbv2r\r\nLR3Ddfa38FOLk26j/WVm73nSYc21L7GL2lgenG/D/wxv8Qpux1VWWNLG9+1Y\r\n1SrlCZwhuCvmwIIwttaLi9Pfnjct/0Qjudu1NRp62H14SgPqFkxPU2/fwuy4\r\nBHtif0HNMFPqMRNC8deRJWp367PNRrMIcXo=\r\n=LmGO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.12.1_1650137267737_0.47889834036514967"},"_hasShrinkwrap":false},"1.13.0":{"name":"npm-registry-firewall","version":"1.13.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"304b86ad6ff346630f4918eeace1c052a6b6c850","_id":"npm-registry-firewall@1.13.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-qkQWzDk2Ne+/EhvwVyqPPcmvMZILr6mOOWXM1uuY2PjVU13Nk60r4YJ3+R7gy/c9fN2L12I0qP+MnDe5gWYdSw==","shasum":"d7260032f50d5a83fc19d9027a1599d039718ddd","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.13.0.tgz","fileCount":33,"unpackedSize":44843,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6SsWMWI4w+uG+TmUbXnhWHoZx3h9CDPp4ZBfmQOlI+gIgUTgbCFmjI9GCJBIlt8rqBIhkEvbeLon/m2/uRkJd82U="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXFOdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoFXBAAil94iOgfKdb33s6g98wd0cu03yzTyBhnaNBW1xU9Ore4EvII\r\nvh4+/1C5Sm090CXcen8c0KFu6L/QfHdSTrUgiPXTQdX7urrDvyC5feoL3Hil\r\nVnDLRGTDzo8KJaN9j+9mLo/lR5FoP9tD60U3ELelRpANq4err4pUBXvYccHi\r\nACwNU1XH1ycEa9kjspr6oc4Wvt6+hUX71iqt38N5WeBRWyHa52FK8cSLr+FQ\r\nkBMyeyqEPAarGXk1bT/WscCIBrycLBPUFJY1hHw7IByWLHieRun9rTWcSdOW\r\nmHkS9FGvntg2oc5zHFiUPJX89vJ/qXpfnp/IFxjNO/Mlctm08AHpx86I+Tos\r\n5b1USSkmpqHPKFNiTs8TzZOkeuDSzJVk81ktq01hwxz4UgHpXDUHJsDxGruE\r\nxbzrg1I2yzGS7OnHrt1+BMPvWkkwahAp903/6fhs0g4FR4mmtCg5lS1Tnno8\r\nOK25lPaJ1bo0jjBhXZq89wq1yoLf+1yWQePOu/lI1eXHNPv5MCksQZiLTp5o\r\nKFXUrSqHaofptBP5uO5YrEaffHwp8svRHbI2p6bfVt2BdX5xFEC1kJRGzBTb\r\nE0BKvddUeJn1v4Ypz7z4aX/uxe1BXcVewUhbtXs92aifAC0//pOL2/7RFPkv\r\nBQEn/NAlx1XIInslyIRVqyDifISuSqO6U0M=\r\n=kyY/\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.13.0_1650217884810_0.13685473714120056"},"_hasShrinkwrap":false},"1.13.1":{"name":"npm-registry-firewall","version":"1.13.1","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"7488e5994f29de8e9334027b51d2a5c558694092","_id":"npm-registry-firewall@1.13.1","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-7kXnNnq1+jGck8KBgD4S29+7kl6JXhw6WjsAS35DKMhuc4vrunXejyASGitWNCsYDdu2a+p++kZX0N88Qsfa2w==","shasum":"9f9b430136f0b980323029530e0be50cce401c03","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.13.1.tgz","fileCount":33,"unpackedSize":44834,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCge7niYCc8SER/Xe7x4BDw+6Ux7rPXENI8KF56iNagkgIgM7OeDDPQao2eJ9qJWQjPuwx0MtPkIhxBbp0ju3FwRCk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXFk6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrlhA//THiQW4I3Ih8JVqjDEjb12LLB7Rh4hx60qgyllbOAebf0WNAX\r\niJzh3+doyzj0Y1wkx8UuPqQK9Gl5Ds+HoxhHi/aqKK+Im0IgfGSedgHH0ZYH\r\nGRtriqNV+3g759GdGvGU4emvIBlxdS01l40MnR7HAxXL16myX9MAC2nkWx1R\r\nLP61KrS5gekDVAOKY96ZHrth9jqzoR53DxUoIIajX3v2zw9zvFLDmkS5urii\r\nIQG899mNgSsfIABhdz18bUKees8ku+IYumXDB/eTDsZfG9PWrTb6ti57jFpu\r\nBYeEyo1OdhNYiliWy25kPpI/kOfo7yVYw+T2JFnsxQhlk9HYFdPIk/aD0jSX\r\nOmtYs1KX1SPVAzUWZKuDXxZKUm2461ezAeeLnBQmuINXu20fHlT1a3Kpp7BV\r\n4zK4qGGZlaMTZTwc/NDDr7Ju33X435+2MqFvefUeT3QZFm01iDlfIAOUcDJN\r\naIYPKI3oZ28+n3PZdDbCPo9TnGHzMKb5r0BGWaI97UOE7ojrvs5zIH/bmlHp\r\nMW0OOMr1HhUpv6sVf3i8zg5mLK7ok1mJo5mBRCgMjbA9BmbLfpS4m63eaypP\r\nooN0Udr/+TJ+/b9iThC74S/8ZO5Ad9Ag7fM8nded0kGog4Z4TRKa3a3jrhUj\r\nKHbnDpaXUleuK62UFGRytsPM/4nPpQnfzqg=\r\n=OwLG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.13.1_1650219322472_0.07740618625502749"},"_hasShrinkwrap":false},"1.14.0":{"name":"npm-registry-firewall","version":"1.14.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"5fb3957b808c63841c35fcc230390d6aadd3a0f0","_id":"npm-registry-firewall@1.14.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-sZTAE0hRcb4Zv0P76AAQ6aGJ5blAxu6FYkZrx1xC8TktxLAOMOn5H/5XwPmtrIjvhWkjqTmi/6kxEXTRLunxrA==","shasum":"44c918f9c1f94fdb42a5d495a2f13ad039cdb958","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.14.0.tgz","fileCount":33,"unpackedSize":45419,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCA/3lk9QPe9G9KwGWxpqmzFL+yQExHHQvI7ZdRyI1giwIhANQfECQ9Wmj1xxHClnXR1o1eEm7hTF/z+Z5Qycq2/6g9"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXHyqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoxFg/9HJcZE6ZoXundQbzy3q4r87iri/nLVn4JypY/3jr/9btOioHn\r\ndTOQ326ftVlRiDG18BAdtJGba5YY+Leukw/7IDJDXfs2F2nl+s7Txwm9qN98\r\nJNdXSn/dmo0RByAxfm3nnL50GbKK5Rp3dpAvoS1xsoQDacMu5ac8UYuWvexR\r\ncwNYyl5vPka6/s+kB4Lj9WeYCDdOqpXlEiUNlIoDh2Lh/FQq9TM6phj8uoFz\r\nv8R0Zv92pn2MRdvZpn1a8xBa8sO1YAh9iSE6GBgntUiw7fLbUWi8AEWJusOi\r\naNULP6xyJMlg2fAbqJ2D9yitHhJwFxJVC0uMDfA/9HCDc90RZq7oWE2nyOoW\r\nQB2Z02qH5kZhLQ8xzqB01lpXBJUai/sCnZiR8njdezmFOwvaeHh5Xp62VaoD\r\np5ufGuYf8ogk2Z/xCidaeshzdRyKSZJuhFEr4MjwFbZqV/T0coAB4+S0H1Xc\r\n1lhJXURMXKDme2emgCvxaqPA5f66nmM9X0En+qlQF4i4c8YF+n/cvnMCxA7K\r\niRpB9GGvTb34KrdieKxwbuUdHMdS7L1LQpPz6UEXRKW0eD4K71dZlrDaCG5r\r\n+qNNo4w6VUHqWoR/qO6+IxTDSFEJJ4SA/gXecJF46sEIJRZC93t6Qx/Ro/AG\r\n6RRZY0wIQr52tPcxkBQkyPgex6S57gKZ2EY=\r\n=usWN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.14.0_1650228394341_0.7294942840688268"},"_hasShrinkwrap":false},"1.14.1":{"name":"npm-registry-firewall","version":"1.14.1","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"1f295b11a1f09d542a0c1e6b636d967b488d2b2e","_id":"npm-registry-firewall@1.14.1","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-INHva1xnYFK4krtJHHgPSKT5p66Ky8T+rjaYxSv09Hcq6CPzSoOegD291CcILHPfG3B+7wKdXlpx9VjzHMXedA==","shasum":"04169b594fd07178bdb3514caf9ea68c13dfc5d5","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.14.1.tgz","fileCount":33,"unpackedSize":45610,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDdgj2fsm5Zl8GhJVrN2wS3tJdmbx+OxcCSSHOV4azMDAiEAkoiTdlrGpcE9L670pWLPadYFwub1ekQgN/U8iJvHWYM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXIUIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmokMA/5AOoGKK5/3PWFE6DquN7jizyKBVTae5rHWMZPviaLDv7FVNHW\r\nS+7Lzm4voFIDGKWgIg//Or6YlgTHSgcQ6oIPcvSh6Ls1WGRXjBlFBaQBB3fu\r\ngyzl00pUtl7oi1tOoQU/+SK0JYotRRVUSKVCHNpNf7WTmCSLzV6zxRstA7QC\r\nya7N/0AGiC+2t/bRRTsFwhXVPTy7fVobCGZCZD6/K6Ky6HB1nFuAEHntzFD9\r\nSmLFUZ4HSt7WM2blzIZi2WOgDrzJiFvqK+tqytRfK2qAEI/dEOkJP5RJseQO\r\ncYjC1Cr4zqewz5YKdDJ4GvYn5Z1Dg95U/un72/PJ6qOo3zRLdVkvmdFAABwZ\r\n9hg6BQOaKRd1QDXlujvp4mcpUPsrb17DDrMfR92M0cRyA1T95TOdamug1fk3\r\nQss9D74X/Qb9uDrqhpuZCbRPSWfByQLxPjGIlrmvxZdRroM5h0/nu7jjE2Zp\r\nMakrhXQw12CIoSODqNasqGi5y2FYjqhCEPg8bpjqy2uKNWffhFG12mj+JzGT\r\n6YY47Da5zly5sOZ4uKYfr07YrxpL/VoAgA9ySsOFUU7yw7/G3TtM6xM5Ukyc\r\nDIGsOyUUPuBHFvEivBIWFg1xbqIITjGKl6CT62uplKvydf4O5KC11fh7KMPv\r\njHraF6IIRu5crRDDKKqRZ1jkQN6CI2KKRhg=\r\n=6C86\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.14.1_1650230536234_0.0308411976443288"},"_hasShrinkwrap":false},"1.14.2":{"name":"npm-registry-firewall","version":"1.14.2","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"333479f5a8e47f8b4a61c9c112733b8c475120f3","_id":"npm-registry-firewall@1.14.2","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-v+ReEFjxljBWwDXDzxtY1zKLeqclmkQgJl0TH7pcaAvXZ3XenjcaA8nMe7U384fNR9WcgenDTji/MjjQjaR55A==","shasum":"1d5b615439b1acf72f78ef44fa68014d89d54726","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.14.2.tgz","fileCount":33,"unpackedSize":45658,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDTEf02VNc4+vvNnpGSNNlig65aHlnb1PL5NcwPKpN2bAiBJplCBBI9+g6EusNTduIQdYs98nBrpQmI98ne5NChjqQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXIs2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrlNRAAo3iOdlJM/dMEdNPxZQcezzILtyHp8A5lGc8G7dPYdhraMpI8\r\nN52qLO1IY4OJE2qkBIcD89+Gf4n2rRSa2IZJzvCOAzI+En5Xt9YqZD9iZccR\r\nS6TME0HVevCgie3UbGdiIBFz50AIt2uHeWDifC6FoWSf1ZaZGOUUPxBsPHWK\r\nJZQq2hwfHlFmhbwR64EdY6aq31iuasOjfewfPSoMwwQicDKLZ4W9KEwVw7K3\r\nUoICUynY58PrNxIqDXYeMJc8huH3F1lPSSKOvPcdDSqJZZB71L5gytrwh9lF\r\nuHmP1hDfjPLeE7hG1mfchCUc7FglQEkmjtk5VviTNWdYSI4B32X45tDjuzIQ\r\neQb0fjBxnMTacYijNTVenC7j751vjWI6EWR3PbMF6GTj+1Z1v1CD2AwybhfA\r\n55xWJofVVbUDBY82zSChfNDfx0lIme97i9OQdZS3RMGb18Kn1hQW4dT5NPOM\r\nia8JazQwx+wxbnSvL9aOcBAiFctv85HnJPRpRZ0n3w9rg6HliOmraBeXKRvW\r\n3aznTw1HK8uvtjdCxRpudqwxEZzQCDKE+uwzvYgFo4jxoIVqpyj87Sp5kXVq\r\n7/QaurPT1c2prsXxYC4+cEXc9qRD2A76lREM+0qwjghRI3wSab7z2MVqvBYw\r\notIWimODzBNsa12FClgeYGc0HIs+yFV54O8=\r\n=ImFe\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.14.2_1650232117890_0.8174338588534491"},"_hasShrinkwrap":false},"1.15.0":{"name":"npm-registry-firewall","version":"1.15.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"d0fc59aa2cfbf107866c5f3152cbc1dcadbdb794","_id":"npm-registry-firewall@1.15.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-L/gi5LwkUpYMMDAGBwp+uSHZ6EZD1Ogc0z8+ozjCpnXf24Y6/PlbAI+I2Nufd/GuW3tuBrwrGp++V/SCM3xSmQ==","shasum":"51bcdf5d660b486bb8cfd8177dcd3b7e0579eba1","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.15.0.tgz","fileCount":33,"unpackedSize":45778,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHJ/d8OIoVbr8/iusy/1HAdGxhSdO1LzADsvRLfcWkWuAiEAlw2Nk7dvxvzFDPdzcxoj+SiTe30s7q16jwwOyxFa2eM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXJwzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMyA/+KZjAebF6/5S9hknZxNfMROdHkumKCCHzNfaH5RzvZX9Rt2jk\r\nXtmWVjSGRagVNGB5YkUBQqa4aEqtzHiVHbH26WcG21U2uYKst4n8Kl4kv1Uj\r\nlwCWjBloR6jyiZIZQAcwyMguc/lzOVaJZK4JgIfnKrEjGSdDZxrhUfy8TfkZ\r\nNv70IxA2aAg7EE8qUvGe0JB0wVaFJSZpFtwFhGkY8ZpYUtBZy4MZjMmTy3L4\r\nt3phYKVzRXY+T0YlIZkmLF9bog8NJHbwAWz0W1Y/Kd7xyetXEGTA39hZOgQQ\r\n7c66aJXdLOjkRaSWFwA+xUcy/tM23scxA0thAdIj9m3L9tEgYEo1CXy+OL8N\r\nn+qslbLwl9lOMSKVbrbBUcQDeMPFtlewvQDEdzyk5hGXaaGWPIrKzkgZkPmd\r\npk+eQ6i3sSvgc7CTyQeGtmI5YX7lbO327fjNzcRIlQ1ECy7oyYSzvvvpGAe1\r\ntvXIeGGiezrfqxR1gQpSXqq8uWuLRXEAT/QqhWI0+9sPPxCWjMJq59PpJiLi\r\nUVbJk4coQ9ine/cmr1rR0V7lwCMdtBS44v6Yv928dfIGLwL9pzIKgYc35gzP\r\nbPJesUSwWpCxaw48k5SbrkxbGduf392yPeVdvupjEbh+s7GKhtRlRzEGloTb\r\nQSdW40DHz0Fj7uF94ewlVvr1tD8S1caVYec=\r\n=teJc\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.15.0_1650236467227_0.8715549167037346"},"_hasShrinkwrap":false},"1.16.0":{"name":"npm-registry-firewall","version":"1.16.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"f7542596d9afaf471618892dfbcba5830ec3ae1e","_id":"npm-registry-firewall@1.16.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-PdC904dqa23yaARmzL4ZQEEv5Ze/zuLyUdJTqp7OyELhcrmjvvi7YtMg1gCjF/vFiyz1IEGe771MU+6eoN28IQ==","shasum":"980f7c6188827ba8b2553ecbdab5533954a2a9d4","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.16.0.tgz","fileCount":33,"unpackedSize":46802,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICOR7hMQIlTC+gYMrG3Fe3466sQ4IyeLKhXGKKrkZS4VAiEA6ul9EFNM6TjOnB+eAt2t7TYfuWDABIt+HVyB2Uu/5no="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXSOxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoReg//fl9GSgYVeUmfw6KcIpGR5drIhs8HWEF2QCXuEAHE5hWDfSxJ\r\nONj8DvXL9mZ/XztRds2edyBZg4iHE7iFkY+wyT2p6DWh4zasaQc3dB4ijyn0\r\nt3c8srowt0v4s6yiJeE/yHgEPJTVQoOHQIY2n/BCG7FRSBw44PEd+M61YGJc\r\nAYf2htOz2mh4ldGnZh5im00GiUHIBu8H8heE1KMSl61SR13dyDTaEj+sYyGd\r\nAanJF6+7iM8zetnIYHPhVUh3+7D27HmEsPkaa6my7uBVsTFdIPS+MDwbATKG\r\nHREfhTh4QuXTd9QJtrEpgBD7LqKD9ptv/6CbnHCey+QC7pHq2z9dCPaCF8Hj\r\ne/LJsB8BEjsf7O7K3kvE8wwXSQNiYhLcTa9Rcm9eiI7Oz+/x72d9zlOuaesA\r\nEfBp638xKF0q3bxKTHND6chJdTmzqCVqQFr8EwnohyiPEaDHrLESWBZ4Qg2d\r\njMpbWfUDVGFk6wjs75sP4F2UXxchNJv3WiOtAly6hc7L6K2XMulpBI+EEQM3\r\n71pFsiHkvFFyZ1X7hWwc6hQuV02xDiUgAwIceW2m9q+ZTGKxWSVDHqPK3dTP\r\n5XmsG+dSWclbNbzeTvdDqLIxECXt502J1/90jzfSfMJEKwsUd75qcUhcyTuO\r\nJPTZeJU1UE3Akuu55mWDp7c/uKHvPL9O620=\r\n=CGgm\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.16.0_1650271153233_0.11072496524193354"},"_hasShrinkwrap":false},"1.17.0":{"name":"npm-registry-firewall","version":"1.17.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"e846d4148f6a6f17b3d20f9d8a424a82b966290c","_id":"npm-registry-firewall@1.17.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-kOrVjMgCbeLgMRWoy/8czV2IcJZksFgDrFe+FwaGOtRpkN4UOh/4Dh4TgkZ6SPNvjiVgoDzCMcqa+9ZbjYHZBQ==","shasum":"35339adabb83f6bb76fb5e2fff7c5ccd3a519d6c","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.17.0.tgz","fileCount":33,"unpackedSize":47461,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFVaCPlRNy11xUZI73c+GslXCGBCcoGHXHYnGW0RzJRgAiEAihcMN+QiHK1nJU+/YLE7J64P1Rqmv7SagoXiRhiSJ20="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXdLGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqwqA/7Bp7ZCTg6vQ4keQj0n7CeomY3Db3kZFB8AfKthbP8xXY1gUxg\r\nG84joiD8w6zsnPVNkokaRmlwRRGUoFpc7STl9f8/xSKpaJ9zv3GHnWGD4ERj\r\nPebXDlHxqp53D3yDweEqAN4Lkfu4ucDpryq7K98PNbSvtNl08eoFJwmJngqL\r\nhTtcJQCkO6Jjfc1ZAu5lRq+9809DtBcFs0TRD2pJVzdTnDXPJ4p5AYo24G4s\r\nqONJZHGDqJaWEt0Plemxv9O16YyOWaKPWnlRmJmhgmCQYHE0Lr2rrT5o7ppV\r\nGVQdVKPSGhK+bjVsvOY1qfISoDxYY7Kvcm133nYZQpQ5Bu3jmQC3tNmZPnmG\r\n2caoG4SApXH+aZPcD2ScKihY/0zjG6lw6vvFxZHo/peOBraQoSJAlFITPNl6\r\nonrcdQTyDD8zmw+St/tMaw76I7GkmTkR1Rs5b3d8Tt5pXMeUkruy82NILf2k\r\ncyhb+NbeVVxzOvx5T1q05G68cvUm8dkaWo4gbBwn8SC3n4Ppi/aZP+d5PdeK\r\noG5++1rWN+1iVbMt4A/wvYPBJOBy+OJ+IoLSaG+rmYABMdKkZ3KpWBBlp5oo\r\nbjHhBi3FXEKYpuRfXQEJwZJBA6PAaoSyvIsw1Vd1faYoOzM1rre7embT4T2O\r\nO2ShtOCUCU5tl8fb10DV5JOf4tHtg6XDZbU=\r\n=eXnK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.17.0_1650315973903_0.11537877947450181"},"_hasShrinkwrap":false},"1.18.0":{"name":"npm-registry-firewall","version":"1.18.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"0fca1a2f065fb333d2409761b77822d6caa16c06","_id":"npm-registry-firewall@1.18.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-g1+QB3+0pnfH3pmDWdu+LuTAEuE9cvW6cHD5nsLqkWzHlDv7f2Qzu2VSqs2couclIzV+Hk0JlFxMl0py38vY2g==","shasum":"2384f0479408c1a21bc7f0afe359fa84a1297ca9","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.18.0.tgz","fileCount":33,"unpackedSize":48038,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFwdVwJd0kmRTmvC/M+zoM28vSKcVp6yi86sISBxW/90AiEAsmfFYKDtNqVcdPtbEhYhUCkgfNADFXHB/08g9Mgagtg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXq+1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpTKQ/8Cqr5HxR/uPrPnopgxlF2VdIdQyhrfBJwGxNjmOC14H7Iouzi\r\nOpSnwrv/Rk6/tRE0HbZZaV4zZO0qXGSCShYBekGx0luLD9ApRRoMHuHgyueg\r\nzdi4X2AJj31uGu97gNIN2NGspqqzAvZwe0MZgUDAnRr4YjS6ni3OzIbuJ1uZ\r\nG4KMni7ekh6BzEFGJkImflRrmK1XAG8nKmcfBL7hGuWyf40ygKm29IHnq+BZ\r\n2nCXSYbkJ3YIpAgIBgVC01dF+HcmSSiO+FVpybCmILKglAP041E9Klyiycy9\r\n2GPQNw1rgOf5vxrz0Ze4rsaZRZ6aolc28g6ho54HovKkn0uTRQaFdzMhVO3S\r\ngWBinCU1oAmYgB6fdChjmC6iZ/rDhiC8Xl+2CwBp6bBlcms+Mpn6s442VjjM\r\nbuzcCoT+4O3owmYQ304PliY7oSr4Lo3Kn6D4JlxBdIdK5/ZFL9B1U6/xa3jt\r\nwnNJOxXGlGXH4RT5r11API9Ybf0wNJXeH9VHtZ6K6oaKFQDCTzw/+PS9UnwG\r\nzNMHVDUUqjyM1Uzr13C8L4pNwIV9efg44N4h9ZXUYpTcDjp9+DxwVnzKhzNK\r\nWX+Y9pj1gjIMc6lsiMBLC31Fw8TUNNppkKEaoWG5PVOcVPwY4KAI9slvq+F+\r\nMaXxSpNxQCOwwZFyysUf4jXus830FgEkdH8=\r\n=ckU5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.18.0_1650372532995_0.9905643668988431"},"_hasShrinkwrap":false},"1.19.0":{"name":"npm-registry-firewall","version":"1.19.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"b51ce4fedef2ff5da181737dfdb0201147a96499","_id":"npm-registry-firewall@1.19.0","_nodeVersion":"18.0.0","_npmVersion":"8.6.0","dist":{"integrity":"sha512-AIy1aN0uBBEbPuEyZGDZvHJgzj3DMGrSYgQwSE/Flc0w3kASBBmG4ZplS8niA2U/Hk7Xq1Fn1UmgTVB+F8QY5Q==","shasum":"8fab5899e534076ec102b532dec2148442c581b9","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.19.0.tgz","fileCount":33,"unpackedSize":48115,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF2beLNk7QJZugeKMSiAvYKMbKj9wgDp/4WD9ljGbkP1AiEApgoBkjoefnZP6yIV6fzLw4xUJOCFdlcXIAhCyF9jl0Y="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYajtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqVBg//Q3FrXGZu2b72XcfQHPkmczJfzXEcZI18TUOKrjc81Fc5yn3G\r\ngtZVRJckT9gSOtCx+hiozv9h8pKlvicr+6Mc39MFDcXuHMegK0aXqHA7jmA/\r\nBV8HTvDeAG6bYVmVvsVP3v09YBfb0fOBdOSqsLqpFIKaTS1J7WntEL10lpnr\r\nmZTru8ldPjLwUaIjtb7CmRvYbLqBoEg8aS2+d1pGm020pAvr9vHbccYHgU+M\r\nNDrWvFIxK8QTl4eyznkp1m5jUb2PBJ3WdrSYoVZXeLcgepzcUrrCzXV/asVB\r\nQERcsv2nbjkRoTzaOXnCRrPBMnr5FOuI1vfgQQ3/fhfiD0k+m2ckrMLn92yi\r\na9xbXG0rGsYE2uFJkbMjTqrPtxi7HJMZ2DZ5dmE798SSBd8JcbwT53cK67gp\r\n5KopFzaJgaxwkydDlSYttIWeAy9d30aiYrmcsBm1XaejKQGEME+SuJt47fo8\r\n4GKE+kneAyVKjaLczQV/nHAVXBMzIciCISFCnrIoSjw4sgGBFfkfYEx/i8KC\r\nw8fmrENuMFIk6slyWrrUZmp/xAuIMg1l2BoI5H3mmmIw8AIcwnZlC53MmglD\r\n1nzFlNRc+NsZiniWyMhxPWe1upyT4hAZKXdFBEXO8JZkgwz1b/ur4kqhsCgp\r\n8Z+me4FX0lyOEM8QLjg6bOK0T6RPRZRzYsg=\r\n=E1sY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.19.0_1650567405313_0.5033076140739938"},"_hasShrinkwrap":false},"1.20.0":{"name":"npm-registry-firewall","version":"1.20.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"a63c55cddd2cce111d2f7843d166bc28d0f23d1a","_id":"npm-registry-firewall@1.20.0","_nodeVersion":"18.0.0","_npmVersion":"8.6.0","dist":{"integrity":"sha512-In3gVJau/bgzcdIwxWU/CN9fiif5Smkyk/w5xuVH/9jDgg65+6Z7bIeXQVe68YPhl0yWh6FQozon2BF/klOQIQ==","shasum":"79a82626876b18ec708eb30bd01164ba8812f3b3","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.20.0.tgz","fileCount":34,"unpackedSize":50891,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGlacg3zSf0n7rtmg26Hl+1zzuUZM6BvcnJKONE7ozDZAiB7GK1+UycvNKlzQ0IFHb1arui8KQ2uvFoGIkAojK20+Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiaP5ZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoWEQ//R6d1ev++xjS4UhcBtSPzExnFWCzgcTL0Oj5zZdb+y4MNTqWg\r\nYQUyKYStisYwZExp1zRenbV4148E+yidVMzlX0JhMwuR25GDzSJ3DDv8QzOh\r\nl3ItfNDHcUndpyfEkSqxGwIiXM0F60lFIx50AEbnqu27NByq4SZg4ex+QOnK\r\n8iNfWr9Cn2UGK8fnTzDY5bN+6ZIHkj4RWmlMIhDQBJboB5GeqsDiLRglbE1n\r\nF4WDugmpe/lVWdZGgf6V1pY26o2HOMJRxUKjLif4+5bmmhlXLm8WQhYQpcF7\r\newrnSZrdYnkyXBlTPn/hteOHP+Obeg+pWFoEiNLlk1vP75ohdTHJ1hZX5OP1\r\nn2AhIm5Oq7XsBuWMDlYeCyLryd8Cez0W6Wlsh6dSQ+GmiwRRODrwRQl8IMoo\r\nbtIDdpz+hkQHIVRHDsA49t9ZcO1D/+f7c2/GuYBJrwxWZODHs5cXB49ND+XT\r\nKclDI3zDRLyuEBZraLsyB8lzI/Z+pAXlIq7qQhKtU5PbVm7JSSvtDnqZgccV\r\nvUHnXpOhQWNrTw6Nqg/AS3Oiw94qLd3mSYOYRrOHn7aZNRmY5ijPz6qYNfox\r\nuHJolVBK9mcPKpjFRzfVRMeZtWpvEuhPMZFfK2X1dqX89BlLd5iO8mO6SAdR\r\nFt0/RAa86AvTRKTuvGVtVI+/dNvUz0j/HeQ=\r\n=FCR9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.20.0_1651048025152_0.2348491208132586"},"_hasShrinkwrap":false},"1.20.1":{"name":"npm-registry-firewall","version":"1.20.1","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"ea4cb701f31444d1afc6974979cd5ef5b4ed7a42","_id":"npm-registry-firewall@1.20.1","_nodeVersion":"18.0.0","_npmVersion":"8.6.0","dist":{"integrity":"sha512-qtDVGRRZSfIXFOC2YZAfV1iePijAGBQMsjn4zjCuWFT77yZYTh9Muiw29gxznlawqUl1ylipbYeevmI0azMt8g==","shasum":"9943f9c66e578b4f8accc010600fed2300e7d821","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.20.1.tgz","fileCount":34,"unpackedSize":51086,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCnjK5wFWIja+XSzMRWCbVBjbnIUrxveAE/bLhArczS6gIhALoD08c14MpR4Em5jHLMUbW3D3MAcwmbvNdPxMSifXNO"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiasNGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpc6w/+P5zEtds5dxmzTJvArWCamIMVTRcv5GppCrR0pYEcsZfsiW5P\r\nBlNeCLgI9L/VrKFzj7uzyJgGPZq/OtCPj8LVQiUYq2Z7nXTqy/gh2STC1NyG\r\no5pKdpE+yblz+X8seobgpF0E5nm61WelQvxgV93e1TJCgLQWrVo0x/qYgwnh\r\n8+1lZ2pXoVWfA2yo6eUMgheetT11m9mD3Q+4Kfv/GDBQDQR9chtTzHAh/x78\r\nu2xpca7CmynPlTHaB1IMEoiY02Sow65S4Adeytx3/Cl7UBwSp2OvFKPzwlLP\r\nywfVz1Q8e7BFtQtVrzFw+X6sgiEcPkLQ1cDJut9oWTWqiMZktY7nLomWgGaf\r\n3M6FG+xPGYjomSEUnYKVD8Zr4zL82a5jDoNONf4hD5+JhtQ63kkTzs+P1/a6\r\nyDDO1AFC/ESxVuMIlM7GjrDF9YUQWFQWX8NNzhL7BE+Vp0j9j0GoNSu/M/hF\r\nOdNzt0H9bMOjtjL2M4A0Hn9ZjLEyQZnT/x2GM3eG/YGDLN738Mcb4zi0GfkY\r\naYeegMkZ4Pp28RKP2B/VUrD+pxitWV6uOjLiBA391aOHUD8JxQ6xEsb+6W8Y\r\nVeYgmIx/BtGaSjpFcbaZXCULHk40TzRNnRaOfDnp+l/FkAprNpAJM+migp1E\r\nE3Ri3tZp2buFDLDnZ2B7pVpvgCJEDHUekXg=\r\n=wM9J\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.20.1_1651163974570_0.6390139287382757"},"_hasShrinkwrap":false},"1.20.2":{"name":"npm-registry-firewall","version":"1.20.2","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"137cf6f1f5a3bd979099c912a3357b2ea6ece402","_id":"npm-registry-firewall@1.20.2","_nodeVersion":"18.0.0","_npmVersion":"8.6.0","dist":{"integrity":"sha512-bXXn8sJ/reKid/ci30rQqUj/GWOwmEen2Z0OeDC/jUjbQxXjYGqJsBN7FBz0Z+ugcOVzea3PjpYSeHlgiq5JJg==","shasum":"89353e21335599fbf5259357b950ae1ed7f08a5e","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.20.2.tgz","fileCount":34,"unpackedSize":51173,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCukUZeOHWFc9QpDow6gIUwRhe6Vo7wUfweWVTI8GKjwgIhAPtkNnB3ObeboQ4gyn64hNmwTorfzSv19VJQWxC0lymU"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJia59aACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoxhQ/+OElcVgHMT0Hv0eiLMY64HnnhizgPJc4mJgXrN1MlMyS4IY4M\r\nuT/gx8aHtFj70ABl2SGidikzg9k1IsKxqyj3Oh3poBIfkXpvhvp05UlkBem7\r\nEPDEWENNSH426oN52YohiivntPVht5Hf32xLMZnAo71+u2mibkp8416RRxEd\r\nP2pbM0lFBPYndZ0LrclSGaOgC8KZ7D+rVMjoGcgzZ+mxClK1YX093AyB/d2w\r\n6HiZlRxU77jb+s+XsSQjCrlYCPRbFS90jLGD62pOuAiCJ7Vmnbw6opcVKsj6\r\nYJXHCPhXrnVS4ICWUAYoLdW4nYunUUsD0zLywiA4llvWN+zgpMhhQJVLSxAI\r\nTSQ5FZEtagUQepjjzEcF3gwogonp4nzMOau+SSO741AHo5b6C5TO57Blhw0J\r\n5fY4RC96SdxcnpyBaQaxge3FntRx9OlYlgUMDPQe42V2KVmJW0ZpmHtL50Io\r\nkCCMKij+7oOt4gMaQScIeDL3A7zuKL35ufAcbqdrpXcLl8n1GqQYqinzqqa2\r\ngkTXWxn6fUMDEOEgnNy3xuk1DfrUOTBHq0ZAdWWd+Ma3yi+gjO7k/OCHzUPO\r\n6W8BOAxEq32wB3ptNKrJpm7W+fqA1B57d4+IeVQ8jZW4ZK6SfTYm/OKd44by\r\nSebH/rJ9TFX6HFzPSiO0/wq5hwbD66m29ek=\r\n=1KKG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.20.2_1651220314562_0.7940114397499272"},"_hasShrinkwrap":false},"1.20.3":{"name":"npm-registry-firewall","version":"1.20.3","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.json","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"477a8399354677c653a6bffb3b2fdae208fa1f3a","_id":"npm-registry-firewall@1.20.3","_nodeVersion":"18.0.0","_npmVersion":"8.6.0","dist":{"integrity":"sha512-wpUnJ+KzNj55eDsM+zhQoXvamhNz0/FDi6YQcRUgCoiaUYjARVEOy6+A0WKpwmPDEM/+Vk33zTWD2IwfP90YuA==","shasum":"09fe12f6db4b767b700913e99e09a165ba9044c9","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.20.3.tgz","fileCount":34,"unpackedSize":51986,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFyi1vLPvvxgaqFgNt1BHIgpuQYanKsJFmBol/RBCseZAiAnMiG1f+sM/KUq4lbkIG+Sg4rckM83FjPCfDFS66CavA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJia7JtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpyBw/9EIMcR+ZQG36SVX3hZRKZHqrammTtTZul7YcYkXIz7XRWtTGI\r\njkJbUYl1Re2XnwMnAw2JbmY5USYZg3jCQdnpFo1Ai7h4ZGJsWXMpkvDc9Qu6\r\nHlMYSNfIhV50HKVFC1WBSIVK1tsVLGcoTdBeeUgnTXwN/gL5287k0JMzOn86\r\nTfbVfU8omY3a9ICV0mDPR+smsfcQhkdrau9k+duyCsn1PZLm8MQqQc12im6c\r\nEuHyz5550VcozjCvUf7lw6NUSfLqptp9Gl2/7NxwNc8gGojEie7t356HENk5\r\nuuVhduEE8Vf3nfdcm53DqXmizUTQp97gkDVNbDTxgbxegdFRR9Uc74K26rnY\r\nOub1qv2gN3uWVLzx4pEkNQfavOKMWtAhidZO+kJp9f6SHeJAnxEC0fq7a75t\r\nueUiV9TV+4j0h8CpnW6QB0wvRsKjHpTgSe+ExX+MU6rZ7iwO+KyVQNGD4l9Y\r\n+RGLja+/QXzsku3dk4CZ/UhAJYsLhi/NJppo1IyNeGAVgLkrFwsJA6g1RI06\r\ng5snUKKHaVC3DbSAhXTZ8m5lwMCrM1IWi8kBCGiX/Jhl0upP5upulqValGdR\r\nC9KXSJ7LTgmct2fEwkrAJEDdt1+Lzz1gOvNeN+loniZytUzQouf4aRfMWJuo\r\nFoI2MaxJEWYQDqcC+dnAQ5uqgDFXpaXkRv0=\r\n=Spqn\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.20.3_1651225197037_0.8220379143173624"},"_hasShrinkwrap":false},"1.21.0":{"name":"npm-registry-firewall","version":"1.21.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"fde2c3ef2de068493f94e5374a8c66ce8196b6c3","_id":"npm-registry-firewall@1.21.0","_nodeVersion":"18.0.0","_npmVersion":"8.6.0","dist":{"integrity":"sha512-QKLBqfwnQTSJRtJNiB756AsaVVhIIjSbp0p9lrPpeZX3e0kQOuJIbGXSZPCHyB0czT8U9xf+JUVCQqf5gBcHkA==","shasum":"1ac43f103977672efc7523e23dd30a78b92ce882","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.21.0.tgz","fileCount":34,"unpackedSize":52191,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFj7sP7WAbrNUmKrkkLeN42gCmftTXnRj2dMlU+PfFEZAiBj7Xot5fwHNYeot+Dej0/TyyCT8Q7nh8I+GD7CzkYLZQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibCEEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo/Zg/9FNGuLv/HKH/dB0e58uguBj7n8vQQPSHVsl8bhYy5634rrTLG\r\nutgd6qjwFErbShYK+9uFnw8CRTVvapnj0iJTppr8khULASk5t8fXLI/JCXmT\r\nUzND74URb5GNpH2dX9sLdeUlzKIECsC5fD2n4TaWdSebesKs3iqpJLtMJvkq\r\nCKqd7E3vOM7vQqJg44zb1uFQxCYV9xJ7Ef5gNVhM+IeS2nSczmAWQxEfjl6S\r\nh71q1tu+UV/J5QtVpXGV0M1Ge7IlD0qNa3UO6Kb4dh6lAdsFbFOxL7spWzcx\r\nd/CXKESEA/I8oy8GA5kScv58AiWH1ZL4ZQl5iuYn3GTPuOCtEwMfmpZU/xjc\r\nSx+yWp7kCsB594zuD0OC8eFx8FRg5Mq+CAAufgKoQ7kwR22/3SuV3UF5USmp\r\nARBtwQnI79Pwv5wgDDx+2bbwXeOMD2SzYiQxjA3e7ulv9jFzBQ+jiGSW5ttL\r\nd4svjthQjEuvilhgOGHmODix9cwDaoEwxOc/xmQge5oBB+1gdprFD5lNfiYq\r\nZlMbwG6UjFkBQTkjR4iLKzCIDo2WMzl7zTAbRhmyZugktlKMBupEYrtUI/I9\r\nKBK/SX5a1144mlchR/Eg30sBe2Q1gZijuwlKM0MNzJzh4qxvgWvxRSj8gOHR\r\nxqUkT/B632/UY8g4dd+2WGp0O5zUAfNzEBk=\r\n=Rqe5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.21.0_1651253508259_0.5300784795593092"},"_hasShrinkwrap":false},"1.22.0":{"name":"npm-registry-firewall","version":"1.22.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"6d053096dbc3053523b2e43be5ec5bb6f887dae2","_id":"npm-registry-firewall@1.22.0","_nodeVersion":"18.0.0","_npmVersion":"8.6.0","dist":{"integrity":"sha512-v9tC6Ib0u2MO9fYjk/XpuyUczEznYLtD7IMtmNF5PQw5uVhWKU7S78WJng3xeprDPk3RN2sQg2m7zrJureALvQ==","shasum":"3f06f78307c4f352af566b878e4e873cc31a02cd","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.22.0.tgz","fileCount":34,"unpackedSize":52864,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEPvTH/EX1OFwMgfQ4xJRgJpCj9twKWtxl00e0Rukoe7AiEAzBsSUVK8d69KmlAlnVhmz/55eRX7ZX0RIALiRxdWaag="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibDfUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo+9Q/9F0Z4bI8i76GhJ4Dl5O9RMQGEVNfS4XIqsJywtZeScep9uJjN\r\nrztr8YsJa/+jHyF3/3D7dDzonRp1kcrqfYbz0ZPwV1GIM3AWRmu86orwfKlC\r\nXNT+OPVDbADf6ocLppWsNUlF9rGKQ8Q03TIjfQ1/oTts+IV6xVldMis4ZzDL\r\nuJdt+qYb6N7g/mhyrxsmLmvoQJybun29Nfrak/f68sbAkQxENa5h2Omx5yc/\r\nW9UzL050lQZwRgV6WiUKgD1RcURS7G0ZUBRd02S8MQ7vR8QAynco/cOfg0uz\r\n9lcJEunV0SxofMkhzi5kYvu2sNLvom+/139w6lwW/E9JyNGBa3USe5T0IHcS\r\nPoQKtzc6pBgVAfDtDhcHTXTV9erTNlWJCafpxFUhZgAB+moCpNTlWkrmd3CM\r\nygPOslJ3kJRDBYyyr/8Bt8Qph+i0X+dve7w5zTgTqckhI12tWS2nXs/XBdPX\r\nKhU6x+TY1Eq3Q6LEnAlP29TtexDfPAu02xYobYY+0ErL7E1PswqjsrbX8/Rr\r\nBjO0fOa5sI5wJKD/nP/i7nTzISIbydl0DeZ+omseBadMxMGY0Nmw4F+g/S0V\r\nWFfyDs7K2gTVcu3cYDad0KNbnzgd6zpiZ4BkgPXvYLNHN1GW6V2bU+NN2rse\r\nsf1Dl1D/RXp7S+srChhR8JkKqqaoZREToy0=\r\n=nD3N\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.22.0_1651259347871_0.32278688584135096"},"_hasShrinkwrap":false},"1.22.1":{"name":"npm-registry-firewall","version":"1.22.1","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"edbdc85254721b8be870d402c5b8698967ea81c0","_id":"npm-registry-firewall@1.22.1","_nodeVersion":"18.0.0","_npmVersion":"8.6.0","dist":{"integrity":"sha512-vANfuwfjSYPbw4c4mymN37IB89D1Yaribi20XXekMW+jnBVgv8DcbSDGewVDNpZC87kq44mD0ynkRDyQpq0C0A==","shasum":"c4cb5a1b4195d6086c7b98d73b5084e83326116a","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.22.1.tgz","fileCount":34,"unpackedSize":53392,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTSaxrFvyv2yjBLWyphfH8kYPkh6Hd7FRbgdxwHj4YvAIhAI0j9VvzlnXy4c1kmM3cf/srHMog+KWbnInc5xfBtqQg"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibGXGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp46w/+NYTlSk9/kE4xfPEYSI91llZmCS16o+Ya7PnwVG4/Kb1uD6Kv\r\nlKjl/fwxI9EgwapcCqCymRwRV8l3xd6vQ6QJtAL3FbLJsuSEGirbhOXhqcwh\r\ndQNzYZ13v7RxPiYTTyfE64MqBs0MkCLQIqF3AHy6nxlXLNtp4EU2ByKrhewT\r\nkR5PJIGpRxPbjOH9TLHk/hMxt4gvNkX/Ti6SgNNUNkzD0R3w8QaWTNP+ulmE\r\nbZ4Op4h3Q1h2ei79qnv75alrGSWc8C1gjmTWMC/3eRGb7oDF2T3g+Qp1F0Xv\r\npE8zmC1IqB1H0nHvmee1FmiSO3z7ZmSiPnLKm4FkBlHsVF2RZAiuptbM3KQt\r\nYCU0vALNBD3Vj0gaDk/fQ3YqSYSm3pOF3uML+EP16nwnU0cjHVF3wgo/6rFp\r\nHFuieFMZb/ac92SkZ7sDrZfuU4mbfzTOgD9i8I2BHXuNQtsl5pwe9owq6VoT\r\nxI4TdiFpIdXkm5T+WQ47RWrEbPjpL/2zYKfUXBE0PC2RKAothP6NAu8p8BMn\r\nTRx0KDK878azU5+VOAi9+s+I+kNF1b8uvKwaLuCh2fd22YJSpYmoZY5exyYR\r\nh7hGtCXUhMPU0POjwZ+bd9s4c7qTdF/qgg2iqSBBlpb9Mw+WhNbDezrqRa2i\r\nUWOhufzJz7Ouj1vdDoKU6MROSuoUWaDNgQw=\r\n=CI6l\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.22.1_1651271110656_0.2653780346606913"},"_hasShrinkwrap":false},"1.23.0":{"name":"npm-registry-firewall","version":"1.23.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"95f0a9b81c1579bd27d17f00064f3142a1fb9be4","_id":"npm-registry-firewall@1.23.0","_nodeVersion":"18.0.0","_npmVersion":"8.6.0","dist":{"integrity":"sha512-lBum9ZkiTFvmlWYSZ1j3HSsIr485nORSSjKv0m8XoaMhoyPR3n7Vnh0R+FpBcdfzUboGF1jOOlcfLh8Qlwrn6Q==","shasum":"4585622125dcafd2821d30268dba4f1ed0d8b2a2","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.23.0.tgz","fileCount":34,"unpackedSize":54538,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUCN3eXBpHDZqPPjr8qeWI71oDqCOjJHV3WvuRqucevAIgNFw3N5otvmZeRzXr/XiFwkC/XlWuMiPXrjEO+OSy3Nc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibOuYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpxXg/8D/2MER8dSXFq0bZovbBQUzjy6CTJw+fWwPOVl4tViIwBPFn+\r\nM3C2X0bx8a0FXiVWhNuWAD8dCuur2wfxDUKpydjApmmpBdlwukA0Cs5cc0I3\r\ne+bsTPiMY/VZAJYNzNlvNBmCkPA4Al15Vp6YZh/7m1M/Z5MHBm7//WfFKuKD\r\nV0Le02dl+/g67rTz/lBO0PJAai7008XjQpC1KRrYlq9nTv4Ml2qA/FhzvssQ\r\nkEtmcXIPIh2BaPm7gvq+/hUrPydZpd14s0HVHPjgX8SiAug9yx+OBjhpKfYY\r\nEwuc01VC3bUe/ia54geSkQkRSGZa82e7pUcUjnvgxX0T9uz0xYiBtvV3lXGC\r\nyqbuQvp89EsR99EuVMEeTEQGg8tcV4tFri9agPcJYbryYvlYp2HV1NrHmgoX\r\nUL2T2nTpNuEOeOwKT7nr4W55Nd/fl70sJSg/fPihchJXcVrqPuTBdVNYNJ9j\r\ncpToq6DYNmd4a/m/jGk5RM1Ej7fLV7xMcTM1foGmjs4BI0BTkiXqz1e+skGx\r\n2cBZU1JtaDKflMwnfd49t5x1rmtXf6Td5cEPbgYy0+jU2M4caFnD0YfBLbp2\r\nGbPt0Qn9Nq2XJE4WTdkMI9SVASAN2c5kn+KLL87p0s1yCVnv6lzWRySyAAP9\r\nByDMgJARAAITm3451B/ol/AI94Tm0U2VB5M=\r\n=6eJT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.23.0_1651305368006_0.6636219324304824"},"_hasShrinkwrap":false},"1.23.1":{"name":"npm-registry-firewall","version":"1.23.1","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"0991eb737380210de6c425f0c68355fc68027df9","_id":"npm-registry-firewall@1.23.1","_nodeVersion":"18.1.0","_npmVersion":"8.8.0","dist":{"integrity":"sha512-DJBhBW++CHUPrI08e/A6ao/KkGjbN+KEzLW9+xMy9sU8yAjPLbO417lJai/dv+dMV0kb3t23SY4G42K2kbsRLg==","shasum":"62d77445bb391d3e2f62cf59aec5470c23b791c4","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.23.1.tgz","fileCount":34,"unpackedSize":54790,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA5JR6xyGOluPIO/02TghOoNCIksWAB3QUH6yZEnuUohAiEA0XzsrztRfJ4zfFIxuKhIdgauyCfRAuUfwOfsX5dA0DM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJif5pXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoichAApGxeJqAhf8FVMejHT9ZIavOk5h6V2LA5M4RfYoup39uWxUrK\r\nODzMxxK4Gk+QgQmgw9p2At0xetMGSeZg0xTTMBaOy6633F8QApXa/yQjeO6x\r\nqJ1yPJaC8FqIFSxgIBXA2URfmXPTuZcEzgkhMKu+Un1tJiDR/c/8GX8UoqfW\r\niozwAMOZML2GOALNXTUadzkXcPlESnLK0iSj2V8/shwK5dkFuUYONuiWMj9R\r\nVVCjC+lyt3dxmWQ+EC83LX2TU2X7GmQL7EuKxE9l7rX2Yy8Iw1n1qjxqkirf\r\nitjhMEAPS+6WQ8GM1qhZbb4v8JLRS5nsaqpi1aQQe7bhAB1dcfu3ywNMV7wZ\r\nQDF2Zm/pyo0C6Swnhxb6th2f9P3B/VW0MvFlXwkzhvM+5o9VmDIB+R5XOpE3\r\nomJKlJVkQ3hca9sX4OoLHpFqUHB/u9j27x6Ljej/vup3g5UYXWqEfkw8jEWz\r\nd7B5pLMekmOFU4V+UUoaXUxpDY4JBhJTmPPwfvL61GrVPOr4PTX76JYO0PYn\r\nTsiPtUhGlT3V+2qTygQD1EwpGrpfKH75lh9r6AAI1la2QM4r0+8AwFziWyPt\r\nSb35lPQEeJRTWVbCPlxeAuh2kueiRIOgFaSz2Bzk85gRbuRuCRIQF4Dg4Ozx\r\n9Ou8Xi52eON9YZM1EUFFeMwVbdPqXQxah7A=\r\n=drhN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.23.1_1652529751327_0.6542410701052721"},"_hasShrinkwrap":false},"1.23.2":{"name":"npm-registry-firewall","version":"1.23.2","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"f723e90a4e7c3ec975090d5abc3467f46739a402","_id":"npm-registry-firewall@1.23.2","_nodeVersion":"18.2.0","_npmVersion":"8.9.0","dist":{"integrity":"sha512-mFbABhKozwttK0CIVarpytSNF2g4KeMZSK371ovfjDxKTXQLKbMXHYUl2RLOLVMO1OqhCYawbW388S8GwbXVUg==","shasum":"2d6b0ee484187a11e2e3a8b2f9761f2e03777482","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.23.2.tgz","fileCount":34,"unpackedSize":55478,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDATFgqb60kMHHQZXYMHk0i2NNSQRJnjBo3mrUTb3vgcAiBsdoQZq7z+lPj6shDkw/e7IsgvoXNdv68HRMiLPCwpaQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiklM2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqdjhAAol3+tx4MZN3/m2Li/HlrAyXo+mP0w6Xp7rrQhtGOxTtrwXBK\r\nDB7RwGeOvLch5RHBpctLxytT+5mtRO7mReiS09amlNOL4YS8ahCNO2SBbV04\r\nnydlfph5xs4fJfNR3T9rHCfhcRC4+7SCNl2zwJMiUffhrO4NM+PqqxYuFHG0\r\nKkKg+ddBSFbxgyL4c7qMaEo91LVgI2wkIl4+Z4xNcXvugw8WppnTCJCDqy3o\r\nKwtyut2fSfTTEnOw/yAER0Cu/rumw9WyLDOc++ZNEKzirAFqRsRYI9T0jjbT\r\niUMKufMcu6IQjvhQuxdWmgv6Eou5jra56Yfx5bj91FRiS2W9lfPxD28fY9sb\r\nzkQZWRVuifdoNG9AOVfjG7deke12SIPDghao8/V7jQMuk+DLQgrfh4u+IajK\r\nY8VTxzbyEgEFpoi2ERnQ2KLsYly5K607QVmJuD1zPDnN7/LWzDvuyOxsJhpD\r\n/HgF7eQTnquMdjZjg8IU7mQJAQ08vTISHM8l2Qs+2REP7MB58OmV4TQmgw5U\r\nI1gAyueKSYVry61NqQ0cH0LY0eTHAuA8OCkjWU0rYDcr6Lj8zzlxYI47PRsx\r\nu7dhWMSprhnMvxZJsii3BzvkiOzzZFQSrQLivboygSB7/oXFPE2MOly2DxLA\r\nl1UwBAaNqaCwkGNea90OK0ZdE0iB0Qw7fTA=\r\n=j6M4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.23.2_1653756726795_0.5097723198671782"},"_hasShrinkwrap":false},"1.24.0":{"name":"npm-registry-firewall","version":"1.24.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"4b04b3bbc2b0206001f7808ffbddbc466667f9e0","_id":"npm-registry-firewall@1.24.0","_nodeVersion":"18.3.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-R434x6tMeX5RZ8rq+tpF1j6RJDEMDt1690VC6xSTfjOmJO/qkmrVKhYRYh7dKiDIBZW3FYDe9quakoeCjYqX7A==","shasum":"3dce69f0d82ec0f1195b6fcc58c32bca2b48a1d2","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.24.0.tgz","fileCount":34,"unpackedSize":55675,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIQDosDC0PA8MN9FJyYzzRytXRTY/97lsiL+gyJkGIk/xrwIfDfooX/fL65Yqt5Znoupkq7kvawKyDa8DAeSAniJKEA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJimNOWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpnYw//ebgQ6vq4usmzyVhZ2kLmH5BdO33Se1/2pmy4O3QrSw4RuVhP\r\nSHSbpRGwj49VWzVtVwhe+GKPO8KIj8NKW04k0VasyDAKCTwTSiuqiA8Llr+M\r\nBy3MzMEVtUochxGDhdMx3sIimORTOCl6OTPDVVim/cTnEfCdFJRqutES15sN\r\nDM2I179EF5Y3TBj6CHMgAahJ26ANtxTXK60NJgpx77O7xgV1kio2jUGzC+wf\r\nZroL2CWKgE0FdXauNrcuKm6IGpVkMdfW/40ZxyLkgvv/a2lBBrqYoA/8rQQ3\r\nnykBIpn3Q4szEKCrQYTQ3qsoE7oJA2ivRPiDPtUIfLyqk+siT8vlDMOlASee\r\nNcA2jUbWk3Zqb4F2V3c5jGKWMeCyAjTIbgWvGkukgLNnILI0+kxCuRb1aFmj\r\nCI7pd8bRqiIFjRZANKMjrX9v/CvrZSKIrP1VjmnTgSmRBLrSxLTsKwgGKgO3\r\nvhjmb6JfQRDMPnufwdeEq4JVcXcUq/ET9fmgZHrQF7cbqnD5VhSUL8hcHC1z\r\nXt7zQFxw2vcFFXa4gTHdmiujf0+LcjaRNRMcfnABpp2nfmQynTB3RGDzMuWd\r\nUBrIlv8TSNBuUsTnZ01ZbL9tTbTblPoD+19mbTU8KK0ZuM5llO2X1Qyrrx3R\r\nfPEi9KN/aUJJbuzaVYHlc7ArY+7HNZo+n+E=\r\n=bIYC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.24.0_1654182806548_0.1663382944997298"},"_hasShrinkwrap":false},"1.25.0":{"name":"npm-registry-firewall","version":"1.25.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"94251f6b4744487e6bafcf490ada10458885a4e5","_id":"npm-registry-firewall@1.25.0","_nodeVersion":"18.3.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-WAEWxFr8aNTn134gjFg9FSAMZcyA4hPwalfEBc/GNDijcozIcf4TMShkJk5tSyARvW8ZUJcF+MPz7HT6oj1Q6w==","shasum":"7d6ea4f0cb26491883b3aa9ac3f09cb44a90db0e","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.25.0.tgz","fileCount":34,"unpackedSize":55901,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHvp9Emmyvf/USDIxvr1iwWGAxj1D15KajkqreJROp/YAiAjQTE1SLetoNKtQbhEiriO5hi6+SxeZ/MLeteYj2daJA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJimQF0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPcA//eT/ZYUGeYCm/nFLrgCeadxk+KelxbYL1NtMqqGp2UXEI3tUG\r\n9R5g2GovFg3zpMfoSsQ1FJYV9X3xyCwg+4sK9pudwCBUhDZKc3S3xsDstYJx\r\nX5/pq/XQ3yxzQfaP2gKB8aU4tDpfLwk1tihGBI+mDfkXiyMKbtV+orpsnLhL\r\ncIpkEn2wKcuYH8nHV5aTzSQE4kEot1pwYa7UZTKMvWa+5RqPYWvN9hDtUGnP\r\nCH804LV71OWQyWYccB0ibEqwY+UisJ4YTyrf24XmnnlGHJWhWT2E07c7+SK/\r\nswLJBuY9mhUKkFHuA5/5/ywIg8Ui9A8x57Rw5qMG/pSTmxnybk6OYRHcPPVZ\r\nuysagXPuOaPUAWY6lkiXVWe5994RChLNcyXZknmwe4BfR0kXhIgcpErUI1Jo\r\nPmRqLDujtciCOPo65ztLE02P2+pDWEFun5Rt+aaiDP5iSPLl3lTTDBX1e5Zy\r\nUlO/ZsyMP7eqFZYvU8Q7QFr5hxJc6yVwIGtDzTBirIHAAft9u1fBPsRp0fy2\r\ngKF89vm38BcwIqjUmkWy6In2WDNnQbGn4Ps/Axl1T8qufjQMMCNjfJQfVIac\r\nvYF9JSYnsj4BA1aWRvIGBCIFnIzF5gFCUvgiyheIkV1ob1SfkXEfhwVjtKBB\r\nGqVSNaaFbE8FidK8EqNA0tCshcyC6aEi2LY=\r\n=0Uli\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.25.0_1654194547975_0.9004408089906075"},"_hasShrinkwrap":false},"1.25.1":{"name":"npm-registry-firewall","version":"1.25.1","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"4edd22f6573a2d3d57cdd1bfc44ebbf8b5ff06b8","_id":"npm-registry-firewall@1.25.1","_nodeVersion":"18.5.0","_npmVersion":"8.12.1","dist":{"integrity":"sha512-X9s/UVXp8FSAkzIrwl4UY5R7Ku3ZcNp/KsYtJL3q+o3a0qx+kFwMAuqig6u4Woxu4yGOvCPQlMzOZile9zWMwA==","shasum":"13cde4fbc8c45459b7b5fd257acaca4230d81093","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.25.1.tgz","fileCount":34,"unpackedSize":55965,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcJYOnmiStH0jsWnYK2GNuOdLeSIwcY885QYAo5WxYJgIhAM+r9ju2Q/sAhO8hjso/nHYBJdYpaK+ISWzsU8p0/CsK"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyXWWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrUYg//VDJr/hGNlWovvDLv54RaJusJj/7xu2qf+Xb+Gsb7EUA1LsjY\r\nCdg+Ocr+vdN5fg/E/QXc25K3SRAf9PDChQ+XPEmfe2GPYIN7HcifeA3GHKrT\r\nUOlL4zZZTudxDtphUfbLtnJ5tvHT1oIQhxnYsKiEr+j7Nz3T360hhnYxeCbT\r\n8jBKulfLwpsludneS5tYvW9De3YqdK6DLrJ8jIfpN8fttVtfKZKPWOgtQ1qg\r\ncISdcFTX2G3oVdlgy8sr/0wkC+DIKBJ2FeA1BtaHMXw4bvZLOg97NZp7EKMm\r\nfh1Gza2EuNizpA9rco+becNS3g0SmoHXqlUnxAIeKwtC8LjbbOIBZ3A910Lp\r\n2gBDMS7dPoAeu73LvqyLljSnfzTnZPISuwwfZl4AnrflWwxqHrC9h8tUIax0\r\n8lftzv0x5DocbUrUzyZE71T8YF3P8tkCHs/KUDD88di5Y2N+7ceuYmhZ6Iqg\r\nN3EcjahTPWat8GZ3eyENeMSfj9KjP0xf3JTufkqb748ww8IzVGPOpojsSxAN\r\n0hbj13qJzu2q3xexhU0oU1mSMgyGN3qEm9inZ1MeLuSSKQBJrlpHuVxH7M/R\r\nslGrV2Nw8FJCVUQwbhoy+tIbn/JXvJkhvcjbtbATmp7wjDYZ/6i6ThkLlgwS\r\n5dLgWqo1AsUG8h5Tg5vsBbKrV6503Pwcdyo=\r\n=u5m7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.25.1_1657370005809_0.377442023492758"},"_hasShrinkwrap":false},"1.25.2":{"name":"npm-registry-firewall","version":"1.25.2","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"28d55775a349fe797c9a5c209d483e931a62674d","_id":"npm-registry-firewall@1.25.2","_nodeVersion":"18.5.0","_npmVersion":"8.12.1","dist":{"integrity":"sha512-X6DHKUEhzbeavIaUrAJGu8OZX5lr7O23ePMBsTtakJAy4E1wsbYzVaUcpozgx1j7KMOXgenrJ0Tw8ifx+8ptvA==","shasum":"3bf067aa33be43e51cb2fa55a5345f465be0236f","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.25.2.tgz","fileCount":34,"unpackedSize":55978,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICUHsrICrz/JY0bYdG2cxaMd86QbtjyhPnkuhEl/lcupAiEAnGvzHUXx7lIliGIO1VlH3lGtIDCFViCbKAcHFur3HU8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiy3DNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmru/Q/+KleUW20CCbump2+7irTpmei7JgCtLU7vyS/N9hMGBYGzdSsF\r\nh14oFKY7C3qdci4MGATIHmhzqE6hIx52FPjGNcDb5oGEQEpqZhoWekVtcT7W\r\nF81vkrWoO3fGBR21gv8zs6lajJkMxIv6TCd6K7WgVVgEYkGgZTRp5qHhLMyM\r\n1mDsBOxv4S8q/h5QrUpv6t/jzEngNddtGBFdKD4pdvhefQEC10F6pxA8uxQ3\r\n2UXFBmIPmC9dsdfxZSXtvgCxLU4IY6E4BYRYz3zE30EJtfAPjGE64y2wNWvR\r\nuHc5MloCUkalXMIQP96sJTMsjohxHvWpCrmFuU9bE7ax8H9oqRU/cUh+XnYl\r\nEIHaDrxr32Jku0+ZLW/KmJUYBu9Es3+k0U09goHZL7Zp5LdKS7fD3go+qmLj\r\niHv/Tk6hXFa7secHHDgyojlvNVT6PJ/vpppkvt5lmVA9FawkmQhNv4wTLUVH\r\nFGyGTEUMvsjqz1T3h3OomxKJCOza/M7A3wY/v4S+D+ow4Kqv1VXbjiKuCgHU\r\n6MPf6ZUvG6Mai8EtdFINgq0ad7QSsHPuNbc5tVeYJzC7pZ7CESsvEEVhp6Qs\r\nD/SD6LXFfUot8EkcH2k83ckFWtjS+UWieTOxAXYuu3HLa+CW7EJAALyCgto8\r\nBhSCMFmC0VqRK7xjHFzqC5N3ThtfvQuCWmA=\r\n=PHVg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.25.2_1657499853562_0.880774667931999"},"_hasShrinkwrap":false},"1.25.3":{"name":"npm-registry-firewall","version":"1.25.3","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"d11fab31c0deaa646b3b03ee29625179b0ee429e","_id":"npm-registry-firewall@1.25.3","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-acihgPzr6gGcvurvay/cjg9A+VqAhkBulCBMHufhU9g7XDTUJasiyqaQWGDX+ub3MixwQW87BVQKUyC/0dS7Gg==","shasum":"7f4aa70f3c66c558ef795588291b61325dbb2b7e","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.25.3.tgz","fileCount":34,"unpackedSize":55984,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDW+sZK+k1ni9CL/+K3M9kHPh11UG4ttymNaITySsf7IgIgTz6vQ7jpNjIFOp+cIG7jPiMSyKiIK9Ck4D81pFHXyrk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7E5FACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq/MA/+MY+LAOJ2fG42n1QRu2IHQezbQJ9ARGDfMaDYSL6PyzNQ7AY7\r\n+dOGOFH+UgftVDb6qw22bHiIPV0i4S0aDLmNXCReNv78Ll67h9xlBN+qoXzt\r\nQ9WTUjAn75tFeWnBK1wH+n9E23FcGl7EEuSu1vH6N14B+g5F3JT44CUmtcIQ\r\n+rkg97KYYKcTppC58++RVhvqfU0eM27u54O541zu8zV2wxrCu87g4IX2JhMj\r\ndqS1Hpc9/xKJRvhg81ZdveKdMDJEFw1AM/v/Y0zYXwMMtAx0fNUx1W4+ospI\r\npOvY67n8m23hr+2GDDHeNwd4eZzUG9qWXKCX3NEg/Lggw932UYymUsPgDy8Z\r\nYV4Q3nqmje1Omlm728QPKpaKe/26uuMCSgJIjkH7g2hz8DZXUP0ABtq1wFSF\r\nGU5y79uXq0Rl7rYxHwqzeHolcNuV9GDDCj6jZyKdxj3yx/BfElLHPndZJPzw\r\nnhdPkQ77XPSPjPsTURnTTPbQnc3ZPj/wa0h8R52qSeh2yLiT8RrmWmRDpm9a\r\n1iYCaTXrl2Rt10m/NRluTQ6QEW65zydPHHTzCyybtcyvnuW2EZifwNYJBvQC\r\nc8451jNnkuOJENNk+oigE7Nw62x0eJULPokBzn4SBfaELjQSOmSdxKemaGk5\r\n1vv0ysDv6Ut+ebP5ZNnNpP7GyS7lVzuonYk=\r\n=AuyS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.25.3_1659653701042_0.9279709820793367"},"_hasShrinkwrap":false},"1.25.4":{"name":"npm-registry-firewall","version":"1.25.4","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"461333a082ee776bc49d553007a4d1bed4518a1b","_id":"npm-registry-firewall@1.25.4","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-eNaHhSzViS7DTEiUAqQ1iTBis2S+3rmuePbh7/O2RLTpW0JXlVI0AUIHP9mwE7tcZPP7faWLUl7/OsitdRG7yw==","shasum":"391e568d076f382e90506ad034a470771f15d167","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.25.4.tgz","fileCount":34,"unpackedSize":55976,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnkpxwnnzzAzB85XG4KQXTCO2HX6qZ6b/IDez5YdUrTAIhAMgsaU9g7udadTZG6rjmqy9aD3y4CDj/fzNBPO10fcko"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7FVtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrAFQ//e93fIUZBaEZkGNJnv30jEUt0mdnAd7KfmRDkp9D+D3OAGJvQ\r\nBBqm5VHYlOK8xMemOvNdRz82ErQoxq5HKjAeyn+evo6R9hiQRQyxs0q8+7SG\r\nLxmP8/uhn5MNrywgK1R+Hirn6FkV4aAtHSi1bDjv20fMWKkZkVxw2exFaQOj\r\nskn69KNBuZ8ZNrTkZVyOft+ON/Oh+CgArAfSBUNGn49bcwsyepKBx7GTSEmj\r\nJwp2gWwqjSd1CyQSXXl4oupKvhvwsqJyrJgmeEBfcnC01C2qOnQAYvvfZ0gt\r\nJBvSOth+ChdPjYo+UyD2MW5RQd7pcBqI/ihANoEEQtSl/bH0rcm99zomAsV8\r\nuL3FN/S8y2RGU70jhisNqsDiV7cQ/FDqMzw2yEO8d4IwE/GsihOi9c+q1ADy\r\nYtB7nX/vewQZg4PZTmUvbe8YDoRe7Vsn3pt6JwqDD10JccJICe107n7+OLzc\r\n9AT5WrsE+PhNPYpBYZYyHhTRQmlStZlIj9XZ8BdS0JQB4Gkxe51GOr4trcp7\r\n9ELjXOIozl6uBq5GDfDWTPbayuez5o3JsYzMdnillUnBfEs9gyhE0mbFJkaM\r\n1D9+QJ/7REF+Jv7FuIqiInNvtuCdZiP9yxY4sJwaWSkMp5OlDTawCTws7JKK\r\nNVBXo7fIC8MMUuZ6XlSqQmXQboqDN5kh0Ko=\r\n=WpvB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.25.4_1659655533031_0.16891512245772278"},"_hasShrinkwrap":false},"1.26.0":{"name":"npm-registry-firewall","version":"1.26.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"3a680cd389d6be9cb208bbe2d306c75c016416c6","_id":"npm-registry-firewall@1.26.0","_nodeVersion":"18.9.1","_npmVersion":"8.19.1","dist":{"integrity":"sha512-VrXp1J8cZInJ5lzOeSS9UuG/0flvBJTXTF081D15N6vr/e7C4TEd9gvf9fDBP5YiHCEnWd62QGon+zAY1VJpig==","shasum":"3586c8e98510fbcfe91a3745010e6b21def03ecf","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.26.0.tgz","fileCount":35,"unpackedSize":57416,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDeyn6ZNGVe+YNLfYn/OuNSxupbdTO4X9FSMnSECqub8QIhAIiOTq564C6ugokdYTfjw+V7zUCgfZDPrb7sIxnj8Fpq"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNCFzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmonIQ/+KlXSxi8kXG87PRWcPOQWtzbu65AQlXkHVlWFD/6952SAfImN\r\nYlsVpcy+vfpcilvWxanf3NJ5z7jJLAa5Ir53qHqJlWPxbdc7yCRODu4vFI1A\r\n80k32FsKK02aXBuhjc3Lp6NyyBisS/UmaXc2eMy3DTzIz0E+UOE+xmqSlEMw\r\nSdZhzmdnoUeZosEnM0pf5TMzlYG6Vgr/Y4d15Vb6ngsDS/VlqlcLkKk5ppL7\r\nz3q5cWcw1u6WnnIbPHuG7NFREh+vPKUKzNnecO4076mFXyT2QPwZiIofKYeK\r\nncdN6dvgEqJ3w43yfgR0wG5cRqZXCNSytRDUdbEWGZm6+ivIENKyEybUG6cX\r\ntgOq5+Tv6d6NreicfVfIR3KJJwo7Rk0cgdGSRPtIuwSLGlOkk5YKS0GchlGM\r\n05dk3Go5uGsMujlsrr0OL8RgEeIoTSFCgCNHze15/lYQlhuf+InovPQrt3M/\r\nIm9uBd7cHxU28ZOrKbYJOBYiGMw0Pn/VsmT03b5pEfM41im+Cga+Cw/ip2Xz\r\n/+7Mi9YfXUsc80NAceS6SJVSAE5cJ25y44a7suXwQCJciLIRROPq1JeGqRcC\r\n7z7r9VC9Rv+1+Ea06tWMXeu5ROIHakOqCwy9FvwnvixcTomcG7RPSlXQvaTL\r\namjM5kAWEfARXfn3NN2+toCM2loi6f/F/PU=\r\n=H4Ye\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.26.0_1664360819665_0.15706313396894034"},"_hasShrinkwrap":false},"1.26.1":{"name":"npm-registry-firewall","version":"1.26.1","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"ff87e358d65e07166ab501b7de6f255709a63071","_id":"npm-registry-firewall@1.26.1","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-FzW3u1kuaXFg14wSWQ5Sr+n8BQFGqCxLoxrPXofapV1RuXBIGX4grd9xJGsJvuktHrobG2a0X1BLNx9vtzx2YA==","shasum":"21a6276fd9efa7777b9ac4eca4c44e33fa60888c","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.26.1.tgz","fileCount":35,"unpackedSize":57421,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC7EGYw/1GMGdhvveM2YDcUpTqjGrrZ8B60u+hB+rc9DgIgWB4Kj20TWZQBamGO4X5eJKCUhGHmGz657C3WXbE3xs0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNwoGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo5mg//cuNvDFUHtiCHSw69dSBf46wm8q+oG5JKtKsWVQWmgu1hygj1\r\nI8xgiERxT7KL32fjsC56PhXB2lix6N2shVpUooJudhym88ZYzsthdvHeWQ/p\r\nUW3cewRaOdAkfFJ/uXpq2n5w+hQ6PA4JM4uKD0HZBn4ayJi8ogR2FT80hcf8\r\nhxzh9XyzGAx/N9EgRwiCpq1kafLgxWLh4mFBga2RzNWMXqgjnVe5gWuJDC5R\r\neaWcXSWaJvDuHZaYpPV6jzQmeCbKwuRc55hF1qgySJP3wjm/cV4t3e0RCOWK\r\ndXbjH96AzmfcMYsjWldnA7l2Kf01l5X7gea/2E4vi00KpbGHJnwW2LMKhVr0\r\nuafPh9xujFs5e4s+iPm7LBsgRqVJvkp6EnYy6e45KxNYqBHHs+o8lCxstnmH\r\nqpbTK+Z/yqv82slxgbUcdZ/3P/Oq99h0zfXy1zXRvIJx+1zaSmg0SyTcpt2g\r\nI3gwhXIUUU3xPnleEP59XjOa5CVwoWngHxfHOnQgbrUNfPNYiaGY7S3X7w+F\r\nbFVwQy7Nd4RwID4Olvg+DvA81WT1GZ8NbGcPO6LHmGKSLH3vTYJ5/sts+wDh\r\nA8a9D9v8J4XUuBEldCpaA8US+m0UrOLpC/DpBh9pWQ7dcl0IuYUJlyveicex\r\ntPtWNSvmmFKOy6fzjJL+FYP+OzYN2tTd6dg=\r\n=I3Qc\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.26.1_1664551430028_0.37283984553220995"},"_hasShrinkwrap":false},"1.27.0":{"name":"npm-registry-firewall","version":"1.27.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"5c1afdb385dee91f98549762ab4e1983054113d5","_id":"npm-registry-firewall@1.27.0","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-YPyOasnjOURI+9HfzKXil511qoAUBSE5ANYHunI8YogAS3VhOfGVYMsjzrIRXBkcvlnF/1oOvzrK7jE9l0Ea5w==","shasum":"30e6c96abfa73c484aa092b18a4bdad8430a72af","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.27.0.tgz","fileCount":35,"unpackedSize":58810,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfB7TmsHTuWUwRZdSCjobz2et76WOvfTAUBvbpQi8TgAIhAMs4MticOplyLzQ4QEACCQ2xjdeaefP13OmvsDH9CX6D"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjOJNjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrcRxAAkZCbIgqk8Q7cJDNdy5xOr4I9lOpJ57xfs07CK2Fy2X61qAuU\r\nqFAERnO8zf68rkVsHDqykKEhYPj4WvnTBI8+8+LA/2NjgPB9N+k1Uyby08UW\r\neCpRorHKdkOtX5a2rqSYMpK7qVDfQmJCzPuJjPaoEaanRIcVWQ6y7LfPUmTI\r\ndTPINpGZIrraY3ocFbcnrRL4BBsgt9nxbWaNCdUG+NCGRnFjdtJLEL35q3bA\r\n1jBRFHZzYSRJhqlqYJKjw1bw+JcADtRx3/Le5jcaE4AzJTpbcX3mo3NKyysS\r\nnMBz/RahXCWnasqTm9iHMRkMV2UG90xyslkaMGZ0KjsQ/LncR925/GMepows\r\n6DM1wgUW92KrJheXr6z7b0Mi6F0JcUKA9gegBu7hRoOQtANqDarP36owDuaA\r\n/zGvXO7EE/rtKVKGlHV3vAaRkKQtb/v/aYepJbZABqESuhTxB2nZXZqzasrL\r\nn3tTH4iqyh3YR9LFZWRlC9YgeAe2O2jl0HzYBjdWOvywX9E0r/A3vVpXyW3f\r\nW9udPoI1qPhRG5JLw2/8LpmaJrh64CKW+dv+i5JNpjKcvkF5JEn2jtXNyod8\r\nx53z1Q9xfjlrCTOG8+T4I9H/Owh92pfrHL1pgThH15LMriG1eltcvt1RkUWb\r\nvGgAKfBzlP5UF7q8OHtyChPcq2lUjl0SuP0=\r\n=UYDq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.27.0_1664652130844_0.8258308011665485"},"_hasShrinkwrap":false},"1.28.0":{"name":"npm-registry-firewall","version":"1.28.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"9cbcd6181d2e60669024e175cde4225f9cae18b5","_id":"npm-registry-firewall@1.28.0","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-eRCxNDBXJMBmaj7k/CurQUNU02UtDReFud9FSbOncxESu8NPouepBLrVInqMPm9/ICP7yJBjwZCtxD7/pFX6vA==","shasum":"67280b50a71cc7071bfc3bfef354a228fc9b1994","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.28.0.tgz","fileCount":35,"unpackedSize":59642,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF4PO4hav9xvnB38QlubGbChUl7n+ZLwCQkfZmIU+7CMAiAo8wQizhunYb+IROm9N4qe8dwuzMxBXJXA3p+PtGUpXQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjOWrvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpwEA//d6vYrHcvPWGT2AF10Bn6yi2o752xyZn6FMlM69yJFDMH2klq\r\nQFIVXbH73Fllg/ksqxXNoO3qYQ3fbAKMxf8UjoeW+rXWgZyYjszfW8z8W2z2\r\n+L3WQb1QEvgSG0I1COZlzvIvwGA7Aak+tHIZxZ/CRULce3/z9U+6uCGX+Hpp\r\nMeawIx0CXyKAimnSJmWvHq7z4kScQBI6yhSVX2w2gWtxTbkt9r/CF49PI6ZP\r\nTc+DBXq/D6Pco+mriINNbyjN7bKrq+bifcrKbWr+LpVN2rH4etKi3Tk2HAxE\r\nCGM/LobQE1dSZ3kP0ZqAfD6wABEKXZOw8SdfqtDMcbs1uLomJoKlSWUjBVlM\r\nLS+sOU/osye1QhGZX3+iq0oOfC8nbp1rnPCR/tAAWk+ng9opQAByACYkc11Q\r\nADXIi+pwIW7SLcbdBl0vZ2m/QG2kHVZzJEKIoAlby6+b7/HtxmDwUT+E8tOJ\r\nCV9vyebnRaaIq/daoT13AIcpTmhpbugYPScjUM2hyb4nnYz1QXZJoLIeDao1\r\noIa7VYUuUJWF/Mhzh/uoUQEwdlQ9AkBYxbWm0jpY4WNcuUEPsK0MfS2mr4IR\r\nU1iM0ZvCaskZAsiek77APIbjm7BGCaicaKM8V5Sa/5Qgp3QHZ5Dzg36OsW19\r\n9tXizuPkJDNIsH6bW41/YSTafg/anKqA+ls=\r\n=RHjX\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.28.0_1664707310861_0.8473627876504792"},"_hasShrinkwrap":false},"1.29.0":{"name":"npm-registry-firewall","version":"1.29.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"81004d72b0c1d08e237138b46db54240de245395","_id":"npm-registry-firewall@1.29.0","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-vn5MKZSYgGunNU4AgNm3uzeUDOZ2pe7pVNxc9cd4mRIb74DFGsgJpya2KcKHnVgQnEYJcvY5BN8KXZYtA6t/YA==","shasum":"77f60211281e15ebb69afc58fb068a820c3821f5","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.29.0.tgz","fileCount":35,"unpackedSize":59669,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCi6I7U+3tBSGeA5bouyQkrI/2bh1XQnC3Iq3Tr0Ok/CAIgNSLWQ3W+/4HwkZCA7/Uci25T8FHNm5ehhv02NTKlHLc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjOYKNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoQPhAAlGS0HHMuvpvaWd/V7NWxgBgZU/nCmgxE9kjC7rb5S/iv+Md7\r\nSYY2RuqVR56hOu8VPP/D29JXnU/j5C/qYsDb7RHazFmhnEzwB4rHkm1KJG0Y\r\nvrR/XoBcxEjEv/HXfhoxG8QkE3DsIPOi8+Ffhl/NyOFD9SLfUpJooZl2gOgb\r\nZvoihhhLyl+vaXlxCzL6dJt8D+OCG/6fSw4FBvmfNUxZ1aVN/l6zqPI2k8/I\r\nB+0+e6gZ0ZZxSoK6fMwzgVZaViVuULKZUdCkB5dpgHUMPiqCMxJwrgjwL/GG\r\nNUBG1DZhDfG/vMzXLRuI1/jN18HkgyhmKEOkXa8St3KbF+DrGnfLABIlaSHV\r\nyM0ltLZ3QSHFLoNhs47MBYoMPMO7qfi6USTisQVu96mAizXBuqsJ/sgl1ZYU\r\neRsz2X8VFgFegmSH1sxeAy1EUNAuWBpV9cuK75GMRewgisQ9BhgtkbvUrn8C\r\ngEDvOSynwZmWE232MzJfzzMW36nVw7LX+PvueoucFmZAu7kLm5J5xEO4fXck\r\npXBJvJQPQWYJmh1N16GCxUUGh2HRU3vKmbETpAtJkVWPWZVbHEy3KF68P78z\r\nUpNOgAjIouku4izLD9LwTUrCzmBJMriBT6D1JVVEp9BLNE7r5p1KK/EUL0Pg\r\noGcZZZnEyh42wlsCrJIApY6EBQWIicbYEr8=\r\n=JeIW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.29.0_1664713357157_0.21327442599342272"},"_hasShrinkwrap":false},"1.29.1":{"name":"npm-registry-firewall","version":"1.29.1","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"f35c2f85666b894fb0de245db68dde0f7aad8b89","_id":"npm-registry-firewall@1.29.1","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-1Dsx4CdJJkzpvVzo1JIpSnzX/6xCs6bv/cSEJKD9AeOx3C6cjXI8c+VrKIs42U/bTX2YRBp+iyRJfk5YtwA3AQ==","shasum":"ad09c1a0d053c4b499e2cf4de8d1102453847b85","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.29.1.tgz","fileCount":35,"unpackedSize":59693,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHgAOxpYclLLyfj6h2+JYvHcdfyI0PM4bwWs2CdFKH5aAiEA25t0WjdcSfLKPFgPNqjwSmZT5hPiOo0OrxyGZtj5NOY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPChnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrzLg/+NUJVH7Tf5J3esNScrqJJbLI8BPkVPxAMF6wrCQ0BMIYoVAEt\r\ngGeQn2rwX143o/1gIsM6Gdq49kr+Nf40pdttiuOcvGH3axX5/ktqSrJI0S0I\r\noxWHs9shCboIDgH0sZaMYIVl7IS52ezcJ/TBPKzK2VXiuQlXP3tIRI0ovx8m\r\nlkljhWuWBFXh+1uDvWICwnCEpUUYP2k3B7fOFRGm7gxlVzPISv6qYEv7OFP5\r\nuEFubiFRx8jnYPHg1eFYLkCkxGwck/Sf/A5wtx+tvAFQLcnysNLXZ/CmeCKt\r\nSe6be2LpzG8WcEC0m8elZ2ryQX6iAwIE48n5Zj6LjLARO41vA8OIiraNvfmG\r\nAfdWFP+HoA6ldeTm4dqCVdx+WLQGQVrUJyy8ERjSj+j+u22Kf8aH2m6Rdd7z\r\nzzIQ8tI8FmMIIwI+5ZhXrfPmu9xGi1FnPoJncG22gjCG/SLZkdUHlY5xYAr+\r\nWTFklitWSffuVVTOz9rWEZgU9wiDsnfurDDPxTL9KHtam/o33AOeARcuWE6k\r\noV10Lxj6Rc27GpFAAacGGj0CGHD8C0wJ5wh0tT8rAXJQuk6Q1c6fEhaXDzax\r\nSzJawNwI/h2SqBwvdhXn5Wc6Q+i/yCba3dhym9Yx5p9FKUavP68Q5Fc66SBO\r\nhnFw9VJJZy4x/MMOIhtHd/+YkAsiIjd/5Z4=\r\n=GJ7I\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.29.1_1664886887215_0.6772390518171232"},"_hasShrinkwrap":false},"1.30.0":{"name":"npm-registry-firewall","version":"1.30.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"30d2467f94ab1daebed05a961fa218f5ec18e417","_id":"npm-registry-firewall@1.30.0","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-YUbLUZIFcUIvSA5sv8kMP9yq3PFZiGhc/L3qT6nb0dLQI64CfadXIC5E9SzEqv+X4lJy9kcyBrueM3gZ6JYMog==","shasum":"baa8a72353cd1f127c943c0a239d2b46c34fd34e","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.30.0.tgz","fileCount":35,"unpackedSize":60542,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDb48k3lTqef6O/fFjGAEmGQsd4kioMBwzCotH+P9493AIhAOu6gFtRom2iOOHBFV0dMqFzeys/GruiOo5HaaCnhN2F"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPDk5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpOUw/9EtWvdXg71FJST+D5dLmT/sZQ4MO61Chca+6PgydRgLfLs/Fe\r\nsa3K8HYposEbLiHfthOAZ87iDNNbWuxa5E6BHOULNRdgKyJshV+yQyz1+pHA\r\nszhg3Qzf4qO/aaBaKUws5VbAWuqY7FUUGkmaSkXQbioSAoslbZUnt0OKJdLh\r\nQ5Jel10RHLGVrxp1TLxkd0CUaACfsPTty+yNutaPYMf75SsBVZwQUbCrwsEs\r\n5/R1gr3pOPBHqk0k0SEKC7tzXiWYs+v1SyAOTLicK0UQSTuRsSYo2KL5vkzo\r\nbW9jeil7XMEsS4Qve+L3yHJJFaen7AfjBMlKnSDotxSGcNEz76vDfqacDmFD\r\na8fnP9nqOpGhNloJ2kkSSDzxw4/+CKy2cN2jHyEenfv7ZBXsAY0YC/9t+zh9\r\nWaqnu5jGya5zZkFCGAV9FfSfjJDrK6R0gqcI8+YF3VSb95hi26LfTZ/uJWu0\r\nzPbB4VB6BzJhuxCaIxjYWJnWsJPyw9kd2rJenX0eQra4+6wJiT94L0x0wSUg\r\nxQLNB+Zfg83I3Zw56cVInPrA7lHnORS2DVhiyDQA70kMrMJojqxcPdfz9cuo\r\nwhCemIIlItmGMfmcx9l5+KxfFzGE1dsvSoGRYH4m8M7CmUIOsshxhQ5o45mU\r\n74nC0/bPPN1V+iyE24WeV9Q/eilULfbgcIE=\r\n=2lFP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.30.0_1664891193333_0.435747305749717"},"_hasShrinkwrap":false},"1.30.1":{"name":"npm-registry-firewall","version":"1.30.1","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"c53f39b30b44333baf24c548fa0834f5e455e166","_id":"npm-registry-firewall@1.30.1","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-ytf+0LCYa6QI2JsOHf973zjOeacVsZ3x0/FmuEac/feL7tftdwy0ALVvnsIKuprZOLZu8OzJBPTYHJc/SLgIEg==","shasum":"64cfbdaae84556db14fca03b3571781b7d847a04","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.30.1.tgz","fileCount":35,"unpackedSize":60597,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE3V7cDTeimJUAazedpJ8bpXiEHbrYOe+DHrsC7Q6EiHAiAYF/pZX5A2re/imjL51XkkOfqqCzwvvZYk1tb9ZfTF+Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPFLAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrZGw/+NJX6dwZPJFnMXQoUCVnROq0ZBOYj178l448AMFqSqKm3i8nr\r\nfH6/8YRj7SUJ3ui/GJ/UyxhMqbUB9agVdWnDw76wHcG/PN6dYQSEgN8UFUiR\r\nanRVRigh8Kz76cZrvR11h0jEEZQsDsziQ4cfIuktSHf12rAlCu6EhSwVmHCt\r\nN8OqLkf46hcLhaDOY15zx7a9KaPYPPpJ17xuzH/88yD5UciXbxqcaPubgqmc\r\nQby0vgJR+1F42XkIL9f9tHr0ppVBx0eQAB7m6oFTtpkuq+DQS8ClDiUWealY\r\nJpAEym9pmKao4FhUnDOVVZ8yI28xP6ODk1yhejP3MUR+GjK92KHyzVhD7tHU\r\nfLDoe0cNCwbWnW6+D6WliVUNp/K+fQY3YPIYtvYFT6N/5QyWWrz07YykeJWZ\r\nKw00bUsIHIJTEaC+W59APXKS7LsQ9dnoPu+RL6uHcDOPudOF3FSalrFDmb8E\r\nq7eBIzhDOj51euX5txd2KtoyQHIxLmTKbtkeRcg+0Ju1aajfm5ERjpf7riBR\r\nTV8wQCIL23PEI2ddaAMqIXevQ6KF9X+9gU3gLwBWkYK2nKLap5hGiQI1bhDD\r\nJFVMSf05YNHByHopmlnK23xR1Q6qIbHwq2PoqNBUlShAQCIFS0uraQCjSq1f\r\nJw1eTrzL94LmZZdecc9zanCDFDvpnu9kbWI=\r\n=qK8C\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.30.1_1664897728372_0.4151270463749419"},"_hasShrinkwrap":false},"1.30.2":{"name":"npm-registry-firewall","version":"1.30.2","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"e8b67ccc05edee2fee1da1bcbc25df4e41f818e8","_id":"npm-registry-firewall@1.30.2","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-CR44SEnvEAzbyzpp/o25LhWIOkhQa6UypLXO4ArJ+R3ihpxgj6w30a6dnc7WeckGxRpYP/D1vNmO7FfWXJuIFQ==","shasum":"261037d7a100c54516a307b8c20469fed5c21076","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.30.2.tgz","fileCount":35,"unpackedSize":60597,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGrUXWdZxUGZAgH0DycNRrEHr3UMOqh0ft31QNFtzvjSAiBePTrzWKrGaVA/zo0A9fM/gRwEb/wbDYB58yEHR5sk1g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPRtqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqUwQ//Uv16g5Ll88CkG9sDyVJ8CO/40tuNoVAN3vT9No9pWov0Fry5\r\n73F+GpffOXWSVTbPE+6ek71MC4LbBfVzLBEyAKiYfg+e1hS2g8+ZQBxwV5/L\r\nmKUda0AghVDHacxkp+k6sy3+uvlWWVNcyeILbGy00tZyVXgCXyovR1cVlvwO\r\nwCfpN8Gx03r+7vE3PzU3bGcxK//1lybHaQtrt0TqfJ6Iqp5s9KrYJpY2eG+4\r\nvmbGfcD5Zxexmgu02Oswi2kHDrTqzeZKiv8BZ9hCNfvAfGcBLxpsIpe+9LTO\r\n3HjjhdU36TqRG0BtHXotDzI4mSEVo15zWGAPl6hXafoYotbd1Gu5Qrfor/Z3\r\nfqbiVK8JauJkznQWJYbZN3v6BXQkYm7RBNrd23xPYYkQ8QZsh1tepWzCmFTv\r\nInrSt8h7q5YgMP7wy0Jd9R8AlzJrBC68V4bW7qfQSxwoDLXFg0NPqEPwFBEY\r\nWb22bR+d36aKabinhVWbuEfWVQhV1swwSamvTy+/dn6ncPIpI8C4Af2kTnEo\r\nM4khpSnciAWcZI2tG6Uf7g4OsWeB5vH6iWLY2CHHzLZsOuZonb6L6vxXZXNG\r\nSGalRS9y0g8iIiW52eUnT3LqBOU5aLn7JUxj+ROjmzsMxVL1zJ+Ie6PXevwl\r\nWksTRIzdEVqXtmJyY7grbaD+u+XipcGqzPI=\r\n=zPUv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.30.2_1664949098121_0.6465160006261719"},"_hasShrinkwrap":false},"1.30.3":{"name":"npm-registry-firewall","version":"1.30.3","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"fdbea21912df8e9650a08eea32bee22a67b738f7","_id":"npm-registry-firewall@1.30.3","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-gLSemNqh3WEpW6asHyuItRMSxnB5M2I+eDOy/LGA6OYVcEoC6RmX4+szPe2Cr9LAaKKDsxIp3Gen0K4dh3XHUw==","shasum":"17d480ee1f80e19c95751dda2a5992fda33ab661","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.30.3.tgz","fileCount":35,"unpackedSize":60689,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAwiZZcTJ0X0ekQqyI+yO1XsN53TNIF9iezzkLBmY+KRAiBDot76XYeJoAJezjiptvKALuZRLrC+ja5rhk04RinMyw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPuGjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpC5Q/6A8/BIiKbgl/nSmxk43XHtP3bGu43MGV4bp5aEkqYW3PzSzmB\r\nlrP6Rf7p6/fDfvi5yVkbQE/oVKLJ+dKGKzh0k0MpU4kcWVDMAWr6UkWRkjPX\r\n7oVYCAk5j/ef+b8Wy48DzWfFC19WUhqEQXtDooHrPbq2eBCFytm8QtL89wzf\r\ni+ULuawr2BqPtc+wft6gvUCnhgXQHBq/cRcx6TLZHBTBpnBIOjgQLioPD75z\r\nDEI2F9iUD69TtfI1XGel2Zb0NeMMUiY13+XAgC4JK42WzRQqaSrsZ4IsBCGS\r\njmEKtazKwq6WEcETYvd0cgN0G6x0JYWVLfNzPMHx+g8XcipRpBF/JJ28abYl\r\nxOGoOxMxC+8TqxkTBOjDpcdkuwGu7eI3H2hO+McKpCyl+dWqMpgWUFPipfCU\r\nuhNq+1m4rj/io0/fc94iDBoCfFaHEAxBzijaCoNvjIVzxllO4aSU1kkDhKr6\r\nDwbpY4tVNazhc6+Va4hJLwVwwuZjAvH6ZKABw6rFTXkSIupR2lnGK70s14/5\r\n3Y13LxBxjdZO/RBf9z7XXqubAECz0FnBVBzpkT5i3FPP087WYszLqLYm9mdQ\r\n7wiNQkFXB7g6S67gd8771fg6HV5ocmgkkK4MTjl7QbQLX6SYp5raSmh1ftaN\r\nhCIf7XFt4uLtF4909lj2O838ivUkgTj0TTI=\r\n=CB5K\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.30.3_1665065379536_0.8631244852915145"},"_hasShrinkwrap":false},"1.30.4":{"name":"npm-registry-firewall","version":"1.30.4","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"e16be6a7b12ad8a7faa1cac2653a81e13e43c5c7","_id":"npm-registry-firewall@1.30.4","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-uK2hLcm2d7xbxBuDJ4BjgK0vrsqCPGGS405i0Vc0Ycvwxe06dG2hXVvL65zSl31OoN3/+WH67ALoN6jcF2D7yA==","shasum":"54a082b30db36ca5abdbcc89938807a5460050b6","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.30.4.tgz","fileCount":36,"unpackedSize":61470,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFssnjOypkNj1Age/s4Rtfx7hpn721Q4oZBexhxSTkTGAiEAhRpbBGHL1XPbkhudIkaW9z9718XjRflsKcLPCftBqA8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQG5VACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpWDRAAiPidNOP/8utbV76BWUQEdbNsZMbGgS0+b2D9gOQJg+nWia7y\r\nxVHdYWjdtiT1QhiC6i144saNxG5Ye947lcEy0qD/Gjs1Lrzm2yMgzCqXFKAF\r\nnnRELhZPt0Be5rnIpIhGtg3Y2kZFUND82JFBvyizO7hu3mknkwo7FxqzVuEU\r\nEyarTZcr+iTZFFytz+WqGuilM62NYzVEFYHX3x/1O6ZotjvwbxFYu442vEUa\r\ng4N9/j1v93eTkZvf4GN/euCavh/2aWGh93t1Zx0t/o8S1DcxTZAqHQowmxNO\r\nkBKTXwKh1k/7W6Q+jpV+7SCdiz2zmG7xp+gDdtpePX1AJpQiycDbkJDxIH84\r\nGarEgswJxPrjZRtPHt/dADpkbiJrMKqgwOg6IX55wgYD51XPj5qJSHsg9r6T\r\n8WmeA1piV9rgPVq040mxwUejGKClcDeivOmizRp3B73WSDKnc31xcVS/3sG6\r\nVe0QUClKHSNf7SHCTC21+YC6KnR/u2SHddOhLRfzVYiKmgy7uKYSTCgr4hrJ\r\n9MI3TWCxefk+eBcHtlEJMbGI8ZPCvSdaSgsujGI4vHplS+eJ9z1QyIIdV8ed\r\n5/Ckb1hpKT3YLM+u2UelCORfgmjWU97l45J08en8SpE42Ep9VjL34T/OzJj3\r\nBPN7ZadaS3wgl0HqtQPnB63m7FvfsK8Doww=\r\n=/lKQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.30.4_1665166933292_0.4831708281323108"},"_hasShrinkwrap":false},"1.30.5":{"name":"npm-registry-firewall","version":"1.30.5","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"645471bbbad302f1698fa826b08a60f1db949265","_id":"npm-registry-firewall@1.30.5","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-mvdQ3rY5dX1XUQrwWygKJ46OGMyjk/C8HX4wFd6NTeVJo73+pgonh/L2aW0YnFs/lQR96nNOGPNGEEnGlmZWxw==","shasum":"8e3f41fb89dd8176e67314538f7013231e5251e0","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.30.5.tgz","fileCount":36,"unpackedSize":61560,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6SQAXdxeho9dhDNdn7nNK+3fiGdP9OBFp/lzOxBIttwIgTqaBseHQhH7AQIPgX+9t+rSlLI2j8FvpfuIF74r2zn0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjW4zVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/Tw/9FGaMmV1TevYEZVsjPe7eTN8SN/DNAQAu5gV7gneYcqLjozbE\r\n1Je2QoIsg+fwcqwxx0IkdVA+k/yTAAfmpSqhPVsCidoqYgn+76Eox5nY1A/R\r\nno9bKpQghU/x9bSkjJ1Pj0MMCSZXQdb0etTRHlpD0NOcBaziM6hj6iCAwt8z\r\nSs/35izS3sZ51m8MUurepZMl/oaujYEVLPRga4HqjfnCaJ7uWdv8/GsQjAPb\r\nOaYBjCGaxri4aSqhsqQi8CpFUIP3/2pRYYL0SpqHXEuLejouatFewcfA9SXK\r\nXrzRb1ovC8gJVX9Up8fL+/Db87tlklVHBHbmAnIY1auMdvvOAetvXeW/p4Kb\r\nexI1HC8Y3FCemJqjZ4URP4ARv+FNnfxSmfV3IZBvIX2unpSqjDUfmqhBQkmz\r\nYKQ2zbnbRRY3g7rEmnUL+rlcG80iv+SXLP5Im51er8oGENewCAlm4S3JF6GK\r\n9Kcv9EN4ZtQgQD8WWPI5gPyAVC+Rp3W2pGf5KqR9TLnUe3YT+A0HJykQ4Utl\r\nYZ1itEQKHZS/xHOKnIlx1n4E0tjhpfifzwdR93paeZaEwF6USo7Ms++HbgyK\r\nVLe4+Q/WWW2uVx5P6jEWeGJAmcKiACyD/EJ+2IvoNIQi0v7rM1AUfjooxdrm\r\nb6Ba+rydDbz5Mn8Pn5i6EGZuFnNMEOzWbHg=\r\n=ldQY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.30.5_1666944213334_0.5446225774112237"},"_hasShrinkwrap":false},"1.30.6":{"name":"npm-registry-firewall","version":"1.30.6","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"81272545c0255a858d11dbbb7b28d37777a41482","_id":"npm-registry-firewall@1.30.6","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-FHhXpfgJRiZQXOTLvIJUOExoYk8ID76jr16CKCy4NcvVPuqFQZ587TwlP65HoWa3/06LJGuRuz3C7nn3rRjpiA==","shasum":"e40bd8eb710f311b14d301995c6d38ca5ccce37e","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.30.6.tgz","fileCount":36,"unpackedSize":61665,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICjaH1vK50vHu3SPkL7GOhSgk/wsTDtwON4glBA1HlT/AiEA0BwHJWVJ7jZ4hCynWZrxsJD7M1RVEQ8HezSfLxYTYC0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjW7/FACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmotHA/9E1v8BO8CHsn42lGGc5oDn0pDXXb4SQJofUD5ts8KKNEdhgEC\r\n0IN/LWy/ggyXiq0vTK/VkxnR1OYpXXsC6A9TcnOTJxZ2J/p7eDiKgaWmOI4H\r\nQDRERGB2sSXAdiBisCewLMdNh1KC0KAKGS1mP4nEGD2x5fc7ichuKe/xArq0\r\n0vKWn3QK9lmflscX85cgxjh7JW/9jNInaqNtRrpvG0zfwAM5ePjaSuyYlL/X\r\nbh7TNO6zH8fDjIOfFdYj9gU+e3a7K4yC/5hYY+bvlou+4oaBgeHNeuSMHfpj\r\n45GGuV4KDBAhy4a+cZlOspT3/BWc46nKCSs2XVB0y5SgNWrhMF8vgK/SRCEa\r\nZl71yGT9DYh7Y39UFZ0pK3G9nkqplSc88ePbOCtFcOVJjkchRJyjR4LixgWB\r\nv6zuKo4l+7g8oWWbe1m+ZOG6bQdvN0ksSmbQewhgDDiQBg8LGrImSyDSfEgT\r\nVGoGgdORyvFEgF0IQJUtIJSTFCcOp55U/Nps23Ato1WQ7ET9ul09Qn2tv8DV\r\nCpcSLQYJTTo2eNzV7JyPTfoDpMgEZ+LOGvh/NlrZdRMroIBdY1NM27v0epGh\r\njaKI93etsHCLtaUUmhA4HC3Q5DcBVH6UWMNFjLf4aYHhza0SK4tNCMXBOnUS\r\nEJgW1MVZLvA03BJwpjqq8BsLFDH9gjdeZ1E=\r\n=NqDW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.30.6_1666957253228_0.07743460322769491"},"_hasShrinkwrap":false},"1.31.0":{"name":"npm-registry-firewall","version":"1.31.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"bc53ec84f875c1fd80918f5334ff13263c3de64d","_id":"npm-registry-firewall@1.31.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-TLzQ99KTOELpOX6yFBYbt5F6StB6cos7zHY1RREOqKf5O67Xfhw36X+hYyG2ySkZgzTdN6bk+GKUocc97pYDbw==","shasum":"8f29c13392f818bfaf6d7074953d9cb45634fa91","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.31.0.tgz","fileCount":36,"unpackedSize":63200,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNl8/XeC/1E1PWVe/QhszANswVUo8A/aXjf8mpR9/ZVQIgDNCJzWIbl4GAfrdV0jF9ezo5BVPzwOZUCiLxccVXBfU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjXDCoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmotvA//b9eAuqswFAtto9PpM3qUt+jTmZwLBwKj9ymKSpd4NnhpzxJQ\r\n8hVRcdP/VNN+dqnVhsL0tEBjRNgt+em4FI2HJ7dBNG47m8KdhJ0Hq7fBEbjl\r\n0xES/k6FbTWt7B8xQKML5hAUg2HwA1UAupPtZQDSPNenhwYtARjGCZiphatQ\r\nsdkyIwrZOgH1mbRSPlGBgoJ6vc90ORCLBah+4pqPzV3XeGGzlWpAV5HXgzsq\r\nuQkPaWHJOMbqC4s2GNeEDqJkDG1YWMLW8Fp4D8dbo7X3QtrxK8pcDat8IWyL\r\nCoZ6wNskJDlMCY2MzuOPRZyCNoZKqbcjCQOD01NMCwxMe+zz7j9NkJqB1Ry5\r\n2wL3y9wdxBXBtzj7CQh+B2bs4JsJx9Xf+Y54wgH2zaGCIppJ9Z5MDChJH7o1\r\n6Oh6BNfYmvWGjcDSRpTHEVfBEuyGcTwwtZZ4NYJh/D6/1rdVpxYHGBK+FHdr\r\nWXuiaiEDZKPLLf2fLuZDkOwzdSsoifLpxpACiffsBqCMCUr0SmrPast+8Mux\r\nJ3lnjXqO2sr1r/jAbt67PaJIWBuusKDiXah4i8qOUcIMnUfgR1xGMOrJuNxT\r\nKKDROWAQbeKHKZau8IvlkCa0UJjvl5WRTk4DfbUC9c3Lg9TRzfCuXFn4H/zs\r\nWPt6lVcXvCEt3JTsjx8nxlHLQ0r+bluGxSw=\r\n=bLoi\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.31.0_1666986152485_0.6812483816778385"},"_hasShrinkwrap":false},"1.32.0":{"name":"npm-registry-firewall","version":"1.32.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"61507d194e9c4bb75a9e7f1c78f4261643eea427","_id":"npm-registry-firewall@1.32.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-HqlN+YXapBsQSAb554MJm5OWBsymcNd6M7F8kG1Mba6iPSO/WRdmZ/5GU8VDV63f/FgZZpFQNN0KE6aXhftu2w==","shasum":"702abb58218a75bdc9e7b570e0e3877698ee0f44","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.32.0.tgz","fileCount":36,"unpackedSize":65579,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlTgw9pJSroubYiV67uFAW9z+Sc8fG5/IUg3su+tllGwIhAPxDKJDQJMsYqrk7jBuB8YP0dxIgEICuSgzFRdY0wyim"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjXY5kACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoYMw/+PQyXZf//UiB2XBixE7xM+DytnI5aMvQsjcG2IA9t/Ug1njWM\r\nxXfpJ6XfSwdKFxZM6yr75JoVicBvIME/B4xchN6I3Hb0uGI8g89L3pdlKhaw\r\nb/aP1gEtoZfpkp+EAUR+e07TUNWM97RN9vYBTD8iG08D257gv76r9Iku+DQD\r\nmpR8Iwn1b7lG9lO3lnyJ6AKFWLl68lBwe7OcnJBL788jr/Yu3Sy3HDKW27rq\r\n5OrS/ZQO1RXTv3wk5t6hkjUVg0MKrvl460qv6OH5yFxEEXvTUIuG7B1VJK48\r\nP8og8PlVvWLLctdbj16H28QZEloRRd5EaCqoB0tlGbJA7TfCISBn+P1IVET9\r\nv8e1d65ukCj2KiBNLfiQ6PKv8a06oPAlTLB8mlWPY3cFeb+T9PO4jLHonAGd\r\n2Ff9o2XsjX/xLF2Q+VPkzn2pIjKT4alM+mDksWDCqK5E+WLb7CXV7zAptT2Z\r\n+2qCf23YyiyFlWjUX7NgJEwumy5wBnqX5KtDq22x6yDK4ktu7qyhcaiS24PX\r\nrzhD9/fVUY6dd4NwaMir0tSFOY02O8SzCH936fOxLiqS18d1BAKearwmOTLU\r\nTJmDjVVm6CocmqB/XkA4wpoqussHiI2C2ze1uPIHI35if02AXsOIbmAAObpj\r\nVEmE3EkH9LISoHU9o7bZMXIQLkUhscHjlSQ=\r\n=6skT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.32.0_1667075683831_0.7123386691784681"},"_hasShrinkwrap":false},"1.32.1":{"name":"npm-registry-firewall","version":"1.32.1","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"fcc9c067fdb16c2b33c527f06943cc8f9a9343b2","_id":"npm-registry-firewall@1.32.1","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-ExoPKDk1mcXgBBqn8u1eY1ej72mjrAXh9vmDxCF7e082O/ngprv/lYLx2SMMuxOdiUyuN7t21XcyOax2h6+L4w==","shasum":"7507ad79c3c8297038e32e1c638c45c4aec005ed","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.32.1.tgz","fileCount":36,"unpackedSize":66048,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8bk6Zt1aQ2yPkIDBTVOmxlnShXNlPX6syU1rbVD2PFQIhAMwft5j1ckBvw8DLuTzeiOv8qID8LyCHBeK5kb7to8Cb"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjXoSKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr8cA//ZsfDOqbiwpoUt1e2QEQ6HkscoN5C39kCFfQ/emL28hh1pPhM\r\n0SXq64N3HZzC3IGb04YBy7kxC37xbAkURbS98Ke4BycG5Xp7PTrT9vAB/mgl\r\n4M2mshugOg7LBNE9T+K9K0LViBp9SItdL+/yGRz3HJey2Qxj/EPX/rKLVHwg\r\nlu9LRQ/CsKjfK/7BRkXaqc8AqtK1fHFh7o35JchWvbKddsyecStIGiGft5SY\r\nBnZIpdmuhF2ufG2XTWJOu0CQs3KpKBfBErY9n5NlUbVk8B7DKTUuMRG/zyxQ\r\nOQTp1F6wx5vVetAT6tmUjylID1eCJp0AkT3ZddNg0kUSw0VsvqBSuKujin+H\r\nwry6OckHD/FYK5uBd7jIIkDpIPAdKWZi6jtrsOnCN5+X7lpZIsF5PazI+vD7\r\nHDpc4gTCwileOVCxIKLP8irK68+avxzz6winskCCSSW9PIqWYHRSk7EQfHij\r\nqNC4u4gIx66DueFPJfiXmCjVmcRqtKUFBQfDjU+1QOcvs09W2U1TmNvfUVre\r\nHDNlSOGp9D0+JTc8BhR/x3rRRrVo039bJ8BATZMyWMzaO2qKBMD5LtRsHwtN\r\nsBx1sOwYCKVHB8EJUa5yidjXbgrmTt6GaIFGLRGFybS2p2G2Jhsd8CInpSwf\r\nVgb1qA4adk6HhGPAm1jtQ+NScGcVIlTMtwc=\r\n=8Ml6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.32.1_1667138698616_0.23464836579695003"},"_hasShrinkwrap":false},"1.32.2":{"name":"npm-registry-firewall","version":"1.32.2","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"564484ca940483beccf572747a0c56bbccfea8ac","_id":"npm-registry-firewall@1.32.2","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-cL5CM1wqY3bpyWzKQQxj8ZrRZWdYyy5su56Me7/ghgtZOexM3tdA0ylKVMPJsWK72t4FSruRgl6yBwlV8exYgw==","shasum":"27a192784cbe0368461ddb9175914a1f12cca1e5","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.32.2.tgz","fileCount":36,"unpackedSize":66214,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAv1Kz5ztZZUIcHIPar72UlNeCFeP+pZc9dlXkqzN+4EAiEAgj+nrCTHOtg+HSqRTGZ84xyzomAbSErRS49OVdUohQ8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjX7a2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrtDg/+IXb4BLi2NhXq/+txkA+Y415LNBKduV2Z2IUOXQ0vUa+bh6xR\r\nr/iWDiY/AWHaJefj+F6ZYASuDP/swzA3TKAJdV5eGrRrIbcp1oI9nRFmZEvb\r\nhaQV09I1CpyME/VfNEpwEfupDJxZvdTjaE2TosNlt0tFZE9BK47XDT2cHxEi\r\nWTfMSG2LSZK7YLeiVGudZft1qCVF2pfzQjU0bBbvTSEndO9oHDp+8u6T+55K\r\nqXxVHCkQp1dI32YZAF1ptu097i7iPF04r7Ge0nDz6i6lujQEO22TD+hni1k6\r\nYlhfgXOD8m8+bVR8gK54Zw7GEL2L0PvtqHhVkddCaMAMtX5oHx4K9nO1naF2\r\nMRiR50KAnKqLbjvTLNmRpkdBhMiIlZn6y59sMXOy/zEjL79sg9xkiM5y8RvG\r\ncjS806x6777EEQc9JuWRd/5Fv0QYS/dwSBpeM11DIzFI6+/rnBPdnG+PZkXk\r\nku+RyScUYhnLez0SC6QKwBXB6CUIv8QHPd2zO9z6rWQYlwvzlbZpQw2/GCjt\r\nZn+T6L6G5h3LZn4Hn9bUxBZ+Y2GzmX36F2BESn6I3ecS1GRXragdeuwV2tpe\r\nbGEg0aRzsSkzrvNq6+ZEqIwvgmBKk7BCyNFFVdPVp85M6Z2WkVoMp/D0sZqw\r\nDgqSmd2fW0GD4YQkwTSiyAMIxMWpp4RCTM0=\r\n=Y9Jb\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.32.2_1667217078419_0.6604553928572501"},"_hasShrinkwrap":false},"1.32.3":{"name":"npm-registry-firewall","version":"1.32.3","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"f4d7ad62184b678b472bfd87cb88abc0790af554","_id":"npm-registry-firewall@1.32.3","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-sBDoVe6wLx0V/1+dpPVM/5RX2Dn4YHY+K6Bkd7LFK9v6ciq/ZDvl9+kPYHtUVlhUHhi5u0E7fPG4uTuT9aZlXQ==","shasum":"aaaf122263544de1850a1171132bfd353496d75f","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.32.3.tgz","fileCount":36,"unpackedSize":66302,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrTObfLGHD+C5Sv+EKmHI2OW3h4AviFbIIxD5KIf13tAIgALH/kkntdmWd1Wb0Td6s8Dq5E8yPWIrvOLCkhcAVnTs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYVpZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSeg/+LI5Xefa0V1oo2+TpJUe9QcQKIGeq5c+s3CWi0ZWSTIZDjtgK\r\nHmVCHzRe8OkAiZoY9yLKGAtoC0OallIVmQVubwuP4LbZDhFH+K5hmZtUJyTt\r\nxOzMiaitgJ0d3b9U2ZauuLDnxcpRqStTlbNBXm53aKxfnIJtM7M7NcPTxr/h\r\nm3Znc+D8BmreG0SMD8WHiRLImD1cdIp6f46Uc6IZZvEJSIvoymMts5krky6N\r\nItCokYBTHnaRCLPtn73b/6kLJECA+few35e7SsUQbx4HN9zG1o0uyjSjvbhd\r\nHMmBYOLeNVKyCxFNE8/dpxFoBV9m4EW5MdWzH1sJY4IcJ8tUmJWATjZ0ovvP\r\nPdwtqqGcVgrmOotxMAZEM6xK0WY+87JfwZJOUuL1BEoZ3uG0KJpzU/WBnwq0\r\n3lAn4zPg531HgcEhAtQRc4mVWCVo6zkkc03CYng+zdwjhFBzHLenJoteysai\r\nGPOigxuKHTQSqIu+GdvehEXEBF+P96WlglBoWFJ3MfGvaQ4y4AF750U5+2e6\r\nnovJzFyX48WxW1u5fQoZofjiYOyHXjUsaBJtVNfBFvvrBDpzPiS0YnNVaSKZ\r\n1JJNStBGT8ZTcls/m0fiN3HS3YOJLDLELWNr3ORqw598PDNx/3wJPY+UtTHx\r\npqyrgV1xKbikhjZShblRgbql9d9XN83LYho=\r\n=ZHbs\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.32.3_1667324505714_0.33823090162998226"},"_hasShrinkwrap":false},"1.33.0":{"name":"npm-registry-firewall","version":"1.33.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"0029df73bca2e995f88b0fbc557e4f387af76e96","_id":"npm-registry-firewall@1.33.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-6CA2zmbK+u+5WdZAEP8IUtFjx2XeqyoCZlTqLeflQpwA4rTkAGr7uhrbjvGM43vkCbznUoWWzGSyYjhAS1YAZg==","shasum":"e89fd4c6d556b0269ae5bdf3853239cd4b7828c9","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.33.0.tgz","fileCount":36,"unpackedSize":67800,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCzCsSbOEZ1xUO7B/Gn+4Ev39bg+vhbGETuV1IYBKNtbgIhAOIK9XstAx1Sj9YgenuhhIvd9QEB4k+S6NhUZGiETiB8"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYWeXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrUHg/9GFtKXZS6pVWb9ZhgaBE6LSNIqawL/bjvoy2UIWpehGqPyq9h\r\n3GB6e6r8LaLKhzdO2YiqcYKDh61Mj0Ms7Nso9cWx/1S/23ARFQABHQ3A8z31\r\nIz85QlnI9F99umdVYHE/PzvWmk/Yjcsyb+UkZ5NCxAQcdQsfKKRiqhPr0sVK\r\nzvQlGFKO9j+RLRyfO65OqwGl7+fQQg1Ak8Jeljl2A9EO7VInhN35q5ebfvjz\r\nFkfsRymdRE7BFTYZ7kR7M0M15gEvgd6qYNQJiOCy8Svm/ao+5q74Vy0xRQ8J\r\nQl7cwXn4Mr7L31wAANZcxFDMHvMYTvDe0hqPGOxkdzQlNxQOwkpYddHiUYwU\r\nUTkKgYXoR0sp503/Qm50laNB3rdOJNuQPnX7YF0ULyw8uc8VFwqazvNCjzeO\r\n2fUQrWGxtpniWBInGMKfUT1YwtgR7exp43wFZdQl33Yn2fw13Tg6gQ++AT+H\r\n/X1bUrXAirggC3FAReSR6dcq1vRt7fakt9ukLzVSHQp+PlqST/WoxPaXPhHi\r\nwgFYd3IMFzJgB0tlVQc0E0LRz690VB7+1lLUwk9GO2/MSzI6Du6UwQft6eJg\r\nmNiyvlj+fzJFAJxzcpsgl58vdJhcZM4bPhMN2O6TUteXDoGVTaw5QVUW/wkA\r\nFz1Q4jpwpOx1wNcltwdLlvHTpAJtS05XBUk=\r\n=pswm\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.33.0_1667327895610_0.4356714976965139"},"_hasShrinkwrap":false},"1.33.1":{"name":"npm-registry-firewall","version":"1.33.1","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"4c4f9498a5479182f1a3acfbb6a9dc46a2ca7bc9","_id":"npm-registry-firewall@1.33.1","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-f33MNShsDXRyzkPdZsnZu0NqchsKXHZg5s3TmxzL+gMeg+CfQjjjnMH470UU4vmjWdsLe6UPBavHBH+qsdO6IA==","shasum":"ed8eb2fd99c214cd1ae696bdaaff7c16283a7e76","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.33.1.tgz","fileCount":36,"unpackedSize":67906,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGbLXDeci6zjZuhGlovAqpwwv82KzjQPVRIYkwpraTxVAiEAspepzcrSUlFU2ltl7UTHUjdMTeDQwM+T1ktO+/hkJx0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYXoGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpIfxAAnFYXpTPxlfPuwj3GYmRRku99wUrjdhx2RcDix5/K51pLPscV\r\n+F6qF92YYbmaAX8goFxF1qN4I+XzpI+I/IQtcynsXeAyiLlXHy4qWsnqYEBX\r\ng8BvnSngaVQWKKZG6IUiji6OFwPbcHtnvGCAYLykNTpYybsqfVFkNSY6HlTs\r\nPLnDLwPuHggnNDzA/K1zKxdOrvT2p+i3tc8a/l76X7EjzO4dfwE5o8p7bpoI\r\nHwCjkesYXLWqh0vlrUwwXmXznhggArXHlnqKVnbH+xq/PQLD3Bh7ERF1MDQg\r\np6TPV7v3lU1uct4Lu0Ws9b0j+vx9wD5u+65zPIFLt1Y7wYU52Y0jlJ5OBr7X\r\n4tHZkLfpQP8VoThDTj5+EdeMMYPx7CUzEUC9l4oUfEJ0S0kcUQCkikHCyNob\r\n1RtaclWJmIitO9EsoYPGuZaxroMuA8FFwciWUEM9M704E3mWa8ozs8AHaGpu\r\nTfcUGPvwcFTulIM8gCFiR3H8Lep64qEvGmD18heI0J0lrjncp/mFuu7IFNQX\r\n9ZLMtin2Uw+hXkLO35L0lnvAfJ1Ns538QpfcZY7dX6eOiAHY+rBXxXIZOU7D\r\nR+T+EI7M+WhsI0Ry9GPOIwV3M9nTn0FERAnFkLL9B2VB/eflsGrRRTR2W4Vp\r\nSRW0e6MtPaj7OdbwgAX3UNNOjDYWbQuQtmk=\r\n=1+7u\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.33.1_1667332613984_0.15762321518279165"},"_hasShrinkwrap":false},"1.33.2":{"name":"npm-registry-firewall","version":"1.33.2","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"497386accd16be6552fcac9986dd7df4af6c404e","_id":"npm-registry-firewall@1.33.2","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-crCfZLM3QlFAEmFMuAfcc3HWWLZVlGwlnl+0/67fMjjEFMiZjIM72LBhJ9QXj3+OCZj2gCk8uX3hXXrrzWDRbQ==","shasum":"566caadbacdde1ebf95b7d9fb0eff0655b3f7389","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.33.2.tgz","fileCount":36,"unpackedSize":67927,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDneNYx08V2cIvAg3xR+U71lpjqY1VkZopNF/eB21zopAIhAIu95fAtdQ8CWHtuEgS7ajNNAXbo1RVdsjk4tvxBmVpK"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYZn9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrNSA//YXT/L82qwYX+hau8otmDNb9QOwi9E02MbPEB+6gYjo9oEhX9\r\n/IQFHxpO7WJnalW8j8p16XbQgYDHdL9aSHFaFcPPE6qDv1wzFoxmEQUTeVRG\r\nvQKZLr+GDSqr7ZxyihHhGijqwTNmJLgzB63ph16A876Oc2dQfpdEZGinxUjt\r\nha4lGoo6WXC5nvbtg9m4glqdXMLzDvP7qv4ogX6AV9KhjD5J0BJLBQGXJJED\r\nDKYsaxmXF0kGxKrOrQGP91Dj3hhqbBzwmIxCVSlE0VKQ2CsJaPQ6ZIxGrpPU\r\nFAW4ZsIjg57rtYzBOr/lz7qveEavBaFfmuFYfHunq/tTHOG8EUcIyxpUzOOS\r\nFNYVtVWqm186yZZ/Ptl7KnQ5V+CF+6m329I2vDFp1d1m0q5DWLewJGrPACDL\r\nrJ2SHVYy98q5e4IRE8aWOESArnqhNSnmGm6Wge47wR+b9gADg5qgpwIoRKOW\r\nVxTaUsp49iMEO9Y6eb5w/Jo2u200djY4jLf90MB0XpXmH8WPFVinXb1LYmZa\r\nQxLk9S/yUCB50pF+GofOHiQ0dwEF9ZvwBeHqe5WIzW4QylSZA3VRASkSoB3C\r\nkR1vibZHRz8kgj6f7vSUGWecH0yb0F2lg1roIRub7yZVQDFYUP9IoHRKUGAX\r\nGqAabsdM5NPfAnSNlgpfS+EP9uzGl7RsihY=\r\n=qdKa\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.33.2_1667340796961_0.21953786513801066"},"_hasShrinkwrap":false},"1.33.3":{"name":"npm-registry-firewall","version":"1.33.3","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"97757ed0002e0122996ebc5f2281d4047597d48d","_id":"npm-registry-firewall@1.33.3","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-zUYt+ifLI1Wk8HmMLXroN1ZLXKxR8NDGMqStGArZqeLMOmsPEOpH+MigR6xVEo9iqJPdoeF1tfaeIT5ig3A/hA==","shasum":"de0d7077739d764b652473093e85bd94f40c6376","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.33.3.tgz","fileCount":36,"unpackedSize":67874,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlNLCpZ78dNtm5zuXmZqLt9vO+BdF24DonmiPrL5bqaQIhAIlTfQw9KR9IOFQ9EXaghV8yxIe0+u9F7N6+Z2Y7eMG4"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYhKUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpf5xAAl5JuLyMwgUDwcnFBTh2ZbrKB38SvHyTEiARJLfxqkrk4Dfdx\r\nJN8Q4kK4AYvRlSSOZNzYkCg6NaDEJPVpLX064h2inq+D8mhA7m0eMeJIp7yW\r\n1ON1s/VCH8aP4Nhd8iRyfv6kAm2HT7gLm7XgmmuiZFzzYCUNoCXWMHgHrByc\r\nBbQDfCA8EJ9RNrbHLwtOnuBsK1CkuCcgx/SvND+dgkFnZakK95MNIYyAdXSm\r\n71lO4cSl4jvze8uAUPyCb34uc1D78DvL1FR1+HpAuvbcKjMSfpRzni2vN+2D\r\n0H5nmEIwIzH0p/l4IqGN1PjyvieFPnBW+VcRW6+Rn0qVSOVhSULD+SQaq6Ob\r\nO0o9CMdyd3dNrByhneUekd6meB+Kwy/BxKuTts6CFN7FsaLq67L6FeN5E1aJ\r\nV5aTsug7fjv/pm+aUMGG037wuHkpQkC1osQfrnpJ9sQtqsmSOnnpZBGJxSnI\r\n90GtQuH+8S56/jEw8zeJNjhAhHOe62bE+rGw/DeC6FJu87uBKYksUfPw5oY1\r\nzvS2FLc31kwwkl7rlhNzZjSNEkTd83Wvp8DZkmhW2SPFsA2ASx+Gamp+vqAb\r\njZt5+FvkAyjsxzWHzhLawDCIipj7wT6s611Ie0z/tMLMrY2a4Sml4TgaF41o\r\ntQBiAGxuKTj/KnoYqASqkOFM+jkR44RJmFQ=\r\n=iRz6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.33.3_1667371668083_0.8393357107039281"},"_hasShrinkwrap":false},"1.33.4":{"name":"npm-registry-firewall","version":"1.33.4","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"548c1bac4b1e8e36a3ed71f3fe7e31084bd8ae0e","_id":"npm-registry-firewall@1.33.4","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-ifyeQ+DCWm0xeJGkTcKwpDO62Ua+fC2n5Hu7AoyCKIj6wYAf7KiPDIctEDhc5uHdvyzAb+JVrsqrzPijR0sJOg==","shasum":"993a9c92503dd3a9153d26ca3404bae2005591b9","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.33.4.tgz","fileCount":36,"unpackedSize":67897,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCn0R/VGlt5hS3iJGhW2/0LRzcSpBT38sbwYPR6bMFpNgIgQD2gvKUr2bL1fbip4tPLIdefSDUcirrr5zUDZuICYfk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYjMgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+URAAlSFhLa+x4Kf4edj5onyCn183F4FuXi5hW/fRRr0huc5Dr5f/\r\n1vy6avtnLwftkECViy+Qobuui/dHlKUUBqpWgk0kGzu2//BXQ3hHNg0HQpHX\r\ngHmBVHdyuhwIYqrsqCYnXCgXFRkM8KJlSPV7+b3c93O9SzNtHHKOAZNH1Fdx\r\nIMz2GDif/I8j7E0pWj7wjhjGxCcksVs4evuju1o913eWv8dK0PKzbjPpLLSX\r\nMvceA1r02evOc0tikuI7WkfITDH/aVufJM8bZ/dXMA+HnZGymi+WeBwGNgR6\r\n+hyxYJC/mR6RaCCnHbZIDkU+TdOMP9+rbdV3CJSmYgF5ee84S47ADcYrDDAH\r\n2Gn6vzZY0qMqq3LDBXtmjnRIj0w034UoIIPlaYdOylSyRWWfPP7A8a3kZL/3\r\nLCciKZ/qfe7YFvrNO4efCKFIzMtfc8M3VKqV0fmaiGIZqJe+OiUHFWuhT4b9\r\n86xpZ4qv6ygITaoxFseqp9JryDCYeY/c4zcz3EP0w5c2gY2RrEZjp+F1NWZU\r\nnckTZpIg4a7Xw14eTaD4hMsctynEykoNiRYqMRZdkJaaYUDMgr+PAzBVRjJD\r\nriZHqX8AXJLckUwma6M7S6FJuerzr2jtz68qTYz1sXX5J3dLESa1QHOfpH3i\r\n1UbhU64Zoy4G7Iq+YBUuI1Q6C9aNatL8pFA=\r\n=BMEK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.33.4_1667380000682_0.13314128384313584"},"_hasShrinkwrap":false},"1.34.0-beta.0":{"name":"npm-registry-firewall","version":"1.34.0-beta.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"9b63809b66076edbafcda54b4284b1cc066bb897","readme":"# npm-registry-firewall   📦📦🔥\nnpm registry proxy with on-the-fly filtering \n\n[![CI](https://github.com/antongolub/npm-registry-firewall/workflows/CI/badge.svg)](https://github.com/antongolub/npm-registry-firewall/actions)\n[![Maintainability](https://api.codeclimate.com/v1/badges/ed66fb48706b02e64f8e/maintainability)](https://codeclimate.com/github/antongolub/npm-registry-firewall/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/ed66fb48706b02e64f8e/test_coverage)](https://codeclimate.com/github/antongolub/npm-registry-firewall/test_coverage)\n[![npm (tag)](https://img.shields.io/npm/v/npm-registry-firewall)](https://www.npmjs.com/package/npm-registry-firewall)\n\n## Key Features\n* Restricts access to remote packages by predicate: \n  * `name`\n  * `org`\n  * [`version` range](https://github.com/npm/node-semver#ranges)\n  * `license` type\n  * `dateRange`\n  * `age`\n  * `username`\n  * custom `filter` function\n  * vulnerability level via builtin [npm-registry-firewall/audit plugin](#npm-registry-firewallaudit)\n* Flexible configuration: use [presets](#presets), [plugins](#plugins) and define as many [`server/context-path/rules`](#multi-config) combinations as you need.\n* Extendable. [expressjs](https://expressjs.com/en/guide/using-middleware.html)-inspired server implementation is under the hood.\n* Standalone. No clouds, no subscriptions.\n* Linux / Windows / macOS compatible.\n* ~~Supports [Bun](https://github.com/Jarred-Sumner/bun) Runtime.~~ Not yet.\n* Has no deps. Literally zero.\n\n## Motivation\n\n<details>\n  <summary>To mitigate security and legal risks</summary>\n\n\nOpen Source is essential for modern software development. [According to various estimates](https://www.perforce.com/blog/vcs/using-open-source-code-in-proprietary-software), at least 60% of the resulting codebase is composed of open repositories, libraries and packages. And it keeps growing. [Synopsys OSSRA 2021 report](https://www.synopsys.com/content/dam/synopsys/sig-assets/reports/rep-ossra-2021.pdf) found that 98% of applications have open source dependencies.\n\nBut _open_ does not mean _free_. The price is the risk that you take:\n* Availability\n* Security \n* Legality / license\n\nLet's consider these problems in the context of the JS universe.\n\n### Availability risks\nJS packages are distributed in various ways: git repos, cdns and package registries.\nRegardless of the method, there are only two entry types that are finally resolved by any pkg manager: git-commit pointers and tarball links.\n\n```json\n\"dependencies\": {\n  \"yaf\" : \"git://github.com/antongolub/yarn-audit-fix.git#commit-hash\",\n  \"yaf2\": \"antongolub/yarn-audit-fix\",\n  \"yarn-audit-fix\" : \"*\"\n}\n```\n```yaml\nyaf2@antongolub/yarn-audit-fix:\n  version \"9.2.1\"\n  resolved \"https://codeload.github.com/antongolub/yarn-audit-fix/tar.gz/706646bab3b4c7209596080127d90eab9a966be2\"\n  dependencies:\n    \"@types/find-cache-dir\" \"^3.2.1\"\n    \"@types/fs-extra\" \"^9.0.13\"\n```\n```json\n\"node_modules/yaf\": {\n  \"name\": \"yarn-audit-fix\",\n  \"version\": \"9.2.1\",\n  \"resolved\": \"git+ssh://git@github.com/antongolub/yarn-audit-fix.git#706646bab3b4c7209596080127d90eab9a966be2\",\n  \"license\": \"MIT\",\n```\n```json\n\"node_modules/yarn-audit-fix\": {\n  \"version\": \"9.2.1\",\n  \"resolved\": \"https://registry.npmjs.org/yarn-audit-fix/-/yarn-audit-fix-9.2.1.tgz\",\n  \"integrity\": \"sha512-4biFNP4ZLOHboB2cNVuhYyelTFR/twlfmGMQ2TgJgGRORMDM/rQdQqhJdVLuKvfdMLFEPJ832z6Ws5OoCnFcfA==\",\n  \"dependencies\": {\n```\nSo the implementation of mirroring is fundamentally quite simple:\nwe just need to save and expose these assets from an alternative ssh/https entry point. Luckily this has already happened.\nThe main repository for JS code is [registry.npmjs.org](https://registry.npmjs.org/). \nAnd at least 5 public replicas are always available as alternatives:\n* [https://registry.yarnpkg.com](https://registry.yarnpkg.com/)\n* [https://registry.npmmirror.com](https://registry.npmmirror.com)\n* [https://r.cnpmjs.org](https://r.cnpmjs.org/)\n* [https://skimdb.npmjs.com/registry](https://skimdb.npmjs.com/registry/)\n* [https://registry.npm.taobao.org](https://registry.npm.taobao.org/)\n\nIf this reliability level is not enough, you can easily run one more registry:\n* [sonatype-nexus](https://help.sonatype.com/repomanager3/nexus-repository-administration/formats/npm-registry)\n* [verdaccio](https://verdaccio.org/)\n* [nandu](https://github.com/taskforcesh/nandu)\n\n### Security risks\nAny code may not work properly. Due to error or malice. Keep in mind that most OSS licenses **exclude any liability for damages**. It's also important to always remember that oss code is **not verified** before being published.\nThese two circumstances sometimes give rise to dangerous incidents like [colors.js](https://security.snyk.io/vuln/SNYK-JS-COLORS-2331906) or [node-ipc](https://snyk.io/blog/peacenotwar-malicious-npm-node-ipc-package-vulnerability/).\n\nThe independent audit process is expensive, time consuming, so only setting a delay before using new pkg version might be effective countermeasure.\n\n### Legal risks\nLicense agreement is an attribute of the moment: it can suddenly change and affect the development process (for example, [husky-5](https://blog.typicode.com/husky-5/)).\nUncontrolled use of new versions may have legal and financial consequences. Therefore, automated license checks should be part of CI/CD pipeline or the registry's own feature.\n\n</details>\n\n## Implementation notes\nThe proxy intercepts packuments and tarball requests and applies the specified filters to them:\n* [Removes all](https://github.com/antongolub/npm-registry-firewall/blob/137cf6f1f5a3bd979099c912a3357b2ea6ece402/src/main/js/firewall/packument.js#L57) forbidden entries from packuments.\n* [Returns 404](https://github.com/antongolub/npm-registry-firewall/blob/master/src/main/js/firewall/middleware.js#L27) if the filtered packument `versions` are empty.\n* [Returns 404](https://github.com/antongolub/npm-registry-firewall/blob/master/src/main/js/firewall/middleware.js#L23) if `registy/pkg-tarball@version.tgz` does not satisfy the policies.\n* [Passes any other](https://github.com/antongolub/npm-registry-firewall/blob/master/src/main/js/app.js#L49) requests to the remote registry as is.\n\n## Requirements\nNode.js >= 14\n\n## Install\n```shell\n# npm\nnpm i npm-registry-firewall\n\n# yarn\nyarn add npm-registry-firewall\n```\n\n## Usage\n### CLI\n```shell\nnpm-registry-firewall /path/to/config.json\n```\n\n### JS API\n```js\nimport {createApp} from 'npm-registry-firewall'\n\nconst app = createApp({\n  server: {\n    host: 'localhost',\n    port: 3001,\n  },\n  firewall: {\n    registry: 'https://registry.npmmirror.com',\n    rules: [\n      {\n        policy: 'allow',\n        org: '@qiwi'\n      },\n      {\n        policy: 'deny',\n        name: '@babel/*,react@^17'  // All @babel-scoped pkgs and react >= 17.0.0\n      },\n      {\n        policy: 'allow',\n        filter: ({name, org}) => org === '@types' || name === 'react'  // may be async\n      },\n      {\n        plugin: [['npm-registry-firewall/audit', {\n          critical: 'deny',\n          moderate: 'warn'\n        }]]\n      },\n    ]\n  }\n})\n\nawait app.start()\n```\n\n### TS libdefs\n\n<details>\n  <summary>Included</summary>\n\n```ts\ntype LetAsync<T> = T | Promise<T>\n\ntype TApp = {\n  start: () => Promise<void>\n  stop: () => Promise<void>\n}\n\ntype TLogger = typeof console\n\ntype TLogeLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error'\n\ntype TAgentConfig = {\n  keepAliveMsecs?: number\n  keepAlive?: number\n  maxSockets?: number\n  timeout?: number\n}\n\ntype TServerConfig = {\n  host?: string\n  port?: string | number\n  base?: string\n  healthcheck?: string | null\n  metrics?: string | null\n  secure?: {\n    key: string,\n    cert: string\n  }\n  requestTimeout?: number\n  headersTimeout?: number\n  keepAliveTimeout?: number\n  extend?: string\n}\n\ntype TPolicy = 'allow' | 'deny' | 'warn'\n\ntype TRule = {\n  policy?: TPolicy\n  name?: string | RegExp | Array<string | RegExp>\n  org?: string | RegExp | Array<string | RegExp>\n  dateRange?: [string, string]\n  age?: number | [number] | [number, number]\n  version?: string,\n  license?: string | RegExp | Array<string | RegExp>\n  username?: string | RegExp | Array<string | RegExp>\n  filter?: (entry: Record<string, any>) => LetAsync<boolean | undefined | null>\n  extend?: string\n  plugin?: TPluginConfig\n}\n\ntype TPluginConfig = string | [string, any] | TPlugin | [TPlugin, any]\n\ntype TCacheConfig = {\n  ttl: number\n  evictionTimeout?: number\n  name?: string\n  limit?: number // in bytes\n}\n\ntype TCacheImpl = {\n  add(key: string, value: any, ttl?: number): LetAsync<any>\n  has(key: string): LetAsync<boolean>\n  get(key: string): LetAsync<any>\n  del(key: string): LetAsync<void>\n}\n\ntype TCacheFactory = {\n  (opts: TCacheConfig): TCacheImpl\n}\n\ntype TFirewallConfig = {\n  registry: string | string[]\n  entrypoint?: string\n  token?: string\n  base?: string\n  rules?: TRule | TRule[]\n  cache?: TCacheConfig | TCacheImpl | TCacheFactory\n  extend?: string\n}\n\ntype TConfig = {\n  server: TServerConfig | TServerConfig[]\n  firewall: TFirewallConfig\n  agent?: TAgentConfig\n  log?: { level?: TLogeLevel }\n  extend?: string\n}\n\ntype TValidationContext = {\n  options: any,\n  rule: TRule,\n  entry: Record<string, any>\n  boundContext: {\n    logger: TLogger\n    registry: string\n    authorization?: string\n    entrypoint: string\n    name: string\n    org?: string\n    version?: string\n  }\n}\n\ntype TPlugin = {\n  (context: TValidationContext): LetAsync<TPolicy>\n}\n\ntype TAppOpts = {\n  logger?: TLogger\n  cache?: TCacheFactory\n}\n\nexport function createApp(config: string | TConfig | TConfig[], opts?: TAppOpts): Promise<TApp>\n\ntype TLoggerOptions = {\n  extra?: Record<string, any>,\n  formatter?: (logCtx: {level: string, msgChunks: string[], extra: Record<string, any>}) => string\n}\n\nexport function createLogger(options: TLoggerOptions): TLogger\n```\n\n</details>\n\n### Config\n```json5\n{\n  \"server\": {\n    \"host\": \"localhost\",        // Defaults to 127.0.0.1\n    \"port\": 3000,               // 8080 by default\n    \"secure\": {                 // Optional. If declared serves via https\n      \"cert\": \"ssl/cert.pem\",\n      \"key\": \"ssl/key.pem\"\n    },\n    \"base\": \"/\",                // Optional. Defaults to '/'\n    \"healthcheck\": \"/health\",   // Optional. Defaults to '/healthcheck'. Pass null to disable\n    \"metrics\": \"/metrics\",      // Optional. Uptime, CPU and memory usage. Defaults to '/metrics'. null to disable\n    \"keepAliveTimeout\": 15000,  // Optional. Defaults to 61000\n    \"headersTimeout\": 20000,    // Optional. Defaults to 62000\n    \"requestTimeout\": 10000     // Optional. Defaults to 30000\n  },\n  // Optional. See `http(s).Agent` docs for details. Defaults to:\n  \"agent\": {\n    \"keepAliveMsecs\": 5000,\n    \"keepAlive\": true,\n    \"maxSockets\": 10000,\n    \"timeout\": 10000\n  },\n  \"firewall\": {\n    \"registry\": \"https://registry.npmmirror.com\",  // Remote registry\n    \"token\": \"NpmToken.*********-e0b2a8e5****\",    // Optional bearer token. If empty req.headers.authorization value will be used instead\n    \"entrypoint\": \"https://r.qiwi.com/npm\",        // Optional. Defaults to `${server.secure ? 'https' : 'http'}://${server.host}:${server.port}${route.base}`\n    \"base\": \"/\",                // Optional. Defaults to '/'\n    \"cache\": {                  // Optional. Defaults to no-cache (null)\n      \"ttl\": 5,                 // Time to live in minutes. Specifies how long resolved pkg directives will live.\n      \"evictionTimeout\": 1,     // Cache invalidation period in minutes. Defaults to cache.ttl.\n      \"limit\": 1000000          // Optional. Max cache size in bytes. Defaults to Infinity\n    },\n    \"extends\": \"@qiwi/internal-npm-registry-firewall-rules\",  // Optional. Populates the entry with the specified source contents (json/CJS module only)\n    \"rules\": [\n      {\n        \"policy\": \"allow\",\n        \"org\": \"@qiwi\"\n      },\n      {\n        \"policy\": \"allow\",\n        \"name\": [\"@babel/*\", \"@jest/*\", \"lodash\"] // string[] or \"comma,separated,list\". * works as .+ in regexp\n      },\n      {\n        \"policy\": \"warn\",       // `warn` directive works like `allow`, but also logs if someone has requested a tarball matching the rule\n        \"name\": \"reqresnext\"\n      },\n      {\n        \"policy\": \"deny\",\n        \"extends\": \"@qiwi/nrf-rule\",  // `extends` may be applied at any level, and should return a valid value for the current config section\n      },\n      {\n        \"plugin\": [\"npm-registry-firewall/audit\", {\"moderate\": \"warn\", \"critical\": \"deny\"}]\n      },\n      {\n        \"policy\": \"deny\",\n        \"name\": \"colors\",\n        \"version\": \">= v1.4.0\"  // Any semver range: https://github.com/npm/node-semver#ranges\n      },\n      {\n        \"policy\": \"deny\",\n        \"license\": \"dbad\"       // Comma-separated license types or string[]\n      },\n      {\n        \"policy\": \"allow\",\n        \"username\": [\"sindresorhus\", \"isaacs\"] // Trusted npm authors.\n      },\n      {\n        \"policy\": \"allow\",\n        \"name\": \"d\",\n        // `allow` is upper, so it protects `< 1.0.0`-ranged versions that might be omitted on next steps\n        \"version\": \"< 1.0.0\"\n      },\n      {\n        \"policy\": \"deny\",\n        // Checks pkg version publish date against the range\n        \"dateRange\": [\"2010-01-01T00:00:00.000Z\", \"2025-01-01T00:00:00.000Z\"]\n      },\n      {\n        \"policy\": \"allow\",\n        \"age\": 5    // Check the package version is older than 5 days. Like quarantine\n      }\n    ]\n  }\n}\n```\n\n### Multi-config\n```json5\n// Array at the top level\n[\n  // Two servers (for example, http and https) share the same preset\n  {\n    \"server\": [\n      {\"port\": 3001},\n      {\"port\": 3002, \"secure\": {\"cert\": \"ssl/cert.pem\", \"key\": \"ssl/key.pem\" }},\n    ],\n    \"firewall\": {\n      \"registry\": \"https://registry.yarnpkg.com\",\n      \"rules\": {\"policy\": \"deny\", \"org\": \"@qiwi\"}\n    }\n  },\n  // One server has a pair of separately configured endpoints\n  {\n    \"server\": {\"port\": 3003},\n    \"firewall\": [\n      {\"base\": \"/foo\", \"registry\": \"https://registry.npmjs.org\", \"rules\": {\"policy\": \"deny\", \"org\": \"@qiwi\"}},\n      {\"base\": \"/bar\", \"registry\": \"https://registry.yarnpkg.com\", \"rules\": {\"policy\": \"deny\", \"org\": \"@babel\"}}\n    ]\n  }\n]\n```\n\n[️More config examples](./examples)\n\n### Cache\nBy default, _nrf_ uses a simple in-memory cache to store patched packuments.\n```js\ncache: {              // Optional. Defaults to no-cache (null)\n  ttl: 5,             // Time to live in minutes. Specifies how long resolved pkg directives will live.\n  evictionTimeout: 1, // Cache invalidation period in minutes. Defaults to cache.ttl.\n  name: 'unique',     // If and only if you use the same rules for several firewall entrypoints (multi-port proxy)\n                      // you can slighly optimise resource consupmtion by sharing the cache. Defaults to `randId()`\n  limit: 1000000      // Optional. Max cache size in bytes. Defaults to Infinity\n}\n```\nYou can also provide your own implementation instead, for example, to create [cassandra](https://cassandra.apache.org/_/index.html)-based distributed cache:\n\n```js\nimport {createApp} from 'npm-registry-firewall'\n\nconst cache = {\n  add() {}, // each method may be async\n  has() {return false},\n  get() {},\n  del() {}\n}\n\nconst app = createApp({\n  server: {port: 5000},\n  firewall: {\n    registry: 'https://registry.npmjs.org',\n    cache,\n    rules: []\n  }\n})\n```\nOr even a cache factory:\n```js\nconst cache = () => {\n  // ... init\n  return {\n    get() {},\n    ...\n  }\n}\n```\n\nPass `null` as `config.firewall.cache` to disable.\n\n### Agent\nPass a custom implementation of `http(s).Agent` to control the number of concurrent requests to the remote registry.\nThis feature is useful if your service is working behind a proxy.\n```js\n// https://www.npmjs.com/package/https-proxy-agent\nimport HttpsProxyAgent from 'https-proxy-agent'\n\nconst agent = new HttpsProxyAgent('http://10.10.0.20:3128')\nconst app = createApp({\n  server: {port: 5000},\n  agent,\n  firewall: {\n    registry: 'https://registry.npmjs.org',\n    rules: []\n  }\n})\n```\n\nOr just set the `agent` option to create an agent:\n```js\nconst app = createApp({\n  server: {port: 5000},\n  agent: {\n    keepAliveMsecs: 5000,\n    keepAlive: true,\n    maxSockets: 10_000,\n    timeout: 10_000\n  },\n  firewall: {\n    registry: 'https://registry.npmjs.org',\n    rules: []\n  }\n})\n```\n\n### Extras\n#### Presets\nIntroduce your own reusable snippets via `extends` or `preset`. This statement can be applied at any [config](#config) level and should return a valid value for the current section. The specified path will be loaded synchronously through `require`, so it must be a JSON or CJS module.\n```js\nconst config = {\n  // should return `firewall` and `servers`\n  extends: '@qiwi/nrf-std-config',\n  server: {\n    port: 5000,\n    extends: '@qiwi/nrf-server-config'\n  },\n  firewall: {\n    // `rules`, `registry`, etc,\n    extends: '@qiwi/nrf-firewall-config',\n    // NOTE If you redefine `rules` the result will be contatenation of `[...rules, ...extends.rules]`\n    rules: [{\n      policy: 'deny',\n      // `name`, `org`, `filter`, etc\n      extends: '@qiwi/nrf-deprecated-pkg-list'\n    }, {\n      policy: 'allow',\n      extends: '@qiwi/nrf-whitelisted-orgs'\n    }, {\n      extends: '@qiwi/nrf-all-in-one-filter'\n    }]\n  }\n}\n```\n\nFor example, `extends` as a filter:\n```js\n// '@qiwi/nrf-all-in-one-filter'\nmodule.exports = {\n  filter({org, name, time, ...restPkgData}) {\n    if (name === 'react') {\n      return true\n    }\n\n    if (org === '@babel') {\n      return false\n    }\n\n    if (restPkgData.license === 'dbad') {\n      return false\n    }\n  }\n}\n```\n#### Plugins\nThe plugin API is slightly different from presets:\n* Async. It's loaded dynamically as a part of rule processing pipeline, so it may be an ESM.\n* Configurable. Opts may be passed as the 2nd tuple arg.\n* Composable. There may be more than one per `rule`.\n\n```js\nconst rule1 = {\n  plugin: ['@qiwi/nrf-plugin']\n}\n\nconst rule2 = {\n  plugin: [\n    ['@qiwi/nrf-plugin', {foo: 'bar'}],\n    '@qiwi/nrf-another-one'\n  ]\n}\n```\n\nThe plugin interface is an (async) function that accepts `TValidationContext` and returns policy type value or `false` as a result:\n```js\nconst plugin = ({\n  rule,\n  entry,\n  options,\n  boundContext\n}) => entry.name === options.name ? 'deny' : 'allow'\n```\n\n### `npm-registry-firewall/audit`\nSome registries do not provide audit API, that's why the plugin is disabled by default.\nTo activate, add a rule:\n```js\n{\n  plugin: [['npm-registry-firewall/audit', {\n    critical: 'deny',\n    moderate: 'warn'\n  }]]\n}\n```\n\nYou can also specify the `registry` option to override the inherited value.\n```js\n{\n  plugin: [['npm-registry-firewall/audit', {\n    critical: 'deny',\n    registry: 'https://registry.yarnpkg.com'\n  }]]\n}\n```\n\n### `npm-registry-firewall/std`\nDefault plugin to filter packages by their fields. May be used directly or via shortcut as shown in examples above.\n```js\n// Allow only mit-licensed versions of the `foo` lib\n{\n  plugin: [['npm-registry-firewall/std', {\n    policy: 'allow',\n    name: 'foo',\n    license: 'mit'\n  }]]\n}\n\n// equals to:\n{\n  policy: 'allow',\n  name: 'foo',\n  license: 'mit'\n}\n\n// Allow any mit-licensed or `foo` lib or any `babel` package\n{\n  plugin: [['npm-registry-firewall/std', {\n    policy: 'allow',\n    name: 'foo',\n    org: 'babel',\n    license: 'mit',\n    cond: 'or' // Optional. Defaults to `and`\n  }]]\n}\n```\n\n### Monitoring\n#### /healthcheck\n```json\n{\"status\":\"OK\"}\n```\n#### /metrics\n```json\n{\n  \"uptime\": \"00:00:47\",\n  \"memory\": {\n    \"rss\": 34320384,\n    \"heapTotal\": 6979584,\n    \"heapUsed\": 5632224,\n    \"external\": 855222,\n    \"arrayBuffers\": 24758\n  },\n  \"cpu\": {\n    \"user\": 206715,\n    \"system\": 51532\n  }\n}\n```\n\n#### stdout\n```shell\n{\"level\":\"INFO\",\"timestamp\":\"2022-04-11T20:56:47.031Z\",\"message\":\"npm-registry-firewall is ready for connections: https://localhost:3000\"}\n{\"level\":\"INFO\",\"timestamp\":\"2022-04-11T20:56:49.568Z\",\"traceId\":\"44f21c050d8c6\",\"clientIp\":\"127.0.0.1\",\"message\":\"GET /d\"}\n{\"level\":\"INFO\",\"timestamp\":\"2022-04-11T20:56:50.015Z\",\"traceId\":\"44f21c050d8c6\",\"clientIp\":\"127.0.0.1\",\"message\":\"HTTP 200 446ms\"}\n```\n\n### logger\nYou can override the default implementation if needed: \n```js\nimport { createLogger, createApp } from 'npm-registry-firewall'\n\nconst logger = createLogger(\n  {foo: 'bar'}, // extra to mix\n  ({level, msgChunks, extra}) => JSON.stringify({\n    msg: msgChunks.map(m => '' + m),\n    mdc_trace: {spanId: extra.traceId, traceId: extra.traceId, bar: extra.foo},\n    timestamp: new Date().toISOString(),\n    level\n  })\n)\n\nconst app = createApp(cfg, {logger})\n```\n\n### Manual testing\n**.npmrc**\n```yaml\nregistry=https://localhost:3000\nstrict-ssl=false\n```\n\n**run**\n```shell\n# node src/main/js/cli.js config.json\nyarn start \n```\n\n**npm view**\n```shell\nnpm-registry-firewall % npm view d versions                          \n[ '0.1.0', '0.1.1' ]\n```\n\n**curl**\n```shell\ncurl -k  https://localhost:3000/registry/minimist/-/minimist-1.2.6.tgz > minimist.tgz\ncurl -k  https://localhost:3000/registry/react > react.json\n```\n\n\n## Contributing\nFeel free to open any issues: bug reports, feature requests or questions.\nYou're always welcome to suggest a PR. Just fork this repo, write some code, put some tests and push your changes.\nAny feedback is appreciated.\n\n## License\n[MIT](./LICENSE)\n","readmeFilename":"README.md","_id":"npm-registry-firewall@1.34.0-beta.0","_nodeVersion":"18.8.0","_npmVersion":"8.18.0","dist":{"integrity":"sha512-nQ+T1/rsCh2yEA29NM9qz32fbRW6jPdBi8vbXuGjNdbyukADX2XtW5igGD61pvsc6G2zUizJIRhu7wyg+CfJnQ==","shasum":"fb5ad0fbce67e9c15cb58370d667559aff45e6a9","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.34.0-beta.0.tgz","fileCount":38,"unpackedSize":69782,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCkjLCnU2HeAToVgmuTuUDKr/uBKOdbevyJ/epWTxvrvAIgQk2ajEW6rkbqygqGi75zSx1h15g8s4e9+t1garvr7rs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjY9fWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoieg//TFGEVaEvLemsX/i/+g3Vi4tIutRnIel7g6HTZvs+5WFfNiBW\r\nuulOzskTMAf9rok++otBD/HqazXRmRdn+0+Nmi/VlKcsBnSPtvH/9+8yH4YT\r\n730XJU/w9H4wEqcsXRQHECHYQhqlB3K8JUgI43xAtf1CNvy0820QZ0n6XLUy\r\nZLwCgCKEWbZMlhuwwQp75SdsL2UmA8sOw6p1st6t2/3IUGnkGDAjiEU0DAy+\r\n7FH0QFtmD3lcbb4+Z9BLATPYJMn7g2ei/6T9fFacXsqmSq6oZCsLIOqAB12/\r\n3cY9EWrfe+9dPdZ86Td3ezPNEvFMVaJYpf3maU+8kV9z1TtLeP1N4013J7XT\r\n0EXMMMwhdS2SBIjn2meVnZtKTiZhgyzLaGs7D0hokL5b9ITtBunKWenmijnt\r\nQu1XDmEOaNXtR6SxQLlZM5rtkcJnUMpc8BdVwHZxMUJVXP2NM6PjCeWT2T6n\r\nqwudqD2al2IHtu+sp1pP94WQDUtRRsdb2G8LqiOVTTDqA30ESPX9DDFuLes2\r\n0iVuj37H5aSbZ31FgsLDcTX87t/ewwwyq901bt7ZtA80Z0vWKYBGrXYuN67f\r\nUC/cOlcVVcgSkkcg+2HoCEUF1qsnLN9445vvCiSR9yxEP1667O3g3gZAxx6w\r\ncLEkTIPRnUU1GEUq4J8dnoUm4a566i+lnbk=\r\n=xcWh\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.34.0-beta.0_1667487701997_0.115869816913027"},"_hasShrinkwrap":false},"1.34.0":{"name":"npm-registry-firewall","version":"1.34.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"658f29010057d009cd326de375b0a84752a81902","_id":"npm-registry-firewall@1.34.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-MiO12NUnEGVjjMWcplXFsrtcxRZxLfa3UbTwFWNSGc0VZIGgbmz+w3TJKKsnixSCEKH8w1qZfqohcCWb9MPe9A==","shasum":"95ab7702f9da0a7bef6a0c182248f263f0436fd0","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.34.0.tgz","fileCount":38,"unpackedSize":69947,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBUf9Ys+nTbqb8bVe5rj49/j6xtNbufFA4/iFtN6u6zLAiEAywztf/GzOW+NYpAdoS7a1LecxxSkoy6bcfiPUM/egyE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjY+z+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrvIQ/+N5v5UeewI8B6ZLVaXFeIAJR56AbL6fAOUiCkMIpSd+uoEqGi\r\npEfHiFIh9kwXpG4UujZL+aSLB66mgbFseSq7rDBpYvdCSea/emId9+z5J6AE\r\n3bb3MhgXGUFcfBf9Et7jlUtWCNlLu8GE2MdwhZr5h1c36y8y1Pb6OJUG9qOK\r\ne4+E8rUysTOfdR6QeSXlE9GMsFu2QAdh7Uvu1Vtkc3MbUpGsFaMHXlcCygTr\r\nxZGijWN2s2J12Sm3mPBeIwpZnVlratVxkZO2bd4dQp/tahLZ9OQKR9WNn8lx\r\nnzM34hBpPDZoud0DMJIEtGiQSXx0+NWQDbsuekpllBRkx9bnfLChXrlOvKq3\r\n/y2OnSDXknZlCzizxj/eUhdqTIy1p5+BTf4R6ivTx+o7H67p5hegCkM1+FDp\r\n3m3k5cMF3IGoCt2HqjF6uVAdBJwodEim/oacO6dn/iqzyVHU5B5WEZldjhpn\r\nLNQX95tgaqnivophQip19HRGQNb2pAqcD6ZDoCSvq82fAxEDASNhV610v5Ep\r\nOVLgTc+00jUWxIchTYvGXumZNvdaooC7V6HKAXyAXIp0Lr0ZDM8jWwR0Y2EW\r\ns8FDMQ5GnCb0Dn7drJf8GZxdM/HWSNgR2dhmENZYf/wS/8lFpCMj4238+PAs\r\nWgNfe/uixUD+we+uHT5EnwZAqapFJw6iJl8=\r\n=zZrq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.34.0_1667493118474_0.22591941734032828"},"_hasShrinkwrap":false},"1.34.1":{"name":"npm-registry-firewall","version":"1.34.1","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"c46bb12e58b8c996497e2241cfc9f46a3c2c9d1e","_id":"npm-registry-firewall@1.34.1","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-u9kiy2RZB5UUh33u82ZE1rXUy9ModPZWT8c28/qKmjgMcAWfMNStz8rUPsjwKzOiaNZsfz9NuF20OdsYCTWaxg==","shasum":"4bdf77db30e0e3c26737ccb56689399b32f4e11e","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-1.34.1.tgz","fileCount":38,"unpackedSize":69891,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBLYzLlHCs1DywLiqGlICzfzuQdu6xVU51GbXzcYwQzPAiAOIxmf2CC6KhipxEXRbK2DYk1cATsKTG1a00lbO/TjjQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZBqXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrWUg//SSG49WWPpYUOSciiCweEiQSdyxnGJKRDSX70nQ5kJqZKanOs\r\nWwCDkaJ+9PhqiRma5tVO3LlcIdvNMcwo10HUC8sn42NzKi1DHGGfinpsosW7\r\n/dvTlYtX4Wqj6u075j03njBa1aNFSODXBhMvMOF5yTH5HjngqAg+tbe8t+bg\r\nKEG8Y4B8HizDH6PpRVaNRHC0tA0UfhDyZYQ9uZWCUYUxR/Ja6spQ1AipJXfP\r\n9nJzI3JyTRtQaQM1ULI1Wsb9oBEFz/w7xOdLRtf1bbAUUx8iJp5BrJ4i7FOm\r\npGirTCuh0JHeTSgZAtWeFRvrIDYkJNxlCL7eSQhBJg/licUdxiAIwPPve9p1\r\nkp4WUK9ZjPlbU90ZKLOO3UDt5amWvG6jcq2diIe0OBTNtpW7t6ISCf+TvjX0\r\nvvxvXoUc/jqJnczeoaEVPs9+3grulJ/drexYUgt+XNWbTSXbN/9Jzy9yf4ae\r\nygpsxUppy+HXrc/Omj1KhdyDW7EyersqidGqzbpb82QbVRnTIHVUSn6B1IO0\r\n4CvXx3JY4vXE4xxOXwmMoNSD2XD0Y1LyIrA8St38E7dRgfKCgqPDAOTmh5Pg\r\nIOS13hptmGkljiwzNuMeSha7O8LLTr+nwZDV231F6PwOluS/2j+WGtsaMEQ/\r\nEDj/IaCJhIyFaq1WVCRp0ohCm8ZaEuUL7sE=\r\n=+qae\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_1.34.1_1667504791679_0.7633084760238875"},"_hasShrinkwrap":false},"2.0.0":{"name":"npm-registry-firewall","version":"2.0.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"6ab58bff7e0301ff4264925dc5689cc219e60196","_id":"npm-registry-firewall@2.0.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-NrkkzVKaiJHW0m0aRybtOIEjn48G/HDKMKvBCEQHM0zRyQqY0uo38iebyeEdF8Fyi7tVKnat/xJIVxUxip/gjg==","shasum":"f5936e261a09de8fbfdb072250488a6d008aad6f","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.0.0.tgz","fileCount":41,"unpackedSize":75406,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICX3rBDE+8b3rk3EmQnWuj3/VCFeGSOpecJIMdTqZNMXAiBrxVVa5UEK5S4qu2cYIhQjUc2Uadznp3rIyoGKoB32+w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZ5F6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVug/+NkGPbtzBLyqQGSoR5hDsCrmz/g7MxH119eLqziFstdLPmxAW\r\nj8uvBING6kx+xIAYMn9jc0QbldvP6z60musnB3/h/nHMvWjN+r4JK/51sPcY\r\nb/Qe1h+fRJVDYpf1Htuwc5ETLDOwNDbm8H1necOZwT5M/FXr05Ht+FrfyjRG\r\nYZDEGQIhnA2wyWUvsqNyTajBVEn/TfdDxvU3vjbqHx0+tFuviHenlK2zHP+c\r\n95+hzs5Osxuz9tIHtvNbdkzSNlAwFbmCHQT5RHP5WitCxy71rFahZt36v1/J\r\ntBK4S1q5yfEEJsmFHFubBM3TDF2IWEX+dGgWMnSr8+8Cy7bV5j1PZ6fXgoTs\r\nDtk4lPS9R4TGNyekJohEcKsFMyDQQQJx/TEhuMxzu1GLz0if/PcuXCLfKFrK\r\nPS4XzNcbrO3oV1iD39kCE0D+WZAs4+sdbnTPP9/WMdBxITObNS7cqio/pgeS\r\n7jv3tH6aHxL7PS2lcv6U5oqG+rJDUzOeOFtcRiKhYbEW59imGnTMCgkqftoe\r\na7+I/KK4d+lcAc/tdNwxozjIkzsQFmjROdcynFEZzyA/gHSn5dN9TZRG0Yv9\r\n00WLYULGbeJUer2vu0/sKlbuL6Und94ZJZ2ok+PD+/vqOBveX+4YoqCDKky5\r\ndzM+q5xclnGeZLhJRJyYiDDpRBd6QSmM8Ac=\r\n=6PlP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.0.0_1667731833787_0.7143307392714737"},"_hasShrinkwrap":false},"2.1.0":{"name":"npm-registry-firewall","version":"2.1.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"42191d0249f137849620b451413de3933ee7d162","_id":"npm-registry-firewall@2.1.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-CzHN5xgeIToWMCoZxnjmH+gQ1DbttXXYdaiRbM3P6QypJ/E7RtryoMrF3kwlaiY0xYWI2v+sUUTdgdpQNu76yQ==","shasum":"94d0ca6651f01e175ce8f6eaabfade1168444514","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.1.0.tgz","fileCount":41,"unpackedSize":75589,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHxyCi3Q8Jxvq8bi4nssg5y0rnT8Yh5yLr/2jTdRT65FAiAlrTiQjKvJn08cTEqswicobOClgdUzF6DGWPGNi88d/A=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZ6UcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqiMg//QI5tt0rgY6fxyALJ4qrtj8AgaaPGZwNUnLCTIr4DiD6H+p+c\r\noWWJjnRH1XTvSps5P6HbITKOAZ/3n01FzbcqFBwghR72TJaG7p0HS3v8ic1p\r\np+Z+6WQS9Z/+7dTKJPOBAG/9PlhqgsrVCf55zu+AMI6OLqweYNYe/8haMP8x\r\nPjniMe/ZIfv4PBckL3BuyHC1CO1FEk/7qQlmuYFN4LqDvi2qdKo8gsIouUE0\r\npMe6NBj92baYFsMMyKzIFutBd+02iri5Ner6+zJUTQT63YahOOX4RX7KISgS\r\nKgU53R7Mti6OzW85Phydy0GEqS2L4nKWzHGDnQfIKMR1qVtbN4z4bqYP/xLP\r\nJytpgzhA7DbQ+S5Vyh3Z9bt7CJffzQZA5sR3F+Zzmy0SO4dqYfzMHftJhCqJ\r\nMpgDixLL5pqvDNnH7WphpnbyUFNgiNq/vD4FoD0Z6XtbYGnKbixZgBf3EmJs\r\n6a1CgwuUr6/sVqdYa0h3gpspVGxTqTDXajeWnYVidxqI8nxk84eHC8b7MVjR\r\nrLE8KXyTqSiGIktr06gzMYHQRu/NWXCLp85ZINA1233/WaBb+2JJe97hnflY\r\nm2SuIr6SOPsrBlzNenOtTPSHStz3KE5Aa1znozISsplhcurCC05nfeGH54Vi\r\nX4qJw0AEAlxdP1mImWKns0x2YTeWuCpKmQ8=\r\n=AXT2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.1.0_1667736860055_0.530580246013924"},"_hasShrinkwrap":false},"2.1.1":{"name":"npm-registry-firewall","version":"2.1.1","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"72ac424a6297ab226cacabdfdf0c21de6d3f5fb2","_id":"npm-registry-firewall@2.1.1","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-57+9TVXon9H2cLQZ3VZuFu6qUB08xddHZyUT8GQCZ7Y6NqPIMwZo3hJAmfr+BJQME+BWHI6XtgCtTxiU68KaBg==","shasum":"f91708695720a63addfa4518c3ea173bf3f6d2c9","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.1.1.tgz","fileCount":41,"unpackedSize":75771,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfiWcpnlQSJiAIJgFf+kn5mxQC+C6HuIc5qsfWHWsYswIgHu+DfWJVu+LVrAUTsv0hGNElc3m1tsWVyHIecBROF2g="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjagpEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMNg/7BaBXm06kMIQgTYpB2V87vFFYpTZ44hNd91gqCMVhAHGMVkNZ\r\nAweT84uExXqhpjXFoJ/SwRNp40EeH30aEPLH2y4XyUgJwIgfcRT44iiQxz9Q\r\nLwobj2U7qbeeyDp5Objy0xi9rjsJsR0mk90w/5GO23HvtXw8G+hIbYl3SYM4\r\nKFHD9l9LaIMMCYM3+Mhv+NryKZOjQTJuekr1/tg7giT6dhMg+Lhx852uPUgO\r\nahVsoUR4dxkMHkXs1Q/9Rvnpa8xSJk9N5ygfm4kxu7m5DmJI9+qq5ru86QVe\r\nKxS9TZBVbqXGRyVG/dnGly1gGw/rYu87tCg9bfVynNtgHUNDK6iby6tI31wE\r\niPAkINAgVEsIyHVzVq3MEgFFe3s3bnwiHjnr5yAx8Qb668hiTuhCEOSVpL5k\r\nW7Vui8Y7VqftZY/tVbZIViQQ1e9C3i7KXif56//Sv36kZ55KD3pPXBjm9QCq\r\nU+HUEZSUBE75qf8monlmQRtX0A77Yco+k9zeFevZWtZp1g8nKcAzpnLUsC8m\r\njI+8Q9Dl0Vd2StUls1D6RBIfDYyxcrBJaEMC6QDdjUzKL48njQP1w+iK9IhS\r\nt8RWsj/1czKox2cAQm5UXinoGt0smzr/PSJ5D49y7MeYTrzGaRvOn5zEmapa\r\nSb1/JIFaink7mCpktw8agoog+z3WcWgxxPg=\r\n=UI/C\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.1.1_1667893827979_0.4441251676992104"},"_hasShrinkwrap":false},"2.2.0":{"name":"npm-registry-firewall","version":"2.2.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"0bcc9ba3526d5ca21c9b958400f9aba812e30336","_id":"npm-registry-firewall@2.2.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-wyP/RFeMuacTSu5XW9di4VBS0DcEJUZ0PJ4qAubdnMfZpX8eEiNkfh42zdFaQ62XxhKhN6fN5oxEah1JxHiNtQ==","shasum":"977bf1c96deeda56701f32bdb5a83a00c7085901","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.2.0.tgz","fileCount":42,"unpackedSize":78559,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCI/AYLSLv+l2vSjG7tE5azfHzr7gG6XrNWYXNUvC9ckAIhANw28S3A9JnR6Bszsff1BQRWrYN8S4CPU96BaOKwci9A"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjanOGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoFxQ//V5P+Bhaau77Y6+dCGbdFyS2TaRxvLg7qQBgAO5RKDiWewGlh\r\nA9tNU06kwg+URcswh6X/V2Tyi5VWUuUw7tR63DbaEi1vlL88TFTY2dPgMsdO\r\nbXrERnEUn7mx5/Vd7Gx4O6zWrkhhXyY0YYR4bcLuC6CILPQTP+J2of24ayD1\r\nrvCLhDRYWYSGgAGLA/LtldqadTAlYaMWMbhbEX4JZK9rxgM8yi5FHTuplvEp\r\njzfVByQ4NjS5RYMwrgIyutgWMyTQQOONft4jc5sOqgM2FjSYpjyG6oYNlpul\r\nVrh1V5CyBlGz8zSCNGI8DQUwTf5o9TCmUBBRv76UXa5RKBU/boVjy16BhrBv\r\n7XSM1VdhALkyxSc8T/CKRBMGDjAAmIQCeQJbEHeqVHxYU0nK57X+Gsk1lLRS\r\n0sH9bPaeUE9NS5IpAdOTCq71ojUKns+SkCOCrGkoV5++gV5+ZohFFitubKtB\r\nM8F1pjcAVb5SJPIdoVXUcwYF6xOHNuIIzIpjfD7Q3CNXPKHFzZuGarP2TFii\r\nbGrVChzTlSN+ag/XOMWcsH5ymA1Svs74SQRUog3mbH80vbDPdbpeuvP1uPyf\r\nZaGLLfJmr/JXiXitMkU2yrR+irQNC4OliAJp8mGxt5VmOu05MSU/C2z8LMcn\r\n60J4HMwn0KUQugpmRV2D2LXH91LPmOLDqAU=\r\n=5aKH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.2.0_1667920774353_0.36132760768299343"},"_hasShrinkwrap":false},"2.3.0":{"name":"npm-registry-firewall","version":"2.3.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"7b2e334ba6d74134a051228cfea0f292279e8be4","_id":"npm-registry-firewall@2.3.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-qJaprM8g3voqTTCL0ZfHY9a/nO2PoSqldAO7Y9rXxVuu3pVJW6zesNLP91MthRTj5Z3G0si8OjaLhFZb8vEXtA==","shasum":"81e3adbe6ea316eb5ff1cc3534505ed7c9631ba0","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.3.0.tgz","fileCount":42,"unpackedSize":78714,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFa7Z+G5sjEok8JaGI1XslO+ga22omZWU9FO0ShsXxEmAiBjfmOpHYB4p6gwCtApk1L/qFlsK7J1+ePOiB5uXASXZw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJja1YRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpmOw//csRPmmfq/n15fjzmTBGiVw1ORQY3DWlxHJGYYjTHfCcjV/7z\r\n3r2DYxvx9uA9eiH/jHXOXrNalanVk0334kOBnDUF69MrZxzYSpON8JMMFb2s\r\nAqQqz2tkAqQUoUQUawbAWOsOMQl+OM7UUjDWMziTBdbHSU5x27bSEk4w7s74\r\nW2m9cvQU1Rt/h82UnLvQoEgDRKLk+6aqeUja3SdAwu43XXEQKepDUvtH2Obc\r\nhKMqxPDkv0EEGjELrzl7uOgZ3FFe+1rwFqCdUDIg6pOYEgnts+sNNyntwW8M\r\nSy2x+sHU0Ofc6Ul9oKxWsI6peMemtOR1vhu62BET7Z5rGrFJEdclK05mkMsg\r\naLqjqyqzxRunjhJzwVVNfe1JvWC+TvzuTFN4Q3VxaSvMJYWKKIShYwJNosuI\r\nsxT1RTo6lRZrz3T2tqEfaKSfIUj+AOtNU+dVkv+iZK8win/DtKiv4JFQwhO7\r\nszqIggyO6XLo68BV6ZToDhXvC1pTgiHmrFdVN2EHDlPh7OMSnDBg9Gvt0DEw\r\ntq6Nr5gNOqreqWLTylOOR9Z9N9a2GFAfMxUdVgU1CKZy3p90yxqOAl4IBuxp\r\ngF6OjAWoVLYKl6dRu8ApsbqlegXlTHOT/2e5uZxvqCsFNnXaWyfWHzAG3+Vu\r\nvBl3K/Cz6MFvaoNxlqsxG8MNSzn7obmydro=\r\n=eyNv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.3.0_1667978769234_0.45905509541971523"},"_hasShrinkwrap":false},"2.4.0":{"name":"npm-registry-firewall","version":"2.4.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"18872c885acc0fa633e5f91b7be802acccd85a11","_id":"npm-registry-firewall@2.4.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-duIaODM3rVskvewvpH9/PGOTgnJOrbL76tdvxiJ++jFrPaqj1+9ISEi3CaIZOo5+dEKgdSPZ2ADhm0n1fG+2pQ==","shasum":"4360e9940e520e2d4032c91b96871adce8269e13","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.4.0.tgz","fileCount":42,"unpackedSize":79149,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZXMgpiIEB7Br6GlgdJH3K1KbGCltWAyptn2I6CZapTAIgecikf5PsnkRqG9Zi/pmbY+cJRM2tAqsCulO603zKTAA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJja3+JACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZVg/8CT+y8VbwylTS5rtt5sgHL1XOGOHHrjjhxMjv4G/9drjWE8l4\r\nP61wkd83UvI9anfD7zORiFbk7K2/PESeV+rs74zvwkQBlVgZLL2MWOrWse/8\r\nCVqdt8xR5e3iMfLEkJcKGNUIdMsWDMVUbiU+KA23gEk/EE1MSL/tX05Vq4KW\r\nwokHm70vSiDyEkZATb/jYegUh0dsI90JukEMl++Y01yVLh3MU1o+IH+EtXkr\r\nPSAEtOAQu0tsl71NMJlEC8Zd/qzyKTyekHmfagmCw6aC7XoBRs6wGEmGlNdT\r\ns2FSnbtNXKKOVp1UnsthpmNehOd+c7x/cI25Efb0Y0Dcqiz5y+4BftffuT8/\r\n1Lv4jcZfXRjeJ9FiKuXjcwa5Hu8ZZQg6WCZh/J37OhPROQXw6heKLMUxYuDs\r\n7QUsLqREF96RSF7T7N8+CTe+YjHL8Re2DnYr4CVjqd/0CPqPer0fa2vh1Bnk\r\nd2Zo8849v9V8PqhgO86pQvQ6/b6H8k8YseOaJs0G53cDC6SZ2gTpqwDyPnqK\r\nQd5ognnV9OFg6AgRwW6Q+Fb1R55LMLVdOKGhVqvuOrWPAyDg/xc5NOvKHJa0\r\nza07Out+IbshV/2dZwTg0mc+xE1D+oaNehDVCUJJr+1UNH70AW5Bf4FYxBUX\r\nkhn23mOMxLau4N2vVLOh/VgpuEyTLjp2rzQ=\r\n=ilOC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.4.0_1667989385395_0.8842616269996124"},"_hasShrinkwrap":false},"2.5.0":{"name":"npm-registry-firewall","version":"2.5.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"884aa69e3a696ebe369367b69c9e32836f1e6e5f","_id":"npm-registry-firewall@2.5.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-dqEwcQzSmGBty4lERiTNfvKjIomBni2q9uA1XR6ENARlHl47DQ9eVEvGG/OOcric2MXBDKGSk8Tzc7RZeH/2Mw==","shasum":"27eec59b2bb161d067d9ebd70c4cf0bee060c0d0","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.5.0.tgz","fileCount":42,"unpackedSize":79484,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC+6VgGA98yPpFqfZ6OvkAOY0g2EJPRTZV11yKZ20LI9AiBbetNe9ENaSRkgk47EZTanzZ0NDTnajMSfDPzXL5tp0A=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJja4ZIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpA3w/+OuFCD/KcqwdtqappBgx07utju0bQYCwlR0Y/M0o4TRUXEX3q\r\nbNqHN1PYgN4CzkpwB4tvfhU8EjlHsGzzTwyVL+bCBJTaQ2Nf8ODeYsgp+Gd0\r\nREPYjAgHbg1lQzFPelUvvEc+Xf2Vsb2qQi/KMSv7EqKhLhDjDbTDhFnDDJSf\r\nviahZcgnCjgdKmZAC+1zxuvKTENi+mrHVlVsZ/5FvrKhRWFE92OtGU/q6EJb\r\nEZC92bmq3Ut6f1Kqq/ORLNTsQHI7FtVi0XDCHNuUUFTPPA2cZ7FSXBwpG5vr\r\n5EbYk4bgaWQiSS/6FqUmoaj5TrQnI9Ob6oQrwIKjoUlNuL7crY+Pq/sN9pF3\r\n3upvEBSfFCO3iDnuxgnFkY69PbWsNr59dpc0BikZ5oWLKRhaFsoY+17q3MaK\r\n6cBoCW+ydIyawyecftQKEYBpssGu+Cl958vdHhkC6wT21hOU0EBx1rRizv6y\r\nAGyYJfeEfqoXxh/tSn1TbE62VJ8gDNoPplI3G9kOyFcR3wCr0HFNNK/qLxhN\r\nRQRDAht1x5SUjvfRRUNydXzbheOiFdiMX4mPhp3EkUoptykR7oJVpOCDWeCU\r\nnXEfgFcfhW4op/ydA6GLByp1gXm2k6KXwNNQgSKAWrgmGvzwaHpaaPgxZkp8\r\nGHP2iiL+Ic0bpOxh9sIaOWmMPEDkQ2A+6EU=\r\n=Q2TD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.5.0_1667991112312_0.8166157382189243"},"_hasShrinkwrap":false},"2.5.1":{"name":"npm-registry-firewall","version":"2.5.1","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"c5065875998aa46416df28c34c83cab81e387406","_id":"npm-registry-firewall@2.5.1","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-HeR9XCpvsEfgzYl7qF4mTmT7j9IS7H10nzHtSylD/BAM8mzIbU66ngEIhyP37GOmFsqEpsE4RrFWJcha+lg4Cg==","shasum":"c5eb49eca66d09ce4c178ff7f118b971b55172fd","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.5.1.tgz","fileCount":42,"unpackedSize":79851,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtUpAffQY1rllO04nbKq6HFFJdWz38ljaQYblRDeZSagIgX5T2kJr7CU3tuSApNVWnOf3rmgvr2U+45/SlwkQ9hJs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJja9EEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqAxw//T9eIeqK/60CleGsQgrfiGSmdNfUaN28MADXedwImFvkYLKn7\r\nBa/U+5hCHbPtq4k7EKsQQNkbIHBPTr0l6ih79w+fHW/SPh011pDkoE/8Pn31\r\nLSDXZ4dVaQfg568YourbUgDK3RufWSS1PNKAufunFS6PqDuGOLlQl4AA/DWY\r\nYOYdMMGqf1yZf4BeJNSjo5c1Fcna4t/jfOiyRlD4GrZhLtSrMpp8tDXqJF8G\r\nBJhdMhBLTwKnjKbg0Wn1+8rDS0j8bEHCbyVGBI96LinOsoD5d1HZkUiCrQnN\r\nYWiOQZLRi4UOrtIkZx2auSJeNOtufvoTMWeqW6yadGW3YTXt8iH38LMQTZZU\r\nxhw15bS1UewTcvo0+mK6+mp9oaDT+ircjO/xJkDS/8X2g2RHUHMiQklOC1Jt\r\no4TEh/D5Oe4nppuIyPR4DF5UYeUtd+fSZ1n4fha8nBnM/06LGk8V39oh0Qla\r\nSDc8aAr+O1KpftVUhTIqLMHsyAxRFr4FP9sWNSgSLPefzOUnSzlGV+xfuicQ\r\nqb78hN1TgGGfB66J0Mg35KKJev16CyiBHjs8nzE//5jgc1LcJW6U6wYhB9oq\r\nIgPMg7t5oRLafQmC0EqmRLOWj5n1BZgNAZ3mQmWfd2dzHhyEr9MssDSHep2r\r\nUl2WreYelmMKtPE9dJubR7wBXWYHNF227f0=\r\n=bypJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.5.1_1668010244700_0.22232623242524685"},"_hasShrinkwrap":false},"2.5.2":{"name":"npm-registry-firewall","version":"2.5.2","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"34b0243a5e27f48fdcf0556dfffee4677a48804e","_id":"npm-registry-firewall@2.5.2","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-+xvxFUC1fRo6nzzjIu8h9nglz0URk5idEXi8MRB2pfeT3W06U45N1bAqw8cJcEz4InBuAh4Zvzi803E4JXN8oQ==","shasum":"0937a03cb6cc7dc225f330a9d328aef7d38867a4","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.5.2.tgz","fileCount":42,"unpackedSize":79855,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBYP0llYBc/3ek4gBNXsdPcbkS9X4gUpX4yWnCfHrhtiAiACJ/PExQchU4oumJcgU8qCUwbxuN3V7NynnyuUo6IbtQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJja9RCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrFuQ//UoVEWn/bD+I2JZbvdzVVGbG72fgWxhGLMNi2ry54XXwyD/1N\r\nc1fS2bHE1teFydm8cFP0xGfsaDBzIz3FVpnf4O+fbkErKyVDfOJ9EYwyv0bx\r\nxCifSH1mdtOdZ7V4xH2drdbvv97Y9zJZcjiJPf7PecQSx9oSA7oh5YZost7K\r\nQIh8yT7+T/l3D++KNkvS6Wowj7yb+0X5oLt2+igdhYCFDPwvUMfqomXVWZ2e\r\nfqkf4wtlISru6cFsuvf0CzpOvpPU5kSwlsuJJkxqWvnxagB2T+QaYOIT3WQ9\r\nzkMgRD/eFwh0mn8eJ3aaVB0dT8V7PI5o+tF+QLTDRj/lsR92NbN0BY0WYQq1\r\nxpGuu6cQGXx2tjVoUCaLP8Sb5e/fzJYaTW1Fv3U7mxQpanDzsgWOisYF6z2N\r\n6FmvZ6smCm1yFZ3qswbAJ81E2Hf419SJvoDzxwGi+x1pwaKlvwCGrGxZsBk2\r\nUl8R2pYqNSl6SSXcEpFGS3PTxpLdMT2y9kXisyqce9qdgZ164gDixivi+Zi/\r\nCbhTL3piqbPf+6g3a4+kSxwgAEJSHiwSmm2ZzF7j8kT6Ve0OhB69BEQRLjTW\r\nCN/M5qS689WhAJ/4+gXDxYD7Z0UWWNPQmSrbXB8sPBuWt9g9rkeCleouvHEo\r\n1OqBERswxUslsq3IdPHTepdaPHRVzpwDMtY=\r\n=XorF\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.5.2_1668011073841_0.04358783434161806"},"_hasShrinkwrap":false},"2.5.3":{"name":"npm-registry-firewall","version":"2.5.3","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"f50f3e4ca82a539bd1df0dc42316d9997795f28e","_id":"npm-registry-firewall@2.5.3","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-Dkd2UMcdJOG9krpJoTxdf8rD/0Ni60/713quq0rX3Di45Cf1C5sYv+D8cFTB1euMjsWjNAjRb+76uF/gltaDYA==","shasum":"9366cfe8481bebc9e2976c84c0b20f85def0a27b","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.5.3.tgz","fileCount":42,"unpackedSize":79861,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHy19Z8yf4oUNt/jW+3T99RGLNL36dykdVZzDD4IynZRAiBsOQNfylXSsVsUVMJQTEEAtQIlksCYr0e1X9vaTYR/pw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbMmoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr0Fw/+PUi9M+kMdTJUcb5nCEXsw4KwoiU0eX26pbxU6zV1L2q06gPm\r\nGJJY85b9dVPsWuWxQ0YHRz5izOOcovBfcyNdhdVKGBXuTq8hGavzVh+Issnz\r\nBdIzCN3NCpicII9YRlwjeh5En1rQGFBCq/szFbCwQybze+8WDhJSnMEmtYBh\r\n+MZ/cg8egO9d4zDmWimXT7bx7QCJ3fH2ppVAK1W1TacV2hWYtpsDxiZTZmD2\r\niOIH9AL+IbhYJEt5+juEkJTo+eOpx7wuL9F5/Ac3yL1IqwpIMYp74E7yfZrJ\r\nn3lJKRgFTNDSpJG/znoag/1jwz1Ij+Oagy6zNDqm72VkuF3UG9gOaVc9J1nD\r\nIsPgHGGkAHizhy1eIJZraFiPZc5Vl7jLvSJ5s1v3bqoA1Dm+z4R/VM1ajiJh\r\nNiGjVHbY9jIHGEFxo0Ny0AOZVu/4hVT2WJKH46qGMfmj+JxsiIYqOO0gDFPm\r\nUHK8OnVI4WWANFPnDD7Vhv8oNziJGf4ik8w8Ed6P//0dnTOc1lP1ejoHZB2y\r\nHdLtC32/PfaTtmbXwDpdlly/MI+27eqXE/FsHXv4Pl+SsfbF/TPNhClu4Il5\r\nsrpGtoDMWhLkoz11rirM3O0kpIhK9zKQmc5bFNlRcjKcqHooW38Ycm1E9esG\r\nK9XFVK/5tMYnZGxkZ4b2pQSiZ3qYIdRQug8=\r\n=zK7y\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.5.3_1668073896535_0.5086875120217564"},"_hasShrinkwrap":false},"2.5.4":{"name":"npm-registry-firewall","version":"2.5.4","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"ea7ce7ff16ec8e833d6689eb60fb07d6b443f709","_id":"npm-registry-firewall@2.5.4","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-7UsMM2f6uCDYlc5v//FDO1+bR0F0TpMcYTQMTa36W705MtaWKT8yRLzJlXaqgcBTMv17aA/SxK79u+rH4/q+cg==","shasum":"f6514bdf59515030435283eeb99f0f825ace0517","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.5.4.tgz","fileCount":42,"unpackedSize":79939,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCh3JE46brlv83ajm5FAEsXLB+PzjXS/YSmt5hSwXTMsgIga9Sye9w45wRIvVz0rGmy/MwlRwXTTmJI2vIl15TjgcM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbN3nACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo4ZA/9Eg114UavKOJyX1jqz4tHo1Vn3TsUxgotMV4wn8VEt20UEPqz\r\npvyvYzYwU+l13sNF0ll0RDxgA4szjAPQstdGeGnTQx4YzMyofFheajvTxHzL\r\nG82giw8clUo7hDPpHDYnINLY6LJxJ4yI1FD5LBOMD6FWebAz1fNR6bZCKk2n\r\neafnHazZtaGIbCO5C+VLbXKbpQgdLNTQm680mQkXmdXN5688GyNMZGUU564t\r\nS4fkvLD3akTaBZvyOw1SPC3EjPXWVLKH4gkZZzU2MeFB2YJPCa3gkT1eGEHC\r\n/KnWarQBe1LfNLJr750WqCizY168yTFQKfObUopimfxTi9cbjfk/1S/mRPB7\r\n/KEwZsoDAH7YA/Y8VLE79d6cfco/RheIuZ/pMnEcHEQlLIxLFKFErxlrq3Vj\r\nkyu1foc3ErF338lQqAAWUqC07zPtbyqvwGqeyik9x6TRnZS/42hjvkAuqkh+\r\nCIt94FXE5m4YUCocCnq/oJ+yJLGqFGsXcnkxRr+lgNpqjHFDCuGfoeJ3TSNg\r\nRJ8Ee+fq0Yc5iAHrAmZ7LWLL4BEFXdAgUeivg1XrrEkGi0P/jN01IoGKbMsC\r\n72ighCs/15Wbgdy0UJAByqNMuuDOmLWJEbi0F2OCCpcdishQcIGWmuSkhikB\r\nTkYgh3nIXaoJR8pn60JWN+jqEtgYU/r/7qo=\r\n=dhF7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.5.4_1668079079091_0.27073618903959784"},"_hasShrinkwrap":false},"2.5.5":{"name":"npm-registry-firewall","version":"2.5.5","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"4ea40012d1460de85e4c6213717a89b2eeebecd7","_id":"npm-registry-firewall@2.5.5","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-8TpE8CJKgp6YavovGA0GSIXVqOiQlC4RkyOGhz1GjrrHyQ/EGk895Yy4ZEP9mTBiR1Kh37ZMYrYz5AWU7U1kEQ==","shasum":"1cb57ebf9d4a1ba88bbe2a371f8b5b62671cb422","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.5.5.tgz","fileCount":42,"unpackedSize":79940,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEzDlS37acQkyyt3HBhwJrcQz/CusibBL/ton54Dd7bzAiEA/mBypljQmCT5Sso33f1ThT0Ah6IP2zDjYYYCBcPly9c="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbOCrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpKAg/+Of4yzLvvhi2H9kflyzNtWmK6MbI8U1luL9nO2py3bJDc+nYn\r\n7D4Y9NaQP7GWQDs7rmvmSfANnB/DoCNrNduwg3IvRPkg0ELdUy90ZBqTpoDu\r\nv/ljuD1fofwXiSKUneZHrmv9WMJEr0IXtiFkH91aI6cuZte9XxLDJVRLu4rR\r\naxbsRf3JR9XWoOshJ2xGfAFfSZdA5MrqMrxj8pnDI2Cj05KRqX4fd4NkKsX7\r\nZBf42LCKcoXvLOuHHp8IybCmc/DqZ/7RGfViVQHZoWJ9t6suUKLNw9zXueVo\r\nLrWZ0YKrE7I87CRoCEC4LLtlaGEviYLjWVjspYYZ8YcnsEJ+QUq3fX5ShCyY\r\nZdjgEL9DkDs0n4VecdwPQ8eEjn45ptI8RYlYOI0haYFJOPoL9gcvTyPPGIsr\r\nX07jfQzHZfxtsJu7FvOOLGt+SLpCwgV51xRanBsrHwfWNYBp19oZuJl0wLKA\r\nxHE0fi7qo518wNaZLt3B45FADbTr/y86EeCPKKbdXAKOsO+R7ZXOOX75Y7Dn\r\nX09Y5E9M2KSImFuYqugtN4FstGJq1tMyZ9IZpV7XwC+ukFauexg8q0H51JDt\r\njxWxHscn8vGAkw+XXqrPAYSKhKA8HbQbw92mcq2ny1An+eOitKdbzU/Dae/5\r\nckrWv2YYkQPEVddGlp68i5U6Lw3i6aSNxjA=\r\n=Ls3s\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.5.5_1668079786843_0.016037031900301146"},"_hasShrinkwrap":false},"2.6.0":{"name":"npm-registry-firewall","version":"2.6.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"f6cd2fca9a601598881a3edc84bc38178a40881b","_id":"npm-registry-firewall@2.6.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-LOjjyzq0K1UgWi1BjMEtTOYm+a7sJmTkGM3ngXSdjBrdK706iIJjQOX/2rRKYP4ov/114KRG6qLdaE2fZY9zyg==","shasum":"b5edc8a2fd4b2aaba198da38bf51f8c0f69b0429","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.6.0.tgz","fileCount":43,"unpackedSize":80585,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBCfdXlL39011Kv5vPiohghngUlpTaCpY7WcRrwbSKioAiEA5p3r6yZNQEoaHDImn0srS60ZEJJ+God1FJwIruKaaKE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbSJuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo8gw//UBSnGbLuSrbHrFSMj1Eg+RzlYkfymfYzUX1y2FLGead2zPAK\r\nAppLzlBRvhM58SQBBzgtJR5S3tKiRT87KkCkPz6GGrqflMnV+aoi0B64g3WW\r\nLkwmbAbywFOlxcsir+hYoVwi/mQRaXH289K2D4KnlYHr6s9htgTD8cr7r0kG\r\nvjLZCOk1IRxp5GbeYxJnrCFuVc8wmjluJZy/QLe/jvupav/EzwkIyTfD75vL\r\nCHJqA1RamwUjqDGrZPaNR4D+bZbkYcjiHmYFHfUezgkssn+A9K94jcEBDUlU\r\nvLv1V5JBj8yFGTOnasrDKfuGScA3NGlnrTlH67Px620UBpTRNR9tglJgQh+K\r\nOjqrlbfxZ994QsN9H+WBZQ75MmVwPJ5CiUJHLrME6Zk5UGbpIheWjGzjOEhZ\r\nFBUi+41QzQpe1uZwZHhJWuXbxyQ4pFgFogt3V2ng6+rvDyIxugLptndh0d6v\r\naZJwv/AcW33s88vBAtRmfi4DOiRb7zyRcaHQQtekolIuX8YtrVigyQAkk/jV\r\nX2Pm3ZYwA4oPvPgAqEfLJXqro8xTUvmnbH+TJmEqmGq8h6YtjjgTBzXnxpzc\r\nHnoiL7vNvkaR+jGsMbCMB33BmS+mJOE1zFODPYuH79UQj8AY5W0SS9OJVU2r\r\nC/jmBL73ZECzNXoi20iNcJkMg90i3VwIIIY=\r\n=+X0u\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.6.0_1668096622706_0.8249944794612034"},"_hasShrinkwrap":false},"2.6.1":{"name":"npm-registry-firewall","version":"2.6.1","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"a9c7f2e7eddc0368508f1803130a12513f936527","_id":"npm-registry-firewall@2.6.1","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-9u+0odbyHjXOi9M6xjKfC9lPwlhNwpL/qF2jFlvNiA99MuamTY7YjauHzp4kOARpsWShAut7rrFoyCM6DgoqWQ==","shasum":"199417763d0e7928ac387e39076bec2af8c0a2f3","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.6.1.tgz","fileCount":43,"unpackedSize":80671,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDa0vMTfrCW97OC4KvGDAPBJej3ledZHJxSngSWhZNHEwIgOjlPuoYh93W4LTF9IdI8GOLQ9a2y5uz00s9yd+nddMI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbSgKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpv1w//cLnlavGWwJ0SxqBWN5+45skcczTDm8T8iWu+DV9I3KFJfCED\r\nUd7wO9+xGZsj4/njo/pnIkm908/segfjW10SpD+kuQoRyk/lIBzK/fOPk4iz\r\nP8F0eXv8xuzjLb+rWxPSLxxZIvIMZfkYUMPUIDkw+u/dH9tRRr1kZsmNdM8W\r\nINtBQxoVft3bpt6lTlmIof5xvlVPj9nactJtFWf/luvrGG8tAdii4AbfB9fW\r\nWVCob5ZCbHITYefdh1/r6gZJhFSeDZBy+6nJYpLZtZAv00D1VavqQW/Xawu6\r\nvB/rsT6F4xAZP1C/WZebgSKe9BRL833g6f2XewMlcpJUtPxd03HgcMKMgDJ9\r\nIASvnYeTIs62xkAXhZH4x0HnZ3rfEYuUNaJkNJ1f2pO3ojqctJFfpUAoX32T\r\nvjpwsbUZsxExK/iYgpBcaYSPM+LWkGmkrZam/6TP5PJrTrPkcO8WhRLzege3\r\niKTfo7wF2AKrpiUEohewOel5qwR01N5Y/C1/WP9GPcGrWLZJV2ZAKBKCOAwf\r\n+mxZPak6k6ryzPm6kFJCprhMIQag32WLXNT0/ITWUY09IgDN3lzlIzjQIdIK\r\nyUoNnAsDIExzEQYmNrLcV42MP1RPia4af18sxTvc7HXL7dbsgTR5wKP7j3VH\r\ni5Egy7PM2SQLqpocwW6a4/bdHP0J6dw6SDk=\r\n=C0gJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.6.1_1668098058025_0.7312486714583488"},"_hasShrinkwrap":false},"2.6.2":{"name":"npm-registry-firewall","version":"2.6.2","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"2c9d25f23ee106cd0f79570743d4e020e76e5efa","_id":"npm-registry-firewall@2.6.2","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-lAP3Uq6Lt1C4g81Oz02Duu4hLvGrZnPaoAyNt4BJQVbyfpzHs2gFzsLQShZoRoQmpooT/8A1bL9cl9f971ykAQ==","shasum":"dee75fe4c1bd65c4e97d1ace8c9e7c09fb87eb25","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.6.2.tgz","fileCount":43,"unpackedSize":81079,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE65iLsUHR3LI/97tMVH95mLD5KixBhU79eRd0c+y3G+AiEAv4qeGoINWwH1C7aluQHGMNC8wJtNYE1XgE3JWDbhMNk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbqEOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpmpg//S5NpahXZh6+hPqp/VOWxZ3CYWOon72Fcbonwo/E6P53Fp5qI\r\n2Cxxo/V7k21baaFIfmV509Iu0UMMfNhL2TC1VvADFt7kRUrEF9lzPSYxyWGT\r\n+2T+aPT6SyLMWZyMrzC867YwsjyimVGlqy/tMVcZye+lIObLzia8N2BwEuKH\r\nv3FzowLvmQq3s6W+jyYJaEDaxWTGpKsMjIGFZ0AXQAaqtX80YJDGHJNXZRdt\r\nv2Khx3SbIGgY/FDe/oEYyIXmGvHRHS36KTVdMYMaEKRBIxxgpS+YYRUmpWNj\r\nsPlc41uwpBrFp8pL/w7DoYcficjOdXh3SP4+vwIcx4PNmjz96/U7GLLRHiXz\r\nQP1XAtgEB6y8yqOv9E/KHbdGf32NarSG54XdyU2V5Y4/tfOLnXIHKEccKynw\r\nDH5HYjEgOAOfGFGjtAX2Uk01t88Mi9JJtoktgLZdNX14HteE6dLQnKcR5fVq\r\nI3kaJOInckifVpy+snoDgM8ezYY2Dn8+nuMxyY0ZvtJqATpouWwweLZ8ZUmH\r\nQEzuzDa4t4ayX0sSrgQAleldTSjmP5754r80ltuK0sRTI9N3HA1f6f2eWlDG\r\ndDHGx/kfUbSZ5vlF6Db7LaMclAAOizBLcxYExrd4isD9/2dPxcw4xZOCCDoV\r\ndf1FeVOUlwyt58sNu+PM0IaO3ZZhDq6QSKE=\r\n=Fio5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.6.2_1668194574246_0.7967016097532744"},"_hasShrinkwrap":false},"2.6.3":{"name":"npm-registry-firewall","version":"2.6.3","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"c890243b1f2aa3802a5e9c99be7cc490f375f520","_id":"npm-registry-firewall@2.6.3","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-iyFEDLgRD7dHGRyCqlLovIrYWEoTSj5wjALobIWxBP7vvKCztautRAzENjZ0Tta9aGOziSBeRAwdgsZlG52WLw==","shasum":"c1ebeec94f1582df4dfbcc4d241283774af64fea","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.6.3.tgz","fileCount":43,"unpackedSize":81080,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFgwwtuU1mQvm+W/ZPIUhn/0HY1iFSVcZ1lM8ORU1S2XAiAulDJARqimH1vdVJ0ITg91uejO1XFNooGuh8g+9Q6F0g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfdUwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrTzw//cDOdI2WGIXWVdc/KXc+rLdX2WskJn9RqJtd7o67jHNlI2MYI\r\nH9iLihDgKKZ2I5/7nVqhC1QOfooLnE1/cxZiYwMYSXhrIQtgw1E0sCsdXzRC\r\nHYJZGDu2AajLDKgVojtToQIgIb8qzP2f6woh/uAGDGLVBSd6TFIjVqi4xtJn\r\nFkWtC9Kt5/jHiGFsNgtuhPj61bAqkB6YefK6H/anBfYba6IOirmSizLRQtHx\r\nsXw+Ml4Gn5TnQUT5Cvbi4ynXnC7rNFpSESPEQbzJDLm8br4Hfi8/6KXcGTg6\r\nKZkgnWziHbieWOcOLZuYd4UEGnUWAL3ZANnGvDDNoi+43Lrd3To8PY7qkVAd\r\ncKtqnkby1ki5BQgNQRKQPYOo+vBGvgbTuTXPsKjtsoB58vvN7RiUU/vFpo4c\r\nOlbCV/qMc2ddYZyUuzBv618wML+4yoDQUKDvXU/h9DodkVpJMmQO5upb+CCV\r\nlNiFthlOnK7HzCdBhGeGydg3uXhfvYPOjn89Wy3945+h9JV7HFlafR6t5tE2\r\nGL90BDXRnz9zsH9HnZmUSxtIoN0ZzKHo7lBFT745egKlTYyF3oX1gl29wEkz\r\nyj7X9sbHIehkNxkxii5O8j64TLFPKUCSWWfw1lIKIPPi6Q1IAIBNaWnq/tMr\r\n9fiRB4Gw7njRHUdiORPIRW9x6bgVReHwV7A=\r\n=m+5B\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.6.3_1669190960579_0.32963247070913027"},"_hasShrinkwrap":false},"2.7.0":{"name":"npm-registry-firewall","version":"2.7.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"d19ccd67a299ed3f39ce6fdc646d1863cb465915","_id":"npm-registry-firewall@2.7.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-jeDAw7xLjk+BB5fRcKfHVeiDVaq+cp4zOnd3VgloA+eC6BFVChYCaRznv5Hz8+NuQfptzYyRWAlsSjn8pQpXQQ==","shasum":"e10033e48c14445d338c3c60454c4bdd1397e92c","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.7.0.tgz","fileCount":43,"unpackedSize":81469,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFANITAqjJHMjsxe6SZaUl5oHEFPYII1CtizoUaIgvw1AiArezULFPApr+M+6paENtaS+wuMf+E2+gK1yrtSNPMCSA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfeIPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoBTxAAkRzNm6m37CqiYBqJS2V6irJ9A3y4GNaJETK5roAoZorgaBp0\r\nM3cESzr6PI+SnWtd1oOgzsO4gyVBZidYUO9rZPyhdZCiaIXltI9+VL03MHwo\r\nf9XYyaYkBl8v/yajG0mGyCAZSXAgqzAaoDCZ04NOz4lLkPZmoCaNnK0NBhzc\r\ni2FypdGBlAyOdxvCJuuhSDsmIT0s1GYQwiUtLTlqIbkHFNImZRrMZQFEf5SZ\r\nNrJdz6ztyv4XRuYcKWm3OSkD5M2rk/IcwFlPGFFtJwepQ9v+9oylXlR6uflv\r\ntmJxhTFRHq1aEST9fQZtuiFP3FJnxIH26VgSDrDjcGbAel9W9TIaZ5jc5QXH\r\nNtH2LPGDHcu0lUwvRlaTY78vqMm3ZzQtpSdZVCrzQiZNqUvLETFoRPZVRNMM\r\nUlfzvbUD+/asTXYow4ZVclCcZeYpttZFWpnTRHSgc8mBXoBerIeJB2vm/27L\r\ndgZSmxYBhP5M30kgkFhuIcpBNV7EY64aOJ5Jdwnf9IQLc1YmsmENaHea5t0Y\r\nWhgj3/a6/uH6pf04XwmfGL6ZpNlu4i0xfxHDSPFvP1vOBPYOx9fMWsJ3voJC\r\n3kqNu4x4N5Q2X5ZLdpWVz8kEowAo/+5Y9jj42AFOFnDR58vMSq2a6AwI6RD3\r\nUvv+iPe/wIKyCeCDOu7wg6RHx2J4lpixVg8=\r\n=fKVr\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.7.0_1669194255709_0.2068010850261217"},"_hasShrinkwrap":false},"2.7.1":{"name":"npm-registry-firewall","version":"2.7.1","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"a34950e89b9a1fa5e83e3f6e5f12b998414c368f","_id":"npm-registry-firewall@2.7.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-FjjEt5UF195Csw1olkQogMGypjyc1P/Bi0U7mNUfR6pe88J3cfsHbMhFOFF+OBi7GKRjapGVoEI+7VFQD88m+w==","shasum":"c297401680181e7878aac93a092e3700aee143a2","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.7.1.tgz","fileCount":43,"unpackedSize":81430,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGFMSY1LsKvI5OvIZBcYg3h7cW5uqL4e+z1TiKxB5SzXAiEAmGj+ii/+AOt9JDaQLhqlh4s75jfQ6TqAbiI4l3j1mBA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfjUaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmolMg//RjSM4/t3ypqGVQUloK3bXdxF1nonUvLKIILLEkO07W59Gox/\r\npMZQIcOhcEBaiCOnghLtED01WvJ5PmE3yUu5oMCzYp8aruhUNnQmHVXGXVdN\r\ny6HfSBG11WJJMjkqrlnW+2aVIsZN42NyuitLxcgvGB0TPcYXphkkfvzz4s9Y\r\nyA9cmLR39wlk4Ma77xpcsUcYQZchZ2mtP92ITXyZS8bN52o0/61vgSsHhIl8\r\n1IYgMorjWJh19NV37n7G/lurF4IwmhFvgF0dCTImFtg34p6xx5LS7stRb0pD\r\nOYayZ9WkBYLde4F4r9VNk1rf0XwsZiPjxdGXvVAIEDcnPuPBeLLR1437x3am\r\nh0xvHXwei88cNJ90BlsL3ANsTRl1VIPW9nhexGVty6s1B8Bsxt1XRCvM6ZOH\r\nRpvXE/XQrNJKPXfEKLBG3mNx7VAcUiJNtBWxTIAa37kFk0xQHfL9t5NzaNFg\r\nH45mHI/KxAijd39f0wRvz/O54hYYdqFBiV5ePD1VhsvR1CNg5xIu7+Fudx7q\r\nH8FJS8Ff5VuhNd1mMhkplgVJIyMlSRKpUn44O1Vn6ACNaF97kEagyjJKtyqR\r\nqhxg4lsJh2SVHHLOachZijKExJdbfmpc+uhMWHhOuTOAw8baqC7RpVae2dcE\r\nzyyd8gZoKH/ir7BSpoaRzKN1aGrNq4yrjgg=\r\n=1D/J\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.7.1_1669215514717_0.29123562743388876"},"_hasShrinkwrap":false},"2.8.0":{"name":"npm-registry-firewall","version":"2.8.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"81f96b68e9c5695fdfceee6e677a6c09b1cfe7a7","_id":"npm-registry-firewall@2.8.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-bqMObKvAwyxxxF81MkWl/2s0MFFyk7e50caSTEPq9j2ZkfQFYQ+eE4+72OluJwpPcw+jyn5u1iSM3LvfsoiFhA==","shasum":"6138b566bcf5ef649cc8ff8891aa0ead5255fdec","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.8.0.tgz","fileCount":43,"unpackedSize":81682,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGDOATAeSh1fOS99rGUZCCj4fT21mNDiKuKglYXdmJEIAiAeVL9Not9LmizHpePVrP3Xw4/QdvsN0ppZFaMvY9hoYw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjkIWgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpjLw//TsHpN+WWqL+PLtKLQwlYnK2DQ3i+LQK9z5z5ykrkCrdwdo1D\r\nQSjlAV0l3PNBR8rjR2z68vPJL0ygTMHQzK3/GwJmgi5UxQGRz4WoAq7bznwv\r\nCiuVQUZ+qRrKgMtx6TvOk7FE4YSgSmv51sd61VCGzy3E6FFOOxThcQEF5xtl\r\nhNuwrrCxlzggu+R2MDIcqqoD77g4kZ7M9Yd3kkPloYkfjuS5hvkSV5w+4n+v\r\nERP0qa/czNBSvIFn2wQI5Fh7D7iIYmQEsp99UChdwSHM1Yu70OLcq5+BRpe0\r\nRfOld8R7Vv6XJqOKGCJHDlfj4Ilbe6aeqFwcqBrAd3UizSc+B5MrKoYUBgq5\r\naCbH0L/6rTOW4Q0m/odCWbmMYA3wgxaoxmlxLQVD0jE7CHbHl6+rdbTFErcL\r\nIlqTtGmTLjayRYNchK9wCDoB9LSuFL2bqOOaJuWG3IfXcFhMOjdsiIh9TJNP\r\nkofGFWvoX2dS0M3q2EKVYiUGHpN56Re486p+b2yg6p61uxix0/mu4k1CdBe9\r\njFrUk5hnER9XfNPtMcg2dswiKg2lVCxEjddKtG1qMn653+k0GF/oodUs04bV\r\nwLmViSwlxxFZbebgAl70Jxv6IPgY88S656xSElLfzYHGMdNViOVd4RszLe/O\r\nwQGv/GTOy/4tt4CvAn6FNi0vPbN/mMmBlo4=\r\n=hWVE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.8.0_1670415776152_0.08322736213958426"},"_hasShrinkwrap":false},"2.9.0":{"name":"npm-registry-firewall","version":"2.9.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"a2d3a877764c9d82ed8272d6a5113c9f87efae29","_id":"npm-registry-firewall@2.9.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-oToaAxgkW5WhF7lFeit0c/brHElwj9cZA63DGXeaJHiEnZ8Rd7LCtl2tagxOwEofOUtU5IntDRYTbU3npbiERQ==","shasum":"eaf469132903300671747852a170bab372e60fe9","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.9.0.tgz","fileCount":43,"unpackedSize":82428,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCAxbvFwlSY1Pxy506kCbpB336+4a9Fm/zN80GySdO+VQIgL5fwOxHsHytuHDrxpODODSmHIFe+EET+3ihebJDPy3g="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjkKGfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoh7g/8COP9d0IUrGfnPhXQlSnaBpZWVEmToV4Dw8iBU+xc5juk8KIT\r\ny1o8HohagrbkHgKGV92g6prMQ7sFNZX2dxN4abztS0WrzVLaZxQXBD7voDJe\r\nVSf+ITqr3x1SB+kES4HteosmNCUTLkTvroetvrM9Ku0Bg+2+pj4amk/pX85O\r\nEERlJPGAVj7Uk5yfATd4o4sTpXZA5+fdqEtm3qjkMMKydcXti/KfBMecjsRm\r\nPhlHUj3pFTA58luTldMdAsbbWG6DtkDPhrcdOvXGn7MeVQb2pVx4pQlAYAFE\r\ncqeuw2VqKVb3Hz2Aqyr1Ghhyd9YEnSsbzKJ1RYRFfq1HelJWSPoF9ee9EJKh\r\nM1C0BTujZJK4Mlme3deur6F7vSqIEVLFFmEMVjxOiHCprd2ZTYXRACnbCYkN\r\n9P4xllOjyM8Mnij+tidGRjNMUp1JmIccZJKEqMpROVc+nyhSYCk8/RPwn3Rg\r\ny/v6ocQ4pYFfCmwdNACtDgZZOL37hlSY6CslXClO/pzbgk92zkJT+bLlrNVj\r\nnFb1B/DchkYl3/dZEkgGlRD0dPgjw4atICmLFnlLqqI8hyFAp5omE7VO5JJT\r\n1EgAD9e6y9QbGktvcd+cPn4TRNs/d4CnmTGC8HFtWDwgbiP8TSTLcFWPhDus\r\nrV3SUXTlZugR04HKRuwh0+6G1dGUC9HZVj8=\r\n=A0Aj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.9.0_1670422943587_0.9159503403489204"},"_hasShrinkwrap":false},"2.9.1":{"name":"npm-registry-firewall","version":"2.9.1","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"767ab1ae9267355572b93be4c0296075a6b901c4","_id":"npm-registry-firewall@2.9.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-9ro6Myuj3jIFdM4JPvqQRoZYfeEsVNB5dKWapueR6EjkLueizpWiqWupIeqaiI0dEK+jdICWXuV5WMU7F/BvZQ==","shasum":"7fb83d99c882e36e7d7911befcd243dccb787346","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.9.1.tgz","fileCount":43,"unpackedSize":82449,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE03PCvYF++Pb10XRoZVZFukamTWv/YXxR5YogF70CIsAiAFh+FBYD6EW6lqRH53qhuAmD5Zp0gDi8L/R7YXcU6gtg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjkci5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqfcQ/+I6ttlkdeEU/JlUWAeXHXFTHkpJqObBO1duhHq7mc0hdsfbnt\r\nM/lczfo1sqiF0cNrYeJYt5DzuovxkJeswMG9IAn4ZmgF0yWWCLV+FJLji2TL\r\nJTchZFpTaXx1yzwzKt10WB68mw2pW+cW0gPtrzaDfuIVZ3oAUC6xHw2FfON8\r\npWovHL2JSel4ulvDFQuhPIPVfgiDajC7A4o5ChqjyUeAik8UTqzN3HpP43Ls\r\ns+rSfDexPjQpDDNX9hKF6Pt60F5+AbszGd/zAWg197kgkBVJWin+Dk7t91vA\r\nE8tQgbNob4mXhhR/PxczSh8vmxotJN/BHde12RgjfkvwRyHRN0Y5p1mcTJlj\r\nugLw1lJOlH+wFZwqiJwNUS6NI0DpOAzDxt8ke7bMxxr2wzajcmUUnRlwsxO/\r\nRGjGavGU3bLO9Fj4CCP4gPv7efiENg7igupjxnAHmTqeKeEqi2ct+Htc/R6K\r\n9Lb6KuTEgtkR4OJYjeHGtI7nb2+Yzbq45IPRtxbWc6xqTQbiKGk9yWcryugY\r\nGOvuDzfRUEUJuCUkh/aypgKTpLx4ZVYLmAYrS+/h1IsDilM82JGfzXCFFxn/\r\ncYk+7iSHh9xoOl5c06qo5TA/ZNapAXu9GsTT4coNXZWRb4lQBFE0ghipAUhZ\r\nxeZNFim/xPqbAjsIK/gR3m9hgGeaUskSMS8=\r\n=2rmJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.9.1_1670498489641_0.7365149849083135"},"_hasShrinkwrap":false},"2.9.2":{"name":"npm-registry-firewall","version":"2.9.2","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"0306fe70486ca314a848fc42e62d2b9ff9f88590","_id":"npm-registry-firewall@2.9.2","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-gj40OzHMcrBLCJErll82DmrTiRcXEdZqX0aNfQpqZHi/p45dqQ3dDUXtRm5k7t4ykmnunt3ObC+MvRIHR1Aoig==","shasum":"36fcb116f0080082024423c770fb77299f3d36bd","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.9.2.tgz","fileCount":43,"unpackedSize":82279,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFzRiJzUtLbb9rUlZAtiK6IK4rpB+hUVpT9mmUWJxg+eAiEA2ea+Babr2P730AiX9oHHgS+f1GIGCFq2HiMvDnGAxr8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjkfg8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoJ8w/9HhYusUxu5hhuT2+OfZ8WYwttTjcVgWiY12Z1/tNin7Fxi9NF\r\nuaEWQ6ORYqgHhRn8sIDelVT68bw8zSSXEuZqksV2DRMGKGEAQHwuMqaseavd\r\nrb1EwA2Rk9SUROBAX24Ztz9C+47WJBs71ZTfNGCS17QAlqYOcAtywih1TgnS\r\nHjMfn4iBdzvh2abPgtk7tGtIgxoKUMLiZ6hsgXwkGaRi5KIGQe/QhHRywoce\r\nbGatlLIzm1nlWoQ5ke0yPtxJlRLQiW/Btmd0ZLge8HeiYrosTYX2/ouWC4Y0\r\nHBix6vlVPxa8Yfb1At8N52N3gNB0/2mZGs3I2Pii34ZysPpIZ9JZfQ56KlA3\r\ngNkTaymIlLfeCH34R2S5xEUADa4Ce3wXeJjk7yVWTx9A9/+5K2qUrX5nyTMI\r\n3YriHyDbXjr/fAlFV+sucIpzXxdqhMjF7PuhiJqsMHgiAUJNBgMcDPDxnIh+\r\nm74ICo1eJP3of/so3T6mmCNgNuO5XdGovS6yMh2HXs1+WB0Wyn7inRBjItA9\r\nFNCeScaWVFMRTT1A+QLZl64McBvbG1OnstVzEGtDwPFfKq3mxRBmUEKsB1SE\r\n+Cxc1g0Pluzr7E/wen7ournN4tXQ944CYyZDXnLlQaWgQKyH0GDqz5dgZNhz\r\nnX4Nx8pN8YVOxrgfkG/yvOEc3tVyqUK/qE0=\r\n=x/38\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.9.2_1670510652580_0.03021127381159161"},"_hasShrinkwrap":false},"2.9.3":{"name":"npm-registry-firewall","version":"2.9.3","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"npm_config_yes=true npx c8 npm run test && npx c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","gitHead":"f16bdd04e0e0ac5d54cbec2d810dc21a18a9cc72","_id":"npm-registry-firewall@2.9.3","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-B8x9P27a7NssKQFM/ksBCpuudLizBXeWlC++BhyKSo+cuQA9+HinMe1HACoku2Odubgf/ja3cQJ8DDHb5auwQA==","shasum":"0feb1de94bd11eac05f2feeca9ce7b7eed3cd0f0","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.9.3.tgz","fileCount":43,"unpackedSize":82399,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGgC/6A4+2Wdzengnli6/tig541cIq7YQhpLDvrw+v1HAiEA8s/2m5m3Mr6O48EBPnA6lhnx/0yvFQEig9dzqPYdo5U="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjkiMeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpWcBAApOVNaqIvhAW0VoAEzeb2J7L6HIwYs9QYS5mj7zZ4Zshb9OPY\r\nITVGUtW4pf1BCCDhZG0jzz5ziXp4AdLPSbfIup2ngTvKZs9+PtEL9bltVDKY\r\njFxjJFwbQuuOgwhYMIA+KyLnYF2z/Ov/NMnex7e0bpzoxGkWBGi+m4r59gjm\r\niuP9LQwUJJ2mo3QZmlXf83lfkxqgUKUkesyIa75yQWQi+wcasFGlxd57Xlkp\r\nWxuhwEA3/n5rTMoh+0xLvqLbk/Q4pU/hr+GyjmVW/zoxd8VYEUiIuYyCJ9TJ\r\nh6tF2mnvwYUrSJDRnRMeiCGIXbo0v64zSxTwYqx8r3TtBSVk3kB498Goc1FH\r\nG2ZNXm2QDMXOfH82YvY7D1TZi/rSzIor8mmR9eo7yLe7HH+28Miz87BpRPM2\r\nAkq5RbEkO7LUH1OBImui6jE55WXt5uhBYy/HwZgr0jSLZ25pzFHpABm4joOs\r\nbgm9cgI0uijwqoVCW363wkwQgHzT7z/9TDWzS2Ju017sWaegD2vqwFQ2rNfV\r\nddignz37zd/Ps7sxvXHGUBoCBVz3GOpS9BKieh85mcYjHq9daH8o/h3FIpcZ\r\n9DjF0Sim+k0mMrpek0pKf6S3uvFGqMoh/+5U2j4VNk8xOkvQg7cFYzDeijNx\r\nFhLvQVXxTiwj0Hn2juUN92FiITxXrIUv09E=\r\n=Chsg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.9.3_1670521629860_0.9937702649183557"},"_hasShrinkwrap":false},"2.10.0":{"name":"npm-registry-firewall","version":"2.10.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"c8 npm run test && c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","devDependencies":{"c8":"^7.12.0","fflate":"^0.7.4"},"gitHead":"e515f5fc6bc62d6f1e3358f1a2e0a140442d0e4a","_id":"npm-registry-firewall@2.10.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-xsjNEUJypnkjarP2VdqaW4g/ZpsrmFCXKiqc/98tu+2ubYvECTa8ENkV7bRpxcd6mc8IkrTqzSqbPTaC7oDzjQ==","shasum":"8bc29f0af58134594d89d8cb3d51ac4eeaeec8dc","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.10.0.tgz","fileCount":41,"unpackedSize":79854,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/5YXgE8XtbPdzDwvA9bA8qlBhse+4y075O1IvWnH+FwIhAL4BgOpLnVD6P/Y3ytnHXf5Hw3r5hF3ufYc1gPI1caoH"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjl3pHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqJlg/+Pa2lfOhX1Gg4xHA0hxCJqIqBNmxXNLctl7j0F/Ls2Iwvboqc\r\n1/zfZE+UkUS9EtH5UGunPo9h7qzVjjXv0QH6f4zLQ4Ptx6dmLZqy/OM/+ckn\r\n6NUBvVxEpnlX/ZpVzd0qLXzpJufliL7oe1/2Ei397wd0Ze0FXgfrRpuxDaUg\r\nf+KxM2H9u9dDx6ilJVyOhMeyULKH2hjB2xuaE2PdvbHcLCiHMj1LUQCfbM1n\r\nzV5ZSXXGOvSvj3OjmgwtCmiNyzLdsJQLfvxSTOUgYpZfPrJ+hHJp1qvDAHRF\r\nLMZqZeLjR1yWCtkuHTnTNUe2+MO9AYkASRafSRoCgF3UqIVpthQdtokC4uWI\r\nThL8b2o7ntxxSBQBq/N1F8L3S2YFTm9LGcjYoh2MZZP6mtILUEHX+MUOyptI\r\nV9Gd4pNpCS32VJ4gMory5j8N5OpH/0ZkhzKatTXPhYiIlfkMAG9njxbfaKUy\r\nC2aiC8zlixxQfdC+7Tv2DuwfkYdaDDCpTtu+tR0+kGpRrMCFdZ/PAhS0F27Q\r\nscIuA5SbEcQP2ebrIrDQfQizz1TP8E2XtaKvPznjZxV4anluDyGAyprs0kuL\r\n1GxX5+5wXoKfk9bGDGa9jO2nLykVGmeSorbquLiojDr3iZHv0Rc9eMu3iH/s\r\n8JbaHtVKf0oeovwB6bv6p+GgT4yZnt0pdrA=\r\n=/mL4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.10.0_1670871623173_0.4224732160604687"},"_hasShrinkwrap":false},"2.10.1":{"name":"npm-registry-firewall","version":"2.10.1","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"import":"./src/main/js/index.js","types":"./src/main/js/index.d.ts"},"./audit":{"import":"./src/main/js/firewall/plugins/audit.js"},"./std":{"import":"./src/main/js/firewall/plugins/std.js"}},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:cov":"c8 npm run test && c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","devDependencies":{"c8":"^7.12.0","fflate":"^0.7.4"},"gitHead":"c9b4d496f52289a166b9c64d44ba0f88c7548556","_id":"npm-registry-firewall@2.10.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-O3LZzXHraTxuLPNCGD0IIPpM8Y6YRFF2ABwacwmpA3/kCZ4dryPPRfPjnUfs/6U0Aapu0VrBT7j0rL6qcRK5fw==","shasum":"54a165c2b760f582ef22f68bd30e25cb0e6966bc","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.10.1.tgz","fileCount":41,"unpackedSize":80359,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbPFWzC/kkAg67n2t+jIT5ycHIfhcWHGzAJdnHe/y1kQIgEFedc43OtjlbrszVS/EXbCkyCt8woMmSV2wP54h264c="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjl41tACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmruUQ//dK949nOwPC/HO1ftrvBzAIwvine6Pw/1hFglfGl4DJoXCwKW\r\nmsqdSMh1DQsNMdMNl9tCSRCPTvxJ6NipGDscvNtblTaojGi2Owe0nqrt/WH2\r\n+DBkSd6XyCy3HFhsTuVbi+BAybjdoThjwrODEjucEvRvIqrxadZ+uDdNJP/Q\r\neIp68LjvWLyc761AqPUhjm1dVHqOfpXykoBVHgfdrGSuNVYGXKG5pNGQelPs\r\nCLKyiUas4NUxwlTx1Zf5T06uYIGfj0aN9xAaxRplXIojt8PQAy0qa5NJlLbX\r\nhSS/BkyNmfFzJn/PyYWdIpCVpq9seJloQ1bu3QkLMqgwxJPBsSNLwYBZ4OoD\r\nxRYsAz7ZNw5g/cYLfOuJLflb6OMi1avmLvwYlWnaLIT5yp74uKNjNqCIBQzd\r\nSYtHAcCuWNTGjrD0gKJOIZnN9A/A50PeA7134cQrFhc5NqYVblweWW3IRLKL\r\nFiGGssd+369eGiVoKxBMBY5pJVpCtUh7/lkdoYWrWTFAeMmvmGXALvv995E6\r\nTvw/8H3VhcyhdcLfXMLN3O3hymKzuK1XuhBBB+Cw7iY7oYZ0/OSTak34xbd6\r\nyMtRe5xleK+xqRZziph/SXi4eDo8B36l4qm41uyJ2mAdYPQQ0dKh52ApLbwX\r\njL0fufyXprvcuFzi5kVyLvJd7bv1KML1Ef4=\r\n=4Ntt\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.10.1_1670876525463_0.45099155105053224"},"_hasShrinkwrap":false},"2.11.0":{"name":"npm-registry-firewall","version":"2.11.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"types":"./src/main/js/index.d.ts","import":"./src/main/js/index.js","default":"./src/main/js/index.js"},"./audit":"./src/main/js/firewall/plugins/audit.js","./std":"./src/main/js/firewall/plugins/std.js"},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:bun":"bun src/test/js/all.js","test:cov":"c8 npm run test && c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","devDependencies":{"c8":"^8.0.1","fflate":"^0.8.1"},"_id":"npm-registry-firewall@2.11.0","gitHead":"8cfa070eccaa84fc86b92d1db0f0e8bfeb210f8c","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-QUIEMwzSO8SPO4oq03sEkxZAyiyLaTdclkle4E78KddrzXUfd2PgMafuymM3BZAj18mkbcG+b7XZbeOXqe4/PQ==","shasum":"85bc3090a9a93c9e6c2a7bf296cd40f3a73a7132","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.11.0.tgz","fileCount":41,"unpackedSize":80655,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/npm-registry-firewall@2.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDS8Nv9923G/aBJb61tuy37UKKRdhat7Q82CxXZa78F4AiAhDEh2xZJ0cZWq8q5tZwFR1X4OPymGTuGDXUxKLtZZXg=="}]},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.11.0_1698488140226_0.20953296598915627"},"_hasShrinkwrap":false},"2.12.0":{"name":"npm-registry-firewall","version":"2.12.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"types":"./src/main/js/index.d.ts","import":"./src/main/js/index.js","default":"./src/main/js/index.js"},"./audit":"./src/main/js/firewall/plugins/audit.js","./std":"./src/main/js/firewall/plugins/std.js"},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:bun":"bun src/test/js/all.js","test:cov":"c8 npm run test && c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","devDependencies":{"c8":"^8.0.1","fflate":"^0.8.1"},"_id":"npm-registry-firewall@2.12.0","gitHead":"b3f115debd02e907162547314221fca3463b3e27","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-Gt84zEGC6IvW6PfGRDP2ZY+WDArFtZZ0zZIrnxqXuCZa9eCPgikXcWFPbwyfJNcbjTljmQnOkqgEhPoDrfB/mA==","shasum":"8a5514257625618cda53c3fb4318853509ef5a20","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.12.0.tgz","fileCount":42,"unpackedSize":83003,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/npm-registry-firewall@2.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBzBST4ZgLm7+EflYIxuCgsvs38JtRYWqLERcdW6HI2QIhAN/AhCf1CTfX86ZAe8uc07QMS+pjqCLeCpA2q2ORSPl6"}]},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.12.0_1698511200968_0.9287864927560487"},"_hasShrinkwrap":false},"2.13.0":{"name":"npm-registry-firewall","version":"2.13.0","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"types":"./src/main/js/index.d.ts","import":"./src/main/js/index.js","default":"./src/main/js/index.js"},"./audit":"./src/main/js/firewall/plugins/audit.js","./std":"./src/main/js/firewall/plugins/std.js"},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:bun":"bun src/test/js/all.js","test:cov":"c8 npm run test && c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","devDependencies":{"c8":"^8.0.1","fflate":"^0.8.1"},"_id":"npm-registry-firewall@2.13.0","gitHead":"8f9a0e84702494b66e26888792502ac02d4181e2","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-m7mJroILmncXfH4fXvj0iOxGHZ0KuED4xFu7I0bJPWVKR8+Kt8JZASYqmgiPtFhL8QVNAmXWtG8in4whEKmhgA==","shasum":"ae8866c173f088a90369f48e9e0ddbe267f7cd80","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.13.0.tgz","fileCount":42,"unpackedSize":85174,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/npm-registry-firewall@2.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICigU6NJJEOOOkAXQnP64PGWfY4yYCnaHeNRPWsxiOd3AiBWyYK4BMURgmSqmstbgOh311UxYz8L/dDgGPiwoMgEpg=="}]},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.13.0_1698647499709_0.30169748301527766"},"_hasShrinkwrap":false},"2.13.1":{"name":"npm-registry-firewall","version":"2.13.1","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"types":"./src/main/js/index.d.ts","import":"./src/main/js/index.js","default":"./src/main/js/index.js"},"./audit":"./src/main/js/firewall/plugins/audit.js","./std":"./src/main/js/firewall/plugins/std.js"},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:bun":"bun src/test/js/all.js","test:cov":"c8 npm run test && c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","devDependencies":{"c8":"^8.0.1","fflate":"^0.8.1"},"_id":"npm-registry-firewall@2.13.1","gitHead":"53811291d0bd8208773cdf341a31dced5f4a7e16","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-iQ4X5Ftss0a+Gems95UZAQ0TX+2c7E+NL5aVl62FaBSLiY0EPWdXriWDvkNk5Log+v1oLFUAnaGx4B9sbvqVeg==","shasum":"b87ae656d757d48b7f700bd1280b887cd5113a72","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.13.1.tgz","fileCount":42,"unpackedSize":85497,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/npm-registry-firewall@2.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCjyVe8F4kq22t1cUyqoRziUqZb86Bj4QoagEPqpsh0ngIhAOO4qcaGn16slLq46+i0MHpKRukSyq+ZTynPLYJH95+j"}]},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.13.1_1698945578223_0.29325416919315717"},"_hasShrinkwrap":false},"2.13.2":{"name":"npm-registry-firewall","version":"2.13.2","description":"npm registry proxy with on-the-fly filtering","main":"src/main/js/index.js","bin":{"npm-registry-firewall":"src/main/js/cli.js"},"type":"module","exports":{".":{"types":"./src/main/js/index.d.ts","import":"./src/main/js/index.js","default":"./src/main/js/index.js"},"./audit":"./src/main/js/firewall/plugins/audit.js","./std":"./src/main/js/firewall/plugins/std.js"},"types":"./src/main/js/index.d.ts","engines":{"node":">= 14"},"scripts":{"docs":"mkdir -p docs && cp ./README.md ./docs/README.md","start":"node src/main/js/cli.js config.cjs","test":"node src/test/js/all.js","test:bun":"bun src/test/js/all.js","test:cov":"c8 npm run test && c8 report -r lcov"},"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"keywords":["npm","registry","firewall","proxy"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"homepage":"https://github.com/antongolub/npm-registry-firewall#readme","devDependencies":{"c8":"^8.0.1","fflate":"^0.8.1"},"_id":"npm-registry-firewall@2.13.2","gitHead":"434e0c07429473ffa01d42c44f8fadf1d1fe314d","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-KNp+90RxRwot3gbmWKxtnldG4eCRdrg8FtQyA7Z/jLeLaBG3BYHmBokcAog431LWdJG1uHJQsCDvhKhywP3y8Q==","shasum":"d382a6847ce722f6e616a93ce9509f8bc36ba514","tarball":"https://registry.npmjs.org/npm-registry-firewall/-/npm-registry-firewall-2.13.2.tgz","fileCount":42,"unpackedSize":85915,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/npm-registry-firewall@2.13.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGi20xCx+JnM2C8Rjq7DxvvrZQR513yKYbbE5yGtX0eKAiEApICpZu69RDfOfEKBslLygK2/jkBWzi5GKaLDp6/S1Zc="}]},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/npm-registry-firewall_2.13.2_1698949551723_0.2747391982081797"},"_hasShrinkwrap":false}},"time":{"created":"2022-03-28T08:14:47.010Z","0.0.0-pre.0":"2022-03-28T08:14:47.146Z","modified":"2023-11-02T18:25:52.376Z","0.0.0-pre.1":"2022-04-11T13:31:23.385Z","0.0.0-pre.2":"2022-04-11T14:13:51.322Z","0.0.0-pre.3":"2022-04-11T14:27:14.169Z","0.0.0-pre.4":"2022-04-11T16:50:14.090Z","0.0.0-pre.5":"2022-04-11T17:15:25.237Z","1.0.0":"2022-04-11T19:23:08.165Z","1.0.1":"2022-04-11T21:06:54.966Z","1.1.0":"2022-04-12T07:28:23.754Z","1.2.0":"2022-04-12T10:37:45.347Z","1.2.1":"2022-04-12T11:43:23.559Z","1.3.0":"2022-04-12T12:29:54.774Z","1.3.1":"2022-04-12T14:13:53.106Z","1.4.0":"2022-04-12T18:39:27.994Z","1.4.6":"2022-04-12T23:43:09.822Z","1.5.0":"2022-04-13T09:09:32.408Z","1.6.0":"2022-04-13T10:22:43.158Z","1.7.0":"2022-04-13T13:08:25.223Z","1.8.0":"2022-04-13T15:58:45.907Z","1.9.0":"2022-04-14T16:16:02.878Z","1.9.1":"2022-04-14T16:25:05.270Z","1.9.2":"2022-04-15T20:16:10.988Z","1.10.0":"2022-04-16T08:26:27.540Z","1.11.0":"2022-04-16T18:08:32.884Z","1.12.0":"2022-04-16T19:22:40.218Z","1.12.1":"2022-04-16T19:27:47.862Z","1.13.0":"2022-04-17T17:51:24.982Z","1.13.1":"2022-04-17T18:15:22.669Z","1.14.0":"2022-04-17T20:46:34.553Z","1.14.1":"2022-04-17T21:22:16.420Z","1.14.2":"2022-04-17T21:48:38.030Z","1.15.0":"2022-04-17T23:01:07.369Z","1.16.0":"2022-04-18T08:39:13.412Z","1.17.0":"2022-04-18T21:06:14.124Z","1.18.0":"2022-04-19T12:48:53.121Z","1.19.0":"2022-04-21T18:56:45.607Z","1.20.0":"2022-04-27T08:27:05.337Z","1.20.1":"2022-04-28T16:39:34.730Z","1.20.2":"2022-04-29T08:18:34.695Z","1.20.3":"2022-04-29T09:39:57.233Z","1.21.0":"2022-04-29T17:31:48.382Z","1.22.0":"2022-04-29T19:09:08.025Z","1.22.1":"2022-04-29T22:25:10.861Z","1.23.0":"2022-04-30T07:56:08.179Z","1.23.1":"2022-05-14T12:02:31.524Z","1.23.2":"2022-05-28T16:52:06.959Z","1.24.0":"2022-06-02T15:13:26.749Z","1.25.0":"2022-06-02T18:29:08.193Z","1.25.1":"2022-07-09T12:33:25.987Z","1.25.2":"2022-07-11T00:37:33.732Z","1.25.3":"2022-08-04T22:55:01.250Z","1.25.4":"2022-08-04T23:25:33.267Z","1.26.0":"2022-09-28T10:26:59.890Z","1.26.1":"2022-09-30T15:23:50.289Z","1.27.0":"2022-10-01T19:22:11.034Z","1.28.0":"2022-10-02T10:41:51.073Z","1.29.0":"2022-10-02T12:22:37.356Z","1.29.1":"2022-10-04T12:34:47.402Z","1.30.0":"2022-10-04T13:46:33.531Z","1.30.1":"2022-10-04T15:35:28.549Z","1.30.2":"2022-10-05T05:51:38.308Z","1.30.3":"2022-10-06T14:09:39.719Z","1.30.4":"2022-10-07T18:22:13.459Z","1.30.5":"2022-10-28T08:03:33.540Z","1.30.6":"2022-10-28T11:40:53.487Z","1.31.0":"2022-10-28T19:42:32.745Z","1.32.0":"2022-10-29T20:34:43.990Z","1.32.1":"2022-10-30T14:04:58.786Z","1.32.2":"2022-10-31T11:51:18.532Z","1.32.3":"2022-11-01T17:41:45.944Z","1.33.0":"2022-11-01T18:38:15.800Z","1.33.1":"2022-11-01T19:56:54.178Z","1.33.2":"2022-11-01T22:13:17.164Z","1.33.3":"2022-11-02T06:47:48.243Z","1.33.4":"2022-11-02T09:06:40.862Z","1.34.0-beta.0":"2022-11-03T15:01:42.156Z","1.34.0":"2022-11-03T16:31:58.686Z","1.34.1":"2022-11-03T19:46:31.886Z","1.35.0":"2022-11-06T10:42:45.967Z","2.0.0":"2022-11-06T10:50:33.976Z","2.1.0":"2022-11-06T12:14:20.226Z","2.1.1":"2022-11-08T07:50:28.142Z","2.2.0":"2022-11-08T15:19:34.568Z","2.3.0":"2022-11-09T07:26:09.438Z","2.4.0":"2022-11-09T10:23:05.536Z","2.5.0":"2022-11-09T10:51:52.477Z","2.5.1":"2022-11-09T16:10:44.878Z","2.5.2":"2022-11-09T16:24:34.052Z","2.5.3":"2022-11-10T09:51:36.734Z","2.5.4":"2022-11-10T11:17:59.245Z","2.5.5":"2022-11-10T11:29:47.065Z","2.6.0":"2022-11-10T16:10:22.883Z","2.6.1":"2022-11-10T16:34:18.191Z","2.6.2":"2022-11-11T19:22:54.480Z","2.6.3":"2022-11-23T08:09:20.778Z","2.7.0":"2022-11-23T09:04:15.841Z","2.7.1":"2022-11-23T14:58:34.916Z","2.8.0":"2022-12-07T12:22:56.306Z","2.9.0":"2022-12-07T14:22:23.776Z","2.9.1":"2022-12-08T11:21:29.856Z","2.9.2":"2022-12-08T14:44:12.756Z","2.9.3":"2022-12-08T17:47:10.060Z","2.10.0":"2022-12-12T19:00:23.403Z","2.10.1":"2022-12-12T20:22:05.647Z","2.11.0":"2023-10-28T10:15:40.489Z","2.12.0":"2023-10-28T16:40:01.206Z","2.13.0":"2023-10-30T06:31:39.937Z","2.13.1":"2023-11-02T17:19:38.454Z","2.13.2":"2023-11-02T18:25:51.958Z"},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"description":"npm registry proxy with on-the-fly filtering","homepage":"https://github.com/antongolub/npm-registry-firewall#readme","keywords":["npm","registry","firewall","proxy"],"repository":{"type":"git","url":"git+https://github.com/antongolub/npm-registry-firewall.git"},"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"bugs":{"url":"https://github.com/antongolub/npm-registry-firewall/issues"},"license":"MIT","readme":"# npm-registry-firewall   📦📦🔥\nnpm registry proxy with on-the-fly filtering \n\n[![CI](https://github.com/antongolub/npm-registry-firewall/workflows/CI/badge.svg)](https://github.com/antongolub/npm-registry-firewall/actions)\n[![Maintainability](https://api.codeclimate.com/v1/badges/ed66fb48706b02e64f8e/maintainability)](https://codeclimate.com/github/antongolub/npm-registry-firewall/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/ed66fb48706b02e64f8e/test_coverage)](https://codeclimate.com/github/antongolub/npm-registry-firewall/test_coverage)\n[![npm (tag)](https://img.shields.io/npm/v/npm-registry-firewall)](https://www.npmjs.com/package/npm-registry-firewall)\n\n## Key Features\n* Restricts access to remote packages by predicate: \n  * `name`\n  * `org`\n  * [`version` range](https://github.com/npm/node-semver#ranges)\n  * `license` type\n  * `dateRange`\n  * `age`\n  * `username`\n  * custom `filter` function\n  * vulnerability level via builtin [npm-registry-firewall/audit plugin](#npm-registry-firewallaudit)\n* Flexible configuration: use [presets](#presets), [plugins](#plugins) and define as many [`server/context-path/rules`](#multi-config) combinations as you need.\n* Extendable. [expressjs](https://expressjs.com/en/guide/using-middleware.html)-inspired server implementation is under the hood.\n* Standalone. No clouds, no subscriptions.\n* Linux / Windows / macOS compatible.\n* Works with [Bun](https://github.com/Jarred-Sumner/bun). But `config.zlib:` [fflate](https://github.com/101arrowz/fflate) does not work because: `worker_threads.Worker option \"eval\" is not implemented.`\n* Has no prod deps. Literally zero.\n\n## Motivation\n\n<details>\n  <summary>To mitigate security and legal risks</summary>\n\n\nOpen Source is essential for modern software development. [According to various estimates](https://www.perforce.com/blog/vcs/using-open-source-code-in-proprietary-software), at least 60% of the resulting codebase is composed of open repositories, libraries and packages. And it keeps growing. [Synopsys OSSRA 2021 report](https://www.synopsys.com/content/dam/synopsys/sig-assets/reports/rep-ossra-2021.pdf) found that 98% of applications have open source dependencies.\n\nBut _open_ does not mean _free_. The price is the risk that you take:\n* Availability\n* Security \n* Legality / license\n\nLet's consider these problems in the context of the JS universe.\n\n### Availability risks\nJS packages are distributed in various ways: git repos, cdns and package registries.\nRegardless of the method, there are only two entry types that are finally resolved by any pkg manager: git-commit pointers and tarball links.\n\n```json\n\"dependencies\": {\n  \"yaf\" : \"git://github.com/antongolub/yarn-audit-fix.git#commit-hash\",\n  \"yaf2\": \"antongolub/yarn-audit-fix\",\n  \"yarn-audit-fix\" : \"*\"\n}\n```\n```yaml\nyaf2@antongolub/yarn-audit-fix:\n  version \"9.2.1\"\n  resolved \"https://codeload.github.com/antongolub/yarn-audit-fix/tar.gz/706646bab3b4c7209596080127d90eab9a966be2\"\n  dependencies:\n    \"@types/find-cache-dir\" \"^3.2.1\"\n    \"@types/fs-extra\" \"^9.0.13\"\n```\n```json\n\"node_modules/yaf\": {\n  \"name\": \"yarn-audit-fix\",\n  \"version\": \"9.2.1\",\n  \"resolved\": \"git+ssh://git@github.com/antongolub/yarn-audit-fix.git#706646bab3b4c7209596080127d90eab9a966be2\",\n  \"license\": \"MIT\",\n```\n```json\n\"node_modules/yarn-audit-fix\": {\n  \"version\": \"9.2.1\",\n  \"resolved\": \"https://registry.npmjs.org/yarn-audit-fix/-/yarn-audit-fix-9.2.1.tgz\",\n  \"integrity\": \"sha512-4biFNP4ZLOHboB2cNVuhYyelTFR/twlfmGMQ2TgJgGRORMDM/rQdQqhJdVLuKvfdMLFEPJ832z6Ws5OoCnFcfA==\",\n  \"dependencies\": {\n```\nSo the implementation of mirroring is fundamentally quite simple:\nwe just need to save and expose these assets from an alternative ssh/https entry point. Luckily this has already happened.\nThe main repository for JS code is [registry.npmjs.org](https://registry.npmjs.org/). \nAnd at least 5 public replicas are always available as alternatives:\n* [https://registry.yarnpkg.com](https://registry.yarnpkg.com/)\n* [https://registry.npmmirror.com](https://registry.npmmirror.com)\n* [https://r.cnpmjs.org](https://r.cnpmjs.org/)\n* [https://skimdb.npmjs.com/registry](https://skimdb.npmjs.com/registry/)\n* [https://registry.npm.taobao.org](https://registry.npm.taobao.org/)\n\nIf this reliability level is not enough, you can easily run one more registry:\n* [sonatype-nexus](https://help.sonatype.com/repomanager3/nexus-repository-administration/formats/npm-registry)\n* [verdaccio](https://verdaccio.org/)\n* [nandu](https://github.com/taskforcesh/nandu)\n\n### Security risks\nAny code may not work properly. Due to error or malice. Keep in mind that most OSS licenses **exclude any liability for damages**. It's also important to always remember that oss code is **not verified** before being published.\nThese two circumstances sometimes give rise to dangerous incidents like [colors.js](https://security.snyk.io/vuln/SNYK-JS-COLORS-2331906) or [node-ipc](https://snyk.io/blog/peacenotwar-malicious-npm-node-ipc-package-vulnerability/).\n\nThe independent audit process is expensive, time consuming, so only setting a delay before using new pkg version might be effective countermeasure.\n\n### Legal risks\nLicense agreement is an attribute of the moment: it can suddenly change and affect the development process (for example, [husky-5](https://blog.typicode.com/husky-5/)).\nUncontrolled use of new versions may have legal and financial consequences. Therefore, automated license checks should be part of CI/CD pipeline or the registry's own feature.\n\n</details>\n\n## Implementation notes\nThe proxy intercepts packuments and tarball requests and applies the specified filters to them:\n* [Removes all](https://github.com/antongolub/npm-registry-firewall/blob/137cf6f1f5a3bd979099c912a3357b2ea6ece402/src/main/js/firewall/packument.js#L57) forbidden entries from packuments.\n* [Returns 404](https://github.com/antongolub/npm-registry-firewall/blob/master/src/main/js/firewall/middleware.js#L27) if the filtered packument `versions` are empty.\n* [Returns 404](https://github.com/antongolub/npm-registry-firewall/blob/master/src/main/js/firewall/middleware.js#L23) if `registy/pkg-tarball@version.tgz` does not satisfy the policies.\n* [Passes any other](https://github.com/antongolub/npm-registry-firewall/blob/master/src/main/js/app.js#L49) requests to the remote registry as is.\n\n### Presentation\n[npm vulnerabilities: challenge accepted](https://holyjs.ru/talks/703ae2781cbc46d49a007f16834d7c0b/?referer=/persons/15a4605d3664430ba116f38fc7d0613d/) at HolyJS 2022 Spring  \n[slides](https://squidex.jugru.team/api/assets/srm/5f08d7c7-00d4-4387-bd22-370b7660d9d7/holyjs-2020-spring-slides-reforged.pptx)\n\n## Requirements\nNode.js >= 14  \nBun >= 1.0.6\n\n## Install\n```shell\n# npm\nnpm i npm-registry-firewall\n\n# yarn\nyarn add npm-registry-firewall\n```\n\n## Usage\n### CLI\n```shell\nnpm-registry-firewall /path/to/config.json\n```\n\n### JS API\n```js\nimport {createApp, assertPolicy} from 'npm-registry-firewall'\n\nconst app = createApp({\n  server: {\n    host: 'localhost',\n    port: 3001,\n  },\n  firewall: {\n    '/registry': {\n      registry: 'https://registry.npmmirror.com',\n      rules: [\n        {\n          policy: 'allow',\n          org: '@qiwi'\n        },\n        {\n          policy: 'deny',\n          name: '@babel/*,react@^17'  // All @babel-scoped pkgs and react >= 17.0.0\n        },\n        {\n          policy: 'allow',\n          filter: ({name, org}) => org === '@types' || name === 'react'  // may be async\n        },\n        {\n          plugin: [['npm-registry-firewall/audit', {\n            critical: 'deny',\n            moderate: 'warn'\n          }]]\n        },\n      ]\n    }\n  }\n})\n\nawait app.start()\n\n// Checks the specified pkg version against the rules preset\nawait assertPolicy({\n  name: 'eventsource',\n  version: '1.1.0',\n  registry: 'https://registry.npmjs.org',\n  rules: [{\n    plugin: [['npm-registry-firewall/audit', {\n      critical: 'deny'\n    }]]\n  }]\n}, 'allow') // Error: assert policy: deny !== allow\n```\n\n### TS libdefs\n\n<details>\n  <summary>Included</summary>\n\n```ts\ntype LetAsync<T> = T | Promise<T>\n\ntype TApp = {\n  start: () => Promise<void>\n  stop: () => Promise<void>\n}\n\ntype TLogger = typeof console\n\ntype TLogeLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error'\n\ntype TAgentConfig = {\n  keepAliveMsecs?: number\n  keepAlive?: number\n  maxSockets?: number\n  timeout?: number\n}\n\ntype TServerConfig = {\n  host?: string\n  port?: string | number\n  base?: string\n  entrypoint?: string\n  healthcheck?: string | null\n  metrics?: string | null\n  secure?: {\n    key: string,\n    cert: string\n  }\n  requestTimeout?: number\n  headersTimeout?: number\n  keepAliveTimeout?: number\n  extend?: string\n}\n\ntype TPolicy = 'allow' | 'deny' | 'warn'\n\ntype TRule = {\n  policy?: TPolicy\n  name?: string | RegExp | Array<string | RegExp>\n  org?: string | RegExp | Array<string | RegExp>\n  dateRange?: [string, string]\n  age?: number | [number] | [number, number]\n  version?: string,\n  license?: string | RegExp | Array<string | RegExp>\n  username?: string | RegExp | Array<string | RegExp>\n  filter?: (entry: Record<string, any>) => LetAsync<boolean | undefined | null>\n  extend?: string\n  plugin?: TPluginConfig\n}\n\ntype TPluginConfig = string | [string, any] | TPlugin | [TPlugin, any]\n\ntype TCacheConfig = {\n  ttl: number\n  evictionTimeout?: number\n  limit?: number // in bytes\n}\n\ntype TCacheImpl = {\n  add(key: string, value: any, ttl?: number): LetAsync<any>\n  has(key: string): LetAsync<boolean>\n  get(key: string): LetAsync<any>\n  del(key: string): LetAsync<void>\n}\n\ntype TFirewallConfigEntry = {\n  registry: string | string[]\n  entrypoint?: string\n  token?: string\n  rules?: TRule | TRule[]\n  extend?: string\n}\n\ntype TFirewallConfig = Record<string, TFirewallConfigEntry>\n\ntype TConfig = {\n  server: TServerConfig\n  firewall: TFirewallConfig\n  zlib?: string // ref to zlib implementation like `fflate`. Defaults to `node:zlib`\n  extend?: string\n  agent?: TAgentConfig\n  log?: { level?: TLogeLevel }\n  cache?: TCacheConfig | TCacheImpl\n  warmup?: boolean | number\n}\n\ntype TValidationContext = {\n  options: any,\n  rule: TRule,\n  entry: Record<string, any>\n  boundContext: {\n    logger: TLogger\n    registry: string\n    authorization?: string\n    entrypoint: string\n    name: string\n    org?: string\n    version?: string\n  }\n}\n\ntype TPlugin = {\n  (context: TValidationContext): LetAsync<TPolicy>\n}\n\ntype TAppOpts = {\n  logger?: TLogger\n  cache?: TCacheImpl\n}\n\nexport function createApp(config: string | TConfig, opts?: TAppOpts): Promise<TApp>\n\ntype TLoggerOptions = {\n  extra?: Record<string, any>,\n  formatter?: (logCtx: {level: string, msgChunks: string[], extra: Record<string, any>}) => string\n}\n\nexport function createLogger(options: TLoggerOptions): TLogger\n\nexport function getPercentiles(name: string, percentiles: number[]): number[]\n\nexport function getMetricsDigest(): Record<string, any>\n```\n\n</details>\n\n### Config\n```json5\n{\n  \"server\": {\n    \"host\": \"localhost\",        // Defaults to 127.0.0.1\n    \"port\": 3000,               // 8080 by default\n    \"secure\": {                 // Optional. If declared serves via https\n      \"cert\": \"ssl/cert.pem\",\n      \"key\": \"ssl/key.pem\"\n    },\n    \"entrypoint\": \"https://r.qiwi.com/npm\",  // Optional. Defaults to `${server.secure ? 'https' : 'http'}://${server.host}:${server.port}${server.base}`\n    \"base\": \"/\",                // Optional. Defaults to '/'\n    \"healthcheck\": \"/health\",   // Optional. Defaults to '/healthcheck'. Pass null to disable\n    \"metrics\": \"/metrics\",      // Optional. Uptime, CPU and memory usage. Defaults to '/metrics'. null to disable\n    \"keepAliveTimeout\": 15000,  // Optional. Defaults to 61000\n    \"headersTimeout\": 20000,    // Optional. Defaults to 62000\n    \"requestTimeout\": 10000     // Optional. Defaults to 30000\n  },\n  // Optional. See `http(s).Agent` docs for details. Defaults to:\n  \"agent\": {\n    \"keepAliveMsecs\": 5000,\n    \"keepAlive\": true,\n    \"maxSockets\": 10000,\n    \"timeout\": 10000\n  },\n  \"log\": {\n    \"level\": \"info\"           // Optional. Defaults to 'info'\n  },\n  \"cache\": {                  // Optional. Defaults to no-cache (null)\n    \"ttl\": 5,                 // Time to live in minutes. Specifies how long resolved pkg directives will live.\n    \"evictionTimeout\": 1,     // Cache invalidation period in minutes. Defaults to cache.ttl.\n    \"limit\": 1000000          // Optional. Max cache size in bytes. Defaults to Infinity\n  },\n  \"zlib\": \"fflate\",           // Optional. Defined a custom zlib provider. Defaults to 'node:zlib'\n  \"warmup\": true,             // Optional. Lets the prefetcher guess the next packages to load. Defaults to true (infinity). If set to a number, limits the fetching depth.\n  \"firewall\": {\n    \"/foo\": {                 // Context path\n      \"registry\": \"https://registry.npmmirror.com\",  // Remote registry\n      \"token\": \"NpmToken.*********-e0b2a8e5****\",    // Optional bearer token. If empty req.headers.authorization value will be used instead\n      \"entrypoint\": \"https://r.qiwi.com/npm\",        // Optional. Defaults to `${server.secure ? 'https' : 'http'}://${server.host}:${server.port}${route.base}`\n      \"extends\": \"@qiwi/internal-npm-registry-firewall-rules\",  // Optional. Populates the entry with the specified source contents (json/CJS module only)\n      \"rules\": [\n        {\n          \"policy\": \"allow\",\n          \"org\": \"@qiwi\"\n        },\n        {\n          \"policy\": \"allow\",\n          \"name\": [\"@babel/*\", \"@jest/*\", \"lodash\"] // string[] or \"comma,separated,list\". * works as .+ in regexp\n        },\n        {\n          \"policy\": \"warn\",       // `warn` directive works like `allow`, but also logs if someone has requested a tarball matching the rule\n          \"name\": \"reqresnext\"\n        },\n        {\n          \"policy\": \"deny\",\n          \"extends\": \"@qiwi/nrf-rule\",  // `extends` may be applied at any level, and should return a valid value for the current config section\n        },\n        {\n          \"plugin\": [\"npm-registry-firewall/audit\", {\"moderate\": \"warn\", \"critical\": \"deny\"}]\n        },\n        {\n          \"policy\": \"deny\",\n          \"name\": \"colors\",\n          \"version\": \">= v1.4.0\"  // Any semver range: https://github.com/npm/node-semver#ranges\n        },\n        {\n          \"policy\": \"deny\",\n          \"license\": \"dbad\"       // Comma-separated license types or string[]\n        },\n        {\n          \"policy\": \"allow\",\n          \"username\": [\"sindresorhus\", \"isaacs\"] // Trusted npm authors.\n        },\n        {\n          \"policy\": \"allow\",\n          \"name\": \"d\",\n          // `allow` is upper, so it protects `< 1.0.0`-ranged versions that might be omitted on next steps\n          \"version\": \"< 1.0.0\"\n        },\n        {\n          \"policy\": \"deny\",\n          // Checks pkg version publish date against the range\n          \"dateRange\": [\"2010-01-01T00:00:00.000Z\", \"2025-01-01T00:00:00.000Z\"]\n        },\n        {\n          \"policy\": \"allow\",\n          \"age\": 5    // Check the package version is older than 5 days. Like quarantine\n        }\n      ]\n    }\n  }\n}\n```\n\n### Multi-config\nYou can declare as many separate firewall profiles as you need.\n\n```json5\n{\n  \"server\": {\n    \"host\": \"localhost\",\n    \"port\": 3001\n  },\n  \"cache\": {\n    \"ttl\": 1\n  },\n  \"firewall\": {\n    \"/registry\": {\n      \"registry\": \"https://registry.npmjs.org\",\n      \"rules\": [{\n        \"policy\": \"deny\",\n        \"name\": \"colors\",\n        \"version\": \">= v1.3.0\"\n      }]\n    },\n    \"/block-all\": {\n      \"registry\": [\"https://registry.yarnpkg.com\", \"https://registry.npmjs.org\"],\n      \"rules\": { \"policy\": \"deny\", \"name\": \"*\" }\n    },\n    \"/npm-proxy\": {\n      \"registry\": \"https://registry.npmjs.org\"\n    },\n    \"/yarn-proxy\": {\n      \"registry\": \"https://registry.yarnpkg.com\",\n    },\n    // fallback firewall\n    \"*\": {\n      \"registry\": \"https://registry.yarnpkg.com\",\n    }\n  }\n}\n```\n\n[️More config examples](./examples)\n\n### Cache\nBy default, _nrf_ uses a simple in-memory cache to store patched packuments.\n```js\ncache: {              // Optional. Defaults to no-cache (null)\n  ttl: 5,             // Time to live in minutes. Specifies how long resolved pkg directives will live.\n  evictionTimeout: 1, // Cache invalidation period in minutes. Defaults to cache.ttl.\n  limit: 1000000      // Optional. Max cache size in bytes. Defaults to Infinity\n}\n```\nYou can also provide your own implementation instead, for example, to create [cassandra](https://cassandra.apache.org/_/index.html)-based distributed cache:\n\n```js\nimport {createApp} from 'npm-registry-firewall'\n\nconst cache = {\n  add() {}, // each method may be async\n  has() {return false},\n  get() {},\n  del() {}\n}\n\nconst app = createApp({\n  server: {port: 5000},\n  firewall: {\n    '/registry': {\n      registry: 'https://registry.npmjs.org',\n      cache,\n      rules: []\n    }\n  }\n})\n```\nOr even a cache factory:\n```js\nconst cache = () => {\n  // ... init\n  return {\n    get() {},\n    ...\n  }\n}\n```\n\nPass `null` as `config.firewall.cache` to disable.\n\n### Agent\nPass a custom implementation of `http(s).Agent` to control the number of concurrent requests to the remote registry.\nThis feature is useful if your service is working behind a proxy.\n```js\n// https://www.npmjs.com/package/https-proxy-agent\nimport HttpsProxyAgent from 'https-proxy-agent'\n\nconst agent = new HttpsProxyAgent('http://10.10.0.20:3128')\nconst app = createApp({\n  server: {port: 5000},\n  agent,\n  firewall: {\n    '/registry': {\n      registry: 'https://registry.npmjs.org',\n      rules: []\n    }\n  }\n})\n```\n\nOr just set the `agent` option to create an agent:\n```js\nconst app = createApp({\n  server: {port: 5000},\n  agent: {\n    keepAliveMsecs: 5000,\n    keepAlive: true,\n    maxSockets: 10_000,\n    timeout: 10_000\n  },\n  firewall: {\n    '/registry': {\n      registry: 'https://registry.npmjs.org',\n      rules: []\n    }\n  }\n})\n```\n\n### Extras\n#### Presets\nIntroduce your own reusable snippets via `extends` or `preset`. This statement can be applied at any [config](#config) level and should return a valid value for the current section. The specified path will be loaded synchronously through `require`, so it must be a JSON or CJS module.\n```js\nconst config = {\n  // should return `firewall` and `servers`\n  extends: '@qiwi/nrf-std-config',\n  server: {\n    port: 5000,\n    extends: '@qiwi/nrf-server-config'\n  },\n  firewall: {\n    '/registry': {\n      // `rules`, `registry`, etc,\n      extends: '@qiwi/nrf-firewall-config',\n      // NOTE If you redefine `rules` the result will be contatenation of `[...rules, ...extends.rules]`\n      rules: [{\n        policy: 'deny',\n        // `name`, `org`, `filter`, etc\n        extends: '@qiwi/nrf-deprecated-pkg-list'\n      }, {\n        policy: 'allow',\n        extends: '@qiwi/nrf-whitelisted-orgs'\n      }, {\n        extends: '@qiwi/nrf-all-in-one-filter'\n      }]\n    }\n  }\n}\n```\n\nFor example, `extends` as a filter:\n```js\n// '@qiwi/nrf-all-in-one-filter'\nmodule.exports = {\n  filter({org, name, time, ...restPkgData}) {\n    if (name === 'react') {\n      return true\n    }\n\n    if (org === '@babel') {\n      return false\n    }\n\n    if (restPkgData.license === 'dbad') {\n      return false\n    }\n  }\n}\n```\n#### Plugins\nThe plugin API is slightly different from presets:\n* Async. It's loaded dynamically as a part of rule processing pipeline, so it may be an ESM.\n* Configurable. Opts may be passed as the 2nd tuple arg.\n* Composable. There may be more than one per `rule`.\n\n```js\nconst rule1 = {\n  plugin: ['@qiwi/nrf-plugin']\n}\n\nconst rule2 = {\n  plugin: [\n    ['@qiwi/nrf-plugin', {foo: 'bar'}],\n    '@qiwi/nrf-another-one'\n  ]\n}\n```\n\nThe plugin interface is an (async) function that accepts `TValidationContext` and returns policy type value or `false` as a result:\n```js\nconst plugin = ({\n  rule,\n  entry,\n  options,\n  boundContext\n}) => entry.name === options.name ? 'deny' : 'allow'\n```\n\n### `npm-registry-firewall/audit`\nSome registries do not provide audit API, that's why the plugin is disabled by default.\nTo activate, add a rule:\n```js\n{\n  plugin: [['npm-registry-firewall/audit', {\n    critical: 'deny',\n    moderate: 'warn'\n  }]]\n}\n```\n\nYou can also specify the `registry` option to override the inherited value.\n```js\n{\n  plugin: [['npm-registry-firewall/audit', {\n    critical: 'deny',\n    registry: 'https://registry.yarnpkg.com'\n  }]]\n}\n```\n\n### `npm-registry-firewall/std`\nDefault plugin to filter packages by their fields. May be used directly or via shortcut as shown in examples above.\n```js\n// Allow only mit-licensed versions of the `foo` lib\n{\n  plugin: [['npm-registry-firewall/std', {\n    policy: 'allow',\n    name: 'foo',\n    license: 'mit'\n  }]]\n}\n\n// equals to:\n{\n  policy: 'allow',\n  name: 'foo',\n  license: 'mit'\n}\n\n// Allow any mit-licensed or `foo` lib or any `babel` package\n{\n  plugin: [['npm-registry-firewall/std', {\n    policy: 'allow',\n    name: 'foo',\n    org: 'babel',\n    license: 'mit',\n    cond: 'or' // Optional. Defaults to `and`\n  }]]\n}\n```\n\n### Checks\nTo check the specified package version against the applied registry rules trigger its `_check` entrypoint.\nFor one package:\n```bash\ncurl -X GET -k https://localhost:3000/registry/_check/eventsource/1.1.0\n# {\"eventsource@1.1.0\":\"deny\"}\n```\nTo inspect a bulk on entries at once:\n```bash\ncurl -X POST -k https://localhost:3000/registry/_check/bulk -d '[\"eventsource@1.1.0\"]'\n# {\"eventsource@1.1.0\":\"deny\"}\n```\n\n### Monitoring\n#### /healthcheck\n```json\n{\"status\":\"OK\"}\n```\n#### /metrics\n```json\n{\n  \"uptime\": \"00:00:47\",\n  \"memory-usage-rss\": 34320384,\n  \"memory-usage-heap-total\": 6979584,\n  \"memory-usage-heap-used\": 5632224,\n  \"memory-usage-external\": 855222,\n  \"memory-usage-array-buffers\": 24758,\n  \"cpu-usage-user\": 206715,\n  \"cpu-usage-system\": 51532,\n  \"http-time-p50\": 285,\n  \"http-time-p75\": 546,\n  \"http-time-p95\": 1166,\n  \"http-time-p99\": 1814,\n  \"response-time-p50\": 395,\n  \"response-time-p75\": 1497,\n  \"response-time-p95\": 1523,\n  \"response-time-p99\": 1902\n}\n```\n\nYou can also obtain the metrics programmatically:\n```js\nimport { getPercentiles, getMetricsDigest } from 'npm-registry-firewall'\n\ngetPercentiles('response-time', [0.5, 0.9, 0.99]) // [234, 313, 701]\ngetMetricsDigest() // { uptime: '00:00:47', memory: { rss: 34320384, ... }, ... }\n```\n\n#### stdout\n```shell\n{\"level\":\"INFO\",\"timestamp\":\"2022-04-11T20:56:47.031Z\",\"message\":\"npm-registry-firewall is ready for connections: https://localhost:3000\"}\n{\"level\":\"INFO\",\"timestamp\":\"2022-04-11T20:56:49.568Z\",\"traceId\":\"44f21c050d8c6\",\"clientIp\":\"127.0.0.1\",\"message\":\"GET /d\"}\n{\"level\":\"INFO\",\"timestamp\":\"2022-04-11T20:56:50.015Z\",\"traceId\":\"44f21c050d8c6\",\"clientIp\":\"127.0.0.1\",\"message\":\"HTTP 200 446ms\"}\n```\n\n### logger\nYou can override the default implementation if needed: \n```js\nimport { createLogger, createApp } from 'npm-registry-firewall'\n\nconst logger = createLogger(\n  {foo: 'bar'}, // extra to mix\n  ({level, msgChunks, extra}) => JSON.stringify({\n    msg: msgChunks.map(m => '' + m),\n    mdc_trace: {spanId: extra.traceId, traceId: extra.traceId, bar: extra.foo},\n    timestamp: new Date().toISOString(),\n    level\n  })\n)\n\nconst app = createApp(cfg, {logger})\n```\n\n### Manual testing\n**.npmrc**\n```yaml\nregistry=https://localhost:3000\nstrict-ssl=false\n```\n\n**run**\n```shell\n# node src/main/js/cli.js config.json\nyarn start \n```\n\n**npm view**\n```shell\nnpm-registry-firewall % npm view d versions                          \n[ '0.1.0', '0.1.1' ]\n```\n\n**curl**\n```shell\ncurl -k  https://localhost:3000/registry/minimist/-/minimist-1.2.6.tgz > minimist.tgz\ncurl -k  https://localhost:3000/registry/react > react.json\n```\n\n## Migration\n### 1.x → 2.x\nv1 configuration was definitely too flexible, too complex and too error-prone. v2 is aimed to simplify the config and make it more predictable:\n* there's only one `server`, `cache`, `agent` and `logger` sections now\n* `base` path cannot be `/` to avoid pkg name clashes with `/health` and `/metrics` endpoints.\n* firewall `base` paths are defined as map keys, so they must be unique\n* `cache` cannot be a factory. Pass cache opts of instance directly instead\n\nIn other words, `multi-server-config` is not supported anymore. But you can still use this scheme via JS API:\n```js\nimport { createRoutes, createServer } from 'npm-registry-firewall'\n\nconst config = loadConfig('path/to/config.json')\nconst routes = createRoutes(config)\nconst routeMap = config.firewalls.reduce((acc, f, i) => {\n  acc[f.base] = routes[i]\n  return acc\n}, {})\n\nconst serverFoo = createServer({port: 3000, router: routeMap['/foo']})\nconst serverBar = createServer({port: 3001, router: routeMap['/bar']})\n```\n\nSum up, the prev config:\n```js\n{\n  server: {port: 5000},\n  agent: {\n    keepAliveMsecs: 5000,\n    keepAlive: true,\n    maxSockets: 10_000,\n    timeout: 10_000\n  },\n  firewall: [{\n    base: '/foo',\n    registry: 'https://registry.npmjs.org',\n    rules: [],\n    cache: {\n      ttl: 5,\n      evictionTimeout: 1,\n      limit: 1_000_000\n    }\n  }, {\n    base: '/bar',\n    registry: 'https://registry.yarnpkg.com/',\n  }]\n}\n```\ncomes to:\n```js\n{\n  server: {port: 5000},\n  agent: {\n    keepAliveMsecs: 5000,\n  },\n  cache: {\n    ttl: 5,\n    evictionTimeout: 1,\n    limit: 1_000_000\n  },\n  firewall: {\n    '/foo': {\n      registry: 'https://registry.npmjs.org',\n      rules: [],\n    },\n    '/bar': {\n      registry: 'https://registry.yarnpkg.com/',\n    }\n  }\n}\n```\n\n## Roadmap\nIt seems possible to avoid using package managers to patch lockfiles in the future. The algorithm will be greatly simplified:\n* Invoke [the registry audit API directly](https://github.com/antongolub/npm-registry-firewall/blob/master/src/main/js/firewall/plugins/audit.js#L84).\n* Read, modify and write lockfiles. [@antongolub/lockfile](https://github.com/antongolub/lockfile) is aimed to solve this issue.\n\n## Contributing\nFeel free to open any issues: bug reports, feature requests or questions.\nYou're always welcome to suggest a PR. Just fork this repo, write some code, put some tests and push your changes.\nAny feedback is appreciated.\n\n## License\n[MIT](./LICENSE)\n","readmeFilename":"README.md"}