The published packages come from one repository and one design stance: a
self-contained web platform with zero runtime npm dependencies and no
mandatory bundler. Everything that runs in the browser is read, audited and
written in that one place, and every cross-package import goes through the
@awacloud/* package names, in Bun and Node through the workspace, in the
browser through an HTML import map.
The layers
Packages are placed in layers, and a package only ever depends on packages of its own layer or of a layer above it. The catalogue on this site groups the packages the same way.
Foundation comes first because everything depends on it. The framework
is the security-first browser runtime: a dependency-injection runtime that
resolves modules on demand, a global-lockdown layer that runs before any
other code, and a module pattern whose factories are serialisable, so the
same module runs identically in the main thread and in a Web Worker. Its
WebAssembly crypto is a build-asset companion: the .wasm modules the
framework loads, built from the sources the package carries.
The other layers are the libraries and deliverables built on that foundation: the office document libraries, the graphic add-ons, the cryptographic front doors, the web-site foundations, the server-side libraries, the command-line tools and the long-running services. A layer appears on this site once one of its packages is published.
The published graph
The list below is generated from the catalogue at build time: every published layer, its published packages, and for each package the published packages it depends on. A package with no entry after its name depends on nothing that is published.
- Foundation
- Office family
- Tools
Why the foundation has no dependency
The framework declares no dependency at all, on npm or in the repository. That is what makes the rest of the stack auditable: a consumer who reads the framework has read everything the framework runs. The tools that build and generate code for framework-shaped packages sit in their own layer and are never imported by the packages they build.