Skip to content

webxdc/calc

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

4 stars

Watchers

5 watching

Forks

Packages

 
 
 

Contributors