We use the Fork-and-Branch workflow. Start with forking the repository, then create a branch to which you commit modifications.
Do not clone the main repository
Create a pull request to the master
branch when you are ready to submit your changes. Each pull request should pass all automatic checks and at least one member of the DevExtreme team should review it.
Make sure that you properly configure your Git username and email.
To set up a build environment, you need the following software installed:
- Node.js and yarn (or npm). We recommend the LTS versions.
- A web browser for development. We recommend Google Chrome.
Run the following command to install packages:
yarn
or
npm install
After installation, the following commands are available:
-
yarn lint
ornpm run lint
- Executes linters -
yarn test
ornpm run test
- Runs tests -
yarn test:watch
ornpm run test:watch
- Runs an interactive test watcher -
yarn build
ornpm run build
- Builds DevExtreme Reactive -
yarn build:watch
ornpm run build:watch
- Builds DevExtreme Reactive in watch mode and runs demos. The following demo URLs are accessible:http://localhost:3002/
- Grid demoshttp://localhost:3004/
- Chart demoshttp://localhost:3005/
- Scheduler demos
We use a monorepo, and you can execute the described commands from individual packages (./packages/dx-react-core/
, ./packages/dx-react-grid/
, and so on).
We adhere to the test-driven development paradigm. It follows a simple rule: each PR should contain a test if possible. It means that if a PR fixes a bug, it should contain a regression test; if a PR implements a new functionality, it should contain tests for it, and so on.
We recommend running tests and executing linters locally before you submit a PR.
We use the Conventional Commits specification for commit messages and PR titles. You should make sure that your PR also follows it.