Skip to content

Break up the base package #2561

@jasongrout

Description

@jasongrout

We had some pain recently where we updated the base widget manager, but not the base widget classes, which forced widget authors to update their dependency on the base package.

From #2472 (comment)

I think moving forward we can:

  • break base into base-widget and base-manager
  • make a restricted interface for the manager exposed on a widget that lives in base-widget
  • version base-widget and base-manager separately
  • not sure where to put the jlab registry token- probably base-widget since that is the only thing we want people to depend on

Then base-manager depends on base-widget, and third-party libraries depend on base-widget, and we have two version numbers to communicate to two separate groups of people.

And @vidartf points out that we probably want to bump the compilation target to es2017 as well.

I think this would be an excellent change for 8.0 (it is a js-only thing, so we could probably do it before 8.0 if we weren't bumping the compilation target)

We could probably even leave the base-widget package just called base, and separate out the manager. That would make @jupyter-widgets/base 3.0, and base-manager depend on base 3.0. That would ease upgrading (custom widget authors would just need to update to ^1 || ^2 || ^3)

Metadata

Metadata

Assignees

No one assigned

    Labels

    resolved-lockedClosed issues are locked after 30 days inactivity. Please open a new issue for related discussion.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions