{"_id":"@appotter/nestjs-s3","_rev":"7-a8d266b361818fd468469c8ee9c789a0","name":"@appotter/nestjs-s3","dist-tags":{"latest":"3.1.0"},"versions":{"1.0.0":{"name":"@appotter/nestjs-s3","version":"1.0.0","description":"NestJS provider to integrates with AWS S3","author":{"name":"Phitsanu Chuamuangphan","email":"ap.phitsanu@gmail.com, contact@phitsanu.ch"},"license":"MIT","main":"dist/index.js","scripts":{"build":"rimraf ./dist && tsc -p tsconfig.json","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/appotter/nestjs-s3.git"},"keywords":["nestjs","aws-s3","s3","file-storage","nodejs"],"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/appotter/nestjs-s3/issues"},"dependencies":{"@nestjs/common":"^8.4.7","aws-sdk":"^2.1195.0","multer":"^1.4.5-lts.1","rxjs":"^7.5.6","uuid":"^8.3.2"},"devDependencies":{"@nestjs/config":"^1.2.1","@nestjs/core":"^8.4.7","@nestjs/testing":"^8.4.7","@types/jest":"^28.1.6","@types/multer":"^1.4.7","@types/node":"^18.7.3","eslint":"^8.21.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.2.0","jest":"28.1.3","prettier":"^2.2.1","reflect-metadata":"^0.1.13","rimraf":"^3.0.2","source-map-support":"^0.5.20","ts-jest":"28.0.7","ts-node":"^10.9.1","typescript":"^4.7.4"},"peerDependencies":{"@nestjs/common":"^8.4.7","aws-sdk":"^2.1195.0","multer":"^1.4.5-lts.1","rxjs":"^7.5.6","uuid":"^8.3.2"},"jest":{"moduleFileExtensions":["js","json","ts"],"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"coverageDirectory":"../coverage","testEnvironment":"node"},"types":"./dist/index.d.ts","gitHead":"86f44250d3e41b84d8dd1aa3a940929f4b8b54cc","homepage":"https://github.com/appotter/nestjs-s3#readme","_id":"@appotter/nestjs-s3@1.0.0","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-SXKtoBLcC2tH3Zbq9m+UBhLqFOlBHMtOmuwiK36XQXlLajyKEDHWvj0YibcVjI6IDMa4IcC/089/rjXJGMKIGA==","shasum":"9c00e9c1f8b874dc84b6d3df6d17f5dea8e12881","tarball":"https://registry.npmjs.org/@appotter/nestjs-s3/-/nestjs-s3-1.0.0.tgz","fileCount":32,"unpackedSize":139113,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGrW2xOV49kxf5CUIhPVuMqQ27hIWAd8PIR717QHt0mfAiEA4NZOmA6iv+zBGpxgQjlzEmIIsoiDP4lEqs85gz0ikSU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/RYCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpDPw//ffuaUSHkUAiTwUeRlinQkqGGvuoR5uwQ8/Ib5k72gQpAhadB\r\na2YbpaObYdGOmnHHOpSzUQIVkR1uM6US7azXYWJ6L9Y9LOm009S5oSKEk1SN\r\nhsqZA76MQ9brm/0KuhelaDmZDwfjAEdJnL+2XuXA8PoFhPiXapgAQBFP5wO7\r\nlS9SPSShlbeOhDuu6kE/O6BGei3V8NbUlVecNQ/XUaYBWxHcYLSIvkqshxuI\r\nubJl6QBWP75JfzAYyrlAOlfQgiKakgunngw6+SnM5QAgIZAkD+qoby9ytA2A\r\nkDuVK9DtsOBoaT8kLQkUl78wH3SuwzGTqZNMNFhT6tDANg/SazxPwQjGVOsl\r\nynDl6wU52tG6qjYmmO+BXqnN+BDZ9JsZIZWi1/9ySErtfuiuae8FzcIht9Vs\r\n+CVF4BHnXjxVOKGmHHrBvcwvjQFm4IzufMFMskzCxjX7DdCrA/mvSRbtSzeV\r\nV8KRlUq4kjRBU70J04XqXCuiBUY4+pQPqH7AFv5/3nA3lHxWE6sq1Z/NYnQS\r\nM/PkslePYkS44r/1yr44mfA7VcvswSAe9l5uWkWU3k2aiG8zqHrW9XboyHAs\r\nFLKG6eosuJlNict7X8lVkMv6avALU75E1A3MsSYnFaJJNVM7RTcah3xk+jqQ\r\nMLEjb3ZfToe8zOTZeQGfj05aYxg+0T1/qFw=\r\n=2PR0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"appotter","email":"ap.phitsanu@gmail.com"},"directories":{},"maintainers":[{"name":"appotter","email":"ap.phitsanu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-s3_1.0.0_1660753410629_0.10506445443462753"},"_hasShrinkwrap":false},"2.0.0":{"name":"@appotter/nestjs-s3","version":"2.0.0","description":"NestJS provider to integrates with AWS S3","author":{"name":"Phitsanu Chuamuangphan","email":"ap.phitsanu@gmail.com, contact@phitsanu.ch"},"license":"MIT","main":"dist/index.js","scripts":{"build":"rimraf ./dist && tsc -p tsconfig.json","test":"jest --detectOpenHandles"},"repository":{"type":"git","url":"git+https://github.com/appotter/nestjs-s3.git"},"keywords":["nestjs","aws-s3","s3","file-storage","nodejs"],"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/appotter/nestjs-s3/issues"},"dependencies":{"@nestjs/common":"^9.0.11","aws-sdk":"^2.1204.0","multer":"^1.4.5-lts.1","rxjs":"^7.5.6","uuid":"^8.3.2"},"devDependencies":{"@nestjs/config":"^2.2.0","@nestjs/core":"^9.0.11","@nestjs/testing":"^9.0.11","@types/jest":"^28.1.8","@types/multer":"^1.4.7","@types/node":"^18.7.13","eslint":"^8.23.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.2.1","jest":"^28.1.3","prettier":"^2.7.1","reflect-metadata":"^0.1.13","rimraf":"^3.0.2","source-map-support":"^0.5.21","ts-jest":"^28.0.8","ts-node":"^10.9.1","typescript":"^4.8.2"},"peerDependencies":{"@nestjs/common":"^8.0.0 || ^9.0.0","aws-sdk":"^2.1195.0","multer":"^1.4.5-lts.1","rxjs":"^7.5.6","uuid":"^8.3.2"},"jest":{"moduleFileExtensions":["js","json","ts"],"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"coverageDirectory":"../coverage","testEnvironment":"node"},"types":"./dist/index.d.ts","gitHead":"498a93ee94c2a9e1bfc53be27b1d3fdbd26751c8","homepage":"https://github.com/appotter/nestjs-s3#readme","_id":"@appotter/nestjs-s3@2.0.0","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-Jy8ANjAekgqH2dEVDYU/9uuKPrR9bKddlUtZsftJB+hAGN1dkvRDxBMFqthOT3DGDEqpn63yPF4Zg+nGqSpP3w==","shasum":"5ec6ee89e04f37c9a5dbf48152928f0f196c4eb2","tarball":"https://registry.npmjs.org/@appotter/nestjs-s3/-/nestjs-s3-2.0.0.tgz","fileCount":32,"unpackedSize":142858,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAa2UnggAGmfJT7ILMbqdHfoBdC6ybkelvshK9d4YFpRAiA4HSf9DPLqOpVugwonvMzC+Eq1T6yZRGv6zer0WKT9lg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjC47fACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr72BAAhMQV2wlzVGV0S2J/idocz/TlQ9JqY7S3qCTh7/KQhusd3tOw\r\nEsFIp6/ZSeUyfGCK83G8WeMR4ZptQa57A28FGPwasNxo4LQcwQU1k9X6bK9J\r\nZWt11FfiBgH+fM/zqC02KOvOQ5OCyUAXw39aMvIvuKwOkWetcE8L9FulhuWU\r\ncZXJuce1gb+ElWoLmViyy4Zxy83ca/UBlsh9IKO3XdNWcXIsKyk83iMaa3oj\r\nhRvL7njyGTjCE5EVbZxsdiwOqoPMHkWuvg8bA9vgv83jTBPFk/GriK31un6N\r\nrMQVbs07cHqU2xqcFhvvMNiWqHMgt/lrMXutVgZMVtF1LX8EzIpSU84Ck8mq\r\n37TdoE4IOcKn3eXx31noP4aJxrYVjbTjrCUPa6GER4Qv5ILwQs0qHjb0J56U\r\n2uiwK2t5p0rYgEB4VBqKfnKSsSDEfbtfXyhHL+byFZewYZch2il6goUM7MQD\r\nH9kHUXsK+9eCREoMnMwve8mmqoKuLAHeP4k/+Gg3fn0wKL94TDTDhMDYnlNF\r\nUjUvppQUCwEyrnYrIrtOxBd5MYa1TBuui5DPeCwmyQfScG5cwUZ7bRYWAMj+\r\ndsxCN+DgNA5hNoU4jDIpMAUs5PV/duzEejfmr2KdmOtgslXEJW+lgh/WwB6q\r\nLdKr1iufY+4ytu+LU+n5AXujEdD77Ig33nk=\r\n=MsgT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"appotter","email":"ap.phitsanu@gmail.com"},"directories":{},"maintainers":[{"name":"appotter","email":"ap.phitsanu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-s3_2.0.0_1661701854849_0.41856510684081605"},"_hasShrinkwrap":false},"2.0.1":{"name":"@appotter/nestjs-s3","version":"2.0.1","description":"NestJS provider to integrates with AWS S3","author":{"name":"Phitsanu Chuamuangphan","email":"ap.phitsanu@gmail.com, contact@phitsanu.ch"},"license":"MIT","main":"dist/index.js","scripts":{"build":"rimraf ./dist && tsc -p tsconfig.json","test":"jest --detectOpenHandles"},"repository":{"type":"git","url":"git+https://github.com/appotter/nestjs-s3.git"},"keywords":["nestjs","aws-s3","s3","file-storage","nodejs"],"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/appotter/nestjs-s3/issues"},"dependencies":{"@nestjs/common":"^9.0.11","aws-sdk":"^2.1204.0","multer":"^1.4.5-lts.1","rxjs":"^7.5.6","uuid":"^8.3.2"},"devDependencies":{"@nestjs/config":"^2.2.0","@nestjs/core":"^9.0.11","@nestjs/testing":"^9.0.11","@types/jest":"^28.1.8","@types/multer":"^1.4.7","@types/node":"^18.7.13","@typescript-eslint/eslint-plugin":"^5.38.0","@typescript-eslint/parser":"^5.38.0","eslint":"^8.23.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.2.1","jest":"^28.1.3","prettier":"^2.7.1","reflect-metadata":"^0.1.13","rimraf":"^3.0.2","source-map-support":"^0.5.21","ts-jest":"^28.0.8","ts-node":"^10.9.1","typescript":"^4.8.2"},"peerDependencies":{"@nestjs/common":"^8.0.0 || ^9.0.0","aws-sdk":"^2.1195.0","multer":"^1.4.5-lts.1","rxjs":"^7.5.6","uuid":"^8.3.2"},"jest":{"moduleFileExtensions":["js","json","ts"],"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"coverageDirectory":"../coverage","testEnvironment":"node"},"types":"./dist/index.d.ts","gitHead":"2a6a8f03b18657356095ddd4ff74b89093e8aae1","homepage":"https://github.com/appotter/nestjs-s3#readme","_id":"@appotter/nestjs-s3@2.0.1","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-BtK0yJd1wkyLWQsJ1Jx81Y3wzDfBA/xXf5n4/Q/HFCKE9pmELqCoDyZW64Pma/85vl5U3NGQzornK/Dmay1YZA==","shasum":"c1f3d8b576f6cefd18f9f4985721ca0608df3440","tarball":"https://registry.npmjs.org/@appotter/nestjs-s3/-/nestjs-s3-2.0.1.tgz","fileCount":32,"unpackedSize":143258,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAI5jpNEKF7dCea9/PwtCc3B8e/4e4vD5TGd2j/lZfZxAiA0EJeYR4jvp7z52IrMjvAnurtAhfdlnRC4Qme7NvaOHA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQCZwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpahQ//U5mtYU36Jkw2c4g7FXYrCIP9h4ZL5CdMMSNMyx0j5DdNavA8\r\nbFs1+Mle7oKQ1e9l+/8el/YsoQq9XoUKgHvhoOrgseZaGzqa9CtxCMY5Bafl\r\n36XmTgknIvuMqjRb2h2vj126wDEYjBjkYlldXapWl5NOrPk+GCf22opZvxuQ\r\nJhAptOsF+TfrjJoGKkkNdXP0UbYkqiADsdqZUtFoBh8d6M0pCeSdNoNyyl8L\r\ne3Bb7viBq0O5Qmim46vx99u1wOfSokftkxTE4L121aGl07VvdGueW61C5yOw\r\nqYe+7+koDwD/1bJHXwlJ7NKzFFxQnNbkv+Zx34pX8AL322RjNdumSkBDyqlV\r\nfNudqyNnWaURYuYe2xbI78t9BwHa6TS/VxOGPT+1yVYKPrrBAGeTwjMGfGRa\r\nvvExmBLXCzf+8AIznZxKSgfUHzGguQTM6kj3SDE2iUd2T3IJt0wgRhmg5ejj\r\n5m6Z5Heeo5QXAsQowNzKTwUzlOfPE0CmV+5l38/YnkEjWWqCUHuWBK5VQ+fB\r\n5DlQ1fiFmypZsR80RsajIFzUmOhUVwnII1id6vpfdVAT6cAp2kw1x8tdP8Xj\r\nfjsEpQuJJ19uzbqzmAUB0P3cqaEznNPLzoP/iHiM9KL/bPceLW6k/+eODByZ\r\neYuyRwHa7fvCcvy7y2bhkt9RkYS08O2hn88=\r\n=vHzA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"appotter","email":"ap.phitsanu@gmail.com"},"directories":{},"maintainers":[{"name":"appotter","email":"ap.phitsanu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-s3_2.0.1_1665148528164_0.15103553146606097"},"_hasShrinkwrap":false},"2.0.2":{"name":"@appotter/nestjs-s3","version":"2.0.2","description":"NestJS provider to integrates with AWS S3","author":{"name":"Phitsanu Chuamuangphan","email":"ap.phitsanu@gmail.com, contact@phitsanu.ch"},"license":"MIT","main":"dist/index.js","scripts":{"build":"rimraf ./dist && tsc -p tsconfig.json","test":"jest --detectOpenHandles","test:cov":"jest --detectOpenHandles --coverage"},"repository":{"type":"git","url":"git+https://github.com/appotter/nestjs-s3.git"},"keywords":["nestjs","aws-s3","s3","file-storage","nodejs"],"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/appotter/nestjs-s3/issues"},"dependencies":{"@nestjs/common":"^9.0.11","aws-sdk":"^2.1204.0","multer":"^1.4.5-lts.1","rxjs":"^7.5.6","uuid":"^8.3.2"},"devDependencies":{"@nestjs/config":"^2.2.0","@nestjs/core":"^9.0.11","@nestjs/testing":"^9.0.11","@types/jest":"^28.1.8","@types/multer":"^1.4.7","@types/node":"^18.7.13","@typescript-eslint/eslint-plugin":"^5.38.0","@typescript-eslint/parser":"^5.38.0","eslint":"^8.23.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.2.1","jest":"^28.1.3","prettier":"^2.7.1","reflect-metadata":"^0.1.13","rimraf":"^3.0.2","source-map-support":"^0.5.21","ts-jest":"^28.0.8","ts-node":"^10.9.1","typescript":"^4.8.2"},"peerDependencies":{"@nestjs/common":"^8.0.0 || ^9.0.0","aws-sdk":"^2.1195.0","multer":"^1.4.5-lts.1","rxjs":"^7.5.6","uuid":"^8.3.2"},"jest":{"moduleFileExtensions":["js","json","ts"],"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"coverageDirectory":"../coverage","testEnvironment":"node"},"types":"./dist/index.d.ts","gitHead":"66aeac3d73c5e29b8a7523a136038453b7158cac","homepage":"https://github.com/appotter/nestjs-s3#readme","_id":"@appotter/nestjs-s3@2.0.2","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-d/mAiJyf0bUmlycQB/hMePuP5M1rmgpoHSu+SfNocNSQZMj0TO82IC5ub+7+He4aQZTspDDtm1Um0XPGe65FZg==","shasum":"184755955a50f0acb88a38f961fbe2169a91ab7e","tarball":"https://registry.npmjs.org/@appotter/nestjs-s3/-/nestjs-s3-2.0.2.tgz","fileCount":32,"unpackedSize":151499,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAoQNaJtRiztqot7fnZAPPTPUVBk989b/9o0PbWAhSJ3AiEAr5EWhJbmDIwntOoAPSlA0PlZhjRIcAsujLguka5j4i4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjz7jUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoj2hAAiLjhT+0UMB1cVuaznMue5c2lSVpKMoucq6m8UZPq1vB94G7r\r\nWCNwh2Cz+ffg2E4V1FZHCY+40HV3fOpFI0FnCKQXXNAtu9geb2lSym8hHkU4\r\ny5zjKw1qKNkBJgbItbDgLQpX7OdWa77mswPv4/CNklwBa5OaP41IFvatIezD\r\nrcY4zwRvWJzKNiXXwb51Lx512ftsWfvclvX1+aUunHgdpfy/rOV/P4r2J94J\r\npVKhYgi3t6PPz3YdEMayAKLGZ/iuK2fSbAZVl8ix0b6uR0lsuHzUZhRfIkLG\r\ndCiMriKzoWRcsKx0UyGUmzSPHmw8YP30vRqM1mk+cpdKjB4gyTjiLfs8Bvaf\r\ne1HCS6gX0ZalWZ5N/YZlqyDCT0tVRCAoLH7Ps+DbBZqn/1kQhY+DvxBPGKiD\r\nu10O+5qSb8N30TZX/KQHblHxSu+fd2/jd3J4CJSfhUeOI9y8NqTCWSa4bXIM\r\napVQaQ8wTXI2gAYsrMFJcPEvgsAwdIvTmT7iddvAho9dZi5ClKhBraLrLxZI\r\nRCraGAcXvjvwZp4nrGi6G1NF5j/rbGl+QdxyOtIBxItbawqK7GJQsgw+s0HH\r\nzJ2VkOFXVZYhXjsA7GckU9b7XqZZnOQcOyPhOpc4EdYzCLXpqgNBnYMzK7KX\r\nkpr3XKSeezJsbYmCal3yAkPG1ci1Nzof44g=\r\n=xtTJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"appotter","email":"ap.phitsanu@gmail.com"},"directories":{},"maintainers":[{"name":"appotter","email":"ap.phitsanu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-s3_2.0.2_1674557652324_0.39089391029718734"},"_hasShrinkwrap":false},"3.0.0":{"name":"@appotter/nestjs-s3","version":"3.0.0","description":"NestJS provider to integrates with AWS S3","author":{"name":"Phitsanu Chuamuangphan","email":"ap.phitsanu@gmail.com, contact@phitsanu.ch"},"license":"MIT","main":"dist/index.js","scripts":{"build":"rimraf ./dist && tsc -p tsconfig.json","test":"jest --detectOpenHandles","test:cov":"jest --detectOpenHandles --coverage"},"repository":{"type":"git","url":"git+https://github.com/appotter/nestjs-s3.git"},"keywords":["nestjs","aws-s3","s3","file-storage","nodejs"],"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/appotter/nestjs-s3/issues"},"devDependencies":{"@aws-sdk/client-s3":"^3.502.0","@aws-sdk/lib-storage":"^3.502.0","@nestjs/common":"^10.3.1","@nestjs/config":"^3.1.1","@nestjs/core":"^10.3.1","@nestjs/testing":"^10.3.1","@smithy/util-stream":"^2.1.1","@types/jest":"^29.5.11","@types/multer":"^1.4.11","@types/node":"^20.11.10","@types/uuid":"^9.0.8","@typescript-eslint/eslint-plugin":"^6.20.0","@typescript-eslint/parser":"^6.20.0","aws-sdk-client-mock":"^3.0.1","eslint":"^8.56.0","eslint-config-prettier":"^9.1.0","eslint-plugin-import":"^2.29.1","eslint-plugin-prettier":"^5.1.3","jest":"^29.7.0","prettier":"^3.2.4","reflect-metadata":"^0.1.14","rimraf":"^5.0.5","rxjs":"^7.8.1","source-map-support":"^0.5.21","ts-jest":"^29.1.2","ts-node":"^10.9.2","typescript":"^5.3.3","uuid":"^9.0.1"},"peerDependencies":{"@nestjs/common":"^8.0.0 || ^9.0.0 || ^10.0.0","@aws-sdk/client-s3":"^3.502.0","@aws-sdk/lib-storage":"^3.502.0","uuid":"^9.0.1"},"jest":{"moduleFileExtensions":["js","json","ts"],"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"coverageDirectory":"../coverage","testEnvironment":"node"},"types":"./dist/index.d.ts","gitHead":"86a244b59d8ef3d8da36d612976b6a4892c1e44e","homepage":"https://github.com/appotter/nestjs-s3#readme","_id":"@appotter/nestjs-s3@3.0.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-RKIVdec+r/V9Dy2mnlhNjST7Z8nzt8RFmHAn8h8o2mH7NHq/Uu9mu6+1hSorAY4ZBGyPiEjA+MjRYGcl+fxLBg==","shasum":"b0bd7bd7bc8ae60a99e484436f0b7fe58f6f5bf5","tarball":"https://registry.npmjs.org/@appotter/nestjs-s3/-/nestjs-s3-3.0.0.tgz","fileCount":32,"unpackedSize":229282,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFQlZEH6k/qpK4IXcOKdEMMsZkHgkvLvQke8T0jLx0kJAiEA8/nAFFTTnGUpABGZ+3hSeT+4l388qs49lQuU7Sb922U="}]},"_npmUser":{"name":"appotter","email":"ap.phitsanu@gmail.com"},"directories":{},"maintainers":[{"name":"appotter","email":"ap.phitsanu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-s3_3.0.0_1706622624119_0.6327012526821554"},"_hasShrinkwrap":false},"3.0.1":{"name":"@appotter/nestjs-s3","version":"3.0.1","description":"NestJS provider to integrates with AWS S3","author":{"name":"Phitsanu Chuamuangphan","email":"ap.phitsanu@gmail.com, contact@phitsanu.ch"},"license":"MIT","main":"dist/index.js","scripts":{"build":"rimraf ./dist && tsc -p tsconfig.json","test":"jest --detectOpenHandles","test:cov":"jest --detectOpenHandles --coverage"},"repository":{"type":"git","url":"git+https://github.com/appotter/nestjs-s3.git"},"keywords":["nestjs","aws-s3","s3","file-storage","nodejs"],"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/appotter/nestjs-s3/issues"},"devDependencies":{"@aws-sdk/client-s3":"^3.502.0","@aws-sdk/lib-storage":"^3.502.0","@nestjs/common":"^10.3.1","@nestjs/config":"^3.1.1","@nestjs/core":"^10.3.1","@nestjs/testing":"^10.3.1","@smithy/util-stream":"^2.1.1","@types/jest":"^29.5.11","@types/multer":"^1.4.11","@types/node":"^20.11.10","@types/uuid":"^9.0.8","@typescript-eslint/eslint-plugin":"^6.20.0","@typescript-eslint/parser":"^6.20.0","aws-sdk-client-mock":"^3.0.1","eslint":"^8.56.0","eslint-config-prettier":"^9.1.0","eslint-plugin-import":"^2.29.1","eslint-plugin-prettier":"^5.1.3","jest":"^29.7.0","prettier":"^3.2.4","reflect-metadata":"^0.1.14","rimraf":"^5.0.5","rxjs":"^7.8.1","source-map-support":"^0.5.21","ts-jest":"^29.1.2","ts-node":"^10.9.2","typescript":"^5.3.3","uuid":"^9.0.1"},"peerDependencies":{"@nestjs/common":"^8.0.0 || ^9.0.0 || ^10.0.0","@aws-sdk/client-s3":"^3.502.0","@aws-sdk/lib-storage":"^3.502.0","uuid":"^9.0.1"},"jest":{"moduleFileExtensions":["js","json","ts"],"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"coverageDirectory":"../coverage","testEnvironment":"node"},"types":"./dist/index.d.ts","gitHead":"66002745d6799cabbcc98a58e52ea1e21b247a7e","homepage":"https://github.com/appotter/nestjs-s3#readme","_id":"@appotter/nestjs-s3@3.0.1","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-mbCP2wxzuxGNuh9ny1cZUVJAueVqZquVMQaoAMytbDQuFP26WrYvMS81vGHpwKvDvKaIDgRvULNyR6dXY5rVCA==","shasum":"d2bf226d15542d301003a0bf5dad033170228f78","tarball":"https://registry.npmjs.org/@appotter/nestjs-s3/-/nestjs-s3-3.0.1.tgz","fileCount":32,"unpackedSize":229282,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB+eaELsOg1KOQDQt/3UbOxJCNocV9dKuIWQfF/4wU+ZAiEA9880cz+616UMg9j75HXSgCsmshYSyK8EylMrqrriO54="}]},"_npmUser":{"name":"appotter","email":"ap.phitsanu@gmail.com"},"directories":{},"maintainers":[{"name":"appotter","email":"ap.phitsanu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-s3_3.0.1_1706623159142_0.7047524510385106"},"_hasShrinkwrap":false},"3.0.2":{"name":"@appotter/nestjs-s3","version":"3.0.2","description":"NestJS provider to integrates with AWS S3","author":{"name":"Phitsanu Chuamuangphan","email":"ap.phitsanu@gmail.com, contact@phitsanu.ch"},"license":"MIT","main":"dist/index.js","scripts":{"build":"rimraf ./dist && tsc -p tsconfig.json","test":"jest --detectOpenHandles","test:cov":"jest --detectOpenHandles --coverage"},"repository":{"type":"git","url":"git+https://github.com/appotter/nestjs-s3.git"},"keywords":["nestjs","aws-s3","s3","file-storage","nodejs"],"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/appotter/nestjs-s3/issues"},"devDependencies":{"@aws-sdk/client-s3":"^3.502.0","@aws-sdk/lib-storage":"^3.502.0","@nestjs/common":"^10.3.1","@nestjs/config":"^3.1.1","@nestjs/core":"^10.3.1","@nestjs/testing":"^10.3.1","@smithy/util-stream":"^2.1.1","@types/jest":"^29.5.11","@types/multer":"^1.4.11","@types/node":"^20.11.10","@types/uuid":"^9.0.8","@typescript-eslint/eslint-plugin":"^6.20.0","@typescript-eslint/parser":"^6.20.0","aws-sdk-client-mock":"^3.0.1","eslint":"^8.56.0","eslint-config-prettier":"^9.1.0","eslint-plugin-import":"^2.29.1","eslint-plugin-prettier":"^5.1.3","jest":"^29.7.0","prettier":"^3.2.4","reflect-metadata":"^0.1.14","rimraf":"^5.0.5","rxjs":"^7.8.1","source-map-support":"^0.5.21","ts-jest":"^29.1.2","ts-node":"^10.9.2","typescript":"^5.3.3","uuid":"^9.0.1"},"peerDependencies":{"@nestjs/common":"^8.0.0 || ^9.0.0 || ^10.0.0","@aws-sdk/client-s3":"^3.502.0","@aws-sdk/lib-storage":"^3.502.0","uuid":"^9.0.1"},"jest":{"moduleFileExtensions":["js","json","ts"],"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"coverageDirectory":"../coverage","testEnvironment":"node"},"types":"./dist/index.d.ts","gitHead":"afc8b07f85c29dea909b9500184d32eff1e5198e","homepage":"https://github.com/appotter/nestjs-s3#readme","_id":"@appotter/nestjs-s3@3.0.2","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-tew+lqGL0/BZ8s43Z4LsCKKrstzQ4WQdacNkg7FXhFIiSYNHcAI1mUdDig9ppYHXKaixxFRMoLUUTk2ofEJRIQ==","shasum":"25534aabbfb1854c2c6eee7109dab0baeca7bfc2","tarball":"https://registry.npmjs.org/@appotter/nestjs-s3/-/nestjs-s3-3.0.2.tgz","fileCount":32,"unpackedSize":228695,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAyJCpf7M3gQH8EHUUneg76zK++RU6jHU7hsxVl+/oCPAiAhxnvs1Pe0hYkgsdPxdmArA+ST1dhekjGL4ox/bszbhw=="}]},"_npmUser":{"name":"appotter","email":"ap.phitsanu@gmail.com"},"directories":{},"maintainers":[{"name":"appotter","email":"ap.phitsanu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-s3_3.0.2_1706624234699_0.4144423067000409"},"_hasShrinkwrap":false},"3.1.0":{"name":"@appotter/nestjs-s3","version":"3.1.0","description":"NestJS provider to integrates with AWS S3","author":{"name":"Phitsanu Chuamuangphan","email":"ap.phitsanu@gmail.com, contact@phitsanu.ch"},"license":"MIT","main":"dist/index.js","scripts":{"build":"rimraf ./dist && tsc -p tsconfig.json","test":"jest --detectOpenHandles","test:cov":"jest --detectOpenHandles --coverage"},"repository":{"type":"git","url":"git+https://github.com/appotter/nestjs-s3.git"},"keywords":["nestjs","aws-s3","s3","file-storage","nodejs"],"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/appotter/nestjs-s3/issues"},"devDependencies":{"@aws-sdk/client-s3":"^3.502.0","@aws-sdk/lib-storage":"^3.502.0","@aws-sdk/s3-request-presigner":"^3.503.1","@nestjs/common":"^10.3.1","@nestjs/config":"^3.1.1","@nestjs/core":"^10.3.1","@nestjs/testing":"^10.3.1","@smithy/util-stream":"^2.1.1","@types/jest":"^29.5.11","@types/multer":"^1.4.11","@types/node":"^20.11.10","@types/uuid":"^9.0.8","@typescript-eslint/eslint-plugin":"^6.20.0","@typescript-eslint/parser":"^6.20.0","aws-sdk-client-mock":"^3.0.1","eslint":"^8.56.0","eslint-config-prettier":"^9.1.0","eslint-plugin-import":"^2.29.1","eslint-plugin-prettier":"^5.1.3","jest":"^29.7.0","prettier":"^3.2.4","reflect-metadata":"^0.1.14","rimraf":"^5.0.5","rxjs":"^7.8.1","source-map-support":"^0.5.21","ts-jest":"^29.1.2","ts-node":"^10.9.2","typescript":"^5.3.3","uuid":"^9.0.1"},"peerDependencies":{"@aws-sdk/client-s3":"^3.502.0","@aws-sdk/lib-storage":"^3.502.0","@aws-sdk/s3-request-presigner":"^3.503.1","@nestjs/common":"^8.0.0 || ^9.0.0 || ^10.0.0","uuid":"^9.0.1"},"jest":{"moduleFileExtensions":["js","json","ts"],"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"coverageDirectory":"../coverage","testEnvironment":"node"},"types":"./dist/index.d.ts","gitHead":"55e62b1fbbfe970bdce8d3dfff98ebcd42eddb6b","homepage":"https://github.com/appotter/nestjs-s3#readme","_id":"@appotter/nestjs-s3@3.1.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-7UPSfFQkwC+Ki8I8lURolw+iqXq63q3o6vpC2zE0as9TBsCb52Ba1qOlmMIHKf1wX7mtxYXWHjrYElFJ8hldrw==","shasum":"b545b737ac993ba41dd95dc1873c4fc7f4ad6790","tarball":"https://registry.npmjs.org/@appotter/nestjs-s3/-/nestjs-s3-3.1.0.tgz","fileCount":32,"unpackedSize":234424,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF7PbA0O+dSKs8XplZFNFLKsDG8uEHYNJxPNoKV1C4jJAiEAz8Iakw1vzZbC5fcO2n4y1SQd6m9N5lniRxDn098FwsE="}]},"_npmUser":{"name":"appotter","email":"ap.phitsanu@gmail.com"},"directories":{},"maintainers":[{"name":"appotter","email":"ap.phitsanu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-s3_3.1.0_1706699782450_0.15905057985044224"},"_hasShrinkwrap":false}},"time":{"created":"2022-08-17T16:23:30.544Z","1.0.0":"2022-08-17T16:23:30.840Z","modified":"2024-01-31T11:16:22.766Z","2.0.0":"2022-08-28T15:50:55.079Z","2.0.1":"2022-10-07T13:15:28.350Z","2.0.2":"2023-01-24T10:54:12.532Z","3.0.0":"2024-01-30T13:50:24.310Z","3.0.1":"2024-01-30T13:59:19.344Z","3.0.2":"2024-01-30T14:17:14.900Z","3.1.0":"2024-01-31T11:16:22.613Z"},"maintainers":[{"name":"appotter","email":"ap.phitsanu@gmail.com"}],"description":"NestJS provider to integrates with AWS S3","homepage":"https://github.com/appotter/nestjs-s3#readme","keywords":["nestjs","aws-s3","s3","file-storage","nodejs"],"repository":{"type":"git","url":"git+https://github.com/appotter/nestjs-s3.git"},"author":{"name":"Phitsanu Chuamuangphan","email":"ap.phitsanu@gmail.com, contact@phitsanu.ch"},"bugs":{"url":"https://github.com/appotter/nestjs-s3/issues"},"license":"MIT","readme":"<div align=\"center\">\n  <a href=\"http://nestjs.com/\" target=\"_blank\">\n    <img src=\"https://nestjs.com/img/logo_text.svg\" width=\"150\" alt=\"Nest Logo\" />\n  </a>\n</div>\n\n<h3 align=\"center\">NestJS S3</h3>\n\n<div align=\"center\">\n  <a href=\"https://nestjs.com\" target=\"_blank\">\n    <img src=\"https://img.shields.io/badge/built%20with-NestJs-red.svg\" alt=\"Built with NestJS\">\n  </a>\n</div>\n\n### Introduction\n\nThis is a simple wrapper of [Aws S3](https://github.com/aws/aws-sdk-js) client library for NestJS.\n\n### Installation (AWS-SDK V3)\n\n```bash\nnpm install --save @appotter/nestjs-s3 @aws-sdk/client-s3 @aws-sdk/lib-storage @aws-sdk/s3-request-presigner uuid multer\n```\n\n### Installation (AWS-SDK V2) (Not recommended)\n\n```bash\nnpm install --save @appotter/nestjs-s3@2.0.0 aws-sdk uuid multer\n```\n\n### Usage\n\n#### Importing module\n\n```typescript\nimport { S3Module, S3Service } from '@appotter/nestjs-s3';\n\n@Module({\n  imports: [\n    S3Module.register({\n      accessKeyId: 'Random key',\n      secretAccessKey: 'Random secret',\n      region: 'Region',\n      bucket: 'Bucket name',\n      acl: 'ACL', // optional, default is public-read\n      endpoint: '', // optional\n    }),\n  ],\n  providers: [S3Service],\n  exports: [S3Service],\n})\nexport class S3ProviderModule {}\n```\n\n#### Importing module Async\n\n```typescript\nimport { S3Module, S3Service } from '@appotter/nestjs-S3';\nimport { ConfigModule, ConfigService } from '@nestjs/config';\n\n@Module({\n  imports: [\n    S3Module.registerAsync({\n      imports: [ConfigModule],\n      inject: [ConfigService],\n      useFactory: (configService: ConfigService) => ({\n        accessKeyId: configService.get('S3_ACCESS_KEY_ID'),\n        secretAccessKey: configService.get('S3_SECRET_ACCESS_KEY'),\n        region: configService.get('S3_REGION'),\n        bucket: configService.get('S3_BUCKET'),\n      }),\n    }),\n  ],\n  providers: [S3Service],\n  exports: [S3Service],\n})\nexport class S3ProviderModule {}\n```\n\n#### Calling Method\n\n```typescript\nimport { S3Service, S3ModuleUploadedFile } from '@appotter/nestjs-S3';\n\n@Injectable()\nexport class YourService {\n  constructor(private s3Service: S3Service) {}\n\n  async put(file: S3ModuleUploadedFile): Promise<void> {\n    await this.s3Service.put(file, 'path-or-custom-file-name');\n  }\n\n  async putAsUniqueName(file: S3ModuleUploadedFile): Promise<void> {\n    const { url } = await this.s3Service.putAsUniqueName(file);\n\n    console.log(url);\n    // https://bucket-name.s3.region.amazonaws.com/71d07956-26bb-4554-bb37-d00a7865ae29.png\n  }\n\n  async listAllFiles(): Promise<void> {\n    const items = await this.s3Service.lists();\n\n    console.log(items);\n    // [\n    //   {\n    //     key: 'file.png',\n    //     size: 123,\n    //     lastModified: 2022-08-08T07:28:40.000Z,\n    //     bucket: 'test',\n    //   },\n    //   {\n    //     key: 'file2.png',\n    //     size: 456,\n    //     lastModified: 2022-08-08T07:45:46.000Z,\n    //     bucket: 'test',\n    //   },\n    // ]\n  }\n\n  async getFile(file: string): Promise<void> {\n    const item = await this.s3Service.get(file);\n\n    console.log(item);\n    // {\n    //   key: 'file.jpg',\n    //   contentLength: 123,\n    //   contentType: 'application/octet-stream',\n    //   body: '<Buffer ff d8 ff e0 00 ... 74938 more bytes>',\n    // }\n  }\n\n  async deleteFile(file: string): Promise<boolean> {\n    const { status } = await this.s3Service.delete(file);\n\n    return status;\n  }\n\n  // Also available with all S3 instance methods\n  // this.s3Service.getClient().[all-method-of-S3-instance]();\n\n  // Signed Url (support V3 only)\n  async signedUrl(file: string): Promise<string> {\n    // expires in 1 hour\n    const signed = await this.s3Service.signedUrl(file, 60*60);\n\n    console.log(signed);\n    // https://test.s3.ap-southeast-1.amazonaws.com/fake.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=test%2F20240131%2Fap-southeast-1%2Fs3%2Faws4_request&X-Amz-Date=20240131T110201Z&X-Amz-Expires=60&X-Amz-Signature=25875526097b1f0182b27009005e70f9e92cd67294fb60583de9bd0b5f1cc5a7&X-Amz-SignedHeaders=host&x-id=GetObject\n  }\n}\n```\n\n## Contributing\n\nContributions welcome!\n\n## Author\n\n**Phitsanu Chuamuangphan ([GitHub](https://github.com/appotter))**\n\n## LICENSE\n\nMIT\n","readmeFilename":"README.md"}