cross-check
Version:
Multi-project, project level linting
40 lines (30 loc) • 1.41 kB
Markdown
# cross-check
Multi-project, project level linting.
> You have a problem, and decide to use microservices - now you have N problems.
Linting tools are great for maintaining individual projects. But what do you do
when you have a whole bunch of tiny projects? Maintaining consistency between
different projects can become a burden.
Enter cross-check. You give it a list of git repos, and cross-check will clone
them and run a series of checks on them. Output is generated in an
xunit-compatible format, which makes it great for running from your CI server.
Checks are hard-coded, for now.
Current checks:
* Node.js
* Assert no outdated dependencies using
[`npm outdated`](https://docs.npmjs.com/cli/outdated)
* Assert no security vulnerabilities in dependencies using
[`nsp check`](https://github.com/nodesecurity/nsp)
Planned work:
* General
* Assert a particular file's contents (`.node-version`, for example)
* Docker
* Assert `FROM` version matches a regex/semver
* Assert `MAINTAINER` present, or matches value
* Node
* Assert consistency of `private` and `license` fields in `package.json`
* Assert repository consistent with cloned URL
* Assert no deprecated dependencies
* Other
* Switch many command line options to a configuration file
* A plaintext reporter for human readable output
* Catch exceptions from scanners and report them as errors