From source
Build it yourself
Not an afterthought for contributors, but the answer to “why should I trust an unsigned installer”. Four commands, one prerequisite, and the binary is one you made.
Five commands
The whole thing
git clone https://github.com/eharain/Rutba-Office.git officeThe whole suite, one repository.
cd office && npm installNode 20 or later. Nothing else is required.
npm test3047 engine tests. No network needed for any of them.
npm startRuns the application from source.
npm run distInstallers for the platform you are on, into apps/desktop/release.
There is also npm run smoke, which is the check a build cannot do for you: it launches the real application (the same main process, preload and bundle), waits for each window’s first render, photographs it, and reports anything the renderer logged. Three defects in this repository’s history were caught by it and by nothing else.
What is in there
23 packages and one application
The apps are thin. Almost everything that matters is a package that could be used without the desktop suite at all.
- ooxml
- the preserving .xlsx/.docx package layer (the engine core)
- formula
- spreadsheet calculation: parser, evaluator, dependency order
- sheet-view
- the renderable model of a sheet: formats, geometry, selection
- doc-view
- the editable model of a document: runs, positions, formatting
- presentation
- the .pptx engine: package, scene, layout inheritance, SVG
- drawing
- format-neutral scene graph, SVG renderer, chart layout
- editing
- the undo history, and the rules that make it feel right
- a PDF writer, and a reader for page work, with no dependencies
- office-formats
- what a file is: sniffing, ODF, RTF, compound file, text
- mailbox
- MIME, mbox, .msg, .olm, .pst/.ost, and the local mail store
- calendar
- the diary: iCalendar read and written, recurrence, time zones, invitations
- contacts
- the address book: vCard and CSV read, vCard written, one book behind the suite
- imaging
- image probing, EXIF, and the non-destructive edit pipeline
- media
- container probing and the video edit timeline
- studio
- the layer renderer the video and image editors are being built on
- templates
- the templates gallery, made by the engines and kept as files
- barcode
- QR codes encoded and read, with no dependencies
- ocr
- text recognition on threads of its own, with page analysis and tables of our own
- proofing
- spelling, the thesaurus and the language of a run of text
- office-shell
- the platform contract, and its Electron backend
- office-ui
- the design system every app renders with
Found something? Say so.
The issue tracker is where this product is maintained, argued about and improved.