{"_id":"@iceworks/doctor","_rev":"88-b2e7151656c13bf68ad7b0cf475d6903","name":"@iceworks/doctor","dist-tags":{"beta":"0.4.8-beta.14","latest":"0.4.8"},"versions":{"0.1.0-beta.1":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.0-beta.1","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.0-rc.10","typhonjs-escomplex":"^0.1.0"},"_id":"@iceworks/doctor@0.1.0-beta.1","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-1nniEsai5NHTZy/1MkYzQnmUhHFb/Ufkf1BILkIkuTPV7YY4TayCXOW0Yc4Xo7E2UaH0SEBh2Rv+Mr1KJoWR7A==","shasum":"f5db09c2ff4f25e79de14c5ee879219d75a847de","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.0-beta.1.tgz","fileCount":23,"unpackedSize":21446,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJtp+CRA9TVsSAnZWagAAdW8P/2TeeaScXchDvQms0Skk\n1UAiNGdAX9Yrjq5UHKhzG4nDoKoEznwYupYgdPMvJ6zsN9hFdxpVOLI/y+Ys\nUt4EZxIWMY5qibMiGnsJkEC7RpHeH0gI9MJbDcXuP/+dhaR+rTJSQpCsXEGL\npJoDfyLBjFika2tJCBj/0L+MDkvhr50Fy1bnB+pvO8mRXUJ7JcvZxOZRsQbe\nqcHED4WHObDq9TEAGCa2LLsR0Zxj/1pnWCkjJ4WUS486rtaYcha3HTOicspj\nivb8EhIt0AB3B1DEql9QaYv1eEdMqDV0ylFGiINtn0wFrohNJvNL6Hf3ckEA\npr6X/N6J1adj1SEfv5shG3PqE3RHanvyID7vBSiJwZBNyIPW3xchu9BcDN4Y\nvm3i+GMMM8YIdrbnhHg+K+RNzPjlJyh3pojhT+fri5FU/II+6feP/uh8qLFq\n92Kv4WSyiC5Tn16PXBzJQKMU4VdAJHZKHifJomYt7bCJWF0K99g82J6XOd1U\n1+oap0pmRZAN6OqsfhJUIl7ENkV77ux2/pqDNTlnbg8bV3SUjbcaqcujsqN+\nPwYCjuyDkUhwccmuzXFRmBO2kEBZXsAlGS25J/xJmGmi0jqlQOunWNKWjjBU\nQl2WrsrVwDvRxdi4amoRereTEh4Eu8MVOQiT22VpAWU4nMmsf2XSyDhrfP8g\nuUKD\r\n=MPMw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGduXekbPZN4GGhMsOq57Yep1NCt0Gj4vUWHlt+BT9AAAiEA8YcmKY3flEdaA0Z1fkJoLmhmV3URD0t98uFUW8jMUy8="}]},"maintainers":[{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.0-beta.1_1596381821616_0.17825185557973788"},"_hasShrinkwrap":false},"0.1.0-beta.2":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.0-beta.2","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.0-rc.10","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignoreDirs, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignoreDir types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.0-beta.2","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-Is87i6sleDsZhgQI73Zp5EBJ/vs3lPfuJOc2MW/1BFycheszGjr0qWbT60d/MVpzr3jV43ecL5Q8YDOSDn02fQ==","shasum":"11b7195b5d392e6bbd624e2f27efaa36955071e3","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.0-beta.2.tgz","fileCount":23,"unpackedSize":21446,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJ3f5CRA9TVsSAnZWagAAyw8P/2cNXR3krgk2kZ43qJ2v\neyn5UE1MX09ESMAJD38ThIcQt3Lkv5gm122KOlV3nNEndLw+msb1azE2vgsr\n+qCLSALxtxtYaf4YLnbgY7z9LJkNwXNDzUffPQwy+Q3JzisNZc0MxjhxIMNr\nAqUYScL4XWvTxo/OMzsj8vbPQnfjQrDQNb5VZRXG3+aWnTOgi5hgKv/XMUoe\nLFTqFeidi84UvvoGW4kDbItAxPjGsMx5z2MJZS12lU7w4nL+apsGOqD2lRbn\nBobfgDzPJy3976wMs2o3B+hJ+vBIwaEu8zPBJZpreMSXelUgWGAfBRhjIyY2\n/2E02j7G0p+mP7JaVRpZTgs+35+9W0sCSq6P/TrNb2C2RJ49LkN8hGtmgqWP\nLYaDOKpcutwtwyMKg1x66kaUBL1ssinFpb9JAFKxxbalbofK3BgwNve2hl+b\nFIbYyzyF8c+YR10NZf9nUKlfl6CeLLDXVH97I72YQSvOE/ba4YNPwv8BNjgm\n0ni6JvWvQPA889TCNcGeW6HkqCKX5IX9NmsCuyWV9SPNBzN5ZPzbkkuwmxgi\nnTcpV259X6JkBpm6aIK1JKk3YE7+YpqkfWaUSgSDPlHLShWt6R8+d+i/AFUO\nkoLpZPKgnifRF7atJGhbWNxDg/TqvKMV3rHn+uzxPrnw0to7dZ9bl/0FBb8L\nvJGp\r\n=eSps\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9CVKaqK9hst5x/u3Lkk2G+cN3ieOkOlqkV4yyvh9MpQIhAOm6xhQdqZXvuVtIvQCNZG/gxKna9HZZuGrIbJ0q51ae"}]},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.0-beta.2_1596422137332_0.7781248732950914"},"_hasShrinkwrap":false},"0.1.0-beta.3":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.0-beta.3","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.0-rc.10","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignoreDirs, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignoreDir types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.0-beta.3","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-K8QOqngzGJuLkWRckOMz9nGr9LN9DhGGC6WF53XIswJo/OQaHL+NlQJvbck2QzllZ8lxlHUvc9ol2636GTJPQQ==","shasum":"f7f1ad580380fca2603b2804f3824c177ee951cb","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.0-beta.3.tgz","fileCount":23,"unpackedSize":21446,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJ5AXCRA9TVsSAnZWagAASk0P/jAZnSj8nrNXPPxtAvb6\niVnUDj6eM33yGgkWd7vku76QP3tx7CPwh0UroKmK8sryEvN6Bl0+oamGq/4r\nx/6R/xA9bkIiXJl7IGO7KrJGCd8GaXEWLBiQrj7RpBrXFxplWTGMBxH09U2W\nutm2ZK8lpuHWhoioEwSdJuobOZe3iDDVfcFOeT0tXSknsrb8G8pxfvCRDQvg\ngM1vhYDpi/4mvaVh3W2VwwlKI34da9oNvLNsNDxzCRux/ggnhPiAHwHi1oQS\n78aZE5jsigMqs9fjJxTRMrUJWXFIG1hDrKICOWscO+/93PeCFqNIXFSI+ZV3\nZqO/Jdmbs0w/2Wp0In2v1bsbA1MfqiURBl+3iJt304iGySxGBeXAL54JorZp\nYgJhgAItWc6PYxZD4QC0hM43G26dQaMyDZyani3I85gsv7Luqn440ilIVb9i\nkxNaeweO9mOGRvwhQHy7Dsgo0km8i4onZ9lcKXWESzBZD1Vp1ck7OLmhuWu2\n711eIt6DW5zE8F7ikbH6ia09MQcbfYp2+kbVPjb4RqGJpYPEuolbtz90nTfl\n/fT3NBpHs3596IgxLRW2ndMoQn18TBi2jpNcW+CUUrKh3kSzSmFnZa7nKsUp\nHUQslv/8CfypG9HkgswzQ1Bm9TZ+URlJqt6kBhG9hmhyGeO0clPOeDO5tQc+\nE5Eo\r\n=XNdy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVNNitgp/gPXG2ussyesgS48YvInXxtBevhC621mCl8wIgBj5R6P1DNwr3PsEq218SfRZ2DECcpEzc9IrLXQShCKM="}]},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.0-beta.3_1596428310599_0.6371395984669495"},"_hasShrinkwrap":false},"0.1.0":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.0","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.0-rc.10","typhonjs-escomplex":"^0.1.0"},"_id":"@iceworks/doctor@0.1.0","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-6QdfSsWJznTwI3FYgRGXJIegXb1oMdnlZFYpNwqrPIxp486slalL49uEkpGDHKDmdA306c/OhkMMm8DWAHiQ4w==","shasum":"ac7db7d9999e3bc19def1ad59d86c9ec16457e31","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.0.tgz","fileCount":23,"unpackedSize":21440,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJ69KCRA9TVsSAnZWagAAt4wP/R+S1JvhlUCltsWbt05S\nx1C2E7SNIobTF5luHRql4iTUZoGSz7k9NUt8zqF0ridPdesFNHreW6FI80Wt\n+e0IE1epPNyp4cMfdP90YD1cMC4KaTQHx2c3SUTUl7FWaSAScrVvT4wBqdZP\nphnfanfGzQmf/H2pkUx+GGgQN6lnvDeZAlpIrgOy7RIjswzSUXRHLEoFGFwZ\nMDHf8sIQr1pUy6NtO/PoUiUyLMqHuMsAssp5ZT/5bE9QAcs8S1HFnBnhe1i3\nYLmmpcqwya5rF1qlllsv4kPULinSoQz6hr3yrA9zh7JNI4FBB9LVaHllTwGs\nz0Nxf5Jeo3zLJA7BS/nm/G6CUshHGuj7M3hhD66wl1UWZ/S2Y6NRQctbMVGo\n5ogBTZVORTfxgj8htc1q4TjQGBGgr4mHXSRunqrOcgGAP/TMFRFhPns8by2s\ngF/Df85iFmY/mJ5eoCSRj3Ptf9Yy5OrX0Wyk0pyc/phsuOeFHhvhq8SCTnYL\nPmnP7+LIHhuVQ/jUC11HHyz3XjQb1dC1IW4ewBdFCL8Z9Y21d4/w2RXkkwbg\n3EYZMsHRQJWCrkllnV78rW9hBK2dt+CeWbSqTz1KEoo1IFXGhieuGJcbMzUv\nYdLZiQv/nN6ToOm6o9kKR5BDt5lwiF6DURUu0GX6Gb0DyUT0bHv/JbLR0JqT\nN75c\r\n=1wua\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDBF9XuVd1AWP09mkMId2zOHHsFbppOHWlZN9Nbk70b1AiEAoBTdDc7yfKB82MYTBJz6imUXm6YiOXhoHKd2OAeetMg="}]},"maintainers":[{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.0_1596436298458_0.1496555562112316"},"_hasShrinkwrap":false},"0.1.1-beta.1":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.1-beta.1","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"0.1.1-beta.1","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignoreDirs, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignoreDir types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.1-beta.1","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-qmAzxCY1vK71XhlfyZ4xWbNw2wf40OPQZjA0ihuZM3W8gJDdRRgP5q/yR8Tx1ZlET6AyBChafdFG/JZyXgiBVQ==","shasum":"f8ceef17272674126c0127d67192acff7462152a","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.1-beta.1.tgz","fileCount":25,"unpackedSize":26164,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUHAiCRA9TVsSAnZWagAAKpMQAIK6nau5F4njQDwZ6Tub\njvNX3GtrvhFr/zkLw+VYx0tE5zZpTFXFxPg6eLRDnaymDE95Jq+JUKXBy3mS\nDbVncS/CveyR1KJd9DjJaJwEoPO4XLawmWl1WF3YO6tuMKWOyfFuxpmYL055\nQQ2edl9mWuLRbgHeYwRja/gA7fcYLGDflBnjncgLZrsUmGmXw/FiKxzNFdPY\nFn3qIeCfQsY5JMWgREfASPN9c3FpLN2fRkjAv/ee5tGENkQhBd96frYEgXMX\nqTShPTGXuKffDr2z54l5jP4wdhlBqfU9Q9mlMXyeE7e2OrO9mKcg7+HFa/jx\nTyJ5yAC/Pp5siRBgAzpsOT/bS2Tr1Kr6Pr12vqiHBQj9CI9KYigJJi1LYJgV\njvgtLe76+JVpoiUHca5RH5ECDXBytG1UqdUSit0XSDbn/ZvKZm4YS8UNEyRK\nPT3wD30TkD1ROKM9srOk0OiDcBuCorsd7TjnxoB7ls6q7oM6IGACiHYouJFw\n1y/6dKOgKbfFTe6bome0aE34NJovcvb2u02E1h8A1LxdSpG9RgUejxLOKzZ1\ngzNYijbT5JdBJvWj0zgWheIMqYrBvSG75H12p5w5o2UTBDFEDKjlwUma0H4U\n1tqv8vyH8iyMM9W41E/g+3k+lAPEMH0vtuucuZghyQa10071LVVYPv2vKnrj\nqmB6\r\n=awUi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG759Y9x8Kk8roXbXUtmKa5CTxCJTMCEsfV+nibHEjjRAiEAkyKt2jfEoodhbWMrm7CMqUrvYlVQJMA70Dh0thgs1ks="}]},"maintainers":[{"email":"alvin.hui@qq.com","name":"alvinhui"},{"email":"yudong.myd@alibaba-inc.com","name":"empireo"},{"email":"18767120422@163.com","name":"fyangstudio"},{"email":"luhengchang228@126.com","name":"luhengchang228"},{"email":"rax-public@alibaba-inc.com","name":"rax-publisher"},{"email":"sobear.me@gmail.com","name":"sobear"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.1-beta.1_1599107106029_0.7075604777876812"},"_hasShrinkwrap":false},"0.1.1-beta.2":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.1-beta.2","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"0.1.1-beta.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignoreDirs, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignoreDir types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.1-beta.2","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-t5wty/DPhinSjA/OimzI+7x0gEjnQE/KBOpMDMbcQMnTtHUvEXqq1GwqHi+8IW6Uoho3wKFZs4mjhPHjSpbbFQ==","shasum":"a1ee4ba3006cffad3d7f83d8e21770c3aab6557e","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.1-beta.2.tgz","fileCount":25,"unpackedSize":26164,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUIr6CRA9TVsSAnZWagAA1DUQAIugjvDt7cg+00VGKCiA\ntOPutO03P4893hjv97Lc51G+Gk2p/wguRyUBYEKYn6V96I5uZAUNUcVucmcu\ng55r4gyI0t3vO717ecJnWOh05JA4I8cAo9gWRCqu5OxlKSJUxMPaYAbCWhrh\nHJ4vrke0h72mQRBvZ9GDX4Unbk9Us0k8zOAmHneirmXJxLs23bp1wprxBOBV\n+pI1T3FrjNNiFfvRF1LwBSQojdO+DUDSj7ZbYevskWn5jgV7/I+TDlbAxrN7\nGb9DiKYuI1RgUQtwA4hL3Gx6K6xiZtEQTlOpgY0fvhNm35OGyVk9TGcA9Oh+\nPuTi8fe9EAo4jtX4gnFkzUkeq2iDyq+zqEb/nFMyN84yluvcB27IDqTTm1NC\nAFic0XW0x9d/PxPYnf/kFXEUqQY20wUjGYz8Cg29Skd8wMP3alsWPc4Rx9kp\noIlsdjhOds+qwVv4ZAMRzv3UocFTvAAelQj3IbhLmfTYgcuyW/0+7+KKrOya\n4eqbO6A3/TyB/C0PZMqPV2SVMIuVzFVYb+tWzcbbYeicFlvKLN0UouKneFKR\n6Xhu5ui+UqX9g9/QFVQ4tgr/Fp3dyv0Ka2DYkQv17WGaw7KhSIO1wIJOovGw\nOFR/sUtxi0r1+XCdDsNNHGm/c6IQkZb2n8uZs59eA0v5XYNJXnCIC8t0TGNK\n6QQq\r\n=mgYz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGZz/LtIXwdxCqyOIkEute9mpqXzYyXaaBLj3ZsNePo4AiAhbJUMFIuIzcypm+Z+XWmhOSjPaSUh9QItce+FmkiJSQ=="}]},"maintainers":[{"email":"alvin.hui@qq.com","name":"alvinhui"},{"email":"yudong.myd@alibaba-inc.com","name":"empireo"},{"email":"18767120422@163.com","name":"fyangstudio"},{"email":"luhengchang228@126.com","name":"luhengchang228"},{"email":"rax-public@alibaba-inc.com","name":"rax-publisher"},{"email":"sobear.me@gmail.com","name":"sobear"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.1-beta.2_1599113977492_0.582167190023638"},"_hasShrinkwrap":false},"0.1.1-beta.3":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.1-beta.3","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"0.1.1-beta.3","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignoreDirs, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignoreDir types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.1-beta.3","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-0xGFewf6tn72RCVdkvs5l64hNzXZgr2o+7u6X4AAE2p4UWJ52A92OeMxi6U+WhPcV7xMmSH/HlzKuz0deUHNjg==","shasum":"2d964814c358342fabfefc450b0d75adb31237b6","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.1-beta.3.tgz","fileCount":25,"unpackedSize":26164,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUJc+CRA9TVsSAnZWagAAoB4QAJ2QjkT8U2of5UhIbfl7\nZ9oVqKCcCE2bIGRPHfLpgyEaKu36PV+pS8PtuV/ET2yBfPLkA/hc0ZYe4a1N\nCuBd7S4bynK7MYxt2v/26neoUWPhsTFSRyffgxsrkA8AmYh28HiMXfK2736X\nw/69TGCbs40TqT+vFxZ49mukfwxMsd5n5kQgCL1dFn4gCPDqvvUr5AzkPAaW\nnlc3gKFIog6EhQsgjd+fOulpFf9funaSfl4HjxlIo3owGyHV1+QEpjkJNWof\nL7a41IMyTJcgIYIeRh9WzYGB72SQNGo+TWna1OCGy/xDcE1d4Oj+pWMTVPVw\ni6aWxohXtAXBMMR6mzcn+gKoOEHFOxHaXs4amEL+cjs4fTmKmLoGwt2zAZxL\nemdUZQpb/F6yq5UZBjAeUDKmjlPxmQ/9zvx28+W3mRiJs3rLLN0NziSYOFPR\nbU3pwxn3uP0z8FVOYzGHNEEViD6621K1WzVnYny6eVcS0dSAJv2KpyTNShPU\nzkG0xXeNoeUttqW2+BYU+iODvlWn1u3VzEmGRgu/FJ2qOJdTJmyaVc8c01cm\nY/X/qvrB76Q0dsSk23leHqCjJXoH1scVEcmB2LxaRrxrK1LC0FlHS0YqXoWZ\nwdiH+3XIbsDgii6ief8lH6+8E0btZ/i6Kc07uBakhDmpsUwRKdXaupERPARi\nbB68\r\n=ABH8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCW+kNa5bCmNr2e0Ng3+QokT34pqndAoPBVlKl88QZnIgIhAJD2BYrk9lRxJhO1I13VLkq5PHgjqW0AQ8xIPFpzI07L"}]},"maintainers":[{"email":"alvin.hui@qq.com","name":"alvinhui"},{"email":"yudong.myd@alibaba-inc.com","name":"empireo"},{"email":"18767120422@163.com","name":"fyangstudio"},{"email":"luhengchang228@126.com","name":"luhengchang228"},{"email":"rax-public@alibaba-inc.com","name":"rax-publisher"},{"email":"sobear.me@gmail.com","name":"sobear"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.1-beta.3_1599117117780_0.13240558550421255"},"_hasShrinkwrap":false},"0.1.1-beta.4":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.1-beta.4","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"0.1.1-beta.4","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignoreDirs, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignoreDir types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.1-beta.4","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-qbGVV9Qq0R8quQ1zejalS7ir52OnC+eLK/aI8nsaQiBh+9nAWnsJcerH/JpqDNnarAWozMo2XI9Ok2kD31g3dA==","shasum":"5b25db30e8ff56bc90f82a60fa81a38c4aee79a0","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.1-beta.4.tgz","fileCount":25,"unpackedSize":26164,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUJ/aCRA9TVsSAnZWagAAQ0AQAIma8sWUdjgjyKdQ3f1I\npIjM8fa7ZnwYvWJ+UMFDdUNvXKRf1JTnhPMCj6mWz47h7V/JHUvYy4+MPKJh\nIy7TCPu2Bbm/qaBv6ZWNhyR7VH4eUUgYsyLkOQhMjUqMF3K/iW6F7PWhxwj0\nYRluKyJ8667XkkIdemJkemUyvGmz4RUD0aIczMabRBp5Ft04IM7TKxrG5xHY\neQSz8VvJ3a9/5lPqSchiyfgA65vTIyOx2qxftCy5qC3PHy6ttLRtcFFI5aOl\nw166FhpzaG3LnKg1RpFTti3J+7N5tv+DQQc4Ru2bRAoSgXFP5uBLYPKXkSYU\nhIMlIfJiiHBEhjInV1cUTjLZc8DfgUcm/TriqSBuq5UuD6Pag4S9vBEyvwWR\n6iqzTjCvqn5trXH8mb4HerUfe/EffYLs6F6l/LCQTAJ6iiH9VE8creD/D+vC\nxJC0HTt2jmYiOnZlrIKVAcOusnJZ9Vvz9B2L+H+/XMpmDj0MK5C9ulWHUrWI\nTBijoaTP1OUm4et95ODXJmRptuFsN3O2DJKK/0mpKk8SZz4PoMnh8we3jrCE\nC7clrq0P7uYKaT6dFcaxVP3MXqy720DzNaaT4T8dF3TqBb42WMVGyG6a0z02\nWvJkinIRSwAXrtSqLpQu971I8zGyJ1drkGGaZYOsisYB27w8vWnEq9KCyVwj\nC2CG\r\n=lldo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH0M6ByglrWg6DCFs1c3Cgo7vBKkCWAgwyzhCagET3enAiAkE+v7MJYoaYPYey4kqs340SYFX1186G9j2vxlQkJWmA=="}]},"maintainers":[{"email":"alvin.hui@qq.com","name":"alvinhui"},{"email":"yudong.myd@alibaba-inc.com","name":"empireo"},{"email":"18767120422@163.com","name":"fyangstudio"},{"email":"luhengchang228@126.com","name":"luhengchang228"},{"email":"rax-public@alibaba-inc.com","name":"rax-publisher"},{"email":"sobear.me@gmail.com","name":"sobear"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.1-beta.4_1599119321703_0.0057129443035943694"},"_hasShrinkwrap":false},"0.1.1-beta.5":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.1-beta.5","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"0.1.1-beta.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignoreDirs, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignoreDir types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.1-beta.5","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-FCy/t2duTPwtNbGfcF7IBDQr9wIDDUdmljG6QK1AgRDJx4oglILIIrHMG2Qc9QHQ5F3MqNxFUE0cAHOpRZurYg==","shasum":"01d9e02778915a0833c5e5f0ca4523025ee5bbf9","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.1-beta.5.tgz","fileCount":25,"unpackedSize":26164,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfULDyCRA9TVsSAnZWagAAltAP/2+B5XgJms8tzPswNryl\ndOgjfTKrCrEGmHcaE6Ukq2JC/rO90X26oUfamxzYZNhyHg0OUg5PD+17jKOR\njZic9xY9nWvsPaDyiuuxu1aspipldIia1ATn4AtyzOhbw2KvfJfiKlMOvGo7\n/RwWMRTNXhGnFPfnhvdob+nk+QuJAHNl+h00CtwKpBCTGID58j4169dsYHC/\nUVvQKorJ0mkSg0zu4wRC7h0nFde4d5SrgoCNA4KTkxjOoPfdMUkMBN1HJZSO\nNTQMOnMKPo+o/+S3HwF3O+Lu+glQyDbrdjtl9hb93meKT4yaiPNrsYPPXCfE\nXe8PPSu94YNa06DIla8hcI0zX4yS8mGrS2WLtzQXw4TcRB2rD07GLDPAd0HV\nG4uLghI1+6bfAOXinLdmRjDLBZNmG6dnD8PUAFFoKGb/NTYX4hLxuHEhEXx2\nKl1ACaAH+zT/opY1UV7jB0gxrnuGCZuT8jFUfy9aycDY0L19463c6OSSIodS\nrtOIgFGRf3DtjWWr8RWetGumzOt7xZd5ziW2tvxlspBwRHTdzuvhBlhYvdTn\nSj/osd+FkiKLtvgixrsrNgwSnO1ZyHOdMgeisJhFL5R8MvDkLERcwtEy0Efk\nRT00YbZ9emf8WR2UwrlspZe2pESGZe5V+tbAcT6FpV1xZtm0BUuyC2TDqvxf\nh7/t\r\n=dXno\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICV7vQgz4iF/lJA28Eq6UBpWwX7an0Cb7pQWggcBuZObAiEA/oCCG+GGeJgWVOaWZHJdo4Hf8NTWs0jcxKz5HLdgLMA="}]},"maintainers":[{"email":"alvin.hui@qq.com","name":"alvinhui"},{"email":"yudong.myd@alibaba-inc.com","name":"empireo"},{"email":"18767120422@163.com","name":"fyangstudio"},{"email":"luhengchang228@126.com","name":"luhengchang228"},{"email":"rax-public@alibaba-inc.com","name":"rax-publisher"},{"email":"sobear.me@gmail.com","name":"sobear"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.1-beta.5_1599123697820_0.9588752726093603"},"_hasShrinkwrap":false},"0.1.1":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.1","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"^0.1.0","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","typhonjs-escomplex":"^0.1.0"},"_id":"@iceworks/doctor@0.1.1","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-GVAdqJPPfPJbsnRbUNLCKV5ldfaedDXGUxA00MlFXE6KTL2WRGAQ3wXVHwMi7olB1IqNTWav5agaTYG3QDBG2Q==","shasum":"6ff9776e1ae6051315ae5eda29ca916513fabf9b","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.1.tgz","fileCount":25,"unpackedSize":26152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfULjFCRA9TVsSAnZWagAA+rUP/jm96kgZsiBrGdG3elAF\nHhu1qggijfRNqLbtWIbv7eQ15sTsJK/Ild6FkVcC4kr+NgOThQe9n7bYDJuG\nVelOlM1UbvY6fxcYW2PsK9tjLq7vX6JKJeJKTbJ8Wj25j/BJpBFbsWG60mBj\nEHi68LUcd3deN6R7ugyGVFlZZrDnbFwU+SiLxSgmZ7QREP1IijIRPn4Hc9fz\nTPpWXUTLQTjr6mVjEoH6myy7ykjAAdCsfnAnaH4Xwmt57EntHRK/2HOHuH4p\ne4Nov4T6cs1fVEgt1uRycwD4Znhuqu6dMYQf4+LEodjGqqam2hjuyAg4shlI\nswlLiYnXdlmxvhS/6hxyALTermT+olSv4T5y1dWPwOCk9mrZZzSYwFoghxKY\ng0JpvNgJIwKOnHt0HHClQpTmAw874KnH5NnSJMwEdFTVMTYegDQhpTpcO/q2\nT6Z17nVJkSdQZA4qEgMgHReGPKOZgk98b/0m7w/dBUxs3r9EG4yjfe02k2JF\nfXsj3VPkK7V0T5QgyIdU3KvC8E6sQSaF3hxxthv60FgxoH1+2P0S9C2VKKVq\nlc3v2BNi7MsB4VZ2i83QDkJkQ8Uo/HNxEn+f3CpDfLULU/uc9W+Fjtw3ztAD\nEj4I0YO15s7TuEzZskPEW/9/eMdwQtarbDELQqmq/sUJGuWypys1k2cj95FM\nwNM5\r\n=B8vs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAGdTPQVFjIge6aa6E50VmNS/dxNmpEFPV0SuB3RbwcnAiAWo0xODiUg8E6Na7bdm/1tCIjN9HnAs3ARWpbG72ytiA=="}]},"maintainers":[{"email":"alvin.hui@qq.com","name":"alvinhui"},{"email":"yudong.myd@alibaba-inc.com","name":"empireo"},{"email":"18767120422@163.com","name":"fyangstudio"},{"email":"luhengchang228@126.com","name":"luhengchang228"},{"email":"rax-public@alibaba-inc.com","name":"rax-publisher"},{"email":"sobear.me@gmail.com","name":"sobear"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.1_1599125701110_0.7707892393878404"},"_hasShrinkwrap":false},"0.1.2-0":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.2-0","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"^0.1.0","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignoreDirs, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignoreDir types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.2-0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-UrX7DZSVhQJvMw027rc5xZDgbFgPUEpzP3c+lzvZ0swCzO7muZmENmB4aWFFFeFK0BxTAVXmPsR2Nh6u+3blJQ==","shasum":"be81e198d3627de2a837b81a0eebf8bba12d562e","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.2-0.tgz","fileCount":31,"unpackedSize":36665,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWDwMCRA9TVsSAnZWagAARHwP/0HdMBaHy1LtnaUsaVAa\nJopxUToC2/HRgqqXlpEIImtP7V+xWZpGQ+7Ns7+5mxpWxyEkGuuSgGHbfF7L\nvm2+ZqycUpjdjQ0Gd9tzbyi5PQNhwGCSAEjt1QmNOID6MP7h/AyznJqKmhVq\nXYkebZc6FG0gZzxANsjQJcniWn2FIQyElifat8M3IJHPfwxS6FiX7g6eW4un\no6M6OqhEe6HrxKqy7fu3d9IYQT2YPcEmliuv7VcCUXVbXQutWrhJITqmZINZ\nZohD/EUNb4IpyAAG77ZFEtgZWc00SkO843URAnyQ/c/paUB4sLlsZxt2EiYZ\n25wCLEBSSmdqgVyc/ITRf45MGYbjJmPMSi1rIZ3i31tA+/QKLOP6QIDsayH7\nQ3gMYSyHjrPGjlRtlmPUVCxJqJLY+5gcl3gTmUBagHkYpNbZCjUBS/y9OjdF\nMfq+SXpGH3zct+g1Hob+HzfAKBXlwvnLaCDla1zMLKc7yDBgGstFSABI/nJ1\nvz/O5Xsy34DtwaGbHi/AWZDuX67qgQALo1crUCM7p97lmejmJXgMhkJjSZkt\nvPnJoUpbX7Dmmy77i0wKjcU1j/Eko+S++3KTWMFYRVBylOHRwg9ZE/XgyRBW\nKLcOw0xuArJo55vO5gUB2woXiH5+J72o7BCvViAJk1+V7UIsahKrK7yUBeFf\nquAt\r\n=bXCi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB/qgSSUY2YLqEbRzIOKhsdJXI4xLV8nQ6Xc72OOMlY1AiEAwG1RmJ1kJgZefwPnvZL4sFD3sc2VMh/Wyd1E/6//c2U="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.2-0_1599618059955_0.20584277955849428"},"_hasShrinkwrap":false},"0.1.2-1":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.2-1","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"^0.1.0","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.2-1","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-Pa67w5kWCB5tEizEFf5mCincyOpqxueL1y213whB/zNj1TbJN8v6euHvOXEClwB3C+vkEVCfuBeUcuvKFj0TWg==","shasum":"00f4e3a01465855a9355336b961fdc06a8b430f8","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.2-1.tgz","fileCount":31,"unpackedSize":38031,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWEFQCRA9TVsSAnZWagAA/78QAJuKjNSs00SCIEZxRDoM\npVdcZgtN/hypDxZnIX8OdWfEEsBf/hE3sDM/OGxEjrkHVi5FcLbDSN2Bw05B\nVtY0b+/c61usBFCWtaS9VlfA/c3O0G5OUMDov2x73Dew/3X9zdWg9cLTDEAf\nRxd2uMdpwC9lRdUJzpF6t/DT4cx1yBR98uWXNAKXx+sP5i2bYk4xScsho3Hy\ndlNxkMQnq0r8oMOs/agOKw2A18FQhGrw7WNYdu3pPY6Zicy7nxkx5MWBCVYx\nWZTQeIrr3rEjYwJREMcZs+ZLr2dIrRr2RsVXIdKV2o4XNBDVvwiC+uLkR9yZ\neDdFp1itoMqBqfM5JNZtXu5o450ms3CfMtsBIitYpUpPUvbAHPQnGmfGWTQJ\ntjyRJfx31SccLLq54TU1Yx4APp54LmOV1bCc7PHsyuZKZJSJB+u9r1S0yR0i\nVpahYDcwknQ8BIVLtIZ1cqbPx+T+xlMIeLW42VvJ5t8i98Jnr3Z82dA5KdOV\njfA9BMKiy1tO2NBxMLGKIUvCiXtrCHnsXGp02Ocvrr0/cO1b5PQjKIjt7zVc\nogsmSTpKhG8aM/oHUpI7x9PRGbnV7eotdFFM6XYSDG3u0u5C9i7/qQ+UJ+uh\nXC8DmdiDpqLyhmGaZmrcUPu6e2awDZYjj+oHSLVitXnEex5rJNZqfM/+fgAu\n2ni+\r\n=tEwa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQt6TzQpiKuJ3c8xx34SLzWEQ/SbxlfaSpCvMWXrdSCAIgEBBSduwTUSS48FjCBHoOEDFrPufMdQIVI2TG/MuO1Xg="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.2-1_1599619408551_0.9243745381371822"},"_hasShrinkwrap":false},"0.1.2":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.2","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"^0.1.0","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","typhonjs-escomplex":"^0.1.0"},"_id":"@iceworks/doctor@0.1.2","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-jTNJRwSfj2Eu4ieY35wyxC536Dy+7trnCs0Y/euRQLgBqvthXJL5UTApk4hNgWKHLGHpIq5F2loBiXfTZUq23w==","shasum":"897de45b7473b9632fb81d3b50fada758010b841","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.2.tgz","fileCount":31,"unpackedSize":38029,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWEL7CRA9TVsSAnZWagAAtTkP/jugBL93uJZ6OAX2u4Cm\nx13KaDsF39z1dMQZjvHUPnaJOk5Y0SmnZv535AGtq4Xg1/fouDt0s5BN8dGc\nci4dZEV4BUnYArh3095XwCQFqRl3p83LHU/jquQbr6LjauGXNU7m+3RiCdYF\nN9Q5QnbXrHxJ4AYlBttSH7Egyq2/C8Wiy87q1xsSAlVD/s0RgkqEGXNxitGi\nGnGx2NQg1f5UTDUPlt3Fxybe9VmAufPFOXYjeJjep/qCfELJRstWTY+kCddu\nMvxL4MYYry8jwKOSdfRF/Tnp8M3Phyy9Xs5qDv5yECdFNxZRk3EHv2UeB9j5\n740IS5ST+appSqYfnX8+FH8ShX9h0y8Ff/i4tLIR+3tpNC9pkT23+OErYcsg\nWZjiFRazsLZZLP67sZzpi8NRb2/6SiBRmDqbjkxiIzui6azFZlYvaJMhO4Sd\nGURGdKXlosGI1ho8rmTfo2t/xl7+tHlKqKhR3p4PvoflQRqcg63XrAl5Ztzi\nF9V4xahXszW0YY2XWU3IOsInoLGRv2SN4XtGb1ip5fHkNa0iqfNmoJHCJp9I\nDXNGzBql7jl83XIfalog5HM//3diyVW/kcyPtNh+l4Bg8idLlgmYCpJAFbdh\njWUGSlF5iKbM3vUpWk7g2mXr3iJq3inNb8aCndMgmBCVmpMTGWcGWgEey/Hd\nEvKc\r\n=H3JN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGcv+FMl13UnLskUtljqbnEkBGUmmi0v5UX/tjNJhfiFAiBh9Jt7bmAySk97xMx93VUmnjlAebg1RiS0M4XtHHRs4Q=="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.2_1599619834740_0.04925421690235554"},"_hasShrinkwrap":false},"0.1.3-0":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.3-0","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"^0.1.0","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.3-0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-k1oWXmkK/WHHSPkAjsG0Ug4oAnW6pY/zT8uThciOLIQpjHmenPIlgYGt6QEGqhKzZmr7BaD43EHfs2eqDERtyg==","shasum":"7c406468d3364e8afb719b7766ece882b57291e9","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.3-0.tgz","fileCount":31,"unpackedSize":158084,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWFWJCRA9TVsSAnZWagAApmYP/0NUitFek10pFh5jeL0X\nXBQ6Js7RidM19Kp6l/Cr4sBBfX7UxVVKFg1O5H1Tv0SseeaKWrO4Vgp70rHU\n6Pnb7KxobT9ecZakS+/DLZQ6I75yPKIm1xbjWC6yY1x9ZTiq5fPclbz+ndHY\nUKT3F9uy4r3zY0kqolrzXT8+AUbeHVrE1Y0pNzMgZdciWv2SMY4dMvZfhhzR\n4mgsZfMLmkUsWbbhYXvVjvmoLpdo9Xm8VtJE92K4ob2XNhRsB2YPzSC8ySBa\no0xuIz9+XV5x0GD1lOIDyarpnylV3D8FZqMsUkWTlWaxQk1K7zSFPhKH+6qu\nTe0IDGL5IjKRvNZtjfTIre3WRmIEfaIjNazuLhwdcDSdxsQVIVjR8Q04NUxz\nJyYtkCrc1wMENRPtutDONmeXdOvTGWkL2wgSNqjSG8zH73YXLsDJ0LzcDj+L\n4xchozioG7yMJwN7WPsqtNQyElj2na8/+tRI96T+cdz8zZAjeRakNWMfFmo2\n6HYfCglQ6QtweUvyIGGAGejFHn/cHdKdcA2GApowatbYoX/tD0unXjRRrim9\nKpVJ+ch0Qi21wRBYepXUr0gTSYTVd9bQ9hg66Ndqz4VcRnbWGxuut67z9Zns\n9cYqodxN83R9cZq362KbXMaxqv7jnaDeDBbXU2xcTcUSgsNRvky7ciHw7Buu\nxeGP\r\n=Er9P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjhRQmH5o6k4B174QzWw87nRPQ+3sgDI19X5EkwV3TAwIgLmVp/MxtHtSwFkxI57JYGzRB25V+qSE4hwom7CaW3Hc="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.3-0_1599624584868_0.5339812868433922"},"_hasShrinkwrap":false},"0.1.3":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.3","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"^0.1.0","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","typhonjs-escomplex":"^0.1.0"},"_id":"@iceworks/doctor@0.1.3","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-w2cvBk/YUiQFgESJWDHV5OBi40fHzQ+WTWOn4TNrd/06DhjcylBG0XeCG4pOR7O0b+3qsVQQc2ZZ1c01N5M/YA==","shasum":"0b39d7dac64b6aac24f12583f72683094c739cb1","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.3.tgz","fileCount":31,"unpackedSize":158082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWFiOCRA9TVsSAnZWagAASQcP/30s/aRivuvwr3VDaIFS\nytr3XVCqaw0W7OSV8J7mZnpq9naoTBUlhIKN2Fv3IL0U1JY3rHROuc3epIXe\nGaSdg1xrClfnPk8sYZ+U5aghAz6zyfjX4Z9jO2Lg8NWI8GnRrvfxXiTgTorm\nFAInoFa2pJbP/kcM7ojy7XhGojt52l0FEfSax2//EjDzUiEGpE8KY/ZSWOlv\n2p/WN1kop5sMjLJQUaQz6s4vUQych4Jrh1gK+zB7xoZbcC+RumX9DzWt2mu7\n+LSK0dY2jXmPTg9HHhG0uz87R5rSW3IPZCUPcxkAsxk2weOv9eMdTPavOCWg\ntNKMl4l/5U5bxJsT7s+RB5F0RJsOrsGsJsqgvS30l+Vt49Y8e5uDJU8S8eA/\nOu9R1EGIsT2Q0mGWewHH3aO6WYngJx8+1YybH7OWk0oh5j80qTgqT1Srj0bU\nGn45o1pYcW5Bswba+pV0UiZkVBBAqO1SH4G7gfXPVnDIVwpRaqXCuq6zkXtY\nfSEqyrGXTsE4cmbmGqKhjvK1HuqdvEANysaOZHRC5jte6cJkAhXXVD20bjxi\nag5PrDfGKmSCIVVYfZeDKCPl9UT8pSAa4OsCPUCXnoK3q+tUf0MQEwsPsMz0\nAFfCdTOCHJaIGA/97zfTnE2PsVXck/94TQl4WpdDnVd7u0+ez2mR3LtJ+zG9\nH/6B\r\n=qGpL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGqqxKP4qlRWXkJVV2FGI3d9Nm/cBhMEcTzFhNSkpL93AiEA62ScvKHm1447WDgbwRvlzdMHhS3au2Vyl+0Zv6/rpyw="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.3_1599625357834_0.8822472277187297"},"_hasShrinkwrap":false},"0.1.4-0":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.4-0","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"^0.1.0","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.4-0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-4DAy28YQtt7ZU4phUaKkfGE+/Kn02WSJtywFp6G61ji/dFEQzB7GoUZxdFUQxZ+ceD0KQHNDNkJLyfIqFUi+/Q==","shasum":"ed98d36b3bb60d371df7cfc6e249d37414925d33","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.4-0.tgz","fileCount":31,"unpackedSize":157666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWvZ9CRA9TVsSAnZWagAArsQQAIDw3MNTxvAMwWsi+2n+\nfcPTAxqFg8YXyKOtpMfcgRJ8ywKkD6tgFu/WY5FVjtSzmEVvspLyg4eXej7D\nJRiwfWLoErDMepogEw7lvhbTpHUF2GDNc16auMGuLRMYhWmBGvNPqWDOmoiI\n7+OuMssev7cIqLcOeMbIockhgBkVb+iSMf3g1UVqPRepv6Jaid78OHrvGYIU\nePJdpoYCXwgDjcdNxKJ8FCgaDd5xEBFtQZ6nBJb9irnAWwJOawC7YLv9aL4h\nWQ3AyQuTtVdYQr5jabFgEC32HIed9xD8EHqqST2zSPfcDhgdU3CHLbZllVDc\n+DNTvnfT+EQM9Ns9+LEZIgYaM/GyzlOmzIVFI6raX8VIJ+WaUZxmVvI076tF\nLp9mmnREbTB1FrvJ/VvaIi1yMV3tboCMcuabsEXPQuw4U5zuogFCA9+D5ijy\nj6VtiB2dfxwcapbEAyQISE9KYSIrVfT4s09s335nVRcXWqHMThQUO7GX8065\nsLD11Pca4sNBMfGuO8zOqud3C8zzUmhv5u2UP3FeBgs3t/TRyC4kiNerPSAZ\nY7a2UdXgJHJ6Pz3p2kiczz42mjz7syDetkJnqJZRPr70x2VmoI/rS/5j5cQM\ny63rBYR+3WWfMLYbfrAwnhGgVwBW1LQgq5ocBQjeoih1/GQZZvB1EN6zGfhB\nD33D\r\n=hHh4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMjnUOevHCGc8yJ4WHB1NYwNQpvA6XtWpcfGaCjBTpHQIgaXE5tgEbptTb+8RWCL3cg5QKaOYml0+xO/2mI1G3z5M="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.4-0_1599796860639_0.23213016518255047"},"_hasShrinkwrap":false},"0.1.4-1":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.4-1","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"^0.1.0","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.4-1","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-y1dc2VOHqlxKTU+eHygYH5hS2Uhhy41ArPC97Lh3hXpdHbZLfj2On3RozG0m5ALyJBJBFRKfYRHy36mrXL3wxw==","shasum":"5bf55fb9be974c0279aeef78ccb53431039090d0","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.4-1.tgz","fileCount":31,"unpackedSize":157666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfW0xTCRA9TVsSAnZWagAAjTsP/3v1vt/TOvwiQRWwRPKA\nCisShrMpsNmzrpLozEyhm9pBq057bLCWvnRUu6crz3y2TRNZrkmUmVW8OE0A\nGY9+BHta+0527C2Ay3Kdc6RUTcWAr6Z1zWcYCV5as1qtT7BvBOAd/4n7WXSL\n03uiPqdfNqs6J2GCHvLEAUiketXKJaYjnOnbCoQ56KEnkwETdBFGx19UCr03\nzRi9m1jXdWaP09SE8M/jTlViWJpkMs3owVqx3cqa1DzTU3JMIvU0sR1VRqXS\n25c+lRSaYa245FgBSS+K/+euwj7f3PngX3Nv5RaqAmg19ggA7PGUJVzpyMVd\nNR4B9hcJ8LvoBBH8jdYUUup6DYYKtBHeT5rzQYgg/lQSLVxona6af24uZxsn\n1R0qXzEoccJ2jhGeV1a9Gn4Pf9kPc620v6BeYGhpe7xqWKQS3rY5kEK+5dbJ\nss1yFky7CxSVUHbvaBxxF2rrMmo0RBP50dDoFiPlKPyVTPsvLAMbVVVMvHkN\nsB7nfqSdbwA0eE7GpR/ZRf7Ix6+AEQY48yq6yxnTkkfRxdTcduMYkEGWCNN0\n3BCbSYCZxpHiI5Sk1WMYLost+Ba1zo9XcD43YUTdYG79kiPGik855lZNiPC8\n61eHW4tjCqcni4eBpjund+U3gRb2nI6HM/E5R9FZrNzE3Z+IZ6WsDDWdJ14v\nrttP\r\n=PN4M\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCo0uW1CKHUcEFWRQtz34bYWFICrleF/CjQ2yOFkO1cvwIhAJgB64MeC7MZHR4uXUTcTLI63vgEMd4m+86/itazjc4Y"}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.4-1_1599818835065_0.22507471644665533"},"_hasShrinkwrap":false},"0.1.4-2":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.4-2","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"^0.1.0","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.4-2","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-ydJSIK+QOJTVc5pMDuSmIKIint/rAAAd+vkYjY9tkd6++QnhDPjfuYPBkNzuq//3BeIG/uHVA84CzDcfOnQ0ZA==","shasum":"3e037aeebffcdac489633750aaa08855ae9b2f9c","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.4-2.tgz","fileCount":31,"unpackedSize":157747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfW08uCRA9TVsSAnZWagAAyewP/iB56EwvoGe5CmyxqnIq\nkOHAvnZEjtJgjXU+1x5ZUiavKsP9bzBPiUByu/Qek7/xUWzlZrK07pVWUxGN\n/ug/5kf/3iir8ARnaURm33+eteeliXYA+6otI9f1ShpNuky/hET80evNeZ7d\nKkgH6gnLc4FphBIxMGsAHjT4pH0RcJD98nEPmSNbl7bGK5l4FtMtIm4YXa6j\nWOunC4Xdrk0DrXZ3D1QaurqLlnwWkCc4lQEL2AcGVItWK6XSvy77K+HIQY11\nhCmT7l86w31kyEKcyfFJAGNpiVn7QMWpDry03Ctoc7JbACyWy5NVv7jEmQ5G\n88a4aiw3PhCuURNR1vWGoa4fvpx+NsZHy4xXMKI2d4k47tJK+sRJPiCeeamB\nfQEUi65oCWfy143qzTEPUYgiS0Hn2sR5Ct16pxt/zuhdSeumOqXeIzUqgEO2\nhuHB3f6Hj1D+ymow62CymDCGoCzBeciIOTCAIauO5pA+9he1jiGLggRTekO2\nc5cHxzeH6NuRsSaZRsbr9gSTdewogd2MgkW0SQtN45efK/t/9l08ueF5rTun\nYG6OjqRIIXQA/1/dCpIgbwTGUSZKLIdvW+r5PXFFvwb90ow6yJ8WS7Ar68it\n+f8YcRe5z1OaAvFUbefY5ZAvp43YI8vOV7y8aiQQkgtByGpFR2ikDC+0oumX\nOeV4\r\n=sgM3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD40jjDo7M+Ufdon5MaekcVKpVWaqCLDR6UWWl0hA5VZQIgYuxXFXNg2P6eBi5VlfGcyFkuH6K6qfcizS4Kanpx4i8="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.4-2_1599819565672_0.5530675051789331"},"_hasShrinkwrap":false},"0.1.4-3":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.4-3","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"^0.1.0","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.4-3","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-NeLNAUvATkaRoq/M10WPbr0bv/YHQ0LZAtaz5h8uYpm5HaWDQc1L8NaCVJg7onTSWqXBufchGr0bdn1SpEQD/Q==","shasum":"14a12912bdb0271c38927f1829846c85e4558b56","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.4-3.tgz","fileCount":31,"unpackedSize":157844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfW122CRA9TVsSAnZWagAA8MgP/2kZamADKVZ67LsMZpIv\nVHaIIVlCovUXXBZw2mLZF60mL00QBKMff42FzPJkiS/XznZTaHepoQbE5KAu\nkT2G98+AZ0J0+/qKikC7AKFr2htwYd9NKkDXJtXk9ZA9L8xINrtXLOZ6rCLM\naH+l9rz4ny89EYJDpYq+553VDEVu+GUyFe/1aIqSq77T7+UdhEKHoTiozKtk\nQ1UfAG3FoHXKhKJV0itHCvmy21AS4tkaunA5dNTcq860qUWvkMo9vV+/s8Gk\nIJ820aBQUbrJcper2pwIqHNdznxKkVWi5Q1CH9n/WLTLHFVxyUX+aRKVtPvz\nkPT0gBFMmwUc29be74aK1Jriw1E+3Z4lxSMKrm/jjH3EKtAMlZ6MyO5GdVpb\n1x4vZXwbHlf+cbhS313pjNO3fwnTg9PN4RN5MG+CrGuwPGenN1Qqy4y6JCxi\nU4+cNyZNyajMc6+kT9k0LosvFzldJ7f3QQzSX8fIOHfOtZkP7l9wpwuskhcz\nMuaWr+IyZ36my1FVp8D3RtbHWZNS2w3XLkcbdkpOF6/JbXoneU2YjvkpLUlD\nX8+LywsnOID7vMnM8uxJj70QVDFJyc/fC5hG9eRY75WOqIRi8iaXsRyiFapw\nH2EyMLDWVmyUtjOzTF1PWscK045vG1FTqFmCZjYRvV2lQUR6yb9kYOTYOf71\nk1EK\r\n=kBn3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCukGUdGxRle6aLpfB2v1rswVBFoKFiTsDDZuy4Kb3cFQIhAM195OFpwoNtfDf9gLsRptpMNPEs4w+sEj0Swj31iU0S"}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.4-3_1599823286222_0.7186963074600659"},"_hasShrinkwrap":false},"0.1.4-4":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.4-4","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@commitlint/cli":"^9.1.2","@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"^0.1.0","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^7.5.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.4-4","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-TwEGhLoZrcov6Y1d9uKdPcIFagFjlknPfjdBmjM4EbJQXm4yS4DEE+PoWKuxXaUvD7jGPlNxf9bB079oy86dOg==","shasum":"616351b1f31dcc7337a203d8a5195d670c9e22f1","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.4-4.tgz","fileCount":31,"unpackedSize":157905,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfW2YoCRA9TVsSAnZWagAA85gQAJsLzaGD5cUOAcQMpaNP\ntt7rbKQLbTjF6P+bwHyGbAvnSlh8Lh0AhxT0mlS1lMtlhojIr2Oe6PwBc/SF\n8FMk/VZUgYIK5de285kgvhW/7cAJ+mFja6EgS5QRO9ppzL6D6Adn9v5LiNw5\nMQFWEMJxr8fhs8PUbV1E9+8jk393Y4r3NhtwOnfcXHbGz3fIRlhBU63/K0RV\nHywK2iEvXvqFkv9uznOPVEU7Srmzr0LrHC3EQ7Ikfw9OFdplAF2d+8EYh3bJ\naiECyDbIRGrBEXldNtepenq5ZKJtiKB6fKVA5ISw7y7NFY1rccARJ6xGl01v\nTOF5ZhmrY2pl4E8aJhmvVmqcNQOKDaqc0p9QUoZ1QbUyZT94f4XmFA5CdwDG\nhYUVrtpS6yoBiccAAPd3c52bi2Wb3Tu3V1CuK0TcRE7yo1lnDmA2rkmlfqUl\nmQ+7cGYi3MF8Nmmza6oq8kJ8+Bul+pAoigkWkrJ2N91x6KceTE0eqW3uxpkV\nCpqlAXV3bKo6ObvDD7Xg6fRFwjfSl5F/dGn39G03NE4KLuKC+Z62r82pss22\na6i7NFti3r0/ek7druLJrWXaS1dUAwI8aC1Ot97Vh+DhGzXDkwdiI0GApthe\nm0TfFrPvCaHdUH9CFF81Tet1XU6HKNr9mQxw1ig09TXdM0EkFecYpcwPY8w2\nRyLR\r\n=gudb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGUUrG7o8rkQ+d1Z8tyndHWYGlHfjwkz2ctxLM2HhUD0AiAOJEIDuKsSXypN4L2kPoIKsFJtFpp/saU+1h89XMY6rA=="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.4-4_1599825448613_0.69476753861898"},"_hasShrinkwrap":false},"0.1.4-5":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.4-5","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"^0.1.0","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^6.0.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.4-5","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-GiOTWIrsQiXbEYamVBYB3iVzkYdecKmwxI2WN+JW/dAgL+lvOCIA8IW1QORz7/OdwqH7budR3kvZDpIaneXvbg==","shasum":"ba04acf02ef1d0ab91fde31e99acc7796d4daaba","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.4-5.tgz","fileCount":27,"unpackedSize":34876,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfW20iCRA9TVsSAnZWagAADgUP/0eTX/7rmzWcXa8P+Skc\n6ThRL9fK4gv0Rf5vjWYv4Eg0nuA71IZ49izc/DfONhxc9krhLH8rcVn4obnr\n1vJ2KzOlj4p4hoz3hkXXWBNIe7TvKS3N0M6KcNfNQhIBY7eHdrROG9HORfkB\nFBS9IbJXHzrsRegYbMczZBdhmuf6f8hT8E+QAH2+vVmTw56OoP+upcz5j6Rs\nvdn6C2WoXGFX0ystxb3Ofp/rqfoec99gvXLlBPCY6A+DiTAl4XHDKMVid1ow\nhcre997eWLlmZfUdFmwzp4M0xEynKIybmKhvgonvt7ea9atNFVnjCA6feWMI\n8vYEZQeYpIbz4Y6a36sgWG+vTNpjrmVG+JZcc3Ln4dggWaWVA6Qn/YAopLfb\nfGhnIqAlzSzaptLa1/ZH2F4kFULOI8rPZKNzcEIvSkyPVmuk0gPmI+/74PeM\nG+owj8/HSq2qATJQiJJ2Cg+76q8G/hJ2Inalrb4qRBWDsTPjxPTLRxsyQ0aT\nV42Q1sH8b65xBNUvy/MTQgoSWFb/TlgWivSuUHKtLRfygJ5QDu8YiFf3OZWc\nZJMMrcCFoavj6DOcNj8Rpm2qwEmEZP05cuEBYc1egvQfj/Xly/wIsVYncVxE\nw/GwiqUwhVjJuPK6ODicm+elSJMD3a4Eb9p6YHT75gJNYV4szeJLESNgaZRo\nDzfQ\r\n=Tj0B\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH/IMqHByuFe4o42WT3KNLK7Ll9FZ91f32yJWK8s/tcYAiAYSgYp+JLxEpZhQTh2tpKrGsg4dH/59MH1Jk3doPqyow=="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.4-5_1599827233846_0.15612753622719544"},"_hasShrinkwrap":false},"0.1.4-6":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.4-6","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"^0.1.0","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^6.0.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.4-6","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-LCdNUTrGeFp3x+B45NydYF94NHVdj7bNxYwPblfzpZ8EeCIBH9aOHriBYx7nNsC2tooKGN8OFYsIEaU3I1PgiA==","shasum":"0f23fade4d30e1ed98f4dbfca82850d49d820496","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.4-6.tgz","fileCount":27,"unpackedSize":34636,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfW3B1CRA9TVsSAnZWagAAszYP/2ss2Covfyhl0yViNRAR\nl6wRXyfDzTV+zYY5cv1LJtp/vytCBEP/cmuy88kCX/+QGuzZrVWgc66fcXIZ\nPzuEYdwdCRObCsysExVFKw8VI82wv/atNLch+QgDbZZnhk+Bcl89+Y650nJ7\nlY8oZxGuKErrhyMDqrHr4dMRGTpD2TVFyY3z88LA6WZ/SrfHqS4VdQOxINLp\nvjNgMvvTykSdd8DSXZ8xJzwODRR9HlqLLm0JM9E0Y6JcxKKtyAdebfq5LP1Y\n0nJJL86o3raOuqA9GQylbH9qKiN6+yD7NXM0yyIumlGb5Oo6QARoOR71uu7j\nU6GVL6Y368Ms1amrk1RWrDH28ugmLxipBml9ybUG9x52RgPT10axhXoCHAp/\nIGavL8Ly8KhtmY0/KyJ+v3WMLTCdC5jfrN6fVCVTl396pz0MRHWYrgjJ3Avt\nyqN5XI3L2I+qAceB3xQ//yKiS5qV9o406mtSDMeZ8GPLHl1VL63VqjKJjqtU\nRiYbDX4dOedEBMWvrk/id8KctUtyTUAngydKe0FXKlJYCoahc5wtYQAhuBLx\n/lWYb9dyxvXJraVYM06GJHdE6X04VJA0ihleLm4BKLICcLAgq44tvRgvqTgG\nezg87uhIWuh/Cq2h3N4g5ZcF3K2SRB0bqGjcaFOhlDpGVJfhSAxV6FT1IFiD\nC+s9\r\n=HF8M\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClW5QhHcc1J8ZjyG3hADpbTiBVoll/SxaF4wvqiv8ezgIgRKmp7XF+IhriPCl+mN4ZFcU2HL58PNCVGwlw0tuBV0o="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.4-6_1599828085077_0.8790504281840468"},"_hasShrinkwrap":false},"0.1.4-7":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.4-7","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"^0.1.0","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^6.0.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.4-7","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-jynNsNRCHk5TikbjroNXguw4zFL5cUcOvG+jRuqt7lXirPiJNGTHrAbBNfC53V4Bq2wwpA+3a2RRem/28sQOQg==","shasum":"a6151371bccc17899520f6303010f204958256c0","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.4-7.tgz","fileCount":27,"unpackedSize":34804,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXCpUCRA9TVsSAnZWagAASAYP/2GaGCGjD1KlLWIrrbu5\njPfbH58fsjxcHgg3N3hsCpemiUSsQqv2G8n/PHz1YA33/Up3LeRCpH1tIWWF\nmRn+M8vJDArItCnB0sb9v4o6oxVRUDEsbjGHTGgQZW2H0/30LXD3NWk1rDe9\nI0L8ap1cl1TjNdBjjrcjcGCEy8FllNziPGim0tiJwNGZqSWprNx8td9ij0+n\nsV2gUVHSPEdpE8L0Lhrwt1Dmavcp2YwU6cQzboKREmGdcGvxwrtP4VPfrpa2\n9PPF6mshXKD019+iF2vVhgHkycZGUztx+sBUmelZ+wEwq9fy/7sOJaigEkZy\nRSeO8vkJ2DLZdyLIJSEjIB34k7y2wjEAcCnthCHF3nuiXhJS+FQyWeSUuLgw\n56EZNGDPivwfYHnp1j0TGYD6036RB3ck8H7NSV7K3xrbYAkgkSYLyoM8UYRR\ni/WOwojcP3Bciiapo1ejFEqCOJ+KoAAt6gA9Bn6ldCMEzehy94TQoKxqWEW0\nOrwizMaayybNZbC0o2qgebwfUmwwfqhOzg4pQx+Ru6cB/LKPk3nExpYRJi+P\nD/manXSRGjeEdxAW9ytOEXbEnbAWutNE02B6eW3LNgJ7F/4zHOGJEM5lB1VG\nC402npEfnaBj3AEhYRYvH/fgK5Ozf97yHFuI1pyEoTcy51w4+r9aHiT7Hxhz\nDkyL\r\n=XpcO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHj30XrF0fwXq0YQuH1Gx9gETBDL+IxiDqE5tAKdntX6AiEA3NMwwU9oQUHBUrEdzF9o+9qNTm2Yo7sp8yCHBA0YtKg="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.4-7_1599875668000_0.5094752636836348"},"_hasShrinkwrap":false},"0.1.4-8":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.4-8","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"^0.1.0","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^6.0.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.4-8","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-xNlmkaAXoGYDhuWMlzaxZxTxev+TmYm96AzTlAOQyNfJq6Ab1bXnNk3R66589QpyrFSSzv9B7Q2Wt8FC1a+cjw==","shasum":"75b2a27b916d95f8c8e7f574fe4872eae9b55203","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.4-8.tgz","fileCount":27,"unpackedSize":34893,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYZTWCRA9TVsSAnZWagAAIlEP/2pq/dAV/igWTSDg6NUA\nkKl0kdf7FI85QmPPk/jLmaHivvacrJKXwrA0gnnxEAaSUx54fqd/HOsN742s\nxkyVJtwFVPTQaFUApf9BeFf+D8xmTxVaG8T/eef57IA3tspuUz/AGO1MwU5o\nKmbc1HtacjWNHzEnpgIPqoV9F1K5ukVO52XMyr0prlOBHXuOihEwey4+G9Ie\nUWG1/HbrLwseHNZz9BZ5d77hfBaCrcV+gohS4E6ueZJXDDDQBnowCBV8E7JI\n+zJztX3Gd8vupUSw3KPMaJ9arGtMzzci5ZEN++msxfRl3D4V4/LSFumBVjsy\nz32ejt/9vvcMkAFZ1PIstmso83ZIFgwgXXbdhH/PWMxvHc3MT/g/C21EYikf\nUpE/RCG2FjBMW6J7EoymwiFZJT56xNaMW9F3XaeyUdAjd07aW9fJGSqMkvDu\npmBZBhoGNKEQ9T8lK7jcZQ7nd/L3x2FDzpTcKEAVg2WHioKZ3OZRi4f4viEo\n36G198MR/oUIOn8YKZamxMAXki5A8Ze6NLJLjlKDSiLZ7gLuH6v5WsP9Ir30\nCyFOPIsqjrYAUMDBBBfXGowXmGBRxIu45vidoYy4BlRYyRHVz5dNznr73Srk\ndGqp8jVV/syd9bACH+79QAo3S512PA1Dizd3im7PWW199hXFjuf9TsylvA4Y\nPupR\r\n=Hnwe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/AbLqXnieSXxjYaG9GFu6vF1GYKSEydXHmaC+x/VXYQIgZvs7qvt+z8jeD4StTWKcfxwkrGnte/frT1ZSZL0nPPM="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.4-8_1600230614221_0.16339050406752742"},"_hasShrinkwrap":false},"0.1.4-beta.1":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.4-beta.1","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"0.1.4-beta.1","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^6.0.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.4-beta.1","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-od5ersq/OGYRot9YXgJYrx2/hF1SjLHLDuLSqadc4lbG9lKHca8itM6oyQi7NNm+NtRdw4lYqhl+xa3pa8Kf2Q==","shasum":"fbf83da1019aae7d9b84326e83b2d6da778a4aff","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.4-beta.1.tgz","fileCount":26,"unpackedSize":28538,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYzDnCRA9TVsSAnZWagAAXZ0P/ingEj+YggRiMuO7BRP+\neVOqUYfAMexf2VHHKO2VNis9jIv5rbrMU3WGGHaTW0R0eIOGwXH0rls4sK6G\nqyEdJLKtzp1x1b9P9KaHOyNEVXblcKExwVFoNpIUeA6RkZxdXkyvEMIG0OCG\nqpGQlwyRBcYmkmkcBTX/9Ukhxi0Sg5xwPmAwSTmsryrvZAmbx6O8cVZl7FfN\nH+Oegn5JbOzwtTLD3fZivT/dQyIpst/9x80Wry3wwWOqTmCUg7aAxJpdMa2X\n0hTtiWtRacdy1kV8V3erAozqSg5Fe/TwGSPzquHYp49G0rm9MQmHw4cGgQVW\nM7/OSWq2w+cCsJOuAnckDQmyQjlb+Y7Bwh2yksyMFyMsP8PjFfQYxBcGonV2\nVuNC6L8gGecCkuWUkWoM8GDpfzgEKRV5xsDjqInSomTnhaz/ydafWlvDobi4\n7VgeUoAJCwf9ap3F5g+WWGK1h57BIHfHhHObr3GtL2yZEE0x2WOdJbTjdYts\n+FrUHIBKrR3vo/cwrPqRhRaj+nLf2pXisqHMBD6BL8ygabat8GZ9r4w+BO4U\nbrFiXNadiEKAmUE542FnlRHL31ft9Nki8MFv6TaVyp6KOCPKPyuNsU4fwA1p\nMI+Oo47tDEsOumX216aAOGEqy1pjQuNb6QR+8kmX3pdlwl3q1JULXDCtm144\nQTfr\r\n=0PyB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxh5yMzgEnwuv3P73qtr1OklJ5TEfewm2bCt59fnVWxgIgEyWUzeDlNIdiz7G/XvFOotgHf6/Kp+bauzb/AxfPBvI="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.4-beta.1_1600336103417_0.4454736356433018"},"_hasShrinkwrap":false},"0.1.4-beta.2":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.4-beta.2","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"0.1.4-beta.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^6.0.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.4-beta.2","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-EP2BUz0cuWU/xftqZ6XzF4e8E94ktcybgYjjGzpxVxgo+I43JA6qog4LGI13k5KnuadkXUASQVicKnk+A+JDYw==","shasum":"1de9835a9dc3e9be43d88b92a6637fe0e873493b","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.4-beta.2.tgz","fileCount":26,"unpackedSize":28538,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYzeGCRA9TVsSAnZWagAASAkP/AsCr89onDPoVFcBWVYT\nEmJnINIarYKFhliOTPDbyM37x+Ndw7H1xeKuCJiXQi4Zw4hLSFO8pqFKuHzS\ngP1YiqBcNm/g5teD0weuczcfD/yXjbLvD/Cg9hF7gTxPSckm5YRk9ZnHWvXz\nX+vCpbIy0t64TnhBWY5sbx5sr4IDeb18Axrdsz8/jTXm7faTOYbDSqar7nEy\nP1ezrkDa8fzJxxULLBXWFiB9FpYo3exwwm2YnqinJ5hF9EZFMcoKMehr7EUD\nYxPopdZCyyeYI3d56oGCIwKJDLd8O9LplhQdQ/+JY50gPXuL/g4ghVPKifH4\ntWpGJY+0w3UYdxIFcYwjVISVEf7KGj5arQT4B6ZH/Wz/ygjR6lj9+5vsqry+\n2lamGM/KyqvbceB9mcaa3Ybmx08jO6EAMCWAaZkTwtjuyUkmZJr7CmzorR5x\nbwYEGbUXbEylWgeYxr+ylxoJXQlDbj9or0QTUpfYqp7nlACzVaAd8udrM/WF\n5IR/yNLi6bwdB72uKACuJDhHb9W+HaFQ9Fq7RpnuVC05PVNLbBsty4hm1KQx\nNYwUr4+XaXN0b54z2W6rxOpSiKKNkU5ZniosWH8LX3ePW3rCx6dR32NKGvmk\nT1rcgJ7ibx/rXWAFmSGlldBkWOuiI8XAzoRkmUHyqENM6KQN58YdKkeCJV9K\nHLGx\r\n=+djL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrfNTa/Sb1QvuMldih+4iEu0vj5hLZoc9Y74irLrRM7wIgNKHmmG4fYyKQ2c3btMDXXdq9lit6Q/2wN5KX0OcCkRI="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.4-beta.2_1600337798071_0.38010067743542764"},"_hasShrinkwrap":false},"0.1.4-beta.3":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.4-beta.3","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"0.1.4-beta.3","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^6.0.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.4-beta.3","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-G7DfAb1Dua3ywukeLXhyvWXqsXiJK3O46sigWhRJdEbUW70K+fN6hR7GhFl0e+cFBlu8tFVHWH3+p4unbCD+8A==","shasum":"16e55ad421d7626eb8f4b6b714cfdf31ce6fe126","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.4-beta.3.tgz","fileCount":26,"unpackedSize":28538,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY0lwCRA9TVsSAnZWagAAHowP+wczPZ1qo78ogPXUZ7EL\nrL0BtuJiTc4b4+47OlqoVtr9UTawvcQWe1gQdW4hQffVVLmSKTynhHG4BToL\ntcLdXUJXKUdSSYHQdPemoxaON+Vz8JiHKOO8NWYhuknSisIusGXsy0NNyt6g\n38OgxJ8wBRf9bcF6ss1pfBLdS8yKqghGZfMye7sfNPQ0MyUhx9qb5NH+QrUj\ncaUx+K6+w3NylT/jUXB9chp4tVp2794JIWOpp3tM532DY/jpBqebpljH15hB\no9MYeIdZPjyGPioxVEqWfDUPZreJ1bvWUfmA+PvYc4VNa/c2iTCQGqDJ8W+j\npf/TcWNzI4UPTy/JkPQtwo3y2Ny5liVcJwp33XOGvX+zqJlwfAiCmqhf0nP7\nOMPLw22lsWfpVaLrThsE5wnQPnTxIAfg2jwSV49FIDvyZHNNqu8AO1Zlsacv\n4PGuhbQn9xxtlqQD8Qcb9TKZddhafRgGYMpEDYSAavOFN+KWrz1JXmbvvw+i\nkdSqpxEUKLJx79V4dhL+Oq0nt1rc6k0qeityG23ugIgQmMbF1EQfAP0cF2ak\n3G26qfH0KYifj9zkXoSXJDLZevdbtdC6LKNx6myiVSvStHZycz6ICjrFMfyH\nYxJYS7pYEnOlyb1Wc71KjxRYzAUL5dV1+UH38SZctbjtwdX2UUIHHl9Kx2CZ\nbmY1\r\n=h8oz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8FxYJmWW6i05Waw/XBONMRx9r2IMfNjZIJDxWawEpZQIhANS9Fd4Ani+UZrHhoaIkMsGmefsKidn9YoHmWEaywM+C"}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.4-beta.3_1600342384230_0.3165097896001863"},"_hasShrinkwrap":false},"0.1.4-beta.4":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.4-beta.4","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"0.1.4-beta.4","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^6.0.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.4-beta.4","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-akW6jNR26jy0UuF2z+d3XZuPxo9cEPtv0fBpkZRAasGP/yuhht6z7+m4pd3o43ym6d8pYDk4bZJ9ANnC2IadhA==","shasum":"3d440f09fff801e24774d2191faee7a120714700","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.4-beta.4.tgz","fileCount":26,"unpackedSize":28538,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZB4ICRA9TVsSAnZWagAAeuUP/29qI22JWQn6lYZEYyYg\niSDfZoVHwgyWIEEcXolyv5VaN3kV9tzpxQ9xCvLElXCCHo2NQFwLzHWq5tnO\nugCsbbIVUFw1PNCmQ3J/UQaLIhjrXUltVyNBIYZ22CmBogz1vM2DEEl7ZWuH\ne6klRBqnPWsCaDzLbs7ml93EpPvENihROpkhNLcHuaJICpG18PwUj79KExGV\ncQuAl9sH1kuzNIoiIswjXt/+f/CMBjao/myCumFL7mwE/RW9peybZJv7QLB6\nXqX523eePtZqs53jfETOT8AKbWiGylEpiMg0R7YMQ4TnzJesZyYdPOMTeuKh\ntGCzxAhSZXVkFRooPFJ0Q331YLsu2xEI/OI6vuAi4yF5S8dy7wF7U1NWjZcY\nHKD6ku8H0UxRRr0Wmb5qOgk/9sKcNuP9CIO3fgqraCpx19cwQh1LrWJ/CGsF\n53tSqLVTgLLV11/NAD4/g5zUNoOE4HWs0Hsk5EL8pAOzM1ryhhqJAQeyGaXJ\nRNhq6UfDI8okVCb8u9U9rymcitM77etyCz0jXA3QdxdF4y6uez3epBqE3sbP\nCmoap327dEvoNKyPb5o5FUd1W3T6yDbp1W5q5p7WmN1DFbHaZZoGQ+xZAGfY\nvN0YNlbYw+2amRKkNso+7/ISzEUmSlpTtRXwAXrZI/iQt7lusRWz0eZdx1Z4\nO0y+\r\n=e6W2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDOfLl92M80d5YvF716Ew5ioWAboUcQ+wuYHkKryUx2mQIgBFgPveOr+h9EOuFJ9MwK/yrvYeLVVnTvAyvOs+5paeo="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.4-beta.4_1600396808026_0.40473284381903896"},"_hasShrinkwrap":false},"0.1.4-beta.5":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.4-beta.5","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"0.1.4-beta.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^6.0.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.4-beta.5","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-p0iXLV2LizayUGn1gsn7YNn9WhFwHhlXvWqVohgrjnW8sPVR8UirLPIxk9p6sUEVi5rL1uiJHZQTgCnRbdWilQ==","shasum":"feb8681f1578afaa4c89711f284ee8c30af16e52","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.4-beta.5.tgz","fileCount":26,"unpackedSize":28538,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZCwYCRA9TVsSAnZWagAAvskP/jn5z/7mzwBn+JbsTiVl\nHqbA1W6gyUZW1KWlDFAxarjpyJIsIdClXh+2Uvqm4nCflWvy9S46iY5Kyi2g\ngcaHCe2imQU3YIGheS0RD920Sy2jIURx3C6dNtaocaSPhCy3/qkyETyGlI5O\nnN2lIAjR3SKpwgjw1GiOQRljouWojQxIoMX6GdiLaTjrdLkUIonMMBDHUy5P\n8FSdVgTjn2VpTi2sdS6s82fbx/a7i0N2cvEkm5aWz6xGqZHDMygrOW+9klKK\nyqhy/jkOPD6a0IXmW+6tlI4mvacYkgHxCOHngPrhBuk4rkDvkAX09KdWdFs7\ngR7ppoMvsU+deDEucyHHraKxpKwJ9jiQ3DETL4spJQaST3MF5ckQTNjxIUK6\nT/lBu9i+/v7Kboahlv0NQOO6lw3zZGlc+0CL2k6R8NpJbPd4JYVgt6R8Ezyl\n8UoJNMMnb6fj8oBIbDlwtn3pkFnMkN1BgxGeKGqhS1PFYCAQR16Q4e+3/PIo\neStOJdsc1LtbW+5y2WVsJP2BC6xSQhf/x1Ub1CqDmfwiIBGCb3lrGAP8pWba\nv9QomS10nV3wvp0NCe3JPlEO+O+6WPdwkpTk92AcPAUolhC0aauPTR5Gw+2f\n4PTyR6owV3fP7CmFqAMfcNQ/y6gLkhhlWvQrnszFBPTW4EG0hO3OaiKoRLCK\nyMqM\r\n=KYqm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBnpszO+x61cR5plnO+LlI4PKKt5FYZxB7zKmg1qgz4RAiEAi0z7hf2ueptBMcT4M3EttWsPVPbLdhpdxHr+uHvtVKE="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.4-beta.5_1600400407918_0.42122764408733415"},"_hasShrinkwrap":false},"0.1.4":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.4","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"^0.1.0","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^6.0.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"_id":"@iceworks/doctor@0.1.4","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-UDaxVRKKQ/FJps8aiTSz3XA1BYN7moak+xrhSIynbcCLZ1raSAvRlK9aLTptxQPJu4cQYHNrOI6VP/d/TrIvRA==","shasum":"ac1190ec43096e31a828a76a53e41f9d1c904eb1","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.4.tgz","fileCount":26,"unpackedSize":28526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZFo6CRA9TVsSAnZWagAAcm0QAI/OUoZVzMNJkZeYaX/y\n72Y7CQ1GiFqogRHkgpObpghR+tTE2K+s/6lvxd9ivvsP5AZhGhboKC/SEkhE\n31kKdGGdLVgdK+1wizXdaSH0Mvg8UJvE6KxBIzT2yZTgw5ZQiaRW2L3tqyNr\nNhoSpdouhiiGwYSZCrK5i35vvfqVkACfLCv1K0j8QJmTWtd1GwAdf5e9oSG0\nBKqm+2oMBhyFxp9yb1VOt34vZapytgHSOsDowDOsANodoZfojndaGmJMDQIp\nk2RIw5BapdDxo5WtQxfjnTFzYVysiMHDESXSqKGNCMSj3Tp7EveTHMsCsAcl\n68PRBk7ZtoEZdqL7+hFmOhB3rJDd6c6gZ6qWQTdeb/0PgUOWsGDS3oOZ4dIe\nbHUiE8CoNr6W8HoeGH7JD1LeI+EvOUb61Pr4Hx5SQVgotF65SJ4dicWU4DXo\nzDdQhacBFlHBF69aGVNOEZpjDBNt++hgDeexm/Ci6LFqhSrlXPiXJjnXogWu\nMjebt1XOHzfle+h/Y6OwrYwPpv/6aKAje0q56rftz+9kp7SWmgYJPubG8R00\nHXvW+G25NVI8t7nQUKIb5wLk66w2XwtAtNDv4wozX3Jc3ADWir8/X8msCbI/\n3AGczS3C2MTDEU7P+xISX3jl34dlogq1RkWMPJVp8ZJvUKUyB5gMjD4NH64U\nBeot\r\n=UNjW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDY9aMs+a2axIUo1I1n11GTHsmdQc4GmZP/KZm9qeo1sAIgbilgXbRoKLlN7vWgQu30DedzJXgligvdINMcWbkkyng="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.4_1600412218502_0.7679207830782981"},"_hasShrinkwrap":false},"0.1.5-beta.1":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.5-beta.1","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"0.1.5-beta.1","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^6.0.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.5-beta.1","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-IVKLXRnbfRqWE1ePYgAb/Tyo9WkHK3QpwakbtFjMOOlDzWCwDvFUE1RcI+lSIFBljCdJxozIyGil59toelFsgw==","shasum":"417e816fa3080ecfd1b3be3dd8cbca2e4426d182","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.5-beta.1.tgz","fileCount":26,"unpackedSize":28717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcUwTCRA9TVsSAnZWagAArcwP+QG0/A+KcaiFAff3luoZ\nfyoZeQaiyVpWXfvHABo4GO+WQ94ODVfcTgaaDynJwj5AeCukNOgmJEM4ELLC\nvN7HCjwnE3S33BzA1BI0sJQv16XEC2fk7L6eRo7bLO9OfBU6OtgQP2JvAP3e\npOvKe+1G5nUElPOyyFgTuFgPdsghsoIgbCmEsju3/6Vaf3lBRgGxtOeQTFYp\nbQDNb7M+1jr2tWUtf497dYTi9IeP0syJTs0p0Y5AZVKIYTgjYd4wyuBBrXDq\n8SNcR+K81Vb8oC071lyYp0uwpKpte0zGgLc4XIs3zULjpVq6QK5/6XrK8iM4\nAxsoOgeRQRyYvysZN8cExTjnADE/J3B3RZnf1zpeQ0qd6Gzenrnna8A1pBwi\nJJ69fNn0FwEGyRY9SyC/H8pQ8qHaCAwRgmRT9YYaI3f5CtSC+kXTjHNYf22+\n2nDyKHOyf4a4I9NAncYIB9UU+E5hJBdbG9+95EyXQ8I9GZqMqM+Chs0EpYuq\nsRNKRm7tEH4GY1atGamLAwOixcSoqwZBEHFcSUU3OYlCK5TN4eRMKNFQF20y\nvAPfZQIiQ1jqzI0d3PKTx5mzZiFCmqLZasXyZNil0VcXL2j7iy1IMYmt14Xc\nLAFy8o7slv58VZeMKKiR2qA0shdJHLphtkMs5MgioG6P8Zh/bpbc2PbTdeNi\nC14z\r\n=JOM3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE6OpFR2CbArSA9FVCyCkDTTu2SS7OZgg6igjDAPhzupAiEAww6x9WZZB25BU21e/F19qjCzkvfE+N8TTth7BGu6+Xc="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.5-beta.1_1601260563091_0.8156084793070395"},"_hasShrinkwrap":false},"0.1.5-beta.2":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.5-beta.2","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"0.1.5-beta.2","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^6.0.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.5-beta.2","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-pHiHNKisNpgez06hRkrcb/+nbsztP1whj2eexI+X+/XgfzWoRoJXsKpT6Zs2DZarEHeXNr9mSL9SW/T9a7O6Rw==","shasum":"4385b560bcca7a53701bd1ae8d9cf7eb4397ba70","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.5-beta.2.tgz","fileCount":26,"unpackedSize":28717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcVy6CRA9TVsSAnZWagAA7YQP+wTy7+JIG8czlGEfKbU6\nrrKFXlRIefa+yMfi//KtxEIfDCxwjPJ+bJjglBLHVf7HH2lCt1E/tIyZhy4J\nrl8ecgYFbjFyf6ZNxV7y3C0SEs7XHzNYMiv6rQ+9pzPhROaJZAigW9DLMq0h\ng/oLXIz2sdmZ3YUYdcObBX61sj0N7wAUX/LD4S0CnNn4l7zSNWWcLogWw+FO\njT8risSG5VmSljYo+Pf7ejmSmENJ26VL9HPfuA6gdj64ar+CRQ7lbxtdn6bS\nLEHBfa4JwiG+aUEDxb8n30ZubYDVcAfhH5WY0SHS4M2xk7EfHEPmKrsIBgzp\nNu4e06uSM/2yfUOY0ZYWLn+EmFrh0nEq0AM77+kWJUGIHP4AeeYjlUelszlf\nKCVK5GDbNGYR2qrxUhW51L7eqa++DsDmJDINinxNX2IugXz3e8vNbSTfo1wC\nmlM9IDhaXux5Y5WZIhY9hFXv2BGmi1sVVUFM9ZkHd9ghKevvhAxN/+ar6oKq\nxzeYjb4HhoDV9TsleHeXOiFI94X8OcB5XFxvoesk+WjIM0Uy26OSuBElF8fD\nqXMbasw4maHZa8NX1NclihqDpccWkhvNzrl7Me8da6GzF0CZwS3XOQN+Ptcw\nWI7k/Z3FeOo3C5wsAi5lRkS9bVLprZEr3eFNDCfT0niNv4hTFUyT4qJqEwzM\n8eb7\r\n=i8cV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID7+GgGUBVCpqVThexTj+LVcJpN8tuiUJd+jgvH9L1gdAiBQ5tpY+iEO6ZCQVyS/9VRvgYOXZcPdaX+GytpLiiZh4A=="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.5-beta.2_1601264826267_0.1894468375579783"},"_hasShrinkwrap":false},"0.1.5-beta.3":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.5-beta.3","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"0.1.5-beta.3","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^6.0.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.5-beta.3","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-1OyRrGDcmqJjFoN1IZEjljDBBShxRfGUk2KXQAAiF5ZlqL4JCcg3yWoEqxZUUCrBnq/YWyZ/GwrDAxy9XQn8tw==","shasum":"631f988f9a41957774e9af9b02aa8ff28febcb6e","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.5-beta.3.tgz","fileCount":26,"unpackedSize":28717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcWXmCRA9TVsSAnZWagAAd90P/R2UjsRyWr3KNlxuf9tl\nfCz9jn5WWe/v0/YbWK8MOZWDQmMLe6PjBmYPyEvw5bwjcqGa3aLuc97r1P41\nRRSUGU3EBw5d6Cy/uZZ+klZMxlrNHC7KXA5LiIxfrIS/AEQqv7IqnSj+GNMm\nw+rWRSAPDSXRYhvVZnzKAynAyBfk2I+LWeo1bKXUnnqINV5GTef9P5gX2RN4\nR2brRhi/CTxlx5KNWu5MrUVa1YwYCg1rVLxqHoDyXpVJo99axVrFOM+CNlSt\nsc6gcQmhilaQ+hE7bITt7U5UasrqSbcMNJ+9GGXAsPGLQpDbSKaQ2PYF5wSC\nq6EZhV7CQOMsD6/rSpULD+n0GhCld2UrJpZGELwnPYna55ybsfl1952+JMfw\nv3o+etagd6FUc5Ycf6WrA9NJYDxZE/uU5pMCAQDr1F7sYVxLA1eTgx1XzBCG\ng+auEWZnzXeVEakg9sC41y/6t3WCk/HsM882RohS1slRME3EgIUCr0e/XL17\ncZq12Gnog5vMV6Cj7ELOg6SbDjFaFkDqBCqMxBDyChxYRtHRqTzHYyKRCae0\npTO3tJRFn62FauRI05lX8GqjXa7PtEGjUCoi/L4J/dCekEDxeX73Bd2OqWle\nWwJIo2a+oFAGhxrMK1WifT8k2SpqL4Y1LEzlzD1FdTv2CmGRE5U262RCssto\nz0qi\r\n=i6fG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDfg0MG6xtYzKBERXMVYwee4lXmiLIShLl8QC2S9P9OUAiAF4t8WU6y9EZQ2AHocsQlXIS+Hv22nU0DUAX5a8+YNkA=="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.5-beta.3_1601267173806_0.2845645446215943"},"_hasShrinkwrap":false},"0.1.5-beta.4":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.5-beta.4","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"0.1.5-beta.4","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^6.0.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.5-beta.4","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-5BHI/tp6J0vK6zieihk8bgC4OAVR5jD+ZRO1yDFcLjJunOXFcJb91Gx1NbUUszKEkTzp/0veD8Y4cdQFqRAmEw==","shasum":"17f0f9d2b39503000be40ba7e22d9de2b9f82b70","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.5-beta.4.tgz","fileCount":26,"unpackedSize":28717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcWgECRA9TVsSAnZWagAA/oEP/14fY5WYexLFzx3C+0Ie\nrQMupchlcspcHWfzTrRwNNjmbbQ4qMaovYqj516r3EOP8zAiVVZoXIxsGF6O\n94gCUwd530TP4H2sDeWy250NtiGdreKiUu94c3PLsfN7OAquigw2yQvEBAEt\nYuy5t7HcRmQ2xcE8m0TdbrfGlW8iM6k9pxwPvHm2a7Gc67+ROnqmlHWdkRfP\nwqq6XZ0gcIhj6MRqwiL4tU7WUa/nK5Rz58CQCe28nqOsX/nH2oW9+gqqUEf2\nA3L70nn0EUZ1w9VFYLswa+OePXSinusizSCTjA+G1Lzs9VgIEsXFx97PyoTw\nZVjmRbgj4uxvle3meojlpQgOAOSJw0R16OJ6Ae68OOOh5dVjGrt8043IrqDH\n622ASNZbIgspjUrPQly5Dgrn9le8NG04BW5iRRpjXa54BXIuiQUk9rDf/TAR\n6I3YzeXB+B73pRaXWCHendnfLcmFKETn9UsaR3YPjqrFLIwOLfKhNtIkIxqy\n7RzLVR76nudcd4UrEKJG+0Mkgltboq50LtYtcR/m2UagQNMcTr2rPQwrLDBl\nazJvpVQ5EmvE13BLfzxBcjIg26IAyG0s80dWd5GsIhgRd7/4Bo3Ee47CxvoC\nPkeRRBMmoe1M74+2OwfGZ486RKUeXWTJJrPuEfUrJ8v5KEUl0+PEMW7Gdhiy\nHUml\r\n=0n00\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCI4GkodefbuF9WrwUYw1IvsHDC5BvoJ+RJVlGrWxikgIhAMrrFSSO5hFM8uXqyB9rDkeakcwNXejy0Xs1AGjv3u6j"}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.5-beta.4_1601267716239_0.7605118665479396"},"_hasShrinkwrap":false},"0.1.5-beta.5":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.5-beta.5","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"0.1.5-beta.5","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^6.0.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.5-beta.5","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ih4N3dB0o7r0kE8rFQtm5qfj1UxhkkaZNoBB7cyjDlSQMdbpPLcgUzt6a3o06+emSbGEbULxfQLIYhwdRwqG+A==","shasum":"d1ea950c4e9a879ef25e5cf59e94f939634ee0bb","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.5-beta.5.tgz","fileCount":26,"unpackedSize":28717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcX/jCRA9TVsSAnZWagAA+MEP/jw9oTxqihry4LGCNInP\n0j7nM6Xnd17LDpulyPJhsE7A0u1ivgwDxhQCw8TUIRy34QifXB1eUsxlp7CL\nQIjpNamx5tsZHswFsngPzFdUJwfF29F7ZB2KgSbI4J499gSBuOio+J0buWBX\n9+pQG0zGu/OwJ+uzwdziMdPbVpyyMRrM21+XOuJrnZOOotHnXf106covYf2l\n6/Yu63r3jLf8BZiQ9xz6J57SMXrCcyqaF+uHP1bnMDXb8Dnr3pq4km3M+ksy\nRYHmuHnm1slrQ/B+v8H8JqzJ+wQVoV+e2BeKBnhRa+cUUEwwkGtX9N1BasVF\ne9RO8qzisHoKbYb63kRYIhahXYrTpCt7USzeKr/O3awA/QhXr/pP4fT2hP8F\nPnNcKIDG3ntQhNTO3HkiBMIZLmFKmoqN5dqMmm4icy3xD40Ml4LHfhUMUM9C\nlojpxJ8FbAbw58UTM5wevaGmbnuQ6H+Rg9kTtPeqp9LSMDieIRFfItD95Mx8\n+zlns6SLtU/SDlEuymAzRHEm1YtRqWaKAueqhBdCZ+PKXhTw+0rvbd1xdTHd\n3qqJICQ/8CoqBb9GFJjCVMLXIqRodiAqwJk6wxCB4jyW9RCtQWjnLZnbEtZ/\nlK5RjysyBswCxKssm20MNP+GOzR2jzbckwc40W7PhEoVf37YsCpQtmUSkJ4S\nc+9R\r\n=I4OF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB13S6gtqmGuRAA41nS+7cOASJtL5WvszS44MSNs72LFAiABsnPHiAcks6SCIfDf8kWQoR0aPXyLbhc8HckCw/iWtQ=="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.5-beta.5_1601273827071_0.8003180179783294"},"_hasShrinkwrap":false},"0.1.5-beta.6":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.5-beta.6","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"0.1.5-beta.6","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^6.0.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.5-beta.6","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-mmj9Zi2Uae9o+KPj9yFOEuPThpOHNCB3BvuTgHH+06sUKSzC6oWRSqXNsOaZdjmNU1SKiwh3EEPwT36bi4syTA==","shasum":"79e07209b02b7eb6d16042840449e05594d633db","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.5-beta.6.tgz","fileCount":26,"unpackedSize":28717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcY0GCRA9TVsSAnZWagAAMjsP/3EZhbM685L1WquZQyXg\nP2+0jv6EXhqrAZgLkLfmw7LkJAyHGOliDxjkn5jwQpJK4C7jc34RnmUfs1ix\nDaLMZJmH56GR0GqeyY63/hgukNGIyZj9xdxz2ULSqjQYWtFiBAYhSii/i28d\nerSp6v7qKakZg3/sPHzwLl8/Upjzi0Z0cqeih7am+bZhBPqkFypMXAJt0NUb\nwoDx2z0gl2DuSmCJGnkRtSfrnVlh91QSMdn8zq45iKt++7AXGUeNwo51AtZm\n9kF49oVYe0lNrwBeQVDXdmhY/NG2eqqa7AentSN0Vo3zcpwAzJEKHgrY4DKj\nszyny2Yfq8/Z2sij9wXrgsiOzijbjLr+bdhVW3auAPefS4AtJRYYwTvDB2/p\nKFYTDC31cu1BHst+yjtV93KJTqab18MpVRHyd+Ux+nUbxwysqpOcfyK6VuvA\nlJEr/szz4RGDwdfO72Nzz7rlYFVTIyvIUCXd5wEa6K6oZumeR9soVkupIgqy\n8nSgTj6HqyBmNBrQf/1zDBaWnvR0FjDvbCusZOsi8ZZVYWWTFdcpWcVHmrJM\nxSUToWM6XX4dyBTEl6hDkNcr/Hndo10WRXlnLs1a+uIdkQiFbY53AE2K40cS\nSIX3koq2Pc53MboeOLHmk3uLREPBls/mbyYsFsU/TexstslnNbCddngpnp8s\n/t99\r\n=ycRs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGiSEHMIBaBU+hB4hh4ZdOZKQjjUrWJrUqptZl4Ax6LaAiEAgXbH1iFfbKAgyMPpI0I0exEauE49V7KfcoUuieLaxCc="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.5-beta.6_1601277190176_0.7062431212883327"},"_hasShrinkwrap":false},"0.1.5-beta.7":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.5-beta.7","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"0.1.5-beta.7","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^6.0.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.5-beta.7","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-e4u+SfnVagJlOZMX2HvrOLuG79CB9gYAVxGdDJq9QOw7iDy0FqdAj4BITtFQn3gJoSGAvPvdcomm3AEK+tOoLg==","shasum":"9ef0b74a6ec83a3b817b4b87f78bef87716cc788","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.5-beta.7.tgz","fileCount":26,"unpackedSize":28717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcZb9CRA9TVsSAnZWagAAHlAP/1u2K95GWatqhBX0KZ7f\nSwMBDarkhB7y/BwnEyURib7MGFFbHuG9eWd9wrHCU41WHjnnKs6cbThTYdgm\nZLwJMTxGGIQwUoZj+phIjzfmkXYQycna3xSJ5ml+gCktGATYbY2edZBA7s0X\npVpwJDI3jS9CplJRzPLUmyUj8ffenY84Vyf0VpW/I3ZKXbNDzEeFY+ny/7/2\no4b00/Q/Qyg3xrpQczS6tSygWl/lCv4HW3UostMrFnMYcWPrV1Z5VvkITREm\nx7BxX+9KGUFN/2O74yRFNJMJKOLWs41YiTa+RSMCPzo/9y6tcYlH2JNC0xfo\nFFZu2IU1HMB7ckQbhqNc/5vEJYaq8YTmw//E4FSbBFOvWECMQJ6z+UZ+EXNY\nRpoSCCF6VjR+Z1aJ/wa/hFXqdJIKWNovD25h1+4bwjvxklGencYhIvjUf4UE\n2o1duGhTM/zHIfBvX2Bt5L9CqTtBnWYa1xRw/0gbLWj0dekMzReWCxk7Rl2v\n/u0SMwnp364neciazfYLqGayYlB1ihUASlvhZjSaVSJhgK+8455ZwEEKBol/\nU6BjsSrcRfB3vNiGwndS7o8V+b7T+7EtEUKc2cAuJzf3nQO8LXmIMmwO5Gfj\nVWCQ2dwuvKTbWcB3gQd3gWpVPBWjQmHY3xjQNhHlGatIZG9WAkHFH3UA/LMf\nTKsy\r\n=2Fdi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBEEmhT1fmD25P8Od8QZDdhLj3oAfVwBhhPzxrqaCw8zAiEAsIKZjAZtBB1RyDWzWUob1wCW4xq9b+euy9DkR/WDlkg="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.5-beta.7_1601279741228_0.09622193558222425"},"_hasShrinkwrap":false},"0.1.5-beta.8":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.5-beta.8","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"0.1.5-beta.8","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^6.0.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n## Options\n\n* ignore, string[] Ignore directories, example ['mock'] .\n* supportExts, string[] Support file exts, example ['css'] .\n\n## CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.1.5-beta.8","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-N5jFjkRAnEbjjFvBPBCPirf6LCc3+J7Ux05khOflTuOwW82eLcvFBmHj/kAK7Bg2fyjvahWYs2hnkHzYdqLT3g==","shasum":"7a911797c4a269d1f05485750c63d9f5c4c969ec","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.5-beta.8.tgz","fileCount":26,"unpackedSize":28717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcaCeCRA9TVsSAnZWagAA0YUP/35Pyou5j5B/ncCTlVU2\n7oJpeOgDM5CjairxLmS/ITrkydixoTxTuN/Vp6DsZTi/nEBZnkJdlZ0Pp/nj\nIXMCpDustb/YEmX9d92+Y4nRXOncF/TFZWGRLznxKqNJEUunEsY29K5E5tcP\nwMTmWaTrGX7B6o/vj9X7aytJXJ6CYR+BmDtdkFHcLt3Tk2diRKegSz5JZ7PN\n7KDRecjNWyKYbzxb2SybDhLdNx/t+cJteh46d0jFTIbGW6gGdAHvnAKotoNL\nH1OaVIjiJ9WnXgw6pzA+5ADHL3jEx7vdxWq/f4gmj7DwHsXzwGZBunmNDbYK\nif8e72Iajux2qQWa4fE+DB4Dr6vqM2K5043FVTU7tFcGIGlVsPQfSA4xwfxN\ndQzWnrcGOS6LsQBoKzsBP6TSM6E2wV84XkMFCz3SOoEbasK4laWmEwZgCiFi\nGcGchmajjiaqevCGDmdHI4PSTqmqFJlaaUPg3+6sUSXTgIxNex94Z0df8QqB\nlKUQ4gp/vWC8LhWOKr8KUFHu3jlxfHQzAO88zuuB2KSyj4U6cTNOgPwJK2GH\n3iUsHnOBfLiTJTmKPEju8pcK3uAHcF8fBjFCvM5qnivoDsl8T40zEZlfIQjg\nfVvSiqn8PAopeWJCjFFUCxvqQbRK8Yu6wWHvmQKJVLpGRBCgdteUbA0LP0Cp\nj7IA\r\n=Hhj0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/ASON9beQ/7eGuqGCD7ZDpCNssW6q0vj5DWGJ0TQ+LwIgE10FOChp1WxV8TpBkp9XR6dV2ZdRgT45a8g34Lt633E="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.5-beta.8_1601282205945_0.10637243297572696"},"_hasShrinkwrap":false},"0.1.5":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.1.5","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-doctor"},"main":"lib/index.js","publishConfig":{"access":"public"},"devDependencies":{},"dependencies":{"@ice/spec":"^1.0.1","@iceworks/eslint-plugin-best-practices":"^0.1.0","@iceworks/eslint-plugin-security-practices":"^0.1.0","@jscpd/core":"^3.3.3","argv-parse":"^1.0.1","babel-eslint":"^10.1.0","eslint":"^6.0.0","eslint-config-ali":"^10.0.0","eslint-plugin-import":"^2.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"_id":"@iceworks/doctor@0.1.5","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-TdXgeegv2C8dXERooPRZlBvM8Uhu0UidlVR1WDdXytP/7u4Udm0ZN5GCXVffX1h/vM6NSd6KTqCvvRKX8qG3iw==","shasum":"2e307d32f09b55d78fde8374dfd4adc3b11b6686","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.1.5.tgz","fileCount":26,"unpackedSize":28705,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcqnUCRA9TVsSAnZWagAAygwP/3ed0Bp2uhjDNYcLnWwj\nEYqkLlvkc4Cs5Hf9PAry1oWDQ8bdgyzbxPmIquOLiERhhTLqQHBiSjbbo3Yz\ndPQmGd+9DZcugrIbWlVFp/km6Cq76GmXf+S1q7OLEAyMA1tldrsmdngLxWbS\nulE/A3JyTn2N6QUv3eVQbnNF863OTDfB+yUWSq+omltaR8Hhq136kDapTNyV\nCvz1CVEF63OrPCDtwvD2WaRqWtGZzqODkrNP71riMvhO+amke80zdlK+RKfQ\n5tQXgcURYAJZmDtTkqOy8l9pAHRGG1BkAPrvUH62XGNVwbMzFT/6fXWxpozd\n4nDF3bh+1JVyDIPQZbojyrOid8JfoTL/g7pqgOKvho8JAyYMDklUSGltviMA\n7fvdKGASPplTqr1XY+GBHv8+182WDPjgC6GaUjVf1B2ZzlrWgqnhvqAmdwVx\n+zBls3UZqXvsAaPV0RQvrsAuqxWF1lwCcySWXcf5vM8TEvYs4TINOl9OtRDd\nNANbrpGlC8YLcM9asfIKuJ85/VCrR16SpkPiCkeDoKbj4i5v1PsBogPNqA0D\n3PdNl6KjYBPalCwc0br01OH/akzT1mHYl+//nLuQeIuFE5tQyVJeTxbqj6qL\nJ/lBLza02bXIyPd3yBUBKOh/3qIjrSPEMjKa/GNR2VV/D5/vGZQNc7b4Ew9f\n7JCP\r\n=P3xg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdvYm8Mcy1Iw0tmGmkSwD8jPbibYvoq3NktlLb0jsOpAIgLAxZFc+4fJyJ7aZ1W/rE1n5EDqIU+3gvAS7aLNZLjbw="}]},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.1.5_1601350099734_0.2399720119405444"},"_hasShrinkwrap":false},"0.2.0":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.0","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"_id":"@iceworks/doctor@0.2.0","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-nfn6m6gMUDZOLJjoXCRDJUybr2qiZo2wMGw5rAntFz9ir52kSxc9BI0T1PqS9EoOwxseqvVcNuU2JeHroyFp7g==","shasum":"06671b7492c076d53a05a1cd2f12ae74ec74b9d4","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.2.0.tgz","fileCount":28,"unpackedSize":29513,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfq1eQCRA9TVsSAnZWagAAlSYP/1Ew82KouGKE9UD2O0wm\nDV60CTRQhPd2Di7a26fo3LiYeCINJqpytxaOmJMmMRQyx6+7AQiTsXG6ZzqN\nRE3Y90d7iTbDou6Gs9Gbuubp5hSoOI3WlAybOwouFVnYZ1yDJR/AP3yiCDJo\nSbizBbYnT+NMWRlf/hSU0MPoQbQLwvpWJ5PjYa3Fh79EDCBVqCTphq5xpoY5\ntPn5Irh4WItuXgxgE+xdZJcBCYDzfixRzLRv7R7DRSESYNoiGTWVO1BadBwR\nyg88xtXTtqpjb+vg0pigRJuI+YQojW/zASMjN/qi52fI1+kjSKb9D+EM1Xxe\nbr3Sm5UeCRix9CNOcoUvTFtGjSYh7srL/lwVGhMyY3uCtDeVDFY1OhwUKFJh\n/9Jv4SsD8tKx38FL/jPaY9H/I+olvg36LhoTLfiNqugkb+d8MI+TiNOSqxPX\nPb8BtG80DoIaYruBB/Lsz6xY749jkUs6Qw/xIskTnLeHjlG9ele2MZ9rNWpO\nwNMbnDSP33HHEGlZw7wzo9inEQJSs9nI+YPfjwLoyzrrd0hQA2LxnF3pK55S\nIKV17YZlN1n5e/TU5xGPaVqH50iSsDWb/TuY6MmXwEtVl5aXJodFd41zLiY8\n8z7skGlphGKAdmjxQSzGrWYtwmBd1HAGGoSTrBDb7ldEtb7GXxw4Xcwhxook\nGrsH\r\n=73uU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOBf6JGviGoHYC/ADVbeUSx6XJZiZUuT3dmU5EEOZWYgIhALUlu7iaVj67VDW3Zd3m9fR9N5QHvf53w7vlaZMeRP+m"}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.0_1605064592130_0.8244101362385319"},"_hasShrinkwrap":false},"0.2.1-0":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.1-0","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n### CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n\n## Options\n\n### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] .\n* supportExts?: string[], Support file exts, example ['css'] .\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/@iceworks/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\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`.gitignore` and `.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\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.2.1-0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-Pk5vmuM9rYBXrcOo+45JdfkAADnM1lhdXNmN2Ljtw12b+O7WN0KB2dv7pR7SZrTQpAUmqrzPqPCSyxk+uc1MPQ==","shasum":"8a2b8fbe50b32a2aa4f320218a055e2d3a62740a","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.2.1-0.tgz","fileCount":28,"unpackedSize":30309,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfq4w/CRA9TVsSAnZWagAALLcP/1aLC95l3hiUugaiTd+G\ntjQ7KYY3lXfvauEAXiDUIC/LPVetOMBzBRIZEnMlEM8miDIAdekAqBxgXf1y\nIn0l62RkjxltUQ49leCR8vEXGYFfyAygmBCBFSGNrS252zG87yrStk/QNT58\nexvnwKUZ7FVgpz0Si1dwXWJGVmK8UUR6+xY0TZUD3Bfxh9ntnKt6cymVEIQA\nKaMd2ozLuPIi9MBYG5YEWubcg441j46IQkG6MZY9wodWyT0fehYqN+51klpx\nq+FKNOfW9Lo8qd59l+2nQR9fHtS/aVkd9u4JivG1hgi49q/HioA7kJRzusRH\nnE//4yiriGCW8GNOVGDAggFlM7aJaNkWN//b35HcDkAp66Qa71hKoWb2ccGx\noSMZQidtqQk1U7+hws279jcDY7BC9mQztq+XOvFUYxiJ5gU/jUwyWyuF1Qp7\na4M5045LVDmv1AspY08NaJKAHnrMvIaNxDM+GcU/XAvgFBdeSD6HJxwy0+rO\nCv7xdHvHQIWpUBqnvKLVDkFXuC8FvQ6YTABxPQweqMc1KBgGdXP9rvo6BQ2E\nD8gfM6XM0JdAHL+TBvS1WUOGcrzY4RDFOtyzYnMTmcOpiaKnr0O8LFtq7QG8\nPwqKTP47t34bfzgzqXmYXCeJAA8jvHvVRNwyiCYZfRmuht7BCBQBmREiAoBF\nRFLx\r\n=Mfdk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCh8nLHOV7Yvd5tA/PwR2Z+Yng0hQtZKGnS4Fi1pxTkEwIhAPRbwW9IT+ijcnBeIRmLMguC0HdJjVu+lHQ1PuW6UPZ8"}]},"directories":{},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.1-0_1605078078798_0.8388620871425414"},"_hasShrinkwrap":false},"0.2.1":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.1","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"_id":"@iceworks/doctor@0.2.1","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-XH6yUFZH1QFpPba/bGo0j4+xfjlzhOICakZ4RV/3CbhXlyIcA4xj5Bpd4tCHmF/FBQfRLQbvd4WyaSZ4J/Q3xg==","shasum":"36577ebad4d42704607b5d62c0c79f9552fe5783","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.2.1.tgz","fileCount":28,"unpackedSize":30307,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfq5O1CRA9TVsSAnZWagAAfcMP/1ZXhvywcgTcIunuFTl0\ng+LXHy4AZOC5bDm1qWUim9mB4u+/QLRDfuK3tbTpk5NeFzZ9/M/pLJn/pUOe\nd1Ikovk1kLLvgE5Y5Hv8axbS2nUx7ZBysYD/Lx6jQfRunxyvT1kd2r7hfGvc\nqQZMZjziXvE8jV14ebJcZzYv6mJgc+Tpr6MC9YC0+GAGB9TBoqVwJzRcIt1V\nXFqm6urIe7tYbqISMgcONBTuwXmz2l/bDFdYt3u2t0Y9Ar2hDO1+UdX+yc4n\nPa6tOPdfxI7vZ01GmXptdGGyohSWpbRqsbQsxSR8COUTSXCP6Mfo+u83Uu14\nFOPxdc4iO1C6TM0KlBxndcr+TOVXGbhjUD9VKYbaiPrjGHdLcN2OhwIbnOsd\nCwRhgk1yauFYNpx9P9WnYkjGYLamZmGJZyxNYhRMr3ZktKkdDU0qLzZKomCx\nSQqY2r522kGFbpkFKlWq8+Hve4QAMFQnX3IKpnSKLT1UsBZNIN++rPxNyCW6\nBFsmTy/v/p6KDJUiKG7JmPTx3PYwerMwAuBykTASTF8AW4CfB34LyUPZOwa8\nBsYNaXMykLzFGCwtYkPyu35RU7j4BbIhlVbbYj2VfI6RcfHUQOF3v2ry6fEY\nNWFVzGVq1N4Sy6yIYW40U3K016BrQfkKw7IMFWx6NJBpXMxKzO8XPOE8Se5Z\nadf2\r\n=NjoJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXqJcZasfw6IxEb6qkOMpP6Lg56FyPNfw2TD+XubUBOAIhAMbv5XjhsoGtFNweWeGpq7K2y9h3Ib1qP9whKdsQC0oz"}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.1_1605079989269_0.8081906619553532"},"_hasShrinkwrap":false},"0.2.2-0":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.2-0","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"readme":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n### CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n\n## Options\n\n### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] .\n* supportExts?: string[], Support file exts, example ['css'] .\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/@iceworks/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\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`.gitignore` and `.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\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.2.2-0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-4PrFKIiwt8S2TrR5twFJIwRcHu6V+0wFyYnCBiKppwYBoASlBbJ5ERHnQ+ohp2ZPnmHnMAYQ+RarYXjCNU2ENA==","shasum":"b19b29dc6f48733eaf8b6f4e6af11e8e55ee38ff","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.2.2-0.tgz","fileCount":28,"unpackedSize":30373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftPk8CRA9TVsSAnZWagAAW6MP/07dVgGw36rNPgpkDUPi\nVEVdR5b33YE5dQIxnnlayA7Gb+Ku4Ji7yp2JstcQgCicg15dJgxgcFvBJ+Ep\nxLxIPegbi6daeuEak0DrFSsZZ+7JvYoamKzEY73rw6OWMXR8jSsbueLVHTMO\nVLPlNxWpqsa/eYfHcZUQYYfsDdJMzD1WPgCr8B5JGrD+4IjvIfg+yCwGyzT9\nYRv1Kzfvm297ijTBqR0qsL0d0YCFu1C7W4p1aAQPmoFzZBQ0O8Cv0rhgk0eh\nqvNlEmX25DNXkS9nq4lsuP3/JRUN7j4M3cH1sS2cEeChXFMMz1jcm4a1Edoo\ns/I3OafhNKl/aIwVX1scQeYwlsJOC8bQXsHKG4TIF+tJNglTNcfjuXfslarc\n7fnVlO76qnet+DjpQtfseZJZckgGtyyfYzNnOqrBc3mv2JHyKWZDwGjDgLjW\nZ/yAZyyMMz+ly+m260+4PHGC/lpeKpmrCz3Z203sK0RUXm0cQZO8xc0DrEkR\n2UWRudTbyrIe5RA3taLFFYlxDEYMIjUfr241TZp3iO220dX8Z8KzGjKMRL57\ni8x3YTZMmCWhdTJbQTVYRaoe1d0WhCgoolUlVJ0yvjP6dQh6pT58Xq2MK7af\nWKlswVUvyf9ywgVG6Lo8Nz6eIIL8Y6mjJIGy+LWczHzMgPo2LEE08coqEbtw\nGPBe\r\n=0KVe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLCCtj6tVxbVzZi7icIgCzf1MiCCdgQvLSatMhZJpXegIhAPeVBnwTLAENQVG3hgutlhSBa9Rm7T5OVX/RR+LI9ugt"}]},"directories":{},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.2-0_1605695803645_0.9300307436276563"},"_hasShrinkwrap":false},"0.2.2":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.2","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.0","fs-extra":"^9.0.1","glob":"^7.1.6","ignore":"^5.1.8","jscpd":"^3.3.3","stylelint":"^13.7.0","typescript":"^3.0.0","typhonjs-escomplex":"^0.1.0"},"_id":"@iceworks/doctor@0.2.2","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-2bajff/RcZr0WUpr42UW0WNa2Y9B96N0ocbCUC5V/v5vqhqL6YZAU/jNTkBE1Q120PkG5NBd70p1+KrUwKozYw==","shasum":"c4663768f9774c2bf420da00ccf931e352e4a684","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.2.2.tgz","fileCount":28,"unpackedSize":30371,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftQzyCRA9TVsSAnZWagAATYUP/0SKu6emXmbG5fq+UaBI\n3PB25aeSNX1YJOwSRMtODRACwDJCoWKlDfP/gW9nezMZPa015OR/PkZsvYt3\nD11M9wB8NHrYktKAyaP+WDsjzxPQvMgZDCYgYS3Va//l/gH75tCvlImXDzHz\ndcMYXT0XJwwBJ+fovvGGy6XxVtz/qzl23pw1UASmx/xS9VGJxS6E6fqIg54C\nMuYTvtvhx8KFFPEV6S5o0sagauQxQ+8BeNCYdjJj7s0UQhlw+bQUYvHV95O7\nburtiImzZJf8xMWe/FZ5wBRM+wsXmlgg0073fEEhpJdcxdgpDG5WtrXk81gS\nauvyuTFXaQv4kzNctF7Y5b6kASZODXyF91qz6MRhTdt9imSFCNMeJVkOdoc9\nRij6mzhpxJYXxejJgzdowg/Vw3MDPex2SnLAe9XQaHikYOYS3cYBpfjxzCnJ\nhiqoPQf8Onei/prHn+wB5LL2/gGCF6jfE9mTeR8X90Fe7lk+umWMKOkOrmXe\nULyMZhYbqetSqVjI3zjLNpCk/YUKn/2Pkurk5ay4LHKt0Zi8zA3X5i8LWXut\nvgG5hHiqYUgIhkgrSas0emrvVHUOxyxBNIpiRRF0l5YcW9Fc1nNHGxzGgOYe\nCQRuP/lllWAzxh54jZq7/+6F3Ew+eVgThdVU+dQYqJRa4iwfvEarlMx5c2df\npUJh\r\n=D3h6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4IBdFFvPOmEkt8ZVux5Rbf6sSl4zi03QslwrM8jja4wIgbm0M4KmBkGBjSB9OoJa2ALff7tLLr/CIVc+dw/b14Po="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.2_1605700850181_0.6825193858463159"},"_hasShrinkwrap":false},"0.2.3-0":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.3-0","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"# Iceworks Doctor\n\nAnalyse react/rax projects, troubleshooting and automatically fixing errors.\n\n## Installation\n\n```shell\n$ npm i @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n## Usage\n\n```js\nconst { Doctor } = require('@iceworks/doctor');\n\nconst doctor = new Doctor(options);\ndoctor.scan('/yourProjectPath').then((result) => {\n  console.log(result);\n});\n\n```\n\nor\n\n```shell\n$ iceworks-doctor -s ./\n```\n\n### CLI\n\nHelp\n```shell\niceworks-doctor -h\n```\n\nScan\n```shell\niceworks-doctor -s ./\n```\n\nOptions\n```shell\niceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n\n## Options\n\n### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] .\n* supportExts?: string[], Support file exts, example ['css'] .\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/@iceworks/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\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`.gitignore` and `.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\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.2.3-0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-qgzp4JUxzxcPj5BRO7Yc7yLNqInNsx13pS9tm+XZrbgBS5z4uqdCiuLFTBk6QingrrNu0xfUE0wTQo802rIcYg==","shasum":"08d9fc87c05b1680ebaf1dd3ebb8d18ecaf44cc6","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.2.3-0.tgz","fileCount":30,"unpackedSize":31747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftzOeCRA9TVsSAnZWagAAuPIP/jEMMEpE/dgMevfn2H1S\nqN4ruq9hG4PlLq3Vrc5UE3H4psqLO5zVMCZlJKXuDH3netNXEwQWQYSSPTPB\n8z7VDDvU4eCAnQj7fQd3Ah8+DLT1XGybAyJXYmuulBTf0hP2C4smsgEYi1qI\n44JXWkGUjf641c2+S054E2gv+henT6DGSFZZ3UqW0Wgp4wdkar/bxrbsra0G\nXvQPt2cURpRTN3NokD7AIYp16quENY050R/1kRn2xmpyQJsDuxU8HMmVTj/Y\nYIaHlSXL9jVoCAqmhNFThUBYWvdwUw951TcYemZxoAKpZ75ULoJsQ6yF9Gs0\nGL1FMAjJEvQufxLPWE2Q/EXBiWez2/v4HUAwy3nsRlWuiZwTAhhQoekYOTZ5\nvyjUsM4vX2ULtZ9FAloOa3Q5dA1X0skWzeq3PUKAqeazOSOZQcM4Gi61qJOo\nt6eQhqy6lYja5XrTozR25fDYj1fShvaPUYTSPSLVl7ntaxoR6dLlMHMSabc8\nbecPjgoiMjUcigGFkQPt1H0U2+lw7TlyTrBeq7qe4jI3rKa9DvrFJ/IlQ+ZT\nsJod9+a/EOG8mb5g7jxUQBiOpNC+Pk/YV/KG0cvE1E36Wtd/6PdYiH1OboRE\nZJKVBHm5iHRJ1XBqOrEkhfl53IUXVEl3n/vNh7T+js7WMkMW1O6EWspoMA09\nEfjC\r\n=U+/P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFRcoL1vyMNmH9rITp797hFqMICW53b1Ju1NhVPbNdD9AiEAgHIAL/d3U+8czm08nv+O0AHrdNfpUVH9B5VU+WCvTu4="}]},"directories":{},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.3-0_1605841821950_0.59943614745142"},"_hasShrinkwrap":false},"0.2.3":{"name":"@iceworks/doctor","description":"Analyse react/rax projects, troubleshooting and automatically fixing errors","version":"0.2.3","keywords":["doctor","analysis","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"@iceworks/doctor@0.2.3","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Ss+nvBkKyYvadac9bzr/qlm7t7t0TAffoBtKd7vf68K1w1srd6V3yF3kbOiDO7HydNd7XS9d0Lonjv4pYqwn/w==","shasum":"8e5f03d6a3115ac23cbc62cc34ed2bcba01acef6","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.2.3.tgz","fileCount":30,"unpackedSize":31745,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJft0CSCRA9TVsSAnZWagAAitUP/0uiJNS0/bo1STG5pGRy\nTCp/b8i5XGD7eejYD6i217mfhomz0y9qcQDJrYlY8Ph2PTGRKQn/Lb9O+OOh\nl00pQLtrRhlIeoXOKEeQlQ3SCMjk4jRF9zXz4BVEtuiTieBRGqFgIEH265ZJ\n6OeGVuVbp2K8jgvwlw5f8Hzw+DSXKaD9y8h2KhmBL3nptXenuiq8tooJ4Kq1\nxRSI+mDzi0bpzCLcu4JGsgCjAWZqnks60m3NWAbxQxS0dGCw31GuJJl+Ty2e\nXWFDvBxKcgk1LZf+qeucFK5SDGOuj/3VoNUdXSfFsqciew5bCkY0EMhdjf1V\nHigPnACTEEQDenvMunGkdzq8JztKv6WV7LZ3umpKWYILH/eOlCMpuispnhm3\n8FVCRIB94Qt+Avhl3BHQTIZjnUgJuRuKJ71DnU/xNUPJ/vhXSwatGCU83YNr\nMDd1V1xeCCLrYAE43lGU0eWTZpVPfTSO3iuWWJR+CYvxs20DDmNDJj1lyNDi\nDGcClKSYV0qsYKAvgj9cP370f4dmYbt6hwcShm7vYj5R2xetm8k8A9gMHZPD\nJ8Fbdz1Z147dM8hZ8QW4daJIozHPBKnSlEA9AE88oHWXAZjpI0LhQm46di+9\nCzTjgv9mIC6d8drfMBglVEsetwK34BJzy36I+kFyTKJhiiIsyRTH0PYcmEmG\n4owX\r\n=v731\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBzIEt+shbJClMDkk9eRebtRnBYcRTDBJIAkpn498qzpAiEAjVDVHNfw3B07CuYi0P3ji1SYGH4ZiJuClOZN9aWyMbA="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.2.3_1605845138045_0.8283532956180111"},"_hasShrinkwrap":false},"0.3.0":{"name":"@iceworks/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":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"@iceworks/doctor@0.3.0","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-7kT8/6vk+z4HUwGl9DECaeiqT86HzzTXxNt1mbfk5cxUCC7ybrxfMl54fvyODAKwbsZyLMklU4c83BM5N0J3Ug==","shasum":"4fcdf4a13280e6be08da4afaa3ed1082057eca67","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.3.0.tgz","fileCount":30,"unpackedSize":35062,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfviT9CRA9TVsSAnZWagAA3t8P/2oHKj5TLPKKo2UnGXmk\nR7bgnNwWPgCPxtJV0PINhKW8FGK02d7RlQ6uQbSHpJymLAYECXJjn8g6VFQd\ncWvDdkBvfhtZzhSDleujqmNBEwup365NgXmT2tnyyAQE4XP7DS4w9LDZoB2a\ngqS+1gvWapIB1bW3LGjFOEnV69bZ8rBWGNreqhyLWeEnI8wNy6Uq0R/BsZVV\nBPsaUhsQ7x4tUQxUNXNTTSwxCfLzP3bhzqHhegbEbgtZM36QNgZ4XrzX/ZPC\npGt9aHXi6DbiLgowJMKLXqEIKI0i0h1oiAMKLzZGQDfoTDtByrlqIlhv9hKL\n/2MG83HcELMtD3mrFf5H0BSpTYOfaNPm/PpSppiXnddw0BqfLMn1eLY/vraq\neqNGfb7Hp+FOZRjMQNmDwBdGfYokdR1FVIIqpz82V0YEiomB5G6HeoH3x1uB\ngc0Dn846Z9CVTWxDhISh/GjLJ05Rhn0LGvWgMifECllEuojiazE6ex9lT0HJ\n7Li1Z8En8+901DLNGT2QLGlSxzgwfODcCwdZL88uFyqLuogoBHZBtX/TR7KF\neR5HOg/242wEfBsCTLyjVVaQ3vBNG8o+eOrti0Gkvy4IUOxYjtaUzm0rgeB8\nS6KflVMsE8a1M/Mkd2GZ3KDW0ez3gpexCFFVScdqmH5Lb0IQBeoycPBTb6RM\nopMs\r\n=85l0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFEpOT2l3toR1F+Le34CaJ9Zk2Bou9oJp8tX6lHms8VAAiBiaUguxq9yFHl8qUB/LC9k+WrI3X+VRfIJEBB9hpj+Yg=="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.0_1606296829508_0.5375534370631394"},"_hasShrinkwrap":false},"0.3.1-beta.1":{"name":"@iceworks/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":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] .\n* supportExts?: string[], Support file exts, example ['css'] .\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/@iceworks/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\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`.gitignore` and `.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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.3.1-beta.1","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-kY4fNdqBh4E1TZ0AqcXMz0NzOcmjkQUSxLS44sX35XF05e/m2IKu2y0nIKAFaTWz4W3mDyV9QgbYmRqjNftSfw==","shasum":"0bc3b484ab0659fb06aada27b7142596751b412e","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.3.1-beta.1.tgz","fileCount":30,"unpackedSize":35865,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0HAgCRA9TVsSAnZWagAANMEP/Roob5SBdCl6ufX51944\nQiNq8zBQGkcQXiP3u9Da45Y9zXvnt40gMoojubKzxYeRO5+3UezzQdkC5sh2\nDa/UoV760RgxkmVQcLTccgnoqOpd9h1Xy8nd1IH9+KG95rDyvP3f8ONiRNCi\nrL9BsCRcp/NOyZBvD8aVwFCsBuwdkul+A/sJhbjrUByoQnINzB8avqk2K1Qi\n+okN4owA+EQHjsa8nQQQfyqk4XkQ6/HcTfsooCsgaFWvhZCK4FK3EBaJP6Ee\nPiU2AKPlTVAuvPF+zIQ83NNAiHIGxEgLuxc8RjtaK7/3T4ijaIM8PZTmyUZR\n9z8IJCCJX5UqZjGZKn6RHagGk4nZJhe1lsBEbSMh9iPrbwAd3DuyyvjdI7uY\nkqviBgjXRb3rVnhk5JKUZQkRTCQHItoKNpCMagQxIYsoST8kKDnW8PlI8wgE\n4mrjZ3t8C5oPTW3P2e8wTbrYHJHGaq5opb+vsBh4v+NnIgQnMy1v6mlopRCL\n5b+WGLOBaStq9JfIEwfTmxPLP3DmZBrVaD9yd87/JgPNHoWPl2ocL27gai0P\nOWFuFvNf8sff2plHtK7ndO12CO2MBebQ4B5NDAXrjVnXhTiQ4VNNBlP/gCot\nHWLjgGaBcNG/JfJCd4NU3C96lM0ClsAfgah5xOju1IKYYqZ/9aVaUPjaY0O1\nRoMb\r\n=9cZc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFfe01WkXWZTdZHcoyFqkELyqObg4rFW9LSGstWeiVetAiEAkLXUJ2WH8i73cWIVLx/N0Datp2lEWtgkVeaC+sBRVFs="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.1-beta.1_1607495712391_0.2067025288803095"},"_hasShrinkwrap":false},"0.3.1-beta.2":{"name":"@iceworks/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":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] .\n* supportExts?: string[], Support file exts, example ['css'] .\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/@iceworks/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\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`.gitignore` and `.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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.3.1-beta.2","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-/4zix0APzCIdGF1cxdnLTLMwCaWW/37s9af0+cFq14r0dz5VjPZhnd1Q6LaeY2/BweeDrAK6kEPCK3vL34Pb2g==","shasum":"36d40e8688352ff6051f52c1316788f3239dcf87","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.3.1-beta.2.tgz","fileCount":30,"unpackedSize":35865,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0JFvCRA9TVsSAnZWagAA9f4P/A5zRyvD9o3LaZFbSMQY\nyQsPJn0psSlcLorbU5NnpUJ1QxDCwka0Os4H4pEqBT37low3vOQ52jp0QhOa\nlqoaM9QD20AkuY1kxq+MaCjBRAtyTRzimSHBFEVVwMpNDzxWIVPZiKw3JNPE\nvGkLRLyAMadBQtnRw2vle11yeUsKLW5wsDdoXXOtQxM/P/sL0GqcXk/VJkCE\nNVUtNjU7XW+KkmWbcFhDqyoAI0aRbChi1WdS2pmD0Ksk8yUqbnWoJHoNE4oI\nc5481piGMwpk6SBjKBW4M9OaW9gKwnpzF4lWnUabCQnXP+m3zzvLwnZsZMOf\nj9nNGfc38W8G7ubaX33TUJRmezTLv82VUVX+PH6vdYnKoBNy/itc99EmWd9c\nF08GuqkfKFgSPvRMmY5kA03MF4qz5ARM+o9PccgDsYfrG3FRCPXWB+JpJRol\nLVwFRay1uRSsLF9OFGmmx/znBX7XMRISHjpzc7CdX2fK5hf40rbo5IqdkXH3\nmuYLBWmiahdkrsds53YtaBbWeivH9d5K25vfc5IiwEpEjUhDM0ngCKPpyzbL\npyEILGvichAOcYwuS12/TieoxdoaGWqyGiSGPoFSOtqT2sbMJLtb32KXd93i\nZfzwOasMoLnCfoFNRN0m1iS8bSWP7th5stf0yO2ezaOt8m9cju7yrPLB+at8\nG8aD\r\n=pDmn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDgb4tNxU+wV9L5sojUi9IsPbZuh7YDT0TJlMi3HfN/DAiEA7bUvvmZgD3BsGfwMEnSYUwiLbMai25oazxfd3lZpMmQ="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.1-beta.2_1607504238809_0.1751599674541684"},"_hasShrinkwrap":false},"0.3.1":{"name":"@iceworks/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":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"@iceworks/doctor@0.3.1","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-mN423FUEr9mg6tU2vj2jJ7KBE9tpt5IVqxAmJgvA0BzN0sIs3ot8zgjC2QhV+3Fx7oMJKQDf9IDEBijihV2W8w==","shasum":"72b14e539223c99790ed38aee03a67f5fb326e2e","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.3.1.tgz","fileCount":30,"unpackedSize":35859,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0JicCRA9TVsSAnZWagAACSoP/093uwN+J66N9FUi0nQU\nxnIb7j6Ei68AaDuXR/n1kLxcccw11d0kr2DP8VhNJPuMJu/nG5s/2q6HKTcj\n5vp6u1gT0hNKaOa3eCBiXstEUnPesklhTnRADublAuTxTqUrZ42ZB9woteUn\nYS8au7nQzEfhxWN8C/fHQ5/rEZ99wIGBWZkrN1q6Xupxnmv9crH1tn7QTZUG\nv8SSZAlb+jJV4uy/nZBv/kp9qa2Vvo5OQlo6XKZa3hMM4sx4NglU1RvvV2uT\naiofHzQR3yY9Z3RqOejJ8/cUlAUkeAj1CNtuEfTkhyBVUCvzztDTo/35b0Jb\ncLo01N5VXSbEUwt41hfR/Xw11VD+g3+9aHBl6xu1YwVf56fnmYdk/XfOjcyW\niw5XodFwgjRNjguoxMQSVsb1qZSvNxi7ZOS6Sexu6+bujO+vbEVkXHxywNE+\nvRZ3Uapy/QQhuhNOost2KehJlGHtVuTU0WCyQa29bEwJg8rzBaN3o3Xepj9n\nk4aXMS1yj7lLevnFov/N1WQsJQQSLGeooVyKlVEmjbr9Ir554FkmWgG4bglT\nLxayk76rH9fiEMgAJPnykzANRrdgKe04B5h54WgOmlcFVgUC/xfhIvO5QeJ+\nix6hvSt//rmZ7ZsC/dreTTvo2LZ3hLe5fqA4zbJCARMn97V2rl1GPZSiPqFB\nwsQ3\r\n=xfGk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG6ymoiUwIQpuEqV+ZlzRsbj5vM1sAapifDlIzsG8ABKAiEApZ2lDCDW7pXaVPL/cY9D0fSaZ0cMFzTHSJIyqzxAjcI="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"fyangstudio","email":"18767120422@163.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.1_1607506075616_0.6279860293423378"},"_hasShrinkwrap":false},"0.3.2-beta.1":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.3.2-beta.1","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-doctor -s ./ --ignore types mock --supportExts css json\n```\n\n### Options\n\n#### new Doctor(options?);\n\n* ignore?: string[], Ignore directories, example ['mock'] .\n* supportExts?: string[], Support file exts, example ['css'] .\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/@iceworks/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\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`.gitignore` and `.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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.3.2-beta.1","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Sp4vlyXM6UbZEAkRjPqHtJwuzaEX+DeqKfr7rShi71uUfCYqAiEZ/7GgzKx+lPpeqAV3JnKdDyDgB2ZXFKdPxw==","shasum":"6694139bba5af73fbd9fab50c91c2f8899e1dd62","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.3.2-beta.1.tgz","fileCount":36,"unpackedSize":38233,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2KKpCRA9TVsSAnZWagAAieAP/jSw41yALC7ILZvjDCSy\nTSn8SNmWzRzHurWdSEE5t+fqKi3xaQxAhi/btSNPTc+jTnnhiF/Ct8Fs5AU/\nj8H4GUamRSyyXc/PjR1jRYgYM6jM4dYgsmGBdHV/Ub8RU1M1X3pjZnvNvOuT\nVexaV8eDZggMqtLjWHXNip+uS1Ljcenno+aZuAuVMmeo1NK4XmRoPvRWm7ar\nnlCZx65FRMoqEcsNObSvyzmBDe70L2VkNPVkYdeC3FImArUNqQhuvFOUCJDI\np2nSLq6gCjwLaSNFRTso5f7zrR/sPA4bOtRFnAJLtcOSc3jkrU/BdZqm5ZcU\ne70o7dR+39jG53+tZRCORBXw0+SvGmfa6h+gxXYRUI3q6h78rgWOk2kwNG4t\nLJRo75QDXEZzSyqeUnHLLpvi4P2DokztMx3zo7ah/crQ62fo5ccnBkI+nX0Q\n8qGHXQon8jpNo+eSX9pNGhc09rLSaOf98nK/whlkehV/Jl6mfv9GIUP0Xob8\nnJLGPrwGQecv42+wQjzlnxYYenqfwy4p1U7zQRKfQweurZR0MUTQMMIAty9p\nsQHTF67pZu0IM6X5U8P6PR/QIv3M6bdAU82/4rh/LhBO3IWq6Pm8q1Hsg3BC\nBkq/8OfV5uNL1xqpV4K2jpM27vcr02rFXP2lk73u4ZQM+KgUHxrwvhopXf4r\noRvC\r\n=cuah\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGdJMr2sfr+piSljlXzU18RjVobb908u5LoT0/SflSbOAiEAsGBx/n3cchFLLweSSJOZxYrPg3lwKtdEXepI/+kJQyk="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.3.2-beta.1_1608032936643_0.7002336184691567"},"_hasShrinkwrap":false},"0.4.0-0":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.0-0","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.0-0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-X09ducC8UvKzaGvSHoGlG5PhZWenCj/kHkiS7OPIhMFtShfpDaZKzsj8LPIxsZmKV0/ICTKxvCpVYpiL6FezzQ==","shasum":"37de71a85d0a1a318dfb1a8801d5b421a7b27f13","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.0-0.tgz","fileCount":36,"unpackedSize":38008,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2edDCRA9TVsSAnZWagAA50MP+gKva5JUeFSZoYO9AnqV\nMR26QHchsmFQN54tPfMmHgqnZ6ocj3yWpdKgAKnjcrRtIPY/GBbjqGCt8bGW\n5vO889XDtQ0Wc1GwZnaWP3rDVQUhyRiUWvzoMnL1kzRJ3rGy/ikjmovFX5QG\nfGveqZdQxqQeO775M0b5DqnAlj6i/3Zw6V/qAQji1OeLV9CjtWhe5dZ2aJHg\nGopGiEZBSUACAC9M1KMuNtDKcT7UmSClq1rRs002hxpFq3XW7Pv/Bc95BB/4\nGIC+jOlnLy7RqGdZsvyqLUg/rF2BmG/5Qtp+/tR8euTNji1ajutu1pHK+5E+\n3Nalxoa2DJ8wlq/x/gL7stQNeQtK9PYsZyTFWka8uKRCS9ozWreQ6QpUxqAy\n5DtTQJtL+S+TGBK+99lSL1bYTzDwrSCtxoWVx6gno5qR+xtP0fQ7v1EzaLJ8\n2ESV3+ByIfarcJqftBxQQA8ybExfZpMgfgA++1WbYNcMehHN5VjefxdLseDs\n57Ol40ky+Vd0ToZM5ZPGR8J8XB2+xv7eCfoye4aZwj1Le6gJvMjpDjQiEYKZ\nnMJui7hW5v43I4t1PfPu7oNiIZ91sxveju+SnC+WxPX/XEjUazvmu3aK4WDP\nrwNJS+XMywDcO4g4c339Mp4bHipI0D/JPYC11XSiUvYtFNgif8HS2SzZ1aQO\neOGq\r\n=+9VF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICSuJpIxAMe7NeNFWq8CcE9yDwWZxKL+PPcT2IIZEfw5AiB9+rrnFh11pochiaQC8LnjX4HyhY/OWnsigjXsQyq+2A=="}]},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.0-0_1608116035056_0.8644311936641413"},"_hasShrinkwrap":false},"0.4.0":{"name":"@iceworks/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":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"@iceworks/doctor@0.4.0","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Q5Vu9uMJ0KhleDa2TVygqgRXwN4KCV8GUpPu1mPOIkbZ5lgvU4RaVBDEy3n3P426C/fa9ty0TVJhREJiQwtHnA==","shasum":"c1f56b96504187ba2929d4596b492898d7c7acd2","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.0.tgz","fileCount":36,"unpackedSize":37963,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2fvbCRA9TVsSAnZWagAAF1sP/0EGmMlmNgZwMQJpljNF\n/Fwy5qqoEfJiCd0Cs7A96lVDUHK9FQJMfoyx2zeAvnHMeHtqtn3rGbRcf5Pz\nX+aMGPxZfKx07PR7RTei8MXvNNKbGKdmVYCbB1kohjw2C0HuoT1AYDnDYlAO\nQnHCBlHiJBx+m8jYbQHDEq2sxiG5HDhf+WoIzG4LxZ8zpPbwK4YUPn2jXjwA\nXESg3ZLH4AI2QN59LtpOZ/QFFoPfwO4UHw3WyJB1bKnz8Jkvc3x1Crk/FQZZ\nq4YGjKeSdxEp0f3ZLSSS+Zm9/89AWfF+v/KLajsiYasMnrg3/hQYtGG4Qx6h\n8vv5L4/6xK/wDcQ3zM5mHsyGpfV5Dw+KDtw0mpR9Jj1uACcvjWBMSUdDZCDD\nPfiRV/JwT/egrKBZ1m1r+Eco2bk1S7km7QeFXRkFFsjJL9qYTyNhBkxLdgni\nJRjJmBgdYZXnWZ6Uv+xU6AJBzS/AmXzzr0epfDSEXY2t5Na/OObVVGCn++9l\nNQ+h5KqQqqti9W6OlPa04Dod7yhzrswEphmQNLa4umlbgALsZDB4seZo5Mp8\nvic3hTTelkQuHNUyeZFvVE045y1LdHpIhi9z0g3w4sQ+4OlcAUC6JcaC00wr\nqScYAD5YWpszFuxelIogzTr8Sv5W80ROYIE1y9XrryGByLup6AXZWUkpmOfP\n0tqK\r\n=3lK3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8rP/eRG8VC8pHkcp0Zook9EQBSsDyT6zPT4ve5QZGhQIgb0gnrixqqTeV3u8In7wJRYp/ZXI7aaIC4jTZ+wDXIj4="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.0_1608121306540_0.18893472537754397"},"_hasShrinkwrap":false},"0.4.1":{"name":"@iceworks/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":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-xBGXrb/13+ETELn+g/ONeouxtC8X+NoBEWMCnPNFll3GvdLd8q9DRvQdBf2qYekHx5JutzLpn62aNz8tHz19aw==","shasum":"f56c9715682c10cb6f4b1e9bd6f63c99526c5231","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.1.tgz","fileCount":36,"unpackedSize":38129,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4DzgCRA9TVsSAnZWagAAi8AP/R/8DudVUlZH7GYJ9QXP\nTJoM1IIV69gZuFHF7Bxc0CGdNUcndpYzdQrTaG37aDiM4KKOYmdBNksXcuIB\ncdHSTU0GFmmoGKnV0xYLuYWJea/zpAiTEK4OQtf5dE5VnZhfFzcDwiGCrwWC\nHYFf7C0i0OSOBlSNrjkiLlD0GRYKYvC82cXMhI3CHIGCoKAis9ZVSt89/QD+\nSH5voH9wFVBsr1e0TdGoVDvVbCh+MTvvG3rT1XH/BqDjLbDBlURRUIOl+IsV\ntCFg6itKEmJ13OUKfETSQfk4dOByiP1DISTmjkNujZ6sYtfe5l7IN1D04wjQ\nK3sNXDndyDmY5GkKeKv7oiyJyYW5xnVKI6juYzMA6wVcj+h2AIZMcUD2FzwN\n5QsLaBTPyQBk6YATYlGYwVumMLaeE41tN8uXsiYK29CuFAA5fhTFyB/SY/lC\nzY/LHQD4EK+j9UhaaMIwQJUBbfsctlR2BxDWbz0VKYkPjm8WJA4nHwxMAUXn\nIcVs8xHroG4E/I1vcAZ637q2tHgf3HMLkVAadbk2RlTfkzGdEY+Wpxo5AZIl\nRte2ZXuM4zXiJ+N9GK0G9j+KjZz88Uwkh/I+3pSlkVB2+rzE84338qnv7xZm\n+PM0mUxd/+8HUmc1elp97QI+SS0oVMPdFiHZozugliPWkH3MzHKSejnay1Fe\ndoj2\r\n=OdDV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDW53yP0UUgNUTj7TQ8zl1nYQ96PEa/z0B9QoNmV2uacgIhAMA2ISWPHPrdeEivJRtnXVKTbwOxxhBH7GBv+f52Pk63"}]},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.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_1608531168227_0.7991021218610195"},"_hasShrinkwrap":false},"0.4.1-0":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.1-0","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.1-0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-OwJRRgs0Pe/TiZmMHQBi/eYMNcqlSCkQGSndQvLgfcBSBmicNVYhtsNHIFlAURCiMsfwGWBaQN0Ox1yXtzaiIQ==","shasum":"e266f43decd9ef38f1db13d1154a70bd27117ccf","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.1-0.tgz","fileCount":36,"unpackedSize":38131,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4D0BCRA9TVsSAnZWagAAmOkP/0M6ttVqmht0t3qtwJbq\nmQTIHYN9iW8jvyjbueGZt68Z8QUvxoxSXpaGITfgRJPaTmUMiGcKWdpt0aZa\na7kIpyXe6tZDf47A49bALUxCizcq0JWAjQ+hl6trRXxsJye+pUQJvYkxmkwT\n7SurVKwMgOXABVhs6TEqBvWDmihpfafYMxcucnd0LFa7HR2wTIpJjsL024q8\nBIUk6BBZDZBWFPocAeZTRRBjjCUGNRvlLB/N6GWVk2uRGVzDPgLWprNfNJdU\nZJx/4eevhwppZvW7JKi2ASD0bYHlPBt6/Z/irKg0xLXd2ikpJEq7Iy0cDGwJ\nRVD/Nf800/ktjCpUTCvTM9kM0U8TsPwgayea1mZrcmv+OMpkVYrtK5GfznuU\nVGl7oU0eUwEaqWyEFarwOBB+S67uOnm7UT9+JOxGRi0pPcUCisfS+V6K5ZpP\nkhNQdQOXYQ9OGj4w6AawOhTP6HIjFQEuH4LtPDzF6+sGruKJTbNMM1OBWm+c\nIo6YsnitrdkFe3SwIPO5Fid3AbejIVd00VVIIm0eenNMF7yhyU7vYuGb+QeQ\nJrtMQaGavTUr6F8uubHztvixnxzSo2IAf2iJa9DzYx6twxknJvuVmuHS24Sq\nnrT+raNouAHaydMrDMM0pWnn/C8zopOwWZYRVSS+9vXAngs1AbocEU3y18vB\nA1l5\r\n=iCOe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5uWVBoZaVhh0gEwQJ0cfdpSY8kix9sSUHqub06YeHGAIgTXy85Efrw+N3Ft2qGfIOFVFl7J8f+IX6irPEwgesb00="}]},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.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-0_1608531200662_0.9899638761760483"},"_hasShrinkwrap":false},"0.4.2-0":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.2-0","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.2-0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-CTdiAif0xuxHNdXFv39PV86q3m7kFN7thy74SJErOv7RAy18orlM34Q7cQ5l75rc3vLwBRb5i5/mppCOP09udA==","shasum":"d742ae5696a2c252c98ca0709763778a55effa20","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.2-0.tgz","fileCount":36,"unpackedSize":37600,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4EisCRA9TVsSAnZWagAAWpUP/Aw+IzYh/x1zU/wGtyRU\nf7CRVIslDilGgXcek4GCqIel9vJyDH2ws6s55s5tgRaWzHHQkdsmIQBO/5uF\nORKcnS8OeMc7JdaZcG4PYskjqmgmQODA0/DcAHwiuuNLsn8ZM6PZswgKjLkO\n2YxLSE9rI1x15G7q2JXEksl2/jtxp2xbhw5PG9n1bXICQpvCBWwdkGDyLkc/\nYU5ZRX6fBD/Xfq+vzE+fcXXm//wBYGyzWdzY3PABbnoEJYkoC4RL6pb/oXu0\nKjdwOVyMbHZxDyDGtuPRcOv+5/BFiD45/qFeYkGyUre4x77XAzGMo+vM0a3i\nLQw5xJA90Ih4gAk3cPATNxbD7oZ3bKNGcArSVtDIyruQ5BQZvTh/UxB0sWlp\nMTC+MG1kQvI8rYSFUvQNalTFkkPTG70va9Vj1pueYpSTRWakxgvzYP06gbsp\nFrj4jyPbL0ZDcAgW7XDjALlFGqxj/+mqHV6RIB5c+ftrwaqYAI+12kd8voEi\nZJp4WvwQVZmWgue2uEv8mZ+hFBYdUIloo4oGF//Fj/YxsI37WoVAn5NsKIWo\nXgtQ+Pz+dKNy43TXQ7LWi61ZbBw2dNEAFAPgGLRzGoUm9X45SmZKn0sP/bjZ\noe+RWhqUNDC4l21+xyqmoh+tLLG3IDOg40Rg8UkXSUSi8gIFw/Ugx0Sg9lfX\nAPuM\r\n=OPXb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFmCxE77vkZ8htIzfGw8cpO9pZFNiH8117agTZom5WFsAiEA/lhH163A/FduyQ6nwMaaoGhbO4OblbKTsVZwojd8vwM="}]},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.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-0_1608534188325_0.9080387772103102"},"_hasShrinkwrap":false},"0.4.2-1":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.2-1","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.2-1","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-WJVNzVi3u8pnd1ZZY61i7Y8Wxz+KZ5BXwiXrkhZKnI6fZDa7N4G4cLeGAteAH1uN3s2DTydQrs767/jWdbfTEQ==","shasum":"4236180059570f73478a6af8157e785a752b8204","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.2-1.tgz","fileCount":36,"unpackedSize":37731,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4HbZCRA9TVsSAnZWagAAYZcP+QCPKHE1i5qCY+TYYt5w\nG9owIa4imt5XEQVtDDqnDHFAgBK1jM9vuPOrNgm5S0580bumyt3Q/pxITSKl\n6p6Q+0b8e53b/htc43y4TynakjrcVw3EY0qNRwBrbtmCmjwQ1rIzoROFcu1P\nP+UnibTSpko0twkBsqTWFZxYfT4P/YgWldsYO9tdOoH2Kip5mLYZW8xlwUQf\nlvqW7VTUo0hivcQk2wx5cr0jvP4wxPl5W9o4JeSFAXz+Gllg6q4ngTX57u7r\ntr7dKkpowwGVTIX2R1cVPvWl+CqiiULNvng14EHXZu8A2dfrDmJCzYqmPLyk\nIPoZ31haP7ZduVMHN0NWtfVkiicFWJBWsaI7dly1I5FvIVntIyNaCjJewcJN\ngGqOgieJ7hKD6JHv0S/g1jzzaPQwVpVamg8iBVEJBBXWiNMyH+0wZrPFgV2w\nx0183LfQbR8gl+9N9Qf5Baq16iIY7VmxI32otaGQ/xp6AczaLwTlzlyT4nPk\nsTW7bIooIdtwtB3xjqq9wOvMbdVlqh2JTsiH6TWsLSV3ZZ8ml/tii2k3PIRb\ne5ztco1Nw/Z6Qvs2YOsEv6ha4AIF1EoZBxO+XiHFNFYq5oCKe8oYnoIH2xJd\nNC7YRbrUjbza1DD6JMK58GFkcaOOdigs/3Uawqb95Q+x3r/w+kE2zEIgySpg\nehHa\r\n=qH4t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIATlSFudkVfQmix3fUxAXeJCDjs5F2ld6r7dHINPIZBFAiEA6Zf7YWCI0wGeUXO8X49c7ByUQ5Gw1OmsI4iZUAYTa6g="}]},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.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-1_1608546009292_0.10736051780667832"},"_hasShrinkwrap":false},"0.4.2":{"name":"@iceworks/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":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"@iceworks/doctor@0.4.2","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fyangstudio","email":"18767120422@163.com"},"dist":{"integrity":"sha512-0i+ydrPl4zdxnGrtfiJrT5Y/aaa1CMReO8TfUo1tVcPPWF76RIawzz9DqWDX96ZsjTjzkYtmJ+CklF89zsT3uA==","shasum":"8695fc49facceea6ce5b1114223b092c6544d477","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.2.tgz","fileCount":36,"unpackedSize":37729,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4HjLCRA9TVsSAnZWagAAPRQP/1y12FYDde3Hg6MA+83/\nXe47i12nHF18J2ylt/yY1jLUGpzvuBwxMmQ8f4jRlsoM3dh35Wx/WdhlspXv\nSrLX8m0oD8F1Ypp5cCQyO1c2LSljISV2EYXgjiPSDUfmZp+Xmv6cCf1PEEsd\n+y2GRtSNfm8xDn560bRqbrVv4nGdaqkfO0uaRpl38x60nThdVd0VfzxUZyJN\nWwYBmoI8h1MKLIwST2qRiecaQS4nErDOlDFhTinZ/W1i9EtNtlklXTzbptJ1\nWSTiqJmJXsLtp+vMUKRoXQGmEiB0C0GUzECmw1j6Zb/udNKl9P7Htj3uUjQp\nZn05+yhbBw9jzLX9/yLc1mkn6LVGATBVYEQNFMLxszQM3M9qdf3sFwEpSaEH\nnAvPgBxrdsyJjKe8bBVK3hxvQEemOiT/pN/IaCiuYg4UwgRGsAf6niRtvulO\nnz8NdLkZwrkh9/EsF9zzAD1mhRXWfs9EcwQkoYHsCw95zsXkK4YumaA+FKpM\n2hm1alwuMo+JOeL37PVVHMvlnvqnG81s7e0NpU0Ez+tXBoCAVYHlxDP8kO2o\nYiJv+UmgfVCgsCU9yqLiMDL3t4sFSWxqNX49wBoOkux5pjpoY2XJJdoN51oz\nWaCngYbqS0cTf+mg4N20PGoF14P6h6ukfCIJuLeUZwCR87yiLt/pPVxznfNN\nUhl9\r\n=Km8v\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCAPvaiWkohUVeHEYn9ofLfBnV0D90mcR509vcOiQb1YQIhAK1oll12Xnst9QtxpWiVgJhUZcDR8fK82cYNCs2ccNfi"}]},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.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_1608546506655_0.6895898093829178"},"_hasShrinkwrap":false},"0.4.3-beta.1":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.3-beta.1","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.3-beta.1","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-luXO6lLtJu7KSuj9iFBu2cB9/FON/4MQhOVxm6tzibuSOkNR68FtJ6vIVS/WKqs2u2RqpE4HDCxYuecD071d0g==","shasum":"a9ea83ddb3bb7c86aaabf277390a9b264e4bd770","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.3-beta.1.tgz","fileCount":36,"unpackedSize":38364,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4vcQCRA9TVsSAnZWagAApEEP/RrbNf/ckMC4QmjP1YE8\nvZMxqmtMp/9ISlt4xUVImqbs5U7rAOxg0KsTo/GFMonLlF2J6LlNb507ksXa\nSaDUs5te9TBDfGjDmiA9BW9U/zKAece5uT2EjkQjBzwUsjcq8Q7etc/jwFY5\nAYLPcr0VQW7BoXmMHM9Pk53lrBqkJNG3qjblmmjE3Zwm1avHiQMfYGBxp/Z6\noxLJjikMDsewT9rCjs+HeylmWy/AtiEICI1sq3s3V9uUjwicmyYW9ZmYcvBY\nQx+DTYVQz8Ip6SSUpHZ9m/HtUByxp6VU/OMH2KNKI7pFeCO1mPI63/1EXOck\n4s/tJo3WTePe21YPVKL6z6CmNOnkkOcwD43OBnDYhN4AZwqSWBMX0j/jCUs7\nhVzTrUQIV1SBg6h7eg0a4MdgRPFmc8X39qU0N/8RtNUgvZZ0OR7bMB6pevhC\nMv/Ow/53+oXBwD9nSywErNCyUsnRMRiO+RMc1U3OgRhzTZwpGT7a9pMu7NQq\nms1AcSWWzfN+1ifM3u+6PvKCu/nH3IHTOVPnaiHhmkkrBr7GXS89NJEcF3GP\niCTbALi9gOdobsxvdt/HxGZqJA44T2r8EcnpotIVar6sgT9dq3h/snORcSS/\neK6ZxZDHDi4cD9dV4PbmOcG/5q60HfhJayPTv9hOK/xzAx4wSR2Xl8bla+iI\nJ/6O\r\n=+a8R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCvoF0SRSyWc0LblQq/9TRB1qU+b3pOICIKfDqfPiVKjQIhAMru3B4HAD8GOjcuNxCOb5IGkeQZKcc8w1YXHXHYcQXt"}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.3-beta.1_1608709903933_0.36145742261968317"},"_hasShrinkwrap":false},"0.4.3":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.3","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"@iceworks/doctor@0.4.3","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-qZTb7mN8kQfdTgmBXD5bCN/TXyxivA7COHqtbtSXmfwtaIjrJbtDLE+ctlXdlQje+6VCXuaEdi4nMzadq+La3Q==","shasum":"06b40f2490a7168d603f2b63d2e9431e5258d8ee","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.3.tgz","fileCount":36,"unpackedSize":38358,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4yw1CRA9TVsSAnZWagAAzHUP/3kgqWcQGwSN1Sx9/9Oh\nkh4X5vOYLQa3DIQ7AAQRLFMU5Pkf5lx5T2It30WCfd6SAjPwOrWdnouaFCsl\ntM8s2/av84XS2isPz8bwqXtv8u2V7HKJdCzramgsnbf3ykm0xv5kNkdhUBwq\nMz5hWaOHMrg6chvRpWgs4Vob5HYy7ih0AbU2dvQZdyi3cG1PAbvNxK7px7v9\nJAV+Uvhq9CacGPu13mPm7PKm26S62ZesZrIWPMyd3nMp7TSZ4deL8Fnl5zwS\nDQBAKYLbjlfbakJRnsMDUciqOKmfSlB7WaHqq47GORbBkUmTy660/K73+yZe\nz4HnHujndrJqi+kY/nX2D6JqrxGhfPg2Z8YMiKVuD3gt0wdb0AZbrbQLGR5f\nmoOVp+tCPFd3fiIXIOzynPgtEpvfM54PlqfbKIWIIQ2/xQQm7xlNuo1rfjY+\naoPYEtX/ssE3t/J21RHdvB15A36SD5oK3y3Zf/yOEjKV2X+hvMVWn2yeYDLY\naXBwBdFLhmKze9/v8KN7UIuFd/fP/8JKraejy1sqxtD6N3F5EIoiFwctIvSZ\n/45scQg9Opnalz82GJHMR38N8wtCi0vAlMOuegOsb1Q3ceAHVyQGO5bU/ta1\nvMOPPUTUJs2hPAWf8f1IXAS10odoTK8J7NXnMN1DTJcQhRWiIpxHmNvW+hEf\nUNPx\r\n=10da\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTQGGcOEnKLAbzcIXJWpHuyFDuT15hjPh7bey5Oo8n0AIhAJSTLzjnoSrKN3jGOiGsKWyt5Xxn7xiwQ5CXXb7S2mzd"}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.3_1608723508799_0.28493975536628113"},"_hasShrinkwrap":false},"0.4.4":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.4","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"@iceworks/doctor@0.4.4","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-rOJgujVJE86WvPChF7kRIvQuoc/UmGdaLRaZklspN1zmhzG/HOow+//GHjGc72udqN2P6J0zk55u/U8ArTzAwg==","shasum":"2bfe2f52147135537f5acaedccbca0e8f419b88f","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.4.tgz","fileCount":36,"unpackedSize":38621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7X1qCRA9TVsSAnZWagAAwL4P/Auu/kUF9eQfJpeyaQtJ\nbWdSRcFCe5ymKvD9/O86RPoh9dNmemVkXrm22faqGpYfRt4rJGKqQke7DTC1\n47XhZ7YACOJhZah/cje5ttLN++m6qN87x9B2q8wCVnrnppd9X9TwdZyT8Msy\nmhfaGIqnqPBaKRKOMvD+fLKCryayZpKFhE0EVPjB4HCaysEh+eaY2gRXsSE/\n8Jb8wCDFpWNPj9/mjnjDGo/e3QKR4lVOfIjLaJeXSGrWd8K4lrpc1xTnxrnN\nDrynyyHRkpICe7MjadoPOX0zmpPJjg0ShCw0HLMTEeeWFd/cCW5zcVDSxE5r\nv8U2ZoR5fN4c3gBLdsMwOfUvVoEiwsxtZUXX797gVFePeeeM1NmMwx7IiXqk\nVQyQJ9bHIHjf+5417O4zUn+D5+ejorgezdjhofNsjJjkjhaoS8s0yHXfEqkf\nt259Jmqnf/14hywrlShVHJ2P48vt+YVs/aZYpi6LMdU+Z9I0tpub8Y+JcIUG\nv75gHFFh+ieCXWAIgYxSkQENUobXYsXhXueIXI16PMzl14T41O+KdQdO0csi\nVE/kAus34YMDkP66hgGFbUzDVogzaEmUtYtwNrTYRlz5mG1dGykweWBj1hbC\n/ZyDjkmXCKvZnT0D8S6jHjTIxHLXXJBdNiIaI4TdK+++w0w3EdaU0lga+8Ll\nHmaq\r\n=lZQw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIElGVkL5qNgUC7ckviY6ia/AktDFR28TFVCK/tIG7EIoAiEA+qhtUyhbSmUulUsut+AOqGPch5ztZ23FxE2NUzm76JQ="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.4_1609399657881_0.7965641947272131"},"_hasShrinkwrap":false},"0.4.5":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.5","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"@iceworks/doctor@0.4.5","_nodeVersion":"10.23.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-xJAbpAcSeMJiqKD+/m/cfMwcJ+Hmq3IIufEb4dZbVZpuX2GSnQN3IQ5VfmIw0w2iQJN/9NdBKhGgS0ZoEFbCCQ==","shasum":"615ffd241179e408b4eeccadc22c2d56bd7237b5","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.5.tgz","fileCount":44,"unpackedSize":47126,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGPnTCRA9TVsSAnZWagAA4bwP/2b9cubca0PaEvDCwGNc\nieodsVRVX0fru0T1b61N7nVyJpBA42rP4364YPWtAbl9Irn8pW06yW7t9rAh\nB9hC8DPD/n41AqtmRXisYcshWRlxDftQyh9h5jWwNbbiZtHgljbAZRGb0xx4\nNGRxDfQc+iBuu4vL1KJHYx9L00sgYDPUOEimI7Xld4N5469o0CKK/XAgF9aT\nHSECcbNi5avcbKamOlNyPRLE4wBHoKv+AWjweYixVUue364y6YnnX0PZzJQz\nq/D5i48aPzJ3emHv5lnGSfGIeQd5PlDHOZ1Ltr7R4EHar+JNYSB51c+ZnTGN\n6nL3PcqTuk8Quh39rZh2SxUFiXbymubpW0kQ718VJ68jXwqRfRHWS9vI9elc\nLYGoS+M6sOvK3e+tcJ8cngLuNyymynD2M6FvmrLbXz4HFe8qerFYGwekyujf\nLNXHewrjd87lM8ZVnfFhFYEtg5aXBzGrofCCdWUbTjjtRg6kjFtaw7PKsgwl\nmfsxLKqMtFe4tFYprVx8KU+p+lLQ2jhjINh7aplgRsPHGBzdWIY2nlxnKRjM\ngo2lAOfyyHr+cidO5FFwqEpXkbAOwjhNx0DKIxizWVN1rGN88/SN3PwEvabJ\nIywsH7F8md+DCKN5pO+L733aOSLwgonLWRk7lbT+c7qJqdp3WFwEMQemhk3/\n6NlJ\r\n=Df5F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvUVkNALVdr1h27BMBb2t4O0fHcBXfK5pjGundni4V1AIgPPIQuejjRGH6OMILukOefd6LbBUtDX1dPtBpN3f2ptg="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.5_1612249555087_0.22687275892945769"},"_hasShrinkwrap":false},"0.4.6":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.6","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"@iceworks/doctor@0.4.6","_nodeVersion":"10.23.3","_npmVersion":"6.14.11","dist":{"integrity":"sha512-7uL08miJXTcZCY+0FJ0HpvvAX8YgDQjioKyECZ9e/SOJr0Uj4usb1YkT3WkDxow410fJneD3ogXleuQmC7HYMg==","shasum":"a1690886069c5530da3752d21840d9a44da973d6","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.6.tgz","fileCount":45,"unpackedSize":51075,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPe94CRA9TVsSAnZWagAAvbIP/jMEFvk518inS8UKLogT\nL0kqGwfWXepn33bYgJqwGl5uEgml649MPFfpf0wsQmGm0o6CbHAQ2dKzU5mD\nMb/4Zcqq2pjYEUY54IKPb7wjGV4GDq9mAFFqtZgRFZ2S5MO0XXhERMSThYf4\n5uSPWBTSQ0WJxL86osYtZH4ozmMFDlhp8EbNJLsvRobjqvaFoqI4FZbB4lUK\nrUXwIwuibiPV+UkrBIrUUfulj7joylZ9c4UAeDTBaFoKanQ21ajk3kBsYMzK\nAIORW9kJZ6talIEYlf0GHlGLhqgkIDqwTcw+4Y/FDaMTg3WlV7aESYHSeFOm\nux8BrPKUk5iVYH1+CAqN7upBZgBArBF8LXgw1Y8OpWdYwDPr9zc4UKVRDhEi\nUoz6WpeGUIa1zzFs++41mWRvwehEbeFf7s87xrrDT/ScsU7gVLWBq1yKlJ3Q\nec69VHV28falvpgPtuWTYOaMDoCQAEy7Km0jbUkqAci6xQtxcSPHAQwy8uBr\n5pwLbav1C38lo3+C4H9rX6xCELkeTpSJKSUJbuzmq5Z0yI6F9RkeRNAfE2/C\nUo1gHwTPeHCnZZickGPIxQLNM/xn0RHvSvFH6XIQHc8yWGm3zzN7v7EfPFYB\nCnJsaK/iVv93FUx8sdGSNFLoxBDXbWcwhjvazkO/UwN0L82jC1PidgJWxRqr\nFUBu\r\n=t2rW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDOHHIQ9cH2L2+e+q2hOKV3K/NrVwSG0CyaE9TnjW9lDwIgJcPr7PfZllF+E6VTEUZPghglLCn2GEZbn4QNa2lXadE="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.6_1614671736379_0.1531407171647865"},"_hasShrinkwrap":false},"0.4.7":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.7","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"@iceworks/doctor@0.4.7","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-CYrJkMXzyTGPq6gZy1zm3ueKBaOaH1/13VUWrdxAr+4JZiZf4FrXHzbXVUsGS2Xf+q+8lJdwUH2PD9U65FOrqw==","shasum":"ff3a6afca366fe19ff2b7281a41cc818a325b537","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.7.tgz","fileCount":45,"unpackedSize":51160,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWZLdCRA9TVsSAnZWagAAeC0P/AziD5DP32lEf3xAxuF+\nZOqeCRILQhgW0HCfuqXXTMT3Bpm4TLSAtJ6AwT+iJsb7fU1XabxjwoREXMgF\n0VnvYV9+X4PxyDOKuaZ43KlKofpkj4/8vjupXEkbb2C4OQgeag9rSuzcMI3D\nHmX7MlIBnODITSlEY9S2Xph30qpMOv5rNA7bX8hsYtknmORqTImqeGpnb1Vf\nZ1WKf4AbztnUSBwjA9wjsAHoab1GiQTlsChCyIJPgGmMK069o7441iPx153K\nJoXjNhcL5qR3CM8KJic0hqIa3dgBrtmpOv2RHCULkQ34uGYuDZSFPYdU0YFl\nhisrRtVUBt/4I7RL2Z7DmC9tUGjjEenhMCtuX4OiPlIDaUESloCpWM717D6b\nonU7wS8TdGGa0qHE6siqjVAB8JuHTePjbQtdOPGKm3t5US1dPFyD/vWKCC/y\njVrdUZKHQguE9OjnCurk71TTOCYq7/HefLFV+yuK3P4Fk30fouRs5Z37qkrg\n0bB/RS2gDfXHudwPf7iIXHRkx7/axLVgEzpPdan5WegiRDI2n1zsLqgFnBv+\neFyvVy7toRGhweOJh2g4XaH5xnXfhR9HuQTglJFb/TwCvh5Sfdur4QYmWxOW\nsBvWIWrev8qmmxnPpcJ63Js+eAh+nDIeKVvUsCfFFT0/GNA+8AfCAtkOb1v0\n+BLx\r\n=bXaF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBx04MPSJiXQVecC+LrLtjSHFKQpPCYou7jOWIkLugPPAiEA8uxUpFUsXsXw8RuYspJ4z87y3wwRZVBJNaSzXIMUuFw="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.7_1616483036546_0.8166786474951071"},"_hasShrinkwrap":false},"0.4.6-beta.1":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.6-beta.1","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.6-beta.1","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-TpTeti7JGGRT3sjDnMvM+jo1Zn2lFNOWs6CK11dGUQ/M62ZxCiJG/k36aBFgItXJ880ByXRr8dC6nh1PPeMFfg==","shasum":"873855d7ff8aff8fe96fcd33e53f4774aa4057d1","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.6-beta.1.tgz","fileCount":45,"unpackedSize":51081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdn4ECRA9TVsSAnZWagAA254QAJKOoIwNNmzsIp/9LZjf\nAWZWKsuBbBx3DW0p0qMNXx0mUOLd5dBKxhXE5Uzae2uH0qf1Gl3ejKSW4V3g\n4+CYMWUmhosdWO6oOnR1IT0nOfWlmT7paQ9AIYY9bKDFpgaNd3Z5Aau4WMwH\nVDpey3YBTBCtpeucJbXVIygfNuo1KjYHuNfMXz+xq8zvnD2diQWNy2WlNv3L\nIjOW75fuaptAkQ9CbGfVES15dqZytn/MivLNDMDCIFyd2VB+5NGqYidFmba9\ncrIxk3jBozOWUnlXjHGE0C3cTBUBm/byL0eUI6G2w6IXX4sh7iy84snO915a\nEM3De6/0Q52rXAZVUUkyTdFK4uc56GCHmSV2oCa2IzDw/ZEWHmUOMT7ieiwu\n32dBGIZXDzqT8Fb28RGoYp6zWi4l9GCR08DYjZROsBUofW4wNENlhnxLlc9M\nUNFB3Ff2wXgtPDsRjsbv9uZ/tpIl9Y5gljmzJuDBH/o0U65TnljSkWME08/D\nyAk9a7GkWpci0y1STWPFMclv/KRxNeG3/Za4XBiXWKzUqDpGWR1pIXgiXha7\nGL4Mak/t+BAFDwyTEZwWVqvB2HJOB5YpNZVx0EFIyreqeYhprLghOz0km/Px\niyAsBK4k96Nrc3MOtGlNC80+QQDc3QdF/LH0Er7D001AlGPRKWRyOq8x8bYg\nfvuR\r\n=R5qJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDa6oMSi5sxd6R3FcmmhImQ1AeQuzstUrhFAAtM2bWL7QIhAJOgwEI6piuQbeabjIwMG3mTjha9Vyl1zXCI156mD8h7"}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.6-beta.1_1618378244020_0.09757093363582103"},"_hasShrinkwrap":false},"0.4.6-beta.2":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.6-beta.2","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.6-beta.2","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-931aXrBXJTA/BdNU1izqKZNu7Hj6n3jTva/0DwiYi6Znoc2mv7HFICeCwZlozgwEGWpe4qKobgcQtRiBCNXdGg==","shasum":"aa58f57c174df0f798f99e12bad8f9abc7557d9b","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.6-beta.2.tgz","fileCount":45,"unpackedSize":51081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdozpCRA9TVsSAnZWagAAnqAP/1d8ppI4TGQZuuR0w4Zt\nN2AHJd4AB2UTuJWfJimT0+13C3cHQUb2scBORf1nZDseMLgnFwxW+PKeIWJF\ny1HCbaqdqHfj0vIZRoX0RtEV7vJoTRuG0nwdutdZAMniegEe9AvGgB2TWSov\nhDERejaJawxnrUg3E9qjn7tO3nTxrhBZJx2975jHxX9uzvZP191TE9/WcUBo\nJ8IKueDFU9EKSJ7eaUOTkWORHjLF/DSvXobWUJ9pWQ68R5qxrNLE65Qc/0x/\ns87xBEcDoQ75IC+jbgF4OaZKV02Bt/oepSA3LWvZGC7D7X+NiH/gmsY2tz/9\n2rS9U6p30oU0gmA6plcXF2yyyS5xOQqfRDKstej4A5thZwbUCqlnEokKCqWr\n1zQ3W0020CUxScTerLTkKqm5ouLUD88d1/BCYEz/Y/VlwkP8HtgdhqZ9LpWz\nBKBPjpXKgJaav+cHf3MIcIuXsfKXsZAoU1Sl8PawfFm7OMgnB52iRBQcq5f8\nhBHo9FOVFYLiQGrSO4cNAwS7JtRXyQ2HbGMRfWAif7TInc0XGgHoliA5Qs+8\nlrVbulu0EwErkA2IQnq0laEsOXd5nSg9suvf5WDAz0n6DABHa1wO3IOcR2mz\nsCgHsEQKC+cIYY4ibN9a93dMHBLyElnhLC7igQ6ocM88jAhdOJaDeA6fqN6N\nh+3l\r\n=xWcE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7oVgmbilYFf7GOBiwwpW39LtRTKNeDmPeYpwwzcHA0gIgcqZlPg9AnHH15LvsQniiDoO+9yJnp+KCR9vho5QLbgM="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.6-beta.2_1618382057038_0.412317704414356"},"_hasShrinkwrap":false},"0.4.6-beta.3":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.6-beta.3","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.6-beta.3","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-aBC7wml1YcpnwjfY3BGvtcvxYqUid3O5+MtlVySFH3Bpjb+besdITBtlnOILxUDTF1WXmFBtexUcNOl7cMMgYQ==","shasum":"a06298c7325baa275e5ede83045118c20ddb919d","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.6-beta.3.tgz","fileCount":45,"unpackedSize":51081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdo0qCRA9TVsSAnZWagAAU5IQAJKa9CFSH5mnfwp/7w7l\n0j1eDRLmGDDTaQ8CnEEoazI7MzNy3GOUGTKFZMp3As9Gh1+yDcYWmizR5eI4\nRt9wfIN+4hnMu2WtQWFLz0c9SgOnzxQP6NYyHAC8WUlO992uy7m2UVTZbhvN\n99p0M/TrzmwWMmObnb4AJXp8Rfyx2E08+jf8N/6tIWdqzA8nFpvk6J6ZFeGx\nJ/lvYDatgyIfv/ku1vjiJLYphZe3V8tCkBxg8pE2RFuIWub8gyYFQjl9ybu8\n0SmpH0XIkjjdP8v8GtmcUwM6vAfHsS0p90+ZZgpix1eFCrsI21qi/4LqWYlP\nDDds5g6shhlfKJlk2Aus/1dkrZWFYWJtzuKDZ7qGAht242Mefj9AjKiGbK/r\n7nOpRZ0oVmBqBXztNktDDjn7ksf7HxVvZtrolI4WEuzckkL/I41Z2ow2cyox\nyYgr/2LLUJaGEBIls74wXdILTBukVSMyG3tudg8O0quxJu1l/ooqZkX+cizf\nHKZNnnuIt5PO4AiDm5LZhNJh/fp6tB7S/5TURxH9bieXzy3EsagTDvnOyvog\nHrC0kmPPRzd4d6g7m2dyB7zXp3Uxp5GrDahs2H1CNVywK/fnPICFUozYJqKX\nQ0pPBBPICBXauOcRayE0klr6JGiBWm+3Q3bT+oDe+vErLkFaBrWlzLnARgQg\nEb+K\r\n=43TA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDht2ireN1jPTYUniDOeXtF+BjxBULhE2Y8jAOCv/ks3AiAQnhlQGP9ZA49ppwYo+Jg691Hf9veuo6dLqZKFT/pusg=="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.6-beta.3_1618382122290_0.9203371494664581"},"_hasShrinkwrap":false},"0.4.6-beta.4":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.6-beta.4","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.6-beta.4","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-Yl7N2J+tFi4AGYLbrWFBziHe/Jp/rL5UD3urhuQfnHkE69HEmEkAYVpOPgclGapuLk7dahS7SsiRCIuBa+fLGg==","shasum":"eadbe748d68e2d22732ac8a53eea43ba623fa0fc","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.6-beta.4.tgz","fileCount":45,"unpackedSize":51081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdqKVCRA9TVsSAnZWagAAhN0P/1W9TNKbxMGWpZCmLZVH\nULql2sxBdn60bshASkZ9EPoHy6K4KFrID1Ix27WKuB8lFbQ9Sv79cmCqpW+x\nWKPDIIThZZEsT49l1vEZEDXmU0r6iE6D0USDC7nAkQ3iLAADxXT1gh0aaA4K\nfQhSc41kkE+uayFhPQ18iovnFV0fCryhpj+kfIqAgm1q+3jvDuxI0V9EwYGk\nGyiQRlV/keMGJlgo8n82dLMnDezPbbUft84SXWmCn0AsdVe96xdAPKU0si/S\nfTindiDLYfo33MRBbeSe5amgClPU2epITnEUWgIJnAW2ZxlI0ifgAbKw8QG0\nAgH1rQ0RnmkMZJzbjHGq6oT1113eS7RrqQuSxWI+n/+RajPOYW6CAuRsDTt4\nKRvoWm8VU5FvSVE9ycp5T4mE8ZBVt6NHKgL5AJXV/fIrBDH4Cdr7f9vNV2+/\nP/jitF2+AKC2PX8YPGhx0cdaCtm/q17b7u2HjgyA2LxM6ECc8LQ8TfMRWpAt\nFjFeaHUpftgDgq3+VMwGm0Pcg8HZrjHMrJh0wdkv+0YXNGOjj6pTbstJXMgc\nIa1o2MG2eYxCG6PmzsQbVq7hGzmQo1cPvKxqJ2PSh++CrN4HtRtHaRKdpksI\nRbPn9892U5TV5GbmGpeirtHs8TEpsbmdthgLCIuoSl+bV1R5StsAbsZsyJfj\nDh18\r\n=IcUl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDepahU2TY3syn6K33MqOC//FCoDJ6ju9+IYqf6ADnfbAiEAki3DwgtdrLhzUEKVcJScakZe3r0e7/AJmyR7LJZK9WY="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.6-beta.4_1618387604595_0.22749508979106592"},"_hasShrinkwrap":false},"0.4.6-beta.5":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.6-beta.5","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.6-beta.5","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-rfciik7hYINDuJCq1biZtBxFJrttx8F9yH+Ft2kPBbzql9UBFWPzY3o6PZf0tFYXA+fGZsjCt036cDQRRCRdyg==","shasum":"e8647299bf422bce588366d61b4f47c243d26593","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.6-beta.5.tgz","fileCount":45,"unpackedSize":51081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdquSCRA9TVsSAnZWagAAKGcP/2Uet/YgjmswGvTJ+8yU\nPvb+wDA1bur6pkGt6btQe8bvcw5U+3FtoNEamPzfac7L8dCyHYL/S66Uji0i\nrFiYukcC3VMAZi7ra3yk8iOnteZ8zFeyOdm5bZV4bwAZfbCPo0I77DZYt4tl\nBMAfMjmDPRMk7D8c/rhkQfie/aqhULSS2ktS59zhbQzoUzBdl67Tuwrq31+f\n9bDZ/dgfqwcD/tyYpIukur4eH4nstmASl8KJV38zJUqwibPW3l3J/m+5WQ9o\neEFLilW4OXoWk7Lhi0O5K1n+EJT9keJXI/fwkJT30Owa98JAty4WI5ijvZG0\nl0UTFI0OprBjMVwLLkd6Cg5jnogjCbQsi1hOxBjQmQmlyxjgx9PYzmiwQwnR\n8p9LRuyj/t2dZG9cLSQqYVIwH4Zqoqmz1vjDVFRKFQ7OqFRqha9LjZL+Zd9l\nwDCVAiYKHL/fF9HoW2g7BZ941AMWGF6NO1ECqbHiIpJ3jm02mpQB8DyjIYO2\nHCdq7IvLf4cOrb9TG8DYHIX+D7KzzqSy2fdOWDUqhrtRwcOej4I1fiVtXRiG\n3fCGwRTOgFiSLQCAAtMJIeXwpiDrETHkIhFjK0IQDVCMW16ZuHMdiNDQf8Xd\nsQG04rKTiAlc650VcA7CnTimYCIiSz8QAgWS4hVu59yvwC701ifZS7bQp+OT\nWG9q\r\n=iKIf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAu0Plz1mGO6CjUxRTU8ZSWMCFVTDooDlVxOJOL0BP69AiAE+3S3RYpY+G87IhHTb8Pl858hOFi44kY/vt25R7+I4A=="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.6-beta.5_1618389905711_0.9974973233566853"},"_hasShrinkwrap":false},"0.4.6-beta.6":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.6-beta.6","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.6-beta.6","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-hTS+pwOOqMVB1RFocJxfpkMjiuf+s5T2aGwGXt7APdZRIZvfkTOPO1AQ7no/BmlcBpt+YCH3/Ao2FrYip0CslA==","shasum":"d413e752716d1ffef54d84fd9e34aca6d968bf9e","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.6-beta.6.tgz","fileCount":45,"unpackedSize":51081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdrH/CRA9TVsSAnZWagAAPeIP/1agBPALx8PCPg5fWtBh\nu+mGDBjM4/PUlo1BaOzBlKPDt4ulHzk5GnfwIKznTN6nC/islKPQpo+hW7MO\nMs+GoDA4FIQg/QDRcbS2SJEXFrShVu/KuMVR+b8j3cbxxglJ9nM6qLydZnuE\nKK9+mcF1LwgNDbn5dahdXu7c0Z6yx5yFnbV08ih4wzNSwsdUfhKJITxP45uQ\nmHTE7GFSsc1+SSD2KIrnabSDTMzJMf8fkO6s/3YJtq2VD9XQ6rQI4hY9PtcA\ntX8ba3gqucQB7LE1OwncGD2ps6n3UZAqR9vrH/KonMqN4nIhv6+yKJIdLJm6\n3d3rRLKuWfIwgkgf2FlbDhVuD9IlPgWBiS5lhxm5cfw52zEn1l8UH42IobUx\n/Tc2zWUCjnOtKw2FcNoasiTMkbLXMNRvB/t5xgtuLCdLhSviL7rZXwcRnk+4\nE98ROR+ApY+Xz8yeSMLckXFf1IBehtGsQdKecrjWSUUJ4efRr4uOhhIK4Hx1\nKVzSB1Kw1bPba/96hS8nOHxyewkQw0g+R+IuEfzH0A8ivkhJ5GKuKoG4Xsjs\nDnPXprYqxYzQ6cAXlw7R1a3DRbgBlIEU244Lpfk9XgmRpwRsJ2wPn1t07K1D\njj/VMANWOupmioFalTB7e4lbetHYqgOQo6yHq6sxa/XUlwRkjBCG2FN2+n6L\n5xtX\r\n=6TrP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9ovWHMA5cqnsUS/r5dBWU7OiYSwahApuDFAkIn2L3tAIgTT8rdHWPvPlPy1n/rUAEqCzfWuD3uBCaVihb5dAtAwM="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.6-beta.6_1618391551304_0.8402991920676586"},"_hasShrinkwrap":false},"0.4.6-beta.7":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.6-beta.7","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"^6.0.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":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.6-beta.7","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-k7KyyNADV3+FldXNPVYQ8etNXw/3C+SwD+AXf1fbp6weyb/gsncq1aSIWLYO8FxuHM/8RBPKC5CLq2mTIhuGvg==","shasum":"e414b0430a33b0fe68467c37102b7a18bd6c9728","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.6-beta.7.tgz","fileCount":45,"unpackedSize":51081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdrkNCRA9TVsSAnZWagAA5JQP+gPfGvS6h//+FtsLkU6h\nj3lkU2nATWY/jR/UPWgiOYFRVvdFAg9uA+NB3cdsgId0iZX5httMvG/sf/GF\ncTjD87Lie0N7S8pxpxQ9iS88j93KqnptXHRuHnhA0Ve3Q5H05rxvnhNI/+r6\nLSHfMl68BLPS5UFaDNWW0OBZMwCaXXBgC4YljoRDIyNf3vfWLaXArw+GFr3r\n6AwgGdOtcsZlNaSG+nviglzCiHMrnjo5m8ct9Dcxij2ToruI3nm95MiBtVYY\nsmUYrI3e27XtSeDnnKbJzLFIEDAmegYErc4CqW5Xfx4Nq9pS+QR1SiUmpawu\n/ZewRmVpQJDjbjGDGhoEhBuwVGdVROU/LHSj6ilVlJlamKtpkRh4Wkyin4Tl\nJLs7TbJ/CdL01BEmt9aRmwJi2Dt0OCrgw3PWks4WM39N9hFKnwvVwnGF7izm\nu2LCgTXFp7mRQ/oagD7QVbZVgu51/gMlcYRzeIQjFi9g9ufqjqyJs00Qp6Rd\nCXyNqIXed7EFAeHVBYttmO0he8/l7/nvyE9T0abMemFbR428ocCw7EP21QNw\nw0uplZkoK5VNOHQA/DnV3zELvXx0Leh1nNmHquWTw1ak6qGj+H76mAaUP5ym\nPhvoIRrkBWssTRSod2zXMnKwrWntOtXd4LKGIxlTDcXCYFzZ5qIT2hn00jpE\nT4KN\r\n=qiKG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBOW1Mni9a6g6RYlHlHZWcA8hNnG9NZpVVQ9GoOlNWMzAiB0WSKG9T9pMPXMB1K7Cjg1JmPTdeh3sggZgROhMbvdJw=="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.6-beta.7_1618393356761_0.5547457769840978"},"_hasShrinkwrap":false},"0.4.8-beta.1":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.8-beta.1","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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"},"readme":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.8-beta.1","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-KhlFj1LS0g7zlwMoJK4Cs8GDkvSkKLoGeQkPqt9uygmk2vmuGGb3BSgj7GgrGmK7B58brbbCp7yyjFveZZ3OdQ==","shasum":"be27b0cd87d7d0a52d60eb288b7ddfb3662cde00","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.8-beta.1.tgz","fileCount":45,"unpackedSize":51208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgf+DeCRA9TVsSAnZWagAA8I4P/0dhHG9RWb3CFcfA+7w6\nSsU0kt5kBSps26wNQuFDCWNaUMgVL5gEjazgMFyQmSKMSZGqXV5//jBbOfBv\nMWbi2Wix6OHjMyTGTeR88357JwHL4Oq8/SnLMHDlnOLwonTaO+lzCy6+DFB0\nygo7WBmKtwA1shG2NOeYH3pu5M2RvfRvwf7Zyz9dWBPl/aMNhJT2PZngi2IZ\nFGpkB5zq8aXF5VSVpRg0e3C3uGTAZJsPe/DgIfRbjZK+MX7Srd/uKGB2FL4D\nCbHfwkqPNYZQCt9r85Wu2izm8Hv7mFb1M64yUe/6aXHpNL5a/oAB0ftZ4h8r\nWjVIKUc6SdhMJI99TwQjvhcI+Vp92J2MxzZqp/iLGntcRbjbBy4SNj5yTW/a\nMm9O72BXcN7VnymIs3Qr8Cwa2htTiwE8/lsVLIT3vgkb2ZV1Td8VgyFOtsNI\n3vUZRp8Nff2J31vmrwmWjRzTAxyy7px6miBi8t2DvjQ/QoF/k2gMyivqwrKh\nngtV4NEbSX62VMpMb3Gmdvj5JYxYfWvrxwAVXscGv5zxTe9PQm9A0x/EfJLa\nTEgRFOie+Jq0tONvA+yxrRpAWA/Nsmm3/DH0+/cZt47GHBeD/a6O0hCP7IuY\nxfEJ9hkDIH98JGBygL0unpsLenPPeb/yPI7wE916lm2yCvPwkKglKMG3BMgP\n2KrT\r\n=PLPZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICKlt9v3oXSsF74A+eyZGPyhIM2ARr+gAg2X7/Qj9k4HAiEAvvmtFxmTpw4530FuxMB47z+9tVt+P+YRErukTttk/Xc="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.8-beta.1_1618993373583_0.10568643484324869"},"_hasShrinkwrap":false},"0.4.8-beta.2":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.8-beta.2","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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"},"readme":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.8-beta.2","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-7A9XpXuSrtw0/Y1uzjrZJJX/6As9a7U+H2byN+6C/xs73ZHvtREMGPbgA6jZ8A9yyIh60yZvLrEB6QRmIt5MSw==","shasum":"523f10dbb02e562458189f22439a6c7ccb7a30b3","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.8-beta.2.tgz","fileCount":45,"unpackedSize":51208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggN2zCRA9TVsSAnZWagAAbfQP+wWYVMigc2nkTGE6N05W\nrnuOR4YFG+0RRB6wi0WFV67rlRJXFw5JRMJspvv8PVFRUVRwxlBpDMlje0Qj\nNOAaiNxrtA6K3+B7EEI776cYtY6HaE1IekcaMaFuyjlTxPOLpTJhgFzPD2Wx\nxG4kIUGw4EqumsSnmwIKcPIh9FeuypbG0pvepk6kDHZO5PtPLIZxBRy977qN\n7SpzpZWLHIwnc3pNPAUEU07poQhgFdf2sAyhpn2C+sQwxrj6yIjZPPEoWbHr\naVNfvPHoHVEFD+Gh+Se8gKxT6/AcTFist4OB3eMydQQEfVnOnQfwCUjfuM7h\nP/T/MYoL6xkNTUq7BAuB8kjEnll4YXMydgRQieFBvyEp1afhcL0nHSAhaReH\nunODsKVCbXhsJpHM0ew99ohlkCL6GjKcLaqS8GqxGdxQND5lHsC13qRY1cOf\nz0qDZgJovyO5h+xAKbIG0hEmYeJENIeIw2msuKE/7fpj1djbydixs1Xb/oKy\nyQJ9rMjCf/eMEIoATyDpOzrWsIEypgGKZIOpTUppqYvbO//F33WRgQhwlJiG\nZpTHDIv5naQnTMM1jPtkFWV+dEUJVy1XDayrQ07JrPTzhHKGBigw5U0lS8XR\nJW5OBhQ62nYoERlJ8MBJ5Tb0IIltXzIX+2a4u9zg4lVNt9xVqLk0fKdXi+sZ\n+NPC\r\n=i8Hf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDnRQeh08OZwlO9FmTGiOwQrL8trKGL/IHMlJhC3F49LAiB5HkaAx44cgUYZgquhZbsu5BOHXolPwFf1Z+BCjcpCng=="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.8-beta.2_1619058098706_0.6080087368715192"},"_hasShrinkwrap":false},"0.4.8-beta.3":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.8-beta.3","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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"},"readme":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.8-beta.3","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-NA5g+RTyv3y9VWzUClSDweIfY/W/j1LhtTtW1sCUdTCIBD9og0Nx6ZEsIb/OYvGBYlpkKOFEqt8UCidig3pVSg==","shasum":"f4501aba155b45fefd46c9487a6e1b49f9645f1c","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.8-beta.3.tgz","fileCount":45,"unpackedSize":51208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggOWvCRA9TVsSAnZWagAAcwwP/RKnOzNerBzCpay8M72U\nCMslMUY83jo8rQyXZroOf6boQiUSmCHJKY7+UIWZlEBgaVAuvqhOlgZ+MpdY\nt+FtGGJiaQJBnvjHnVxfJMzZv2GXZItlhdWQSaKiW1nq+6Ng8cyi1rlAe0RA\nrH/GnKpIrVjIZSg0jvmW+h/ou1riGJCrgh/Nv6fXkhPdVA6CkkDTcmPXuLmf\nnlwwu6ViBhq/MsNi6DZllLxdN4N+Mg+o8ijh0MGSWCKu0MJeb5oMphLDkFA9\nZqAKITh+Sgd4ZsVRy3Us5qj8F46TXd6vDMSwbgoFOz8dUWthMsvG3sst88b7\nsMocrt7rLoiLpouq6xz4evgkB1Ss7hiyH2hKZUV3jaARqqKzF/pKGyMD369X\noqvzHUCjblx62xUCi5rPkCnYhXfLxJLgmx/fGvnpyyepRS1fhuKgXU5FEbS8\n31skkon5NDMd4/GGNlJKbzALCGW0WZngMccEudyTxFR0Fh2XwAQjBYVh2ITE\n7ao0nwtPb+1XS8TP0wT3zFt4yPE6up0EBGD5/CfZl08Pz8Ut9X0XPBsCiC13\nKRUOqYDoNjTgclG2nqB2V+y2LXUQOkWC3AGCVPv4lp+zZCDHyfqG6aLvXrzg\nxkflUnX5EAX1TtNffl3TskaEhshOmuHaFcVjCr6RZeCt0hOYdAIu3M43vyIy\nA6Sf\r\n=u+m2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpK8Zn9Q7IXFlze1dCW9f2enRu7+YtSyEExShLXoDaHgIgesx3AzLGz6sTfhXkPcoCe09CMYgG78XawVsXl+Fu2wI="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.8-beta.3_1619060142515_0.27842547691906194"},"_hasShrinkwrap":false},"0.4.8-beta.4":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.8-beta.4","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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"},"readme":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.8-beta.4","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-UWAKgBNUZu9zTQBPAIXiuvj2yTj1gKjGKYOdCKBEznv4Tc70nfwpUAVsjaqlmeo3bB0ZwjAsssdY8Rz7lDWbog==","shasum":"d4358f997223f5bea2e09e90986946583bd06810","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.8-beta.4.tgz","fileCount":45,"unpackedSize":51208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggPEICRA9TVsSAnZWagAAZdIQAIl0gMYIxZCjE1z7Vqq1\nN0QhmqeD6sAgjZRuSkCNqxD+T6Eyoe5lUCt3qk2Rz0DnrYgCPo3slsEqvlXV\nLVV8Q3hIs2Ub01iqiGsYEsXgdNFZCYAIlqT8R1C5YZ4WKZm+IbP31OOiApiC\nPJ+2qZKKZACZj3hwshOpLXaCRpOuKHRS8aWzFkZiEEYWmd4dQlcClr8hE5bC\npqMSxv4Jp1vRx+qhLOnMxyMsKLJpp4TeQD5Qda0hK3jiN0/9wfSt6gqhsfQQ\nRAImtsYyRkWOSo7EvU6g17lzQOuKlXjk9wwnpHh+uwWntO2Zo8wSTXIOO19R\nA9w3nGbL60ZLYznayjwOqjU194P+R5XhvCkWJLydRffU/pCyFVg8lfOzka+t\nMjXpKMdtoKBV5z4Al3SF7ZQwdGZOOlWMgkQc/SC6zAt6s/ejomV8Ue3s0kPX\n8W9DkbYVCq50hEl2ZylWhnekvSRWtaSibeLutMMRC2uS9Mn88npFevN8XJhz\nlNTEdA0zKq1wB5doSRf0tNfrej2LT7nPCbjS7uaCH3gU0vsPgfhezVFNZyzN\nP06RTCn7BsEmOlBQRxsg8LrB7Y2IPCw+jvzKOlwKzNGthudwEEb3eaJptAM6\nH5oYdJbKJ229iatDPIb/ncR1EzXZz8cfhSq5/YULXkJklXv9ZfnxWC9NBMtw\nku6K\r\n=pJID\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCL+MRRhCLE412JLxRAvZw1KUPwuiG17kwQMdYiFdx0tAIgNcq4FMY1H/FCvLcrEdhfXAlgHyVK2xodFbq/9h/WKlM="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.8-beta.4_1619063047727_0.4740103626651324"},"_hasShrinkwrap":false},"0.4.8-beta.5":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.8-beta.5","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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"},"readme":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.8-beta.5","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-zbiXckSvtpuUzu+X6SHwiHyZ0YoeVVRSoHgWb/5sUXwFyYP5OcJfkwHIR+2SZfJ/abHUC+3q6K2+MGMOR14Qrw==","shasum":"b05cb82f1eaee549c88eda41c1befbc9248717ac","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.8-beta.5.tgz","fileCount":45,"unpackedSize":51208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggTvCCRA9TVsSAnZWagAABCsQAJsRJPK4gP7O8RlcsID+\n5Qqf3RWcRctnVB6Hyd4Nu2mmlfvN25wOK7qrAMmuPc9A2dOmc2U9AiNGmvU+\nV6JM+0WgSGZJ1Cv2+Gh/ulFrTM8vPOYlWfmnvn4u3iUcm39L7GA3q/PXqDQx\njjQyj0UmI15xzd/xZ6mN0c0FsMx86me1YdWdkrBn55jahEtniU7jckgxUwZW\n8u0A+49E83OKDusbBXCLCOskfyYVS8YAxxfJs+Q4+YCarDFG61ju+p5eRuNj\nZyNj54Ytjb3u62PQqPY07g3An8IhRzIqMck6Z8BMyHo/3e5dgii6dfq0x4/m\nQANmvZpFmtjKxLGudyKL0s2wH5OqiJ00KggDWC+1mS+zt1zrg85EzBfDH5LO\nypyWsx84HeCaH08+OwRZX2kYbdtQJUlL33Ky05kgm6lwOnIbm5RA0PrSlQBS\nt3g9gNh7WXvJGRDsCx/YNmXjG0RBovGOmxrsd0yz7vW++siPU4lbb4YQ1OsC\nwdgisvb8mGqBgFIh46Ajr0v540WJH6/r+nw/YeXMpGiiJE0od4JX1ETCw+R9\nA8btUR2AFlpIMmMnAw6FbLQtVexl26OLzDDhR4KiSudOpM92MqKvtiiWhuEh\n/gndU8jyn8FAug3U5+xo+oO4Y3bIzJKsLDs02puyS7v/7/oc1kpjcgvl22FR\nERo1\r\n=I7Cc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIpQ2GAP0ey6MZFmhxojpzKR5wYTjjWocjQONsOdZvPgIhAIENtwYL/JaYrTz5LmgEBgTrFAulOjDSlq4o0YxUGSOd"}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.8-beta.5_1619082178007_0.6257115269195699"},"_hasShrinkwrap":false},"0.4.8-beta.6":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.8-beta.6","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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"},"readme":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.8-beta.6","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-yY2cVGlxG9T11ikmD9s7rlq2e5i54m5uLR5HStC6gIuOHTfj8kDpls1R+11dzH4eAA/hJciVhKaTY+hvFbrSNQ==","shasum":"1ef317b36ad28a2bcd1f54ab7daa075baffd8749","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.8-beta.6.tgz","fileCount":45,"unpackedSize":51208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggWOTCRA9TVsSAnZWagAAdSUP/3qS4YS38y2l4+HX4V2h\nhmDhQ9jnqaq7TheYDBpcmeuAsRbPRbR3rCTKroDOu4zpaSOi+SBuB+HAp8VR\ny2xdort1CJ6lTEAtZaOQGbSUvCqxiD1H2WIhEX6tuvATcIMehTWnBDTGjkGG\nLHMmuNWbzTuIimNsBCXLGP/phtraiW75YPXRep2HA5O5jgAFoT58VLbKnZ70\nUgrShi7IvuF4aZ5w6Te3rVWjjLYz69ijjDgXR7s/ifk3LT4RpQ+RymBTgKad\n3vvFWarjbZy/kKneOStJXtUzUBE5NhxRcFwfwSVWjHi8QcPtBjq66uczhgIs\ngyEEOSZDtVgMc6VzikB2i3/QOSGelFTkj8fRBd880a0GJ/CD68jTPjprNySo\nJYFHNcSbuaIQ+LvAQXDCTRx+GKwdRPtaVynGUz30zLo2sgtT67L0yU5uJteA\nMJxeCy6m7Aozq7R7eWw/XwqRUX+3yKeCLb8QxPDC6+ENKI1SpTpqJylYBgXb\nWPDjdOpumGwqnk3uHA/31beLhPF9dDGbZ82CcjE8BzoZwKgsHEDD6dIh0zT/\n2ZFDT4R+GdvkRa6s9DMTsB+yqWXuUIS+UWWSQiCD3oOKMi1yZNbp1UCy/e1h\n0RHAwZJqAYUPA3lupIBF2Rjb0ZJeQnB/np8fu3evDm6z/jDnCDmdBZ5amzV6\nCXxc\r\n=7EkJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4utMie1osmCG6yxVGVFd8AqzWxQW7PfQntWxI6sR4rQIhAJvfLfdO1BpGjGwEr95Zrl/pRtXoOjY1bHkpOwYVkkgg"}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.8-beta.6_1619092370880_0.28365060043920853"},"_hasShrinkwrap":false},"0.4.8-beta.7":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.8-beta.7","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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"},"readme":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.8-beta.7","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-vDbbqcEFj+3FdWFRyQ7sMVP4n4zTMTSVFbifx3JTCJQuAK7csUFXFuMS4ybu2JTuzNWGS/uow1Eu1Bo0crcSOQ==","shasum":"5a9da5b3384de459eb33683ec5367374fd1f0c0c","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.8-beta.7.tgz","fileCount":45,"unpackedSize":51208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggWz5CRA9TVsSAnZWagAA5bQP/1wNgNdTRyFWlJVr9aDA\nmm02LD+N4c0AGQj0ETDx/sfQG6xteRfQukn6vblOvThczq0PVKjBBVQO+Ylz\nxcnMdy1impXbQ6T3WWtQwHUY9IvXz6lpp+h6fKddLWrhBI1CnRbkRCNji7hK\nw5FhwW92vmYl8dii16dVhNQVzL/xWy6ucFeUk4S6ZGhaRarbtaKxGAnOdrWb\nxX/9NBWIzZy2AoIJSyL6nE+EjM8Y6GxViaUtWtqfpLGzy8JIbkRqbYUi2mDB\nA4qo9jeTeD20dmSe2r/XbdLReCgHX4WIaTDorslnuDZF7FfG7Dfwk6O7mK/v\nLCF7aHH0v0FHrEewX9nxKfHG2Jt1nttldaMbXwc6salIbNITxfOzuv+Hl7AF\nUcXB7Z2u4TPnKoPHcumbStOxjiX3nxe3i+vArRzlomLKuxvrxzubHY76d4GH\nWmSE1s6rsDTORp09qE3zRttxQqrOq8IrJVHI7xLUzHk+bhTCQIG/2i6DCmpq\nrvg2wwqqzu/fOYyU1JGO+QC2YD8tAL2yVoyu0PNKW+UE3p61SProZo3lpIYC\nSCgufDH9X4YO+VKzVTDqg36fPk8NU4MI6HUx5YqlakVkNXDVByFLt3ZU8OfX\ndWTkVwHMOS6UbAj7u9r2fFjw6TXyQB6YthPhROlRUbnB0iZm10Tb8cakCit4\nvuRZ\r\n=gF6Q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHkzGhqfvDHxPKNqwF0sqGoQoQW7Sg5COi3isyXKyXYjAiA8xmC28IR2p9xG6l1p/MU9bJeuYlOqYEan88SfpVTSxw=="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.8-beta.7_1619094777124_0.47518593112508145"},"_hasShrinkwrap":false},"0.4.8-beta.8":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.8-beta.8","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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"},"readme":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.8-beta.8","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-h0U/VJDKmTgnNl8GXUr6Jqv5++Iz8kB4DUEbZBc267RigpRoQgozF4Tj6ve8kR8zChP1jVMLcphHOBtpqsROEg==","shasum":"6373ad55e481e89c9557730451fc8ef42e93ab97","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.8-beta.8.tgz","fileCount":45,"unpackedSize":51208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggjeyCRA9TVsSAnZWagAANwUP/RkCmyD1h+zXvLd3UaG+\nukUIqZ6dh6CnmU/BaTk/PpFoMIEBfPvrbXAKP9kZ3K26W2XEMaOuOuOvhQHt\nkvYSp9XXiOTPyO+CXNmX9giySPSf0l4Kekr9+TTo3if39o4pf8of/Y97hh1T\ndmbgZqOiAajB0rQmS/C9sTBB1oKglinnF6eK+nGmbmC0/rMQ7D8IhDwLdbp4\ntcGkmziKOGLsQtRiowA8G3gN7/sLbX95s+abcCZgI/EDG99FPkBZZkaAJk6G\niodyhmeAEEPJ5opI+Mg03aPNH22lVune9EGJZVT4jLAEI8k1N1SEzamDGryU\nTZf8Plwj+6bs+avYuPPaD4VknAMKeFKu10BNDSV0USGKvzDms2yS61KdHWMV\nOn+LaaNhFPSxp7sb75NsUItCLdzF9PT5j4wyb6Xt4gokWCbPpevGFZBvJWcq\nWAgJPJmpl+pQGuKWUotiHsqa55JqGIrDG2y8oiFQ6ioro/n9MmPSL4jSuqDv\n2Q0JkfbCZexcMEhRXCsIuo4EBXV9zI8ig4jm+3iygav5SVw3444xniTiiaQ8\nLgBcmUHkYvFPU0lIMYulWBmli4ECNwFZj0Y7W/SRBO9KcsdJECOA33pYdqoJ\nC00K+YUBlvG0F2WnYvBR8Ke9JbRq7O4JmxjK8RrX7MshARNuo0H8VZ3nbO1H\nvW0g\r\n=95u9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG1JAVDOL15A7csV8NB6EgdqHB3z+J75U6Gd5hMrVR7qAiEAg/+4cFF4UbPRC2mYhb+S94M4+E++zJv0ggxCS7HbNoI="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.8-beta.8_1619146674295_0.40695634764019606"},"_hasShrinkwrap":false},"0.4.8-beta.9":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.8-beta.9","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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"},"readme":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.8-beta.9","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-41jT78RyY6PcScRtdxRg2U8aYhGnbmdzHn4K/xTwX1heWdbdcv33mFg6m6cvvxthRaXlKSyuGQEcjxqgPU/MfA==","shasum":"40b48f45bd9515de2a8e19d12aae8fdd90dcae36","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.8-beta.9.tgz","fileCount":45,"unpackedSize":51208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggk5ACRA9TVsSAnZWagAAMbEP/0GoWB5cqEECm7mjHvlY\neryA3qRK5wBd6O3FZDlI6HS/U7+k+C59GIthq5Tegff4Z4rIc22hMc20UZbK\n1lZkf4Uvu8ZE1Pq+BWBUeTqjqUV6w/n//lPPCLI43VdExmBXSwgDmR697yex\nzfGg7oABc7bB4HuKAVyGE2EdUkGLYeMyzFWhgSF0lEKsTrL4ueUZWoeR0DEV\niraeQoeTCA1uGVe9ib0mIQMPO0WesEkFoeSOTIvmvWvBcU2ZBTu3W7psyVb9\nItPe4vrHNQIjOkhmI7uPwdsW5TMsFflflnOlrWBBPyV5ANvRY9AYRTqgW5Yh\nBYdhMZuHCqMWX67oV5BSfvyIKDnDZshzBa3S5qPNMtC6H0MBjbkvcbf6UrA8\nvRjhySHTEiUR6b2JWI/q/KzfqqS67oEvow+X2DVvfmrKsq69rI0ntZF7/Foq\nrtVF1ko/69Mf08mYcYfW+ydiP7x1wiCSp63W/jNsvsAgB4pp4O2ZwtF3/r2D\no8N7wlhaxeDMcjPTLkusgNkbX/PAsGHJtt8fwOnAqMoBh8w7ZtpUmIGkLbMA\nUPswlkB7Vz9P7YbDvEj9WHE3cZ1gEMVpzXRjZ/awqZjz/EBO/ftg2khplRRe\nHJe8ac2v5pZCYDyol14c0lSLTyPktKkkxShg3qnVAUGlZ9nzKQdrDi21OuDs\n2IXP\r\n=DEKI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGGmLRa7VVNXaiwelIP9p+17iueFszGECP5oZj7c0N2OAiEA7nJfP1FabGYI3ylxP0368hjidGgl9FBwI1ZURkCojDc="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.8-beta.9_1619152447625_0.7855271916593272"},"_hasShrinkwrap":false},"0.4.8-beta.10":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.8-beta.10","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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"},"readme":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.8-beta.10","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-ul5e1CDOLmhwyb4ieU0+jmIxdmS8TYjb+VgV7jA453kgdwhU7Z5c5m03EJFyT8iOFM97314VFXq6Z6tHp03uow==","shasum":"e49e90e03dbc4974b10a51e95fba99dd4561a100","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.8-beta.10.tgz","fileCount":45,"unpackedSize":51209,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggl6eCRA9TVsSAnZWagAAJ+QP/jFG1KLYYTRHye9kW4Nw\nRxuTWcYg79RbpUNtucnPk18yKEVKX3BoYzWVDbvd+J04tjPMt0AuTpviRuTC\nXYu4begDqL0jN2ANuSqpQPOgzlRzzAV5iGLw1Zyf/xPoLPB0UrPmT3IJnDTg\n2dQw+r3k8FA30S7xZtXtJufTe9Y/g/AyfBrWCj2vrTqEyFhZvWHTIXPqF/3e\njwx5gkc/yGU2zbzmJ3lUqO+oP7bR9s2DsjeNWYxMaqoBd8o6dfRxIpq9C0mD\n1v/DXeczZxuABr9xfx/6+tMfdUb3fyY9ftizfbtWMzTgpTGMRlbSaluLGx7l\nxHe8qdZ8KgZODjF17wO9c82THd2vagwF2QMUbPjUFjPaTZNoAkU45ihaePTk\n9sB4oF7uezRTB/gNQIHlC6ekwbm0Y6bWZPqCDEVY48BjlP+1qBYg5k5cF842\nNX6UNeB2vt2vDwIwwFC6Z/QusFLeQg1E7oK4XdycxT3A9MDUTwrCgHZvB0JU\neyvbOmTJ2eRGE2R3rW/qU3DXvqfyf3l26PpY2mJbSetb72ODk4CAb0KnA7WL\nZhzgdhqZIUPjYW+ILoeL0T/FWSeAIOxkzPghiHLumZ3YDylm49v1nscyXcO9\nVYuXkR2LSiMoFaWhQONWL1chqpEWTcWmwb782kZWcc6WyuiCkEkBZqzQsTF5\n6vt8\r\n=aNN5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDX2xPJTTgFnUEhyn7OkclyV1IRAHCQ2+igj2xru1E8FAIhAPCMO14uP8TuuIWZaEtbHMO1/kNH7oVNNx+Hb+2JPg4+"}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.8-beta.10_1619156638277_0.7331436980680028"},"_hasShrinkwrap":false},"0.4.8-beta.11":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.8-beta.11","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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"},"readme":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.8-beta.11","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-TEJ8yFIwCvYaob/bEzvFJu5ppuojS/B3IHwYp8KvsgUSqKsuuRZYaIaxyqGItnOAXH5oT+ypSMfWU5ch5X0xfA==","shasum":"e03caea167772863e4458d2d1f00088ac4236833","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.8-beta.11.tgz","fileCount":45,"unpackedSize":51209,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggnhaCRA9TVsSAnZWagAA5OkP/0hj3w8EGE8exOrZbYQq\nR3ECY41wjpt1wR6yDVUw3v0IMyvbC3ZgWf66CyvKqawqmVXEKxHdOhtDTFRg\n7WvAegah4uo+gnGAQ+Yv6+gZczJizi9iypqb3Mwpyv0lRVit/8jWyTXiP1JG\n2baOHAXRrncy+etbcQckjGrQM4RMKA8Q5QrjX/TzzGbxig7UVPfEjgW00FDw\nfOdNKM/jSE+dwkBhO+wLibTEAv1dr6i5ljmzEbmD54xwEMrAusFH3XrKjvgv\nX2s1sxYOke4VcZOXBnoExMhh4SPgw/Cu+hJITWqV3N9DsZh1MsL5RA5CXF3m\nRC+i4cFtH5e4JsXe/elZcq4enT0Z7h1fFnrby6xeTU9n2NU6214KjRQRnoeF\nEKJo1iFFuF+ZZoSojV1YzBNnhEBgRkIsgyU7c0203n9OgaO+l/n3kVwU0n8C\nhu04cjyxu5WCWhbqyZF0oI8RVZsQiKDs/I6lOhlMkTEYN6QIX1fjH/GW1GGr\nKYMxncOFTjfNRca+M9j6Asg3UcBYxGTuKjw1xj+k/jI3Tikd1vtxm7Dof8DS\ndwCSOZWW8+/d+KgvnSd9c5ZnukpVt/Kj/nVC74R4jV898avyhxSssM//XSd9\n2uDGBCTkEQ9HTGMlT/jWRQ9Y21sgsrEDuNrTa5vgfijPTmzEn9h4bCQZN/Al\nu3ZA\r\n=BVSv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAsRjFwJBYtkMEZxmVY2bOugOeeqMM5iKkJEIPyBpF09AiBLB3RwRRC0PE0w3UqLwbQZO+ig5ewS1RCBV7UUiaPBBg=="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.8-beta.11_1619163226118_0.678323527694279"},"_hasShrinkwrap":false},"0.4.8-beta.12":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.8-beta.12","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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"},"readme":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.8-beta.12","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-aCb/ECHB4LAK0BGvnRz6UR5tVXeBN/hlcaBUyb0Zz/u4AbKJbRUZ/8SrYd7gx08DiTyCbUOrG/bPL7QKtNRmtg==","shasum":"8340309372a4a3d1c04dd64d2a92de49e678c9aa","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.8-beta.12.tgz","fileCount":45,"unpackedSize":51209,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggotzCRA9TVsSAnZWagAA1EsP+QFnqx3Xbidw+1Y8JDN4\n/nrhxlm0l/UqFCbI05kl9YeZk5yCkDih3NGhjw58c7iVgKVnHCYohghfx3L6\nIGVzx9zXC+AjHT7p5I1qdmbtUtwgpd+Qw7AcNcVxYFSBE2Y7JbMU7DAMPcMa\nDH8p19PGr2ioltW0Go8Cm4S4jwf2Yylk5ZsvWevK9kEE8a2QESB+3FDp90fC\nl+QvvxiCUjCyVQUyitvQWBH1dQFXJ7ntOfJx2p3WQyhmcEqFqUFz+FdFbaZF\n/WGJL3VBoOMwISy5DxgQ2vLDUXG9V0PpvCjrZRCSGBvmbnNJqANkHiIKZFpk\nI5eWkxMuXhfaQFDQK+0oPwJ9vsWPGhjpPDiJcpK+ZZP/pvSPy+ihLuIEMnp9\nt54IeJQ05wndZEhyjBUGiOESUP1jpzmewKA5pcLc5PuxRwCmIguIE11wLQjj\ntYBuwp55juPsdonnjELqJkyBVyKdoZ4QxymjdQeZwbK+qxBLOTYLPvaByvmC\nk2MJzwK/WbfXmu5QA2C3Zy8eAB5b4ZGEzF0Oe/45Y5SrN/KC4Mj/pcpnJoNb\nY5YcCVDB62cOvs620eNCny9j023dEt3GzxF6cSEma9UxBHsixI4quHKtCDKA\nKc2E0gRHTYYTGRzvqVQX1zl2f0lda6WZOesU0jkgabY0D+2N3xMcj0H0wX6P\nhT6T\r\n=cUp+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGNEl/L6iXevEnC8mQVrN7xuSbbOUfqWuKqHJe+SG8KwIhAJ5+7Gg112e2kaC7O98PHrU5fQs9Oytwmzq5CDxv8QEk"}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.8-beta.12_1619168115383_0.6664370670456783"},"_hasShrinkwrap":false},"0.4.8-beta.13":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.8-beta.13","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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"},"readme":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.8-beta.13","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-ZTG5pT70oFXsYiF0xQfkBWzb87YBBDLyD1+pyA+LwJQT/H6uAE26xeYMDuNUFJNWyvQMjLB+BHUdqdtNlwCZag==","shasum":"3f8b74a4903cbbe8d5de774707a46781ad5c4dc3","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.8-beta.13.tgz","fileCount":45,"unpackedSize":51209,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghOJ1CRA9TVsSAnZWagAAONUP/1xK56YgvqarhysvnhTL\n3IOuShCuppSyuMmpsZ2gQa9pgRic67LXq628B8B4nXbyFOHrmO3Wvoj7lyd5\ni5xcpp0LiMv+J5nvRGtOAf6zOVMAufoYiTQ3GGlCqWixnRVL5x7Xgt7+BHRk\nQ7JPqI+FIIpgeWXkBxjo0VMoKrogMTXzBa6AiCYk5Z1/6DSXxJ8sc9FmBekr\no6m6JsXBLtmELeUAU/j98BrK32lxY6hcvIZEJvyotL0t4RCb+Uud06EP0Kfj\nD6Wf4zjGLHafNVYCDRpZWIO9O1lMIUvjChINAB1ip/OhnE4S6871Mrr5nXnn\nefi1CgpT/urr+6agBz5TArsB3tdDB86nEGR+F1TAl3K6xdQ5tW8TcFH1GwUv\nmTvNi+9rVv/wb0Iph5L+zZLbeYtUdd3UoeVI4QSjzVhXfcHTl3ObhDXfDwhJ\nLFTWm54IL+S/oneFO7QDeloiRjaB2ADFw5uwAN+YG4e59hq1OcgHydf7uHiF\nZOraYMphNGjLnu7PyzEZP8nxk3BfppCDEhCmpTot1JEDvgiNdW24QGilg4MB\nhKo/U+ogU+glFSOPujGr5WZZ9MAomc4oacgbdryJAI9e9bGdzXeIw9rKx/yh\nSj4yrOCEbQg0CuXN2qV9V5Q956huT6FE1GicE3T9J9Wj1r5XYViluYzBAyjc\nTIFB\r\n=WlUY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFNhReIUfWdaUFDIYtPvkZ+FUWtOlb5o1xeXd+l8c3dQAiEA0FbRTdiC3BN2ce3EgAehQXfCMPEs+OgMSXL/+PGKQUA="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.8-beta.13_1619321460748_0.028862670084691455"},"_hasShrinkwrap":false},"0.4.8-beta.14":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.8-beta.14","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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"},"readme":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md","_id":"@iceworks/doctor@0.4.8-beta.14","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-YZ0OUm1yOShwXRhAnOTMKdOpyCwj+Eij2TK6/5hkCWtwxH1ckOQP3Fzzljul2mJHj9TYIw8P6LSopjltCqs7EQ==","shasum":"bfa9b1ea8196f81ef0d36f9e1a972efe2a029a50","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.8-beta.14.tgz","fileCount":45,"unpackedSize":51209,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghPzPCRA9TVsSAnZWagAAR+sP/RWEb5VTvDgVYDpJCHGf\nEN0TgFkkbmWQ3jA0rvpWKAi1aKMJaQEO5bbAhG6iVfx/k2BDwAnVBd4Bd05q\nzs7V28wMs2IMZ33TXitT3w3zfdScdnmE7la+IbBGuQ2RdjU1wmbC9wvj7ouv\nMaYbw5pPswUFopfdUdB30RtpVCJUVtw2HKXPL8NiN64mzfezTUFdjVvz4iSU\nuSCxGxNULdpy6esvMVQumHEBrcnp1hBVWCADjc9Z3s3QSqithMOOlQNlp6R6\nvvuFB14UcN1J4o7xKDCg8C0amHrwz5eyqvHS248tYnHa91hE21gNab8MpGkC\nloMoIZKsJWhSwYX9I28w5l8a+iBzRvWerb2MhKPOqm/7YSD3w4LN+DDJk88+\npErsR2LOV3wWlNdUgpziy5Puk3fU+o1SymyZnQWBk27lGpwdw7JO41yDdJny\n9fUB80MngcpIx6rmuMXC7p8PAgO7s0lqtRoc0odAz3adAgvxfaIZx7qJ4KAd\nuVrajyUdE9id95o/wiXOfEeWTF3ZAQPCf7zoldHAKTAb8DQ0aQzYp2eB0Pbj\n7HBhXb6xu8cMBhmLHEwe2vHElEJb2km8SMGhB9qCl7vFzIi2z6iomnsIhi2s\nc8qXbDgNWlaYByjqRO1BONfbj3ApIISujTjDDxLQ9HcMe6ZAweiW0NQ+Fla2\nM/WV\r\n=xt2t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEgqYi+vZtb9G26oKZBSQX8A0fsIoYvaCJpa1KJA89pfAiAI6nsURuxoM3/HQh6oMZeU9T3bnzwC6zw2ygmyVzZCoQ=="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.8-beta.14_1619328207013_0.25458736808753546"},"_hasShrinkwrap":false},"0.4.8":{"name":"@iceworks/doctor","description":"Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors","version":"0.4.8","keywords":["doctor","analysis","codemod","lint","troubleshooting"],"bin":{"iceworks-doctor":"bin/iceworks-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":"@iceworks/doctor@0.4.8","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-PpKBYrBDMRACQ7nmSt/XFgcKJOg6wmDI3BYzQfaFq8EGWJT5oB0YiKfcQES8ZTGPo5myVAUG2VIG3jwtETStQA==","shasum":"064b3067d711d593a20e4033067f76027508a4ba","tarball":"https://registry.npmjs.org/@iceworks/doctor/-/doctor-0.4.8.tgz","fileCount":45,"unpackedSize":51202,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghQ3hCRA9TVsSAnZWagAAOwYP/31Sck6IAk3T1gMcNIOk\n53YEZ9CsLZij2RKnXcr1m6h72tW8oORYqdRGJ5eBiehm0uDTFJbzPXfM+X4u\nxFMXg/11suwcW/LnPLTjB4FUVdCdXpDvsQpF9z1qtO4kLKg3geG+9AHyad7L\n7oy7e6eR/OflDk9peMe7p8gfRqWOLH/pAX1VlySNSaaYfVC3LZ1Jf+DzrF30\n7nLpsra0ysRKmJPUlhilFD8aHl13rEisTn0J0j7eNR2F/aj8a97ejTwNOCyi\ngMF5rZaEr1xEjWwW+cxQwRNtTA0ohqiTJhnZKT2lImN/SY2NjxNkiX5oEEor\nk1eZRjYKJaKHXxP2+ttclskc4eViTYPMg3J3WCkpP+IYdS1Rt/Zn54BvEm5X\nT6iQE5QSgsERSkCY3JaC2iiAp8kqiuH7rn0pBe3ZeKoADsRp7P5bPSkFfK1j\nGE8ca1M8/g3t2cj+KxH4j4cGWf0YVx0lvm/UNA0mh/O8EldJSOlc9KIga/7d\nJgywouOgnkWyo4Oi0rdFzMegdByUzI0BE169QOXIPWIS/drC+S5NVwkUt79M\n8oiEA1uwP5J/zzLBS9O1KYIDkr4SanSd28rO3wQ66FR14YYLbAuxnWvF/+ZU\nwO8u4+m+WWXPbRuM5Z0isi4I+33wEV5DZP7mSbcqGuOoC8VxwMkY+03N/g0M\nx2QE\r\n=Mrkj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHqP04qhHDDY9jf6G7oEmE0ZKeeSkd1L2ei38ps1y5DBAiAWUQ8liMU3UZM701ZrNu76MtElwg7kNVbs7yxryVE+5Q=="}]},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"fyangstudio","email":"18767120422@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doctor_0.4.8_1619332576969_0.16137026290192447"},"_hasShrinkwrap":false}},"time":{"created":"2020-08-02T15:23:41.381Z","0.1.0-beta.1":"2020-08-02T15:23:41.714Z","modified":"2022-04-05T19:09:37.805Z","0.1.0-beta.2":"2020-08-03T02:35:37.428Z","0.1.0-beta.3":"2020-08-03T04:18:30.855Z","0.1.0":"2020-08-03T06:31:38.570Z","0.1.1-beta.1":"2020-09-03T04:25:06.145Z","0.1.1-beta.2":"2020-09-03T06:19:37.676Z","0.1.1-beta.3":"2020-09-03T07:11:57.881Z","0.1.1-beta.4":"2020-09-03T07:48:41.819Z","0.1.1-beta.5":"2020-09-03T09:01:38.025Z","0.1.1":"2020-09-03T09:35:01.275Z","0.1.2-0":"2020-09-09T02:21:00.088Z","0.1.2-1":"2020-09-09T02:43:28.690Z","0.1.2":"2020-09-09T02:50:34.840Z","0.1.3-0":"2020-09-09T04:09:44.993Z","0.1.3":"2020-09-09T04:22:37.934Z","0.1.4-0":"2020-09-11T04:01:00.885Z","0.1.4-1":"2020-09-11T10:07:15.196Z","0.1.4-2":"2020-09-11T10:19:25.872Z","0.1.4-3":"2020-09-11T11:21:26.334Z","0.1.4-4":"2020-09-11T11:57:28.709Z","0.1.4-5":"2020-09-11T12:27:13.974Z","0.1.4-6":"2020-09-11T12:41:25.161Z","0.1.4-7":"2020-09-12T01:54:28.154Z","0.1.4-8":"2020-09-16T04:30:14.349Z","0.1.4-beta.1":"2020-09-17T09:48:23.521Z","0.1.4-beta.2":"2020-09-17T10:16:38.170Z","0.1.4-beta.3":"2020-09-17T11:33:04.388Z","0.1.4-beta.4":"2020-09-18T02:40:08.181Z","0.1.4-beta.5":"2020-09-18T03:40:08.032Z","0.1.4":"2020-09-18T06:56:58.612Z","0.1.5-beta.1":"2020-09-28T02:36:03.289Z","0.1.5-beta.2":"2020-09-28T03:47:06.384Z","0.1.5-beta.3":"2020-09-28T04:26:13.920Z","0.1.5-beta.4":"2020-09-28T04:35:16.351Z","0.1.5-beta.5":"2020-09-28T06:17:07.253Z","0.1.5-beta.6":"2020-09-28T07:13:10.367Z","0.1.5-beta.7":"2020-09-28T07:55:41.356Z","0.1.5-beta.8":"2020-09-28T08:36:46.144Z","0.1.5":"2020-09-29T03:28:19.846Z","0.2.0":"2020-11-11T03:16:32.294Z","0.2.1-0":"2020-11-11T07:01:18.957Z","0.2.1":"2020-11-11T07:33:09.428Z","0.2.2-0":"2020-11-18T10:36:43.796Z","0.2.2":"2020-11-18T12:00:50.357Z","0.2.3-0":"2020-11-20T03:10:22.102Z","0.2.3":"2020-11-20T04:05:38.304Z","0.3.0":"2020-11-25T09:33:49.602Z","0.3.1-beta.1":"2020-12-09T06:35:12.540Z","0.3.1-beta.2":"2020-12-09T08:57:18.912Z","0.3.1":"2020-12-09T09:27:55.802Z","0.3.2-beta.1":"2020-12-15T11:48:56.813Z","0.4.0-0":"2020-12-16T10:53:55.228Z","0.4.0":"2020-12-16T12:21:46.736Z","0.4.1":"2020-12-21T06:12:48.412Z","0.4.1-0":"2020-12-21T06:13:20.921Z","0.4.2-0":"2020-12-21T07:03:08.452Z","0.4.2-1":"2020-12-21T10:20:09.452Z","0.4.2":"2020-12-21T10:28:26.770Z","0.4.3-beta.1":"2020-12-23T07:51:44.103Z","0.4.3":"2020-12-23T11:38:29.029Z","0.4.4":"2020-12-31T07:27:38.088Z","0.4.5":"2021-02-02T07:05:55.284Z","0.4.6":"2021-03-02T07:55:36.524Z","0.4.7":"2021-03-23T07:03:56.715Z","0.4.6-beta.1":"2021-04-14T05:30:44.204Z","0.4.6-beta.2":"2021-04-14T06:34:17.222Z","0.4.6-beta.3":"2021-04-14T06:35:22.479Z","0.4.6-beta.4":"2021-04-14T08:06:44.737Z","0.4.6-beta.5":"2021-04-14T08:45:05.870Z","0.4.6-beta.6":"2021-04-14T09:12:31.515Z","0.4.6-beta.7":"2021-04-14T09:42:36.905Z","0.4.8-beta.1":"2021-04-21T08:22:53.766Z","0.4.8-beta.2":"2021-04-22T02:21:38.918Z","0.4.8-beta.3":"2021-04-22T02:55:42.733Z","0.4.8-beta.4":"2021-04-22T03:44:07.912Z","0.4.8-beta.5":"2021-04-22T09:02:58.164Z","0.4.8-beta.6":"2021-04-22T11:52:51.068Z","0.4.8-beta.7":"2021-04-22T12:32:57.551Z","0.4.8-beta.8":"2021-04-23T02:57:54.435Z","0.4.8-beta.9":"2021-04-23T04:34:07.792Z","0.4.8-beta.10":"2021-04-23T05:43:58.389Z","0.4.8-beta.11":"2021-04-23T07:33:46.245Z","0.4.8-beta.12":"2021-04-23T08:55:15.575Z","0.4.8-beta.13":"2021-04-25T03:31:00.887Z","0.4.8-beta.14":"2021-04-25T05:23:27.157Z","0.4.8":"2021-04-25T06:36:17.142Z"},"maintainers":[{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"empireo","email":"yudong.myd@alibaba-inc.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.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":"# Iceworks 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 @iceworks/doctor --save-dev\n```\n\nor\n\n```shell\n$ npm install -g @iceworks/doctor\n```\n\n### Usage\n\n```js\nconst { Doctor } = require('@iceworks/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 `$ iceworks-doctor -h` for help.\n\nScan\n```shell\n$ iceworks-doctor -s ./\n```\n\nOptions\n```shell\n$ iceworks-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/@iceworks/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\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## 2. Codemod\n\nThis repository also contains a collection of codemod scripts that help update React([ICE](https://ice.work/)) and [Rax](https://rax.js.org/) APIs.\n\n### Installation\n\nInstall [jscodeshift](https://www.npmjs.com/package/jscodeshift) and @iceworks/doctor.\n\n```shell\n$ npm i -g jscodeshift @iceworks/doctor \n```\n\n### Usage (CLI)\n\n`iceworks-doctor -c <transform> <path?> [...options?]`\n\n   * `transform` - name of transform, see available transforms below.\n   * `path?` - files or directory to transform. \n   * `options?` - some rule's options.\n\nThis will start an interactive wizard, and then run the specified transform.\n\nPS: You can also clone this repository then use [jscodeshift](https://www.npmjs.com/package/jscodeshift)'s CLI API.\n\n### Included Transforms\n\n#### `plugin-rax-component-to-component`\n\nUpdate `plugin-rax-component` to `plugin-component`.\nSee: https://rax.js.org/docs/guide/com-migration\n\n```shell\niceworks-doctor -c plugin-rax-component-to-component ./\n```\n\nEnjoy!\n","readmeFilename":"README.md"}