mamba-org / gator

Conda environment and package management extension from within Jupyter
Other
260 stars 30 forks source link

Integration of all parts #91

Closed fcollonval closed 4 years ago

fcollonval commented 4 years ago

This is a major refractoring of the code for integrating the extensions and the navigator as well as publishing them.

fcollonval commented 4 years ago

Binder link: https://mybinder.org/v2/gh/mamba-org/jupyter_conda/integration?urlpath=lab

fcollonval commented 4 years ago

@jtpio This is ready for review.

The new structure is as follow:

The navigator can be launch from an entry point navigator or as the python package main python -m jupyter_conda

Questions:

I think we can discuss that with Sylvain in a call.

coveralls commented 4 years ago

Pull Request Test Coverage Report for Build 316029837


Files with Coverage Reduction New Missed Lines %
src/index.ts 4 0%
src/CondaEnvWidget.tsx 9 0%
<!-- Total: 13 -->
Totals Coverage Status
Change from base Build 278617331: 11.6%
Covered Lines: 737
Relevant Lines: 971

💛 - Coveralls
fcollonval commented 4 years ago

I did a quick analysis of the navigator bundle: image

We got the blueprintjs of course... But more surprising is codemirror. I realized that @jupyterlab/application implies codemirror due to @jupyterlab/rendermime. This is used only to render code in markdown (https://github.com/jupyterlab/jupyterlab/blob/2.2.x/packages/rendermime/src/renderers.ts#L809). This makes me wondering if there is a space for modularity improvement in jlab core.

Back to this code, switching from react-virtualized to react-window should really be considered #77.

jtpio commented 4 years ago

Wow thanks a lot for tackling this!

What logic for versioning and publication?

Lab does it by keeping versions in sync in all packages, even if there were no real change. Maybe it could make things simpler that way.

This is used only to render code in markdown (https://github.com/jupyterlab/jupyterlab/blob/2.2.x/packages/rendermime/src/renderers.ts#L809). This makes me wondering if there is a space for modularity improvement in jlab core.

Looks like this could indeed be open as an issue on the core repo (if there isn't one already).

jtpio commented 4 years ago

Looks like the builds fails on Binder with:

image

jtpio commented 4 years ago

Just tried locally with this change https://github.com/mamba-org/jupyter_conda/pull/91#discussion_r507752583:

diff --git a/packages/navigator/package.json b/packages/navigator/package.json
index 95b519e..28fca2a 100644
--- a/packages/navigator/package.json
+++ b/packages/navigator/package.json
@@ -68,7 +68,7 @@
     "typescript": "~3.9.0",
     "url-loader": "~3.0.0",
     "watch": "~1.0.2",
-    "webpack": "^5.0.0",
+    "webpack": "^4.0.0",
     "webpack-bundle-analyzer": "^3.9.0",
     "webpack-cli": "^3.3.10",
     "whatwg-fetch": "^3.0.0"

And it seems to be working nicely. Thanks again!

fcollonval commented 4 years ago

Looks like the builds fails on Binder with:

image

Strange I just succeeded to launch it (OVH instance).