If you have questions about the library, found a bug or want to suggest a feature, please create an issue.
You can visit the docs website, however its source is not in the repo yet. Our docs are still coupled to Remote's internal Design System and integration tests. The effort to decouple it at the moment is too high.
- Install the dependencies:
npm ci
- Run the tests:
npm test
Submit your branch pointing to main
.
Please, always add tests to your bug fixes and new features.
The simplest way to test your PR in your project is by installing it locally as a "tarball" version.
- Run
npm run release:local
, which will create the tarball. It will output a suggest npm command to re-install the package in your project. Example:
npm un @remoteoss/json-schema-form && npm i -S /Users/kim/Documents/my-repos/json-schema-form/local-0.1.0-beta.0.tgz
- Then go to your project and run the command above.
You can re-run this release:local
as many times as you need. Remember to re-install the package each time a new tarball is created.
cd json-schema-form
- Run
npm link
- Run
npm build
cd you-project
- Run
npm link @remoteoss/json-schema-form
You need to run npm build
in the json-schema-form
directory to ensure the latest changes are in your project.
Run npm unlink --no-save @remoteoss/json-schema-form
to remove the local symlink;
With yarn unlink @remoteoss/json-schema-form
you will need to run yarn install --force
to re-install the package that was unlinked;
If you need a public release (for example, to run it on your project CI), you can publish a dev
release.
Note that only core maintainers (Remoters) can publish public releases. If needed, ask us in the PR and we'll do it for you. Check #3 for the video walkthrough.
- Locally run the script
npm run release:dev:patch
ornpm run release:dev:minor
depending on your changes.- You'll be shown what's the new version and prompt you if it's correct. Eg
Creating a new dev... :: Current version: 1.0.0 :::::: New version: 1.0.1-dev.20230516175718 Ready to commit and publish it? (y/n)
- Then it will ask for the
@remoteoss
OTP for the NPM access to publish it. - Done! 🎉
- You'll be shown what's the new version and prompt you if it's correct. Eg
Every dev
release is tagged as dev
, which means it won't be automatically installed in your project by default.
You must specify the exact version, for example:
npm i -S @remoteoss/[email protected]
You can create as many dev releases as you need during the PRs, by running the same command.
A PR needs all CI checks to pass.
By default, prefer to "Squash and Merge" giving it a message that follows the Conventional Commits.
- <type>[optional scope]: <description>
- feat(parser): add ability to parse arrays
The final release is done after merge.
-
Checkout
main
and pull the latest commit -
Depending if you want a
patch
orminor
, run the commandnpm release:main:patch
ornpm release:main:minor
.-
You'll be shown what's the new version and prompt you if it's correct. Eg
Creating a new version... :: Current version: 1.0.0-beta.0 :::::: New version: 1.1.0-beta.0 Ready to commit and publish it? (y/n)
-
Then it will update the CHANGELOG using generate-changelog. You may change it if needed, before going to the next step.
-
Finally, it will ask for the
@remoteoss
OTP for the NPM access to publish it. -
Done! A new release is published on NPM! 🎉
-
-
Create a new Github Release.
- Choose the tag matching the newest version.
- Leave the title empty
- Copy the new part of the CHANGELOG to the description.