jupyterlab / lumino

Lumino is a library for building interactive web applications
https://lumino.readthedocs.io/
Other
635 stars 126 forks source link

Refactor the plugins handling out of the `Application` #697

Closed fcollonval closed 6 months ago

fcollonval commented 7 months ago

Problem

The plugins are handled directly within the Application. This prevents the usage of plugins to initialize application attribute. The symptomatic case is the need to customize the service manager in JupyterLab.

Xref:

Proposed Solution

Extracting the plugin resolver logic in its own class (because why should such great feat be hard linked to the Application). Once we get that the logic in index.js will be:

:warning: we will need to expose the resolver method in the Application to ensure backward compatibility

Additional context

jtpio commented 7 months ago

Thanks @fcollonval for opening the issue :+1:

Linking to https://github.com/jupyterlab/lumino/issues/586 as this may also help with this use case.

jtpio commented 6 months ago

@fcollonval just checking if you had plans to look into this yourself, or if other contributors could also start looking into it?

fcollonval commented 6 months ago

I started a branch. I hope to get a PR next week. Is it too late?

fcollonval commented 6 months ago

For reference https://github.com/fcollonval/lumino/tree/ft/extract-plugin-handling

jtpio commented 6 months ago

OK great, thanks for starting this!

I just wanted to double check what the status on this was, to avoid double work in case someone would be interested in looking into this.