First of all, I would like to express my gratitude to you. The open source community is thriving because of you, and jsMind has gained even greater value because of you.
Contributing process
The basic process of contributing code to jsMind is:
- fork jsmind
- Develop new features or improve the current version
- Test your code
- Submit a pull-request to jsmind
- Waiting for review, you may be asked to modify your code during the review
- Merge your pull-request
Preparation
Pull-Request and Fork : read the github article of pull-request to learn how to submit your code using fork and pull-request.
Node.js : Node.js is not required to use jsMind in your project, but it is used to perform unit test, code formatting, packaging and compression. Node.js 18.x is used by CI environment of jsMind.
Visual Studio Code : If your IDE is VS Code, it’s recommended to install the plugin esbenp.prettier-vscode
. In this way, your code will be formatted according to the configuration of jsMind automatically.
Development
jsMind is written in ES6 format, source code is in /src
. Generally, only the code in it needs to be modified.
Please remember to format the code at any time during the development process. Execute the following code on the command line to format the code:
npm run format
Unit Test
The code of unit test is in /tests/unit
. Please add unit test for the code changes, and make sure all unit tests pass.
Execute the following command to run the unit tests:
npm run test-es6
Packaging and compression
Execute the following command to package the code into a js file that can work in web browsers:
npm run build
The js file will be generated into /es6
Local running and debugging
Execute the following command to start a simple http server
npm run server
The accessible url will be printed in the command line window, which probably be http://localhost:8080
. Now visit http://localhost:8080/example/2_features_es6.html and test or debug.
it is strongly recommended to test all the use cases on the page, no matter you are developing a new feature or fixing a bug.
It should be noted: If the ES6 files is changed, you may have to run npm run build
and refresh the page to preview the changes.
copyright notice
Reproduction and deduction are prohibited.
The jsMind project is still being updated and the corresponding documentation is updated at the same time as the version is updated. In order to avoid confusion to the user, it is forbidden to reprint this document without written permission and to make changes of any kind to this document.