All contributions to this project are welcome. Developers planning to contribute should follow the Contribution Guidelines
The project is managed using npm.
For a list of available task, type
npm runThe following sections show the available options in detail.
A MongoDB 3.2+ instance is required to run tests. You can deploy one by using the commodity
docker-compose-dev.yml:
docker-compose -f docker-compose-dev.yml up -d
To run docker compose you will need docker and docker-compose.
Mocha Test Runner + Should.js Assertion Library.
The test environment is preconfigured to run BDD testing style.
Module mocking during testing can be done with proxyquire
To run tests, type
npm testThere are additional targets starting with test: prefix to run specific test subsets isolatedly. For instance, the
test:expressions target runs the subset of tests related with expression language feature:
npm run test:expressionsTo debug the code while running run tests, type
npm run test:debugIn the console the link to the debugger will be provided. You can connect to it via Chrome, for example, by opening the
following url: chrome://inspect.
Additional debug clients are listed on node.js.
ESLint
Uses the provided .eslintrc.json flag file. To check source code style, type
npm run lintSupport for continuous testing by modifying a src file or a test. For continuous testing, type
npm run test:watchIf you want to continuously check also source code style, use instead:
npm run watchIstanbul
Analyze the code coverage of your tests.
To generate an HTML coverage report under site/coverage/ and to print out a summary, type
# Use git-bash on Windows
npm run test:coverageRemoves node_modules and coverage folders, and package-lock.json file so that a fresh copy of the project is
restored.
# Use git-bash on Windows
npm run cleanChecks the Markdown documentation for consistency
# Use git-bash on Windows
npm run lint:mdUses the provided .textlintrc flag file. To check the Markdown documentation for spelling and grammar errors, dead
links & etc.
# Use git-bash on Windows
npm run lint:textRemoves node_modules and coverage folders, and package-lock.json file so that a fresh copy of the project is
restored.
# Use git-bash on Windows
npm run cleanRuns the prettier code formatter to ensure consistent code style (whitespacing, parameter placement and breakup of long lines etc.) within the codebase.
# Use git-bash on Windows
npm run prettierTo ensure consistent Markdown formatting run the following:
# Use git-bash on Windows
npm run prettier:text