Skip to content

[BUG] @plotly/dash-jupyterlab extension failed to build in JupyterLab running on a JupyterHub server #3828

Description

@tlvu

Describe your context
Please provide us your environment, so we can easily reproduce the issue.

  • replace the result of pip list | grep dash below
dash                         4.2.0
dash_leaflet                 1.0.15

Describe the bug

From https://dash.plotly.com/dash-in-jupyter:

"To use jupyterlab mode, you'll also need to build the @plotly/dash-jupyterlab extension. When you launch a new JupyterLab notebook after installing Dash, you'll be prompted to build @plotly/dash-jupyterlab."

If we do not need to use jupyterlab mode, is there a way to disable this annoying "please build" pop-up that appears everytime we logging into JupyterLab?

When logging into JupyterHub and starting a JupyterLab session, I see this pop-up:

Image

After I clicked "Build", I get this:

Image

So I tried a manually jupyter lab build and I get the following errors:

[LabBuildApp] JupyterLab 4.5.6

(...)

[LabBuildApp] Node v22.21.1

(...)

[LabBuildApp] [webpack-cli] ModuleNotFoundError: Module not found: Error: Can't resolve 'de-indent' in '/opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/@mariobuikhuizen/vue-compiler-addon/dist'
    at /opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/webpack/lib/Compilation.js:2109:28
    at /opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/webpack/lib/NormalModuleFactory.js:908:13
    at eval (eval at create (/opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:10:1)
    at /opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/webpack/lib/NormalModuleFactory.js:333:22
    at eval (eval at create (/opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:9:1)
    at /opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/webpack/lib/NormalModuleFactory.js:512:22
    at /opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/webpack/lib/NormalModuleFactory.js:150:10
    at /opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/webpack/lib/NormalModuleFactory.js:775:25
    at /opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/webpack/lib/NormalModuleFactory.js:992:8
    at /opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/webpack/lib/NormalModuleFactory.js:1121:5
resolve 'de-indent' in '/opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/@mariobuikhuizen/vue-compiler-addon/dist'
  Parsed request is a module
  using description file: /opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/@mariobuikhuizen/vue-compiler-addon/package.json (relative path: ./dist)
    Field 'browser' doesn't contain a valid alias configuration
    resolve as module
      /opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/@mariobuikhuizen/vue-compiler-addon/dist/node_modules doesn't exist or is not a directory
      /opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/@mariobuikhuizen/vue-compiler-addon/node_modules doesn't exist or is not a directory
      /opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/@mariobuikhuizen/node_modules doesn't exist or is not a directory
      /opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/node_modules doesn't exist or is not a directory
      looking for modules in /opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules
        single file module
          using description file: /opt/conda/envs/birdy/share/jupyter/lab/staging/package.json (relative path: ./node_modules/de-indent)
            no extension
              Field 'browser' doesn't contain a valid alias configuration
              /opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/de-indent doesn't exist
            .js
              Field 'browser' doesn't contain a valid alias configuration
              /opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/de-indent.js doesn't exist
            .json
              Field 'browser' doesn't contain a valid alias configuration
              /opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/de-indent.json doesn't exist
            .wasm
              Field 'browser' doesn't contain a valid alias configuration
              /opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/de-indent.wasm doesn't exist
        /opt/conda/envs/birdy/share/jupyter/lab/staging/node_modules/de-indent doesn't exist
      /opt/conda/envs/birdy/share/jupyter/lab/node_modules doesn't exist or is not a directory
      /opt/conda/envs/birdy/share/jupyter/node_modules doesn't exist or is not a directory
      /opt/conda/envs/birdy/share/node_modules doesn't exist or is not a directory
      /opt/conda/envs/birdy/node_modules doesn't exist or is not a directory
      /opt/conda/envs/node_modules doesn't exist or is not a directory
      /opt/conda/node_modules doesn't exist or is not a directory
      /opt/node_modules doesn't exist or is not a directory
      /node_modules doesn't exist or is not a directory

Full output here: https://gist.github.com/tlvu/c928b0ad918ccb7ddb1b797a2dd9a5d6

Expected behavior

The build pop-up works in the JupyterLab session or I can pre-build on the server with jupyter lab build.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions