Skip to content

Deprecate the global Viper instance #1855

Open
@sagikazarmark

Description

Preflight Checklist

  • I have searched the issue tracker for an issue that matches the one I want to file, without success.

Problem Description

There is a global, singleton instance in Viper.

Although it makes cross-package configuration easy, it became clear that it's more a burden not just from a maintenance perspective:

  • Moving away from the setter-pattern has been challenging
  • Testing is harder with the global instance
  • Concurrent or subsequent changes may lead to unexpected behavior in a way that's nearly impossible to debug with the global instance

Proposed Solution

Deprecate the global instance. Remove it in v2.

Alternatives Considered

Provide an alternative package for people who want to continue using it.

Additional Information

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions