@appworks/doctor
v0.5.0
Published
Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors
Downloads
88
Readme
AppWorks Doctor
Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.
1. Code Scanner
Installation
$ npm i @appworks/doctor --save-dev
or
$ npm install -g @appworks/doctor
Usage
const { Doctor } = require('@appworks/doctor');
const doctor = new Doctor(options);
doctor.scan('/yourProjectPath').then((result) => {
console.log(result);
});
Usage(CLI)
Use $ appworks-doctor -h
for help.
Scan
$ appworks-doctor -s ./
Options
$ appworks-doctor -s ./ --ignore types mock
Options
new Doctor(options?)
- ignore?: string[], Ignore directories, example ['mock'] .
.gitignore
will work too.
scan('/yourProjectPath', options?)
- fix?: boolean, whether fix ESLint fixable problems.
- framework?: string, target project framework, default is
react
. - languageType?: 'js'|'ts', target project languageType, default is
js
. - tempFileDir?: string, set temp reporters file directory, default is
node_modules/@appworks/doctor/tmp/
. - disableESLint?: boolean, whether disable ESLint part reports.
- disableMaintainability?: boolean, whether disable maintainability part reports.
- disableRepeatability?: boolean, whether disable repeatability part reports.
- disableCodemod?: boolean, whether disable codemod part reports.
Result
ESLint
Use @applint/spec check your project.
.eslintrc.js
customConfig will merge into ESLint config.
// .eslintrc.js
const { getESLintConfig } = require('@applint/spec');
// getESLintConfig(rule: 'rax'|'react', customConfig?);
module.exports = getESLintConfig('react', {
'no-unused-vars': 'off'
});
.eslintignore
ignore config will merge into ESLint ignore.
Maintainability
Use typhonjs-escomplex calculate complexity reports.
Repeatability
Use jscpd calculate repeatability reports.
Codemod
Use @applint/applint check and update Rax and React deprecated usages.
Enjoy!