Skip to content

Make project class-based #76

Open
Open

Description

@jodyheavener

Summary

Currently op-js uses a singleton approach, where every family of commands is exported. This is nice and handy for quick importing, but we've had requests to make the project class-based so you can have multiple instances going at the same time.

Use cases

There are handful of benefits:

  • Requiring different versions of the CLI
  • Supplying a specific path to the op binary
  • Supporting Service Account and Connect environment variables

Proposed solution

Convert all the exported command functions/objects into methods on an OPJS class that can be instantiated with options:

new OPJS({
  binaryPath: string;
  requiredVersion: string | SemVer;
  ...etc
});

Is there a workaround to accomplish this today?

All of this is technically possible with our current setup, but it's a little messy and obviously only supports a single instance of the library.

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

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