Thank you for considering to help this project.
We welcome all support, whether on bug reports, feature requests, code, design, reviews, tests, documentation, and more.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
The behavior of this editor is heavily inspired by prior art. If you want to discuss changing how the editor behaves, please take some time to consider how other editors operate. We specifically refer to:
- Microsoft Word
- Microsoft Word Online
- Google Docs
- Apple Pages
- Dropbox Paper
- Gmail
- TinyMCE
- CKEditor
- Quill
- Slate
- Other Draft.js editors
Clone the project on your computer, and install Node. This project also uses nvm.
nvm install
# Then, install all project dependencies.
npm install
# Set up a `.env` file with the appropriate secrets.
touch .env
Everything mentioned in the installation process should already be done.
# Make sure you use the right node version.
nvm use
# Start the server and the development tools.
npm run start
# Runs linting.
npm run lint
# Re-formats all of the files in the project (with Prettier).
npm run format
# Run tests in a watcher.
npm run test:watch
# Run test coverage
npm run test:coverage
# Open the coverage report with:
npm run report:coverage
# Open the build report with:
npm run report:build
# Open the file size report with:
npm run report:size
# Open the package contents report with:
npm run report:package
# View other available commands with:
npm run
- Make a new branch for the release of the new version.
- Update the CHANGELOG.
- Update the version number in
package.json
, following semver. - Make a PR and squash merge it.
- Back on master with the PR merged, follow the instructions below.
npm run dist
# Use irish-pub to check the package content. Install w/ npm install -g first.
irish-pub
npm publish
- Finally, go to GitHub and create a release and a tag for the new version.
- Done!
As a last step, you may want to go update the Draftail Playground to this new release to check that all is well in a fully separate project.