m-ld is a decentralised live information sharing component with a JSON-based API.
ci & website
work in progress
- Issues relating to this engine are logged on the Issues tab.
Plug-ins such as remotes implementations in this repository are structured as:
- Directories under
- Entries in
"./ext/socket.io": "./ext/socket. io/index.js"
- Dependencies in
package.json#peerDependenciesMeta. Also in
package.json#devDependenciesfor unit tests.
Scripts are run with
buildscript cleans, compiles, tests and generates documentation.
devscript compiles and unit tests, and watches for changes (use
dev+logto see console output).
compliancescript runs spec compliance tests (long-running).
doc-devscript can be used after
buildto create a local web server watching for documentation changes.
publishing (team only)
This project uses semantic versioning. There are two main branches.
edgebranch is for pre-releases. Docs are delivered to edge.js.m-ld.org. A merge into
edgeshould be immediately followed by a pre-release if it affects versioned components.
masterbranch is for releases. Docs are delivered to js.m-ld.org. A merge into
mastershould be immediately followed by a release if it affects versioned components.
Only the unit tests are included in the build. Prior to publish remember to run
compliance tests script (ticket).
npx publish.sh ≪newversion≫ (from
m-ld-io-js-build) builds the
project, increments the version as specified (e.g.
patch), pushes the code and
publishes the package. Ensure the repo is up-to-date and on master (release)
or edge (pre-release).