Nbextensions configurator not compatible with --editable option?

I’m using repo2docker to run a local version of my project, using the container to edit my local files, before selecting the relevant changes made to publish to the public repo, from which I will use mybinder.

I was hoping to be able to use this mechanism, among other things, to set notebook and jupyterlab options / workspace. It seems however that when I run repo2docker with the --editable option, the nbextensions configurator does not run in my local jupyter installation…

My requirements.txt

traitlets>=4.3.1
ipython
ipywidgets>=7.5
numpy
pandas
rise
vdom
python-dotenv
jupyter_contrib_nbextensions
jupyter_nbextensions_configurator
jupyterlab>=1.2.3
jupyterlab_launcher>=0.5.0
git+https://github.com/bitmovin/bitmovin-api-sdk-python.git

My postBuild:

#!/bin/bash

jupyter contrib nbextension install --user
jupyter nbextensions_configurator enable --user
jupyter nbextension enable --py widgetsnbextension
jupyter labextension install @jupyter-widgets/jupyterlab-manager@1.1 --no-build
jupyter labextension install @jupyterlab/toc --no-build
jupyter labextension install @lckr/jupyterlab_variableinspector --no-build
jupyter lab build --dev-build=True --minimize=False --debug

The command lines I use:

> jupyter-repo2docker --user-name jovyian  .

In this case, all is well, and I can see the nbextensions tab in jupyter classic
But if I use

> jupyter-repo2docker --user-name jovyian --editable .

Then no nbextensions tab shows…

Thanks for reporting this. On the face of it this sounds weird/worrying/broken :wink:

Do you know where/how nbextensions manager stores files? Unfortunately I know nothing about this extension (to manage extensions?). Do you know if this also happens if you only install the nbextensio nextension? To exclude that it is some weird interplay between repo2docker, another extension and nbextension.

My guess is that something is written to a config file in the home directory but when you run with --editable we mount your repository to /home/jovyan in which case those files vanish. If we can confirm this is the problem we can think about what the right behaviour should be. I can see arguments both ways.