Frontend (TypeScript)

The frontend is implemented as a standard Web Extension:

The Extension automatically starts whenever an *.rc file is opened, it starts a backend process (see recalc-vscode.serverUri configuration in configuration manifest) and establishes a communication channel.

Each URI gets an associated Webview which is able to send URI-tagged messages to the backend, the entry-point for the frontend starts a Spreadsheet UI using the Univer Sheet API.

Code Structure

The project is a standard NPM project with esbuild.mjs as the build script. The frontend code is organized as a standard Univer plugin.