wolkenkit
wolkenkit copied to clipboard
Move database drivers and similar dependencies to optional dependencies
What is this task about?
Currently we have many database drivers and similar packages as dependencies. E.g. mysql, pg, mssql. We always install all of those, regardless of which ones are actually used. This increases the size of installed wolkenkit, adds bloat and potential risk for supply-chain-attacks.
I think we should let users decide, which database-drivers to install. This adds an additional burden to them, but it is probably justifiable.
To implement this in the wolkenkit, I think we should always load these libraries dynamically in case they are needed. However, this is just an early thought and might run into problems.
What needs to be done to complete this task?
- [ ] Research whether npm's
optionalDependenciesand dynamic importing of libraries is a good solution to the bloat problem - [ ] Move all database-drivers, filestore-drivers etc and only import them dynamically
What else should we know?
I have no idea how to test this.