{"_id":"@1px-no/img","_rev":"7-6276e4996258b9f543d04bb83b509c9a","name":"@1px-no/img","dist-tags":{"latest":"4.2.50"},"versions":{"4.2.42":{"name":"@1px-no/img","version":"4.2.42","description":"Real-time image processing for your express application","main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@keyv/mysql":"^1.3.1","class-validator":"^0.13.1","cors":"^2.8.5","debug":"^4.3.2","dotenv":"^10.0.0","etag":"^1.8.1","keyv":"^4.0.3","reflect-metadata":"^0.1.13","sharp":"^0.30.0","tsyringe":"^4.6.0"},"devDependencies":{"@commitlint/cli":"^17.0.0","@commitlint/config-conventional":"^17.0.0","@heise/eslint-config":"^19.0.13","@keyv/redis":"^2.1.3","@semantic-release/changelog":"^6.0.0","@semantic-release/commit-analyzer":"^9.0.1","@semantic-release/git":"^10.0.0","@semantic-release/npm":"^9.0.0","@semantic-release/release-notes-generator":"^10.0.2","@types/cache-manager":"^3.4.2","@types/cors":"^2.8.12","@types/debug":"^4.1.7","@types/etag":"^1.8.1","@types/express":"^4.17.13","@types/got":"^9.6.12","@types/jest":"^27.0.2","@types/keyv":"^3.1.3","@types/node":"^14.17.27","@types/sharp":"^0.30.0","@types/supertest":"^2.0.11","@types/validator":"^13.7.2","aws-sdk":"^2.1009.0","eslint-plugin-no-only-tests":"^2.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","express":"^4.17.1","got":"^11.8.2","husky":"^8.0.0","jest":"^27.3.0","lint-staged":"^12.0.0","nodemon":"^2.0.13","prettier":"^2.4.1","pug":"^3.0.2","rimraf":"^3.0.2","semantic-release":"^19.0.0","supertest":"^6.1.6","ts-jest":"^27.0.7","ts-node":"^10.3.0","typescript":"^4.4.4"},"peerDependencies":{"aws-sdk":"^2.713.0","express":"^4.0.0","got":"^11.8.2"},"peerDependenciesMeta":{"aws-sdk":{"optional":true},"got":{"optional":true}},"scripts":{"build:test":"tsc --noEmit","build":"tsc --build tsconfig.build.json","prebuild":"yarn clean","clean":"rimraf dist","start:example":"DEBUG=express-sharp* nodemon --exec 'node -r ts-node/register' -w . --inspect example/app.ts","lint":"eslint --cache .","test":"jest","ci:test":"jest --coverage","prepare":"husky install"},"engines":{"node":">= 12.0.0"},"repository":{"type":"git","url":"git+https://github.com/hirvi-no/1px-img.git"},"keywords":["express","sharp","image","scale"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"author":{"name":"Philipp Busse"},"license":"MIT","bugs":{"url":"https://github.com/hirvi-no/1px-img/issues"},"homepage":"https://github.com/hirvi-no/1px-img#readme","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015 Philipp Busse\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n","_id":"@1px-no/img@4.2.42","dist":{"shasum":"7144f523509101610118435e445861a4665a4319","integrity":"sha512-ArtBs2n/PR+pxGCLCAg0YgFMFedglHwHL4HOfVmsCEsGE70hTc2wALKHFjlejmmWOvxz9BxINC8kgmumWNxa4Q==","tarball":"https://registry.npmjs.org/@1px-no/img/-/img-4.2.42.tgz","fileCount":90,"unpackedSize":97684,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkjfrkExLsr0Ly5GKWVZXecoq9J9NxQhRtxTa1hz132AIhAJMmgRSlMKl8pHHiwL0m8RlNwEjcFSxhquANb7f8vwjr"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi+kKhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp9EQ//bU1ZkvENJpspe8zxgm3ly0gNLwU85+6dDSG/Kqp4yc1G525a\r\nAVX6Fcqmf6P6SQTqRYCJiXu+CY2WYhgfKSFW49VvjBDf+gcDUWD6NyXZK3gW\r\n/n05DKGMqBTY3uW5MR2dRuF/rgXSeIHhQJoM/2PiCYg3cXZkk7led3WKjl7Y\r\npvpJRq7ksFRrU+f2HUk3mLfdILpYBTER1EHEwowlfKaIgPNhat48iwt469Lz\r\nGHfClaIW/1k8mD5bXmnI4vLLoGhs/Mw4mk8pWQJqo7V6IBslJGVDelKLe0DG\r\n33+GvxNHACrrhjWOXeKWuxdfxuoBCsrWi6ClN3RdS609tApelSzDHL1szG2M\r\nQtw3GLLI4fASN8sS7kppSVVghS/gPNqkG5ZDspIKcbfcbz1hRSh/GrWQp7ZB\r\nODwa+7Dpj4YjSMGwRTfAMFCleI56sIUFcoOnqkvhPsQIB7Yfeb1Bq1u1/Nm9\r\nGTpZ66Vi3wpDd5+NTjypWPnop5/1/Uyy0v7XOvDSNujyPfFrW5FRnzrosal4\r\ngnJdyM2Tx5ngY/x2lrYF3zuWVtiK3g1eaDH9zSBXfi22SEVCPYc1ALyjHGwp\r\nyH1V64uxoT1IpxVsc0hwZnrJLM2Eg2DX1+VSUgs1myoYmpvJyJe+83q0i0g0\r\n/BM0pP+h1f8CnZ1YBbSCfo/rmR8GjXv+dpw=\r\n=2plq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"chrisrm","email":"chris@hirvi.no"},"directories":{},"maintainers":[{"name":"chrisrm","email":"chris@hirvi.no"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/img_4.2.42_1660568224971_0.7938996779396981"},"_hasShrinkwrap":false},"4.2.43":{"name":"@1px-no/img","version":"4.2.43","description":"Real-time image processing for your express application","main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@keyv/mysql":"^1.3.1","class-validator":"^0.13.1","cors":"^2.8.5","debug":"^4.3.2","dotenv":"^10.0.0","etag":"^1.8.1","keyv":"^4.0.3","reflect-metadata":"^0.1.13","sharp":"^0.30.0","tsyringe":"^4.6.0"},"devDependencies":{"@commitlint/cli":"^17.0.0","@commitlint/config-conventional":"^17.0.0","@heise/eslint-config":"^19.0.13","@keyv/redis":"^2.1.3","@semantic-release/changelog":"^6.0.0","@semantic-release/commit-analyzer":"^9.0.1","@semantic-release/git":"^10.0.0","@semantic-release/npm":"^9.0.0","@semantic-release/release-notes-generator":"^10.0.2","@types/cache-manager":"^3.4.2","@types/cors":"^2.8.12","@types/debug":"^4.1.7","@types/etag":"^1.8.1","@types/express":"^4.17.13","@types/got":"^9.6.12","@types/jest":"^27.0.2","@types/keyv":"^3.1.3","@types/node":"^14.17.27","@types/sharp":"^0.30.0","@types/supertest":"^2.0.11","@types/validator":"^13.7.2","aws-sdk":"^2.1009.0","eslint-plugin-no-only-tests":"^2.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","express":"^4.17.1","got":"^11.8.2","husky":"^8.0.0","jest":"^27.3.0","lint-staged":"^12.0.0","nodemon":"^2.0.13","prettier":"^2.4.1","pug":"^3.0.2","rimraf":"^3.0.2","semantic-release":"^19.0.0","supertest":"^6.1.6","ts-jest":"^27.0.7","ts-node":"^10.3.0","typescript":"^4.4.4"},"peerDependencies":{"aws-sdk":"^2.713.0","express":"^4.0.0","got":"^11.8.2"},"peerDependenciesMeta":{"aws-sdk":{"optional":true},"got":{"optional":true}},"scripts":{"build:test":"tsc --noEmit","build":"tsc --build tsconfig.build.json","prebuild":"yarn clean","clean":"rimraf dist","start:example":"DEBUG=express-sharp* nodemon --exec 'node -r ts-node/register' -w . --inspect example/app.ts","lint":"eslint --cache .","test":"jest","ci:test":"jest --coverage","prepare":"husky install"},"engines":{"node":">= 12.0.0"},"repository":{"type":"git","url":"git+https://github.com/hirvi-no/1px-img.git"},"keywords":["express","sharp","image","scale"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"author":{"name":"Philipp Busse"},"license":"MIT","bugs":{"url":"https://github.com/hirvi-no/1px-img/issues"},"homepage":"https://github.com/hirvi-no/1px-img#readme","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015 Philipp Busse\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n","_id":"@1px-no/img@4.2.43","dist":{"shasum":"d44823ce33f771ef0803fd134caeeb34a7e4d689","integrity":"sha512-ZFvFCDOAayWSkEGOYKrQrN6vldpoibxdAYYgppc50IQ26vLO+2CXvA72Ds0AVCQGv5KtAQm92J38+WblahG9Yw==","tarball":"https://registry.npmjs.org/@1px-no/img/-/img-4.2.43.tgz","fileCount":49,"unpackedSize":76103,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4VDQkOOhwutNzjFmy/YBPXYqAvybqMw+xKxQ1d8nS9QIhAMW5/34C/nhb44qvYzuU95L+HjYaebakDftRCov2/FYI"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi+kitACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZhg/+Pcd5nEKWQueB/30nXTibH0/2s9r8tLm6Q8jc0cvxHh0bN6Aq\r\nb0rPbyAzY6Db4KNKm9RWJbYMVZzdFWJvM6G9WtY9Pv1lgPBd1l1xPYVssASK\r\nI409SNwRxv9uI6LA+0Ol238ynApDo47XZdf51R7NkH0aeRm9XtacSLQEmnvW\r\nyQzRhDXEojDxSNSeHiQefU7w/lZxPuXWqzjJFJkzz7V9/WACoA/NpD/qKuAf\r\nXZTrMEnHnzMsU7Vh0sgyr+AIdeMYLl1//QYeyTGvBt4ReQQL3nD7XVpFSsf+\r\ndbJHStDALY9hB4ne2ma+L/qTHVWcTbyYB+tSF7c+1Cq8+5K5jvR3GTOdAhDq\r\nekDx9zVW9MVfWYPVpdHSoT1q51CPJlBOX0a38SdImJb82UkYslUO7c2lNzXD\r\n11oGTkmU4zjbHAMRXaVWrWqmInoKJ2yMgZC+uyW9UjllJZmJoueK3ELzFEh+\r\nAFK3g+qPg1/xSYMvOjn0nWQuqceh2/mWmFFv7VA0UJJFoA9EU3X/BZ9Qh+RS\r\nmFtHzzPnBkdSLS5BCJ46wD5ivbDzP/DOg+HTs083xZhgDSnuov0fPmGaQb8b\r\npa4hNo02XRvOLx7GuYyaDuZZ91JVc1lUG4xjEbWJK4dapOzDbRAIuUSnB2Eq\r\nu+xfQ1E2gr0+08KL2xkxLz0MnUGAWvBpxXw=\r\n=9xT1\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"chrisrm","email":"chris@hirvi.no"},"directories":{},"maintainers":[{"name":"chrisrm","email":"chris@hirvi.no"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/img_4.2.43_1660569773180_0.6637214256623609"},"_hasShrinkwrap":false},"4.2.44":{"name":"@1px-no/img","version":"4.2.44","description":"Real-time image processing for your express application","main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@keyv/mysql":"^1.3.1","class-validator":"^0.13.1","cors":"^2.8.5","debug":"^4.3.2","dotenv":"^10.0.0","etag":"^1.8.1","keyv":"^4.0.3","reflect-metadata":"^0.1.13","sharp":"^0.30.0","tsyringe":"^4.6.0"},"devDependencies":{"@commitlint/cli":"^17.0.0","@commitlint/config-conventional":"^17.0.0","@heise/eslint-config":"^19.0.13","@keyv/redis":"^2.1.3","@semantic-release/changelog":"^6.0.0","@semantic-release/commit-analyzer":"^9.0.1","@semantic-release/git":"^10.0.0","@semantic-release/npm":"^9.0.0","@semantic-release/release-notes-generator":"^10.0.2","@types/cache-manager":"^3.4.2","@types/cors":"^2.8.12","@types/debug":"^4.1.7","@types/etag":"^1.8.1","@types/express":"^4.17.13","@types/got":"^9.6.12","@types/jest":"^27.0.2","@types/keyv":"^3.1.3","@types/node":"^14.17.27","@types/sharp":"^0.30.0","@types/supertest":"^2.0.11","@types/validator":"^13.7.2","aws-sdk":"^2.1009.0","eslint-plugin-no-only-tests":"^2.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","express":"^4.17.1","got":"^11.8.2","husky":"^8.0.0","jest":"^27.3.0","lint-staged":"^12.0.0","nodemon":"^2.0.13","prettier":"^2.4.1","pug":"^3.0.2","rimraf":"^3.0.2","semantic-release":"^19.0.0","supertest":"^6.1.6","ts-jest":"^27.0.7","ts-node":"^10.3.0","typescript":"^4.4.4"},"peerDependencies":{"aws-sdk":"^2.713.0","express":"^4.0.0","got":"^11.8.2"},"peerDependenciesMeta":{"aws-sdk":{"optional":true},"got":{"optional":true}},"scripts":{"build:test":"tsc --noEmit","build":"tsc --build tsconfig.build.json","prebuild":"yarn clean","clean":"rimraf dist","start:example":"DEBUG=express-sharp* nodemon --exec 'node -r ts-node/register' -w . --inspect example/app.ts","lint":"eslint --cache .","test":"jest","ci:test":"jest --coverage","prepare":"husky install"},"engines":{"node":">= 12.0.0"},"repository":{"type":"git","url":"git+https://github.com/hirvi-no/1px-img.git"},"keywords":["express","sharp","image","scale"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"author":{"name":"Philipp Busse"},"license":"MIT","bugs":{"url":"https://github.com/hirvi-no/1px-img/issues"},"homepage":"https://github.com/hirvi-no/1px-img#readme","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015 Philipp Busse\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n","_id":"@1px-no/img@4.2.44","dist":{"shasum":"38326699e3d9404c390647349d324f6ae3c28219","integrity":"sha512-KQBDTEk4pgyVHru9NpmoMu9EiykvOL9NiRAgB3ojDM1es+exx/xhq6qmGetlN3kqTuuQcFYPjRhIyfSUt4MI2g==","tarball":"https://registry.npmjs.org/@1px-no/img/-/img-4.2.44.tgz","fileCount":90,"unpackedSize":104468,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCASDZGDHhVTJKeCvZauafM/loOeLRHed/UW0eqtKC64wIgVSb1DPsBgtUMACAOc/0bAHbNrjHxT2h/pDIcUIoAnXE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi+kknACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLLg/9FSRPxiTIHV504nfTzMbmzYv/feU3YZj4J7OClXkK0FI58Dm9\r\n15OduW//ahWBY3k5LcxdLyXSNgLINr1V/yGyNcWvT6fZZRT/t+xl5MW5/T2r\r\njjSTOMEnMonHT0E6u7Y4SAiLPaLSWCPaphbv7KBN3rVZ4o1WJmxLp0t870L1\r\n2Jcib5x9eDBVpjAhyqZ0zbfOWb2fHYWi/yNwmSMoY0W15iiNP43TSXyp3vCO\r\nz9OmxCRWKBhCbh81QU6JKsDPWoxhpprNQs9COXhAgytCd29BpWFJsU1uP+4/\r\n1jjY0UfNtfla3HPQo2QbDnU712L6rPyp8YtXqhPo7TLsHqTOTsKE2Ex/wLp7\r\neCS+E+WFHzVSRGoVTOwaW9TWEwyci82ABK28jN0V9dSaELDhgd0U9VqZV6ew\r\naom8nCQZJ/tJhhB12Fxcn9leJQcYCj40wP72nQ2nWQ75xwWXf5z5276ikvbV\r\nTZwFyzpuZ0lqQylVOS1JR88Wx2H/QPlCudtbtNSufza/BHu39EPFa2WRSFH2\r\nDMpVFPnHjrqMmA/o8UdsHqGc09AxY8VJm2jriXKAx/kkupwouUqLrEz2q4bQ\r\nFv6pLUr+6wVVXHtr/Q+8QysLzmoT5taLR5vXfYwJvCuuwttqnh4DzH1IXUFA\r\n9iex07tQa9bAXbJEaC4AYFfxUsq1GGuKuYI=\r\n=irlI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"chrisrm","email":"chris@hirvi.no"},"directories":{},"maintainers":[{"name":"chrisrm","email":"chris@hirvi.no"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/img_4.2.44_1660569895073_0.9765310148493571"},"_hasShrinkwrap":false},"4.2.45":{"name":"@1px-no/img","version":"4.2.45","description":"Real-time image processing for your express application","main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@keyv/mysql":"^1.3.1","class-validator":"^0.13.1","cors":"^2.8.5","debug":"^4.3.2","dotenv":"^10.0.0","etag":"^1.8.1","keyv":"^4.0.3","reflect-metadata":"^0.1.13","sharp":"^0.30.0","tsyringe":"^4.6.0"},"devDependencies":{"@commitlint/cli":"^17.0.0","@commitlint/config-conventional":"^17.0.0","@heise/eslint-config":"^19.0.13","@keyv/redis":"^2.1.3","@semantic-release/changelog":"^6.0.0","@semantic-release/commit-analyzer":"^9.0.1","@semantic-release/git":"^10.0.0","@semantic-release/npm":"^9.0.0","@semantic-release/release-notes-generator":"^10.0.2","@types/cache-manager":"^3.4.2","@types/cors":"^2.8.12","@types/debug":"^4.1.7","@types/etag":"^1.8.1","@types/express":"^4.17.13","@types/got":"^9.6.12","@types/jest":"^27.0.2","@types/keyv":"^3.1.3","@types/node":"^14.17.27","@types/sharp":"^0.30.0","@types/supertest":"^2.0.11","@types/validator":"^13.7.2","aws-sdk":"^2.1009.0","eslint-plugin-no-only-tests":"^2.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","express":"^4.17.1","got":"^11.8.2","husky":"^8.0.0","jest":"^27.3.0","lint-staged":"^12.0.0","nodemon":"^2.0.13","prettier":"^2.4.1","pug":"^3.0.2","rimraf":"^3.0.2","semantic-release":"^19.0.0","supertest":"^6.1.6","ts-jest":"^27.0.7","ts-node":"^10.3.0","typescript":"^4.4.4"},"peerDependencies":{"aws-sdk":"^2.713.0","express":"^4.0.0","got":"^11.8.2"},"peerDependenciesMeta":{"aws-sdk":{"optional":true},"got":{"optional":true}},"scripts":{"build:test":"tsc --noEmit","build":"tsc --build tsconfig.build.json","prebuild":"yarn clean","clean":"rimraf dist","start:example":"DEBUG=express-sharp* nodemon --exec 'node -r ts-node/register' -w . --inspect example/app.ts","lint":"eslint --cache .","test":"jest","ci:test":"jest --coverage","prepare":"husky install"},"engines":{"node":">= 12.0.0"},"repository":{"type":"git","url":"git+https://github.com/hirvi-no/1px-img.git"},"keywords":["express","sharp","image","scale"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"author":{"name":"Philipp Busse"},"license":"MIT","bugs":{"url":"https://github.com/hirvi-no/1px-img/issues"},"homepage":"https://github.com/hirvi-no/1px-img#readme","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015 Philipp Busse\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n","_id":"@1px-no/img@4.2.45","dist":{"shasum":"a78c0117ac22ea13b089f84d2a6f2ace7b6fe6fb","integrity":"sha512-RQVglTQ6gm2nIY1oM43ZNefsyuCeqzrumFAlgZHKYb2CJAch/wjQA8hlnpUCKP5tMQ2t4DrACoxBaEWtzMa0cw==","tarball":"https://registry.npmjs.org/@1px-no/img/-/img-4.2.45.tgz","fileCount":90,"unpackedSize":104468,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5MIqdVNwGjEtri6+vzG037fsuLybJJG27we+G5WKiMAIgOR6yZWtlOcw2TJA2EJhGNf+BNsvyRUE4IO5+D2edS4c="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/efNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo0Ug//SCI29mHHA4lhsydUkdwyhs26u54jeAoUr+3u4enEsyFGCHsP\r\nShoDAjG6FYygBR/mTfw4/g4I29mDnsGAYOfSmtFy8FA/oWQggKhxTmGj4OaW\r\nYd+5/ql8vdq4yqa+moILdS9XEPCQgCwmhywtEPyhZ/eMMSYSifVype6YB6Uc\r\nzxSBnhlQiX6MrcTviDKy+jLPb6Kk3EjngoYUCbQhVbzoPFbDi5e/BcSHMd7q\r\nnDNwwSmfYkw0cd8qpKf+0L70rYSwFZ6/uJDaocSmGV0DhE59th9Edi1SGtbG\r\nWEkloAg9a60CICCD5SyEn9I68K4YgZtNV4n4aVueSTKj4vu16rfcYBPbKPRk\r\nCWD2bWIGgNB6wJ5an0QayooPXXMj99R0GTun2zjBn2poYzUpjvvDYMKLwTNY\r\nIWDGO8gr4iHn2k2w+CTlmjQzHsR/093KOmVVWPPPpYMwfOYb/dLVTDF8JBRD\r\nnuij+zx/TL1LdiugssQjAdcYfSu3J6KAyjq35UNFETJ2O8H7wBOL8TAV7jT2\r\neiyiCD1f8yGxGatvV1vsxcde+xWPBiZGMzIFV7wGbanjIpzM4XL2hgluVbWu\r\nicwXoiSz3OrnX9hqcnMeHvQYPGPJ7llo8v/sAW95mt7yk86Zc6fz8pLWWwVm\r\naL1QrUOqCbZgi0NUb7nxamKk10zF73afovk=\r\n=jVji\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"chrisrm","email":"chris@hirvi.no"},"directories":{},"maintainers":[{"name":"chrisrm","email":"chris@hirvi.no"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/img_4.2.45_1660807117056_0.46660728647672567"},"_hasShrinkwrap":false},"4.2.26":{"name":"@1px-no/img","version":"4.2.26","description":"Real-time image processing for your express application","main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@keyv/mysql":"^1.3.1","class-validator":"^0.13.1","cors":"^2.8.5","debug":"^4.3.2","dotenv":"^10.0.0","etag":"^1.8.1","keyv":"^4.0.3","reflect-metadata":"^0.1.13","sharp":"^0.30.0","tsyringe":"^4.6.0"},"devDependencies":{"@commitlint/cli":"^17.0.0","@commitlint/config-conventional":"^17.0.0","@heise/eslint-config":"^19.0.13","@keyv/redis":"^2.1.3","@semantic-release/changelog":"^6.0.0","@semantic-release/commit-analyzer":"^9.0.1","@semantic-release/git":"^10.0.0","@semantic-release/npm":"^9.0.0","@semantic-release/release-notes-generator":"^10.0.2","@types/cache-manager":"^3.4.2","@types/cors":"^2.8.12","@types/debug":"^4.1.7","@types/etag":"^1.8.1","@types/express":"^4.17.13","@types/got":"^9.6.12","@types/jest":"^27.0.2","@types/keyv":"^3.1.3","@types/node":"^14.17.27","@types/sharp":"^0.30.0","@types/supertest":"^2.0.11","@types/validator":"^13.7.2","aws-sdk":"^2.1009.0","eslint-plugin-no-only-tests":"^2.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","express":"^4.17.1","got":"^11.8.2","husky":"^8.0.0","jest":"^27.3.0","lint-staged":"^12.0.0","nodemon":"^2.0.13","prettier":"^2.4.1","pug":"^3.0.2","rimraf":"^3.0.2","semantic-release":"^19.0.0","supertest":"^6.1.6","ts-jest":"^27.0.7","ts-node":"^10.3.0","typescript":"^4.4.4"},"peerDependencies":{"aws-sdk":"^2.713.0","express":"^4.0.0","got":"^11.8.2"},"peerDependenciesMeta":{"aws-sdk":{"optional":true},"got":{"optional":true}},"scripts":{"build:test":"tsc --noEmit","build":"tsc --build tsconfig.build.json","prebuild":"yarn clean","clean":"rimraf dist","start:example":"DEBUG=express-sharp* nodemon --exec 'node -r ts-node/register' -w . --inspect example/app.ts","lint":"eslint --cache .","test":"jest","ci:test":"jest --coverage","prepare":"husky install"},"engines":{"node":">= 12.0.0"},"repository":{"type":"git","url":"git+https://github.com/hirvi-no/1px-img.git"},"keywords":["express","sharp","image","scale"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"author":{"name":"Philipp Busse"},"license":"MIT","bugs":{"url":"https://github.com/hirvi-no/1px-img/issues"},"homepage":"https://github.com/hirvi-no/1px-img#readme","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015 Philipp Busse\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n","_id":"@1px-no/img@4.2.26","dist":{"shasum":"2c7f33b5deb423a819a070e3dc7ef9bc96e4599b","integrity":"sha512-TtMAR6Gf4kVTR9GQzCDeAdO3yA+40BVX+54HsXYUS0hm8CjLpRrXcwutr+VZZPY4xEL9fTKOfdC49ffnIyXAGw==","tarball":"https://registry.npmjs.org/@1px-no/img/-/img-4.2.26.tgz","fileCount":90,"unpackedSize":104468,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEANM1xdUi9IgBUmOARoBjr3TOnuMu3/d7YfXZy00UxnAiBA+KffHOOnZ52TkMemDWD8el+O1mmvoowSqs/btR8+Zg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/emyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpPUA//dapDgDN+Bxw+xZagUqHtMljzhXo/wnvCL+ygNSZ21IT1eVvQ\r\nwbxKClcGsVMw84VvFLc7JenIz+TgCLdwYNQ+ej4my/uFD8zVpBdin5PFZrV0\r\nT1rpN+VXYB/SrTDhgMfrwZwbjK18cYkIMzgt2UESwWkzPohoWU3kBeoHUjog\r\nMt/LCNdEnyjogavPHrPheeasrImB7Gi/QDGR/hHOnUmPZEQFObahj+Dc99Hj\r\nLKyR3xalmhFPdq+jTQZunkDrppWllSgO/Zcwm6dUv2grvUxdAQA3xiYprIJT\r\nH5RYfABdJCxIfI3k3Lw5Ksiv6410zrrgD8XgQr5AmfmUl7OVVMFYJQiSSe5z\r\nvLPQ3cO8oxaa10zfRJUleBtchL4jVD1MJupndnS1NZI8R2Qr3DD/zrb1dhKF\r\n9a+kE5Cq1eDMYHb4kgS5zPsNaYs9iYNvnEp50I3E1omQ+N4hy5pMKshajUXz\r\nEs8ZJWqFt2fN2q15rPQLuGbU5ys2Ce4oXF6L1Jysr6YsJNbJTi7xvKSAJN+M\r\nIseo7C5D1pLF60deGrikr/7orv+u9nW/Y/S88Ah2LiCSPxiURjoLEde1VnYY\r\nnpHkFt1PJe5gTM6rlDLwsGp+QER5M1nmPaY24gh2b/lYPvgn2FoogWM9XoHx\r\nW8nTq9jB3xA6NmL53ElCcVlzjF8s2idIzUs=\r\n=fA9Y\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"chrisrm","email":"chris@hirvi.no"},"directories":{},"maintainers":[{"name":"chrisrm","email":"chris@hirvi.no"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/img_4.2.26_1660807602635_0.43990892230728074"},"_hasShrinkwrap":false},"4.2.27":{"name":"@1px-no/img","version":"4.2.27","description":"Real-time image processing for your express application","main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@keyv/mysql":"^1.3.1","class-validator":"^0.13.1","cors":"^2.8.5","debug":"^4.3.2","dotenv":"^10.0.0","etag":"^1.8.1","keyv":"^4.0.3","reflect-metadata":"^0.1.13","sharp":"^0.30.0","tsyringe":"^4.6.0"},"devDependencies":{"@commitlint/cli":"^17.0.0","@commitlint/config-conventional":"^17.0.0","@heise/eslint-config":"^19.0.13","@keyv/redis":"^2.1.3","@semantic-release/changelog":"^6.0.0","@semantic-release/commit-analyzer":"^9.0.1","@semantic-release/git":"^10.0.0","@semantic-release/npm":"^9.0.0","@semantic-release/release-notes-generator":"^10.0.2","@types/cache-manager":"^3.4.2","@types/cors":"^2.8.12","@types/debug":"^4.1.7","@types/etag":"^1.8.1","@types/express":"^4.17.13","@types/got":"^9.6.12","@types/jest":"^27.0.2","@types/keyv":"^3.1.3","@types/node":"^14.17.27","@types/sharp":"^0.30.0","@types/supertest":"^2.0.11","@types/validator":"^13.7.2","aws-sdk":"^2.1009.0","eslint-plugin-no-only-tests":"^2.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","express":"^4.17.1","got":"^11.8.2","husky":"^8.0.0","jest":"^27.3.0","lint-staged":"^12.0.0","nodemon":"^2.0.13","prettier":"^2.4.1","pug":"^3.0.2","rimraf":"^3.0.2","semantic-release":"^19.0.0","supertest":"^6.1.6","ts-jest":"^27.0.7","ts-node":"^10.3.0","typescript":"^4.4.4"},"peerDependencies":{"aws-sdk":"^2.713.0","express":"^4.0.0","got":"^11.8.2"},"peerDependenciesMeta":{"aws-sdk":{"optional":true},"got":{"optional":true}},"scripts":{"build:test":"tsc --noEmit","build":"tsc --build tsconfig.build.json","prebuild":"yarn clean","clean":"rimraf dist","start:example":"DEBUG=express-sharp* nodemon --exec 'node -r ts-node/register' -w . --inspect example/app.ts","lint":"eslint --cache .","test":"jest","ci:test":"jest --coverage","prepare":"husky install"},"engines":{"node":">= 12.0.0"},"repository":{"type":"git","url":"git+https://github.com/hirvi-no/1px-img.git"},"keywords":["express","sharp","image","scale"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"author":{"name":"Philipp Busse"},"license":"MIT","bugs":{"url":"https://github.com/hirvi-no/1px-img/issues"},"homepage":"https://github.com/hirvi-no/1px-img#readme","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015 Philipp Busse\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n","_id":"@1px-no/img@4.2.27","dist":{"shasum":"29a73038e3dcec83fb3f8651741c3231e18f9b5c","integrity":"sha512-7Sv0i5eRMGLoo/m/bgvADTRlug7U9MA0XkZBiUy5xNZtsb7BdSZvpUrb/A0ZaUPDihrjGa+tRGKpnFJllcs0Sw==","tarball":"https://registry.npmjs.org/@1px-no/img/-/img-4.2.27.tgz","fileCount":90,"unpackedSize":104468,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCR0i68YwxDTLQaKoeU+3qBSSKIoUy4bOn00Yh+sB95TwIhALyEA3+Pv1NNaFC68BF01FSFiy0aTV4/O1odz3NV6krw"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/eoOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo/zw/+K6AuP00sYozgnh8yRAmUpngspdXnPUNeNaLBzFm3luxH11ql\r\nvsFypM2VEEI595vVuRgIIVIxCdCasTtGURWhheRwQqZqT4bgFiJbvPey2OXZ\r\nFk8Tzl1jR2t/lKETdxwrkbdsIXRt+t4Bbm3GmcA12aT+MHUUiTe+bNdWd01W\r\nWzAze/H3yPdhJ83o4XhBDmNzQLK+kuMyTI7dafQoXsZIPfpYJDt47LwnzWSx\r\nqyzc48hDWxSQA8ZWK6AyjU2X1j9EJQKvg3npaVnOssX0FaifrZ6QWPrItCdU\r\n6sHgNdET0C/ZU6aZqT3H7buqYVyqFITNtbpSXDpA7BIqNVOpZQ1gdr3oLHbx\r\nGn0LrlOeP6YqZcjX0uNQ7jwG+zJXzFfg5033sOHW/Iqt5Rb4RA9/LroG7pAv\r\nKf7zMDFu/M9Nh9slyB9jIkiahjBc0tbndTXcA49ouVZgMLM0/5QttKhYs/0r\r\n0rqVapt2siZVBHUBmrARhJYtB0cW/M3ljrBVeFv5NLElJ012WNVrA3l+rSqo\r\ngMQpTqBZ2zARWFEKIlLe1tM3UykuGNQw2afyiv+xit61flqIv8XoK8xlpzyL\r\nAvQXJQq3oDDgySBHSvEGaslH+Mn74ReGsUTM9wnjaZee7dm5cW1DGpwP37M/\r\nSlngjQVwJJobvj29VqFhEgkYv9AbNl9Os0Q=\r\n=0inP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"chrisrm","email":"chris@hirvi.no"},"directories":{},"maintainers":[{"name":"chrisrm","email":"chris@hirvi.no"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/img_4.2.27_1660807693808_0.13494961347036916"},"_hasShrinkwrap":false},"4.2.3":{"name":"@1px-no/img","version":"4.2.3","description":"Real-time image processing for your express application","main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@keyv/mysql":"^1.3.1","class-validator":"^0.13.1","cors":"^2.8.5","debug":"^4.3.2","dotenv":"^10.0.0","etag":"^1.8.1","keyv":"^4.0.3","reflect-metadata":"^0.1.13","sharp":"^0.30.0","tsyringe":"^4.6.0"},"devDependencies":{"@commitlint/cli":"^17.0.0","@commitlint/config-conventional":"^17.0.0","@heise/eslint-config":"^19.0.13","@keyv/redis":"^2.1.3","@semantic-release/changelog":"^6.0.0","@semantic-release/commit-analyzer":"^9.0.1","@semantic-release/git":"^10.0.0","@semantic-release/npm":"^9.0.0","@semantic-release/release-notes-generator":"^10.0.2","@types/cache-manager":"^3.4.2","@types/cors":"^2.8.12","@types/debug":"^4.1.7","@types/etag":"^1.8.1","@types/express":"^4.17.13","@types/got":"^9.6.12","@types/jest":"^27.0.2","@types/keyv":"^3.1.3","@types/node":"^14.17.27","@types/sharp":"^0.30.0","@types/supertest":"^2.0.11","@types/validator":"^13.7.2","aws-sdk":"^2.1009.0","eslint-plugin-no-only-tests":"^2.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","express":"^4.17.1","got":"^11.8.2","husky":"^8.0.0","jest":"^27.3.0","lint-staged":"^12.0.0","nodemon":"^2.0.13","prettier":"^2.4.1","pug":"^3.0.2","rimraf":"^3.0.2","semantic-release":"^19.0.0","supertest":"^6.1.6","ts-jest":"^27.0.7","ts-node":"^10.3.0","typescript":"^4.4.4"},"peerDependencies":{"aws-sdk":"^2.713.0","express":"^4.0.0","got":"^11.8.2"},"peerDependenciesMeta":{"aws-sdk":{"optional":true},"got":{"optional":true}},"scripts":{"build:test":"tsc --noEmit","build":"tsc --build tsconfig.build.json","prebuild":"yarn clean","clean":"rimraf dist","start:example":"DEBUG=express-sharp* nodemon --exec 'node -r ts-node/register' -w . --inspect example/app.ts","lint":"eslint --cache .","test":"jest","ci:test":"jest --coverage","prepare":"husky install"},"engines":{"node":">= 12.0.0"},"repository":{"type":"git","url":"git+https://github.com/hirvi-no/1px-img.git"},"keywords":["express","sharp","image","scale"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"author":{"name":"Philipp Busse"},"license":"MIT","bugs":{"url":"https://github.com/hirvi-no/1px-img/issues"},"homepage":"https://github.com/hirvi-no/1px-img#readme","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015 Philipp Busse\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n","_id":"@1px-no/img@4.2.3","dist":{"shasum":"5b7c3494bd141c076b1f289df81c13c703400b8e","integrity":"sha512-t4qDJMEwOc9uDjROzwZ3A9tJdNGSW00hvGaqed+4HdyOOJY2aut6qLEFNn2jVkUYC6qBhR0UGQtyHMH89/gqyg==","tarball":"https://registry.npmjs.org/@1px-no/img/-/img-4.2.3.tgz","fileCount":90,"unpackedSize":104467,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGfvKvt7GfMJJGXTscfWNx0fC4OlfcHSKiZ+w/idNKLnAiARa1IbB4eOle/JpgKpM9IpZ4pAjR0va3MkcpZa/3Tzlg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/epSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+HBAAnPPt2B08xlrbt786T4sGeR9CGkUbPGfcEtEUtF8YrXAFqvRv\r\nGN/6wdNMBNLijZfXgSHmNhEqPszHJ7zQmoK93HGL+M1lr/oJ+Uu2eR07DW4/\r\nxDz1FtN65VJ/UKbiZT5FrZ5rxG6N8mm95RyGkomukyKwiljLIYbdD3bZhdDu\r\n/JokXX+RtpLM0VzhVbUHtMSQ/ZDVAXJ0D1ZbZBr00AfK+CCoEG0/dTDpSMY4\r\nU/r2r+I3BQ9nCikYcMI2AR3BY+TsqpRvRwn/krVcDULqwt4kyEG8Py69yMkD\r\nV70S5L8rezMwbqVymcN29NOeEwzAi3UaZE0Y0a66CyaPmYwP0ZV7uuOFYhpX\r\n1uBh8eL7LFdQrZoFMb1SEGRv/6ew3pHdQgl8rmat69oPFP+OFMQgR+X4Fzrr\r\n5PqHndg5KRL01pburZB3utsIu84umdj79j08KKhkEf8Gj4m9RhDRl7gzMc4C\r\nXwbxxFuhNTsW3y4r588bmcy2DQjrMfdI2Xp5+UqSXyDwKdo6BcBgrZAL1tT0\r\n9SU7N3re2PfGPGXSuHGmlksFZ5mq69jjSxkyCLb5ZAr+3Ay5Adw/GM6lOrx0\r\nQ2TsAq1a+E0QKPJURRPO7xUtKo+NdBZ2h4HKFRmfOb2yN9VVeTXyOA7QPVsj\r\nI2k0O5ckk9ZCkc4+fQd6vFvaDtxDjglREtE=\r\n=m+pa\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"chrisrm","email":"chris@hirvi.no"},"directories":{},"maintainers":[{"name":"chrisrm","email":"chris@hirvi.no"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/img_4.2.3_1660807762717_0.15675113756512027"},"_hasShrinkwrap":false},"4.2.50":{"name":"@1px-no/img","version":"4.2.50","description":"Real-time image processing for your express application","main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@keyv/mysql":"^1.3.1","class-validator":"^0.13.1","cors":"^2.8.5","debug":"^4.3.2","dotenv":"^10.0.0","etag":"^1.8.1","keyv":"^4.0.3","reflect-metadata":"^0.1.13","sharp":"^0.30.0","tsyringe":"^4.6.0"},"devDependencies":{"@commitlint/cli":"^17.0.0","@commitlint/config-conventional":"^17.0.0","@heise/eslint-config":"^19.0.13","@keyv/redis":"^2.1.3","@semantic-release/changelog":"^6.0.0","@semantic-release/commit-analyzer":"^9.0.1","@semantic-release/git":"^10.0.0","@semantic-release/npm":"^9.0.0","@semantic-release/release-notes-generator":"^10.0.2","@types/cache-manager":"^3.4.2","@types/cors":"^2.8.12","@types/debug":"^4.1.7","@types/etag":"^1.8.1","@types/express":"^4.17.13","@types/got":"^9.6.12","@types/jest":"^27.0.2","@types/keyv":"^3.1.3","@types/node":"^14.17.27","@types/sharp":"^0.30.0","@types/supertest":"^2.0.11","@types/validator":"^13.7.2","aws-sdk":"^2.1009.0","eslint-plugin-no-only-tests":"^2.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","express":"^4.17.1","got":"^11.8.2","husky":"^8.0.0","jest":"^27.3.0","lint-staged":"^12.0.0","nodemon":"^2.0.13","prettier":"^2.4.1","pug":"^3.0.2","rimraf":"^3.0.2","semantic-release":"^19.0.0","supertest":"^6.1.6","ts-jest":"^27.0.7","ts-node":"^10.3.0","typescript":"^4.4.4"},"peerDependencies":{"aws-sdk":"^2.713.0","express":"^4.0.0","got":"^11.8.2"},"peerDependenciesMeta":{"aws-sdk":{"optional":true},"got":{"optional":true}},"scripts":{"build:test":"tsc --noEmit","build":"tsc --build tsconfig.build.json","prebuild":"yarn clean","clean":"rimraf dist","start:example":"DEBUG=express-sharp* nodemon --exec 'node -r ts-node/register' -w . --inspect example/app.ts","lint":"eslint --cache .","test":"jest","ci:test":"jest --coverage","prepare":"husky install"},"engines":{"node":">= 12.0.0"},"repository":{"type":"git","url":"git+https://github.com/hirvi-no/1px-img.git"},"keywords":["express","sharp","image","scale"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"author":{"name":"Philipp Busse"},"license":"MIT","bugs":{"url":"https://github.com/hirvi-no/1px-img/issues"},"homepage":"https://github.com/hirvi-no/1px-img#readme","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015 Philipp Busse\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n","_id":"@1px-no/img@4.2.50","dist":{"shasum":"64ef36594e9f149d9c2d1dd165a59e4d689e5996","integrity":"sha512-iXJmcwDzVkKBz6yEsLEMj85rn2g4iEFofZWJ4ggzo3DwJ5LY6Rn74JrfDFAfhiriL25P4LE8noVXk5vv777blQ==","tarball":"https://registry.npmjs.org/@1px-no/img/-/img-4.2.50.tgz","fileCount":90,"unpackedSize":104468,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG7BELm/MHWbUpKMTpkDM6jNYp6Fi4dvQYb3kya5UqxsAiEA0bSgkM8/jQF9AVEtLHX77RLOogc69uJf2D40PIsebV4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/epeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmofxw//bkqydeck3N6jR1fxSY8IqOP4zUvJ/DYxyCY6ezyEN2y7nk8T\r\nSQ/TVpnHSw6W0vIPBB0RTfMeisDDj7RRSjpaeTacJukN2qrZQqsnJahQhPcg\r\n0CNap291Gqp7OJiw2/gr2XSnQU1usRT1n0/K8McG7jelPaA/ymlx0cnMaU8Z\r\nKGTJbTKyRajqRkJl7/bAq02J2pT4wgPTBQJG9/6aekKFa/steF6E2q3Oipck\r\nbZmzmzdnHWJJG88U0vOUnjmBy3sGq5FIljNWA7ogp8ScCQCLL3wLqTsIrBVM\r\nrYb5tw1zVeyARVMi0VbmSVdtPnfv3o9d6qnAJOfJRbog1qkyLaEJ/qNbsCpV\r\nxaeonHcYFQHBdZnxD6ZDGFUK9S65Dw1Hy+JhJbkOEX45ZjHyVxajySoUM2vu\r\n4L+SihhWJ13ZA2f5899/JCkLMV2YUPtTrug8WcVeNxMIdBGSdVGcbLCQK/3D\r\ntEY+UT33BJoR6NOE/aHlDB54c45PRB9qCJ05UQ7PvextS7z5LLOOeMt5ofO7\r\nm7GhUyqwrkj+jcA/8gCBfrtSl0sCs/NvfH84L+Hs2uSjK26cVAWg+yLPaxbT\r\nwerIwtucwy5/qduj7yrDtIa1UeS9/YT5rb9TQRcB4xlRg0co6VEOubmFzYSA\r\ncPmypFme5fY1C5VMgz4vyLx/eapQfwkdeF0=\r\n=jxPO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"chrisrm","email":"chris@hirvi.no"},"directories":{},"maintainers":[{"name":"chrisrm","email":"chris@hirvi.no"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/img_4.2.50_1660807773904_0.22623312901576598"},"_hasShrinkwrap":false}},"time":{"created":"2022-08-15T12:57:04.894Z","4.2.42":"2022-08-15T12:57:05.111Z","modified":"2022-08-18T07:29:34.196Z","4.2.43":"2022-08-15T13:22:53.313Z","4.2.44":"2022-08-15T13:24:55.357Z","4.2.45":"2022-08-18T07:18:37.284Z","4.2.26":"2022-08-18T07:26:42.821Z","4.2.27":"2022-08-18T07:28:14.002Z","4.2.3":"2022-08-18T07:29:22.909Z","4.2.50":"2022-08-18T07:29:34.119Z"},"maintainers":[{"name":"chrisrm","email":"chris@hirvi.no"}],"description":"Real-time image processing for your express application","homepage":"https://github.com/hirvi-no/1px-img#readme","keywords":["express","sharp","image","scale"],"repository":{"type":"git","url":"git+https://github.com/hirvi-no/1px-img.git"},"author":{"name":"Philipp Busse"},"bugs":{"url":"https://github.com/hirvi-no/1px-img/issues"},"license":"MIT","readme":"<div align=\"center\">\n  <img src=\"https://raw.github.com/pmb0/express-sharp/master/docs/express-sharp.gif\" width=\"100%\" />\n  <p>Real-time image processing for your express application.</p>\n</div>\n\n[![npm version](https://badge.fury.io/js/express-sharp.svg)](https://www.npmjs.com/package/express-sharp)\n[![Test Coverage][coveralls-image]][coveralls-url]\n[![Build Status][build-image]][build-url]\n\n# Description <!-- omit in toc -->\n\nexpress-sharp adds real-time image processing routes to your express application. Images are processed with [sharp](https://github.com/lovell/sharp), a fast Node.js module for resizing images.\n\n```\n                      express-sharp\n    Express app         endpoint          image path    transformation                \n┌─────────────────┐┌────────────────┐┌──────────────────┐ ┌────────┐\nhttps://example.com/path/to/my-scaler/images/my-image.jpg?w=100&h=50\n```\n\nOriginal images are loaded via an image adapter. Currently this includes HTTP and file system adapters.\n\n# Highlights <!-- omit in toc -->\n\n- Fast resizing of images (see [sharp Performance](https://sharp.pixelplumbing.com/performance))\n- [Supports multiple backends, from which the original images are downloaded](#image-adapters)\n- [Supports multiple caching backends](#caching)\n- [Image URLs can be signed to prevent attacks](#url-signing)\n\n\n# Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Express server integration](#express-server-integration)\n  - [Server configuration](#server-configuration)\n  - [Image Adapters](#image-adapters)\n    - [File System](#file-system)\n    - [HTTP](#http)\n    - [Amazon S3](#amazon-s3)\n    - [Custom](#custom)\n  - [Caching](#caching)\n  - [URL signing](#url-signing)\n  - [Debug logging](#debug-logging)\n- [Client integration](#client-integration)\n- [License](#license)\n\n# Install\n\n```sh\n$ yarn add express-sharp\n```\n\nSee [sharp installation](https://sharp.pixelplumbing.com/install) for additional installation instructions.\n\n# Express server integration\n\nExample *app.js* (See also `example/app.ts` in this project):\n\n```js\nimport express from 'express'\nimport { expressSharp, FsAdapter, HttpAdapter } from 'express-sharp'\n\nconst app = express()\n\n// Fetch original images via HTTP\napp.use(\n  '/some-http-endpoint',\n  expressSharp({\n    imageAdapter: new HttpAdapter({\n      prefixUrl: 'http://example.com/images',\n    }),\n  })\n)\n\n// Alternative: Load original images from disk\napp.use(\n  '/fs-endpoint',\n  expressSharp({\n    imageAdapter: new FsAdapter(path.join(__dirname, 'images')),\n  })\n)\n\napp.listen(3000)\n```\n\nRender `/images/image.jpg` with 400x400 pixels:\n\n```sh\ncurl http://my-server/express-sharp-endpoint/images/image.jpg?w=400&h=400\n```\n\nSame as above, but with 80% quality, `webp` image type and with progressive enabled:\n\n```sh\ncurl http://my-server/express-sharp-endpoint/images/image.jpg?w=400&h=400&f=webp&q=80&p\n```\n\n## Server configuration\n\n```js\nimport { expressSharp } from 'express-sharp'\n\napp.use('/some-http-endpoint', expressSharp(options))\n```\n\nSupported `options`:\n\n| Name | Description | Default |\n|------|-------------|---------|\n| `autoUseWebp` | Specifies whether images should automatically be rendered in webp format when supported by the browser. | `true` |\n| `cache` | If specified, the [keyv cache]((https://github.com/lukechilds/keyv)) configured here is used to cache the retrieval of the original images and the transformations. | - |\n| `cors` | Any valid [CORS configuration option](https://expressjs.com/en/resources/middleware/cors.html) | - |\n| `imageAdapter` | Configures the image adapter to be used (see below). Must be specified. | - |\n| `secret` | If specified, express-sharp will validate the incoming request to verify that a valid signature has been provided. The secret is used to compute this signature. | - |\n\n## Image Adapters\n\nexpress-sharp contains the following standard image adapters.\n\n### File System\n\nWith this adapter original images are loaded from the hard disk.\n\n```js\nimport { FsAdapter } from 'express-sharp'\n\nconst adapter = new FsAdapter('/path/to/images')\n```\n\n### HTTP\n\nLoads original images via HTTP. To use this adapter, the peer dependency `got` must be installed:\n\n```sh\n$ yarn add got\n```\n\n```js\nimport { HttpAdapter } from 'express-sharp'\n\nconst adapter = new HttpAdapter({\n  prefixUrl: 'http://localhost:3000/images',\n})\n```\n\nThe constructor can be passed any [got options](https://github.com/sindresorhus/got#options).\n\n### Amazon S3\n\nLoads images from Amazon S3. To use this adapter, the peer dependency `aws-sdk` must be installed:\n\n```sh\n$ yarn add aws-sdk\n```\n\n```js\nimport { S3Adapter } from 'express-sharp'\n\nconst bucketName = 'my-bucketname'\nconst adapter = new S3Adapter(bucketname)\n```\n\nThe AWS SDK expects the environment variables `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` to be set.\n\n### Custom\n\nIf you needed your own adapters can be used. An \"image adapter\" is a class that implements the `ImageAdapter` interface:\n\n```ts\nimport { ImageAdapter } from 'express-sharp'\n\nclass MyAdapter implements ImageAdapter {\n  async fetch(id: string): Promise<Buffer | undefined> {\n    if (imageDoesNotExist(id)) {\n      return undefined\n    }\n\n    return Buffer.from('my image blob')\n  }\n}\n```\n\n## Caching\n\nThe fetching of the original images and the transformations can be cached. To enable this feature, the `cache` option must be passed to the `expressSharp` middleware. Any [keyv cache stores](https://github.com/lukechilds/keyv) can be passed.\n\n\nIn-memory cache example:\n\n```js\nconst cache = new Keyv({ namespace: 'express-sharp' })\n\napp.use(\n  '/my-endpoint',\n  expressSharp({\n    cache,\n    imageAdapter: ...\n  })\n)\n```\n\nRedis example:\n\n```js\nconst cache = new Keyv('redis://', { namespace: 'express-sharp' }\n\napp.use(\n  '/my-endpoint',\n  expressSharp({\n    cache,\n    imageAdapter: ...\n  })\n)\n```\n\n## URL signing\n\nBy setting the environment variable `EXPRESS_SHARP_SIGNED_URL_SECRET` or by specifying the `secret` option when calling the `express-sharp` middleware, signed URLs are activated. This reduces the attack surface on the server, since the caller cannot produce an unlimited number of URLs that cause load on the server.\n\nIn order to compute the signature, the supplied client should be used:\n\n```js\nimport { createClient } from 'express-sharp'\n\nconst endpoint = 'https://example.com/my-express-sharp-endpoint'\nconst secret = 'test'\nconst client = createClient(endpoint, secret)\n\nconst imageUrl = client.url('/foo.png', { width: 500 })\n\n// https://example.com/my-express-sharp-endpoint/foo.png?w=500&s=Of3ty8QY-NDhCsIrgIHvPvbokkDcxV8KtaYUB4NFRd8\n```\n\n## Debug logging\n\nThis project uses [debug](https://www.npmjs.com/package/debug). To display debug messages from `express-sharp`, the `DEBUG` environment variable must be exported so that it contains the value `express-sharp*`. Example:\n\n```sh\n$ export DEBUG='my-app:*,express-sharp*'\n```\n\n\n# Client integration\n\nexpress-sharp comes with a client that can be used to generate URLs for images.\n\n```js\nimport { createClient } from 'express-sharp'\n\nconst client = createClient('http://my-base-host', 'optional secret')\n\nconst originalImageUrl = '/foo.png'\nconst options = { width: 500 }\nconst fooUrl = client.url(originalImageUrl, options)\n```\n\nCurrently the following transformations can be applied to images:\n\n| Client option name | Query param name | Description |\n|--------------------|------------------|-------------|\n| quality | `q` | Quality is a number between 1 and 100 (see [sharp docs](https://sharp.pixelplumbing.com/en/stable/api-output/)). |\n| width | `w` |\n| height | `h` |\n| format | `f` | Output image format. Valid values: every valid [sharp output format string](https://sharp.pixelplumbing.com/api-output#toformat), i.e. `jpeg`, `gif`, `webp` or `raw`. |\n| progressive | `p` | Only available for jpeg and png formats. Enable progressive scan by passing `true`. |\n| crop | `c` | Setting crop to `true` enables the [sharp cropping feature](https://sharp.pixelplumbing.com/api-resize#crop). Note: Both `width` and `height` params are neccessary for crop to work. Default is `false`. |\n| gravity | `g` | When the crop option is activated you can specify the gravity of the cropping. Possible attributes of the optional `gravity` are `north`, `northeast`, `east`, `southeast`, `south`, `southwest`, `west`, `northwest`, `center` and `centre`. Default is `center`. |\n\n# License\n\nexpress-sharp is distributed under the MIT license. [See LICENSE](./LICENSE) for details.\n\n[coveralls-image]: https://img.shields.io/coveralls/pmb0/express-sharp/master.svg\n[coveralls-url]: https://coveralls.io/r/pmb0/express-sharp?branch=master\n[build-image]: https://github.com/pmb0/express-sharp/workflows/Tests/badge.svg\n[build-url]: https://github.com/pmb0/express-sharp/actions?query=workflow%3ATests\n","readmeFilename":"README.md"}