Skip to content

Repository files navigation

IronCalc Webxdc

image

Bundle the ironcal frontend as webxdc application.

Syncing

You can sync your sheets with other group members.

Building

In order to fix a focus/input loss behavior in Ironcalc, for the time being we depend on a vendored IronCalc in vendor/ironcalc (see vendor/README.md).

It needs to build before we can create the .xdc app. All paths are relative to the root of this project.

Build the IronCalc wasm library

You first need wasm-pack, a Rust toolchain and python. It produces @ironcalc/wasm:

cd vendor/ironcalc/bindings/wasm
make

Build the IronCalc JS UI library

This needs npm. It produces @ironcalc/workbook, and uses the @ironcalc/wasm built above:

cd vendor/ironcalc/webapp/IronCalc
npm install
npm run build

Build the webxdc

This links against both libraries built above:

pnpm install
pnpm build

The webxdc will then be in the dist-xdc folder, as calc.xdc.

Later builds only need this last step, unless you change the vendored IronCalc.

Developing with webxdc-dev

webxdc-dev simulates multiple peers so you can test syncing locally. Two workflows are available:

Run against the vite dev server (hot-reload, best for iterating):

pnpm dev:webxdc

Run against the actual built .xdc artifact (faithful to what ships):

pnpm webxdc:xdc

Both open the webxdc-dev frontend on http://localhost:7000. There is also pnpm webxdc:dist, which runs against the unpacked dist directory.

About

Ironcalc as a webxdc

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages