Skip to content

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

@tlvu

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions