WebHare libraries are often designed for use in either the frontend (ie bundled in the Javacript code sent with a page) or the backend (as part of a RPC, the generation of a dynamic or static published page or a Tollium application).
Shared libraries
The 'shared' libraries are designed to be used in both frontend and backend
@webhare/std
: Standard library APIs. Contains general APIs and APIs useful for integrating with WebHare, but designed to be usable without WebHare at all@webhare/env
: The WebHare 'environment', eg the debug flags and version information. This library works in both frontend and bakend but specifically integrates with WebHare`@webhare/jsonrpc: A generic JSON/RPC 1.0 Client.
Backend liraries
@webhare/system
: Accesses WebHare resources (modules, database)
Working with NPM libraries/node_modules
WebHare exposes some APIs of the node_modules it ships with through its own modules (eg pg, kysely) but third-party modules should not directly include the node_modules
shipped with WebHare as they may be removed or receive incompatible upgrades without advance notice. Modules should stick to either the public APIs of @webhare/
modules
or install the necessary modules themselves.