You'll need Node.js installed.
Consult our .tool-versions
file for the version that we use to validate and build in CI.
This file is of particular use to those using asdf or compatible tooling.
When you've just cloned the repository or you've switched branch, ensure that you've installed dependencies with:
npm install
Or, alternatively, do a clean install to match exactly what we check and assemble in CI:
npm ci
Always inspect our GitHub workflow files as the canonical reference as to what commands are performed in CI.
The following command will lint source files and run tests:
npm run lint && npm test
To serve the HTML micro-site in your local environment you can use:
npm start
The npm start
command generates a folder called output/
which is
intentionally ignored by Git and then spins up an HTTP server using the
http-server dev dependency.
You will then be able to open up on your browser http://127.0.0.1:8080/
with the features matrix displayed and ready to be edited from the source files.
Use our standard Release Process, except there is no 'Publish Workflow' to be triggered in this repository.
This is because downstream users consume the contents of sdk.yaml
using its GitHub raw URL for a given version tag (see Usage).
The "Public API" of this repository, when it comes to assessing the "Trigger" for the Version Bump, is the structured presented in sdk.yaml
(otherwise known as the canonical feature list).
The files maintained within the core
folder define a package which is published to the npm registry at @ably/features-core
.
Git tags are not created when new versions of this package are released.
Tags in this repository are reserved for the canonical feature list (where that version is defined in render/package.json
).
To publish a new version of this package:
- Increment the
version
inpackage.json
- Run
npm install
from thecore
folder - Run
npm install
from therender
folder - Commit the changes from steps 1 (
package.json
), 2 (core
'spackage-lock.json
) and 3 (render
'spackage-lock.json
) to themain
branch - Run the Publish Core workflow against the
main
branch
Steps 1 thru 4 will usually be done via a release PR, as outlined in our guidance for Release Process.