# How do I build Bokeh extension with wasm depencency?

**URL:** <https://discourse.bokeh.org/t/how-do-i-build-bokeh-extension-with-wasm-depencency/8842>\
**Category:** Community Support\
**Tags:** build, wasm\
**Created:** [January 29, 2022, 5:38am UTC](https://discourse.bokeh.org/t/how-do-i-build-bokeh-extension-with-wasm-depencency/8842 "2022-01-29T05:38:05Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![MarcSkovMadsen](https://discourse.bokeh.org/user_avatar/discourse.bokeh.org/marcskovmadsen/32/1463_2.png) [@MarcSkovMadsen](https://discourse.bokeh.org/u/MarcSkovMadsen)\
**Post date:** [January 29, 2022, 5:38am UTC](https://discourse.bokeh.org/t/how-do-i-build-bokeh-extension-with-wasm-depencency/8842/1 "2022-01-29T05:38:05Z")

</div>

Hi Bokeh Community

I’m trying to build a Bokeh extension for [VegaFusion](https://github.com/vegafusion/vegafusion) here [MarcSkovMadsen/panel-vegafusion](https://github.com/MarcSkovMadsen/panel-vegafusion).

The current branch can be explored via [https://github.com/MarcSkovMadsen/panel-vegafusion/tree/0e4f5ab63d4b4231515449442e497cb8e3bf535d](https://github.com/MarcSkovMadsen/panel-vegafusion/tree/0e4f5ab63d4b4231515449442e497cb8e3bf535d).

To build the Bokeh extension I need to include the [https://www.npmjs.com/package/vegafusion-wasm](https://www.npmjs.com/package/vegafusion-wasm) package. It includes a `.wasm` module. You can inspect all files here [UNPKG](https://unpkg.com/browse/vegafusion-wasm/).

Unfortunately I cannot `bokeh build` the extension as I get an `unsupported extension` error?

**How do I `bokeh build` this extension?**

## Exception

```bash
jovyan@jupyter-marcskovmadsen-2dpanel-2dvegafusion-2d7y6mmeo2:~/src/panel_vegafusion$ bokeh build
Working directory: /home/jovyan/src/panel_vegafusion
New development environment. Running npm install.
npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it!
npm WARN panel_vegafusion@0.0.1 No description

added 122 packages from 94 contributors and audited 122 packages in 18.04s

4 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

Using /home/jovyan/src/panel_vegafusion/tsconfig.json
Compiling styles
Compiling TypeScript (3 files)
Linking modules
Error: unsupported extension of /home/jovyan/src/panel_vegafusion/node_modules/vegafusion-wasm/vegafusion_wasm_bg.wasm
    at /srv/conda/envs/notebook/lib/python3.7/site-packages/bokeh/server/static/js/compiler.js:170912:31
    at Linker.new_module (/srv/conda/envs/notebook/lib/python3.7/site-packages/bokeh/server/static/js/compiler.js:170914:15)
    at Linker.resolve (/srv/conda/envs/notebook/lib/python3.7/site-packages/bokeh/server/static/js/compiler.js:171055:37)
    at Linker.link (/srv/conda/envs/notebook/lib/python3.7/site-packages/bokeh/server/static/js/compiler.js:170637:36)
    at build (/srv/conda/envs/notebook/lib/python3.7/site-packages/bokeh/server/static/js/compiler.js:169312:50)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async main (/srv/conda/envs/notebook/lib/python3.7/site-packages/bokeh/server/static/js/compiler.js:203:32)

```

## Reproduce on Binder

- open [https://mybinder.org/v2/gh/MarcSkovMadsen/panel-vegafusion/0e4f5ab63d4b4231515449442e497cb8e3bf535d?urlpath=lab](https://mybinder.org/v2/gh/MarcSkovMadsen/panel-vegafusion/0e4f5ab63d4b4231515449442e497cb8e3bf535d?urlpath=lab)
- open a terminal
- run `cd src/panel_vegafusion` and `bokeh build`

## ![image](https://discourse-uploads.bokeh.org/original/2X/f/f549ba0bd0d2851f20fe7b7c96f8aaa1b1944172.png)

---

<div class="post-metadata">

**Author:** ![MarcSkovMadsen](https://discourse.bokeh.org/user_avatar/discourse.bokeh.org/marcskovmadsen/32/1463_2.png) [@MarcSkovMadsen](https://discourse.bokeh.org/u/MarcSkovMadsen)\
**Post date:** [January 30, 2022, 7:51am UTC](https://discourse.bokeh.org/t/how-do-i-build-bokeh-extension-with-wasm-depencency/8842/2 "2022-01-30T07:51:49Z")

</div>

Just for info, I have found a “workaround” not using “bokeh extensions” and “bokeh build”.

I have used Panels `ReactiveHTML` and built a `.js` package seperately.

It would still be “nice to know” how to `bokeh build` extensions with wasm depencies.

[https://discourse-uploads.bokeh.org/original/2X/9/90cba21f9017ad5c09144442002d5db999302fd9.mp4](https://discourse-uploads.bokeh.org/original/2X/9/90cba21f9017ad5c09144442002d5db999302fd9.mp4)

---

<div class="post-metadata">

**Author:** ![Bryan](https://discourse.bokeh.org/user_avatar/discourse.bokeh.org/bryan/32/3625_2.png) [@Bryan](https://discourse.bokeh.org/u/Bryan)\
**Post date:** [January 31, 2022, 5:49pm UTC](https://discourse.bokeh.org/t/how-do-i-build-bokeh-extension-with-wasm-depencency/8842/3 "2022-01-31T17:49:34Z")

</div>

> [@MarcSkovMadsen](#):
>
> It would still be “nice to know” how to `bokeh build` extensions with wasm depencies.

I don’t think anyone knows this, as far as I know you are the first person to try. @mateusz is certainly the best person to offer technical comments, and your best best to engage him is probably to open a [GitHub development discussion](https://github.com/bokeh/bokeh/discussions).

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads.bokeh.org/original/2X/1/14eb24f9e10e4e9b78e3f10f66c04ffa96446e5a.svg) [@system](https://discourse.bokeh.org/u/system)\
**Post date:** [May 1, 2022, 5:50pm UTC](https://discourse.bokeh.org/t/how-do-i-build-bokeh-extension-with-wasm-depencency/8842/4 "2022-05-01T17:50:17Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
