gfp-doctor
A command-line tool to help identify problems with GFP modules
Installation
npm install gfp-doctor -g
Usage
When in a GFP repository folder, run gfp-doctor
Usage: gfp-doctor [options]
Options:
-V, --version output the version number
-v, --verbose
-s, --silent
-pp, --package-path <path> override default path for package.json
-h, --help output usage information
Checks
-
package.json
-
Should use
eslint-config-gfp
-
Should use public npm version of
eslint-config-gfp
-
Should use public npm version
angular-module-no-deps
-
Should use
documentation
-
Should use some
lint
script -
Should use
babel-cli
-
Should use
babel-core
-
Should use
babel-loader
-
Should use
babel-plugin-istanbul
-
Should use
babel-plugin-transform-runtime
-
Should use
babel-preset-env
-
Should use
babel-preprocessor
-
Should use
puppeteer
-
Should use
headless Chrome
-
Should use prepush hooks
-
Should use public
require-polyfill
-
Should use
eslint-config-gfp
3.0.0 and up -
Should use
gfp-doctor
1.12.0 and up -
Should run
gfp-doctor
aspostinstall
-
Should use
karma
1.7.0 and up -
Should use
karma-coverage
1.1.0 and up -
Should use
karma-jasmine
1.1.0 and up
-
-
.eslintrc
- Should use
valid-jsdoc
rule - Should use
require-jsdoc
rule
- Should use
-
karma.conf.js
- Should use
angular
andangular-mocks
fromnode_modules
- Should use
-
bower.json
- Should not have
"version"
property
- Should not have
-
.babelrc
- Should use
"plugin istanbul"
test - Should use
"babel-preset-env"
presets
- Should use
Contributing
Create a branch or fork, then submit PR.
Remember to:
- Update CHANGELOG.md
- Update README.md
npm run lint
npm test
Please respect the .editorconfig
and .eslintrc
. Basically:
- UTF-8
- Unix linebreaks
- 4 space indentation
- Semicolons
Adding new tests
- Create a new file in
/lib
and require it inlib/index.js
- The new file should return an array with the following format to the
run
function inlib/index.js
:
[
{
desc: 'a description of the test being made',
errorMsg: 'a descriptive error message',
run: 'a proposed solution that is copy paste friendly through the command line. [This property is not a requirement]'
passed: Boolean
},
{...}
]