- updated Google AzureBlob adapter to 1.0.7
- updated Google Cloud adapter to 1.0.8
- updated dependencies
- remarkable dependency autolinker set to "^4.0.0"
- updated dependencies
- updated dependencies
- fixed test scripts
- fix for type error in @types/glob
- fix issue with optional
bucketName
argument
- reverted to v1 of the configuration URLs (with some improvements)
- re-implemented storing the selected bucket in local state
- Complete overhaul of the API. If you are using API 1.x please read the migration document
- removed unnecessary call to getMetaData in GCS adapter
- removed @ramda/zip dependency
- changed Backblaze B2 service client dependency to a fork that fixes the long standing Axios security issue → all credits: nichoth
- added
getFileAsURL
to Amazon S3 adapter → all credits: DennisSnijder
- fix for issue #48 → all credits: Pezmc
- Added support for Azure → all credits: tesirm99
- Upgrade all packages
- Fixed numerous async errors
- AdapterAmazonS3: use
s3-request-presigner
to create links to objects - AdapterAmazonS3: added support for S3 compatible storages (tested with Cloudflare R2 and Backblaze S3)
- AdapterLocal now treats values without prefix passed to
mode
as decimal number instead of octal numbers - AdapterLocal: if you pass the config as an object and you don't provide a value for
bucketName
, the bucketName will no longer be set to the last folder of the value you provide fordirectory
. In other words: if you want to set a value forbucketName
you have to add it specifically to the config object.
- Remove option 'slug' in config: this makes the user responsible for choosing a valid bucket name.
- Add
options
tocreateBucket
. - Add
options
toaddFileFromPath
,addFileFromBuffer
andaddFileFromReadable
. - Add
skipCheck
to configuration object and made all keys optional - Return public url after a file has been successfully added to a bucket
- use '@aws-sdk/client-s3' instead of 'aws-sdk'
- eslint fixes
- Removed
await-to-js
dependency in local storage adapter
- Added
ConfigAmazonS3
,ConfigBackblazeB2
,ConfigGoogleCloud
andConfigLocal
to exported types - Removed
await-to-js
dependency
- Added
AdapterConfig
to exported types
- Changed the name of the 'functional classes' from Storage to Adapter, e.g.
StorageAmazonS3
becameAdapterAmazonS3
- Replaced
introspect()
bygetConfiguration():AdapterConfig
andgetType():string
- Added adapter class for BackBlaze B2
- Made configuration more generic and extensible
- Removed option to create a new Storage without configuration (StorageLocal)
- Added default storage options that can be overruled or extended by the config object or url
- Made slugify optional and turned it off by default for StorageLocal
- Added API method
fileExists():Promise<boolean>
- In the configuration object or string non-existent keys or invalid values are no longer filtered out: it is the programmer's responsibility to provide valid options
- If no bucket name is provided the bucket name will always be an empty string "", not
undefined
ornull
. Also when no bucket is selectedbucketName
will be "". - Adapter modules are only loaded when needed (using
require
) - Removed options from both configuration and adapters.
- Formalized return values
- Removed sloppy code: parsing and validation of configuration is now done in one place.
- Removed jasmine-ts dependency
- Removed
getFileByteRangeAsReadable
and merged the functionality ingetFileAsReadable
by adding a range parameter{start: number, end: number}
- Removed the option to instantiate a specific storage type directly; all instantiating must be done with
new Storage(config)
. - Optimized
getFileAsReadable
for Google Cloud. - Implemented
addFileFromReadable
, fixes issue#2 - Added configuration urls: all configuration options in a single string.
- When creating a local storage without specifying a directory, the directory where the process runs will be used (in earlier versions the os' tmp folder was used)
- When creating a local storage without specifying a bucket name, a directory named
local-bucket
will be created and used as selected bucket. - When using
new Storage()
without configuration you create a local storage instance with the default configuration (as described in the 2 bullets above). - Updated documentation.
- Updated dependency version.
- Added yarn.lock.
- Renamed 'functional classes' to 'adapter classes'
(Pull request #3)[#3]
- Implemented
sizeOf
,getFileByteRangeAsReadable
- Improved AWS performance
(Pull request #1)[#1]
- Expanded the S3 configuration options