{"_id":"@alifd/api-extractor","_rev":"48-a8a26a9016f3f18ba109f2844c4ad207","name":"@alifd/api-extractor","dist-tags":{"beta":"3.6.0-beta","latest":"3.7.2"},"versions":{"3.3.0":{"name":"@alifd/api-extractor","version":"3.3.0","keywords":["react","api","doc","fusion","next"],"license":"MIT","_id":"@alifd/api-extractor@3.3.0","maintainers":[{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},{"name":"bindoon","email":"bindoon@sina.com"},{"name":"no-repeat","email":"chenpeng.mini@gmail.com"},{"name":"tao1991123","email":"tao360907796@gmail.com"},{"name":"vicerwang","email":"1060455478@qq.com"},{"name":"wwsun","email":"ww.sun@outlook.com"}],"homepage":"https://github.com/alibaba-fusion/api-extractor","bugs":{"url":"https://github.com/alibaba-fusion/api-extractor/issues"},"dist":{"shasum":"c97b6f170c3ac1c06c21fde11fd65ffa834ae253","tarball":"https://registry.npmjs.org/@alifd/api-extractor/-/api-extractor-3.3.0.tgz","fileCount":5,"integrity":"sha512-SvWmoo8rsrBeISxQP7U5xAGZ29Z4OzrIrAxB4XUyC9NAM+wmyZL4zD5shceCmYW6ak0tdSIUpel5FgogcRbXAg==","signatures":[{"sig":"MEQCIEozF7ZuhIOijsmV6hLP9yZOFh5zHOYQaQIqBQ6Q+pfzAiBbmnIV8LLHk0DrUegW5yCWQrusoV3vMZy6TSKTlAOpyQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfNBJCRA9TVsSAnZWagAAFxMQAJBP6RKtgzWh8yOdlz7x\njzHnVoEG8kNf1hmwtcbUTc2h0gclFpxxW6TmbHRyOapfVdJWf32kXffFVRLA\nyeCh6pOQYym5GRFxqD6xziPhz/PH/1lF7UjW/gABVao1jjeM3M1hyvFZoXpn\nEYX52GK44H1f0SqGRdXoMflwxRN5mK/FJofv2VbHgVSEtgDOrFSSqDFHSkNX\nnXu0EgLl3EO+9L6gDWDvWMOwPp0pXO3nTVlNEEthMRlA66e1EKhpUX/nCBGr\nCQiRAUmSEYTCCU5fa/BGwCXp+9cvb2qyI+4DCMctoPa524i49uYlB2OnsJ3Y\njyn1T2al8NY1i99tCvDVGwjpup5qTK/Ro02gc/VuE6P0baq607DbIPZZtp5V\nN0fIbUETD0X2ZmlPS+xJ3gbEaJe37xbFiEnrEozvnMW4kSDVceDnAt/gWLOq\no7WSxUYyCAys+csFN9VuyzWFvnBrRbIjmyji9OjpeaqPnYQJ7Lr3mTNA7f9L\njKdly4pXED6LVj6y1R4OfRW+ggK2mAbAew5lIln4vIhur0JS5vGg23gQvjHO\n20Q6iUQKiO7DnH95kfQiXqnjWneNu3Nujm9/gCUkjevvbelyYo+nov2FbuvG\nE8sFaoTkkZnNpr27CIE3z31HY+VsSJ1uP+CNk9Bp3Jy03jcaFCfgtqQQ/+UD\nkBIj\r\n=e1J8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","files":["lib"],"gitHead":"cf432443c21d65de5ea088e6bf7a9d6482a8bd43","scripts":{"lint":"eslint 'lib/**/*.js'","test":"mocha --require intelli-espower-loader","example":"node example/script.js","precommit":"npm run lint"},"_npmUser":{"name":"vicerwang","email":"1060455478@qq.com"},"repository":{"url":"git+https://github.com/alibaba-fusion/api-extractor.git","type":"git"},"_npmVersion":"5.6.0","description":"A tool to help extracting api from React components.","directories":{},"_nodeVersion":"8.11.4","dependencies":{"glob":"^7.1.2","babylon":"^6.18.0","doctrine":"^2.0.0","react-docgen":"^2.17.0","babel-traverse":"^6.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^0.14.3","mocha":"^3.5.3","eslint":"^4.3.0","power-assert":"^1.4.4","intelli-espower-loader":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/api-extractor_3.3.0_1534906440875_0.43539702404321146","host":"s3://npm-registry-packages"}},"3.3.1":{"name":"@alifd/api-extractor","version":"3.3.1","keywords":["react","api","doc","fusion","next"],"license":"MIT","_id":"@alifd/api-extractor@3.3.1","maintainers":[{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},{"name":"bindoon","email":"bindoon@sina.com"},{"name":"no-repeat","email":"chenpeng.mini@gmail.com"},{"name":"tao1991123","email":"tao360907796@gmail.com"},{"name":"vicerwang","email":"1060455478@qq.com"},{"name":"wwsun","email":"ww.sun@outlook.com"}],"homepage":"https://github.com/alibaba-fusion/api-extractor","bugs":{"url":"https://github.com/alibaba-fusion/api-extractor/issues"},"dist":{"shasum":"b02435cdc90b8791e564134c32d4bd95b106501c","tarball":"https://registry.npmjs.org/@alifd/api-extractor/-/api-extractor-3.3.1.tgz","fileCount":5,"integrity":"sha512-noNAHKkwtdE2/G/xtSHGbPigR79HZDAIhYgwVX2P6br837O6+WIGS/GzAeNTw610+ijLyIPZD5jom4g/8uKpRg==","signatures":[{"sig":"MEUCIQDj29PVpzMJS/vMc3dR+uo6G/3FK8TbmOEmOD1rDOd/TwIgQf5c565lpCO5zNWjuDu6QAWj5a1f0g0ESxug4rla6Y4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21343,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfSAbCRA9TVsSAnZWagAA4DkP/11O2+vqu128AfU6Cdkr\nhacummkRtf13lNJzhRDhQCNo2XGGBhFQQbjQhQkFBWiMMmRGqoq+BH7nMMQy\nO8kHaMyTJZcP+s9THCj5aFZ2UzJ088qCgZj6wAiGw85I/VLCHZokHbbAyWot\nfTlA/cQd7U2vAjR1IIBtOseOMEWK1mFrO2xrTKYCQOftSuVThClVHdCcIJLT\nz9Id5+D5X/9/fbl4ybnTghtICrWIfI3XU3yOcx+BH6Xri5ew20QuZ5aYrTcC\nQF4eGQ2m51ja3ldyUacf27suuKcomXCxMQyBqqoFcLUduM6HI6yxzJWSj7nL\nqdtsVurW2ThDBvWopNCUvm0GzmqeNxDnLK667DeIlGwOHUKf5LkCHEAmIF9J\nmu0RlzAB90b3XDCffnvja8Crj7uZoTFbXBivltFWmnGtrHUiVglOTdHSCWTZ\npHftDj6fotffo0DtXu9MfzpD+TwI1jIf49Ch4Ozup9AfOYxwPTjluoZ4GO24\nf3BONHszjq9+h7AXLihak+1sSWsqjpCWEjAitLc/l0DeJxBmoKJh5VARSZL7\naLqsK4aEEz8TDv9WEh0+xJ2p1WZcTcicEwge8KwWpfccvZco3pvOCMWA7d1E\nA/+unQHN2Q2Is+dqH2so1LRz/WF4xjg/3NBn0umT46Sp2UJAuPP8/2UjoKkP\nRqfA\r\n=+wbx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","files":["lib"],"gitHead":"b31d90ebdc16e1a1b01e437d7d8ec4b661d0a519","scripts":{"lint":"eslint 'lib/**/*.js'","test":"mocha --require intelli-espower-loader","example":"node example/script.js","precommit":"npm run lint"},"_npmUser":{"name":"vicerwang","email":"1060455478@qq.com"},"repository":{"url":"git+https://github.com/alibaba-fusion/api-extractor.git","type":"git"},"_npmVersion":"5.6.0","description":"A tool to help extracting api from React components.","directories":{},"_nodeVersion":"8.11.4","dependencies":{"glob":"^7.1.2","babylon":"^6.18.0","doctrine":"^2.0.0","react-docgen":"^2.17.0","babel-traverse":"^6.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^0.14.3","mocha":"^3.5.3","eslint":"^4.3.0","power-assert":"^1.4.4","intelli-espower-loader":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/api-extractor_3.3.1_1534926874422_0.38933618881615195","host":"s3://npm-registry-packages"}},"3.3.2":{"name":"@alifd/api-extractor","version":"3.3.2","keywords":["react","api","doc","fusion","next"],"license":"MIT","_id":"@alifd/api-extractor@3.3.2","maintainers":[{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},{"name":"bindoon","email":"bindoon@sina.com"},{"name":"no-repeat","email":"chenpeng.mini@gmail.com"},{"name":"tao1991123","email":"tao360907796@gmail.com"},{"name":"vicerwang","email":"1060455478@qq.com"},{"name":"wwsun","email":"ww.sun@outlook.com"}],"homepage":"https://github.com/alibaba-fusion/api-extractor","bugs":{"url":"https://github.com/alibaba-fusion/api-extractor/issues"},"dist":{"shasum":"bcf4876e483e3679a9adefe85c47de05f7807c50","tarball":"https://registry.npmjs.org/@alifd/api-extractor/-/api-extractor-3.3.2.tgz","fileCount":5,"integrity":"sha512-3ttF14ST3LifdPX8Yfq1aIWxKr3f4KluR/c/QyvrlnI1ZaoWqWdb20zo1To/pxAxvuP4Fv6q1Ys6wnrrYfl+tA==","signatures":[{"sig":"MEUCIQCvyOJInw4uE5YuI4IQyP3Ku5edQH3vBfUpbaWoS4z7bgIgf450OR9RHiYsUqIkINYy2KQ0RxQpA4SFNqNbnmZ4sDs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21474,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjO9RCRA9TVsSAnZWagAAqLkP/Rl+FHUjw+VbXvHHRYwL\nfNxhOLVFHdUxwFo5Upg2MnZMgkDAlxPERIv9gQeqqj5KNpXiGmihFDfugorF\nZ6QICMHWIcBGo7YvvgDHmYv2OOTEU01M8sDTmGlxZVRtatWFdcuYelM7vrpP\nyVEC6sr5yHVdRut4Sg2BFlT5j4M1QRTF2CBEiXi6jVDHmTjj/47I1Zgk5xJu\neMKCH/sryqy/wDZEAXdLrs/7bnS2Gc9MZHby2Ba0KvDnO0+ctI7pRrFB2aTw\nXIuvEaoVGKFlSyeKbrveFo6BfUc6Dr/DbzjBpeLL78yD74DuGmC6Qkd7cOLp\nrzfuuzAtIoRx6ebVisRcgwEvVObPXJ3BogSRnF8gGsfMPbOdca17hn2nbJM9\ncADzxapBRmlVcypcnUZFHJvbsa+HnXMn6wdoVvQJSXZX7Wy2dm1VXICDK/K6\nCQ8F0VYlfph1S9baEcD9iUWcrlsiks59jkOfipdx/+Oi/mPdh5/Hc07AeN57\n4tKjW30dJK/rAN4y+sPnpzfcne4bGKsQAhvouakgsPEOZwg3E8w9Ptv/IHCj\niGleq27oq3M3DSiAnzPR7NfdfWPWyeLWnKjCykIhU61W8Xry1bDTx4fhw6lL\nbPRmLmEXcwhc7yd4vNkj7/f6NkeX3LK+dZKRmKNRvVn7BxyhPjFmWgQmGTY8\nHu6h\r\n=I7uv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"35680cd9fc171c28ee7ddfd3e701e7dc3882da89","scripts":{"lint":"eslint 'lib/**/*.js'","test":"mocha --require intelli-espower-loader","example":"node example/script.js","precommit":"npm run lint"},"_npmUser":{"name":"vicerwang","email":"1060455478@qq.com"},"repository":{"url":"git+https://github.com/alibaba-fusion/api-extractor.git","type":"git"},"_npmVersion":"5.6.0","description":"A tool to help extracting api from React components.","directories":{},"_nodeVersion":"8.11.4","dependencies":{"glob":"^7.1.2","babylon":"^6.18.0","doctrine":"^2.0.0","react-docgen":"^2.17.0","babel-traverse":"^6.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^0.14.3","mocha":"^3.5.3","eslint":"^4.3.0","power-assert":"^1.4.4","intelli-espower-loader":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/api-extractor_3.3.2_1535962961133_0.41990618025496196","host":"s3://npm-registry-packages"}},"3.4.0":{"name":"@alifd/api-extractor","version":"3.4.0","keywords":["react","api","doc","fusion","next"],"license":"MIT","_id":"@alifd/api-extractor@3.4.0","maintainers":[{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},{"name":"bindoon","email":"bindoon@sina.com"},{"name":"myronliu347","email":"myronliu347@gmail.com"},{"name":"no-repeat","email":"chenpeng.mini@gmail.com"},{"name":"tao1991123","email":"tao360907796@gmail.com"},{"name":"vicerwang","email":"1060455478@qq.com"},{"name":"wwsun","email":"ww.sun@outlook.com"}],"homepage":"https://github.com/alibaba-fusion/api-extractor","bugs":{"url":"https://github.com/alibaba-fusion/api-extractor/issues"},"dist":{"shasum":"b22c6f70f25974d1b607d9f80daec2a99a8c35fc","tarball":"https://registry.npmjs.org/@alifd/api-extractor/-/api-extractor-3.4.0.tgz","fileCount":5,"integrity":"sha512-l/Uq4PcniQeypzgYnHkhiXYq5ws2/2ZspE2iR97rGSHI4drLkU7evRZUtn/AUIsD8O7yH8/f9KsFlJ+an51Akg==","signatures":[{"sig":"MEQCIHg3bTJnHLQAQ73gvPhWNWgX0Mxn8aNQ8t9H6fA0dTfHAiBQQEObMIb9UwveA6Jg/oaGh0zxR/sYRRsKJpa4C8/6FQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22904,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGaneCRA9TVsSAnZWagAA+D0P/A0LFFDdEg9iJs1F6QBD\n/+1CkkKVxQDeox93ay5B7lIKgAPLsvtq0aiZkz+EnE9oi4ykaBniIeC6kD6S\n8jUKqanLZ4+fy+THCKawN9lLeNXDSRNrI1iRSCZ3QgCXwaTvmk5GzbxTSyO1\ngXheEmiVl46BHuQqeQuhU3glaVTlZOf2BcXE262yLp/uGiqiOYgOXew3Maik\nxV6PJriNAPeXV6xeiSug0pjieRfVzazzQVNG6GVGG6QIK5R3Ob/8HQvjYNHr\n7xwuRpDJ014eo66qtI3o19t56t7OKFc678ndW6D3/Vlb9LrX3AQOo0Nwo5v3\n75GseGtvjSwLdxwXwdTWicRswNuPj4X4WXHzpuEN6G/l+/RWsMF+fbX+LY3h\nb8FMcqYfgoT+YA4j+3XCQ/380FvU4WWEsBji7MmvEvYB6oLqwwq5mwF47uhY\nVDpJN2UatAfmuouLVzhB7BO5H0eW0EC7ucQjFU1M/ngHGKI22fUc4GT58ikP\nxVCOdL3o3BJXQzfXZqwMgVxb/LfxXHimtjyq9pArcbw3tCjMka9UwrwqvlYE\nd/LSOR5NJUVuLFzGYDgieKzjzSXx5rr83JAcjRi6NnuWHzrN/8AWq3RKVZt/\ndwawvehgfC4/4z0AWDkmfqhADLUHALpvAHtZ7UbRBXo2g7czJoSghkq+z28R\nH0Dj\r\n=pFQ1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"c60fba96597bad55e6ceec8091f84502a364f685","scripts":{"lint":"eslint 'lib/**/*.js'","test":"mocha --require intelli-espower-loader","example":"node example/script.js","precommit":"npm run lint"},"_npmUser":{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},"repository":{"url":"git+https://github.com/alibaba-fusion/api-extractor.git","type":"git"},"_npmVersion":"5.6.0","description":"A tool to help extracting api from React components.","directories":{},"_nodeVersion":"8.11.1","dependencies":{"glob":"^7.1.2","babylon":"^6.18.0","doctrine":"^2.0.0","react-docgen":"^2.17.0","babel-traverse":"^6.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^0.14.3","mocha":"^3.5.3","eslint":"^4.3.0","power-assert":"^1.4.4","intelli-espower-loader":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/api-extractor_3.4.0_1545185757535_0.3437668010070334","host":"s3://npm-registry-packages"}},"3.4.1":{"name":"@alifd/api-extractor","version":"3.4.1","keywords":["react","api","doc","fusion","next"],"license":"MIT","_id":"@alifd/api-extractor@3.4.1","maintainers":[{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},{"name":"bindoon","email":"bindoon@sina.com"},{"name":"myronliu347","email":"myronliu347@gmail.com"},{"name":"no-repeat","email":"chenpeng.mini@gmail.com"},{"name":"tao1991123","email":"tao360907796@gmail.com"},{"name":"vicerwang","email":"1060455478@qq.com"},{"name":"wwsun","email":"ww.sun@outlook.com"}],"homepage":"https://github.com/alibaba-fusion/api-extractor","bugs":{"url":"https://github.com/alibaba-fusion/api-extractor/issues"},"dist":{"shasum":"5081f46424b3c5177b44cecfdcdc1465ddf97fca","tarball":"https://registry.npmjs.org/@alifd/api-extractor/-/api-extractor-3.4.1.tgz","fileCount":5,"integrity":"sha512-2jebZ4MjNJZ8KWnlVCa3rT85Gp4KE+LeKPzVPK4iQyFl4pj7UKVuh035jwVr4SsgJBWo4LChcaCv/ASWi8m+Aw==","signatures":[{"sig":"MEUCIQCHImF/PhA/QriqxiHFEq/sdyivBwJMF+AleNKhUol3qgIgaQAi4R3FCXqvnPHGDrNeO1D7vQkniCuR10HHQX+yBWE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23190,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGblyCRA9TVsSAnZWagAALx8P+QHSbIucMT4QmHDUBv2i\ncxHaFYzRKvTRpJJwTfkWteE0EpMJoLX/5RdgML8XsD9wUV1ub7Dnj43GxRTR\n5QjdcMdhHU/lQjkTyX59km9XaD4GbT8+JO8lL/1JP6KEJXrOLZJnHz2eHGqN\no5DEZFbGk2PzDWb+/5SIhoc3P0RlhwN5tqfoa365Y1wa6KhF8j9XXlNiS1gv\nwoTeD0fp4wuRazzFYTu8BtRPl+dK1kquob8Yw5FgJukleYrzoQXo+wczuYAM\ngFKmAquz4nfGBvB+p4+KMCDtA6NiTrAb8XJTIqGIynGvYP+3YuPjgWwt2Irk\nTR87YxZFXZZvd4klYi01TeEy28gQrKImCJF9RXyFy11ff5bcGcXXm4AvwCKF\nLwC4y0Borq5g+fW4bFV3tLKAjiMXb3DtwNuubWR8miL3XjIyMSKyc1PsXvmB\nOGtkHcTLL3Vyc40QulWkLdOvWfArnA5zKujmcpygutsUvKR+xdu36albelKZ\nT0iGILfiVrt0qpADadzCHroaYSZBhSVc+1zqQYLiENrhdcsBnHPGEWRAGIn1\n74z1JS34wjIO5uCQ3x0z+UDU3P3v5/d30S1yUULMP2sXL4u5kOy/z6SCFvrz\nqv89bxK6VR5m/KMDjrdPTnnHwQU74rJcCN85bvwqAP9MkzEr8SMSQ12WymG9\nenOg\r\n=z8oe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"82616f052c9d63b622d270fbefe9f30df03755ab","scripts":{"lint":"eslint 'lib/**/*.js'","test":"mocha --require intelli-espower-loader","example":"node example/script.js","precommit":"npm run lint"},"_npmUser":{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},"repository":{"url":"git+https://github.com/alibaba-fusion/api-extractor.git","type":"git"},"_npmVersion":"5.6.0","description":"A tool to help extracting api from React components.","directories":{},"_nodeVersion":"8.11.1","dependencies":{"glob":"^7.1.2","babylon":"^6.18.0","doctrine":"^2.0.0","react-docgen":"^2.17.0","babel-traverse":"^6.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^0.14.3","mocha":"^3.5.3","eslint":"^4.3.0","power-assert":"^1.4.4","intelli-espower-loader":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/api-extractor_3.4.1_1545189745159_0.9541056161909329","host":"s3://npm-registry-packages"}},"3.4.2":{"name":"@alifd/api-extractor","version":"3.4.2","keywords":["react","api","doc","fusion","next"],"license":"MIT","_id":"@alifd/api-extractor@3.4.2","maintainers":[{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},{"name":"bindoon","email":"bindoon@sina.com"},{"name":"myronliu347","email":"myronliu347@gmail.com"},{"name":"no-repeat","email":"chenpeng.mini@gmail.com"},{"name":"tao1991123","email":"tao360907796@gmail.com"},{"name":"vicerwang","email":"1060455478@qq.com"},{"name":"wwsun","email":"ww.sun@outlook.com"}],"homepage":"https://github.com/alibaba-fusion/api-extractor","bugs":{"url":"https://github.com/alibaba-fusion/api-extractor/issues"},"dist":{"shasum":"f3268a323c0a07b75533cbb6e97d16e58382dfed","tarball":"https://registry.npmjs.org/@alifd/api-extractor/-/api-extractor-3.4.2.tgz","fileCount":5,"integrity":"sha512-/vfzAxxWw2uKAvmc+bHYb3Fkn7g6lC6gzgtdbHvoSr4BmwFy6f9HA6CZwQRoY/LfkTCet237JSpHAhm5CNfMfA==","signatures":[{"sig":"MEUCIQDZ4mSR+yRpyK2Z91eNvTzx1v3kNVys1/8fsSo8EQ35VgIgOqApvvcfXNLgOJ1DYFIPviI5oKYr4ulqitcQ/Aum8GM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23174,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGibBCRA9TVsSAnZWagAAUPgP/2fAzTHDUhb412dJm3zs\nXNr5DafB8woF7x0GonMaH/bKQNaak6W3U4guPRR+ciSF7b6L96ib5EirsLDb\nP8riEIGU2Ea6I2mQXrlVR32OexFxw3sUN0uwRr8SrwULksH2l8njNQO4cN1K\nSzwpdDJc3NDfcx9U8NBnfsqEAcqXMx2doVp8TY/cchCijcE/VTSV4aSuegD3\nhrKh4l/h3agFygNHCgNdMc1jfL9MW7CX/3S9pEbjiEwhfMjl621ZUylK+cea\nNUq4lntCd6jGAywnJhiSB/xUprqz5/gfXtOu4RdwneclV6qzSYHgXDqFCJIj\nkRX1/KHEIijAHzbr+Iyi/Xf/KmMKryUhcX6+bd8ToVbtlKtJMM9JfWreJBkS\nQa6mdDh8TnN//8kh0/eabBUOsODyyz2Dm5/JWWDsX8IvXrJ9WMIK+efTJUli\nVPKm8IlZVDIyP4CiOmQwE78wz51E+EebqsrtX/TLYletEnGP6/zH/x8eL0Nf\nOqmRNe2ckmBwe8NtGhvrCrMcJPW4KRkhYeIH9zWAPfawXnOWGdX5NvklhAW1\nrKun6Dngwl+dkQueWa1kNX76ZvdZw0FR6yprjRycyYFKmS2dQ5pCuWDUHey7\nhj8jjI1+RtxX9RYk1tHRny2KX7wUoTmh2MEb41PhKD8WJNvlQYUn41+D52wo\nT74t\r\n=zpBq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"46ec9cd4de67620190d9c324ddc46e776b3e135e","scripts":{"lint":"eslint 'lib/**/*.js'","test":"mocha --require intelli-espower-loader","example":"node example/script.js","precommit":"npm run lint"},"_npmUser":{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},"repository":{"url":"git+https://github.com/alibaba-fusion/api-extractor.git","type":"git"},"_npmVersion":"5.6.0","description":"A tool to help extracting api from React components.","directories":{},"_nodeVersion":"8.11.1","dependencies":{"glob":"^7.1.2","babylon":"^6.18.0","doctrine":"^2.0.0","react-docgen":"^2.17.0","babel-traverse":"^6.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^0.14.3","mocha":"^3.5.3","eslint":"^4.3.0","power-assert":"^1.4.4","intelli-espower-loader":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/api-extractor_3.4.2_1545217729222_0.9788599228827861","host":"s3://npm-registry-packages"}},"3.5.0":{"name":"@alifd/api-extractor","version":"3.5.0","keywords":["react","api","doc","fusion","next"],"license":"MIT","_id":"@alifd/api-extractor@3.5.0","maintainers":[{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},{"name":"bindoon","email":"bindoon@sina.com"},{"name":"myronliu347","email":"myronliu347@gmail.com"},{"name":"no-repeat","email":"chenpeng.mini@gmail.com"},{"name":"tao1991123","email":"tao360907796@gmail.com"},{"name":"vicerwang","email":"1060455478@qq.com"},{"name":"wwsun","email":"ww.sun@outlook.com"}],"homepage":"https://github.com/alibaba-fusion/api-extractor","bugs":{"url":"https://github.com/alibaba-fusion/api-extractor/issues"},"dist":{"shasum":"88a191f38dae4cd492e1c59cf00d06c2bab21a46","tarball":"https://registry.npmjs.org/@alifd/api-extractor/-/api-extractor-3.5.0.tgz","fileCount":5,"integrity":"sha512-wa/KXoyMtLC8YkJnWp9Q1xbtXe6Tuxv65MtWhNiepCfeE5oFAdayZv81QA49trjFuzfjbQ5sa7W4xBmHXLzkMA==","signatures":[{"sig":"MEQCIC6Upxt55m01EzG0L12NQsRyQltbqjvAAF0jKgWk8cNWAiAQWhDoqr0Id60z69dUgZ+7aCbmUHBigJWEOT5ptO9/jQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNcH/CRA9TVsSAnZWagAAHbsP/jA2jpPIQm9fxU5DP3+J\n6C3H0eB8NgAjewey5PAHPNPK6cVOsfpVfsgl2X+OTLI1Tf3Jvi2jfsP3JjyM\npY5tJNxKxIokvEhGbWL9ZPuLnvbSKCSO9AhvnHE/klE1rBvCX1xQTOya1S+8\nqaDRnoum3fFwKUzFdu9F+jfxeubKmsY78H4uRxcnldrfpp72IvIWl9iA8Rw9\neBeTwwfOP+zBn7irh4ydi5ccr4E/pJOD6x58EyX0L82nXi7NRx0XGHaS/1U8\nSMPKvsBYuNPxFYGkggh9PicHQbTeeLaC7wCRDEZcZIqH+8Yl+QcRxdq6zLWj\na691Hdp//qGBMzTCAqE4FCvljizKIVn5r7vvR81LJ3LHGWn268wk2Bq+qZmU\nMXvV6dw1Y65aNHtUpWBojxY8aCabOR9EoN3sGO5pkRBzt0rJJeTJJ2wBHuKv\nHCKGzNvQn+6tjH0yQcCqL+guFOmQGZrHD+3BjyBUZySSI6LIhyTdX0NpZwe4\noIz3AkaGoT9PTP9IN7+lNYY03uXizFRECeHPqHvB+Q6xaCKN2eC0c37q4q7w\njDhVJJxkSwtNuDqZ/xYRKZobc9eZv6Iam2nZaMONs+j7UMlR6SX0O8TZAGyu\n1/acVQlgWU3SNr3sMohqQbd4hVVa7YjQTfsHnhu9gQPVSoAH9rqiyjQ9a7rG\n4eHf\r\n=Ij6F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"8d1b81a42335416c1a5127ae83b2af68a28e8dd7","scripts":{"lint":"eslint 'lib/**/*.js'","test":"mocha --require intelli-espower-loader","example":"node example/script.js","precommit":"npm run lint"},"_npmUser":{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},"repository":{"url":"git+https://github.com/alibaba-fusion/api-extractor.git","type":"git"},"_npmVersion":"5.6.0","description":"A tool to help extracting api from React components.","directories":{},"_nodeVersion":"8.11.1","dependencies":{"glob":"^7.1.2","babylon":"^6.18.0","doctrine":"^2.0.0","react-docgen":"^2.17.0","babel-traverse":"^6.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^0.14.3","mocha":"^3.5.3","eslint":"^4.3.0","power-assert":"^1.4.4","intelli-espower-loader":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/api-extractor_3.5.0_1547026943206_0.7845943725072531","host":"s3://npm-registry-packages"}},"3.5.1":{"name":"@alifd/api-extractor","version":"3.5.1","keywords":["react","api","doc","fusion","next"],"license":"MIT","_id":"@alifd/api-extractor@3.5.1","maintainers":[{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},{"name":"bindoon","email":"bindoon@sina.com"},{"name":"jdkahn","email":"justindavidkahn@gmail.com"},{"name":"myronliu347","email":"myronliu347@gmail.com"},{"name":"no-repeat","email":"chenpeng.mini@gmail.com"},{"name":"tao1991123","email":"tao360907796@gmail.com"},{"name":"vicerwang","email":"1060455478@qq.com"},{"name":"wwsun","email":"ww.sun@outlook.com"}],"homepage":"https://github.com/alibaba-fusion/api-extractor","bugs":{"url":"https://github.com/alibaba-fusion/api-extractor/issues"},"dist":{"shasum":"6a8f4d045ba6dc119d295c3bb32ce967fddf41e2","tarball":"https://registry.npmjs.org/@alifd/api-extractor/-/api-extractor-3.5.1.tgz","fileCount":5,"integrity":"sha512-I/luco2VAVgZsG4Y0qGWIJdcIAWpgEl1RceRBJ0HZJTLsIg+p32tJC3Hk5DkLD8HOM+6vIc9KywhJ9fj9Kj3jA==","signatures":[{"sig":"MEYCIQDSSGvD81MJbnh0CAbLRDmui92RZMfc8j0QBDUpGQgRwwIhAP5V98zqIxm2YxttteKPrpcB4a7rBD97os3qv6E1J/KO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23438,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdNnIFCRA9TVsSAnZWagAAMPwP/1/IvQrXMJfNeiwaGD1d\nFWjULIOVeiA9+ZmDNVjRWIniS3saLJbUYIrueDjTOs9LH5buaIfl1MGVyWVC\nIaJWVNal6drkeq7IEXzwSmVKzNk61+kLZZZiQGJbJNncYQGNDUrTVNxxUE2k\nliJ4mgH7tZDoQCSIeN0FToQEWFLMUhS7ecvqfcbbDaGjsxEmI2gmo101ZG4k\nag7dbX1W/yzuA02+bfxifS5eFSVTqF43JPFwkWZYAPjYSzEETAm6KPlaZj7k\nzD6G1ZFMAIEUWyIOEIh1yAFl43DKKsiR4zLwueNPikWguIYQRRdUramu1tMI\nmsuX/ez6Ffqn3mgOsd01U3KmTnzCtc7EZPzl4w56vVotJOsEfjxmTp4IV7tN\nciTW7wTFGHzfAslrfToNqBfmWTpVeQoa8nXXv9FcjDwWvb61hr1NYCKyPJMF\neBeNGY72eBmBUyHwdRYQbaLBHLVFtjPhdu26lNIU5nlGbMzg2tbcNQjL6fGN\nP7tUUau4Il+tN6YKPiiOeMUPffERchc9Yuo7EIkeauKvksNwuU2Lt2nAp7u/\n4P1LlxUSsw+eP4nULGPeOWfPHic/ZDONlM59IWYnyx2pW9lq52QpJVBYoVEm\nRw/s5lWZj0qGo7C+WARw170pC3H66brTuYaHWt6ZU6hTs0mzj6ncoJaYDhPY\nopaP\r\n=6QNr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"d564ba9287f5f24f74b8ed773c9a7d34d1f95b8b","scripts":{"lint":"eslint 'lib/**/*.js'","test":"mocha --require intelli-espower-loader","example":"node example/script.js","precommit":"npm run lint"},"_npmUser":{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},"repository":{"url":"git+https://github.com/alibaba-fusion/api-extractor.git","type":"git"},"_npmVersion":"5.6.0","description":"A tool to help extracting api from React components.","directories":{},"_nodeVersion":"8.11.1","dependencies":{"glob":"^7.1.2","babylon":"^6.18.0","doctrine":"^2.0.0","react-docgen":"^2.17.0","babel-traverse":"^6.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^0.14.3","mocha":"^3.5.3","eslint":"^4.3.0","power-assert":"^1.4.4","intelli-espower-loader":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/api-extractor_3.5.1_1563849220608_0.3242372603353867","host":"s3://npm-registry-packages"}},"3.5.2":{"name":"@alifd/api-extractor","version":"3.5.2","keywords":["react","api","doc","fusion","next"],"license":"MIT","_id":"@alifd/api-extractor@3.5.2","maintainers":[{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},{"name":"bindoon","email":"bindoon@sina.com"},{"name":"jdkahn","email":"justindavidkahn@gmail.com"},{"name":"myronliu347","email":"myronliu347@gmail.com"},{"name":"no-repeat","email":"chenpeng.mini@gmail.com"},{"name":"tao1991123","email":"tao360907796@gmail.com"},{"name":"vicerwang","email":"1060455478@qq.com"},{"name":"wwsun","email":"ww.sun@outlook.com"}],"homepage":"https://github.com/alibaba-fusion/api-extractor","bugs":{"url":"https://github.com/alibaba-fusion/api-extractor/issues"},"dist":{"shasum":"e597bd9b3090b0bccc37022830c23da2d52e07b8","tarball":"https://registry.npmjs.org/@alifd/api-extractor/-/api-extractor-3.5.2.tgz","fileCount":5,"integrity":"sha512-Vd2RV6Ms4HkIzcqJlkNYioFRQ3fwx3mgBoDb8j3C/GLBY+M80LbT0fFSAI5DXG4poFrKIMZoRv3l/SS0/RFAew==","signatures":[{"sig":"MEQCICYSy8ujQmPG+DBuzcpnurrgcc7FlETVTqoRa8RaVnv0AiBMaGuuJLw0R5xLacmHJV+mcvDeAKeSaQ733a7/HRTXEA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23435,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdUV3UCRA9TVsSAnZWagAA4JgP/i/5xkVH9biAaFf44mFw\nNusUfl73/owoYNU8PTiwT6OGnNnyFC5pxPkSwjCaq7TBnAe2tmxCXYZ5nyDo\nme9d2twsf1GGpbCmMXs9aIPIMik+nSong7g+jq7w5YYQQlRJX24o23xUSTua\niySmPmKKr5QYCfs4EpBjqIwlKpZ7pvrB4H1NEC/DwKm+SBc7Cn8+2xf98U96\nPmyKzpR5tR+OKG1Ka/2WP3P4oa+Rcg/0OOXeCycCFpp5tmg3DRg1cqh4WYJv\nAsR8jX28h3r/NlW76BqDtX5zGHFj8jCbkvm/2xXa62xN9J8GpLAI7kpvlM/R\nfVenHVSVcckvDldKir3FKcNEytfg4kuDMH6FYawHC+zGPLiwpNrY09ANBB8D\nwwbjh4S9Q9c2HMGcakfLBjITVkmKMoy6pFUAcTNjppjlhe7pqMiuZLSKF0X1\nYyIfb0D16+gR8lxDJjAQQ5tbpAt7AmMoaF3Oh5OQDWZvDmJhEZDxUQt2tAC5\nAw6exgdhHU6+ArwB6YsFcboFGZgtXw6TetY6BVaW8bhN3bITCpOsVvPGTJD7\n6diA583zOAlM4UbjLPBpj8oOfx/p4taRwkFcP7mfErwodNJVjOv2hA76aZKK\ngt0JlEkZpS8lObwbc27Tlks8bb1foX5wIOSaVeA5oMxmC54J4eWX365b2J6L\n3W0l\r\n=u54W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"d564ba9287f5f24f74b8ed773c9a7d34d1f95b8b","scripts":{"lint":"eslint 'lib/**/*.js'","test":"mocha --require intelli-espower-loader","example":"node example/script.js","precommit":"npm run lint"},"_npmUser":{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},"repository":{"url":"git+https://github.com/alibaba-fusion/api-extractor.git","type":"git"},"_npmVersion":"5.6.0","description":"A tool to help extracting api from React components.","directories":{},"_nodeVersion":"8.11.1","dependencies":{"glob":"^7.1.2","babylon":"^6.18.0","doctrine":"^2.0.0","react-docgen":"^2.17.0","babel-traverse":"^6.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^0.14.3","mocha":"^3.5.3","eslint":"^4.3.0","power-assert":"^1.4.4","intelli-espower-loader":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/api-extractor_3.5.2_1565613523780_0.05458728978908911","host":"s3://npm-registry-packages"}},"3.6.0-beta":{"name":"@alifd/api-extractor","version":"3.6.0-beta","keywords":["react","api","doc","fusion","next"],"license":"MIT","_id":"@alifd/api-extractor@3.6.0-beta","maintainers":[{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},{"name":"bindoon","email":"bindoon@sina.com"},{"name":"fusion-bot","email":"fusion-bot@alibaba-inc.com"},{"name":"jdkahn","email":"justindavidkahn@gmail.com"},{"name":"myronliu347","email":"myronliu347@gmail.com"},{"name":"no-repeat","email":"chenpeng.mini@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"tao1991123","email":"tao360907796@gmail.com"},{"name":"vicerwang","email":"1060455478@qq.com"},{"name":"wwsun","email":"ww.sun@outlook.com"}],"homepage":"https://github.com/alibaba-fusion/api-extractor","bugs":{"url":"https://github.com/alibaba-fusion/api-extractor/issues"},"dist":{"shasum":"ed59939948eee3d00fa6b04c197a5577e1d90374","tarball":"https://registry.npmjs.org/@alifd/api-extractor/-/api-extractor-3.6.0-beta.tgz","fileCount":5,"integrity":"sha512-FdQf2wNYyCgS1siFCHZAT4P3YLlMBQ5u+ckj0Mp/FmkB0D6c9RzubvWcpXXaM7s8r2zqU86wwVjmctLg9FUQ4Q==","signatures":[{"sig":"MEUCIG4WuU8irVVik/OCLgL48jbteHaZx+1IfQbUXFskVxbiAiEApmMldqwQRJCj0u7VYtOygv/4RMjwHx//J3vLkEngwhY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23451,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzP0oCRA9TVsSAnZWagAA2tYP/3BqGk9v2O7T7KdeRZeZ\nt9ZI/qDkWPVLwURYj4vZ7KAIMpfsLTFKG8dkoEZFmm2ZvYEMuTUasNJwPbb1\ndRO2ThrrcHtkZniE6dGUx+/g7IHhxugMdc/h6oVeOhUPCQMJxyXdR/9iPi0f\n34eKrw3FCMLw6ZrjOUvuJod+aeCRGWFm5e2zn26G7OmIkE32Hg985i9E5g/t\n/KAqFAW0DcQDrZoyfkzJKXSFhyQiH+33dq8I8ITee3C3jM1SctUdsoYfAqzL\nBdkBkTbAk+1WFrG2QOdkS48DP3EISrw4bmbISNJvOTov0Vhp9k4vBqrOKdau\nenxaC/S+yGFTPanFfTvn/nB4WBJHI2d3xmbUdyZ1WHJuRD6qX9gqrUUswAkM\nyh4JjiCS+betgCQ4uNEU9Vl8Vgc9T8KiJFXjGWOZLBmOQfCyvKFS9NneBSaK\njXnqnzirocAr1A/W5SB0mG9h0+mFV0kGrwPFASwkNSR+G71HnuN/4+lhengZ\nRx8BatCtbrM5MnDIjK1yW0a2WDHS5pL2zShDSfcZn6zw2uxvJ2+ctC6H+JgF\nD3XqaeuxCaly4PDoK9NUGsUc8cu3NFsudpSutR2iv7dviAVwca4HpC793I+W\nvTFUMwpNe8iC5MgJvgXsPs88NxVH7UlxjEdGDvUfW+YxaN9lLRQVQMc9tycM\nE/JJ\r\n=qx0v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","readme":"# @alifd/api-extractor\n一个从 React 组件代码中提取 API 信息的工具，一般用来生成 API 文档，开发编辑器组件 API 提示插件以及开发页面搭建平台组件物料的属性面板，代码中附加信息书写方式来源于[jsDoc](http://usejsdoc.org/)，整体底层解析工具依赖于 [react-docgen](https://github.com/reactjs/react-docgen) 和 [doctrine](https://github.com/eslint/doctrine)。\n\n[![npm package](https://img.shields.io/npm/v/@alifd/api-extractor.svg?style=flat-square)](https://www.npmjs.org/package/@alifd/api-extractor)\n\n## Feature\n* 支持通过`propTypes`获得属性类型\n* 支持通过`defaultProps`获得属性默认值\n* 支持通过`propTypes`上的 jsDoc 注释获得属性描述，自定义属性默认值\n* 支持通过书写 jsDoc 获取函数类型属性的参数和返回值\n* 支持通过书写 jsDoc 获取对象类型属性的属性\n* 支持通过书写 jsDoc 获取组件静态方法和实例方法的描述，参数以及返回值\n* 支持根据提取的 API 信息生成 markdown 片段，方便灵活组织API文档\n* 支持通过按照约定书写组件上的 jsDoc 来获得父组件与子组件关系\n* 支持通过`propTypes = {...Base.propTypes}`的方式扩展\n\n## Install\n\n```\nnpm install @alifd/api-extractor\n```\n\n## Usage\n\n``` js\nconst extractor = require('@alifd/api-extractor');\nconst apiInfo = extractor.extract(componentDirPath);\n// const apiInfo = extractor.extractFile(componentFilePath);\n```\n\n## API\n\n### extract(componentDirPath, options, parentMap)\n**参数**：\n\n* componentDirPath `String` 组件代码文件夹路径\n* options `Object` 可选项\n  * md `Boolean` 是否生成`props`和`method`的 markdown 片段，默认值为`false`\n  * fileErrorHandler `Function` 自定义单个文件的错误处理函数，默认直接抛出错误\n* parentMap `Object` 可选项 组件继承关系，例如 Nav 继承自 Menu ，通过该参数可将 Menu 上的props merge到 Nav上\n```js\n{\n  'Nav': {\n    name: 'Menu',\n    path: 'my-path/src/menu'\n  },\n  'Nav.Item': {\n    name: 'Menu.Item',\n    path: 'my-path/src/menu'\n  }\n}\n```\n\n**返回值**：\n\n`Object` 参考下方 Example\n\n### extractFile(componentFilePath, options)\n**参数**：\n\n* componentFilePath `String` 组件代码文件路径\n* options `Object` 可选项\n  * md `Boolean` 是否生成`props`和`method`的 markdown 片段，默认值为`false`\n\n**返回值**：\n\n`Object` 参考下方 Example\n\n### generatePropsMD(props)\n**参数**：\n\n* props `Object` 使用`extract`方法生成api信息的`props`属性\n\n**返回值**：\n\n`String` props对应的markdown文本\n\n### generateMethodMD(method)\n**参数**：\n\n* method `Object` 使用`extract`方法生成api信息的`methods`属性的Item\n\n**返回值**：\n\n`String` method对应的markdown文本\n\n## Example\n\n如果传入的组件代码根路径下存在以下两个文件：\n\nmenu.js\n\n``` js\nimport React, { Component} from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * Menu\n **/\nexport default class Menu extends Component {\n  static propTypes = {\n    /**\n     * the menu size\n     **/\n    size: PropTypes.string,\n    /**\n     * select menu callback\n     * @param {Array} selectedKeys the seleced keys\n     **/\n    onSelect: PropTypes.func\n  };\n\n  static defaultProps = {\n    size: 'medium',\n    onSelect: () => {}\n  };\n\n  render() {\n    // ...\n  }\n}\n```\n\nmenu-item.js\n\n``` js\nimport React, { Component} from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * Menu.Item\n **/\nexport default class Item extends Component {\n  // ...\n}\n```\n\n我们会得到如下的 json 结构：\n\n``` js\n{\n  \"name\": \"Menu\",                              // 组件名\n  \"props\": {\n    \"size\": {                                  // 属性名\n      \"type\": {\n        \"name\": \"string\"                       // 属性类型\n      },\n      \"required\": false,                       // 属性是否必需\n      \"description\": \"the menu size\",          // 属性描述\n      \"defaultValue\": {\n        \"value\": \"'medium'\",                   // 属性默认值\n        \"computed\": false\n      }\n    },\n    \"onSelect\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"select menu callback\",\n      \"defaultValue\": {\n        \"value\": \"() => {}\",\n        \"computed\": false\n      },\n      \"docblock\": \"select menu callback\\n@param {Array} selectedKeys the seleced keys\",\n      \"params\": [                               // 函数参数\n        {\n          \"name\": \"selectedKeys\",               // 函数参数名\n          \"description\": \"the seleced keys\",    // 函数参数描述\n          \"type\": {\n            \"name\": \"Array\"                     // 函数参数类型\n          }\n        }\n      ],\n      \"returns\": null                           // 函数返回值\n    }\n  },\n  \"propsMD\": \"...\",                             // 开启了md参数后，所有属性渲染出的 Markdown 文件\n  \"methods\": [],                                // 方法\n  \"subComponents\": [                            // 子组件\n    {\n      \"description\": \"Item\",\n      // ...\n    }\n  ]\n}\n```\n\n该 json 结构在[react-docgen 生成的 json 结构](https://github.com/reactjs/react-docgen#proptypes)基础上扩展而成。主要增加了`subComponents`，`propsMD`，属性为函数时的`parmas`，`return`和属性为对象时的`properties`结构。\n\n`propsMD` 属性一般用来生成README.md中的API文档，`Menu` 组件的 `propsMD` 具体如下所示：\n\n```\n参数 | 说明 | 类型 | 默认值\n-----|-----|-----|-----\nsize | the menu size | String | 'medium'\nonSelect | select menu callback<br><br>**签名**:<br>Function(selectedKeys: Array) => void<br>**参数**:<br>selectedKeys {Array} the seleced keys | Function | () => {}\n```\n\n## Note\n1. 只有添加了 jsDoc 注释的组件类，组件的属性以及组件的方法，才会被工具提取出相应的 API 信息。\n\n2. 只有在文件中被`export default`的组件类才会被提取 API 信息\n\n3. 默认传入的组件路径下只有一个根组件，如果想对外暴露两个组件，如`Row`和`Col`，也请在 jsDoc 的注释中添加根组件的前缀，如`Grid.Row`和`Grid.Col`。\n\n4. 如果想控制子组件在`subComponents`中出现的顺序，以方便生成对应的 API 文档，可以为组件类的 jsDoc 注释中添加`order`字段（默认按照首字母顺序排列），如下所示：\n\n      row.js\n      ``` js\n      /**\n       * Grid.Row\n       * @order 1\n       */\n      export default class Row extends Component {\n        // ...\n      }\n      ```\n\n      col.js\n\n      ``` js\n      /**\n       * Grid.Col\n       * @order 2\n       */\n      export default class Col extends Component {\n        // ...\n      }\n      ```\n\n5. 工具只支持一层的子组件，也就是说无法处理`AAA.BBB.CCC`的情况，当然我们也不认为这是一个组件应该对外暴露的使用方式。\n\n6. 如果想自定义属性默认值，可以采用下面方法（其优先级高于`defaultProps`）：\n\n    ``` js\n    /**\n     * Description of prop \"aaa\"\n     * @default custom\n     **/\n    aaa: PropTypes.string,\n    ```\n\n7. 如果像添加属性枚举值的描述，可以采用下面方法\n\n\n    ``` js\n    /**\n     * Description of prop \"aaa\"\n     * @enumdesc left, right\n     **/\n    bbb: PropTypes.oneOf(['left', 'right']),\n    ```\n\n8. 可以通过书写 description tag 来为组件增加描述\n\n    ``` js\n    /**\n     * Upload.ImageUpload\n     * @description 继承 [Upload](http://fusion-demo.alibaba-inc.com/api/1.0/views/next?themeId=next&name=upload#upload-1) 的 API，除非特别说明\n     */\n    class ImageUpload extends Component {\n      //...\n    }\n    ```\n9. 以下的写法，可以获得 Base 组件中声明的 API 信息\n\n    ``` js\n    import Base from './base';\n\n    export default class Menu extends Component {\n        static propTypes = {\n            ...Base.propTypes,\n            /**\n             * description\n             */\n            onSelect: PropTypes.func\n        }\n    }\n    ```\n","gitHead":"fbff5be364732f1d2a395be32e5ede608dd8f421","scripts":{"lint":"eslint 'lib/**/*.js'","test":"mocha --require intelli-espower-loader","example":"node example/script.js","precommit":"npm run lint"},"_npmUser":{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},"repository":{"url":"git+https://github.com/alibaba-fusion/api-extractor.git","type":"git"},"_npmVersion":"5.6.0","description":"A tool to help extracting api from React components.","directories":{},"_nodeVersion":"8.11.1","dependencies":{"glob":"^7.1.2","doctrine":"^2.0.0","react-docgen":"^2.17.0","@babel/parser":"7.x","@babel/traverse":"7.x"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^0.14.3","mocha":"^3.5.3","eslint":"^4.3.0","power-assert":"^1.4.4","intelli-espower-loader":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/api-extractor_3.6.0-beta_1573715239840_0.7665473748065801","host":"s3://npm-registry-packages"}},"3.6.0":{"name":"@alifd/api-extractor","version":"3.6.0","keywords":["react","api","doc","fusion","next"],"license":"MIT","_id":"@alifd/api-extractor@3.6.0","maintainers":[{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},{"name":"bindoon","email":"bindoon@sina.com"},{"name":"fusion-bot","email":"fusion-bot@alibaba-inc.com"},{"name":"jdkahn","email":"justindavidkahn@gmail.com"},{"name":"myronliu347","email":"myronliu347@gmail.com"},{"name":"no-repeat","email":"chenpeng.mini@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"tao1991123","email":"tao360907796@gmail.com"},{"name":"vicerwang","email":"1060455478@qq.com"},{"name":"wwsun","email":"ww.sun@outlook.com"}],"homepage":"https://github.com/alibaba-fusion/api-extractor","bugs":{"url":"https://github.com/alibaba-fusion/api-extractor/issues"},"dist":{"shasum":"67c9033d73a86092c567de6906c274d349c7140f","tarball":"https://registry.npmjs.org/@alifd/api-extractor/-/api-extractor-3.6.0.tgz","fileCount":5,"integrity":"sha512-CSxnlvhKiLNdGMjNXlIJqE6Jb3e3VIgDS1AHB2ZOHL5limoPlcRp5Zy+0D/qb0e0rpABEiwE8JbkEQaCAkS7Iw==","signatures":[{"sig":"MEYCIQCHj8vP/68lYXtR342Z+NiWYIlGCa66iXOY6EHU8pYz9gIhAI2YfLoKwbY02+FBfySbyUmDsq7uhfgen9MGJ0fB2fPQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23446,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzP7MCRA9TVsSAnZWagAAhyUP/3sLcmgdpm2DqFOoMTRa\ntnTvYAVZE0B74195syp/G0gobgknzTL3X7W9GYfJn4RjsUbNNGSkDqRAujRo\nVuOh2x2qtIK50hTi6bopFfSv8vtJMxUfxsivCSwABSl5htblWlogS5PEESex\nq6/sAzMwMJMTa2bA1MLcZxcaCjtWAJjhqrXmWsFmF0L2iToG0y1Nfb9B687G\nC37T21vrwxngGf3krg5gnynym9mQy9GDmlXA/KOBKFHp6ln+bHh8xCra6BpF\nEV3TtIiaPl7xha8jVRnHgF9tIykLBwEWpXYniql6Qc6xMtbuNUWnyh9/xP8O\nDXkoOBrnC2vTWc9Oz6EVHO/JRhhtiYq2wgQ6ViHYziLTjTkrxAcWKb00gbZt\nge1gajzREMIv/+q0EKoiFv83mV3voruT2H3craGYVzRx71ll1yWsk9F/zdc2\nS20J8z30wSbQ//j9EMjeN/wK7dgWugH9YvHOGD3mb3BkXus0B08ozQPiyDHS\nQpQlEkK1U6sbOzzMDpvVJAFg8hbXEiU6pd4J73nkjdB8c8fyxr+FSTPY46qO\n3WGZkmOmLHzOmZ04abFpPghHwp89epscR6OSL5ZDJLeZbcXKwX/gZBjN6gD4\nQvU/WrNC97Jk6CxULsDiLZdk2v7JBiWyIvY48VkFiBWt6VnNNAiRFPGYxiYv\njdbl\r\n=asbd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"fbff5be364732f1d2a395be32e5ede608dd8f421","scripts":{"lint":"eslint 'lib/**/*.js'","test":"mocha --require intelli-espower-loader","example":"node example/script.js","precommit":"npm run lint"},"_npmUser":{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},"repository":{"url":"git+https://github.com/alibaba-fusion/api-extractor.git","type":"git"},"_npmVersion":"5.6.0","description":"A tool to help extracting api from React components.","directories":{},"_nodeVersion":"8.11.1","dependencies":{"glob":"^7.1.2","doctrine":"^2.0.0","react-docgen":"^2.17.0","@babel/parser":"7.x","@babel/traverse":"7.x"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^0.14.3","mocha":"^3.5.3","eslint":"^4.3.0","power-assert":"^1.4.4","intelli-espower-loader":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/api-extractor_3.6.0_1573715660036_0.034133556347138994","host":"s3://npm-registry-packages"}},"3.7.0":{"name":"@alifd/api-extractor","version":"3.7.0","keywords":["react","api","doc","fusion","next"],"license":"MIT","_id":"@alifd/api-extractor@3.7.0","maintainers":[{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},{"name":"bindoon","email":"bindoon@sina.com"},{"name":"clarkxia","email":"xiawenwu41@163.com"},{"name":"fusion-bot","email":"fusion-bot@alibaba-inc.com"},{"name":"jdkahn","email":"justindavidkahn@gmail.com"},{"name":"lianmin","email":"lianmin.slm@qq.com"},{"name":"myronliu347","email":"myronliu347@gmail.com"},{"name":"no-repeat","email":"chenpeng.mini@gmail.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"tao1991123","email":"tao360907796@gmail.com"},{"name":"vicerwang","email":"1060455478@qq.com"},{"name":"wwsun","email":"ww.sun@outlook.com"}],"homepage":"https://github.com/alibaba-fusion/api-extractor","bugs":{"url":"https://github.com/alibaba-fusion/api-extractor/issues"},"dist":{"shasum":"b7d6df70c376bae986d88e85232e5e548e70ea84","tarball":"https://registry.npmjs.org/@alifd/api-extractor/-/api-extractor-3.7.0.tgz","fileCount":5,"integrity":"sha512-hI4qEmkuqO6Yn9cMipD12DGJfqA0MWh2kLAdKubh5a2TOySef1eBW2BKXlBn+ZpX7Oc69KOG+HxWUr/WT9bnTg==","signatures":[{"sig":"MEQCIBCMcJkScc20fACMMOrnUP4VxFJt+P/W2VIFCoffXraRAiAr9a3GGU2oQIR9Hs1Yi0m+KN6e/QjRxQxMTwqbiMZCtw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23776,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHYhzCRA9TVsSAnZWagAA4CgQAKHiOOWybYXzsObNgLum\nlIl/iuy7fplaaXiP/r1Kw+BiXgztGUf75cy9tL5J7E+icPrX/tpRJU+aAEcb\nTAA8TRxhbp2VgOTESmfrWYYxiAcqfrK/0gj2Dwlgb7HmjeNE08E3ZEfsBGeW\nb8BXla4f8dF1bWvfL7OjOWS3BsNX0PmWdgF2AiKkKFbI62RwGuP9Npk+wfHh\nQ3c5uPjjWGh+KJRsDGMGYQ3KY7MNu74VYAHl0oPoh2/Ki886W9/3qB3KnZgo\n96ckEl132Gir5atDr/kRDybTAGtM8GvlBfhGQRmB5I95fNS6IjzWb75/pZ4a\nYwO0fuTxpLRmwQDZHNQEcPr3CnLMvGLbHCeClMe2hcu3QYhf9/X5VkxMIUFo\noD9aZNNtMn/TRNIV+AAfveQVI60M4Ria+sIfFR9aBtn8oZbRsZ96ORjKhcjJ\n2mqsPEeMSPuxLq9h8LI6Zs8ve20UNZk7JElT8qslQ5xBoY5/IauvipZEk+Cm\nZ9wi5iEiUd2uddvDIVJ+8NeoWWpbVMPHc7aBtwaCQyo2wevR7P4PGeTS+1oh\nQGqkFid3pJl7lPm8UnIlv4hlen8+Dhjm5Jh50pTN4ldU/abIk2HTkt1QlsOk\nkey+5jjS5lcryj858FUgqdnfISse43g5OeYUtzV+mEoItoI7b01Okx27DMgr\ngw12\r\n=rpUB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"af6bbd1faf5f8bde2d1693cbdb63d6f7e3a4d6a2","scripts":{"lint":"eslint 'lib/**/*.js'","test":"mocha --require intelli-espower-loader","example":"node example/script.js","precommit":"npm run lint"},"_npmUser":{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},"repository":{"url":"git+https://github.com/alibaba-fusion/api-extractor.git","type":"git"},"_npmVersion":"5.6.0","description":"A tool to help extracting api from React components.","directories":{},"_nodeVersion":"8.11.1","dependencies":{"glob":"^7.1.2","doctrine":"^2.0.0","react-docgen":"^2.17.0","@babel/parser":"7.x","@babel/traverse":"7.x"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^0.14.3","mocha":"^3.5.3","eslint":"^4.3.0","power-assert":"^1.4.4","intelli-espower-loader":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/api-extractor_3.7.0_1578993779203_0.042699194871456125","host":"s3://npm-registry-packages"}},"3.7.1":{"name":"@alifd/api-extractor","version":"3.7.1","keywords":["react","api","doc","fusion","next"],"license":"MIT","_id":"@alifd/api-extractor@3.7.1","maintainers":[{"name":"fd.xy","email":"galo.gm@alibaba-inc.com"},{"name":"yuysmile","email":"879249235@qq.com"},{"name":"chenbin93","email":"chenbinad@gmail.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"andevery","email":"hit.wpeng@gmail.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"yellow2dong","email":"779509411@qq.com"},{"name":"jerryyxu","email":"1193486072@qq.com"},{"name":"quanyin","email":"898617222@163.com"},{"name":"clarkxia","email":"xiawenwu41@gmail.com"},{"name":"lianmin","email":"lianmin.slm@qq.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"fusion-bot","email":"fusion-bot@alibaba-inc.com"},{"name":"jdkahn","email":"justindavidkahn@gmail.com"},{"name":"myronliu347","email":"myronliu347@gmail.com"},{"name":"no-repeat","email":"chenpeng.mini@gmail.com"},{"name":"wwsun","email":"ww.sun@outlook.com"},{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},{"name":"bindoon","email":"bindoon@sina.com"},{"name":"tao1991123","email":"tao360907796@gmail.com"},{"name":"vicerwang","email":"1060455478@qq.com"}],"homepage":"https://github.com/alibaba-fusion/api-extractor","bugs":{"url":"https://github.com/alibaba-fusion/api-extractor/issues"},"dist":{"shasum":"7b2611c372afdbb611c724d56ef5f092677d6172","tarball":"https://registry.npmjs.org/@alifd/api-extractor/-/api-extractor-3.7.1.tgz","fileCount":5,"integrity":"sha512-E6JYXSshbsWF5mtN+87mVWTnUGwywTP1MfuYLmKSMv9qIkpxbh7iZPet0x/XFxSNsjUskDHXZ+ePdVoc786gRg==","signatures":[{"sig":"MEYCIQCqQpmGKU2FSyQ8LROcPeAjQsE3XjY11C2OfH5FEo6YuwIhAPVZR59AmtP/eqkG8rBjd/gSxql9abrH9pBoI56UuJ89","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24663,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfshnUCRA9TVsSAnZWagAAa2UP/jMqoquNaK6THd0pMMbM\nnAXy+VrclI7DURdlot9voYD+rkepAxMpk3njbHc9dQnd5QxIbtYr+DA3PzLf\nTDMyIMquIeAFyIdyrKnsH/FfpU/31BcbX/7C1CRmVmYhCeh4lWB4TFOoJuGi\nexEDcPK6s2lWJPJFRsqKwvO+0U+ZzXizt0bJhIADehs4tZSfrt96LYUJMb7d\n201qdBcf5cRni9280E+3FLUVp6FrW9WHNboE8h1PN8J8H6Mo8+weIQ8Vnbom\nXGX5cCECtRcxe9NRLZ+b4CesfURkml7oa+HdIcOJ40aHFMQTMvXGro16FQ8g\nmJW2kdSLNM/eCOt1q7E7GG4g1Il2ZbXo0MxnifhrecbDrN1ZMCLp8tfuGWTt\naA0VK4WEP+MBBuM4KrKLCVgYPo2+r2970epFLpwqDr5j108MaRz+shclQK5F\neZl+8X6nBjeIF6SN5sL+yWtfsQvZxaOoNTsVQ/I4V2IcJOX9iHAiqjLq+yV8\na73btITlczYlH87rcj/iCbH4Ulp/fcEYIiYXT6mnzXWMxExGrQE+IpHRWpz7\nex1ze0h7Q7Qqa1aWk0o+119/zhMKcmYpwiPNGlxiqnu03zXfYDBI7KMKsQBJ\nUf9Snc4IKhELPQKyMLQKh+6rq5KDhO1cccpcYPdGuJTYhDtoG8S34egSLUNR\nMwzb\r\n=QbSE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"a1657cc1edf4b5fad870eba4acde67044af32371","scripts":{"lint":"eslint 'lib/**/*.js'","test":"mocha --require intelli-espower-loader","example":"node example/script.js","precommit":"npm run lint"},"_npmUser":{"name":"fd.xy","email":"galo.gm@alibaba-inc.com"},"repository":{"url":"git+https://github.com/alibaba-fusion/api-extractor.git","type":"git"},"_npmVersion":"6.14.8","description":"A tool to help extracting api from React components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"glob":"^7.1.2","doctrine":"^2.0.0","react-docgen":"^2.17.0","@babel/parser":"7.x","@babel/traverse":"7.x"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^0.14.3","mocha":"^3.5.3","eslint":"^4.3.0","power-assert":"^1.4.4","intelli-espower-loader":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/api-extractor_3.7.1_1605507539771_0.1892643889556509","host":"s3://npm-registry-packages"}},"3.5.3":{"name":"@alifd/api-extractor","version":"3.5.3","keywords":["react","api","doc","fusion","next"],"license":"MIT","_id":"@alifd/api-extractor@3.5.3","maintainers":[{"name":"no-repeat","email":"chenpeng.mini@gmail.com"},{"name":"wwsun","email":"ww.sun@outlook.com"},{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},{"name":"bindoon","email":"bindoon@sina.com"},{"name":"tao1991123","email":"tao360907796@gmail.com"},{"name":"vicerwang","email":"1060455478@qq.com"},{"name":"myronliu347","email":"myronliu347@gmail.com"},{"name":"jdkahn","email":"justindavidkahn@gmail.com"},{"name":"fusion-bot","email":"fusion-bot@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"lianmin","email":"lianmin.slm@qq.com"},{"name":"clarkxia","email":"xiawenwu41@gmail.com"},{"name":"quanyin","email":"898617222@163.com"},{"name":"jerryyxu","email":"1193486072@qq.com"},{"name":"yellow2dong","email":"779509411@qq.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"andevery","email":"hit.wpeng@gmail.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"chenbin93","email":"chenbinad@gmail.com"},{"name":"yuysmile","email":"879249235@qq.com"},{"name":"fd.xy","email":"galo.gm@alibaba-inc.com"}],"homepage":"https://github.com/alibaba-fusion/api-extractor","bugs":{"url":"https://github.com/alibaba-fusion/api-extractor/issues"},"dist":{"shasum":"5a7f209a31b42fd12aeb2404b0a8aace5965fd71","tarball":"https://registry.npmjs.org/@alifd/api-extractor/-/api-extractor-3.5.3.tgz","fileCount":5,"integrity":"sha512-t1NghQ0vcFyyoHLf6zOhKoLenqOljF8KuEJ45pKOjPAIc8TqsAAdJlbweoGfz2DnnXtEbKhx2R3gFT8svCm45A==","signatures":[{"sig":"MEUCIGHHKw63YSr8upL49EPubPkishGZA8ybH+rfP+nY9tO2AiEAs+9EdRxtiMxSR8oxra1SiSjqBuLnRtu2Wl2ZmrFxoLM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2beKCRA9TVsSAnZWagAAUXIP/iGatIQKTIOaetTQXgUa\nB93A/6tl4HPPrVyxUoZN3uAjm3SgTEm+GINJdzkez6KWgxgPo/3ghRhBIb+E\n+IaoxMugEqZfMGs0lTvZ8EW7SsCztN/Ct2MOk/M608uyUg62/zMb4spy00UK\npOA1TuknFKQJMZ3cTjuAAas9f2m/a3Q/z5S8UnUD3a1x+zZEk/398AJegvqm\nZFaz4eVmmu7/f4a54mLK4IXYdTudpS/a6TiaMAvfc8FfqiyNAYQKVUfatIC/\nPgGKkWvvf+uJtdG4BomoqKriw6JBCE6f4o/fYJyokMl/eFqc5yZHFZ2KZ0rd\n9ls/43mw1YIlTJmd3lrV/Cah5zSFqF+TalAnhjxI7L4iQcDUDCu9/VFPz7gp\nKLSsZV1+bttHbp6akSccMkHdsv1IdOIQPDzqY5kIMEDwcaoQG2pLFsIgjaD/\n+/3W6UNdJ29nlfS6yZSjaTpeHf69/Xq9rZtQKxjllHB4KPrK07W538RLYfTO\nSyAXOSGp6UiBmFJF8PFN2aMZeZyt3V5D//1J+rjFlV6Zqt785VR+ZQJluMc4\nRi6WKDruShLRhlJiiasb1MoS9MK7C61CKuA7vPAtd0pr2ccaZhyd2gu76+YS\nfvs6f0qSdXgJoWPyGHCxJ7wrEctQOAKZI1EWKK9vvwHbCdwGEblMy2k5rWMd\nYMti\r\n=+U4N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"f3b0989199f39995a8a51e5ef59a47d392ce4a9a","scripts":{"lint":"eslint 'lib/**/*.js'","test":"mocha --require intelli-espower-loader","example":"node example/script.js","precommit":"npm run lint"},"_npmUser":{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},"repository":{"url":"git+https://github.com/alibaba-fusion/api-extractor.git","type":"git"},"_npmVersion":"6.14.4","description":"A tool to help extracting api from React components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"glob":"^7.1.2","doctrine":"^2.0.0","react-docgen":"^2.17.0","@babel/parser":"7.x","@babel/traverse":"7.x"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^0.14.3","mocha":"^3.5.3","eslint":"^4.3.0","power-assert":"^1.4.4","intelli-espower-loader":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/api-extractor_3.5.3_1608103817794_0.3005061533194868","host":"s3://npm-registry-packages"}},"3.7.2":{"name":"@alifd/api-extractor","version":"3.7.2","keywords":["react","api","doc","fusion","next"],"license":"MIT","_id":"@alifd/api-extractor@3.7.2","maintainers":[{"name":"no-repeat","email":"chenpeng.mini@gmail.com"},{"name":"wwsun","email":"ww.sun@outlook.com"},{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},{"name":"bindoon","email":"bindoon@sina.com"},{"name":"tao1991123","email":"tao360907796@gmail.com"},{"name":"vicerwang","email":"1060455478@qq.com"},{"name":"myronliu347","email":"myronliu347@gmail.com"},{"name":"jdkahn","email":"justindavidkahn@gmail.com"},{"name":"fusion-bot","email":"fusion-bot@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"lianmin","email":"lianmin.slm@qq.com"},{"name":"clarkxia","email":"xiawenwu41@gmail.com"},{"name":"quanyin","email":"898617222@163.com"},{"name":"jerryyxu","email":"1193486072@qq.com"},{"name":"yellow2dong","email":"779509411@qq.com"},{"name":"alvinhui","email":"alvin.hui@qq.com"},{"name":"andevery","email":"hit.wpeng@gmail.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"},{"name":"chenbin93","email":"chenbinad@gmail.com"},{"name":"yuysmile","email":"879249235@qq.com"},{"name":"fd.xy","email":"galo.gm.work@gmail.com"}],"homepage":"https://github.com/alibaba-fusion/api-extractor","bugs":{"url":"https://github.com/alibaba-fusion/api-extractor/issues"},"dist":{"shasum":"05dea4433e2d0345388410f88916da8a51f960b6","tarball":"https://registry.npmjs.org/@alifd/api-extractor/-/api-extractor-3.7.2.tgz","fileCount":5,"integrity":"sha512-SuOd+jhqKbQvB1ijdnQrpMbNdOTJ7HPRRMvNLcFaDoc2CrdabFaD0lZNotqeGpKNRgyL+VliRw2yUhI3DXVtVQ==","signatures":[{"sig":"MEQCIEK1Xjjpu0iEwCTg17KgBy03vZUmM4xYBRTce6+2deuZAiA4W+7r8yu1du56wNhGjOuBa18y79cplZJjmmZdxoJISQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24705,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1wJiCRA9TVsSAnZWagAASg8P/ilLKQnmwo7ya/w0Xa3w\njTidY+Y0QLtyjyK2gL6z+g62kxYKwesq4IaZmhyH6HM9xNLFvbR2FNIkoGWe\n1WuR63RDAsAYG6wnKMoPtBB4mCgBCaqUT9U3//QoCA+5YkAfELdRZHX4dufs\n25mWDmobs3hKVfTDL4Ftodbd36xcD92RWzsUbSvWJLwtvx+TAIzV+cDh3JcR\nZshUOaz/ASztklPoWr6qKMvmQfXGbShdYLbc9IB27vvSRcwW1BiIXFhVDLDY\n81YzoF/cC7s9CM3Cc1IcpXeXjLnJOyjaGGly238n8zWgXzyG+O7ChutvXkU/\nTue1ZWujpYnvK4diSXaYCtVMf021orj0rOYZHAUtgi024soHKVWRmSAX1x9Y\na9mCXhQCQXMWw4/nxbRzd6dAGNkz6qTC3ZYCjnfXnDfN30tHHx/uSLbv2iMn\nKuYWk4Di+SqQN8mX1Ds5NCErEeHdmY6+CGfPw5GUEdq3luf5x5v4FXPHvhuX\n5ZNJqkaE+drqu4tMxRTYL24SUqtx2ym6GaxgcGthL57OR026U1+ntysnoyU0\nGGUVZe5/16Ue4LZnSE4mrdg+tvDq0r6DXzFZ0Qbt0vTZLEt09ZZ9tH/d+O8F\nx6ZIwfKHhi5BD5ooKqyXOybsZSWexg3pJJXOC0W0EGTKyXzFkPen0F47ESBb\naisB\r\n=vXPF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"122f4d5226cc624a563df1131bb313cef9662d9f","scripts":{"lint":"eslint 'lib/**/*.js'","test":"mocha --require intelli-espower-loader","example":"node example/script.js","precommit":"npm run lint"},"_npmUser":{"name":"aboutblank","email":"njuzhaoguoyan@foxmail.com"},"repository":{"url":"git+https://github.com/alibaba-fusion/api-extractor.git","type":"git"},"_npmVersion":"6.4.1","description":"A tool to help extracting api from React components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"glob":"^7.1.2","doctrine":"^2.0.0","react-docgen":"^2.17.0","@babel/parser":"7.x","@babel/traverse":"7.x"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^0.14.3","mocha":"^3.5.3","eslint":"^4.3.0","power-assert":"^1.4.4","intelli-espower-loader":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/api-extractor_3.7.2_1623380544935_0.0068503044178445105","host":"s3://npm-registry-packages"}}},"time":{"created":"2018-08-22T02:54:00.835Z","modified":"2025-12-25T06:43:37.495Z","3.3.0":"2018-08-22T02:54:00.956Z","3.3.1":"2018-08-22T08:34:34.496Z","3.3.2":"2018-09-03T08:22:41.376Z","3.4.0":"2018-12-19T02:15:57.637Z","3.4.1":"2018-12-19T03:22:25.346Z","3.4.2":"2018-12-19T11:08:49.363Z","3.5.0":"2019-01-09T09:42:23.403Z","3.5.1":"2019-07-23T02:33:40.736Z","3.5.2":"2019-08-12T12:38:43.880Z","3.6.0-beta":"2019-11-14T07:07:20.025Z","3.6.0":"2019-11-14T07:14:20.175Z","3.7.0":"2020-01-14T09:22:59.541Z","3.7.1":"2020-11-16T06:18:59.880Z","3.5.3":"2020-12-16T07:30:17.990Z","3.7.2":"2021-06-11T03:02:25.122Z"},"bugs":{"url":"https://github.com/alibaba-fusion/api-extractor/issues"},"license":"MIT","homepage":"https://github.com/alibaba-fusion/api-extractor","keywords":["react","api","doc","fusion","next"],"repository":{"url":"git+https://github.com/alibaba-fusion/api-extractor.git","type":"git"},"description":"A tool to help extracting api from React components.","maintainers":[{"email":"chenpeng.mini@gmail.com","name":"no-repeat"},{"email":"ww.sun@outlook.com","name":"wwsun"},{"email":"njuzhaoguoyan@foxmail.com","name":"aboutblank"},{"email":"bindoon@sina.com","name":"bindoon"},{"email":"tao360907796@gmail.com","name":"tao1991123"},{"email":"1060455478@qq.com","name":"vicerwang"},{"email":"710411486@qq.com","name":"soberz"},{"email":"myronliu347@gmail.com","name":"myronliu347"},{"email":"justindavidkahn@gmail.com","name":"jdkahn"},{"email":"fusion-bot@alibaba-inc.com","name":"fusion-bot"},{"email":"yanyanwang93@gmail.com","name":"kopiluwaky"},{"email":"sobear.me@gmail.com","name":"sobear"},{"email":"lianmin.slm@qq.com","name":"lianmin"},{"email":"xiawenwu41@gmail.com","name":"clarkxia"},{"email":"898617222@163.com","name":"quanyin"},{"email":"1193486072@qq.com","name":"jerryyxu"},{"email":"779509411@qq.com","name":"yellow2dong"},{"email":"alvin.hui@qq.com","name":"alvinhui"},{"email":"hit.wpeng@gmail.com","name":"andevery"},{"email":"luhengchang228@126.com","name":"luhengchang228"},{"email":"879249235@qq.com","name":"yuysmile"},{"email":"galo.gm.work@gmail.com","name":"fd.xy"},{"email":"rax-public@alibaba-inc.com","name":"rax-publisher"},{"email":"lakerswgq@gmail.com","name":"lakerswgq"},{"email":"muscle.mark.cheng@gmail.com","name":"mark-ck"},{"email":"btyzzyl@163.com","name":"zyliang96"},{"email":"wsj7552715@hotmail.com","name":"eternalsky"},{"email":"wangjiarui1924@gmail.com","name":"john-watson"},{"email":"sy294746869@gmail.com","name":"sunyuan20"},{"email":"kbbqbb@gmail.com","name":"jiaqiu_chen"},{"email":"whatever6g@gmail.com","name":"whatever_lll"},{"email":"Slimeria37@gmail.com","name":"slimeria"},{"email":"1052228950@qq.com","name":"liujuping123"}],"readme":"# @alifd/api-extractor\n一个从 React 组件代码中提取 API 信息的工具，一般用来生成 API 文档，开发编辑器组件 API 提示插件以及开发页面搭建平台组件物料的属性面板，代码中附加信息书写方式来源于[jsDoc](http://usejsdoc.org/)，整体底层解析工具依赖于 [react-docgen](https://github.com/reactjs/react-docgen) 和 [doctrine](https://github.com/eslint/doctrine)。\n\n[![npm package](https://img.shields.io/npm/v/@alifd/api-extractor.svg?style=flat-square)](https://www.npmjs.org/package/@alifd/api-extractor)\n\n## Feature\n* 支持通过`propTypes`获得属性类型\n* 支持通过`defaultProps`获得属性默认值\n* 支持通过`propTypes`上的 jsDoc 注释获得属性描述，自定义属性默认值\n* 支持通过书写 jsDoc 获取函数类型属性的参数和返回值\n* 支持通过书写 jsDoc 获取对象类型属性的属性\n* 支持通过书写 jsDoc 获取组件静态方法和实例方法的描述，参数以及返回值\n* 支持根据提取的 API 信息生成 markdown 片段，方便灵活组织API文档\n* 支持通过按照约定书写组件上的 jsDoc 来获得父组件与子组件关系\n* 支持通过`propTypes = {...Base.propTypes}`的方式扩展\n\n## Install\n\n```\nnpm install @alifd/api-extractor\n```\n\n## Usage\n\n``` js\nconst extractor = require('@alifd/api-extractor');\nconst apiInfo = extractor.extract(componentDirPath);\n// const apiInfo = extractor.extractFile(componentFilePath);\n```\n\n## API\n\n### extract(componentDirPath, options, parentMap)\n**参数**：\n\n* componentDirPath `String` 组件代码文件夹路径\n* options `Object` 可选项\n  * md `Boolean` 是否生成`props`和`method`的 markdown 片段，默认值为`false`\n  * fileErrorHandler `Function` 自定义单个文件的错误处理函数，默认直接抛出错误\n* parentMap `Object` 可选项 组件继承关系，例如 Nav 继承自 Menu ，通过该参数可将 Menu 上的props merge到 Nav上\n```js\n{\n  'Nav': {\n    name: 'Menu',\n    path: 'my-path/src/menu'\n  },\n  'Nav.Item': {\n    name: 'Menu.Item',\n    path: 'my-path/src/menu'\n  }\n}\n```\n\n**返回值**：\n\n`Object` 参考下方 Example\n\n### extractFile(componentFilePath, options)\n**参数**：\n\n* componentFilePath `String` 组件代码文件路径\n* options `Object` 可选项\n  * md `Boolean` 是否生成`props`和`method`的 markdown 片段，默认值为`false`\n\n**返回值**：\n\n`Object` 参考下方 Example\n\n### generatePropsMD(props)\n**参数**：\n\n* props `Object` 使用`extract`方法生成api信息的`props`属性\n\n**返回值**：\n\n`String` props对应的markdown文本\n\n### generateMethodMD(method)\n**参数**：\n\n* method `Object` 使用`extract`方法生成api信息的`methods`属性的Item\n\n**返回值**：\n\n`String` method对应的markdown文本\n\n## Example\n\n如果传入的组件代码根路径下存在以下两个文件：\n\nmenu.js\n\n``` js\nimport React, { Component} from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * Menu\n **/\nexport default class Menu extends Component {\n  static propTypes = {\n    /**\n     * the menu size\n     **/\n    size: PropTypes.string,\n    /**\n     * select menu callback\n     * @param {Array} selectedKeys the seleced keys\n     **/\n    onSelect: PropTypes.func\n  };\n\n  static defaultProps = {\n    size: 'medium',\n    onSelect: () => {}\n  };\n\n  render() {\n    // ...\n  }\n}\n```\n\nmenu-item.js\n\n``` js\nimport React, { Component} from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * Menu.Item\n **/\nexport default class Item extends Component {\n  // ...\n}\n```\n\n我们会得到如下的 json 结构：\n\n``` js\n{\n  \"name\": \"Menu\",                              // 组件名\n  \"props\": {\n    \"size\": {                                  // 属性名\n      \"type\": {\n        \"name\": \"string\"                       // 属性类型\n      },\n      \"required\": false,                       // 属性是否必需\n      \"description\": \"the menu size\",          // 属性描述\n      \"defaultValue\": {\n        \"value\": \"'medium'\",                   // 属性默认值\n        \"computed\": false\n      }\n    },\n    \"onSelect\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"select menu callback\",\n      \"defaultValue\": {\n        \"value\": \"() => {}\",\n        \"computed\": false\n      },\n      \"docblock\": \"select menu callback\\n@param {Array} selectedKeys the seleced keys\",\n      \"params\": [                               // 函数参数\n        {\n          \"name\": \"selectedKeys\",               // 函数参数名\n          \"description\": \"the seleced keys\",    // 函数参数描述\n          \"type\": {\n            \"name\": \"Array\"                     // 函数参数类型\n          }\n        }\n      ],\n      \"returns\": null                           // 函数返回值\n    }\n  },\n  \"propsMD\": \"...\",                             // 开启了md参数后，所有属性渲染出的 Markdown 文件\n  \"methods\": [],                                // 方法\n  \"subComponents\": [                            // 子组件\n    {\n      \"description\": \"Item\",\n      // ...\n    }\n  ]\n}\n```\n\n该 json 结构在[react-docgen 生成的 json 结构](https://github.com/reactjs/react-docgen#proptypes)基础上扩展而成。主要增加了`subComponents`，`propsMD`，属性为函数时的`parmas`，`return`和属性为对象时的`properties`结构。\n\n`propsMD` 属性一般用来生成README.md中的API文档，`Menu` 组件的 `propsMD` 具体如下所示：\n\n```\n参数 | 说明 | 类型 | 默认值\n-----|-----|-----|-----\nsize | the menu size | String | 'medium'\nonSelect | select menu callback<br><br>**签名**:<br>Function(selectedKeys: Array) => void<br>**参数**:<br>selectedKeys {Array} the seleced keys | Function | () => {}\n```\n\n## Note\n1. 只有添加了 jsDoc 注释的组件类，组件的属性以及组件的方法，才会被工具提取出相应的 API 信息。\n\n2. 只有在文件中被`export default`的组件类才会被提取 API 信息\n\n3. 默认传入的组件路径下只有一个根组件，如果想对外暴露两个组件，如`Row`和`Col`，也请在 jsDoc 的注释中添加根组件的前缀，如`Grid.Row`和`Grid.Col`。\n\n4. 如果想控制子组件在`subComponents`中出现的顺序，以方便生成对应的 API 文档，可以为组件类的 jsDoc 注释中添加`order`字段（默认按照首字母顺序排列），如下所示：\n\n      row.js\n      ``` js\n      /**\n       * Grid.Row\n       * @order 1\n       */\n      export default class Row extends Component {\n        // ...\n      }\n      ```\n\n      col.js\n\n      ``` js\n      /**\n       * Grid.Col\n       * @order 2\n       */\n      export default class Col extends Component {\n        // ...\n      }\n      ```\n\n5. 工具只支持一层的子组件，也就是说无法处理`AAA.BBB.CCC`的情况，当然我们也不认为这是一个组件应该对外暴露的使用方式。\n\n6. 如果想自定义属性默认值，可以采用下面方法（其优先级高于`defaultProps`）：\n\n    ``` js\n    /**\n     * Description of prop \"aaa\"\n     * @default custom\n     **/\n    aaa: PropTypes.string,\n    ```\n\n7. 如果像添加属性枚举值的描述，可以采用下面方法\n\n\n    ``` js\n    /**\n     * Description of prop \"aaa\"\n     * @enumdesc left, right\n     **/\n    bbb: PropTypes.oneOf(['left', 'right']),\n    ```\n\n8. 可以通过书写 description tag 来为组件增加描述\n\n    ``` js\n    /**\n     * Upload.ImageUpload\n     * @description 继承 [Upload](http://fusion-demo.alibaba-inc.com/api/1.0/views/next?themeId=next&name=upload#upload-1) 的 API，除非特别说明\n     */\n    class ImageUpload extends Component {\n      //...\n    }\n    ```\n9. 以下的写法，可以获得 Base 组件中声明的 API 信息\n\n    ``` js\n    import Base from './base';\n\n    export default class Menu extends Component {\n        static propTypes = {\n            ...Base.propTypes,\n            /**\n             * description\n             */\n            onSelect: PropTypes.func\n        }\n    }\n    ```\n","readmeFilename":"README.md"}