Adviser
Modular task runner with a linter fashion
https://jam3.github.io/adviser
Thanks @pedrohsbarroso for the logo
Table of Contents
Installation
npm install -g adviser
Usage
Adviser's goal is to run rules defined in a configuration file. It doesn't get involve in what the rules do; it just run them and control them.
In order to use it, you need to:
- Create a configuration file
- (Optional) Install the plugins you've like to use
- Set the rules we want to use
Run adviser
$ adviser
If you run adviser without any arguments it will try to find a valid configuration file in the current directory and continues in through the parent directories until find a configuration file.
CLI Arguments
-c, --config
Specify config file path
-i, --init
Run config initialization wizard
-d, --debug
Output debugging information
-V, --verbose
Display extra information
-t, --tags
Run rules that match tags
-h, --help
Show help
-v, --version
Output the version number
Configuration example file
{
"plugins": ["plugin1", "plugin2"],
"rules": {
"plugin1/exampleWarnRule": "warn",
"plugin1/exampleErrorRule": "error",
"plugin1/exampleOffRule": "off",
"plugin2/exampleNumberWarnRule": 1,
"plugin2/exampleNumberErrorRule": 2,
"plugin2/exampleNumberOffRule": 0,
"plugin2/exampleFullWarnRule": ["warn", {options: 'options'}],
"plugin2/exampleFullErrorRule": ["error", {name: 'plugin'}],
"plugin2/exampleFullNumberWarnRule": [1, {name: 2}],
"plugin2/exampleFullNumberErrorRule": [2, {}]
}
}
Built in rules
All the rules documentation is located inside /docs/rules
Rules:
- package-json-properties: Includes options to restrict and blocklist properties on the package.json
- root-files: Includes options to restrict and blocklist files on the root directory.
Release
To releasing new versions we are using standard-version.
Steps:
- When PRs/commits land to your master branch, select the Squash and Merge option.
- Add a title and body that follows the Conventional Commits Specification.
- Run
$ git checkout master; git pull origin master
- Run
$ npm run release
- Run
$ git push --follow-tags origin master && npm publish
Tests
Unit Tests
There is a small set of tests implemented using Jest, to run them use: $ npm test
Integration Tests
To test adviser
running with built-in rules, run $ npm run adviser
on the directory __tests__/integration
External Plugins
To use plugins and rules you can install one of the plugins created by the same team that created adviser:
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting
pull requests.
License
MIT