When developing, run the following from the root-level directory:
npm install npm run build npm start
All packages will be live-built, and a live development server showcasing components with hot reload enabled will then run at localhost:8080.
We use mkdocs to build our documentation. To run documentation locally, run:
pip install -r requirements.docs.txt mkdocs serve
Documentation will be served on localhost:8000.
Code coverage reports are currently available only for the
@rjsf/core package. They are generated using nyc each time the
npm test-coverage script is run.
The full report can be seen by opening
To release, go to the master branch and then run:
npx lerna version
Make sure you use semver for version numbering when selecting the version. The command above will create a new version tag and push it to GitHub.
Note that if you are releasing a new major version, you should bump the peer dependency
@rjsf/core in the
package.json files of other packages accordingly.
Then, create a release in
the Github "Releases" tab and add a description of the changes in the new release. You can copy
the latest changelog entry in
CHANGELOG.md to make the release notes, and update as necessary.
This will trigger a GitHub Actions pipeline that will build and publish all packages to npm.
The package is published through an automation token belonging to the
rjsf-bot user on npm. This token
is stored as the
NPM_TOKEN secret on GitHub Actions.
Docs are automatically released using Read The Docs based on the latest commits from the
Releasing the playground¶
The playground automatically gets deployed from GitHub Pages.
If you need to manually publish the latest playground to https://rjsf-team.github.io/react-jsonschema-form/, though, run:
cd packages/playground npm run publish-to-gh-pages