Skip to content

Reuse the plugin system without depending on the Lumino Widgets #586

@jtpio

Description

@jtpio

Problem

The Lumino plugin system is simple and powerful. It could also be used for other purposes that don't necessarily provide UI elements to the interface.

However the Lumino Application currently requires a T extends Widget = Widget as the generic type for a shell:

export class Application<T extends Widget = Widget> {

Proposed Solution

Make it possible to use the plugin and dependency injection system without a shell.

Additional context

This was discussed with @echarles during JupyterCon 2023.

For reference JupyterLite uses a Lumino application without a shell by providing never as the generic type: https://github.com/jupyterlite/jupyterlite/blob/f98c5c0f90f25466aea6beeb4f2bd2ce8549aa68/packages/server/src/app.ts#L17

export class JupyterLiteServer extends Application<never>

Metadata

Metadata

Assignees

No one assigned

    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