{"_id":"ghost-storage-base","_rev":"83-e2fb86d7069699c19e694ad06545dc4b","name":"ghost-storage-base","dist-tags":{"latest":"3.0.0"},"versions":{"0.0.1":{"name":"ghost-storage-base","version":"0.0.1","keywords":["ghost","storage","adapter"],"author":{"name":"Ghost Foundation"},"license":"MIT","_id":"ghost-storage-base@0.0.1","maintainers":[{"name":"kirrg001","email":"katharina.irrgang@googlemail.com"}],"homepage":"http://ghost.org","bugs":{"url":"https://github.com/TryGhost/Ghost-Storage-Base/issues"},"dist":{"shasum":"b31b57d2e54574a96153a54bf2e9ea599f12bec8","tarball":"https://registry.npmjs.org/ghost-storage-base/-/ghost-storage-base-0.0.1.tgz","integrity":"sha512-BcL17pUSJsWgriTMbmGGgn9lVuogNlRzh8Etw+6mgXhHLxW2EXbJ7mtG6RisuNi8htKnNiEoWKuOEuogKKpExQ==","signatures":[{"sig":"MEUCIQDl6lNncBOZe77/S2dXXRbB6/unGR/4SldUsfVyAa3ypwIgYc3cpGFUAYNwVfJbpFS+mfGyTBfJsa0bDC6AFRKxbEE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./BaseStorage","_from":".","_shasum":"b31b57d2e54574a96153a54bf2e9ea599f12bec8","gitHead":"6099f54aede1a5b1d3ada8ac75e255de959d8019","scripts":{"test":"LEVEL=fatal _mocha --report lcovonly -- test/*_spec.js"},"_npmUser":{"name":"kirrg001","email":"katharina.irrgang@googlemail.com"},"repository":{"url":"git://github.com/TryGhost/Ghost-Storage-Base.git","type":"git"},"_npmVersion":"2.15.11","description":"Base storage adapter.","directories":{},"_nodeVersion":"4.4.7","dependencies":{"moment":"^2.17.1"},"devDependencies":{"mocha":"3.1.2","should":"11.1.1"},"_npmOperationalInternal":{"tmp":"tmp/ghost-storage-base-0.0.1.tgz_1491388604603_0.6745112577918917","host":"packages-18-east.internal.npmjs.com"}},"0.0.2":{"name":"ghost-storage-base","version":"0.0.2","keywords":["ghost","storage","adapter"],"author":{"name":"Ghost Foundation"},"license":"MIT","_id":"ghost-storage-base@0.0.2","maintainers":[{"name":"kirrg001","email":"katharina.irrgang@googlemail.com"}],"homepage":"http://ghost.org","bugs":{"url":"https://github.com/TryGhost/Ghost-Storage-Base/issues"},"dist":{"shasum":"d98176370b62c2f3422f8f14e1f7afb808a61f22","tarball":"https://registry.npmjs.org/ghost-storage-base/-/ghost-storage-base-0.0.2.tgz","fileCount":4,"integrity":"sha512-xjGpgGvvU5hWG4etOS70pen2p+IjNDKO5HQ6oRizL0Yhg7GcNSCm59ppPmBrU7sV1j3MpBE2sglUr6pfgzoJwA==","signatures":[{"sig":"MEUCIQCyEEnSNVnC13NKqSprqdZ1TGVQOslwbR5jo++2zYZb4wIgVyFhs4rXZeJFcTfaMZ+Lhp/qGf6dNbSBn+An23il9+o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4050},"main":"./BaseStorage","gitHead":"ef8afd09a2ccd3c1cc88771b6579b8c8c9240e43","scripts":{"test":"LEVEL=fatal _mocha --report lcovonly -- test/*_spec.js"},"_npmUser":{"name":"kirrg001","email":"katharina.irrgang@googlemail.com"},"repository":{"url":"git://github.com/TryGhost/Ghost-Storage-Base.git","type":"git"},"_npmVersion":"5.6.0","description":"Base storage adapter.","directories":{},"_nodeVersion":"8.10.0","dependencies":{"moment":"^2.19.3"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"3.1.2","should":"11.1.1","bluebird":"3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/ghost-storage-base_0.0.2_1521657635869_0.2179963185624394","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"ghost-storage-base","version":"0.0.3","keywords":["ghost","storage","adapter"],"author":{"name":"Ghost Foundation"},"license":"MIT","_id":"ghost-storage-base@0.0.3","maintainers":[{"name":"kirrg001","email":"katharina.irrgang@googlemail.com"}],"homepage":"http://ghost.org","bugs":{"url":"https://github.com/TryGhost/Ghost-Storage-Base/issues"},"dist":{"shasum":"854b23f67816c16827a6e25b7e51915e236f691d","tarball":"https://registry.npmjs.org/ghost-storage-base/-/ghost-storage-base-0.0.3.tgz","fileCount":5,"integrity":"sha512-EMQLl9hR6zgjvDENHBH5Icbsf4DdA7n7ABtgCpjRx3BDgBb/tmM3XV97iTpGWZe9KEGKlXN25k8FXIVS2R0Jag==","signatures":[{"sig":"MEUCIHo+SHWv1lzcFqIlP1M14FEJ31jqAP41fZGydzaolp9sAiEArnEQpVkuS8gk/+J7bgfJOY69NEZz23YVb5y7pky6gBE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5916,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa52P/CRA9TVsSAnZWagAAj+wQAIS8qluX7iawYqeBalcY\nE+uaPM2sChLQqwe/2j2q1SS+Y8Uvt0HbAmz8Ytbk/QRPsFUcDo7p2qZzGroZ\ncCk8nksoeEkkuwHqDl0M8WS8LE0WZ+oDc4uiCwcITRx5Hr5oG58hM3TEp2pv\nXZ9gjidI2ZioVw5ClZn7x4JL5tltQTqwzM7WJWQlUXqkdr/SLahhbID4xWQU\nKvMS1YNVq0IbuDhbqPW0clb9qTVbNblUaYnv9/xGnmAKQAaj5LHG81625wfm\nZWl4CBWQ6T87c7PC8nwLAmBLoNZd3DMi4XBmV/fw5wkKSpKgrM/KwizvvlJ1\nVmQjCQYn6JMOWpgtb1ehQZCnX3zWxyyRl87LhvETp8HEv6TdcmDSL5lt77DY\nVtQvZx7rQVwrmUXER+mhSTLT7nZPxJWa0XmDqEVoVdL7zkJoTJzsLZVO8iMn\nhoWM4xStM+x55wCW4L3yV2hBnaRtOSQBRXnN8JPNHfo0qx6+Bo0jZepDabfs\nXRQ6i2oea65I/8YreZI/GGat/l+PEGdbcFJL/P10avgaQXW2de1lNrnsyaHA\nnQQ3CDFiQSlcTwJDDew+R1oGlPJL5TOOkij/l4aHhvEPxe4qRaEPUbQ62al5\nWC5vfR05qED31IFcwcDwsAQyYGe0atmS22mdRG5vaAhf8+dNJuua2ZckEqGO\nqaNF\r\n=46sq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./BaseStorage","engine":{"node":">=6"},"scripts":{"test":"LEVEL=fatal _mocha --report lcovonly -- test/*_spec.js"},"_npmUser":{"name":"kirrg001","email":"katharina.irrgang@googlemail.com"},"repository":{"url":"git://github.com/TryGhost/Ghost-Storage-Base.git","type":"git"},"_npmVersion":"5.6.0","description":"Base storage adapter.","directories":{},"_nodeVersion":"8.10.0","dependencies":{"moment":"^2.19.3"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"3.1.2","should":"11.1.1","bluebird":"3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/ghost-storage-base_0.0.3_1525113852683_0.04278811206662114","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"ghost-storage-base","version":"0.0.4","keywords":["ghost","storage","adapter"],"author":{"name":"Ghost Foundation"},"license":"MIT","_id":"ghost-storage-base@0.0.4","maintainers":[{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"daviddarnes","email":"me@daviddarnes.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"kirrg001","email":"katharina.irrgang@googlemail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"}],"homepage":"http://ghost.org/","bugs":{"url":"https://github.com/TryGhost/Ghost-Storage-Base/issues"},"dist":{"shasum":"c5badcab13d1763febc8eb3b293e1eb3a5e511e1","tarball":"https://registry.npmjs.org/ghost-storage-base/-/ghost-storage-base-0.0.4.tgz","fileCount":6,"integrity":"sha512-OWL/ONgP24r5s64eH25u8Nb36+MkQALvaeANByaEZlVYXJGkbt+lX+KMmkWMaC9bVpMRTc+ZZE1q/V3V0B0PXQ==","signatures":[{"sig":"MEUCIBu/zbs9ovIQTgQmvTe0nR57FoQyfhlX+s5GB3hnVfakAiEA4B6QB36nQIG1LvVVlJP26/MW74DKYp+9Me8ZYmQJpQc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4448,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXikNCRA9TVsSAnZWagAAM8cP/3xD9rVu7NBl+HQVAMtY\n7Fo9DN5wInV4bVC3ZQ4dpDNrCLe2EJewi2kD4AqjOk7QkdJ+tVhpp4HxDIdE\nxDoqpzUsMGpEJ00e/IGdf4pfScofXyY9P2rF++yqMlrzeF+SvsNEAutrYusw\noCEaafekb/mQ8RdCMeD7jcRFDb8dB6l9PBCisAS/1oiIwZnrsIjfvbivtIbx\nl8QFpM42caIAcAIPZ6jZPutw3pMmsLafeTZr9mj/v7SnJMIaP9CrH6vbDJmA\nzESNVkz5eHlhfwMGhIcCvfaEJ3XloW7Jj811ZiLM6mErFhXhV2vJA9W49gDN\nkLvL3ib495dimexY9RYrmYjSZ4HROeXugfhbTu06dtLreS/JjJNv1veNLwE5\n33JGqYki4laT5zGQBRW32cFOaQnmldD8oQvUPgJaFNcp81pPBSuuFJprtys3\nK1PzFi/GlLc9S0nFdV1xELU/QaZHcKaVGfb38uF75ZjRZdv4n14GA3oydGtx\n0KBi+bckjKmUNn31HylMXvm0JPu3BjOtLUvE7HSbcO0P75jQcMDhnl9xymIx\npC+V72q52NK/rcnZU5eIsOxliZ4KdHZOpOkKqIDzw6Y1RohPdzW5DYbvYKR/\nyH7r1lbw0P6jGg07bMeXMByMQF+I7DsJNGw7hJwhdEmlu802wpqS1dQH1Zzf\nKaWw\r\n=zQsE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./BaseStorage","engine":{"node":"^10.13.0 || ^12.10.0"},"scripts":{"ship":"STATUS=$(git status --porcelain); echo $STATUS; if [ -z \"$STATUS\" ]; then yarn publish && git push --follow-tags; fi","test":"LEVEL=fatal _mocha --report lcovonly -- test/*_spec.js","preship":"yarn test"},"_npmUser":{"name":"daniellockyer","email":"hi@daniellockyer.com"},"repository":{"url":"git://github.com/TryGhost/Ghost-Storage-Base.git","type":"git"},"description":"Base storage adapter.","directories":{},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2013-2020 Ghost Foundation\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","dependencies":{"moment":"2.24.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"7.1.0","should":"13.2.3","bluebird":"3.7.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-storage-base_0.0.4_1583229196550_0.3260322855327664","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"ghost-storage-base","version":"0.0.5","keywords":["ghost","storage","adapter"],"author":{"name":"Ghost Foundation"},"license":"MIT","_id":"ghost-storage-base@0.0.5","maintainers":[{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"daviddarnes","email":"me@daviddarnes.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"kirrg001","email":"katharina.irrgang@googlemail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"}],"homepage":"http://ghost.org/","bugs":{"url":"https://github.com/TryGhost/Ghost-Storage-Base/issues"},"dist":{"shasum":"5608326ab6067c8eb3cac537a850c175f8532849","tarball":"https://registry.npmjs.org/ghost-storage-base/-/ghost-storage-base-0.0.5.tgz","fileCount":6,"integrity":"sha512-uNOFYmHHfp9aTs6Fg4O9NQUi478DUpA4r/hckHOJNHfa29j+GHrKFHEVBeqY63Ta8XW+0+u2MZH5VruWRbX9Rg==","signatures":[{"sig":"MEQCIHQ+cTsDayQXyoNQh53ry21nln5VR4jRHWirJFe3h9eFAiBAgfIfTJ0LNQOtHXrmcuJN7e+1b0ypaZjHbeiNu8zC2A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezVEQCRA9TVsSAnZWagAAvdMP/0qHQY3eRaPOhSWY9XhV\nnXVbMiTDqGKhDuF/ETo50eTIF68Zje9aC1kSfn88LSy3pxqljZKzfr6aZrHO\nKdu5IkE9u/c4gQZ5Cjn/Z3HqKMDwOU/SDx+ZK2mCkSgxSnsZIVw1OXb9eI/k\n/SWldGihUrVoojEmMQvafgyTUSJU5gHekDwN09s0U2VB8QR++tunAgF+xyMZ\ni4gW/HcKuPWYJaXKErbZoDd8+S7pqSZncUQlfnI4Q6iTUAsYveLGkJijy5rC\nnCo1MWTLv/rCDCBFUUY6MhpMTxTZ1fCN6eMStnePyDiJ7CLUCOWLIcaYp+ba\n0J8UKpcUyRPLDSRMe9gxqcEjofdsfroaEin9zBTK+zBJ1LtWFwOU/4w2XrmQ\nBVfkhHS0fZwJLrEK1D6mNKbdeh3DUqAro6Xc8MUuZoJijp/Lx+NV3qH2IA1g\ntBnBkqFldIDljqXGM53nGgnPiGDrbXh2qeleGkSFoxV1p36Hbeks+VVaUuUq\nqo3gbeBB6j4qZaAT491O4LybjqkwpCyVaFFWrWah/BNvRTEcF4nS4o4q2cN7\nSNpemNOhElVAyAKc/rJz1C657tnQtCGm9QHAeKISfcMznYQxCHR83NEiXjOV\nzPW/UUWQ6AffF1glyHmbx79rxjETFpoCG8QZ9d1Uuj4OzWzDQ/7l6XlQDsM3\n/NHk\r\n=64qC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./BaseStorage","engine":{"node":"^10.13.0 || ^12.10.0"},"scripts":{"ship":"STATUS=$(git status --porcelain); echo $STATUS; if [ -z \"$STATUS\" ]; then yarn publish && git push --follow-tags; fi","test":"LEVEL=fatal _mocha --report lcovonly -- test/*_spec.js","preship":"yarn test"},"_npmUser":{"name":"daniellockyer","email":"hi@daniellockyer.com"},"repository":{"url":"git://github.com/TryGhost/Ghost-Storage-Base.git","type":"git"},"description":"Base storage adapter.","directories":{},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2013-2020 Ghost Foundation\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","dependencies":{"moment":"2.26.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"7.2.0","should":"13.2.3","bluebird":"3.7.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-storage-base_0.0.5_1590513935988_0.661162782339352","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"ghost-storage-base","version":"0.0.6","keywords":["ghost","storage","adapter"],"author":{"name":"Ghost Foundation"},"license":"MIT","_id":"ghost-storage-base@0.0.6","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"thibpat","email":"thibaut.patel@gmail.com"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"kirrg001","email":"katharina.irrgang@googlemail.com"}],"homepage":"http://ghost.org/","bugs":{"url":"https://github.com/TryGhost/Ghost-Storage-Base/issues"},"dist":{"shasum":"b390e6a501af31ec8463aafa3286a25de6da08c8","tarball":"https://registry.npmjs.org/ghost-storage-base/-/ghost-storage-base-0.0.6.tgz","fileCount":6,"integrity":"sha512-7t77iWWZA1Pk7X5O9cemMRb+DDisljUN2NEd06GNZ+Q43DtCkfLuTkoj0KRkT8bJf2yapsaVtXu5sIRYql4g0Q==","signatures":[{"sig":"MEUCIQDqAO9QQHMZiPdNU4qUHoCc+Pb6BxFk6bereXcqaJE0YwIgAtREq0cK+QC1TziBf64YgJR5r12pbSsxV4DsAt3zSVc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhOTDZCRA9TVsSAnZWagAABoIP/2k8b7YinhKEmUVkLkKt\nOHneMrMkjbMOhhsKJOzQW2IJTVpgHY/LK8AhT5bJcleH/ZPumujeZxiMTsXc\niUv9rgHFZHo6MD2CJIsY3z83OY1HmctzOThcEYK1HrnrxYc6sUmSXkN90uiQ\nh9Nr9N1FGCACJlFBrPxxgj8Ov3/95dCevc5GcR+MMr/47jxeINm6I8IeZpfC\nxwZFZDBpLPkjSepOXC9wXtK7rTgNPj1skvW2MAFAEQuSvUPIpgV9caYyWY7L\nEQxjb60yzQVNihJOJ5CIumwEgIdJ4vBqIgZ3IU+C68fEA/rNTcP3XCWIqawN\nuCujXdYWzwHKUHuHXoLCC/FaIqmJtGqdbj//+FCT1YHO9ZBKKP++73xIUEK9\n8NWQm/6c7UCxL0/R+AYksX3j7PGEbSFK7zoFuI7VIhcJVCkxwcFiimbVY2HH\nHE7zZfOEf6jJEFu6XHcu7butUteZG7mpdzF6yreSXw+fA0xLTFfcU+WLhdue\njFkbUOIdr9n0r7d1kbUqmsawewwNQkcUXAU5Z8v7jZUysat+YA/XXnVPAoQ8\nGyhwK+ztX8n+W7483U6LvAx8bbeMM535PAyAeAw5JZLVtJQHKeeZ57cHnpqC\nhQM7VejFkET/SpbM5QqkBJIWh5UwqT4/TFPw1u4oJHPz0n66x3Dux2zcYYkD\nkhnn\r\n=9bZS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./BaseStorage","engine":{"node":"^12.22.1 || ^14.16.1"},"scripts":{"ship":"STATUS=$(git status --porcelain); echo $STATUS; if [ -z \"$STATUS\" ]; then yarn publish && git push --follow-tags; fi","test":"LEVEL=fatal _mocha --report lcovonly -- test/*_spec.js","preship":"yarn test"},"_npmUser":{"name":"daniellockyer","email":"hi@daniellockyer.com"},"repository":{"url":"git://github.com/TryGhost/Ghost-Storage-Base.git","type":"git"},"description":"Base storage adapter.","directories":{},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2013-2021 Ghost Foundation\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","dependencies":{"moment":"2.27.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"9.1.1","should":"13.2.3","bluebird":"3.7.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-storage-base_0.0.6_1631138009077_0.5210348563906553","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"ghost-storage-base","version":"1.0.0","keywords":["ghost","storage","adapter"],"author":{"name":"Ghost Foundation"},"license":"MIT","_id":"ghost-storage-base@1.0.0","maintainers":[{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"thibpat","email":"thibaut.patel@gmail.com"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"kirrg001","email":"katharina.irrgang@googlemail.com"}],"homepage":"http://ghost.org/","bugs":{"url":"https://github.com/TryGhost/Ghost-Storage-Base/issues"},"dist":{"shasum":"931289d310ad59fc80e2be01a81235cc3a76e75a","tarball":"https://registry.npmjs.org/ghost-storage-base/-/ghost-storage-base-1.0.0.tgz","fileCount":6,"integrity":"sha512-qIW6pny/wWKjrbRmXVNis9i7856AMR5/NZmnLTrKbA0KIEnA9K/fhkj7ISnSyTYfBv17sFsC23eJfvj6dDgZrQ==","signatures":[{"sig":"MEUCICv6F85knwigcIfMsyQIZbBx+9Kohajt/VA3vwUqEiV2AiEA2eco9WS1/TMuzqfXigJO5U340TzVNH/Ze/P7ScaMdmU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4728},"main":"./BaseStorage","engine":{"node":"^12.22.1 || ^14.16.1"},"scripts":{"ship":"STATUS=$(git status --porcelain); echo $STATUS; if [ -z \"$STATUS\" ]; then yarn publish && git push --follow-tags; fi","test":"LEVEL=fatal _mocha --report lcovonly -- test/*.test.js","preship":"yarn test"},"_npmUser":{"name":"gargol","email":"nazargargol@gmail.com"},"repository":{"url":"git://github.com/TryGhost/Ghost-Storage-Base.git","type":"git"},"description":"Base storage adapter.","directories":{},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2013-2021 Ghost Foundation\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","dependencies":{"moment":"2.27.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"9.1.3","should":"13.2.3","bluebird":"3.7.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-storage-base_1.0.0_1636456123791_0.8406218461236352","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"ghost-storage-base","version":"1.1.0","keywords":["ghost","storage","adapter"],"author":{"name":"Ghost Foundation"},"license":"MIT","_id":"ghost-storage-base@1.1.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"charliegilbert","email":"charlie@ghost.org"},{"name":"kirrg001","email":"katharina.irrgang@googlemail.com"}],"homepage":"http://ghost.org/","bugs":{"url":"https://github.com/TryGhost/Ghost-Storage-Base/issues"},"dist":{"shasum":"18b18812690766cc5acc57b03bff984078319473","tarball":"https://registry.npmjs.org/ghost-storage-base/-/ghost-storage-base-1.1.0.tgz","fileCount":6,"integrity":"sha512-Gz6mCzLCcpl4StMK/TZxGFitb6sQbGW9X9EAk6MClGtOeTCmxnHDfYF9rDThMhkgzCXSswWBKD9qs2qf3CNqdA==","signatures":[{"sig":"MEUCIG9cPXD3jPmE7UcAXbUf6OEsW1utH3domWHMByFBPOVgAiEA3gxx5Cgox/Mani/8EhEcI+IlTwVyD3dwAPC4pAMwH/w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8682},"main":"./BaseStorage","engine":{"node":"^12.22.1 || ^14.16.1"},"scripts":{"ship":"STATUS=$(git status --porcelain); echo $STATUS; if [ -z \"$STATUS\" ]; then yarn publish && git push --follow-tags; fi","test":"LEVEL=fatal _mocha --report lcovonly -- test/*.test.js","preship":"yarn test"},"_npmUser":{"name":"sagzy","email":"guptazy@gmail.com"},"deprecated":"This version contains a breaking change accidentally released as minor. Please upgrade to 1.1.2.","repository":{"url":"git://github.com/TryGhost/Ghost-Storage-Base.git","type":"git"},"description":"Base storage adapter.","directories":{},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2013-2025 Ghost Foundation\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","dependencies":{"moment":"2.27.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"10.7.0","should":"13.2.3","bluebird":"3.7.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-storage-base_1.1.0_1738151959587_0.9732553463847418","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"ghost-storage-base","version":"1.1.1","keywords":["ghost","storage","adapter"],"author":{"name":"Ghost Foundation"},"license":"MIT","_id":"ghost-storage-base@1.1.1","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"charliegilbert","email":"charlie@ghost.org"},{"name":"kirrg001","email":"katharina.irrgang@googlemail.com"}],"homepage":"http://ghost.org/","bugs":{"url":"https://github.com/TryGhost/Ghost-Storage-Base/issues"},"dist":{"shasum":"63caec4af9cb2f5cd0271cc87bf85cbadd135de8","tarball":"https://registry.npmjs.org/ghost-storage-base/-/ghost-storage-base-1.1.1.tgz","fileCount":6,"integrity":"sha512-MRokcZctPKO/Oonn2W55dYNZRPn75lBoSdoOc1BtwL7wm/Sq/Qx7ovx1H5seZhCReFs8QOeUXvX9dXuguBSnnQ==","signatures":[{"sig":"MEUCIQC8EiWXKzgdvdD7vPH3/OW0GlVut1K2cRmU3yd4X1L52wIgSo8XSml3yuJktHO+ebtqaMjp2+DLlkv2bBZiwwziafQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8586},"main":"./BaseStorage","engine":{"node":"^12.22.1 || ^14.16.1"},"scripts":{"ship":"STATUS=$(git status --porcelain); echo $STATUS; if [ -z \"$STATUS\" ]; then yarn publish && git push --follow-tags; fi","test":"LEVEL=fatal _mocha --report lcovonly -- test/*.test.js","preship":"yarn test"},"_npmUser":{"name":"sagzy","email":"guptazy@gmail.com"},"deprecated":"This version contains a breaking change accidentally released as minor. Please upgrade to 1.1.2.","repository":{"url":"git://github.com/TryGhost/Ghost-Storage-Base.git","type":"git"},"description":"Base storage adapter.","directories":{},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2013-2025 Ghost Foundation\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","dependencies":{"moment":"2.27.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"10.7.0","should":"13.2.3","bluebird":"3.7.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-storage-base_1.1.1_1738227946478_0.9096852639257837","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"ghost-storage-base","version":"1.1.2","keywords":["ghost","storage","adapter"],"author":{"name":"Ghost Foundation"},"license":"MIT","_id":"ghost-storage-base@1.1.2","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"kirrg001","email":"katharina.irrgang@googlemail.com"}],"homepage":"http://ghost.org/","bugs":{"url":"https://github.com/TryGhost/Ghost-Storage-Base/issues"},"dist":{"shasum":"e1666b35dc705e667220f4727e4e912bcfd28f4f","tarball":"https://registry.npmjs.org/ghost-storage-base/-/ghost-storage-base-1.1.2.tgz","fileCount":6,"integrity":"sha512-5NG3cm7dbb5RPFcviNlXJuwIN5ydDEaMEY5+ixrMAYspRLLEtAAtUYF+YDkBfpJc86aopqMshcszvwDzE7QCnA==","signatures":[{"sig":"MEUCIQDI87/dtb29ERrh8iJ2o3S4tVfJ/pQGvtsuGpSVcnDOUwIgONsHK9ubkuITpyTIVudKR31CasgMQq2d1Sotr3WpJ4E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4729},"main":"./BaseStorage","engine":{"node":"^12.22.1 || ^14.16.1"},"scripts":{"ship":"STATUS=$(git status --porcelain); echo $STATUS; if [ -z \"$STATUS\" ]; then yarn publish && git push --follow-tags; fi","test":"LEVEL=fatal _mocha --report lcovonly -- test/*.test.js","preship":"yarn test"},"_npmUser":{"name":"sagzy","email":"guptazy@gmail.com"},"repository":{"url":"git://github.com/TryGhost/Ghost-Storage-Base.git","type":"git"},"description":"Base storage adapter.","directories":{},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2013-2026 Ghost Foundation\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","dependencies":{"moment":"2.29.4"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"11.7.5","should":"13.2.3","bluebird":"3.7.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-storage-base_1.1.2_1770631500041_0.7387729360688662","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"ghost-storage-base","version":"2.0.0","keywords":["ghost","storage","adapter"],"author":{"name":"Ghost Foundation"},"license":"MIT","_id":"ghost-storage-base@2.0.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"kirrg001","email":"katharina.irrgang@googlemail.com"}],"homepage":"http://ghost.org/","bugs":{"url":"https://github.com/TryGhost/Ghost-Storage-Base/issues"},"dist":{"shasum":"c8be1f3b4c47d7bfdf276c49ee011432aaeb3904","tarball":"https://registry.npmjs.org/ghost-storage-base/-/ghost-storage-base-2.0.0.tgz","fileCount":6,"integrity":"sha512-K4bVe03ErETEMmINEaaGCS3wQXliRWA7c9pTJZiOoRyvdrRaBPhmrl6i25aU6dX7c4dTbEXKmBlpfdgdBdDcIg==","signatures":[{"sig":"MEYCIQDBR7YPSYhgW9Tnw9KmrHy/GReFtcYvCIDCZ1EFZM5OlQIhANLnwnEfXfMlWFhC+nK68VjmvmFPtcdaqN3N6MzdqJIA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5788},"main":"./lib/BaseStorage","engines":{"node":"^22.13.1 || ^24.0.0"},"scripts":{"ship":"STATUS=$(git status --porcelain); echo $STATUS; if [ -z \"$STATUS\" ]; then yarn publish && git push --follow-tags; fi","test":"yarn test:unit","preship":"yarn test","test:unit":"vitest run --coverage"},"_npmUser":{"name":"sagzy","email":"guptazy@gmail.com"},"repository":{"url":"git://github.com/TryGhost/Ghost-Storage-Base.git","type":"git"},"description":"Base storage adapter.","directories":{},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2013-2026 Ghost Foundation\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","dependencies":{"moment":"2.30.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.0.16","vitest":"4.1.8","@vitest/coverage-v8":"4.1.8"},"_npmOperationalInternal":{"tmp":"tmp/ghost-storage-base_2.0.0_1781192209469_0.08134392331207052","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"ghost-storage-base","version":"2.1.0","keywords":["ghost","storage","adapter"],"author":"Ghost Foundation","license":"MIT","_id":"ghost-storage-base@2.1.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"kirrg001","email":"katharina.irrgang@googlemail.com"}],"homepage":"http://ghost.org","bugs":"https://github.com/TryGhost/Ghost-Storage-Base/issues","dist":{"shasum":"fbf9a4db78a231924f274e5c324e60813002b049","tarball":"https://registry.npmjs.org/ghost-storage-base/-/ghost-storage-base-2.1.0.tgz","fileCount":7,"integrity":"sha512-2oTcFFeT+HDn5K/dSIrcGK+YrIbss0i56v9u+b6ZZEh2+IwPds0IEl65Mj1SGosF2hL8l2DvSkNxcrb6AuuHJw==","signatures":[{"sig":"MEUCIQCGRWA6S9lbTPdkHOJ2hi3DwB+qNxFgDVyoklcfRP7+9gIgak1krmRHph3PX2QDE6W9Z0PlR4ZZSql9ICbznQWNQ60=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11439},"main":"./dist/BaseStorage.js","types":"./dist/BaseStorage.d.ts","engines":{"node":"^22.13.1 || ^24.0.0"},"scripts":{"lint":"oxlint .","ship":"node scripts/ship.js","test":"vitest run --coverage","build":"tsc","clean":"rm -rf dist","preship":"pnpm test","lint:fix":"oxlint --fix .","test:unit":"pnpm test"},"_npmUser":{"name":"sagzy","email":"guptazy@gmail.com"},"repository":{"url":"git://github.com/TryGhost/Ghost-Storage-Base.git","type":"git"},"description":"Base storage adapter.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"moment":"2.30.1","@types/express":"5.0.6"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.0.16","oxlint":"1.70.0","vitest":"4.1.9","typescript":"5.9.3","@types/node":"24.13.2","@vitest/coverage-v8":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/ghost-storage-base_2.1.0_1782138839733_0.8405706448802046","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"ghost-storage-base","version":"2.1.2","keywords":["ghost","storage","adapter"],"author":"Ghost Foundation","license":"MIT","_id":"ghost-storage-base@2.1.2","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"kirrg001","email":"katharina.irrgang@googlemail.com"}],"homepage":"http://ghost.org","bugs":"https://github.com/TryGhost/Ghost-Storage-Base/issues","dist":{"shasum":"7e60f8f747c41f2e6e667333dad367f25b3327f5","tarball":"https://registry.npmjs.org/ghost-storage-base/-/ghost-storage-base-2.1.2.tgz","fileCount":7,"integrity":"sha512-O/7rYKZp7T+ihKR9FyHHsoYF9qNzVG9HaKo+KLRnM+uZEaNxM30/2rj96n9/KNHPBX9sciGNalj4Ek0Xb3gZbg==","signatures":[{"sig":"MEYCIQDfNSj8wsilBDUqQ7BAuXJVWZ2cG+fReiVpsp6La0BedgIhALigK0dmm2j34S4kuHk2yGUwz1+ZyLZx9DDCii7PO5Jz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11439},"main":"./dist/BaseStorage.js","types":"./dist/BaseStorage.d.ts","engines":{"node":"^22.13.1 || ^24.0.0"},"scripts":{"lint":"oxlint .","ship":"node scripts/ship.js","test":"vitest run --coverage","build":"tsc","clean":"rm -rf dist","preship":"pnpm test","lint:fix":"oxlint --fix .","test:unit":"pnpm test"},"_npmUser":{"name":"sagzy","email":"guptazy@gmail.com"},"repository":{"url":"git://github.com/TryGhost/Ghost-Storage-Base.git","type":"git"},"description":"Base storage adapter.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"moment":"2.30.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.0.16","oxlint":"1.70.0","vitest":"4.1.9","typescript":"5.9.3","@types/node":"24.13.2","@types/express":"5.0.6","@vitest/coverage-v8":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/ghost-storage-base_2.1.2_1782318362040_0.9359442094616517","host":"s3://npm-registry-packages-npm-production"}},"2.1.5":{"name":"ghost-storage-base","version":"2.1.5","keywords":["ghost","storage","adapter"],"author":"Ghost Foundation","license":"MIT","_id":"ghost-storage-base@2.1.5","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"kirrg001","email":"katharina.irrgang@googlemail.com"}],"homepage":"http://ghost.org","bugs":"https://github.com/TryGhost/Ghost-Storage-Base/issues","dist":{"shasum":"7b7b5a311a4f8ca42c4f6382269d4d370f3cb21a","tarball":"https://registry.npmjs.org/ghost-storage-base/-/ghost-storage-base-2.1.5.tgz","fileCount":7,"integrity":"sha512-++QDPXwBxgV09OiNTa7exZjFW4kLZu+EkCqxMDSS+MWB3ntkuVHQqDfyeAzMm6Fn5Tc2/t3JZAphGFQnilIhnA==","signatures":[{"sig":"MEQCIBpKX9o0jAlzVPb9LPZYIcCYzMw3/zVdeZkbJqw+22s8AiAsSoCq3PCCH1x3xOK+6xaOjBu/PpF7v0ujoLIsV8Tuaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11560},"main":"./dist/BaseStorage.js","types":"./dist/BaseStorage.d.ts","engines":{"node":"^22.13.1 || ^24.0.0"},"scripts":{"lint":"oxlint .","ship":"sh -c 'if [ \"$#\" -eq 0 ]; then echo \"Usage: pnpm ship <patch|minor|major|version>\"; exit 1; fi; pnpm test && pro-ship --publish \"$@\"' --","test":"vitest run --coverage","build":"tsc","clean":"rm -rf dist","lint:fix":"oxlint --fix .","test:unit":"pnpm test"},"_npmUser":{"name":"sagzy","email":"guptazy@gmail.com"},"repository":{"url":"git://github.com/TryGhost/Ghost-Storage-Base.git","type":"git"},"description":"Base storage adapter.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"moment":"2.30.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.0.16","oxlint":"1.70.0","vitest":"4.1.9","typescript":"5.9.3","@types/node":"24.13.2","@types/express":"5.0.6","@tryghost/pro-ship":"1.1.2","@vitest/coverage-v8":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/ghost-storage-base_2.1.5_1782381515721_0.9073025882134704","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"ghost-storage-base","version":"3.0.0","keywords":["ghost","storage","adapter"],"author":"Ghost Foundation","license":"MIT","_id":"ghost-storage-base@3.0.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"kirrg001","email":"katharina.irrgang@googlemail.com"}],"dist":{"shasum":"654b52adfd48435f522d57137c90ca097d9b6808","tarball":"https://registry.npmjs.org/ghost-storage-base/-/ghost-storage-base-3.0.0.tgz","fileCount":12,"integrity":"sha512-FBFXuCXSsTQ188Kv6Xh5vAkTkp/p8d+DhKx0Jm9qHwF28PYgLgklKrf4i4XiVM9w6fl4G5KaGb1UXXv6goh4uQ==","signatures":[{"sig":"MEUCICY53vRCephcYGW4SDDfR52L8P4ga6gtk4AA9oDCX/2fAiEA3m6uO7EIpWz/w0lI+llGNYE+8Rv03ZTOGmrZ11Bh4Dw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ghost-storage-base@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12579},"main":"build/index.js","type":"module","types":"build/index.d.ts","exports":{".":{"types":"./build/index.d.ts","default":"./build/index.js"}},"scripts":{"lint":"pnpm run '/^lint:/'","test":"pnpm run '/^test:/'","build":"tsc","lint:code":"eslint src/ --cache","lint:test":"eslint test/ --cache","test:unit":"NODE_ENV=testing vitest run --coverage","test:types":"tsc --noEmit -p test/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:053db726-5d66-48f3-afcd-222595ed3f48"}},"repository":{"url":"git+https://github.com/TryGhost/Ghost.git","type":"git","directory":"packages/adapters/storage-base"},"description":"Base class for Ghost storage adapters.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"moment":"2.30.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ghost-storage-base_3.0.0_1784913066316_0.05138506806795107","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2017-04-05T10:36:45.279Z","modified":"2026-08-03T01:16:49.741Z","0.0.1":"2017-04-05T10:36:45.279Z","0.0.2":"2018-03-21T18:40:35.939Z","0.0.3":"2018-04-30T18:44:13.202Z","0.0.4":"2020-03-03T09:53:16.945Z","0.0.5":"2020-05-26T17:25:36.101Z","0.0.6":"2021-09-08T21:53:29.199Z","1.0.0":"2021-11-09T11:08:43.960Z","1.1.0":"2025-01-29T11:59:19.735Z","1.1.1":"2025-01-30T09:05:46.668Z","1.1.2":"2026-02-09T10:05:00.168Z","2.0.0":"2026-06-11T15:36:49.609Z","2.1.0":"2026-06-22T14:33:59.896Z","2.1.2":"2026-06-24T16:26:02.172Z","2.1.5":"2026-06-25T09:58:35.877Z","3.0.0":"2026-07-24T17:11:06.460Z"},"author":"Ghost Foundation","license":"MIT","keywords":["ghost","storage","adapter"],"repository":{"url":"git+https://github.com/TryGhost/Ghost.git","type":"git","directory":"packages/adapters/storage-base"},"description":"Base class for Ghost storage adapters.","maintainers":[{"email":"zimo@ghost.org","name":"zimoatghost"},{"email":"fabien@allou.is","name":"allouis"},{"email":"matthew@ghost.org","name":"kernalghost"},{"email":"chris@ghost.org","name":"chrisraible"},{"email":"github.erisds@gmail.com","name":"erisds"},{"email":"john@onolan.org","name":"johnonolan"},{"email":"kevin@ghost.org","name":"kevinansfield"},{"email":"david@ghost.org","name":"cobbspur"},{"email":"aileen@ghost.org","name":"aileencgn"},{"email":"npmjs@jloh.co","name":"jloh"},{"email":"sodbileg.gansukh@gmail.com","name":"minimaluminium"},{"email":"hello@samlord.me","name":"sam-lord"},{"email":"paul@ghost.org","name":"pauladamdavis"},{"email":"bobvaneck@gmail.com","name":"bobvaneck"},{"email":"account@joegrigg.com","name":"joeegrigg"},{"email":"filip@ghost.org","name":"hadret"},{"email":"erik@ghost.org","name":"erik-ghost"},{"email":"guptazy@gmail.com","name":"sagzy"},{"email":"vershwal.princi@gmail.com","name":"vershwal"},{"email":"zach@ghost.org","name":"zach1618"},{"email":"mike182uk@gmail.com","name":"mike182uk"},{"email":"luis@ghost.org","name":"luissazevedo"},{"email":"leif@ghost.org","name":"lsinger"},{"email":"nick@ghost.org","name":"nickmoreton"},{"email":"renatocesarcp@gmail.com","name":"renatoworks"},{"email":"rob@ghost.org","name":"rblstr-ghost"},{"email":"evan@ghost.org","name":"evanhahn-ghost"},{"email":"austin@ghost.org","name":"austin.burdine"},{"email":"weyland.swart@gmail.com","name":"weylandswart"},{"email":"info@ghost.org","name":"ghost-slimer"},{"email":"tmciesco@gmail.com","name":"tmciesco"},{"email":"jonatan@ghost.org","name":"jonatan-ghost"},{"email":"9larsons@gmail.com","name":"9larsons"},{"email":"katharina.irrgang@googlemail.com","name":"kirrg001"}],"readme":"# ghost-storage-base\n\nBase class for [Ghost](https://ghost.org) storage adapters. A storage adapter\ndecides where uploaded images, media, and files are stored and how they're\nserved — the local filesystem, S3, Google Cloud Storage, etc.\n\nSee the [Ghost adapters documentation](https://docs.ghost.org/config#adapters)\nfor how adapters are configured and loaded.\n\n## Usage\n\nInstall the base class alongside your adapter:\n\n```bash\nnpm install ghost-storage-base\n```\n\nExtend `StorageBase` and implement every method listed in `requiredFns`:\n`exists`, `save`, `serve`, `delete`, and `read`. TypeScript adapters must also\nimplement the declared `saveRaw(buffer, targetPath)` and `urlToPath(url)`\nmethods.\n\n```js\nconst {StorageBase} = require('ghost-storage-base');\n\nclass MyStorage extends StorageBase {\n    // Resolve to true if a file already exists at targetDir/fileName.\n    exists(fileName, targetDir) { /* ... */ }\n    // Persist `file` and resolve to the public URL/path it's served at.\n    save(file, targetDir) { /* ... */ }\n    // Return an Express middleware that serves stored files.\n    serve() { /* ... */ }\n    // Remove a stored file.\n    delete(fileName, targetDir) { /* ... */ }\n    // Resolve to a Buffer of the file at options.path.\n    read(options) { /* ... */ }\n}\n\nmodule.exports = MyStorage;\n```\n\nThe base class supplies these helpers:\n\n- `getTargetDir(baseDir)` returns a `YYYY/MM` path, optionally inside `baseDir`.\n- `getSanitizedFileName(fileName)` replaces unsupported filename characters with `-`.\n- `getUniqueFileName(file, targetDir)` and `generateUnique(dir, name, ext, i)`\n  call `this.exists(...)` until they find a free filename (`exists` must return\n  a `Promise<boolean>`).\n\n### Installing and activating\n\nPlace the adapter at `content/adapters/storage/MyStorage/index.js` and activate\nit in your Ghost config. Storage has three separate feature keys — `active`\n(images), `media`, and `files` — and the block named after the adapter is\npassed to its constructor:\n\n```json\n{\n    \"storage\": {\n        \"active\": \"MyStorage\",\n        \"MyStorage\": {}\n    }\n}\n```\n\n## Develop\n\nThis is a workspace package in the Ghost monorepo. From the repo root:\n\n```bash\npnpm --filter ghost-storage-base build   # compile to build/ with tsc (ESM)\npnpm --filter ghost-storage-base test    # type-check + unit tests\n```\n\nThis package is ESM-only and compiled with `tsc` (`module: nodenext`). Relative\nimports in `src/` must carry an explicit extension; write the real `.ts` one —\n`import {x} from './x.ts'` — and `tsc` rewrites it to `.js` on emit\n(`rewriteRelativeImportExtensions`).\n\n# Copyright & License\n\nCopyright (c) 2013-2026 Ghost Foundation - Released under the [MIT license](LICENSE). Ghost and the Ghost Logo are trademarks of Ghost Foundation Ltd. Please see our [trademark policy](https://ghost.org/trademark/) for info on acceptable usage.\n","readmeFilename":""}