Jodit is an open-source project, and we greatly appreciate your contributions. You can contribute by fixing bugs, reporting them, or translating the editor interface.
git clone [email protected]:xdan/jodit.git
cd jodit
nvm use
npm ci
To work you will need to install make.
make start
Make code changes and add automated tests in the test/tests/
folder.
Run:
make lint && make test
Fix any issues and commit your changes:
git checkout -b i/GITHUB-ISSUE-NUMBER
git add . && git commit -m "Fixed issue smt"
git push
Create a pull request in your repository on the GitHub interface.
To work on Jodit, you need the make utility.
Clone the repository and install the dependencies.
git clone [email protected]:xdan/jodit.git
cd jodit
nvm use
npm ci
make start
The make start
command starts the development server in debug mode,
and the default page will open automatically.
The command can be parameterized, for example, to run the build in es2018
mode:
make start es=es2018
You can find other options in the Makefile
.
Before you start, here are some important points to keep in mind:
- We expect contributions to adhere to high-quality code standards, including coding style and tests. Neglecting these points may slow down the acceptance of your contribution or even lead to rejection.
- There is no guarantee that your contribution will be included in the project code. However, pull requests make it easy for you to keep your changes for personal use or for others who may find them useful.
- If you need help creating a patch or implementing a feature, please submit a ticket to us on the issue tracker.
To ensure that your code matches the project's general style, you can use Prettier:
npx prettier ./src/%YOUR_PATCHED_FILE_PATH% --write
More information about the code style is provided in the guide. It is also important to run the following command without any errors before creating a pull request:
make lint
We follow simple code formatting rules that your IDE or editor can help you with.
Build min files:
make build
Build without any plugins:
make build es=es2021 uglify=true excludePlugins="about,source,bold,image,xpath,stat,class-span,color,clean-html,file,focus,enter,backspace,media,preview,pint,redo-undo,resize-cells,search,spellcheck,table"
Build without some languages:
make build es=es2021 uglify=true excludeLanguages="ru,ar,cs_cz,de,es,fa,fi,fr,he,hu,id,it,ja,ko,nl,pl,pt_br,ru,tr,zh_cn,zh_tw"
Before making any functional changes or fixing a bug, you need to create tests for them. We follow the TDD (Test-Driven Development) methodology, where we write automated tests first and then implement the functionality. Maintaining a comprehensive test suite is crucial for our editor. To run all tests, use the following command:
make test
or
npm test
In several browsers:
make test browsers Chrome,Firefox
This command builds the project and runs the automated tests. If you only want to run the tests on an existing build, you can simply use:
make test-only-run
If you need to run a specific test, you can use the only
method:
describe.only('Test', () => {
it.only('Test', () => {});
});
To see the test results, you can run the tests in watch mode:
make test-only-run browsers=Chrome singleRun=false
For checking tests in browser, open URL:
http://localhost:2000/test/test.html
GitHub provides excellent documentation about pull requests. If you are unsure about the process, that is the right place to start
Assuming that you would like to propose some changes, follow these steps to create a pull request:
- Make sure to open a ticket in https://github.com/xdan/jodit describing the issue, feature, or problem that you want to address in your pull request. This step can be skipped for obvious and trivial changes (e.g., typos, documentation fixes).
- Go to GitHub and fork the repository. The forked repository will appear in your GitHub account as
https://github.com/YOUR-USERNAME/jodit
. - Open your terminal and navigate to the package's folder in your development environment:
$ cd path/to/jodit
- Create a new branch for your code. We use the
i/GITHUB-ISSUE-NUMBER
convention for branch names:
$ git checkout -b i/GITHUB-ISSUE-NUMBER
- Make the necessary changes, ensuring that you adhere to the code-style guidelines and remember to include tests for your changes.
- Commit your changes using the following command:
$ git commit -m "Fixed issue smt."
- Now it's time to make your changes public. First, you need to let git know about the fork you created by adding the remote repository:
$ git remote add my-fork https://github.com/YOUR-USERNAME/jodit
- Push your changes to your forked repository:
$ git push my-fork i/GITHUB-ISSUE-NUMBER
- Go to your forked repository on GitHub. Use the pull request button and follow the instructions provided.