{"_id":"@athenna/storage","_rev":"5-a7bd8ad3b2908718d0c56db556d3871a","name":"@athenna/storage","dist-tags":{"latest":"5.4.0"},"versions":{"5.0.0":{"name":"@athenna/storage","version":"5.0.0","keywords":["esm","athenna"],"author":{"name":"João Lenon","email":"lenon@athenna.io"},"license":"MIT","_id":"@athenna/storage@5.0.0","maintainers":[{"name":"jlenon7","email":"lenonSec7@gmail.com"}],"homepage":"https://github.com/AthennaIO/Storage#readme","bugs":{"url":"https://github.com/AthennaIO/Storage/issues"},"c8":{"all":true,"exclude":["src/types","src/storage/drivers/FakeDriver.ts"],"include":["src/**/*.ts"],"reporter":["text-summary","html"],"report-dir":"./tests/coverage","check-coverage":true},"dist":{"shasum":"5021e534172b2c9656be1e75a82316ab1454c903","tarball":"https://registry.npmjs.org/@athenna/storage/-/storage-5.0.0.tgz","fileCount":41,"integrity":"sha512-A0g8fPPmUVQZpT0HjP/wMIhbA64tJ5p3F/6UqYbVrVztEiw6AmQdCE6Kg5+2RtN77S87mjB6PrveZWCYRnbhNw==","signatures":[{"sig":"MEQCIFQwu+jDMRL7bRDa3eiLsi4r0z2BDXtzjYghOTuNTI3pAiBRhXnUgVJ1t+pw1aoQmc4cAz8YsWSK1LXX3Dbz+9VC+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55871},"main":"./src/index.js","type":"module","husky":{"hooks":{"prepare-commit-msg":"lint-staged && exec < /dev/tty && git cz --hook || true"}},"types":"./src/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">=20.0.0"},"exports":{".":"./src/index.js","./types":"./src/types/index.js","./package":"./package.json","./package.json":"./package.json","./testing/plugins":"./src/testing/plugins/index.js"},"gitHead":"61f93cd7da81593e4b01195a66091a0203545cbe","imports":{"#bin":"./bin/index.js","#src":"./src/index.js","#bin/*":"./bin/*.js","#src/*":"./src/*.js","#tests":"./tests/index.js","#tests/*":"./tests/*.js","#src/debug":"./src/debug/index.js","#src/types":"./src/types/index.js"},"scripts":{"test":"npm run --silent lint:fix && node --enable-source-maps --import=@athenna/tsconfig bin/test.ts","build":"node node_modules/@athenna/tsconfig/src/build.js","lint:fix":"eslint \"{bin,src,configurer,tests}/**/*.ts\" --fix","test:debug":"cross-env NODE_DEBUG=athenna:* node --inspect --enable-source-maps --import=@athenna/tsconfig bin/test.ts","test:coverage":"c8 npm run --silent test"},"_npmUser":{"name":"jlenon7","actor":{"name":"jlenon7","type":"user","email":"lenonSec7@gmail.com"},"email":"lenonSec7@gmail.com"},"prettier":{"semi":false,"endOfLine":"lf","overrides":[{"files":"tests/**/*","options":{"printWidth":120}}],"printWidth":80,"arrowParens":"avoid","singleQuote":true,"trailingComma":"none"},"repository":{"url":"git+https://github.com/AthennaIO/Storage.git","type":"git"},"_npmVersion":"10.5.0","description":"The Athenna filesystem provider.","directories":{},"lint-staged":{"*.ts":["eslint --fix","git add"],"*.json":["prettier --write","git add"]},"_nodeVersion":"21.7.3","dependencies":{"mime-types":"^3.0.1","@athenna/config":"^5.3.0","@types/mime-types":"^3.0.1","@aws-sdk/client-s3":"^3.832.0","@aws-sdk/lib-storage":"^3.839.0"},"eslintConfig":{"env":{"node":true,"es2021":true},"rules":{"camelcase":"off","dot-notation":"off","prettier/prettier":"error","no-useless-constructor":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_","varsIgnorePattern":"^_","caughtErrorsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off"},"parser":"@typescript-eslint/parser","extends":["standard","eslint:recommended","plugin:prettier/recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/eslint-recommended"],"globals":{"Env":true,"ioc":true,"Path":true,"Config":true,"container":true},"plugins":["prettier","@typescript-eslint"]},"eslintIgnore":[],"_hasShrinkwrap":false,"devDependencies":{"husky":"^3.1.0","eslint":"^8.57.1","prettier":"^2.8.8","commitizen":"^4.3.1","lint-staged":"^12.5.0","@athenna/ioc":"^5.1.0","@athenna/test":"^5.3.0","@athenna/common":"^5.10.0","eslint-plugin-n":"^15.7.0","@athenna/artisan":"^5.6.0","@athenna/tsconfig":"^5.0.0","eslint-plugin-import":"^2.31.0","eslint-plugin-promise":"^6.6.0","eslint-config-prettier":"^8.10.0","eslint-config-standard":"^17.1.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^7.18.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/storage_5.0.0_1751286376649_0.4542270879649797","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"@athenna/storage","version":"5.1.0","keywords":["esm","athenna"],"author":{"name":"João Lenon","email":"lenon@athenna.io"},"license":"MIT","_id":"@athenna/storage@5.1.0","maintainers":[{"name":"jlenon7","email":"lenonSec7@gmail.com"}],"homepage":"https://github.com/AthennaIO/Storage#readme","bugs":{"url":"https://github.com/AthennaIO/Storage/issues"},"c8":{"all":true,"exclude":["src/types","src/storage/drivers/FakeDriver.ts"],"include":["src/**/*.ts"],"reporter":["text-summary","html"],"report-dir":"./tests/coverage","check-coverage":true},"dist":{"shasum":"8fa85e843751b39caa391ccbd2b88102370b1a8f","tarball":"https://registry.npmjs.org/@athenna/storage/-/storage-5.1.0.tgz","fileCount":41,"integrity":"sha512-9TozxZBDDXe/HSALosLVY9t//aYDmwEM1X6K2no3UbfU8IUBVLVi5Is/DlMJ/Z5cJL/2ftpg6EMLHvezESy/yQ==","signatures":[{"sig":"MEUCIDSS/si0R0lRrfuJxP46Dl4rSM8Se8tzAw4TSS3Q0ztZAiEAj200JzxXHDw+NiYyCqKtAlxGxgqYa16a58DUtbNohVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55944},"main":"./src/index.js","type":"module","husky":{"hooks":{"prepare-commit-msg":"lint-staged && exec < /dev/tty && git cz --hook || true"}},"types":"./src/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">=20.0.0"},"exports":{".":"./src/index.js","./types":"./src/types/index.js","./package":"./package.json","./package.json":"./package.json","./testing/plugins":"./src/testing/plugins/index.js","./providers/StorageProvider":"./src/providers/StorageProvider.js"},"gitHead":"a6a65308a87d13bcb810b3d94f5ec75788cd38ff","imports":{"#bin":"./bin/index.js","#src":"./src/index.js","#bin/*":"./bin/*.js","#src/*":"./src/*.js","#tests":"./tests/index.js","#tests/*":"./tests/*.js","#src/debug":"./src/debug/index.js","#src/types":"./src/types/index.js"},"scripts":{"test":"npm run --silent lint:fix && node --enable-source-maps --import=@athenna/tsconfig bin/test.ts","build":"node node_modules/@athenna/tsconfig/src/build.js","lint:fix":"eslint \"{bin,src,configurer,tests}/**/*.ts\" --fix","test:debug":"cross-env NODE_DEBUG=athenna:* node --inspect --enable-source-maps --import=@athenna/tsconfig bin/test.ts","test:coverage":"c8 npm run --silent test"},"_npmUser":{"name":"jlenon7","actor":{"name":"jlenon7","type":"user","email":"lenonSec7@gmail.com"},"email":"lenonSec7@gmail.com"},"prettier":{"semi":false,"endOfLine":"lf","overrides":[{"files":"tests/**/*","options":{"printWidth":120}}],"printWidth":80,"arrowParens":"avoid","singleQuote":true,"trailingComma":"none"},"repository":{"url":"git+https://github.com/AthennaIO/Storage.git","type":"git"},"_npmVersion":"10.5.0","description":"The Athenna filesystem provider.","directories":{},"lint-staged":{"*.ts":["eslint --fix","git add"],"*.json":["prettier --write","git add"]},"_nodeVersion":"21.7.3","dependencies":{"mime-types":"^3.0.1","@athenna/config":"^5.3.0","@aws-sdk/client-s3":"^3.832.0","@aws-sdk/lib-storage":"^3.839.0"},"eslintConfig":{"env":{"node":true,"es2021":true},"rules":{"camelcase":"off","dot-notation":"off","prettier/prettier":"error","no-useless-constructor":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_","varsIgnorePattern":"^_","caughtErrorsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off"},"parser":"@typescript-eslint/parser","extends":["standard","eslint:recommended","plugin:prettier/recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/eslint-recommended"],"globals":{"Env":true,"ioc":true,"Path":true,"Config":true,"container":true},"plugins":["prettier","@typescript-eslint"]},"eslintIgnore":[],"_hasShrinkwrap":false,"devDependencies":{"husky":"^3.1.0","eslint":"^8.57.1","prettier":"^2.8.8","commitizen":"^4.3.1","lint-staged":"^12.5.0","@athenna/ioc":"^5.1.0","@athenna/test":"^5.3.0","@athenna/common":"^5.10.0","eslint-plugin-n":"^15.7.0","@athenna/artisan":"^5.6.0","@athenna/tsconfig":"^5.0.0","@types/mime-types":"^3.0.1","eslint-plugin-import":"^2.31.0","eslint-plugin-promise":"^6.6.0","eslint-config-prettier":"^8.10.0","eslint-config-standard":"^17.1.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^7.18.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/storage_5.1.0_1751287574121_0.19806968705418715","host":"s3://npm-registry-packages-npm-production"}},"5.2.0":{"name":"@athenna/storage","version":"5.2.0","keywords":["esm","athenna"],"author":{"name":"João Lenon","email":"lenon@athenna.io"},"license":"MIT","_id":"@athenna/storage@5.2.0","maintainers":[{"name":"jlenon7","email":"lenonSec7@gmail.com"}],"homepage":"https://github.com/AthennaIO/Storage#readme","bugs":{"url":"https://github.com/AthennaIO/Storage/issues"},"c8":{"all":true,"exclude":["src/types","src/storage/drivers/FakeDriver.ts"],"include":["src/**/*.ts"],"reporter":["text-summary","html"],"report-dir":"./tests/coverage","check-coverage":true},"dist":{"shasum":"9f974861223eca980571c2a0c390b82381926b6c","tarball":"https://registry.npmjs.org/@athenna/storage/-/storage-5.2.0.tgz","fileCount":41,"integrity":"sha512-KiqQ8mKIo73WU9ibEvaA58ZyFGEPnVXXcM2TTaPsQRmZri9P0xl4r947mrCIgdvu81HfVaHrpClk+HYLMkEvTw==","signatures":[{"sig":"MEYCIQDBju6wJ6xIurfsVE4JbA/lJKIIDegh8ZurR3hOP6WrXwIhAODt9MvrwA1dFe2+YySszsVMnqkeKV3YyQFnOTjnYt4W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55944},"main":"./src/index.js","type":"module","husky":{"hooks":{"prepare-commit-msg":"lint-staged && exec < /dev/tty && git cz --hook || true"}},"types":"./src/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">=20.0.0"},"exports":{".":"./src/index.js","./types":"./src/types/index.js","./package":"./package.json","./package.json":"./package.json","./testing/plugins":"./src/testing/plugins/index.js","./providers/StorageProvider":"./src/providers/StorageProvider.js"},"gitHead":"f00928b97e99a72a0b3fab7a6d319f70d0a24c38","imports":{"#bin":"./bin/index.js","#src":"./src/index.js","#bin/*":"./bin/*.js","#src/*":"./src/*.js","#tests":"./tests/index.js","#tests/*":"./tests/*.js","#src/debug":"./src/debug/index.js","#src/types":"./src/types/index.js"},"scripts":{"test":"npm run --silent lint:fix && node --enable-source-maps --import=@athenna/tsconfig bin/test.ts","build":"node node_modules/@athenna/tsconfig/src/build.js","lint:fix":"eslint \"{bin,src,configurer,tests}/**/*.ts\" --fix","test:debug":"cross-env NODE_DEBUG=athenna:* node --inspect --enable-source-maps --import=@athenna/tsconfig bin/test.ts","test:coverage":"c8 npm run --silent test"},"_npmUser":{"name":"jlenon7","email":"lenonSec7@gmail.com"},"prettier":{"semi":false,"endOfLine":"lf","overrides":[{"files":"tests/**/*","options":{"printWidth":120}}],"printWidth":80,"arrowParens":"avoid","singleQuote":true,"trailingComma":"none"},"repository":{"url":"git+https://github.com/AthennaIO/Storage.git","type":"git"},"_npmVersion":"10.5.0","description":"The Athenna filesystem provider.","directories":{},"lint-staged":{"*.ts":["eslint --fix","git add"],"*.json":["prettier --write","git add"]},"_nodeVersion":"21.7.3","dependencies":{"mime-types":"^3.0.1","@athenna/config":"^5.4.0","@aws-sdk/client-s3":"^3.858.0","@aws-sdk/lib-storage":"^3.858.0"},"eslintConfig":{"env":{"node":true,"es2021":true},"rules":{"camelcase":"off","dot-notation":"off","prettier/prettier":"error","no-useless-constructor":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_","varsIgnorePattern":"^_","caughtErrorsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off"},"parser":"@typescript-eslint/parser","extends":["standard","eslint:recommended","plugin:prettier/recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/eslint-recommended"],"globals":{"Env":true,"ioc":true,"Path":true,"Config":true,"container":true},"plugins":["prettier","@typescript-eslint"]},"eslintIgnore":[],"_hasShrinkwrap":false,"devDependencies":{"husky":"^3.1.0","eslint":"^8.57.1","prettier":"^2.8.8","commitizen":"^4.3.1","lint-staged":"^12.5.0","@athenna/ioc":"^5.2.0","@athenna/test":"^5.5.0","@athenna/common":"^5.14.0","eslint-plugin-n":"^15.7.0","@athenna/artisan":"^5.7.0","@athenna/tsconfig":"^5.0.0","@types/mime-types":"^3.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-promise":"^6.6.0","eslint-config-prettier":"^8.10.2","eslint-config-standard":"^17.1.0","eslint-plugin-prettier":"^4.2.5","@typescript-eslint/parser":"^7.18.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/storage_5.2.0_1754072799156_0.17792898653252798","host":"s3://npm-registry-packages-npm-production"}},"5.3.0":{"name":"@athenna/storage","version":"5.3.0","keywords":["esm","athenna"],"author":{"name":"João Lenon","email":"lenon@athenna.io"},"license":"MIT","_id":"@athenna/storage@5.3.0","maintainers":[{"name":"jlenon7","email":"lenonSec7@gmail.com"}],"homepage":"https://github.com/AthennaIO/Storage#readme","bugs":{"url":"https://github.com/AthennaIO/Storage/issues"},"c8":{"all":true,"exclude":["src/types","src/storage/drivers/FakeDriver.ts"],"include":["src/**/*.ts"],"reporter":["text-summary","html"],"report-dir":"./tests/coverage","check-coverage":true},"dist":{"shasum":"7260fcc6ad34d0366c3d899ce644b19b93031c77","tarball":"https://registry.npmjs.org/@athenna/storage/-/storage-5.3.0.tgz","fileCount":45,"integrity":"sha512-DShcye0hwobXu3STepu4FDe60UTeHRX1ehBUfxB+kAdtlygvZKXSAB6q2DSWc0B29naOECYGKSCzbowgGGkNZg==","signatures":[{"sig":"MEUCIQDNi6c+fSoGTwdwxKMAj4e+Z/n+2h3TfEJGSBRFh5laLQIgc3QGgjumV6KUE/9wlODtsOk3oWNmPaRN6qNV/+Bo0CY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64899},"main":"./src/index.js","type":"module","husky":{"hooks":{"prepare-commit-msg":"lint-staged && exec < /dev/tty && git cz --hook || true"}},"types":"./src/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">=20.0.0"},"exports":{".":"./src/index.js","./types":"./src/types/index.js","./package":"./package.json","./package.json":"./package.json","./testing/plugins":"./src/testing/plugins/index.js","./providers/StorageProvider":"./src/providers/StorageProvider.js"},"gitHead":"c2493e7a3c745409ade9b405647e472e52d0aa93","imports":{"#bin":"./bin/index.js","#src":"./src/index.js","#bin/*":"./bin/*.js","#src/*":"./src/*.js","#tests":"./tests/index.js","#tests/*":"./tests/*.js","#src/debug":"./src/debug/index.js","#src/types":"./src/types/index.js"},"scripts":{"test":"npm run --silent lint:fix && node --enable-source-maps --import=@athenna/tsconfig bin/test.ts","build":"node node_modules/@athenna/tsconfig/src/build.js","lint:fix":"eslint \"{bin,src,configurer,tests}/**/*.ts\" --fix","test:debug":"cross-env NODE_DEBUG=athenna:* node --inspect --enable-source-maps --import=@athenna/tsconfig bin/test.ts","test:coverage":"c8 npm run --silent test"},"_npmUser":{"name":"jlenon7","email":"lenonSec7@gmail.com"},"prettier":{"semi":false,"endOfLine":"lf","overrides":[{"files":"tests/**/*","options":{"printWidth":120}}],"printWidth":80,"arrowParens":"avoid","singleQuote":true,"trailingComma":"none"},"repository":{"url":"git+https://github.com/AthennaIO/Storage.git","type":"git"},"_npmVersion":"10.8.2","description":"The Athenna filesystem provider.","directories":{},"lint-staged":{"*.ts":["eslint --fix","git add"],"*.json":["prettier --write","git add"]},"_nodeVersion":"22.8.0","dependencies":{"mime-types":"^3.0.1","@athenna/config":"^5.4.0","@aws-sdk/client-s3":"^3.858.0","@aws-sdk/lib-storage":"^3.858.0","@aws-sdk/s3-request-presigner":"^3.1045.0"},"eslintConfig":{"env":{"node":true,"es2021":true},"rules":{"camelcase":"off","dot-notation":"off","prettier/prettier":"error","no-useless-constructor":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_","varsIgnorePattern":"^_","caughtErrorsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off"},"parser":"@typescript-eslint/parser","extends":["standard","eslint:recommended","plugin:prettier/recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/eslint-recommended"],"globals":{"Env":true,"ioc":true,"Path":true,"Config":true,"container":true},"plugins":["prettier","@typescript-eslint"]},"eslintIgnore":[],"_hasShrinkwrap":false,"devDependencies":{"husky":"^3.1.0","eslint":"^8.57.1","prettier":"^2.8.8","commitizen":"^4.3.1","lint-staged":"^12.5.0","@athenna/ioc":"^5.2.0","@athenna/test":"^5.5.0","@athenna/common":"^5.14.0","eslint-plugin-n":"^15.7.0","@athenna/artisan":"^5.7.0","@athenna/tsconfig":"^5.0.0","@types/mime-types":"^3.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-promise":"^6.6.0","eslint-config-prettier":"^8.10.2","eslint-config-standard":"^17.1.0","eslint-plugin-prettier":"^4.2.5","@typescript-eslint/parser":"^7.18.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/storage_5.3.0_1778445245398_0.2795370474763339","host":"s3://npm-registry-packages-npm-production"}},"5.4.0":{"c8":{"all":true,"exclude":["src/types"],"include":["src/**/*.ts"],"reporter":["text-summary","html"],"report-dir":"./tests/coverage","check-coverage":true},"_id":"@athenna/storage@5.4.0","bugs":{"url":"https://github.com/AthennaIO/Storage/issues"},"dist":{"shasum":"3999a9c217c811254b931654c6436fb6f7539f99","tarball":"https://registry.npmjs.org/@athenna/storage/-/storage-5.4.0.tgz","fileCount":61,"integrity":"sha512-u9r5x7F4JH0+dfF67y6IZQU27OCLgZCRy1Bke837d4NGkCPsysaYoV2q6BrjsbH1BJ+ph+nEORpoK9kKall0AQ==","signatures":[{"sig":"MEUCIBhDgVYOqVbIdQb+mpSooFS6oWlrPrENlZRJX1W+/pKmAiEAm5qt1n/VOH1TjWu+ts0SPjdFWJnO9bbNghNnqOfp5/g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCOkxoh5K0tH3M0/ORVvzC39JU9BGpGrQ0TC0QakBbhnwIgeJec+L1yTUdpjYo647DOORZsiyTkGShJRC87+GWFNvc="}],"unpackedSize":117377},"main":"./src/index.js","name":"@athenna/storage","type":"module","husky":{"hooks":{"prepare-commit-msg":"lint-staged && exec < /dev/tty && git cz --hook || true"}},"types":"./src/index.d.ts","author":{"name":"João Lenon","email":"lenon@athenna.io"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">=20.0.0"},"exports":{".":"./src/index.js","./types":"./src/types/index.js","./package":"./package.json","./package.json":"./package.json","./providers/StorageProvider":"./src/providers/StorageProvider.js"},"gitHead":"e06644c0ea5f65bcf4d42dfdf3538f42d49ce6fa","imports":{"#bin":"./bin/index.js","#src":"./src/index.js","#bin/*":"./bin/*.js","#src/*":"./src/*.js","#tests":"./tests/index.js","#tests/*":"./tests/*.js","#src/debug":"./src/debug/index.js","#src/types":"./src/types/index.js"},"license":"MIT","scripts":{"test":"npm run --silent lint:fix && node --enable-source-maps --import=@athenna/tsconfig bin/test.ts","build":"node node_modules/@athenna/tsconfig/src/build.js","lint:fix":"eslint \"{bin,src,configurer,tests}/**/*.ts\" --fix","test:debug":"cross-env NODE_DEBUG=athenna:* node --inspect --enable-source-maps --import=@athenna/tsconfig bin/test.ts","test:coverage":"c8 npm run --silent test"},"version":"5.4.0","_npmUser":{"name":"jlenon7","email":"lenonSec7@gmail.com"},"homepage":"https://github.com/AthennaIO/Storage#readme","keywords":["esm","athenna"],"prettier":{"semi":false,"endOfLine":"lf","overrides":[{"files":"tests/**/*","options":{"printWidth":120}}],"printWidth":80,"arrowParens":"avoid","singleQuote":true,"trailingComma":"none"},"repository":{"url":"git+https://github.com/AthennaIO/Storage.git","type":"git"},"_npmVersion":"11.19.0","description":"The Athenna filesystem provider.","directories":{},"lint-staged":{"*.ts":["eslint --fix","git add"],"*.json":["prettier --write","git add"]},"maintainers":[{"name":"jlenon7","email":"lenonSec7@gmail.com"}],"_nodeVersion":"24.20.0","dependencies":{"@aws-sdk/client-s3":"^3.1130.0","@aws-sdk/lib-storage":"^3.1130.0","@aws-sdk/s3-request-presigner":"^3.1130.0"},"eslintConfig":{"env":{"node":true,"es2021":true},"rules":{"camelcase":"off","dot-notation":"off","prettier/prettier":"error","no-useless-constructor":"off","@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_","varsIgnorePattern":"^_","caughtErrorsIgnorePattern":"^_"}],"@typescript-eslint/no-explicit-any":"off","@typescript-eslint/no-empty-function":"off"},"parser":"@typescript-eslint/parser","extends":["standard","eslint:recommended","plugin:prettier/recommended","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/eslint-recommended"],"globals":{"Env":true,"ioc":true,"Path":true,"Config":true,"container":true},"plugins":["prettier","@typescript-eslint"]},"eslintIgnore":[],"_hasShrinkwrap":false,"devDependencies":{"husky":"^3.1.0","eslint":"^8.57.1","prettier":"^2.8.8","commitizen":"^4.3.2","lint-staged":"^12.5.0","@athenna/ioc":"^5.3.0","@athenna/test":"^5.8.0","@athenna/common":"^5.37.0","@athenna/config":"^5.6.0","eslint-plugin-n":"^15.7.0","@athenna/artisan":"^5.13.0","@athenna/tsconfig":"^5.5.0","eslint-plugin-import":"^2.32.0","eslint-plugin-promise":"^6.6.0","eslint-config-prettier":"^8.10.2","eslint-config-standard":"^17.1.0","eslint-plugin-prettier":"^4.2.5","@typescript-eslint/parser":"^7.18.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/storage_5.4.0_1789128969037_0.9606024687510077"}}},"time":{"created":"2025-06-30T12:26:16.524Z","modified":"2026-09-11T12:16:09.351Z","5.0.0":"2025-06-30T12:26:16.854Z","5.1.0":"2025-06-30T12:46:14.301Z","5.2.0":"2025-08-01T18:26:39.437Z","5.3.0":"2026-05-10T20:34:05.552Z","5.4.0":"2026-09-11T12:16:09.109Z"},"bugs":{"url":"https://github.com/AthennaIO/Storage/issues"},"author":{"name":"João Lenon","email":"lenon@athenna.io"},"license":"MIT","homepage":"https://github.com/AthennaIO/Storage#readme","keywords":["esm","athenna"],"repository":{"url":"git+https://github.com/AthennaIO/Storage.git","type":"git"},"description":"The Athenna filesystem provider.","maintainers":[{"name":"jlenon7","email":"lenonSec7@gmail.com"}],"readme":"# Storage 🗃️\n\n> The Athenna filesystem provider.\n\n[![GitHub followers](https://img.shields.io/github/followers/athennaio.svg?style=social&label=Follow&maxAge=2592000)](https://github.com/athennaio?tab=followers)\n[![GitHub stars](https://img.shields.io/github/stars/AthennaIO/Storage.svg?style=social&label=Star&maxAge=2592000)](https://github.com/AthennaIO/Storage/stargazers/)\n\n<p>\n    <a href=\"https://www.buymeacoffee.com/athenna\" target=\"_blank\"><img src=\"https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png\" alt=\"Buy Me A Coffee\" style=\"height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;\" ></a>\n</p>\n\n<p>\n  <img alt=\"GitHub language count\" src=\"https://img.shields.io/github/languages/count/AthennaIO/Storage?style=for-the-badge&logo=appveyor\">\n\n  <img alt=\"Repository size\" src=\"https://img.shields.io/github/repo-size/AthennaIO/Storage?style=for-the-badge&logo=appveyor\">\n\n  <img alt=\"License\" src=\"https://img.shields.io/badge/license-MIT-brightgreen?style=for-the-badge&logo=appveyor\">\n\n  <img alt=\"Commitizen\" src=\"https://img.shields.io/badge/commitizen-friendly-brightgreen?style=for-the-badge&logo=appveyor\">\n</p>\n\n<img src=\".github/logo.svg\" width=\"200px\" align=\"right\" hspace=\"30px\" vspace=\"100px\">\n\n## Links\n\n> For project documentation [click here](https://athenna.io). If something is not clear in the documentation please open an issue in the [documentation repository](https://github.com/athennaio/docs)\n\n## Usage\n\n```typescript\nimport { Storage } from '@athenna/storage'\n\nawait Storage.put('avatars/user.png', buffer, { contentType: 'image/png' })\nawait Storage.disk('s3').putStream('videos/movie.mp4', stream, { onProgress: p => console.log(p.loaded) })\nawait Storage.putFromUrl('avatars/user.png', 'https://example.com/user.png')\n\nconst text = await Storage.get('notes.txt')\nconst buffer = await Storage.getBuffer('avatars/user.png', { range: { start: 0, end: 11 } })\nconst stream = await Storage.getStream('videos/movie.mp4')\nconst { size, contentType, lastModified, etag, metadata } = await Storage.stat('avatars/user.png')\nconst { files, nextCursor } = await Storage.list('avatars/', { limit: 100 })\n\nawait Storage.copy('a.png', 'b.png')\nawait Storage.disk('s3_private').move('videos/1.mp4', 'videos/1.mp4', { toDisk: 's3' })\nawait Storage.delete('b.png')\nawait Storage.deleteAll('tmp/')\n\nStorage.disk('s3').url('avatars/user.png')       // https://cdn.example.com/avatars/user.png\nStorage.disk('s3').parseUrl(url)                 // 'avatars/user.png' or null\nawait Storage.disk('s3').getSignedUrl('uploads/user.png', { method: 'put', expiresIn: 300 })\n```\n\n### Configuration\n\n```typescript\ndisks: {\n  fs: { driver: 'fs', root: Path.storage(), url: Env('STORAGE_FS_URL') },\n  s3: {\n    driver: 's3',\n    bucket: Env('AWS_S3_BUCKET_NAME', ''),\n    region: Env('AWS_REGION', ''),\n    credentials: {\n      accessKeyId: Env('AWS_ACCESS_KEY_ID', ''),\n      secretAccessKey: Env('AWS_SECRET_ACCESS_KEY', '')\n    },\n    url: Env('AWS_S3_PUBLIC_URL')\n  }\n}\n```\n\nDeclare one disk per bucket (`s3`, `s3_private`, ...). The optional `url`\nis the public base URL returned by `url()` (a CDN or custom domain). The\nlegacy `key`/`secret` options are still accepted and mapped to\n`credentials`.\n\n### Testing\n\n```dotenv\nSTORAGE_DISK=fake\n```\n\nThe `fake` driver is a real in-memory disk: `put`/`get`/`exists`/`stat`/`list`\nwork on the static `FakeDriver.files` map. Inspect it in your assertions,\ncall `FakeDriver.clear()` between tests and stub what you need with\n`Mock.when(FakeDriver, 'getSignedUrl')`, the same pattern used by the\n`fake` drivers of `@athenna/database`, `@athenna/mail` and `@athenna/queue`.\n\n## Contributing\n\n> If you want to contribute to this project, first read the [CONTRIBUTING.MD](https://github.com/AthennaIO/Storage/blob/develop/CONTRIBUTING.md) file. It will be a pleasure to receive your help.\n\n---\n\n<p align='center'>\n  With 💜 by <a href='https://github.com/AthennaIO'>Athenna community</a>\n</p>\n\n<p align='center'>\n  <a href='https://github.com/AthennaIO/Storage/graphs/contributors'>\n    <img src='https://contrib.rocks/image?repo=AthennaIO/Storage'/>\n  </a>\n</p>\n","readmeFilename":"README.md"}