spf13--viper/docs/adr/0003-extract-components-with-heavy-dependencies-from-the-core.md
Mark Sagi-Kazar d2e3a7e5c2
docs: document some architectural decisions
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
2021-07-20 23:54:12 +02:00

860 B

3. Extract components with heavy dependencies from the core

Date: 2021-07-20

Status

Proposed

References 2. Prefer making backward compatible changes

Referenced by 4. Use separate GitHub organization for new packages

Context

Viper (v1) currently imports a bunch of external dependencies (for encoding/decoding, remote stores, etc) that make the library itself quite a heavy dependency.

Decision

Move components with external dependencies out of the core to separate packages.

Consequences

Viper 1 will have to continue importing all of these packages to maintain backwards compatibility.

Viper 2 (and future versions) on the other hand can break backwards compatibility and require users to import the required packages.