Bundle the ironcal frontend as webxdc application.
You can sync your sheets with other group members.
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.
You first need wasm-pack, a Rust toolchain and python. It produces
@ironcalc/wasm:
cd vendor/ironcalc/bindings/wasm
makeThis needs npm. It produces @ironcalc/workbook, and uses the
@ironcalc/wasm built above:
cd vendor/ironcalc/webapp/IronCalc
npm install
npm run buildThis links against both libraries built above:
pnpm install
pnpm buildThe 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.
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:webxdcRun against the actual built .xdc artifact (faithful to what ships):
pnpm webxdc:xdcBoth open the webxdc-dev frontend on http://localhost:7000. There is also
pnpm webxdc:dist, which runs against the unpacked dist directory.
