JupyterLab extensions installation conflicts with base Jupyter Notebook extensions - JavaScript warnings and NBextension Configurator errors

When i install JupyterLab Extensions, it requires using npm command line scripts. I get JavaScript errors about conflicts and double installations of various extensions related to my earlier installation of Qgrid, Altair and vegalite.

I get warnings from Nbextensions configuration that I have two yaml files that conflict. The NBextensions stopped working.

I am not a JavaScript programmer and I don’t have time RIGHT NOW to learn enough about the dozens of .js packages to fix this problem. It seems to require a knowledge of many javascript packages and modules, including require.js, webpack, jquery, node, bootstrap, and a confusing array of other javascript-specific infrastructure). Most JupyterLab USERS just want to use the software and install extensions, not program JavaScript extensions for it. From my point of view, dropping down to a JavaScript node.js package manager (npm) installation for extension installations breaks the high-usability paradigm for Python users. In the future, JupyterLab extension developers should make sure all major Jupyter-based packages are packaged properly to install without errors using simple Python scripts, not node.js and npm packages.

I checked the following link, but it is confusing since I don’t have yarn or webpack, or much javascript experience.

I don’t know where to start and if duplicates exist, which packages to remove, where to find them, and then how to remove them, and then test the new configuration to see that removing installations didn’t break my existing system. This is a package dependency problem.

In the Python environment I rely on PIP or CONDA to resolve these kinds of problems. Where do I start with this for packages/ modules ONLY relevant to JupyterLab and Jupyter Notebook ??

The URL above, says “Add the plugin to your webpack config:”, but doesn’t say where that’s located.

I don’t want to run down a rathole for days on this problem. What can folks suggest, besides a total uninstall and reinstall.

These are the warnings/errors I got below while installing Qgrid after installing Altair+vegalite.

WARNING in ./node_modules/qgrid/src/qgrid.widget.js
Module not found: Error: Can’t resolve ‘base/js/dialog’ in ‘C:\Anaconda3\envs\altairvegalite\share\jupyter\lab\staging\node_modules\qgrid\src’
@ ./node_modules/qgrid/src/qgrid.widget.js
@ ./node_modules/qgrid/src/index.js
@ ./node_modules/qgrid/src/jupyterlab-plugin.js
@ ./build/index.out.js
@ multi whatwg-fetch ./build/index.out.js

WARNING in d3-array
Multiple versions of d3-array found:
1.2.4 ./~/d3-scale/~/d3-array from ./~/d3-scale/~/d3-array\src\index.js
2.0.3 ./~/d3-array from ./~/d3-array\src\index.js

WARNING in moment
Multiple versions of moment found:
2.20.1 ./~/handsontable/~/moment
2.21.0 ./~/moment
2.24.0 ./~/qgrid/~/moment

WARNING in style-loader
Multiple versions of style-loader found:
0.18.2 ./~/qgrid/~/style-loader from ./~/qgrid/~/style-loader\lib\addStyles.js
0.21.0 ./~/style-loader from ./~/style-loader\lib\addStyles.js

WARNING in vega-lite
Multiple versions of vega-lite found:
2.5.1 ./~/vega-lite\build\src from ./~/vega-lite\build\src\compile\selection\selection.js
2.6.0 ./~/vega-lite\build from ./~/vega-lite\build\src\index.js

Check how you can resolve duplicate packages:

Child html-webpack-plugin for “index.html”:
1 asset
Entrypoint undefined = index.html
[KTNU] ./node_modules/html-loader!./templates/partial.html 567 bytes {0} [built]
[YuTi] (webpack)/buildin/module.js 497 bytes {0} [built]
[aS2v] ./node_modules/html-webpack-plugin/lib/loader.js!./templates/template.html 1.22 KiB {0} [built]
[yLpj] (webpack)/buildin/global.js 489 bytes {0} [built]
+ 1 hidden module
Done in 18.92s.

1 Like

I’ve also run into the same issue on a fresh aws ec2 instance of TLJH. OP any progress resolving this?