bokeh: [BUG] Cannot access `ColumnarDataSource`

This issue is potentially related to https://github.com/bokeh/bokeh/pull/11140

With Bokeh 2.3.1, 2.3.2, and 2.3.3 I see the following import error:

Uncaught ReferenceError: Cannot access 'ColumnarDataSource' before initialization
    at Module.eval [as ColumnarDataSource] (columnar_data_source.js?ffa7:1)
    at eval (cds_view.js?5c9c:13)
    at Function.define (has_props.js?e67c:88)
    at Function.init_CDSView (cds_view.js?5c9c:11)
    at eval (cds_view.js?5c9c:84)
    at Module../node_modules/@bokeh/bokehjs/build/js/lib/models/sources/cds_view.js (vendors~Bokeh.a20869519350f5a60a33.bundle.js:3287)
    at __webpack_require__ (main.bundle.js?388a4291dd5c1d7f7cfefa171acb6de1:64)
    at eval (glyph_renderer.js?42bb:1)
    at Module../node_modules/@bokeh/bokehjs/build/js/lib/models/renderers/glyph_renderer.js (vendors~Bokeh.a20869519350f5a60a33.bundle.js:3095)
    at __webpack_require__ (main.bundle.js?388a4291dd5c1d7f7cfefa171acb6de1:64)

I did not see this error with 2.2.3.

This is my Webpack configuration:

      {
        test: /\.js?$/,
        include: /node_modules\/@bokeh/,
        use: [
          {
            loader: "babel-loader",
            options: {
              plugins: [
              "@babel/plugin-proposal-export-namespace-from",
              "@babel/plugin-proposal-optional-chaining",
              "@babel/plugin-proposal-nullish-coalescing-operator"
              ],
            },
          },
        ],
      },

Versions:

bokeh/bokehjs: 2.3.2
Python: 3.9.6
OS: Linux
Browser: Chromium

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 16 (16 by maintainers)

Most upvoted comments

Which seems expected because the aforementioned PR (removing cycles) was merged for 2.4.0dev1.

That report is clean for 2.4.0-rc2!

Also, if webpack has any tooling for cycle detection it would be good to enable it and see if it complains. We run our own cycle detection on every build.

@stefanv Yes, BokehJS 2.4.0rc2 is on NPM as well as scripts uploaded to CDN.

Also note: if you are not able to test with 2.4.0rc2, or if you do verify the problem persists, then we absolutely must have a complete Minimal Reproducible Example in order to actually investigate.