Changes:

- Added support new support for `Joi` validation.
- Changed the default linter to `eslint`.
- Added new linting rules.
- Fixed linting warnings/errors.