{"_id":"@appworks/doctor","_rev":"56-74004728a4affedd29b42c58433dfbf2","name":"@appworks/doctor","dist-tags":{"latest":"0.5.0","beta":"0.5.0-beta.1"},"versions":{"0.1.0":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.0","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@iceworks/spec":"^1.0.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"_id":"@appworks/doctor@0.1.0","_nodeVersion":"12.18.3","_npmVersion":"6.10.3","_npmUser":{"name":"alvinhui","email":"alvin.hui@qq.com"},"dist":{"integrity":"sha512-zvIsEIcn52hEAotWjjdXynOG3CZLGRq8UYGBSbjtIT8fpCHAp2zsLqrCEPhg0eMy7w2J4Q26FJ2DHm+dI/dvcw==","shasum":"b26e32073d8cfa7aa1e52003dd1f598b264d3bcf","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.1.0.tgz","fileCount":45,"unpackedSize":51153,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiOMNCRA9TVsSAnZWagAACwQP/jgEfMIufQiiosSn4TWI\nk1x5nHL7x5LfmM9ER7lQ8FPYhfKaoMKYjbpVtDnF3VUdUtaI/APAlcPyhpEz\n1buQ2Pg8gIRRh1wu/U7u2cQ9d05SdPAYGfl8UtrnOwy/2/36VFGQC6OgByXc\naodbLV2gSaF5/nXrcQKwkOVQu8uGY/VqvzoMIG1ce5u8t8gaaDdcxOrQopCu\ng0EkKzfPdlP0P34FINLhEf283q3W2P/B8mZNkAt2luGSP1oPRmo76E0U4XOV\n3sNAv0ia24Ld2YjjgBfLkZ7NpCtpJYpCVc13LPuU94sGPP9LsRJWWYiBPEf7\nClzYSHvaJcBBhbOuAn2PpfiwnK8j2o5o7M4AvW1JF/GWHlosdOp/y7NDJJpG\nyXumfUK7EOpmgrrB7ZuxSKWcnXdmTE/d6msSt2tSJOzsCOVdzzNsKVj/jrhI\n07cqYqrF+4UPnxepx1vZShlWLzH1Vu7kCMCVG8d4QfYyitk8f+Eh7+l1Hfch\nIr3nO4dcY/INrJcwwL2OOSzaPih4+OB2Llw3h/4eVgsNa1ZT5y1kHmvfL9n2\nHZL9GjcI8qpBriGvjdGmYqN7IcHav+UEU1k4MpyCi1nm+6TxIwWk8Htwawt2\nVdoC70rp9gWF0TnNguE13gOAVzbQGbvo5mDPeV/pZ6A0KRLjs7alN7yJ7zvk\ns5J9\r\n=9gtr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBNsFAb1sHRcRvb9mpYl7rghQw8AIFI8VdHfh8oC6bZiAiEAl8EzdifVebm1d9Apa8bHyW/cHaoI1ki7CBrp3eUcXZI="}]},"directories":{},"maintainers":[{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.0_1619583756814_0.2682262371183213"},"_hasShrinkwrap":false},"0.2.0-beta.1":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.0-beta.1","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@appworks/codemod":"^0.1.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@iceworks/spec":"^1.0.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@appworks/codemod](https://github.com/appworks-lab/codemod/)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@iceworks/spec](https://www.npmjs.com/package/@iceworks/spec) check your project. \n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@iceworks/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@appworks/codemod](https://www.npmjs.com/package/@appworks/codemod) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.2.0-beta.1","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-9x660ysE+tjhqm6nbyJpso38Ku+KSyfgeUoPb9CRVx6Uum1IrRl2AACgq+FrcfxlTmvxSPUshCvDycCMqCN6mA==","shasum":"9f98cc1570512eace4664aa659948a4b6f4b6822","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.2.0-beta.1.tgz","fileCount":49,"unpackedSize":59491,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2uBWCRA9TVsSAnZWagAAGAsP/2wjED5bAiI7PEhD+tm2\nqEVWQVSLtqzZ48ZSdkNpv70i5VwIk2t6slTQ9ZRFV2HoNzrYE42f0xqeN1p7\nL+pDsk66BpGcgQPG2qy6HWI6mb+FfGe3HqGbTfLGFHE328A41TbfiyMYhAhG\n5AMkzS/EZMdlfUOf4ZUw4719ydpS501nxtwsdBslEf+WhkRA62yz8HO8N6Pb\n7DzgvdV7bqYB5ErQS2tsrLN+fxfjUqwXa4HJPkuJBv6JvjCOBjv6PU+Ek/Be\nQf/hebTmK57aEZ5tpX5l+7WOlTq4G5fmqEprsNj5N0eymsAEKygpbtu1heqA\n6MtRTMcq5GRF2F8KbM5tKghiPfKOOjXaFeooM6pLDFb5uyNID9cijjTUW0rM\nPLh54XsIWnKsGM0OZabZBh2cWOvM9IscQLiEbXEyWx8Xm4sxGDo6SnZ0kzCa\naAVHuVCnAbJa0GLbvmetFinn7Bjy7+2WEUbsjCvRzl6h3ddDEFn0w98Ptlg1\nSxNoexpBG8derIYyghPfp3t/3lbS0jZ8O1ZSMbST38S9YKN9RTN6JCU+JGAw\nXbF1fncQYLPhHO7zxJydT19rku37dw/rO6b4cszL87QgmCFmJm1BqAFsfggg\nWIq2Wve3U7yLznqEjnB5YsBctUsJsqVGn858FOQoEDl8V0CEFUiZK43Q9Ruh\npo63\r\n=YWqS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhAUEw8sydEepwylpYmBvsLXJ8ADj2qYGfibF2JAnd6AIgGIZpf0p2BkGPAEdHCfiMWcvV8UfB63EEoukEPKN/i9I="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.0-beta.1_1624957014383_0.2761368507574222"},"_hasShrinkwrap":false},"0.2.0-beta.2":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.0-beta.2","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@appworks/codemod":"^0.1.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@iceworks/spec":"^1.0.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@appworks/codemod](https://github.com/appworks-lab/codemod/)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@iceworks/spec](https://www.npmjs.com/package/@iceworks/spec) check your project. \n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@iceworks/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@appworks/codemod](https://www.npmjs.com/package/@appworks/codemod) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.2.0-beta.2","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-1EIXSXX+fadxAlVL7aOQ+A7J8ajkCP7TpE8pQpfCNxNGEZYLJnZRaQNS7X3ZdrGntra5z4pbSXvB9e9UNykUtg==","shasum":"8925b879cb862f29dcbb76f0777274fe556fcc08","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.2.0-beta.2.tgz","fileCount":49,"unpackedSize":59491,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg29qGCRA9TVsSAnZWagAADWwP/jFrY9BmUT8IMmyNF9v3\nBDCB+PXt+MnYS09qOZ4qZd14y7/CGnKRCtVZ+SG0qYb6AyRQ9FUml8ZU58Oz\nCcmkqCbZj1rBUlLJAZ+xsW+9pajtwZvE2T2v/lDqlbmhpkc87TsCkt7Rimko\n9+g25mLbEgeDFFyB6GiKhCo/PRs9SWl/OKCxkI4xpQm/AZXwBqPO2UjrU6SE\nYJWusle37xyjPFZLfUOa2HcLGELP3OanmlqfTZ4kFm8zYdf19nD0X9OHhHvf\nTxLu+gyD9ovWHzTRK258YDA9Nnr+hAdAM/d4jzE2IUXqmJjSZjrAL/SIaI2m\n/octDdelpHHdJP9nBbFFAT/DrFKHwEiI7hzLbgam1PIj/VOQsmyyVI59RLGn\n5umgYvD4P9QMIHLqXns5iv7Wb+DGUdKkl/UauPNfKqf3rSksJwexBO79ijJd\nlV72o6MzzbWg/sZDdBhdgCNBIKatU45ouqWHi2tTO9XV5PvHMu5DIpK3dER8\n7A07FbnhPT50UP5HE6YT8EMLbaBtCcMQ2WpcbMnRWt1S5e04Fuku2w3YXauH\n1Ec2eA9uOP57yno2hsRTFPqjQ3Phfr3456qafT8jyfII+J6Ddr8Jc5B7xjfO\n4q/b89mVe9UijTMlryrv0sC+1gVVfjqRJqkAwttPZnqDQL1aYjN/Z56TRiTs\nauHJ\r\n=dfSK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH3Y+QuIhBnb/QU5OBjIJnCvst7h5cv69JNYOeo46punAiBa2bPt7YFvH2JGz/tBN0w0JWBVfZkmAW71LLwWhg+9+A=="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.0-beta.2_1625021062355_0.17251109616941185"},"_hasShrinkwrap":false},"0.2.0-beta.3":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.0-beta.3","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@appworks/codemod":"^0.1.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@iceworks/spec":"^1.0.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@appworks/codemod](https://github.com/appworks-lab/codemod/)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@iceworks/spec](https://www.npmjs.com/package/@iceworks/spec) check your project. \n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@iceworks/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@appworks/codemod](https://www.npmjs.com/package/@appworks/codemod) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.2.0-beta.3","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-ifqejW72+Vj73Wd7Zz0VT+9gn2jGOJ4LaUlYsLTpwx3W2vDycvjyzRTrH470pIFL2VSRm+5g5r3h1ltTf/71bw==","shasum":"36dd0d0c7de03a5defd40bae172b03b1c04c8a86","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.2.0-beta.3.tgz","fileCount":49,"unpackedSize":59491,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3DUNCRA9TVsSAnZWagAAkOYP/jKTFUg+J6wKClP/tMOZ\n5Lwu8rs3r5qBbo8MPoY65RkBwlVyM3FE24Xq2dYGoG3PUngQemxWvfZI5yha\nmsMbzc/88MBmi5xP183+ZyPbwQHtK+bkYj9bHkDsN9g3HlEq69tCnIgRoJKL\nRDXcTK64w7H9c2SqYxLBXfv6Wc8od916kvBFGMHzIuCVuloSzVhvlYwXxVK8\nqBUIy9IMXINUZEElbnGBcz6O1NXKqKA7W79IotvRe6RgDR/U5PV0XCgoRSYM\nFhG1ceTahsCRwGdf0zeQ447o8bE+znHFh7JDY3tV7KjsceUAKR51+4vLzF/Q\nJGpywDcClylBlo4GH+zGgc95/9IzRisF7cFd1EiQZmj2gjN+bAPJEXqOjzOX\nrE7dDU96qIWH/Yu7c6abMURhoCMwiljjvxZHcuVvYrlK3cRkiV+qkVXF7UPY\n7JCyECwKt9PV+rQ3sILlsVzTly8rgML/xYslRJ6gFpWMAXot4ZRENMHMn+x7\neSetP89wEedcDzoMZygyCA40Iqxzo3wFAHgYGA3FEn7tJMe+FuujyyUZsWCg\nKhs4AOugIPKGnOAtzkCvLVqEGHwfLMJUJXE0lAOjTqfx765UjXLzhge1EZJw\ncvRy51P3shA2tIIGmCw3uxveYEwr9MgYyKjfGoA7QNMfoRlQ7ZXwuf7g+kgl\nZ0CH\r\n=kxRA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAfrB5Q0AkkLipL1GmzwVbIzlPIxBS4Dh/MrQ5YHUyYzAiBnckXZM/kNVoK7KeYJVV/jE+4ezjBYjv/sY8B9sQi7MA=="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.0-beta.3_1625044237166_0.5772361337319605"},"_hasShrinkwrap":false},"0.2.0":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.0","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@appworks/codemod":"^0.1.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@iceworks/spec":"^1.0.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"_id":"@appworks/doctor@0.2.0","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-Qt6JEad8slq31wdomfyZD/M1LaMsNGi+e1ErbQMjRiy1sStXewZd0ix49plM/a5G9rPNSh8OnB/FSLjM+Y3Tfg==","shasum":"962356afbb497ef020e7789d4a4fe4eabaf32a89","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.2.0.tgz","fileCount":49,"unpackedSize":59485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3SydCRA9TVsSAnZWagAAyDQQAJ3qp7oAeNVdpnopPSk+\nxoQHqavkfKdb5OXZNx/IFbKjTTo+TJVuGduvKkGav+Mhp+Uua1BKdlh+wyjx\nUEsMComTVXWn6Bdk90aGDvqofqPe8fILwR5fvZRMJkrQ3xfev7GXXL5zuVna\nlgihK31Rq+H6/gXvIoVaTRgq/gQJxP460BBWa3lohE1/R4qZ/pvWR4pj5GtX\nkIFQRGGdlIgDcb9wuWeIJVgCaW0icZ2Uxa38vcAlPtKDKMFLFFzGWeceP04V\ntooHEeGgdz+2sD6QrEi2NuwUqK1ayM0ESc5SzzphjQ52ILcxtf1JjAWzg/1D\nKnzte0/JyZ+3MzXC03nqBb3YxBx7cK618tHgaBpAvTGfkMeHrqMf/uzJARsa\nAGhE9b53++mpNQI7UqR7UooXubCQAKoN91zZp0/uqX5PRG6bvZDfALNzBTDj\nnbhXUMTXhloV8QEIrBZjpwBBdzsBOdV6R8BQz+R7wot8OPvunHJWdgPQCazJ\nPvGx8/LOqPabYFjvl2m6rGiBgxXk7T4hbXc+1ELoSD8OtbgiyegwcFNgZJFJ\n4yJ7KesQBRUYiiLjiddB8h2Q05JwIOV4+eg0gCdYJERpM9ZsNl5dX4LFdO/V\nizwKi4yfcRaORh2m53bzNnBTlj+jjKe8ZGKw5Li+yJBcRSZ8eOaju1wKzLGq\njkCm\r\n=Q5KY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDiEcrAIMBCloDUjofIKsxQOE1Tm1OLFGd05J6IvrFsTAiEAqZQBL8c2uy9PaSubnnjjpYCd9UueZ+r5eTKvOpMWjlc="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.0_1625107613394_0.6089353064573664"},"_hasShrinkwrap":false},"0.2.1-beta.1":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.1-beta.1","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@appworks/codemod":"^0.1.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@iceworks/spec":"^1.0.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@appworks/codemod](https://github.com/appworks-lab/codemod/)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@iceworks/spec](https://www.npmjs.com/package/@iceworks/spec) check your project. \n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@iceworks/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@appworks/codemod](https://www.npmjs.com/package/@appworks/codemod) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.2.1-beta.1","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-2vVoCB5TZy/dBReXrRHYPey05pYxupJBOnqJ23C2ZxN3W3aOuOC70wNh+QJ+sstHjpU91qVswVMnfgCB7H3Zkw==","shasum":"156a987b8d1fa9dd215a41872326f38294668c19","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.2.1-beta.1.tgz","fileCount":49,"unpackedSize":59739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg94p3CRA9TVsSAnZWagAAhpwP/34mLltdensFTmMARKl/\n7u5l7+tTDnDhxMYutmvXdveksfB9f5zJEXJgS8MqO/lj0piq3XDEigWTI5KS\ncfIM0sL0Y/oqdm53P+q8JM7YIZUa8zyTSSk1+M5MMTQlyKGa1Q6f0+5a4ce8\nzDXdG17MynMVvqFDs+QS5fwsdwWJNLGnuHiQSwswjzfiayZaGJAIIkmGNrwV\nZHyq92aSalfdam2O2l47MNlxulh7mTpJgat1Ptauur4P+FKd0QNYGcmBLaA9\n/JSdwZI0pRqwtburCFNxNvnT6ZKgqyRaAKSi9A8+H2fPQakWIWfUMplYTN63\niaY+azi+TcqBu08e7eIQuGZ49NeulMbc2m2MC1oVUR7g49ssQlM2s2XN1dKc\n6lRhAA2PMnneLJSFQJvay92s9RaN3kDNXPnB5q827+8uAw2uW0+XKC2m4pd8\n/lj2kTSWAteen1iyu0OsLNr6q2N6R0D9kmj0GpBk9RK8CypyJAmVCT+HVIb7\n/knJABp4IBG/EBYIFrV5hqZEpVrHYRXXzz0XdKHIeu70xAtg01wC7+o3GGJ8\nDQYwoLx7XBX5MqSL1r5E/SMt4xdIGgyEu9anxEzYJHsenIWX05NMbIw/hgNM\neCt9uBnEjfTK0njQNacvZ/5OeAvRkwQOVwIMRAmj0+R+UHxyoVoIUB4b2MCz\nVZoa\r\n=7hNb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICEwd9ZbaMtORxO+IAlU1zGJJ12KLel3wot9AHdLRDySAiEAoUG/kB32NAPc8Zh6ljRhjm6t7biKkqDy0deefSI8GW0="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.1-beta.1_1626835575081_0.7537214886656736"},"_hasShrinkwrap":false},"0.2.1-beta.2":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.1-beta.2","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@appworks/codemod":"^0.1.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@iceworks/spec":"^1.0.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@appworks/codemod](https://github.com/appworks-lab/codemod/)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@iceworks/spec](https://www.npmjs.com/package/@iceworks/spec) check your project. \n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@iceworks/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@appworks/codemod](https://www.npmjs.com/package/@appworks/codemod) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.2.1-beta.2","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-S/hONH2ohyHsqtAHZYOFMh6eahmdT9y5utII3yAUWWaUf/xSbOvM/Siqb6VLlblTCNYcq+SKaq0lJNYFhsMe8w==","shasum":"9baa1fce21eb75eb5f796e62748c31d6c297ee97","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.2.1-beta.2.tgz","fileCount":49,"unpackedSize":59739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9+clCRA9TVsSAnZWagAAIM0QAJ6EkWBenFx7Up7wtXqR\njfVpzeHjm0E7dn4gHNdXOwFuKdqpAetE1EpPnv4fwTjfhvSDJO+//6PSbqP9\noVHRLSfpBOhkYFwe+Jc+2Eq/37PdTDyE677YZVlBC0/I6e4dy3xveOjN/Ak1\n/8Q6TuUD48DRbNn+jDT4IPUYq14Q9iNHGv4ga4k8itg8zGqB7dEudFYzqQtA\njj4Y7eZbZ3TClkuMRauUu7mzcKa0x7R66bub1daL04AL0jJkHoXkWp4kMVrS\nDSfHYSKGWIfogS5KGQGIy53yRWWlv5TeDagkBzcjNNWKSd41WJD8rcFkSCJ7\n3YTEr8M5jYqKdBp1IHI+MEOPoNr3KXt4GJ1Btxj8qoecKjTyF8heCUS9wQUG\nX+dxeAuybeM56isbRjSDz1fbQ+LQNmNRz9uHkb7YcAVZDTUH8oipH1Ahvvy5\nOtEqP672JX0VabOv2pMOfAqKtfBC7Lmyn/lNVE9/x9/BzkynpLhUDQ+P/vhx\nMR2MTcIArwnsqUs8tPYT2yfEcUtSGaPYhjvMpV5npk/XrphoQF3yi7yck2NQ\n9Bz/qMZWGsmKmZysl9NoLcFQDssiVALanVNwzRJuYthw2LNquHkZcswf7yGz\nVYYM/Zb+XugkKXZd8UAVhk+o1A1cF6Bf/HuD1yOqaO/Kp3/mli17MJvyF7cv\nYGFq\r\n=kwfq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTvgKP8o3EU2J+AXsD3w9N6tpPH1kFNzbxtSe0Jum8UAIgHLjbdCUrJXhqHNWHyumyCFG21dIvNT25euy0rvulrHY="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.1-beta.2_1626859301827_0.6341430765066638"},"_hasShrinkwrap":false},"0.2.1-beta.3":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.1-beta.3","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@appworks/codemod":"^0.1.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@iceworks/spec":"^1.0.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@appworks/codemod](https://github.com/appworks-lab/codemod/)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@iceworks/spec](https://www.npmjs.com/package/@iceworks/spec) check your project. \n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@iceworks/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@appworks/codemod](https://www.npmjs.com/package/@appworks/codemod) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.2.1-beta.3","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-OuB3tbhp+5MhBuJdy+qbpPHvQe32HMRUqReI/glgT+GVBzGD9cbSQJ4eFDBULnWkg8PrEEq+QLjoh7ec0j9A8A==","shasum":"c379944ae3c72b984cbee36bb19e826c243fd3d1","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.2.1-beta.3.tgz","fileCount":49,"unpackedSize":59739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+OSsCRA9TVsSAnZWagAATU4QAIsEV/I1TotvLoSmFzwo\nbQiHwskc8h3OJf4zyxcu1pbstwGt+ChcyLDZ5jNTNCYLxEl7u0KWfoOkF5Oj\nA7JDP9D7I6Bv9EQMnC1Z9O0+dWC+0d0uluiM9Q14TUs+aJXpFIghjZLWy951\n3p8yzoPmOS7GNBWguG2oMNCI3cYue2ScxOiQjofxAvfy5maZpg0cy+5tadap\nKxX75x/+4stw3yc9Ze4XXBeydGG5WlOHmRRpZguF2jpjg0HAIiqubycU/1++\ng0qunfCyap868Yv6RWRL+pIxsy6GMz91h8AaRff7eZlD17V226qjkV/9jEJV\nANGoVz+aMuZNETZhUUOM5K5bRtyBp66m6QIWXrzPi2fWzgIBpC8hfiy2c4MD\nqm39OOGXBO/l3RfUFYVb4OH3CspeIddpRLn/mrliKWK+CHnS+YLpXVDT2ye2\naaA/inGjW0AbjcZ/ZD6ZuiyIU9IBQqC2unhWr55FfSxXBBqTzxz3quIjEf/x\nm8vQX4WT9dJgCuuzB+ws5I6yIQLzEb0ZX9e9n/aihWcqKbLlvpovQXbicDX/\nIyNChdiGrY35LZy2pugQ+H4gg/zFNKMjRRf6HFI62TM1Q5NmJJTTj8rJjLBM\nacSQ7sa94Z6bvHyrjQNn3yIsijbyVruAe2EGyAfuBshMpHnGHEgi3bAInX5W\nbuXo\r\n=cTDz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7ZqYt54IQp+T4T8yNwx/eGBIMXeqj2XUJjUDquNRNZgIhALHCTFqbq8n4JZ7cKmQNvlRUWCCmjBNM614LYIkvaATf"}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.1-beta.3_1626924203790_0.21924300768258131"},"_hasShrinkwrap":false},"0.2.1":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.1","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@appworks/codemod":"^0.1.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@iceworks/spec":"^1.0.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"_id":"@appworks/doctor@0.2.1","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-8DIYL9SSA/s4iacJIfp3VySHQLxT3DlqVf5+vEg9QF2X1xjx86BHg5ZoPDAi4pPNcfBwFpSzxM1Q9HL8QONRyw==","shasum":"23b239ff012c91eea8507724ac25ad8ecf6d95c2","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.2.1.tgz","fileCount":49,"unpackedSize":59733,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+SVLCRA9TVsSAnZWagAAu8sP/3UENUPGzNtv5RQTszmL\nyRd45HstLYeAnJtTbwp/UHVqOb0c6GR1+osuj6YOC4G3q+88DbKtdX0s8YQW\nf+DkaJzqIPvjbe3CM5DaetcBKFQtPvmb+oMfTYLtfQIgV5ZmzU3QHB+MGHlI\nBX5806deEoS6p0/mW+JH4gtoojVtamMRiuAZWmzcwE7MyPtEhxb4OgePbc8U\nQ0admeuPIMAnIZPosmvryLvfOsUgPZJls5fENq1NsPKhUtVKERxOets9eyqP\n/bGVCOBmV8wQGvq/spe9lXLHnJ0y1Xy7u/TMX/Hen+V0fyqNWJCUPOTL7K6Z\nNcA+tB0JC1gVhOqoXtQ3s1i1iIgUgYcirdD11f3tWtThTQmyVZ72vucU7NvK\njlmQn09w/KlwmZb/KARkqxW0uU0SZTe4ULD/4E+SQ2CeDKjeJpbwMgBgwXYN\n+OTEXfzm5b9MxhNzZH+Xoy+rgRnj8c8+PO+WVUypwVZB+TXGc9gU/ag/QYCX\n9Fe9tysj7zrV1FwPcgwfSrcqkeiuZujrHw3MRzy0qKGkhcWzduCnIkPioCTP\nncRdpZLw7H9BmOxT0l6ExlVK08Bv/UtMr9c7VpsNITWb1hZQol9GOT/kJocB\nD7rYWtMdFLQSs3uwuRiM8gngt0BvP6E1RK5pPoPASqsolTf82WPytToUhlkm\nrEJk\r\n=/sLb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBLQcpbWgqxPjNvrXhF+dh2iXNg/0ai55q0VW07EJygpAiEAjH6WMc58vQ0/7wxoC3zNNX6QlxrktMr1sW2aUFUzuaM="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.1_1626940747078_0.0036623578488381714"},"_hasShrinkwrap":false},"0.2.2-beta.1":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.2-beta.1","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@appworks/codemod":"^0.2.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@iceworks/spec":"^1.0.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@appworks/codemod](https://github.com/appworks-lab/codemod/)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@iceworks/spec](https://www.npmjs.com/package/@iceworks/spec) check your project. \n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@iceworks/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@appworks/codemod](https://www.npmjs.com/package/@appworks/codemod) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.2.2-beta.1","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-lAVS1oB1cvORGHwhiT1r1btjTLTfZZtE2r1UZ8l4GeebTMTGhoBn3zGpjrNJa/XhYnei4t60c4WT9X9VBf5oCg==","shasum":"bc57a2e03d8ac80a6b219a690cb363262698b8c4","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.2.2-beta.1.tgz","fileCount":49,"unpackedSize":59794,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhARr/CRA9TVsSAnZWagAAqAcQAITMDdlP0AHjtmO+NThV\nqXdxxtkIUqUz/CkJfrLO4K9+KRbJ5NGVbkkZZFBLg5ppeJPW4Kc+w+YXDXS7\nldxjzFfZwnhQRu/b0R0+s7+pJ3Su7n3wj3TxONugrLgBVrYhrPKkq4u+cLaY\nrOnXq5746di89Gb1tvfSurCD35Fg18ivlaIJw4oF1I2vHGr2HXFDOFaDm6R6\nFEhd+f8QPAblq6+hJDSc2vmORjgh1mktlBlrNP1gNFKv9Uc9FAbtNlaFEoSE\nNrhjwKij+98jeqabYQONfjAAvTmv9YWDqEkeVcObf4Mg2ChHJQNMHqnEgds/\n27qXkQ1BSPNm7M2lMBXMzJb76jIdii+U4mw+LhUQyDtGwpVyDpx5bHnkrBDc\nmbUUD1ffAAx9tc/tn2UI0xUg0YrEnRkTOO0EEiJiVNseOw6aLg2ilqgcksFC\nq7zLpaurxEF0sJ5t30ipaxMZKj2BxK0ktKTQCPxsTHZVbbLXjn6mMCdLnpL/\nYePcD17YZqzbUtScs5GDgUSdXEhaJZKtLvgRV2GQuUfzV4NT444yA1Re4XBs\n5z++Zp4WiTl5AsI8Qs2R9bSiY0DGRpvIMWnlMBt8OM4sTTYYEYRnoZkKrs+c\n5yGOVS647Uv5udkcPtSy7aucnG+w6o4tENsqeNydsliU1vyFwUQrySYrrpDd\nQkPc\r\n=/J+E\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCOR8arbqjOfJhjZiBmGSa4mLxI56/ftJTeyApbU0l0QIhAKgAj5v/KDms62cpAs26EGmhBc6cX8DPtd21dyHqKsAw"}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.2-beta.1_1627462399662_0.7709780808615831"},"_hasShrinkwrap":false},"0.2.2-beta.2":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.2-beta.2","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@appworks/codemod":"^0.2.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@iceworks/spec":"^1.0.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@appworks/codemod](https://github.com/appworks-lab/codemod/)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@iceworks/spec](https://www.npmjs.com/package/@iceworks/spec) check your project. \n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@iceworks/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@appworks/codemod](https://www.npmjs.com/package/@appworks/codemod) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.2.2-beta.2","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-WEOwoFRJsSlG4NXseOEYC6NN6gPMJjrkRFM3Ih3z1yhWRjnObHOPdqjjmgCN2Mw+cJvAmBPTwdIRRF+omZh3VQ==","shasum":"f1c041046ccfdb88e7989290899295701c07dae2","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.2.2-beta.2.tgz","fileCount":49,"unpackedSize":59794,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAhWJCRA9TVsSAnZWagAAkGoP/jVhit4qCEGAtf3xm2KU\n9i1hcGu2nTU53TQJFM2aIxTU3UIuZzZAy9Tl2s9AolY99SzBPxU3OVUbWoPK\nid8gNMXqyirNWw4sU8pKJWf6IhKN9xnUQmGy/T7EDo1jrkmAOTfqV9NGBM1s\n1BZqfYiv56AN2kaxGeowm8dGNJufj9eI98BeX4WxRIimrCGeRcQZLuKrviFf\n7aO32fN4zDHOFFALo/aiCmb6AIQTpe5cJD+VNbumSxDexUgXBifqdsrOMYMg\nA3sVCvK/p9kbTpVuViyB8fgFQfK9a4b21etE1guE1d7fKCBz+xFQkD2MJOpf\nPXEQlZGKt7fBIlBMCWthTLHREI2tdfx8MBD/mZfXpbZ1M3TIvRe9o6rZDbob\nUbeWduRGrtE8GPKslS+uC0Gse7FojyvvT5FwOEYRPBPj9hp5H1zgSvvDJ1os\nrMzJvDnKSY3RJdNijlQb34j5SmwhnPvE2EkTLBRYgnM4+7zxgyznbT+OEeqL\n5XF7SLTy+nOU5pfNnmupKIlnkvcQHtI3irUI3cLhMuuBd/zX8Rg3SSbOWbJF\nuTS8uaFbtp9BfEoe+yjqyM0l2bcscsUUd4jqbccVW7z2VPt8oynbs5DsGlkE\na0Gtct8FNxkPcTkdY8CmavA9c0xPOZBQqE3D2k2VqRmbDR0MMz+rGk2FWJ8V\neEGw\r\n=jgny\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDszMMwXJQbEW0rZK4ukxoXjBENxP5IDdz1JnBk+SG2pgIhAMFR59NRR9Fdc9CijC3CvuNKpmUozWlap7R6rSU/Ze7Z"}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.2-beta.2_1627526537173_0.9533794807441789"},"_hasShrinkwrap":false},"0.2.2":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.2","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@appworks/codemod":"^0.2.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@iceworks/spec":"^1.0.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"_id":"@appworks/doctor@0.2.2","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-5IwsNkya5qaWIRXm7CEcddU8xXSfu7mnkKsC4rhz2b+uo5Uo9SBetciLch1iYNgVMNG5+ZPh5t9jgg0PuxBDdA==","shasum":"23b00434cb3ab6a46db90f57681fed2f97b8fc61","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.2.2.tgz","fileCount":49,"unpackedSize":59788,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAkX0CRA9TVsSAnZWagAALG0P/0T+dAvt65xNvn0JRwzG\n9CcgLfFvGd6SHL7l6wt+Fls6chf5RkO6A8MsD53yu35IamLbAngL/RPkOMQp\nrShrx6uOD+vxy2pizAOFTcXesDYRRtPP+fjH1z5ZDSMn64FW5Ea59Yu3Avtg\nDOYhCow3x3wxuLICeMOR/cZpyub7R355dtNoyCQqM8GwLns2kLGNl6WXbE+6\nTGwoHwt3x2JpwSEg9nm+xBYYz2SwcC9uB20C3PZc08CYMfrLRTwEwr2xqhKk\nAuWNHp51uzdCd5rPd/qYBsmpq8q/TbMwEg9IgydJRwiW+y7XPaOyFN54ogQF\nJcFLviWpzihHr231C52jgNygaLi2AJkkhpkQrRup08EKsnYmehPfPiDiRiov\nAEFb2TLp0Q5wj8Uka7xGN03twdMKm07MdJ7sMhfBJ2XPFWuBtfgdvN+Qdg8s\npFXi+lGAofrVLTxva9itR+BF/n1IPup0Sm2my6Kp4Bzu5JzkeI1Wxsncb8Sf\nsr0BFShEbl4ic8Zsgc4gGIDqI3GNxzvr5YAucIZPP+Q3910pHebJirjVXgl3\n0Ywxs8IAzZwnMFpsp4cBurC/wWAURoCXonduQ6gaOWBI5djCufhu8lpwPg6w\nAlH78th344GuFQgcc9xRRzViaQodikjny8ipZjgI0N5VzqyRPNOJcmybJ1Uh\nH7e2\r\n=hG9K\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTidAYhi7/PVLEQGM6FO+VhqucvcThCm2ZvdQ43DgNhAIhAPVAJxDxDlOHMhugQfCx3Cgne6GgbIhW24CxhN9ozkaS"}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.2_1627538932760_0.8722521144199782"},"_hasShrinkwrap":false},"0.2.3-beta.1":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.3-beta.1","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@appworks/codemod":"^0.2.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@iceworks/spec":"^1.0.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@appworks/codemod](https://github.com/appworks-lab/codemod/)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@iceworks/spec](https://www.npmjs.com/package/@iceworks/spec) check your project. \n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@iceworks/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@appworks/codemod](https://www.npmjs.com/package/@appworks/codemod) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.2.3-beta.1","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-4T586x7Is6+0KB8sI7fv07747QDARRHWSQS4i8koDYtfh2gOYUd710dxcNaDnwwI8Pe7cMf64F5vXXXPIREL2w==","shasum":"23ea601f4082f59b34866396ab998022f7bc72d0","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.2.3-beta.1.tgz","fileCount":49,"unpackedSize":60046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhE3nQCRA9TVsSAnZWagAACaQP/j/aCVSiJFeiUzrLMByB\nP5zm2+fn1klUy0ZA5tprpiSTO7Ly82CozFEny6x076BAMzvFPw312N8d4QBJ\nOTPvbyeFsdUVji8/xFGPtZ8vC7GP+PaxXdruGRZEDZQIwFsJ9l4tE+pkyyFc\nH0nPEx+OR6XXR5ZeEbfto1FsCPIdqSw+8Wl2XLUvjAFyycweoOYW9ZKlBa/9\n1e0TginrxMXl+a92jRPC/pjTxo/3wF2zX6pG3WrtLlUI19YtXjRzHnJv8rjr\nqGvpK7VJpHCv+Bp/6r5wPUh29RV5jr6RivrqxaMk3AAQnPhMHYXamInBGlS/\navn8L54qzpLcWGYD+hT7UVHbe7C4B/t3QcgBHpVn1rx7llerQxitbFXns73g\nShZ2BmLPJYoz0yoVQuWlpA59Uoktjt8CvT9jxRszULCNKOVrNAMA/lcNi1qy\n+YUu11wWo9QWNcc2z2D7B5dpGSLTwI4c9DZXogZ1fN2RkqnfgIMMsTa5b9rg\n0IT/ugUNrNzEk+P8IlwSpecRzEwvK49u4shhObzrzFYGJ8xWzvpSgnNmItjs\nihmNVoUu7GCR+Bau4+7wy+p8vdlvtI5zIVyhaTGJXeitX0jH6rSIoz5NCs6g\n5CuDh2M/fdLpQW0hRMh4vvFJWeZuhgXoGo9tagAlsmCJ0lAkp65DsikUfprG\nxydj\r\n=Nh6d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEuVvYLhCWs+wI9g/12/8iTTlXkLOkxSlx9P+9V4wQwYAiEA2Qyys8Jaoj6bJOJ+aqWX1NhigIvwYIrbrzUg+PrRoho="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.3-beta.1_1628666320051_0.32277089341615883"},"_hasShrinkwrap":false},"0.2.3-beta.2":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.3-beta.2","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@appworks/codemod":"^0.2.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@iceworks/spec":"^1.0.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@appworks/codemod](https://github.com/appworks-lab/codemod/)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@iceworks/spec](https://www.npmjs.com/package/@iceworks/spec) check your project. \n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@iceworks/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@appworks/codemod](https://www.npmjs.com/package/@appworks/codemod) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.2.3-beta.2","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-bBPniMc25PXychvlhZ88g49/k5/R21mZuObanVvE131/lzy7SpJDxqEMkyN2o96MtCH2dh4GfGZTd0bnVxANjQ==","shasum":"68c6f8030ad4ff478aa20fff109fb29d19e9d0cf","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.2.3-beta.2.tgz","fileCount":49,"unpackedSize":60046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhE4lhCRA9TVsSAnZWagAAvO0P/RbPSm0I2vIBkC9BAfKG\nbPwFfh8yA0i9BHeubApB3KWcCYZjAKvzs1ay+Rt1sjxfzL4bH8VHuifUktnM\ncORmMgwDO6ACNFJT68X+G0ReERY6wWjq4xAAbIovkARLXG5VXiv9gC7OEDZp\n9lZOxudTXIhjwjmgVUVbwxQwS3zpB8xK6TFpAIglOvHQdnM2SVxTdh/MRvWU\niOe8hgQwoK3KGv5ruPF4GGFN1P8GIs0pcBIRAGIXb0tUn+u6ylc/TLcbpbHV\nDG4VOZACzkK5TSn9ZtdDsJLmQLj/GdQ3mBHrmqr0CgV1atWOGvxL37B7KYSf\nrMJ15hOOjk165f+zc2HQdcd5MikuNpIHPgdVA/LkN8yIZ8Yln7XC5xBYix64\nBYOe52SpeYuNGgiPGGalpHY4oE0FaklAeETyVa6s2bSVh/6oEVvvqXNZbuVm\nbNN+R07O1fgOrS8IjeVOI+nhnLAaW4XB7GBA+TyjcegWQ24PyQPv1pJm6Zbl\njLvaxTn3Q4oxYOp5IFuI6nFSNESplLy6uZGX0itxBL1M3Npq051r14hhT5AH\nYQAKyULFozHmc0LXc/eKpXW8oS/AIlo/KK5Oxc9UDd/RNsd8QLau2/Jfe6qC\nIPtsSRXV6ARgZiD0ZDazH5sE2tozbt50UpGhomSAJnGU09L8zsKdOPoIETxd\nugHR\r\n=goFd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcHAHMteJqvJyYDXJt3gWWrLiJSUogcSt2Kd40CkKE3wIgTBag90itRVlMo1Dl6yF+5tw5Tcl0NOd2NDD2SDpKTZ4="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.3-beta.2_1628670305029_0.32628416684142225"},"_hasShrinkwrap":false},"0.2.3":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.3","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@appworks/codemod":"^0.2.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@iceworks/spec":"^1.0.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"_id":"@appworks/doctor@0.2.3","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-wYjr8zSUuHos1EzmNbmB+RWJS8Lk1PLBxOEqbw8yur9VecRAOpUfKKM8Obk0zoX70TIvdxn7CEc4JbB4QrBolg==","shasum":"b698885ff1da7eed10e6a752133ae79e87927113","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.2.3.tgz","fileCount":49,"unpackedSize":60040,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFNBYCRA9TVsSAnZWagAA7KcQAJyY0AKvMZnGiLIYsaQN\ng6xYt8z8qRlzBXoa3ZrAGwUE23nYhkiHvKWj2Pz2z2ou3Ztjn4K21N9MedI4\nmDRW6IswkUH4YVcH3cIP1f3uDzBZ7D0fUPkm3byABPlVqADMK+zjOuglyDOc\nhosnf4ay9ZCGQaHn0B5/lSjqmmQxJSTWZUTjtr/K1ycVLfOO3nXSb8rr6dnV\n0zBZbCYYi/u5OlhMsnhL7Hbm2EsXPFY2NqILY62nijN7ByHMTF+Q/+98Uevh\nKvDhnizUrKwJZ22RbvztgiqXot+bkpB41Ty7qpAjA2OypYIImxZnzuOm6ivZ\nP66XKmZ3AII+h6TcCT7tNLRJwL0131lU/P230Go05oDEMTZsvRV420DM2B3M\nY5UwMwVxHc/tNHnYXM2eOT2UxNEJQ8/ohGl3atEhXbYTQhvMuFOfqhD+EAbm\nEyKrNXw2eHGpZ+sjoEnQfn3dp7aH1sWoRvRk+z+oZ6JURMLf1LkoMGC6ejQZ\nKHMor7/FE1/HH2b9n87SnzjpPG6b1JSvoiUiQ2eBnK4eYvndcvwAGqP+f8s4\nvdbtQLbpWO/KMFZzEConYQ3VC7PvZc6fiO8dBvOaPnv4Viic7sbwiuLL2FpD\nripgCbcK0Nu7YDT8TRMVwsxYyZ3fd6uopKf0Gyb9bipui0EHPTxEzNE9M5V7\nlOhP\r\n=Dfjw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCud1jetOkxLDV58aAKfwq7pvBoOu2bJYfZh4662ML1BQIgWe7t/tUVwkeffz5bnABPUb3KliE/oV3yYCWXYvjezGk="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.3_1628754007914_0.6630639573828758"},"_hasShrinkwrap":false},"0.2.4-beta.0":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.4-beta.0","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/spec":"^0.1.0-beta.2","@appworks/codemod":"^0.2.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","deepmerge":"^4.2.2","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@appworks/codemod](https://github.com/appworks-lab/codemod/)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@iceworks/spec](https://www.npmjs.com/package/@iceworks/spec) check your project. \n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@iceworks/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@appworks/codemod](https://www.npmjs.com/package/@appworks/codemod) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.2.4-beta.0","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Q/THsVtPf3duJ1TaKbgvbS3IQEiPwd/6kxq9BkIaNt61EP1AIt+AsEhZ61t9Qd9Yp8XnYmtomYvF8XhXyXDnPQ==","shasum":"2f55f5755e4b3bf0c0df1469ae3e42f0b003b3a6","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.2.4-beta.0.tgz","fileCount":49,"unpackedSize":60201,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE+E5FD6bnSTbNAcu9wGjw4D5gShN16+O75UapMY7NRkAiBl/CdcPxQMxKKxRij7yYTJ5dWKwOxBDT5LZrr003dbIg=="}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.4-beta.0_1633697615031_0.653400941330176"},"_hasShrinkwrap":false},"0.3.0-beta.0":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.3.0-beta.0","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@appworks/codemod":"^0.2.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@iceworks/spec":"^1.0.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@appworks/codemod](https://github.com/appworks-lab/codemod/)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@iceworks/spec](https://www.npmjs.com/package/@iceworks/spec) check your project. \n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@iceworks/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@appworks/codemod](https://www.npmjs.com/package/@appworks/codemod) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.3.0-beta.0","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-vXgEqpOvTt6rSb5evFFpQ+QAdT7mb8L3gmUTPfNSIdYcogeRtw4CIBMJsMvYp+9nZwCG4iW+AMyCQPIfx5CwzQ==","shasum":"a12b6becf61d8ec4e78844223fab9dc510eb70d8","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.3.0-beta.0.tgz","fileCount":49,"unpackedSize":65263,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGH/pa+0IgW8JlyBz0qoh/FLf6sm7G6gRAris9rISx6YAiEAsjT4j7kjIQHzY3Qljarcm8yLOouB/RHiGHwl6ka8iFM="}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.0-beta.0_1634560518415_0.4822488606638833"},"_hasShrinkwrap":false},"0.3.0-beta.1":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.3.0-beta.1","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^0.1.0-beta.0","@appworks/codemod":"^0.2.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@iceworks/spec":"^1.0.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@appworks/codemod](https://github.com/appworks-lab/codemod/)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@iceworks/spec](https://www.npmjs.com/package/@iceworks/spec) check your project. \n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@iceworks/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@appworks/codemod](https://www.npmjs.com/package/@appworks/codemod) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.3.0-beta.1","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-YaB0dTL4G8xkBE03t3T3fE8XmvcAOUyPaMZwbYBQWaCG0YMB82s5b6wek1aWkrd3kV5KuFAirgzOJDSMH57e5w==","shasum":"421a463b0b69f6cf580ba40221642f9ca135a82b","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.3.0-beta.1.tgz","fileCount":49,"unpackedSize":65304,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDm+yb0zj4KRJQvs9FbTtsecD4d8NjeYCOhTPB3/7FNgAIgGnsoCUq6SrVlCHit5Xe2exJzvNmBL1edMXTq4g8txu4="}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.0-beta.1_1634890470495_0.3294498459251929"},"_hasShrinkwrap":false},"0.3.0-beta.2":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.3.0-beta.2","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^0.1.0-beta.0","@appworks/codemod":"^0.2.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@iceworks/spec":"^1.0.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@appworks/codemod](https://github.com/appworks-lab/codemod/)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@iceworks/spec](https://www.npmjs.com/package/@iceworks/spec) check your project. \n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@iceworks/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@appworks/codemod](https://www.npmjs.com/package/@appworks/codemod) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.3.0-beta.2","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-qU4Or7VZ9reXNfO++E7jXAEkN4LEoYHn7QYB6TGn4Uk8vUbNH+zwTX5NgamRNTb88nFd++IZpBBu7MAu9vfdhg==","shasum":"1d44a9965e07768f17497fa0d8a33b33f225e54a","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.3.0-beta.2.tgz","fileCount":49,"unpackedSize":65603,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCX2A6YRZUyfaRnyXZ78cBL14CtCSnsw8dUFUKZhQ9q2QIhAPjiMeP3p4Vv3DFCyc2sIXv1Y7VmqJwsYxbvGi4/Tjys"}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.0-beta.2_1634898691423_0.35944426919324557"},"_hasShrinkwrap":false},"0.3.0-beta.3":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.3.0-beta.3","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^0.1.0-beta.0","@appworks/codemod":"^0.2.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@appworks/codemod](https://github.com/appworks-lab/codemod/)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project. \n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@appworks/codemod](https://www.npmjs.com/package/@appworks/codemod) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.3.0-beta.3","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-qF2y64kUJ5RRIpyd4IoBlHcf6X+zYeOurbLesstibAQso+FE6Ffb2w2zhrf9erBWEAIOCb3ciIVRTG/SnqIvqg==","shasum":"411960823c4e217128e6759456deea8792f80196","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.3.0-beta.3.tgz","fileCount":49,"unpackedSize":65568,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHscZDLdDYDp4v+BjppFsIsUiVRQq90zWvtVbg/iaqRpAiEA4yqCSdpL39O9A933EqRA+BHIj43K3C05z0i27pfuUvE="}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.0-beta.3_1634905025244_0.28963127191948224"},"_hasShrinkwrap":false},"0.3.0-beta.4":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.3.0-beta.4","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^0.1.0-beta.2","@appworks/codemod":"^0.2.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@appworks/codemod](https://github.com/appworks-lab/codemod/)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project. \n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@appworks/codemod](https://www.npmjs.com/package/@appworks/codemod) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.3.0-beta.4","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Gvbl3d3ofPE0UDofSp+iZnoTTdFEAqozMsviveN0tGkfIeCsgzoGQFxdMTMyxACSfKskvtEJdceJkzfffL3xFA==","shasum":"884a7e135b36c561ad9e109af38bb287b9f880b6","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.3.0-beta.4.tgz","fileCount":49,"unpackedSize":65269,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHKRhbyIrw7/t4qpGM/wlRfdjeEGmMBj71w9ydM5KZH0AiAw+ump5uaF7k0UKbTF6aSQG0o3rWxH8/PPjLnvrm+G+A=="}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.0-beta.4_1634976980570_0.6825903219508167"},"_hasShrinkwrap":false},"0.3.0-beta.5":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.3.0-beta.5","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^0.1.0-beta.2","@appworks/codemod":"^0.2.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@appworks/codemod](https://github.com/appworks-lab/codemod/)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project. \n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@appworks/codemod](https://www.npmjs.com/package/@appworks/codemod) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.3.0-beta.5","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-/PaHScbGrQvP8JA39G/eWTb+qW1pJ6NsXvTSLjIuLA99FN1WwA6BDvIgoQosUcSwxvo+qMdAypx5IfqxAk4Ixg==","shasum":"0b0cb592be6d18cf52a65a23106f58463f3efa32","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.3.0-beta.5.tgz","fileCount":51,"unpackedSize":66464,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCaxR8EXGDmW8DO3NJOergz3OnviDJCiGuYTbraWKUcBgIgcETlIV44pC4ObVT3kLZZuu+HOet12176/afM8kGn/Uw="}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.0-beta.5_1636025922361_0.20890474639750667"},"_hasShrinkwrap":false},"0.3.0-beta.6":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.3.0-beta.6","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^0.1.0-beta.2","@applint/projectlint":"^0.1.0-beta.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@applint/projectlint](https://www.npmjs.com/package/@applint/projectlint)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/projectlint](https://www.npmjs.com/package/@applint/projectlint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.3.0-beta.6","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-3pfz17ShQS01S4j62PmhnWk2Mtac1l11WBQ5i4FG1Jk4SAvmk6jw/O8HntpcbJ/3w2iK7O2RCIYhXPe6AWO/Ag==","shasum":"992a4e50c2e3978f509496b121c194fcc4f23c44","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.3.0-beta.6.tgz","fileCount":51,"unpackedSize":66503,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDB9cG/Dp58131cFDb65iOivM+Ze+FNq30ZkIIDj4awfwIgN/jZPMATMmJzVUgEF/2m2My2XCDt6sFZatEYhD0PQZ4="}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.0-beta.6_1636026120749_0.6537265548025417"},"_hasShrinkwrap":false},"0.3.0-beta.7":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.3.0-beta.7","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^0.1.0-beta.3","@applint/projectlint":"^0.1.0-beta.1","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@applint/projectlint](https://www.npmjs.com/package/@applint/projectlint)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/projectlint](https://www.npmjs.com/package/@applint/projectlint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.3.0-beta.7","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-bDNMJlWJ6GHcpy+VY9RKHdK4AirXup1TzmPWxXz/C9YdJTObk51PNv6nDNaO624vIG2fov3NpAxULfH7hws8lg==","shasum":"f6c261adfa22443140480d39d8b4f5d5e84bdcb9","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.3.0-beta.7.tgz","fileCount":51,"unpackedSize":66503,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXVhP821p3QWf9WC4zdbQ/DVYNrbvPX+SHAtG7FzMcjwIgaVJbw2gIJIykS7RksVGAadB8Ykah7Puo29MuUQkbVCw="}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.0-beta.7_1636079706026_0.6947565122369077"},"_hasShrinkwrap":false},"0.3.0-beta.8":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.3.0-beta.8","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^0.1.0-beta.3","@applint/projectlint":"^0.1.0-beta.1","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@applint/projectlint](https://www.npmjs.com/package/@applint/projectlint)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/projectlint](https://www.npmjs.com/package/@applint/projectlint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.3.0-beta.8","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-ZNqdQxcTLK2F5aNJT8c1ocxGy2bareBZgiSME/+Yu81lSVh1iGKbd6qjmbjgtxdEuKE9ZTB2srD9QIovTlyKAw==","shasum":"28d56678d43084ab37f5ec1509bcd34f572595c6","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.3.0-beta.8.tgz","fileCount":51,"unpackedSize":66442,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhniSiCRA9TVsSAnZWagAAxIUQAJLRx0yUlgP9Ay6PTj/+\nq8oErSp/LHmHx28rp15KdaweKYh76hSkGwUJXB0yRZFCIfbQEuxaRICpeNF3\nMfcpuztkj2eNSw6b6tpeXqVszNZ7EZ7yjLI7VDbtTJ39VUymX8DpryT5x592\n57P4/eJ/EdCZTiIzRwlyqLsJbI6Y8zoRwO9lZAL73FMWWTaTRkVxdVSCeiit\ngtwNM4s/nLcEV52vhE/MUqC79b74lizVLEjR1C75dBm2eUpM6M7qxFHfOOE/\ngbn+9JnnE6XWsBq0F8StUFPieMfSTA7RdVqq91el0jeTShszgT084sXFS490\ncFCUSTcLBsS3qOL6tzDbgvYPEWA9CTunTvekz7CYQJsxmH2Cj4HNDv4BwWN8\nw3VTsu/0SHTEAiwcpaS9jv5acAqzohlUrB7MVKIjd8MUw5mWgri0nlj62LKT\nYV7+KGcGZZGD4cW+Y/jv4F2rRotZbOjNZRMc3lKHQ+IkllLx0soJmbOs9Nmu\nFuyUnE2THW/Yg2IVgIPJqyArStVGElSJAlX3LBlzlE+qn949Rb/YpP4lXk0S\nqMqIKLQf02SAiIp89rkQ9dRBSx/5St2UYe70KV0n3xbgTcuXsz98PXSEtJwD\nCf673ZAy6Kzifm7qgG00uGXUrq5X+T8Hb5LDpllEwDSrqUj5kYDuoY46+D1J\nLgGl\r\n=wv8l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeZnLgJjamp8QM3GzZwX1iLczemWdKetIIxn+RREBRsgIhAPycLvAKcA+AiokfVWB+D601xtWaF5/V5X2XBor3A6Wj"}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.0-beta.8_1637754018607_0.26361832408014085"},"_hasShrinkwrap":false},"0.3.0-beta.9":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.3.0-beta.9","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"latest","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@applint/projectlint](https://www.npmjs.com/package/@applint/projectlint)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/projectlint](https://www.npmjs.com/package/@applint/projectlint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.3.0-beta.9","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-dVSKR8P3Tt1gQy6e4Vf+0/9PooaSs4lLVCHEnhPW7z+11YLDSm/59Cj5I+vMsBxVd+EDjVxA/CKQS5tFugwtcw==","shasum":"94b5a75b3920b1a14fc144e82bd3c37b6b4616ed","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.3.0-beta.9.tgz","fileCount":55,"unpackedSize":68769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuLmrCRA9TVsSAnZWagAAPA8P/27BiDS8Dh3LCHeG2E3d\nal2Jfj5ArIwhcT/G91KWMOpMe3bmScXVtYMw35WNvARTcuA2cs3zKJYYrUhb\nIseME2uB/dTly0amkync0WVuaaW/ZCRFannYniVtwlT9/ar6KhEBj9cS6zCc\nS+gjoYTzBUJ6XAhDuXjyT4Na659MdSkxciZ46by6DRwqn0mCjP5eNo5q6XqA\nd8jqFSgBBLVqJbwTjWySaCe/pNQgO8mFPonHFRc3zW/C9ckMOaNhBxJBJxDl\nSFMqRe1NParHIozzL9AjhXpklhsNfYKqvMriKL8awctN9qE8R/PWtJuCa6Dd\nH8BQ0ScKVHGKKqh0k9JMxyB2Db5klIauMgoak8HaeeoB8e85nrkaf4hUfNwi\nofpLk2eDy8eDEVuI0xGSrJhXx5oYonCn17dVaKbk54ry1YpJESZvjF+OyYSQ\n3Z9Oq2qx/lqgDxkGeK5sY96G6oGLjpJW49mRtCpBW3ClZJHflclLEnephlkW\nbLfNPN0fF0Ffeqp7ReGRcAuXKy7o43ccVrplwv0bzBEzmIjTV5d8BCfFVbsm\nepI7c3XGYz5t7FonOskuz/jNkcRErCfSlXwJKnttLY8CV5Teyu2MX4yoYu2s\nU0jemLFmf9u2TeqqIK7OPwDt+AYzK599bJF8vyjlSk5zkZW5f2Wb5t84RVLI\noDWQ\r\n=K5HW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJQPe+Myi/qo38z8HqfXacCVngi0cNR5gZW/XTrEmRSgIhAKnxkIn3HYYXZzuDKc/bJ8+Mh2sOe8bAwDjmlELG3Dgd"}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.0-beta.9_1639496107745_0.5623649248340097"},"_hasShrinkwrap":false},"0.3.0-beta.10":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.3.0-beta.10","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"latest","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?);\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* transforms?: string[], you want to run code transform keys, from [@applint/projectlint](https://www.npmjs.com/package/@applint/projectlint)\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/projectlint](https://www.npmjs.com/package/@applint/projectlint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.3.0-beta.10","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-k0SGBXW9+wcHTLMUA4gFli8QVhS+ydmdrDQGjmmWrXoBsMlM79sjBbpro1MmrFxbTbZWz3ruAoPNUia+KHalCA==","shasum":"7519cacd0aa4a39dc142ee046c47a0d8e87519f9","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.3.0-beta.10.tgz","fileCount":51,"unpackedSize":67019,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuYANCRA9TVsSAnZWagAA83oP/iFT4cJFgdfDCigvfYnm\nQrb1ZubcZ91olDysEAbIaEIc7y0incBK7vAOW/cJzjGoEHDOvli4ZBSyo5/E\ncaJ62Bf90NB8F/JL6bHAC+/KR5cjh7mc9AbHQ7pEramrFk7Z+Xbnact+pdq7\nm0QcC4YRTkqqtC8x1/5UY9jGL0BaH7lZo90NxCBhGa55aXpfKyqyI0Drq8/r\nnDs8utkMZTjUezz6yQYHWzpHU5bC9BUPMnTWvO3H/EkxeOwQJRw03Y+fMFfQ\nU3VfIqnR9aAC0iYeDum8RDOFZQ6P7zbdbEYj8EMTHiYFUm1QhMaT72xd9RWY\ndJ6jXezsxXqs0tvx5Gx5k+3sRknyKiA95YnLNrqlc9YCt0OPw+uQjJ5pw9AD\ns70FBHOq1iN1bWkWBvhvWWuBK9FxpNqwEekGf08kL1PnrKFTE1ZpVmqiYuhq\n2Pz+X6SccrqckiQCpp+liezWlgY6UTam1Joo8sRT33qESjOJGNOLPwO9PNus\nP2SrteWsBHneS9W8dr4ei6nVvurnAMrqVOJrDKLw+/DhpF8aJ6FIj/8zXynz\nOQLmXlFOoe+H5MBe06MHTholzT71EeXPxxi5vt3g7v6yjlI2ZDF+TTwqGmUk\nx6lJi7H0EyZhNXshu6Ds2nKJhrffOyL+N8pX4uwpvRloHSaMcYiM6EWopaxP\nKjAG\r\n=8Lkz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB4esegsznFUe2IjZCZbrcD0On1se7WNhp6kFchiLyPQAiBHZbpN0A2g08QviZM6mM63oyaLJI9aEo7hfWFUEkwC7w=="}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.0-beta.10_1639546893774_0.01295720196132688"},"_hasShrinkwrap":false},"0.3.0":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.3.0","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^0.1.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"_id":"@appworks/doctor@0.3.0","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-9d/kocxmj7RaZ+//4HWp11qlJUWjQRaJCu6iO540q7/JaVPDUXTWR+LcBPHZAxj7ZeU2ubmq2S7Qp3SbJIbNYA==","shasum":"5b6b6ea80e0bf6bd281c78fb5cc9e388addf9e24","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.3.0.tgz","fileCount":51,"unpackedSize":66564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuZhKCRA9TVsSAnZWagAAbtgP/2o1Cx/pHlHie1fSYnCq\nxjgV1NJvRMxd3+CYkvK8a4FVfYUOq8roHqxnMBKoufS/XyQZe9G0h6FOfmrg\ngKRULOxdTZjRtj6YMOfpvBkYN2dSc5LooiGdiOxCD5hxi/8eQPSbb6qij/Me\nOGdl9W5YqgmnBvmNVD8pHk61x6P4pzA4YQdbj6wvzpUQ3jsJydRlswNOrWT0\nh5n71AoBLLpvN0DEAljnPNoDHTfV3ikvemwyLZeoVfJha/RKNLU46zXWOj4d\nr++FX4WU/DL+4YwRypuBy9LOnnJaUfYPR+lrgHvngodtLNBQWcWdvlZAgUwz\nDkXGOHximg3AkQfN2SJIy2bxrV39/8n5nzDqvBg/Q27rSd9w6CA+30vP0g1y\nAm9QqufrTXLltiZkepNc1bp3zuGEBmeLioHgiT6tFQEUkDfTIz6hpIK88JNm\nPXI4ni7PDBbjm5bZQXdBg55Sp1EBXxFg46GYGxOBHT4jAJUsUGI1RMN9pwr8\nv2ZjBOH9rpZ0OiSYUIc1ETTl96rmZZrVGTi1+XPxCBJezFyZBPLHakrpFMRY\nmd0kcBYUeQjWg1RLkXkhaVuQMYSvLb7r8LC0hBMdjt2bzOGUHW/4HTC4uNnD\nsd1MG/CHbVOClU1DQCptq+R038d/ea0mnbw4prrabfqfShEBfI2WZr8t0uCv\ndgmR\r\n=kCmI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3wtlVI4uWDt6hioRMqpwx4Q3eXckKHt/cWOfilxGupgIgcvnHpU2ont/u01VZW11yIUZrvFbWclrx2I3HMOGKHAg="}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.0_1639553098024_0.048440799915535626"},"_hasShrinkwrap":false},"0.3.1-beta.0":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.3.1-beta.0","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^0.1.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n\n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?)\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?)\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/applint](https://www.npmjs.com/package/@applint/applint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.3.1-beta.0","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-cUK1MEccmhrvjxnq6G503JElOZIV+C8erFh+0v1B6qiew6dAxVSKnkvG+EoHPgJgAnMGDgYJYsk9lkG5ApOVdA==","shasum":"5a4160d8254866c71bf8bf70e61f532f31874260","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.3.1-beta.0.tgz","fileCount":49,"unpackedSize":64808,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzFHRCRA9TVsSAnZWagAAM4UP/2gPC2KVDByqNXtt0Tpt\nj266Fj60i+SCc05Qk8ZXuUH28ErJcP7Hu6mgcQZzv84teYZkqI8YxnddLCRI\nbVNuxUxVEIP+hFsstl9YZPFphL4yraTYWQxg+kBPDi85uetrLVvyt/eLL+sh\nseaY9ePD8pW/TPgKnpr5e138jbNWQFpAoGdRvtVsTTIj4UO7Uj/Fb4RL1ZMf\nEN8h5drdBLSKP8D/pNof5JyPRPbL9UbkKSU74u6oDWu+ecWyBC+yyQVZ0g2v\npf8C653boiD0sH/JXRPkCAajB93+U3QtpffIL9A/xFzPGWBu5W6mRuXopBpN\ney1ePH4b/FPPK320+YXOIR041Tn1dFRC2RCnhUTY8XYtoLg2nFwiuTkBkqMX\n0DQaHNeT6CWVEy4qLUE7tF297y66Gzt5xoXkKl4hBBXNnA9umF1W2q2BiVR4\npa6Hz+yFi4swlci0KIFYOqLBD28QAMOUFfL79Ut6Nfr6Xp4u2g9D16mq7QBW\njYjMRI7lIk5sHU+INEGGA4pDvSJLoaqtuW0xh4ygQAzzfmoYwpRseFKOk0mY\nfOAGoiRGCoQR0kcGaQQLM5J6sj2TbF5VDlelCrqFWzaqyBdRD38tFgoA/erP\nkpAxHXzmcsJZeaN6JkYfgp0Y+/mtZKGbaGdvCS7/YMYFT7PWStYr/rn5fWax\nqYlg\r\n=ezMS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGmC1Tr2E1c24RCOk5xY2Trxci+EBANiOcfrhclYYz10AiAUs3EgZPuD9dy37vEGuzI6nPfMgsnXQJAh0gr2ZeNSAg=="}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.1-beta.0_1640780241395_0.019026854735042065"},"_hasShrinkwrap":false},"0.3.1-beta.1":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.3.1-beta.1","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^0.1.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n\n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?)\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?)\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/applint](https://www.npmjs.com/package/@applint/applint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.3.1-beta.1","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-tPO8UlDtcSBbDsCWaJRPSpIT3ODMUzaKu3wwIxqv4K8c9TBV1Qm4X0cmPsemuIOP+8zO6Ze4Zy8Ug+6qbql1Zg==","shasum":"2cfc5a182e504347fde90f73fca00b5b68517f1d","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.3.1-beta.1.tgz","fileCount":51,"unpackedSize":66994,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzSybCRA9TVsSAnZWagAACV8P/3Jc9NIfWbGAL7voMAXU\nhwH0DT3KTakdnEmdWAE1/oEczJXX8DfCW9miozvf609PEhqcNtjsfQkz+OQV\njOqdbaA537gTOwwnzzLnDqGjlRaPh4yG2VlS7eb7mtHq5W+oJ2w7IJwxgdQ4\n7TN09xVuMULTEO+Ln69Nw03C5BMkWVCjAp4CnxdU8rqRynjgy+ZDsv15XVOs\nS7v2HpcPdRVRmQ9dVAdztl12Hb+xgu9Q7sUrPUD2169VKi08uKXTksfcwcbJ\nCpuqsdou+f7cmRhkQa9q79d9cDDAy9pVCIFv8dzXWpCej2AhtGgDe3yOfq8/\nvkumMlifZzJl254hO6d5OiNNoV+RM6rrdk0N7R7vY8k2q3DnwphP7P0K9Ny4\ny56e2+WAuNAjCoIhpTlwUj9y/MdFS3HGiLxfBcAnvcOX8PpV0L0IO352Ap14\noufKrF1McDvUsoVGGnMBfVVdYt0cot0R8KmXJhhmJlP0yCjISfuNcWatRcn1\nKh+udS2tsHFOPQCK3VHJTt2TuBpeIqdFwp06RiiGGrJaEevZ87eGkp43Nl1Z\nylEpJ120FPWWCku7fb2fT4dpMhh7LrTrIHRLK+9sbM83BnEoD0gDHxSs6yr6\nzlfS1IwbrolKmEc8fzVnDCzpNuMUCgXIb/2LMonFAJR375gFjQOvPJ7/aTpL\n22d0\r\n=4f+a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDut9CWCm1s2COQ/n4+oq4OMm2NkYniqiNsQ4XxrYgxSgIgCUk15cIxrmLcoOaqnCXarG7wzdx51Dj6ArnVLtxGSHA="}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.1-beta.1_1640836251781_0.6562737355493311"},"_hasShrinkwrap":false},"0.3.1-beta.2":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.3.1-beta.2","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^0.1.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n\n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?)\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?)\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/applint](https://www.npmjs.com/package/@applint/applint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.3.1-beta.2","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-BJBy0lRmIa5WLV6GSumql/L4PrdOADJfMknq/4UAYzTE4QAdxuNnirPXlhMqz2SeoiN8rDgn2rzwb92ivfjl0w==","shasum":"7d411c837f18b17f11bb8ed1a166bf236e75dab5","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.3.1-beta.2.tgz","fileCount":51,"unpackedSize":67054,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzU3CCRA9TVsSAnZWagAAsHEP/iZqtWf3cqhbSU9prM9n\nE7kTN4IAAxRG1ZQ4nrGQ+RerD+GC5K2JVyNJNgxQrKNHIBJ75pG2Fl4yDAEF\nMAu6JXQQzUCNrnO+cwhBnc9Fy+dQiWIXSWncGlUwXMGppxySis9HgY1embCy\nSRMgST3Z4KHAMT+BLSfARYvMOBw+i0Ys24hsk8LdGia2sA6S0xpwJ3o1Xo6p\nslPyrtWDgvEVowhUH6TfhlInbyKtY9CBga0jeSjWlu37Lg9vLvpkcm9JJNtf\nLQIBlTRg1a+Z1p5/pKAOaVHFAtz4mL2NX/nCE9ekqHKUYjIvH3TFGk9YLCZC\nFFQ+imXcraYHAdWNrqUztBZytHayP+dDjxGJW3h4Ev45e+lPa6bTKVqUnbvP\nvyKeyZgSHQyQOsBgoTeZXhbmYw9xZGaXLm7xa+f4nNPvMgy/AkUXfKf492l2\nSHV4zkrxC1mfhaeJosbmU/VGuMkbT1cOfJ6uz2m+3a96kFkQKw9cATpIbQRT\nQsUe12/ho/iUfpVKhxbbj0eacBV2NWsieeySFuo2/EdKkPXF8oNbkO56uRej\nWVTxAHXUr5mq2U1acI0JcbH63JzNyfprT9N0KCCJ4sKk1IBHQTt0mIScrpfU\nGOzNp8XMBLykFkRpYd2h55Yu9pukvCn81+y2k/btNnNsaVcoMsUspKSLKzvG\nJVHm\r\n=6AgB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbdzOdV+ahSu8ZhAuo8UkVlwfwC0p6DTZBZRqKws4KvgIgZ+kmEKmUuDzwcd25bKCMqALv4Lz4CU7HMhrruN2U3zQ="}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.1-beta.2_1640844738015_0.5196239240053278"},"_hasShrinkwrap":false},"0.3.1-beta.3":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.3.1-beta.3","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^0.1.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n\n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?)\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?)\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/applint](https://www.npmjs.com/package/@applint/applint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.3.1-beta.3","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-8FxgkWOYmadWn3nxjmT2JogPgREFGwGZa27GB909KFTiOSerVogyTa1VzrofDO8suqjPw7lbIzOVN4CEK1OFXQ==","shasum":"069523bcef7862bcb997c2d04c65a42458f27065","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.3.1-beta.3.tgz","fileCount":51,"unpackedSize":69305,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzVxxCRA9TVsSAnZWagAArssQAI/X6RMA1q0xKamUFcL4\nT0UHy4dNAFWCTqpAYJfwqw2A9IJalZVpuxdOXTNOXj6KsBQLytikwb+9Gz9v\nUT7jTMjWx2onvubcA3VXNuKBsniNthAgmsrTgW6DsTWaMXJ+ufjEXPEQd0Np\nGBsHoLYauO3YkFDNNhh80U6kfMcT868QLJqGTsuuvbR280xJ5zDOBtASiroa\n/2LO4PXhHzE6YGr9p3W+Atf1+Hiy9Lim3PXxtAA1q7O5sdNbkkLwuvjzmiPk\nM0pCeFK/wQcramYUOWs5hI6R6C4lHdbizH51odLkxbYRAFkYO+JScaykGI15\nKXIP8bwP4eYu4P8ylxkLbTNLfVG6ZeFL4ED1y5c2pYuaX7YTta2LjxbXrOmk\nbX3EIqHRa9HQzxg1ZT8hEI7OPqfyfiZcumiT07K+/xgqfCinujqrA2/InG6v\nfQnPswal1NXS2FfA1FkpIm31svHUi31m/wHmET4xW7xxMRQezJO0gcdO9Hrm\n0mN83Whpd1uYprSiwe22gwSKfsk/m+2pNJ1dN4cXZPaYrmFxGRqcu3a7Iamp\nz43RL2qwwfwCnv3A7fNXttu6i2ObpgFO8BYR1OCUdhzpvBCDiotwPiB8txiM\nBTlgAMeQbhrh+TuDFqPNbXyx1gtGJ3T/ZQlOcM+hyfp5pgSitEm+0FqUdvJ2\nTjLz\r\n=HWYX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDg0DmcNMw2JRnPfodQEaSRzPT2+kMHlWNc7xVmBXUyeAiEA61piM8n8ZQDcZBFX3GrZojfPC4UjD57FbSrjQHMZUVE="}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.1-beta.3_1640848497020_0.23134156986066046"},"_hasShrinkwrap":false},"0.3.1-beta.4":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.3.1-beta.4","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^0.1.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n\n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?)\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?)\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/applint](https://www.npmjs.com/package/@applint/applint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.3.1-beta.4","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-NsVCknKEFCbIrHf1m6aZzuypRhQglRBCv26GUnX/YNnwsK0RgeQ2ETRVZ0TxyGVAfJxLo7Po2wecebT/xdBriQ==","shasum":"5568e4b64ae891d9d909fb3cdc3399d1070d0b7b","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.3.1-beta.4.tgz","fileCount":49,"unpackedSize":65549,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0/KOCRA9TVsSAnZWagAAzeUP/RVQgINbeWJxZ3r+6KA1\nYppB72rFrnfY6TWVhxsFPw/L60o6HhlCKiOELX8DhitT5jWUwEr5OH6aAPoJ\nLsTW8TncjD0W3v6zIwL+kz6VYrHupRx71VWXGkfVjdToW1+J4JchR2PDXV/s\nkJxUGFOfCQ8KMi08zBKoxzokCw3k957EfuBps29wUTZmXntg33lCwMvZhXBf\nOus158ikjdK5uCSVH0TNJRU8HKHzbrjsVilgb6RZeb28uwhlbWwIn/EKWOOt\nl9jYqanfCbo8w4SSb+fYDijTPUV72YTLu/L0ZEdaIUC104EhPw7cs7j3nhY6\nZ/QKsIIvhwMnI1147+cfVEEerS9c9rAIHRXkkwaYF0kiCTVf9SudF+a+dkCE\nWj0IxJsikh8nzmGKbdTu0KSKMEvjEa3+aElomzJi8JhaPs+78XsjG6ZI8myO\n/o4nYGCWW+/ghUXQznTOfud1BnoG8sH/U4hVMLbVIHpmp0P/h5mJt4v2UzXe\nlHgr87TvSu8RD6NtPBO8kx0jJAwnrfsKcxgcGKalMrm7krvN3i3jHNVVsA6i\np4i88vjgHfXAhyy8xv36DVqKdY2aTMC28UC/CYarnNziUy9GOU4mqbzlOO+7\nQq6oXeyZJWfvLfXURSU/fEt0Os3BxTfqwxpVQ9giNePyLdlthlFjzoMzEmjv\n1AJA\r\n=4g0w\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEjsWalft97LzEc6o4ETA/IYJT9gJWHN8IWFn2K3Tm4gIhAOI6tM5vHRRXiEdttuERjIEWOfqdZ3O7oC/qjLphpVPf"}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.1-beta.4_1641280141872_0.3875226702230925"},"_hasShrinkwrap":false},"0.3.1":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.3.1","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"compile":"rm -rf lib && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^0.1.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0"},"_id":"@appworks/doctor@0.3.1","_nodeVersion":"12.22.8","_npmVersion":"6.14.15","dist":{"integrity":"sha512-x0Em6nBcXDLgvaQRDl6B00fM/ex25+jRjQSgzxdSQKgL+mbIPgacxmos9gH3M8istRwqi3JlnIedjxHRj1m0CA==","shasum":"9e1171c58d5dc0bd311453a04facaf44a80c686d","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.3.1.tgz","fileCount":49,"unpackedSize":65542,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1VBPCRA9TVsSAnZWagAABWcQAKLgbbhNWuFkNHD8d364\n+HiX9Kpku4Gd6dHzx9LTqft+YacFYtZgZ610qwptJdakVwiZIRHaFGZXJMsK\nP9faVsMq5LrKc0wZnqzGYn9UHtZJNBQkfVk3Jdjv+lDV6sdy65TlS8I/yswF\nCGfHQXPRrQ38vtnrx9XxOiPraUPWodsXU85gOHKL99kUwRTu1STJsbzrV1sS\noCD6bZhV6j/18Q/Gf1fuk03ffRRje3qoMAgXaBHQxSjXG9AK/+OgQuvyWdBM\nMs83EGRX/DqyeBaFv4cPWpWb0Zogtogi/rG/B0jC4ULlqHc/2YirFzKKFtFb\nzkuipF/Ibo5Bl4v2wEw9/jD2ifeNPOaxjKt5pUCFsKXH23cGp+tfLCHzjrtT\ngWHL3nWwQ9WXIkYW2OVBl2XJ2goMaZnJFRr7x6W6PztuoV2tugT6H5hOiF+B\n5Wremvjf5SAk4lO4NYM0+tWu1ILeSqDe8kvwNqJzdOrtwmxIbfXbDuQLLG6G\nn8sRvWh25bMI6dWlMC17xYo5KGYKi07DZkaq0bB+VzyU/rjgQiTl94doR+U0\nukVZV9LMiSyUDjrrT2zmN9+7PCYDpQGvVhTy8aHR2zLz8w1wgrbOlT1kbJs5\nqSQ2SybhvbryBnRh+zb2OASolVaOuY6fNnT6Ao+fQWDKSYt93anWg219N8v3\na2fA\r\n=AjW7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCX5whYUD7ehXEqoQUu3iacY9+mXsPy4vN9PH/zhn6sHgIgZ9v9HZhxWxnjbgyLqOgNCLb4R72eaV8pz0DJC4LUCTc="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.1_1641369679136_0.5516149609076622"},"_hasShrinkwrap":false},"0.4.0-beta.0":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.0-beta.0","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"clean":"rm -rf lib","watch":"npm run clean && tsc -p ./tsconfig.json -w","compile":"npm run clean && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"1.0.0-beta.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n\n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?)\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?)\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/applint](https://www.npmjs.com/package/@applint/applint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.4.0-beta.0","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-/qlGWBQdUIlSE3mKuHEGKaIX06LftI5a+gRa5oBsKAGRzBEoiEsAmR0zDvmSJpsqAIYHgR62w+zcXhLE/eOKfg==","shasum":"49362102cb0fd01c24eb9c42381af0409eea27af","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.4.0-beta.0.tgz","fileCount":51,"unpackedSize":74288,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8UBBCRA9TVsSAnZWagAASc8P/RkuKYs30/Kr+zddXYv3\n+hweNQ/pBmb0grnEb+jaiyLUEP83cbRR8XyxQRC89utjttqJYDCj/L9jbXfw\nHZ1HTUETQd4M6AncYd1RlsU5cM46uhbBjtHYpE84yGXsHi5/UyMM7l3UfWuo\ngaELNyuftUHYCIhRTuC3tExznjZlB3Zs3LHpHDrM0Jaz8hZoPRh0X9OloQHs\nhlytfps4RJfpFNjGtUkIEyiQtETJBGzJXDzBLMpcXpmnqTrHAmuO5zYBt8kV\n8mNgFN+0xezMDoDdpuD1N6H861zv+yAGB6LWYswimcgN99bSDK0kFpqtv7Dp\nsMAQVXC+F48H9ShvmyxW2rLIbCbfCgCRrzcgUJeI15bsJUzJPlntmwC6tH1q\noc8dAFhIjqWKNr/HNjyuBywZwV5INuyyH4kc3qqkA42samis+9MB5DGz2Bt6\nUDBquGSiyuL3G+cXGtnrybNfxJscvAMbmAsTmvJa2b4O4a8ZjoiIoh6T5cdk\nUiYhuAvmPay1PxgMg9A4yw0dMwXFmKnjSnFbctskhBeEQ9jRaodjICcY6M8P\nCwvz269G6y/pYj8oIuMRPGsJtYGMEh1wRyrnwwVejGmhwQaph1LwCELJIYch\nXWdB9AhCviIdlPV3WgdlsqIkCRstdJsxqDe6rAO6G/VeVig1yacG0iSjQfOF\n+qSH\r\n=r92O\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFm2ysJ9ImsCBHz+XAXFa4DZIrA5nOLEFQ6KCRKFZ5HgAiEAqd8tougSVnUsfQfF9B93QgK5lLecVN3xseMZYYn9u1o="}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.0-beta.0_1643200577116_0.6230528421404051"},"_hasShrinkwrap":false},"0.4.0-beta.1":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.0-beta.1","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"clean":"rm -rf lib","watch":"npm run clean && tsc -p ./tsconfig.json -w","compile":"npm run clean && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"1.0.0-beta.1","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n\n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?)\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?)\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/applint](https://www.npmjs.com/package/@applint/applint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.4.0-beta.1","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-e4HbkNR5k3vj+yPTYeZyJNt3TnlRvaH551xSxaI3yOtz5q4T+j1e80tscqN/0hKPsu+OESz4Y9wYNPSD9yqvZQ==","shasum":"7ef7076aa44819d3b07931282269019ac98dc386","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.4.0-beta.1.tgz","fileCount":51,"unpackedSize":74341,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8iwmCRA9TVsSAnZWagAA0wcQAIKx7ywtQ6MejCqoX4np\nNHo6g4XSTGiljp1vaMIhOflRSpH1L8BkjsSkRVtNDB+OCRYAqQng2NXVfnTb\nkPmXtBWX/YP4Nbb3SGD+bkJNzM7mmosdWm9c6TZL4f+wBg6s8iNZmJe1u9MI\n05Nmva4hoGIWzdsLefcIfxFcl0+QbCYh0pXBOBjIb9EfQCMSHOEfX+Y3hjok\ncCdfp5UfFxyhlnv/FEewoz1BrqVz2AsTxwsar79fnQQIYgzjwSgJid8lylWh\nPyP33knnOzWZ2vA1oETnUQcpzmoMPgfAuqxtFYbQC8XQ0fRFFrnzHBDKTGVo\n41BDWNiHoFQbRCEkwKWhVO7dnPfi+Gxu4z0yxlX4QZUJv+aI9aIH1+IA430q\n7zCpwkc1A09xODCZmPE9a5T2HIGMlV7N1UQFagToja1KgAzso4GxA9NdiS4T\nXnkK1o2g57GU29J7S4JXFd1bHbI7tCx3Y2CzrHHBVyWiBFPFM1/y7GNbhMJR\n2jaI2T46WSqBI74fstPYH1q7aGdzlpwIQhAB0eHdCMS13iN6+Yv1/OBO5Tt2\nnf5tTLyIihMuVxspqPCoX/01fYHKYQjm5/91clA+X1AGzv1caoX7jMKJiuCh\n5lKOrRG9cJrRytMOcAvcBfxm24pPpOp36sfAUgJv8bK2qYh6YN2EotTOEr6y\naGpx\r\n=9J6Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCHzO5U3jhyUEulCyVIRtxPTk2bqBqAlRpfHeit1nnXBMCIQDXAFPdblWoNiWnVMTtTb9bPi6Ue1aBItqFblyANVg3Aw=="}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.0-beta.1_1643260966440_0.2584973578607741"},"_hasShrinkwrap":false},"0.4.0-beta.2":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.0-beta.2","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"clean":"rm -rf lib","watch":"npm run clean && tsc -p ./tsconfig.json -w","compile":"npm run clean && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"1.0.0-beta.3","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n\n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?)\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?)\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/applint](https://www.npmjs.com/package/@applint/applint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.4.0-beta.2","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-373/Q5KhHW/yji685gn3LJ99DQ5dO/9lWiar/dkasyOz+G/mELKkpFpr8naYNaPRwXgSRcdomTZMSeydqKpLHA==","shasum":"f0c34cf2f11fe6d434f4b15dd2c3a85b11275981","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.4.0-beta.2.tgz","fileCount":51,"unpackedSize":74458,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCfVACRA9TVsSAnZWagAANEgP/2IQP3pPFm6Gwhh5XdEj\nlP+e9d4G9dwdp1+EiWesIqHe8nTkc/1oKrB1Z/Wb/50I/v9QsyFKTyulPWXb\nz8H2FGQfnL0gzFVoRfVMMh8+IPj/NPC1xGPTNLWnCGn417jVvz/I18N/qYqS\nxV3Vk/XUoaktoWbWrpcZsbzMosd8KKgaBzFH1ykiS4iWzleKsrFT0x+H28KP\noVjB8neN38ZFVeb2+EsFCIZVCREU8RGsOndYm2buhdiCoCM1PjPghIe98zQ3\n0qGa38NElNMmkyuC3Xkmt9AP2+UvsYb/RZSoshK7AZb05xY34oS9ULRz5T4W\nzZTxkai7ns9ZUEqOrXYGHEvYq43kvJeWpUTk6VVxe0ScyhCbV9mVoqmqrZV9\npRRh5B8XgCqju6W0sZZ4/UH3M1ywm+EpRRnu3fnMJvgYKdqq33NXfLz9WUuP\nPUyEd+OaNu4AdOA9mEcDqgUOMp0ITCa01w1c+nrXtsnc1SsZl7k6+rxVS+Fu\njJMQqfargUfEpdL4EzJRQXF8uiojtS6X9jRmaJKJHGPHRkT0L7VXY9StTGTV\nlZUoKLgKYQVfkeRNIotIO+4VBgsP5I4+6jmdxsDg1TClFMSXsm2sAHFf0DAZ\nIRQK5M0XCyPEKwgCquqcD0MZs/0RaB1bHU4TXyo80BsEeHOb7BstjMP4gTnQ\nZj/f\r\n=GQHo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJ34Dw8Tb4Wp7AFNclwvNVdgT5JkcYlkYlOenF0MLqCQIhAPzyuwr3kHdrbTby8ArSFMTtCRVnysFMJ7eoikM6CMys"}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.0-beta.2_1644819776400_0.8991989444279835"},"_hasShrinkwrap":false},"0.4.0-beta.3":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.0-beta.3","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"clean":"rm -rf lib","watch":"npm run clean && tsc -p ./tsconfig.json -w","compile":"npm run clean && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^1.0.0-beta.4","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n\n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?)\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?)\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/applint](https://www.npmjs.com/package/@applint/applint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.4.0-beta.3","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-GSYe2qQgV3f+9JsrCFoAeLt9tIIElviOdBUItCX7ZLw/IxKlf2Zc/iJOg5l1yb8th37eMIMG6W/oDC/V9E0ccw==","shasum":"368b68a83a30249e652ea6d835a14df386967547","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.4.0-beta.3.tgz","fileCount":51,"unpackedSize":74459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCfZwCRA9TVsSAnZWagAArYcP/A85RSnabftwHcvOF2A5\nB4icWiLxAD10v8BwsbF+pJae5P+9FYkG+yexL7/PfqLAilTropusDdi8PHb9\nhLz/8Dxz3N7w21QOLt4PGZ0E2yPJqyhDi2vdXNPjZe713k925lUH7ljFewIU\nsKzuzdhMoNYrhgKByWkNJ5KEjRXJiTNR9JocAnWH8FHcRBrX6bxrqE0LYvfS\ndE9hr5sf0olZdhFp2RCU8t1P2eI1ymOqVJmtvlgLxaB+54DZPcEUhE5EEKiw\nD/SrOQijH8DxZVLXsYo+0mlj9hEgbyKd29fYNHTndMXKelLut2/a0J8wP9GI\nHS66i0kvHMpNve7jyJslnWrDH/BlC5GKZSdKuv+f8PfhObOWKsNqIyDwcGTx\nlUy0+uG7yX7cNRAS7u/5p5R0N17Bial6o889jKBzxitLfVZ1AToJIovcX0Rd\nqasAYPXwKvGlllxBrOiK7z/4jOGc3ErsSlOJ+S3V4GhLtyWzC7AFrpgaJCIL\n1CZQLhsEpqST4KLdI7lC1ZrxuAdkXhLyowdVH0uux9fD7G/3P8kzGbjfCZXq\n9Z8iGL/+m2/jSBbrLxKb36KwNPkLFRoEEdj02aUMB52jwHiiPJGDVKz5A214\n46fyk7wmfpMjnI0x1Q3rJzMOu606aGJfbbN7V4t+WE439eVORZytruIozzqK\n7nwm\r\n=bQuU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF+gv8GdNc2rMCAhGzaez40GfchZDZlIYxTy93rtNV+LAiBQt7eBiXqs7lLuDxe+BYsJgiuzeTAmkKUiEGmSQdO0yg=="}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.0-beta.3_1644820080118_0.6189104632027587"},"_hasShrinkwrap":false},"0.4.0-beta.4":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.0-beta.4","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"clean":"rm -rf lib","watch":"npm run clean && tsc -p ./tsconfig.json -w","compile":"npm run clean && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"1.0.0-beta.5","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n\n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?)\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?)\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/applint](https://www.npmjs.com/package/@applint/applint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.4.0-beta.4","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Y6a3VtzFpstwNNuievuWLtS/XWzB0lfkZtSY/orvQu5tthL7mGo6UYGiN0Rn3kLfzzzKO+gwg0Sx6HetohzG4A==","shasum":"0a76dd39c6093a66fb791be2890a11e8bc8002b2","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.4.0-beta.4.tgz","fileCount":51,"unpackedSize":74574,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCxfrCRA9TVsSAnZWagAAH2wP+wS44AptyPgubmXfDtAq\nVOW9EVtjoS3ybF9FwXqTGOm6pI1Z0tBkkVdPlizOZyFghThGHxHRZiB/hSV4\ndluJYn2v8AXhDKQsKc0t6ZDFwxx8ESagNs8zsUTLJhn8CK6xrG14g/fIBwQP\nAzYguTNiKIFcpQx6xsB+MwpPVce49YurAKZZszlwQV29bFyXoiJGkiO86L2e\nPUnGV1thOqUwm3oxFEVHlwXSi6+UOR36wcmlPgGoUkLKDgLaZC/VpINKG/d2\nbC/njTWRfCeYg4oO7iyGiLuE+Ip/ihuqHt+p6GFzzgEG4MLETS1Ez0J/o9by\nubnRtMYI4eCh1yHl89rUREFTqdmSxHKMyI1QgYOmvqL8ne2PmDhHdoT83fgg\nRxCEba0S7BlkoGc/U35tjvz/LN/DpHAFjAB3YsSVBj8L0wGmn7Y7/1U4LySA\nwCyk2krE2XvJkBrXa7BuJmE9okYbxPXq1j8AXzFySrOhGPqzRryFydCA53nJ\njTTAGdNPgsZ/8R1VTyQQIkdfMKvBjF9djBh0WoA8G4M6fNNFO2b4PVJ9RcUp\nKIRbyU0OV2MeZso+p6YoUD1n0LIlqUPPjttGZ/ieGGljWaiflClSE6gcVVvr\nYBTc3Q14UW5IrzZFJRlgNh5udj1VgcA1R++wCrgwPMzGT+WWwXmrZGXh2bAh\na2JY\r\n=NyN2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH9oY7o7QGWthtCyB8AvC06lzMjWiBLeW87T7JwYwpiXAiEA+U0dtjt3o4xGXPd3FqMYnCjK91eYwGvRYxAlTbh2tk4="}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.0-beta.4_1644894187543_0.03392676390950555"},"_hasShrinkwrap":false},"0.4.0-beta.5":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.0-beta.5","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"clean":"rm -rf lib","watch":"npm run clean && tsc -p ./tsconfig.json -w","compile":"npm run clean && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^1.0.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n\n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?)\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?)\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/applint](https://www.npmjs.com/package/@applint/applint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.4.0-beta.5","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-eTLyFpOFDIbXqaLhkwgEH+bnYDHvCLpQXeE5X6ugzShH5HomqAx1X9ug98zgoxuPqaqDVBdn/eSiRAZw+7pSzA==","shasum":"9db23a55cf13a3d786a5b55970b3170b271f096b","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.4.0-beta.5.tgz","fileCount":51,"unpackedSize":74568,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiC2LFCRA9TVsSAnZWagAAatMP/j5ZeK/FStB7+Rus9NFM\nXcsUlU/oswUslv3C+NGih54i6PV5lxvKr0SlIUXDFozEdIawN+ZMYY+JkCyR\nBvB7eAb/w0Gd8zBawXgAJ043WT8b211WCoF+Z4jdTzRAyniqLWbq58l2YmwZ\nwyy/72fSFi5TxTgUCLewEqi17Ec8f/nSNEmfaamh5KMUQK7VxrTrJD+YYGWk\nho3sXImHgJB7t/KAbPFAE8U0znFHR5rEoKE7wl/qCa/15eio1A/vacxtPSbb\nlaT9PVfSAZD1BH7tZ2W/0469AKtxodSb/4eqpSIAjWA2wv5xABMjsjs5h/zj\ns6rLuwnBlHh+gzK4qQTZlhzsc4x9bHxmuqSV5JmoFBx2WWieFR0fiZnpJeNb\nSk8B1MwyJdzAkunx8UgrQtEwZdt6FX9v6iqPP0w4x6AAKCvnyvl1fl3rH2UO\nh1ALV6J28vDWH6KEc+1zNnMlHWNbxUt2odQhiF5/QHU0I6gvkLeQk4bQz1Ae\nvYW+Szcq2mLsdmdST0JruPWHswwTzVAXney8eKnnqPSzuxt38ui68lahNv1e\ni/jxGf6h7UCDNq61tYi531SLnTPLK65Ia36BCTovUwebPxX8GRkxtejC8peg\nejrAMzBiqdcdVyHD+wCMMq7h2HZiYOf4jgiJ+rIHhj9fTUNNcFMEpjtizV8d\nSEsR\r\n=SK0N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCiLj36Lo5UPRU/8FBOA78UHy1rYZzQYxa7pguOOxcaSwIhAMQUfSglE45JUKV7HADNV8Px8VEUeb1KteHAewS9lpxe"}]},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.0-beta.5_1644913349577_0.9195090383402102"},"_hasShrinkwrap":false},"0.4.0":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.0","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"clean":"rm -rf lib","watch":"npm run clean && tsc -p ./tsconfig.json -w","compile":"npm run clean && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^1.0.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^13.7.0","typescript":"^3.0.0"},"_id":"@appworks/doctor@0.4.0","_nodeVersion":"12.22.10","_npmVersion":"6.14.16","dist":{"integrity":"sha512-2JM+eI1p6RfUlRfcKFPbo8tTS9gUxiTQ4Eb1+GzV470EQkkgkBTrNSkmhYnFSTSapXB2jla+eYvFRbtdNCCRcg==","shasum":"0a62928290ca0331018d953a449bd116c38ff2ed","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.4.0.tgz","fileCount":51,"unpackedSize":74561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiDGpOCRA9TVsSAnZWagAAmfMP/1LVKdSbwGsxhH20crIX\nzCZTzvlI4yRQw/o0wfBPoHd5ral/wKDV6IFfjl0E0SzoZqQy/1RK3u6c3JYX\nwE/xNH4OHbAradMXGegkg6uwlrZGbhjtv2jhi/sRRDN43EB8f7uOLsopRVei\nWUoWb3VpMVpCvV7mc6BAMx3XJJHWjm+KxwM3o17NpsPR9RafAFnVOCoOgMWH\nOwtLILW7qMFYB/42psmNHMExt+bZg4AgGpkdHhNb86RGngDiZ8ESXYqj9Dm7\nos38ADHZqmR2oSR7+5+RqWe5PpWCDJcoJZ+Uh9dQsdS1JiMDwN5AJ63Efjlx\n5q9KCh4jBeGfgLX9Rc3LnxF7TExwvcf6BJGEKxFhaRrq/pkVt86NFRJDF09E\nQU/GlMZTHYpzcKeDJH7hOufzPzO5senkN80uJ4ba2JwllueAWpEb2LlhF09h\nc6qcLOpr0iIDqDsYkBtpTgcH9n0XdtM2DWKO2DFe7aJJoh2Pw5TdPOkXxa1o\nJzZ7K6zSbssVF7ROgoZAdrVyxLyT935Rns/76MohAGqw6sTfPMFhUKOGHdgM\nPB0GL5v42f34r+Q3XDdkB9/3qcc58LhZwpAa2iew4/7tocX4KTruPTNqBmJx\nkfnTYfEeYLvdy+amkm4NKo1tYBJJwlYkiFIkf1QGSBSiLF7tXsDbisUCvu77\nFQSS\r\n=NijX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEVR6HBJbv+YC08lyM3UzUzEjt41v/0DkxZBDnhfiOpAIgSF/kUI6U0db9bPBUURzhbrlMwDRRJvJC9CHojt4Wp6E="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.0_1644980814823_0.2806957298269699"},"_hasShrinkwrap":false},"0.4.1-beta.1":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.1-beta.1","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"clean":"rm -rf lib","watch":"npm run clean && tsc -p ./tsconfig.json -w","compile":"npm run clean && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^1.0.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^14.5.1","typescript":"^3.0.0"},"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n\n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?)\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?)\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/applint](https://www.npmjs.com/package/@applint/applint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@appworks/doctor@0.4.1-beta.1","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-+3CKADBBmSaxraac+GbSL41wxxb39kiXlqdJtgKh0kwrpl10Sb35xd/4Zw11spKYYKuwvx1xF0ApKlZ8wqMR/Q==","shasum":"4a46771c59b74150d33df7d5d5e4f3f488dde752","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.4.1-beta.1.tgz","fileCount":51,"unpackedSize":74604,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAHACBs7EpPi8lCkqyYmIz0Blg0ohg1OYChsxiNrk7daAiAu7GNB5UoN880riwYp18ogjmlLjBM46egvCOf3iKInlA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYNs9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmokDw/7BNEBQAuCv2z0xsLdM2sY+D6YNkp/kF6+52FXlvub6FBxdTG2\r\n8gH2FgyORg1xMz8gH6UkpXbnKrDugRWdJwq3B1NdYyhlq5e8W+EEW4tLkHm9\r\n7dK0uDmbBdO0aa/+1y70qQtdV90qkVCTFaBxjC55i+sIoEdWjXF9ezhIryPJ\r\nz8nmH7/Sc24Yfivkh3rStyBSSaYOpmodxXv6Kx6nbwhkDHrIDSaNOUElP4ML\r\n8Bcw+ro99X0KPWK8e/he2DWBI60If8nwjEKCrXucEG2jGEtU2/X0ZPOFAtsL\r\ncWOIDPOuYhUVSEBqSarw9Vrcg/yRGLVFqZgRXwFIROdR7E6t5AzB7EslBV2R\r\n0Ox02bgP5GSUHfhOqcL+JGQ4TQclJGunFzQ3p6ilcIlU2djvwMiI5nj8MlVY\r\nKaxIiXPF0cPAkBRRgNyKmr6h59fwneGbGgdrZJusFYPxWFTZ8VxV4STLir1N\r\n5d2lMy73LhW+oEhyt+KwrmDXbWBpmiZ7zhseQwobj3XNBwc/1YmLEAyYg42Y\r\nWGepCh/fKIuFh+2Om2jqrR+VKlz1Xrf46gOwR4mUHgzb61Qo+tWCYaZGUhzA\r\nMsIX4Q5QHG3DtMKUq27RyRGVcsk+vJP3hMUq44EKkg0wOr39C517cc0ikVPI\r\nqV0vvqaeTOCeR9zXdn/pwfTJ5g0wQcbNPcA=\r\n=FLPi\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.1-beta.1_1650514748884_0.028932863498545514"},"_hasShrinkwrap":false},"0.4.1":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.1","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"clean":"rm -rf lib","watch":"npm run clean && tsc -p ./tsconfig.json -w","compile":"npm run clean && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^1.0.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^14.5.1","typescript":"^3.0.0"},"_id":"@appworks/doctor@0.4.1","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-8kqcU9xtrcVuanBaqxXPcWoPbURzBgeYG5r9Wp80hcEjE9KvA5TkHt3QcPzHjaEabYghpPybP5VpvlIt/b6iZA==","shasum":"ba734fcefe7872558431af74a840acc6c900cd2d","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.4.1.tgz","fileCount":51,"unpackedSize":74598,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICGLdAxO7I2dkRVA7c4bHuTK1eIEum33+wtK2h7Lg1GcAiAQ6IQjjBngGt2vpKf5TEEIrRwL+nrdK3S6QXYXeaPgpQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYP1xACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpEow/+NaOsiSf1EoXxSF2B8+IWSkhdrqjpClSeME6ME17n8161kkZs\r\n3h6GBZB/EIKRg4JQwNaGVnClNRKGANQer2v4gGqSwOzYoiOX2dhT+tckri+O\r\nrZSAIEEIV40zTuD++sUQQ8C+aWa2kFYsW4/ZcSonCb8Ouo4Yb0qIMVZlssIb\r\nbvBd057eKNndQyrQEEJQwMno92JaXc56fA6Jq63ZQkrmE7+k4uomV2mz32AY\r\nSeXAHYR4og1RH4z0BauEM3bUOq1hYClKHrUZZZCeY0IiXYOzy7dbAbPOGiit\r\n1tFj4+LBOoAkpd6Ptd5zeP658NtV4jhaCKlyfiQmFHMLxhuU6Qr2ACgfPI3p\r\niLwmJOUAmDYkjdB2jkTiKbPWVRoJFJaRrkXVwCQJ5Upj2H5G2iCBHp5b1zv7\r\nUi86jjERCFk4u/n/291qqzh+iNbFImEfc29Sa/meMrKXTvallUDM0PoBGuAv\r\nxRUiI/joKlwkSNd7sdFE4Fv9urxXFbJKMLHO6Q9JiqkIBpbWBCKiaO+Bd01o\r\n8jmU5cHzspO/9Sj5bvIkb4Hy600iWMiMuDXgSfImUUANrqKKGR6qjcAlPnR4\r\ntoF+dH0eVJWjGkooWjNiWFfRnM25kjPjEqWZVJPlyhq7lyrkkfkSQS25geu3\r\nX0aXflIJ/8riGfp5gcv6yV61kEf1/VQO3Fw=\r\n=bPYX\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.1_1650523505614_0.920303451376222"},"_hasShrinkwrap":false},"0.4.2-beta.0":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.2-beta.0","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"clean":"rm -rf lib","watch":"npm run clean && tsc -p ./tsconfig.json -w","compile":"npm run clean && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^1.0.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^14.5.1"},"types":"./lib/index.d.ts","readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n\n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?)\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?)\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/applint](https://www.npmjs.com/package/@applint/applint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","gitHead":"5d9f2bbc22b0e47712523152500c527d6419d36d","_id":"@appworks/doctor@0.4.2-beta.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-DpxcRGXkguJIuycJOv2UJq/W6+ja4CvibWRAOepUv2kf03TzcX6x4tcpdnKAdW7nXhAu/Ui5km3Zlh2Wcp1d8A==","shasum":"4937eae0b8bd9d07c4b761ce63af55bf051691f0","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.4.2-beta.0.tgz","fileCount":50,"unpackedSize":74060,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDs0eHsYBZkbvra+5ONS4GMDCgTw4iFkXLE6ZIKuKgDQgIgNwj/D+MW3ulVZQdymrXpKY0EJKERBBBxShAZRVAqzcw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQRjxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp6mw/+JvQi+d3KerVVlqxbeGdUDbAAp0mDx1omPa6s75WjtTUc2PA0\r\nRIrNVpRlRTrbrwjBzeO+scnCqng9lbW8JI5hVQ5eEBIUiyQGiBR/r3A164tk\r\nYydkCtz0tSR8KbjQ9es7uynKmoDdVUlzFo0vMFo+b8Re7MFUhYiRnHXGtMuA\r\njsLEkhNp1YNIr/AwXI768LuZSCCk/W0S7ZLv8xWN4pFEn9T8PhqtlBIsbtuu\r\nkM49n822KzCoXmGdbI9kjMoBM+xio8mMYhoPCE0eC3cKp9nupm1a52W2FEKw\r\nbyPOsuR1FP9CZcyCFhAxP9z8F7IXbSTOBVW1QiK5jG80R+F56eg44qXECSW+\r\nYZlNizMwH/yWWU8LS+RHIa242EHShEsEG/OEPpl+rMY4L/PBvjG3qWg+xtQR\r\nWONYmdsySN/Rs8JPLKh1kiOS8Vp7pdzJGx8C1UbOdQA8p189gCLgPbGk22/P\r\ndaT/UvihGd38rzKEo1w8VrsvR89859Sx02E7x62kjeBw9oCohrtZMX3Vr9jR\r\nH+XqorGeSSeWBgoq2ZagX2OkA67GSo0bp0MeTPW2TKi36wRuWoLw24+bgSVX\r\nkZGFKTHs8PDwGFQcYRge53c/IsDbT6b0HjNwqz7g1jYyuv3L9Rki4uWALGF4\r\nbZvbK45C4yltneNt48oMeR7N43OmNUry4MQ=\r\n=Eomh\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.2-beta.0_1665210609610_0.39327166153913407"},"_hasShrinkwrap":false},"0.4.2":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.2","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"clean":"rm -rf lib","watch":"npm run clean && tsc -p ./tsconfig.json -w","compile":"npm run clean && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^1.0.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^7.22.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^14.5.1"},"_id":"@appworks/doctor@0.4.2","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-n+XG0pqwUrOgoJbJfK+N8ZhlBTBlbZRKqmOC2IkLS2ai2+y5ewZq4IFaxVF3c/fc5PzfKclQd87e0+mu1Xs/1Q==","shasum":"41605ce559fad48e7d534a1ef65a19f8c9053382","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.4.2.tgz","fileCount":51,"unpackedSize":74648,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtbLpmZsk91hNZeKyLYvWjgrg2wUpdsxs1FHVR/z6aNQIgLtiCkMxybhcBXmi3y4ltUvN+1FpkSYxw0YLdafvwzxg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjR/A9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpJfQ//bl9+KtZQzrpodFSURw3/7UL4EACa5YpzbSM3cH9VtCe2uMpS\r\n9jD0DR+aaG28dBUhJJv26XZOm2jjIzTzuaumuilxFeJFBsrCIEXQeMF0URMP\r\nCoi1Vc7gLSB3djEOXaXiAkgp9CGbXl/YDXgrPaAUBL+lYGzpyUGBlLtBYzaf\r\nWwxHvUUtsU9VWS2Ubqu2P02CHihxXyccCnqJ7XrZaF6T/4ktQpr4/Cae637H\r\ne2PvG0rLbLm1KnPNQ/CY4MZK/Cyz0HX1llrs1TjQou/7gAGBK7dY+dTSSlQM\r\nOw/mUrvCl5wn8Y46On3XI9QZhJ+EHu52JV4x73CCG56nkWaJ359IzvVvhCTs\r\nFbMw6dL9Sx1fuNWEjYJUPbCZNVXKTC+CLnqbdT0CeWQo6ROYH8PI4t3szTEm\r\nsnpISVxhIsTjq/+n8VwiYxidGScv1f5zd3PdTYgOu3AJIyVJwgqFrzO4QJE4\r\nHlEBuV9jrmGDPBvOK7/HK1JNqmK3FA0/yaVhrDmpUQjOUu7oLeGt2rWU/V0n\r\nvZxqUVe6PikV8st9QA7ByZyhvx7MgLmltrcVHb3hHguVfYIrE5ubVQMMMfjx\r\nSOPD6jumjQXvRLwz5+PRhtmHI+b9ATelWTehTqD+T57OjAStUOcu/IFLkuF8\r\nE9AqUKUIWFQYOySNRVLcE+4S/XcJdSfr+NA=\r\n=Oqvj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.2_1665658940780_0.8986290269594832"},"_hasShrinkwrap":false},"0.5.0-beta.0":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.5.0-beta.0","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"clean":"rm -rf lib","watch":"npm run clean && tsc -p ./tsconfig.json -w","compile":"npm run clean && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"1.2.0-alpha.1","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^8.35.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^14.5.1"},"devDependencies":{"@types/eslint":"^8.21.1"},"repository":{"type":"git","url":"git+ssh://git@github.com/apptools-lab/AppWorks.git"},"types":"./lib/index.d.ts","readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n\n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?)\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?)\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/applint](https://www.npmjs.com/package/@applint/applint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","gitHead":"315828341163d181e578a1d88e53003c175a3c1f","bugs":{"url":"https://github.com/apptools-lab/AppWorks/issues"},"homepage":"https://github.com/apptools-lab/AppWorks#readme","_id":"@appworks/doctor@0.5.0-beta.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-7aWBXk6YyYtQEUMJIsUZDOifkLXsgCU6gwIqtE03KfJBitqur/yeM8ghD4/MjI4OyM/novXe5xL9UVtjvX7MJA==","shasum":"4ed46ecafd986f5d9b303bae89d9ab8327577fb9","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.5.0-beta.0.tgz","fileCount":50,"unpackedSize":74825,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBXFHuhs+nsOWHipXVYAW9FoV4F2ZVlIeL0mq+64s9TkAiEAj6jdgGZYsapXJYRvgbII7uLMLmU9NdnA8fUiqSnrlJQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/a4pACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+Qg//RrVpzLH8C+Vj/NMeEudeXkT5PCTRa/q4+GsmM9WB0SoFyay/\r\nIwZB50Sgh0Whd9DprPS5UB8lUdmx0Y5QZmdz8xkFzmttu4UoPx/U5kMh8EC5\r\nXsURzvcCYvs6j09pTpVlembuIpXlw1mZTfNIh8aIGOADmxSAb8K2gYij0Xnh\r\nwFgP4p4OZ5MOccTm7eq2QXtM9HR9eeuda64wlJ26i9LQs7IvUB2pxGQ7R+OM\r\n/lfZt1oz8TxNNE/RYFR9PaMGxNmun6i/yfQHUOiGGHDIglBYLjyGAOnzOF7v\r\n0q4xFTJfv3ZPUcigwtFTOpTWrhLaDkOetJYX0Xh61FdUfB0k90I0dGLfc8yy\r\ndIv4B8TsO2lT2ah+8tHnyZK+rOjqanvd/vrPN4TKEibpjeVWl1hbu9l14yCp\r\nL7S7QWa0yD4p09sWKvk6cIu5/9bBGZhFaZ4Awa9uluMCbBjAo54TKSTDtFqY\r\nx1pDiHKeWuXUropKlZ02bHpWIkPxlH/3ErE5j9cOLsxFjH/ZrockVYdTS+CZ\r\nt3j4pO/cabJskL5QEoUi3Hv3IjRHt/GubO20wvcFkLkfQCuN09GSi1j1I8Y9\r\nxDAAs4IviyFiV7FuQpIRO/O+LPdO3p02gax6fcrFP627Peq9hgMZBg503kD7\r\nYFWTI4KlScyPIAGE1xZ7b7FWD0B5DXLc26M=\r\n=5rI9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.5.0-beta.0_1677569577612_0.5882343572615754"},"_hasShrinkwrap":false},"0.5.0-beta.1":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.5.0-beta.1","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"clean":"rm -rf lib","watch":"npm run clean && tsc -p ./tsconfig.json -w","compile":"npm run clean && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"1.2.0-alpha.1","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^8.35.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^14.5.1"},"devDependencies":{"@types/eslint":"^8.21.1"},"repository":{"type":"git","url":"git+ssh://git@github.com/apptools-lab/AppWorks.git"},"types":"./lib/index.d.ts","readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n\n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?)\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?)\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/applint](https://www.npmjs.com/package/@applint/applint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","gitHead":"cc9c7a685bc1ab0e8873210047578e60d48913fe","bugs":{"url":"https://github.com/apptools-lab/AppWorks/issues"},"homepage":"https://github.com/apptools-lab/AppWorks#readme","_id":"@appworks/doctor@0.5.0-beta.1","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-Rni3ouKkWk0uh3zYTz/Wo3PCL1Aq7rEtuJRzfwnhZF5y5KBT4RmVreMLxaQpYfGW5np2EoRtH6bA+Qf4myL98Q==","shasum":"ea8cf61cbd8c490ef7b7eb4cf97850d0ac8c8695","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.5.0-beta.1.tgz","fileCount":50,"unpackedSize":75467,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDeNjMnSRpQNrmxzKyZgPF5RGa3Xi66K6cG1k2LMQOPAIhALpwu8WlogSJD/8xeTsh0MGSA3fEV3YsolCk9zu+EUz6"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/cRxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrQ2g//afAjPvlFvkmqmOD/esnvdzdinoxthnq+aN9X3rDxZMCU2DR/\r\ndBHaE/Hca1+DNlUzW0xZphHy38m54mm+SFsbNwsuN4v1PGNdB8TQ31qfCo1D\r\nfbDzib803bJz4fOdN39sW2VQL191uui2fQBXcJSTC34405+Nbl6eifeEgzbG\r\nUIsoM3qRwSEWJbUOMCmlzeO0jk5iwJm+G8n8LicP9E+liqqVT5QiNPOk1hZz\r\nIH2nl1C11ZmMaX4UT0Q9wznx4N14a269QiwiuajZrApEG/tobXEnUCfHckHx\r\nBx+XBLZ3iSewyG8KKK0I0dBWFhap1i2Ynam1lJD6iMxoLtKLguGIlyMH+eLP\r\niWaDEL9+9WE7+IxGRb29flZijS8Jt0rmukx0e0Ho2vTxmprV3ZB5/QoBDRyE\r\njq1vvD16SUZ3/eb+uQd4g+izbCH7tQlxuSrEX5cnqCPIhh7oKmlzdHC1oISG\r\n+R9+JE5XUZ8LAGBnsy+zSKSs5U+geL11Wugshng9tCNvlMWqkS41+siBuiDi\r\nG5lowtBknkPjDuhWs8Oj0rdOMRwq9UpBvB23VW8OKBwrs/OSanLCoPCqpo1J\r\nR3tuku+e64VLbjt5uO1m0LoXFx42gdrwVLbRh3IxbbHI33Svlq0PbGeUCJ+f\r\nx5E7keh3Xvo9Q6Eelg6O9zxg5DJKHSrpHzk=\r\n=xAQW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"luhengchang228","email":"luhengchang228@126.com"},"directories":{},"maintainers":[{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.5.0-beta.1_1677575281220_0.4589660303520964"},"_hasShrinkwrap":false},"0.5.0":{"name":"@appworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.5.0","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"appworks-doctor":"bin/appworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"clean":"rm -rf lib","watch":"npm run clean && tsc -p ./tsconfig.json -w","compile":"npm run clean && tsc -p ./tsconfig.json","prepublishOnly":"npm run compile"},"dependencies":{"@applint/applint":"^1.2.0","@babel/parser":"^7.12.5","@babel/traverse":"^7.12.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","eslint":"^8.35.0","execa":"^4.1.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","moment":"^2.29.1","stylelint":"^14.5.1"},"devDependencies":{"@types/eslint":"^8.21.1"},"repository":{"type":"git","url":"git+ssh://git@github.com/apptools-lab/AppWorks.git"},"bugs":{"url":"https://github.com/apptools-lab/AppWorks/issues"},"homepage":"https://github.com/apptools-lab/AppWorks#readme","_id":"@appworks/doctor@0.5.0","_nodeVersion":"14.21.3","_npmVersion":"6.14.18","dist":{"integrity":"sha512-cLD2mubczh6nU0AxAGzMUAiHsKqTRo4ZFLX6UenHCEmDWCuPa9CZQLgo3wYXQaj1BgFLoUDoxQXqc0XcnIntjA==","shasum":"02852fe40a7004d96fb8eed37be2227d6af94b8c","tarball":"https://registry.npmjs.org/@appworks/doctor/-/doctor-0.5.0.tgz","fileCount":51,"unpackedSize":75760,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCivZJEIH4UIRS6GtpQC8RCRvcw47UXNh12GSnrK2HUegIgHVHIjds2VKRcYuw8Wm3YZqdPI2NN7gcP1hcX5UobS2M="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkP18rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZlg//dhfbLPqaq/RYbpuTtcvBG+iADEpJY62CnyVsK/xHQ7FrmFze\r\nIkPfF+29mDhPl+5I/EfrVChLAR6bS5Mo+aZeBwcHjzvB5CEEMLNEaU0jK18n\r\nyeAF2JrUEIBRluCPOGp3RQC5PBwboyIrkpB7x65k+G2KC7cy6gpimxsJIp6y\r\nKMMKe/Y3qDxQOLk6U6iQucKP0IcZkHrfDK35gS7qMyQ1nbg35/7KHjAdjVqW\r\nFDeu4+TWQ7/5XIsni6UzScb0mqfFu3MmW8cAdjB9+PLO4i+n5xjXJ082GkWt\r\nGBx1Zrv4mOLzvJNLbagbJdSgoA3mcwS0OXQLzgIWnLYpIYv7qsr8TehXc3fD\r\nBXHh/N7Lq3uj6St0fcAPQp+z8hT8dXqoqQEeJqKbwFZWNOaH16A8UGf/etBu\r\njaEF1krRtFqncddezsTuPF15C9sr4DuFKhTwrKmZSU1+PaNS59nU2KHQ95GE\r\nTY1T5iZFrYu0tgytLECdzzXkwU3jSWEdVO7EJ2E7oG5QT9goPhN4dY/w/iIw\r\nUVBassd820wcthS17JTr0cwgzUF0QteD0MpC9hF1tYA6wxSGTM0U/evTCTTA\r\nhMk9eKixSGyOvV1VBCgEoau5UvkW32n3iVX+BspGg7O51RQKQFUsaANuEd/1\r\n/TcbdHMv3YGCU1UKDQj2C4mg1tFkJeaupms=\r\n=o0vE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.5.0_1681874731476_0.005606717546130069"},"_hasShrinkwrap":false}},"time":{"created":"2021-04-28T04:22:36.427Z","0.1.0":"2021-04-28T04:22:36.997Z","modified":"2023-04-19T03:25:31.830Z","0.2.0-beta.1":"2021-06-29T08:56:54.518Z","0.2.0-beta.2":"2021-06-30T02:44:22.507Z","0.2.0-beta.3":"2021-06-30T09:10:37.281Z","0.2.0":"2021-07-01T02:46:53.617Z","0.2.1-beta.1":"2021-07-21T02:46:15.270Z","0.2.1-beta.2":"2021-07-21T09:21:41.993Z","0.2.1-beta.3":"2021-07-22T03:23:24.153Z","0.2.1":"2021-07-22T07:59:07.212Z","0.2.2-beta.1":"2021-07-28T08:53:19.869Z","0.2.2-beta.2":"2021-07-29T02:42:17.291Z","0.2.2":"2021-07-29T06:08:52.982Z","0.2.3-beta.1":"2021-08-11T07:18:40.213Z","0.2.3-beta.2":"2021-08-11T08:25:05.163Z","0.2.3":"2021-08-12T07:40:08.058Z","0.2.4-beta.0":"2021-10-08T12:53:35.183Z","0.3.0-beta.0":"2021-10-18T12:35:18.569Z","0.3.0-beta.1":"2021-10-22T08:14:30.734Z","0.3.0-beta.2":"2021-10-22T10:31:31.569Z","0.3.0-beta.3":"2021-10-22T12:17:05.396Z","0.3.0-beta.4":"2021-10-23T08:16:20.743Z","0.3.0-beta.5":"2021-11-04T11:38:42.576Z","0.3.0-beta.6":"2021-11-04T11:42:00.940Z","0.3.0-beta.7":"2021-11-05T02:35:06.220Z","0.3.0-beta.8":"2021-11-24T11:40:18.769Z","0.3.0-beta.9":"2021-12-14T15:35:07.897Z","0.3.0-beta.10":"2021-12-15T05:41:33.923Z","0.3.0":"2021-12-15T07:24:58.218Z","0.3.1-beta.0":"2021-12-29T12:17:21.546Z","0.3.1-beta.1":"2021-12-30T03:50:51.946Z","0.3.1-beta.2":"2021-12-30T06:12:18.189Z","0.3.1-beta.3":"2021-12-30T07:14:57.202Z","0.3.1-beta.4":"2022-01-04T07:09:02.081Z","0.3.1":"2022-01-05T08:01:19.333Z","0.4.0-beta.0":"2022-01-26T12:36:17.281Z","0.4.0-beta.1":"2022-01-27T05:22:46.558Z","0.4.0-beta.2":"2022-02-14T06:22:56.630Z","0.4.0-beta.3":"2022-02-14T06:28:00.301Z","0.4.0-beta.4":"2022-02-15T03:03:07.777Z","0.4.0-beta.5":"2022-02-15T08:22:29.735Z","0.4.0":"2022-02-16T03:06:54.953Z","0.4.1-beta.1":"2022-04-21T04:19:09.042Z","0.4.1":"2022-04-21T06:45:05.730Z","0.4.2-beta.0":"2022-10-08T06:30:09.731Z","0.4.2":"2022-10-13T11:02:20.974Z","0.5.0-beta.0":"2023-02-28T07:32:57.820Z","0.5.0-beta.1":"2023-02-28T09:08:01.406Z","0.5.0":"2023-04-19T03:25:31.659Z"},"maintainers":[{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"readme":"# AppWorks Doctor\n\nAnalyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors.  \n\n## 1. Code Scanner\n\n### Installation\n\n```shell\n$ npm i @appworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @appworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@appworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\n### Usage(CLI)\n\nUse `$ appworks-doctor -h` for help.\n\nScan\n\n```shell\n$ appworks-doctor -s ./\n```\n\nOptions\n\n```shell\n$ appworks-doctor -s ./ --ignore types mock\n```\n\n### Options\n\n#### new Doctor(options?)\n\n* ignore?: string[], Ignore directories, example ['mock'] . `.gitignore` will work too.\n\n#### scan('/yourProjectPath', options?)\n\n* fix?: boolean, whether fix ESLint fixable problems.\n* framework?: string, target project framework, default is `react`.\n* languageType?: 'js'|'ts', target project languageType, default is `js`.\n* tempFileDir?: string, set temp reporters file directory, default is `node_modules/@appworks/doctor/tmp/`.\n* disableESLint?: boolean, whether disable ESLint part reports.\n* disableMaintainability?: boolean, whether disable maintainability part reports.\n* disableRepeatability?: boolean, whether disable repeatability part reports.\n* disableCodemod?: boolean, whether disable codemod part reports.\n\n### Result\n\n#### ESLint\n\nUse [@applint/spec](https://www.npmjs.com/package/@applint/spec) check your project.\n\n`.eslintrc.js` customConfig will merge into ESLint config.\n\n```js\n// .eslintrc.js\nconst { getESLintConfig } = require('@applint/spec');\n \n// getESLintConfig(rule: 'rax'|'react', customConfig?);\nmodule.exports = getESLintConfig('react', {\n  'no-unused-vars': 'off'\n});\n```\n\n`.eslintignore` ignore config will merge into ESLint ignore.\n\n#### Maintainability\n\nUse [typhonjs-escomplex](https://www.npmjs.com/package/typhonjs-escomplex) calculate complexity reports.\n\n#### Repeatability\n\nUse [jscpd](https://www.npmjs.com/package/jscpd) calculate repeatability reports.\n\n#### Codemod\n\nUse [@applint/applint](https://www.npmjs.com/package/@applint/applint) check and update Rax and React deprecated usages.\n\nEnjoy!\n","readmeFilename":"README.md","homepage":"https://github.com/apptools-lab/AppWorks#readme","repository":{"type":"git","url":"git+ssh://git@github.com/apptools-lab/AppWorks.git"},"bugs":{"url":"https://github.com/apptools-lab/AppWorks/issues"}}