Skip to content

FR: Load drivers on demand #9

@micalevisk

Description

@micalevisk

Is your feature request related to a problem? Please describe.

I want to use the fs driver and another cloud driver. I might not need S3 thus I won't need the aws-sdk dependency as well

"dependencies": {
"aws-sdk": "^2.1058.0",
"file-type": "^17.1.1",
"fs-extra": "^10.0.0",
"rxjs": "^7.5.2"
},

That dep is quite huge. Having that installed doesn't make much sense in my use case

image

Describe the solution you'd like

Moving hard dependencies that are driver-specific (like fs-extra and aws-sdk) to optional peer dependencies list

image

image

Describe alternatives you've considered

I can use overrides from NPM v8+ or resolutions from Yarn to override those deps to some "noop" one like this one. But this sounds a bit hacky and not reliable to me as those drivers are not lazily loaded.

With this approach, using Yarn, my node_modules size becomes 5x smaller.

Additional context

Having such feature will problably require a major release because now users will need to install those deps beforehand.

At same time, this feature will we could to make the package size smaller regardless of how many drivers are supported.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions